diff options
author | Max Filippov | 2020-07-01 04:35:57 +0200 |
---|---|---|
committer | Max Filippov | 2020-08-21 21:48:14 +0200 |
commit | 913602e3ffe6bf50b869a14028a55cb267645ba3 (patch) | |
tree | 45be64d9ad89eba35b0304adb8c5de58777ecdcc /include/fpu | |
parent | softfloat: make NO_SIGNALING_NANS runtime property (diff) | |
download | qemu-913602e3ffe6bf50b869a14028a55cb267645ba3.tar.gz qemu-913602e3ffe6bf50b869a14028a55cb267645ba3.tar.xz qemu-913602e3ffe6bf50b869a14028a55cb267645ba3.zip |
softfloat: pass float_status pointer to pickNaN
Pass float_status structure pointer to the pickNaN so that
machine-specific settings are available to NaN selection code.
Add use_first_nan property to float_status and use it in Xtensa-specific
pickNaN.
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: "Alex Bennée" <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'include/fpu')
-rw-r--r-- | include/fpu/softfloat-helpers.h | 5 | ||||
-rw-r--r-- | include/fpu/softfloat-types.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/fpu/softfloat-helpers.h b/include/fpu/softfloat-helpers.h index e842f83a12..2f0674fbdd 100644 --- a/include/fpu/softfloat-helpers.h +++ b/include/fpu/softfloat-helpers.h @@ -95,6 +95,11 @@ static inline void set_snan_bit_is_one(bool val, float_status *status) status->snan_bit_is_one = val; } +static inline void set_use_first_nan(bool val, float_status *status) +{ + status->use_first_nan = val; +} + static inline void set_no_signaling_nans(bool val, float_status *status) { status->no_signaling_nans = val; diff --git a/include/fpu/softfloat-types.h b/include/fpu/softfloat-types.h index d6f167c1b0..c7ddcab8ca 100644 --- a/include/fpu/softfloat-types.h +++ b/include/fpu/softfloat-types.h @@ -171,6 +171,7 @@ typedef struct float_status { * softfloat-specialize.inc.c) */ bool snan_bit_is_one; + bool use_first_nan; bool no_signaling_nans; } float_status; |