target/microblaze: Set default NaN pattern explicitly

Set the default NaN pattern explicitly, and remove the ifdef from
parts64_default_nan().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241202131347.498124-37-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell 2024-12-11 15:31:04 +00:00
parent a264fd5a97
commit 223f4f2e78
2 changed files with 3 additions and 2 deletions

View file

@ -139,8 +139,7 @@ static void parts64_default_nan(FloatParts64 *p, float_status *status)
#if defined(TARGET_SPARC) || defined(TARGET_M68K) #if defined(TARGET_SPARC) || defined(TARGET_M68K)
/* Sign bit clear, all frac bits set */ /* Sign bit clear, all frac bits set */
dnan_pattern = 0b01111111; dnan_pattern = 0b01111111;
#elif defined(TARGET_I386) || defined(TARGET_X86_64) \ #elif defined(TARGET_I386) || defined(TARGET_X86_64)
|| defined(TARGET_MICROBLAZE)
/* Sign bit set, most significant frac bit set */ /* Sign bit set, most significant frac bit set */
dnan_pattern = 0b11000000; dnan_pattern = 0b11000000;
#elif defined(TARGET_HPPA) #elif defined(TARGET_HPPA)

View file

@ -207,6 +207,8 @@ static void mb_cpu_reset_hold(Object *obj, ResetType type)
* this architecture. * this architecture.
*/ */
set_float_2nan_prop_rule(float_2nan_prop_x87, &env->fp_status); set_float_2nan_prop_rule(float_2nan_prop_x87, &env->fp_status);
/* Default NaN: sign bit set, most significant frac bit set */
set_float_default_nan_pattern(0b11000000, &env->fp_status);
#if defined(CONFIG_USER_ONLY) #if defined(CONFIG_USER_ONLY)
/* start in user mode with interrupts enabled. */ /* start in user mode with interrupts enabled. */