Message ID | 20241202131347.498124-43-peter.maydell@linaro.org |
---|---|
State | New |
Headers | show |
Series | fpu: Remove pickNaNMulAdd, default-NaN ifdefs | expand |
On 12/2/24 07:13, Peter Maydell wrote: > Set the default NaN pattern explicitly for m68k. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > target/m68k/cpu.c | 2 ++ > fpu/softfloat-specialize.c.inc | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~ > > diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c > index 13b76e22488..9de8ce67078 100644 > --- a/target/m68k/cpu.c > +++ b/target/m68k/cpu.c > @@ -105,6 +105,8 @@ static void m68k_cpu_reset_hold(Object *obj, ResetType type) > * preceding paragraph for nonsignaling NaNs. > */ > set_float_2nan_prop_rule(float_2nan_prop_ab, &env->fp_status); > + /* Default NaN: sign bit clear, all frac bits set */ > + set_float_default_nan_pattern(0b01111111, &env->fp_status); > > nan = floatx80_default_nan(&env->fp_status); > for (i = 0; i < 8; i++) { > diff --git a/fpu/softfloat-specialize.c.inc b/fpu/softfloat-specialize.c.inc > index b5ec1944d15..ecb7a52ae7c 100644 > --- a/fpu/softfloat-specialize.c.inc > +++ b/fpu/softfloat-specialize.c.inc > @@ -136,7 +136,7 @@ static void parts64_default_nan(FloatParts64 *p, float_status *status) > uint8_t dnan_pattern = status->default_nan_pattern; > > if (dnan_pattern == 0) { > -#if defined(TARGET_SPARC) || defined(TARGET_M68K) > +#if defined(TARGET_SPARC) > /* Sign bit clear, all frac bits set */ > dnan_pattern = 0b01111111; > #elif defined(TARGET_HEXAGON)
diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index 13b76e22488..9de8ce67078 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -105,6 +105,8 @@ static void m68k_cpu_reset_hold(Object *obj, ResetType type) * preceding paragraph for nonsignaling NaNs. */ set_float_2nan_prop_rule(float_2nan_prop_ab, &env->fp_status); + /* Default NaN: sign bit clear, all frac bits set */ + set_float_default_nan_pattern(0b01111111, &env->fp_status); nan = floatx80_default_nan(&env->fp_status); for (i = 0; i < 8; i++) { diff --git a/fpu/softfloat-specialize.c.inc b/fpu/softfloat-specialize.c.inc index b5ec1944d15..ecb7a52ae7c 100644 --- a/fpu/softfloat-specialize.c.inc +++ b/fpu/softfloat-specialize.c.inc @@ -136,7 +136,7 @@ static void parts64_default_nan(FloatParts64 *p, float_status *status) uint8_t dnan_pattern = status->default_nan_pattern; if (dnan_pattern == 0) { -#if defined(TARGET_SPARC) || defined(TARGET_M68K) +#if defined(TARGET_SPARC) /* Sign bit clear, all frac bits set */ dnan_pattern = 0b01111111; #elif defined(TARGET_HEXAGON)
Set the default NaN pattern explicitly for m68k. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- target/m68k/cpu.c | 2 ++ fpu/softfloat-specialize.c.inc | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)