aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Chigot <chigot@adacore.com>2025-04-25 11:35:13 +0200
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2025-05-27 20:09:13 +0100
commit4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a (patch)
tree49599d78cd9399f02c5e03ef579c51877752cc90
parent80db93b2b88f9b3ed8927ae7ac74ca30e643a83e (diff)
downloadqemu-4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a.zip
qemu-4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a.tar.gz
qemu-4ec799dd17dcbb0fa4e90e685d5d6fcf8f72338a.tar.bz2
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>
-rw-r--r--target/sparc/fop_helper.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/target/sparc/fop_helper.c b/target/sparc/fop_helper.c
index a493341..29fd166 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();