diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2024-12-11 15:30:53 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2024-12-11 15:30:53 +0000 |
commit | 27aedf7d25e148089bb54eb80588bd380483cbe5 (patch) | |
tree | d9100ee60fe1774ec552038de256ca4297f86c5f | |
parent | 4080eebd7357261dce0993e17ec6b6e9efa29581 (diff) | |
download | qemu-27aedf7d25e148089bb54eb80588bd380483cbe5.zip qemu-27aedf7d25e148089bb54eb80588bd380483cbe5.tar.gz qemu-27aedf7d25e148089bb54eb80588bd380483cbe5.tar.bz2 |
tests/fp: Explicitly set inf-zero-nan rule
Explicitly set a rule in the softfloat tests for the inf-zero-nan
muladd special case. In meson.build we put -DTARGET_ARM in fpcflags,
and so we should select here the Arm rule of
float_infzeronan_dnan_if_qnan.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20241202131347.498124-5-peter.maydell@linaro.org
-rw-r--r-- | tests/fp/fp-bench.c | 5 | ||||
-rw-r--r-- | tests/fp/fp-test.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/tests/fp/fp-bench.c b/tests/fp/fp-bench.c index 75c07d5..fde6483 100644 --- a/tests/fp/fp-bench.c +++ b/tests/fp/fp-bench.c @@ -488,7 +488,12 @@ static void run_bench(void) { bench_func_t f; + /* + * These implementation-defined choices for various things IEEE + * doesn't specify match those used by the Arm architecture. + */ set_float_2nan_prop_rule(float_2nan_prop_s_ab, &soft_status); + set_float_infzeronan_rule(float_infzeronan_dnan_if_qnan, &soft_status); f = bench_funcs[operation][precision]; g_assert(f); diff --git a/tests/fp/fp-test.c b/tests/fp/fp-test.c index 5f6f25c..251c278 100644 --- a/tests/fp/fp-test.c +++ b/tests/fp/fp-test.c @@ -935,7 +935,12 @@ void run_test(void) { unsigned int i; + /* + * These implementation-defined choices for various things IEEE + * doesn't specify match those used by the Arm architecture. + */ set_float_2nan_prop_rule(float_2nan_prop_s_ab, &qsf); + set_float_infzeronan_rule(float_infzeronan_dnan_if_qnan, &qsf); genCases_setLevel(test_level); verCases_maxErrorCount = n_max_errors; |