On 05/04/2018 03:05 AM, Peter Maydell wrote: > It is implementation defined whether a multiply-add of > (0,inf,qnan) or (inf,0,qnan) raises InvalidaOperation or > not, so we let the target-specific pickNaNMulAdd function > handle this. This means that we must do the "return the > default NaN in default NaN mode" check after the call, > not before. Correct the ordering, and restore the comment > from the old propagateFloat64MulAddNaN() that warned about > this corner case. > > This fixes a regression from 2.11 for Arm guests where we would > incorrectly fail to set the Invalid flag for these cases. > > Cc: qemu-sta...@nongnu.org > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > fpu/softfloat.c | 52 ++++++++++++++++++++++++++++--------------------- > 1 file changed, 30 insertions(+), 22 deletions(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~