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 <rth@xxxxxxxxxxx> r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm