target/alpha: Explicitly set 2-NaN propagation rule

Set the NaN propagation rule explicitly for the float_status word
used in this target.

This is a no-behaviour-change commit, so we retain the existing
behaviour of x87-style pick-largest-significand NaN propagation.
This is however not the architecturally correct handling, so we leave
a TODO note to that effect.

We also leave a TODO note pointing out that all this code in the cpu
initfn (including the existing setting up of env->flags and the FPCR)
should be in a currently non-existent CPU reset function.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20241025141254.2141506-17-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell 2024-11-05 10:09:56 +00:00
parent 62d39b28ef
commit 8403a5015c
2 changed files with 12 additions and 1 deletions

View file

@ -406,7 +406,7 @@ static int pickNaN(FloatClass a_cls, FloatClass b_cls,
|| defined(TARGET_LOONGARCH64) || defined(TARGET_HPPA) \
|| defined(TARGET_S390X) || defined(TARGET_PPC) || defined(TARGET_M68K) \
|| defined(TARGET_SPARC) || defined(TARGET_XTENSA) \
|| defined(TARGET_I386)
|| defined(TARGET_I386) || defined(TARGET_ALPHA)
g_assert_not_reached();
#else
rule = float_2nan_prop_x87;