target/ppc: Use env->fp_status in helper_compute_fprf functions
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
This commit is contained in:
parent
5edd92d6c3
commit
46eb7b92db
@ -155,8 +155,7 @@ void helper_compute_fprf_##tp(CPUPPCState *env, tp arg) \
|
|||||||
} else if (tp##_is_infinity(arg)) { \
|
} else if (tp##_is_infinity(arg)) { \
|
||||||
fprf = neg ? 0x09 << FPSCR_FPRF : 0x05 << FPSCR_FPRF; \
|
fprf = neg ? 0x09 << FPSCR_FPRF : 0x05 << FPSCR_FPRF; \
|
||||||
} else { \
|
} else { \
|
||||||
float_status dummy = { }; /* snan_bit_is_one = 0 */ \
|
if (tp##_is_signaling_nan(arg, &env->fp_status)) { \
|
||||||
if (tp##_is_signaling_nan(arg, &dummy)) { \
|
|
||||||
fprf = 0x00 << FPSCR_FPRF; \
|
fprf = 0x00 << FPSCR_FPRF; \
|
||||||
} else { \
|
} else { \
|
||||||
fprf = 0x11 << FPSCR_FPRF; \
|
fprf = 0x11 << FPSCR_FPRF; \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user