target/loongarch: Set Float3NaNPropRule explicitly

Set the Float3NaNPropRule explicitly for loongarch, and remove the
ifdef from pickNaNMulAdd().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241202131347.498124-19-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell 2024-12-11 15:30:57 +00:00
parent 10519d3b1a
commit 9d0b8f9605
2 changed files with 1 additions and 2 deletions

View file

@ -511,8 +511,6 @@ static int pickNaNMulAdd(FloatClass a_cls, FloatClass b_cls, FloatClass c_cls,
} else {
rule = float_3nan_prop_s_cab;
}
#elif defined(TARGET_LOONGARCH64)
rule = float_3nan_prop_s_cab;
#elif defined(TARGET_PPC)
/*
* If fRA is a NaN return it; otherwise if fRB is a NaN return it;

View file

@ -37,6 +37,7 @@ void restore_fp_status(CPULoongArchState *env)
* case sets InvalidOp and returns the input value 'c'
*/
set_float_infzeronan_rule(float_infzeronan_dnan_never, &env->fp_status);
set_float_3nan_prop_rule(float_3nan_prop_s_cab, &env->fp_status);
}
int ieee_ex_to_loongarch(int xcpt)