From 9a65990326cd59f28323714d72073515091383c9 Mon Sep 17 00:00:00 2001 From: Taylor Simpson Date: Wed, 9 Feb 2022 18:15:47 -0800 Subject: [PATCH] Hexagon (target/hexagon) properly set FPINVF bit in sfcmp.uo and dfcmp.uo Instead of checking for nan arguments, use float??_unordered_quiet test cases added in a subsequent patch to more extensively test USR bits Signed-off-by: Taylor Simpson Message-Id: <20220210021556.9217-4-tsimpson@quicinc.com> Reviewed-by: Richard Henderson --- target/hexagon/op_helper.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/target/hexagon/op_helper.c b/target/hexagon/op_helper.c index 47bd51e0ca..75dc0f23f0 100644 --- a/target/hexagon/op_helper.c +++ b/target/hexagon/op_helper.c @@ -938,8 +938,7 @@ int32_t HELPER(sfcmpuo)(CPUHexagonState *env, float32 RsV, float32 RtV) { int32_t PdV; arch_fpop_start(env); - PdV = f8BITSOF(float32_is_any_nan(RsV) || - float32_is_any_nan(RtV)); + PdV = f8BITSOF(float32_unordered_quiet(RsV, RtV, &env->fp_status)); arch_fpop_end(env); return PdV; } @@ -1097,8 +1096,7 @@ int32_t HELPER(dfcmpuo)(CPUHexagonState *env, float64 RssV, float64 RttV) { int32_t PdV; arch_fpop_start(env); - PdV = f8BITSOF(float64_is_any_nan(RssV) || - float64_is_any_nan(RttV)); + PdV = f8BITSOF(float64_unordered_quiet(RssV, RttV, &env->fp_status)); arch_fpop_end(env); return PdV; }