From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53133) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLq4P-00019M-Gr for qemu-devel@nongnu.org; Wed, 10 Oct 2012 02:47:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TLq4O-0006pt-HX for qemu-devel@nongnu.org; Wed, 10 Oct 2012 02:47:05 -0400 Received: from mail-wg0-f53.google.com ([74.125.82.53]:38862) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLq4O-0006oe-AM for qemu-devel@nongnu.org; Wed, 10 Oct 2012 02:47:04 -0400 Received: by mail-wg0-f53.google.com with SMTP id dr1so125316wgb.10 for ; Tue, 09 Oct 2012 23:47:03 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <507519E6.6020507@redhat.com> Date: Wed, 10 Oct 2012 08:47:02 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1349526621-13939-1-git-send-email-pbonzini@redhat.com> <1349526621-13939-12-git-send-email-pbonzini@redhat.com> <507483E9.8010908@twiddle.net> In-Reply-To: <507483E9.8010908@twiddle.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 11/14] i386: convert gen_compute_eflags_c to TCG List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org Il 09/10/2012 22:07, Richard Henderson ha scritto: >> > + case CC_OP_ADCB: >> > + case CC_OP_ADCW: >> > + case CC_OP_ADCL: >> > + case CC_OP_ADCQ: >> > + /* (DATA_TYPE)CC_DST <= (DATA_TYPE)CC_SRC */ >> > + size = (s->cc_op - CC_OP_ADDB) & 3; >> > + t1 = gen_ext_tl(cpu_tmp0, cpu_cc_src, size, false); >> > + t0 = gen_ext_tl(reg, cpu_cc_dst, size, false); >> > + adc_sbb: >> > + tcg_gen_setcond_tl(inv ? TCG_COND_GTU : TCG_COND_LEU, reg, t0, t1); >> > + return; > There's no point in handling these, because you can never see them > assigned to s->cc_op. The ADC/SBB translators always set CC_OP_DYNAMIC > after dynamically selecting CC_OP_ADD or CC_OP_ADC based on the carry-in. > That's correct, but compared to case CC_OP_ADCB: case CC_OP_ADCW: case CC_OP_ADCL: case CC_OP_ADCQ: case CC_OP_SBBB: case CC_OP_SBBW: case CC_OP_SBBL: case CC_OP_SBBQ: /* There's no point in handling these, because you can never * see them assigned to s->cc_op. The ADC/SBB translators * always set CC_OP_DYNAMIC after dynamically selecting * CC_OP_ADD or CC_OP_ADC based on the carry-in. */ abort(); it's not a great saving and it's a bit less self-documenting... Paolo