diff mbox series

[v2,for-10.0,41/54] target/loongarch: Set default NaN pattern explicitly

Message ID 20241202131347.498124-42-peter.maydell@linaro.org
State New
Headers show
Series fpu: Remove pickNaNMulAdd, default-NaN ifdefs | expand

Commit Message

Peter Maydell Dec. 2, 2024, 1:13 p.m. UTC
Set the default NaN pattern explicitly for loongarch.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 target/loongarch/tcg/fpu_helper.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Richard Henderson Dec. 2, 2024, 5:29 p.m. UTC | #1
On 12/2/24 07:13, Peter Maydell wrote:
> Set the default NaN pattern explicitly for loongarch.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   target/loongarch/tcg/fpu_helper.c | 2 ++
>   1 file changed, 2 insertions(+)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~

> 
> diff --git a/target/loongarch/tcg/fpu_helper.c b/target/loongarch/tcg/fpu_helper.c
> index aea5e0fe5e6..a83acf64b08 100644
> --- a/target/loongarch/tcg/fpu_helper.c
> +++ b/target/loongarch/tcg/fpu_helper.c
> @@ -38,6 +38,8 @@ void restore_fp_status(CPULoongArchState *env)
>        */
>       set_float_infzeronan_rule(float_infzeronan_dnan_never, &env->fp_status);
>       set_float_3nan_prop_rule(float_3nan_prop_s_cab, &env->fp_status);
> +    /* Default NaN: sign bit clear, msb frac bit set */
> +    set_float_default_nan_pattern(0b01000000, &env->fp_status);
>   }
>   
>   int ieee_ex_to_loongarch(int xcpt)
diff mbox series

Patch

diff --git a/target/loongarch/tcg/fpu_helper.c b/target/loongarch/tcg/fpu_helper.c
index aea5e0fe5e6..a83acf64b08 100644
--- a/target/loongarch/tcg/fpu_helper.c
+++ b/target/loongarch/tcg/fpu_helper.c
@@ -38,6 +38,8 @@  void restore_fp_status(CPULoongArchState *env)
      */
     set_float_infzeronan_rule(float_infzeronan_dnan_never, &env->fp_status);
     set_float_3nan_prop_rule(float_3nan_prop_s_cab, &env->fp_status);
+    /* Default NaN: sign bit clear, msb frac bit set */
+    set_float_default_nan_pattern(0b01000000, &env->fp_status);
 }
 
 int ieee_ex_to_loongarch(int xcpt)