From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42538) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vxeay-0001Ia-SS for qemu-devel@nongnu.org; Mon, 30 Dec 2013 10:17:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vxeat-00078S-1m for qemu-devel@nongnu.org; Mon, 30 Dec 2013 10:17:32 -0500 Received: from mail-qe0-x231.google.com ([2607:f8b0:400d:c02::231]:63583) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vxeas-00078N-TX for qemu-devel@nongnu.org; Mon, 30 Dec 2013 10:17:26 -0500 Received: by mail-qe0-f49.google.com with SMTP id w7so11288005qeb.22 for ; Mon, 30 Dec 2013 07:17:26 -0800 (PST) Sender: Richard Henderson Message-ID: <52C18E81.7050001@twiddle.net> Date: Mon, 30 Dec 2013 07:17:21 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1388267351-31818-1-git-send-email-peter.maydell@linaro.org> <1388267351-31818-6-git-send-email-peter.maydell@linaro.org> <52C18E0E.1010707@twiddle.net> In-Reply-To: <52C18E0E.1010707@twiddle.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 05/10] target-arm: A64: Add "Floating-point data-processing (3 source)" insns List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , qemu-devel@nongnu.org Cc: Laurent Desnogues , patches@linaro.org, Michael Matz , Alexander Graf , Claudio Fontana , Dirk Mueller , Will Newton , =?ISO-8859-1?Q?Alex_Benn=E9e?= , kvmarm@lists.cs.columbia.edu, Christoffer Dall On 12/30/2013 07:15 AM, Richard Henderson wrote: > On 12/28/2013 01:49 PM, Peter Maydell wrote: >> + /* These are fused multiply-add, and must be done as one >> + * floating point operation with no rounding between the >> + * multiplication and addition steps. >> + * NB that doing the negations here as separate steps is >> + * correct : an input NaN should come out with its sign bit >> + * flipped if it is a negated-input. >> + */ >> + if (o1 == true) { >> + gen_helper_vfp_negs(tcg_op3, tcg_op3); >> + } >> + >> + if (o0 != o1) { >> + gen_helper_vfp_negs(tcg_op1, tcg_op1); >> + } >> + >> + gen_helper_vfp_muladds(tcg_res, tcg_op1, tcg_op2, tcg_op3, fpst); > > Do you really get the wrong result passing the appropriate > float_muladd_negate_* constant? -ENOCOFFEE. You just told me right there in the comment. Duh. Reviewed-by: Richard Henderson r~