fpu: Fix rounding mode for floatN_to_uintM_round_to_zero
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 10 Apr 2018 12:02:26 +0000 (13:02 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 10 Apr 2018 12:02:26 +0000 (13:02 +0100)
We incorrectly passed in the current rounding mode
instead of float_round_to_zero.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20180410055912.934-1-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
fpu/softfloat.c

index 6e16284e66c277195e9076953326a4606c0d3209..b46dccc63e269dfd278985fabc1bfb91e0d8570b 100644 (file)
@@ -1486,8 +1486,8 @@ uint ## isz ## _t float ## fsz ## _to_uint ## isz ## _round_to_zero     \
  (float ## fsz a, float_status *s)                                      \
 {                                                                       \
     FloatParts p = float ## fsz ## _unpack_canonical(a, s);             \
-    return round_to_uint_and_pack(p, s->float_rounding_mode,            \
-                                 UINT ## isz ## _MAX, s);               \
+    return round_to_uint_and_pack(p, float_round_to_zero,               \
+                                  UINT ## isz ## _MAX, s);              \
 }
 
 FLOAT_TO_UINT(16, 16)