softfloat: add xtensa specialization for pickNaNMulAdd
authorMax Filippov <jcmvbkbc@gmail.com>
Sat, 4 Jul 2020 00:02:47 +0000 (17:02 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Fri, 21 Aug 2020 19:48:14 +0000 (12:48 -0700)
commitfbcc38e4cb1b539b8615ec9b0adc285351d77628
tree48987e869ba351999cfb5ee61754f446de6882e5
parent913602e3ffe6bf50b869a14028a55cb267645ba3
softfloat: add xtensa specialization for pickNaNMulAdd

pickNaNMulAdd logic on Xtensa is to apply pickNaN to the inputs of the
expression (a * b) + c. However if default NaN is produces as a result
of (a * b) calculation it is not considered when c is NaN.
So with two pickNaN variants there must be two pickNaNMulAdd variants.
In addition the invalid flag is always set when (a * b) produces NaN.

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
fpu/softfloat-specialize.c.inc