[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 38/72] target/ppc: Use env->fp_status in helper_compute_fprf funct
From: |
Peter Maydell |
Subject: |
[PULL 38/72] target/ppc: Use env->fp_status in helper_compute_fprf functions |
Date: |
Wed, 11 Dec 2024 16:19:30 +0000 |
In the helper_compute_fprf functions, we pass a dummy float_status
in to the is_signaling_nan() function. This is unnecessary, because
we have convenient access to the CPU env pointer here and that
is already set up with the correct values for the snan_bit_is_one
and no_signaling_nans config settings. is_signaling_nan() doesn't
ever update the fp_status with any exception flags, so there is
no reason not to use env->fp_status here.
Use env->fp_status instead of the dummy fp_status.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241202131347.498124-34-peter.maydell@linaro.org
---
target/ppc/fpu_helper.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c
index 230466a87f3..d93cfed17b4 100644
--- a/target/ppc/fpu_helper.c
+++ b/target/ppc/fpu_helper.c
@@ -155,8 +155,7 @@ void helper_compute_fprf_##tp(CPUPPCState *env, tp arg)
\
} else if (tp##_is_infinity(arg)) { \
fprf = neg ? 0x09 << FPSCR_FPRF : 0x05 << FPSCR_FPRF; \
} else { \
- float_status dummy = { }; /* snan_bit_is_one = 0 */ \
- if (tp##_is_signaling_nan(arg, &dummy)) { \
+ if (tp##_is_signaling_nan(arg, &env->fp_status)) { \
fprf = 0x00 << FPSCR_FPRF; \
} else { \
fprf = 0x11 << FPSCR_FPRF; \
--
2.34.1
- [PULL 25/72] target/s390x: Set Float3NaNPropRule explicitly, (continued)
- [PULL 25/72] target/s390x: Set Float3NaNPropRule explicitly, Peter Maydell, 2024/12/11
- [PULL 26/72] target/sparc: Set Float3NaNPropRule explicitly, Peter Maydell, 2024/12/11
- [PULL 29/72] target/i386: Set Float3NaNPropRule explicitly, Peter Maydell, 2024/12/11
- [PULL 33/72] softfloat: Create floatx80 default NaN from parts64_default_nan, Peter Maydell, 2024/12/11
- [PULL 31/72] fpu: Remove use_first_nan field from float_status, Peter Maydell, 2024/12/11
- [PULL 32/72] target/m68k: Don't pass NULL float_status to floatx80_default_nan(), Peter Maydell, 2024/12/11
- [PULL 34/72] target/loongarch: Use normal float_status in fclass_s and fclass_d helpers, Peter Maydell, 2024/12/11
- [PULL 35/72] target/m68k: In frem helper, initialize local float_status from env->fp_status, Peter Maydell, 2024/12/11
- [PULL 36/72] target/m68k: Init local float_status from env fp_status in gdb get/set reg, Peter Maydell, 2024/12/11
- [PULL 37/72] target/sparc: Initialize local scratch float_status from env->fp_status, Peter Maydell, 2024/12/11
- [PULL 38/72] target/ppc: Use env->fp_status in helper_compute_fprf functions,
Peter Maydell <=
- [PULL 39/72] target/arm: Copy entire float_status in is_ebf, Peter Maydell, 2024/12/11
- [PULL 40/72] fpu: Allow runtime choice of default NaN value, Peter Maydell, 2024/12/11
- [PULL 41/72] tests/fp: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 43/72] target/i386: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 42/72] target/microblaze: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 44/72] target/hppa: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 45/72] target/alpha: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 46/72] target/arm: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 47/72] target/loongarch: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11
- [PULL 48/72] target/m68k: Set default NaN pattern explicitly, Peter Maydell, 2024/12/11