target/s390x: Explicitly set 2-NaN propagation rule
Set the 2-NaN propagation rule explicitly in env->fpu_status. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20241025141254.2141506-8-peter.maydell@linaro.org
This commit is contained in:
parent
2915876e03
commit
841f9d7475
@ -403,10 +403,9 @@ static int pickNaN(FloatClass a_cls, FloatClass b_cls,
|
|||||||
#if defined(TARGET_AVR) || defined(TARGET_HEXAGON) \
|
#if defined(TARGET_AVR) || defined(TARGET_HEXAGON) \
|
||||||
|| defined(TARGET_RISCV) || defined(TARGET_SH4) \
|
|| defined(TARGET_RISCV) || defined(TARGET_SH4) \
|
||||||
|| defined(TARGET_TRICORE) || defined(TARGET_ARM) || defined(TARGET_MIPS) \
|
|| defined(TARGET_TRICORE) || defined(TARGET_ARM) || defined(TARGET_MIPS) \
|
||||||
|| defined(TARGET_LOONGARCH64) || defined(TARGET_HPPA)
|
|| defined(TARGET_LOONGARCH64) || defined(TARGET_HPPA) \
|
||||||
|
|| defined(TARGET_S390X)
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
#elif defined(TARGET_S390X)
|
|
||||||
rule = float_2nan_prop_s_ab;
|
|
||||||
#elif defined(TARGET_PPC) || defined(TARGET_M68K)
|
#elif defined(TARGET_PPC) || defined(TARGET_M68K)
|
||||||
/*
|
/*
|
||||||
* PowerPC propagation rules:
|
* PowerPC propagation rules:
|
||||||
|
@ -205,6 +205,7 @@ static void s390_cpu_reset_hold(Object *obj, ResetType type)
|
|||||||
/* tininess for underflow is detected before rounding */
|
/* tininess for underflow is detected before rounding */
|
||||||
set_float_detect_tininess(float_tininess_before_rounding,
|
set_float_detect_tininess(float_tininess_before_rounding,
|
||||||
&env->fpu_status);
|
&env->fpu_status);
|
||||||
|
set_float_2nan_prop_rule(float_2nan_prop_s_ab, &env->fpu_status);
|
||||||
/* fall through */
|
/* fall through */
|
||||||
case RESET_TYPE_S390_CPU_NORMAL:
|
case RESET_TYPE_S390_CPU_NORMAL:
|
||||||
env->psw.mask &= ~PSW_MASK_RI;
|
env->psw.mask &= ~PSW_MASK_RI;
|
||||||
|
Loading…
Reference in New Issue
Block a user