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...@twiddle.net>


r~


Reply via email to