aboutsummaryrefslogtreecommitdiff
path: root/target/hexagon
diff options
context:
space:
mode:
authorTaylor Simpson <tsimpson@quicinc.com>2022-02-09 18:15:47 -0800
committerTaylor Simpson <tsimpson@quicinc.com>2022-03-12 09:14:22 -0800
commit9a65990326cd59f28323714d72073515091383c9 (patch)
tree7d69e37735fbe1c907d51ce838d521ac132023ad /target/hexagon
parent5b0043c67ccd7b88e0858204e79b09448adf4b34 (diff)
downloadqemu-9a65990326cd59f28323714d72073515091383c9.zip
qemu-9a65990326cd59f28323714d72073515091383c9.tar.gz
qemu-9a65990326cd59f28323714d72073515091383c9.tar.bz2
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 <tsimpson@quicinc.com> Message-Id: <20220210021556.9217-4-tsimpson@quicinc.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/hexagon')
-rw-r--r--target/hexagon/op_helper.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/target/hexagon/op_helper.c b/target/hexagon/op_helper.c
index 47bd51e..75dc0f2 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;
}