diff options
| author | Clément Chigot <chigot@adacore.com> | 2025-04-25 11:35:13 +0200 |
|---|---|---|
| committer | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2025-05-27 20:09:13 +0100 |
| commit | 4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a (patch) | |
| tree | 49599d78cd9399f02c5e03ef579c51877752cc90 /target/sparc | |
| parent | 80db93b2b88f9b3ed8927ae7ac74ca30e643a83e (diff) | |
| download | focaccia-qemu-4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a.tar.gz focaccia-qemu-4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a.zip | |
target/sparc: don't set FSR_NVA when comparing unordered floats
FSR_NVA should be set when one of the operands is a signaling NaN or when using FCMPEx instructions. But those cases are already handled within check_ieee_exception or floatxx_compare functions. Otherwise, it should be left untouched. FTR, this was detected by inf-compare-[5678] tests within gcc testsuites. Signed-off-by: Clément Chigot <chigot@adacore.com> Message-Id: <20250425093513.863289-1-chigot@adacore.com> Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Diffstat (limited to 'target/sparc')
| -rw-r--r-- | target/sparc/fop_helper.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/target/sparc/fop_helper.c b/target/sparc/fop_helper.c index a49334150d..29fd166438 100644 --- a/target/sparc/fop_helper.c +++ b/target/sparc/fop_helper.c @@ -445,7 +445,6 @@ static uint32_t finish_fcmp(CPUSPARCState *env, FloatRelation r, uintptr_t ra) case float_relation_greater: return 2; case float_relation_unordered: - env->fsr |= FSR_NVA; return 3; } g_assert_not_reached(); |