From 913602e3ffe6bf50b869a14028a55cb267645ba3 Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Tue, 30 Jun 2020 19:35:57 -0700 Subject: softfloat: pass float_status pointer to pickNaN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Cc: "Alex Bennée" Reviewed-by: Alex Bennée Reviewed-by: Richard Henderson Signed-off-by: Max Filippov --- include/fpu/softfloat-helpers.h | 5 +++++ include/fpu/softfloat-types.h | 1 + 2 files changed, 6 insertions(+) (limited to 'include/fpu') diff --git a/include/fpu/softfloat-helpers.h b/include/fpu/softfloat-helpers.h index e842f83..2f0674f 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 d6f167c..c7ddcab 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; -- cgit v1.1