[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 08/19] target-alpha: use new float64_unordered_qu
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH v2 08/19] target-alpha: use new float64_unordered_quiet() function |
Date: |
Thu, 14 Apr 2011 01:11:03 +0200 |
Use float64_unordered_quiet() in helper_cmptun() instead of doing the
the comparison manually.
According to the "Alpha Compiler Writer's Guide", we should use the
_quiet version here, as CMPTUN and CMPTEQ should generate InvalidOp
for SNaNs but not for QNaNs.
Thanks to Peter Maydell <address@hidden> and Richard
Henderson <address@hidden> for digging into the manuals.
Signed-off-by: Aurelien Jarno <address@hidden>
---
target-alpha/op_helper.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
v2: use float64_unordered_quiet() instead of float64_unordered()
diff --git a/target-alpha/op_helper.c b/target-alpha/op_helper.c
index 6c2ae20..36f4f6d 100644
--- a/target-alpha/op_helper.c
+++ b/target-alpha/op_helper.c
@@ -904,10 +904,11 @@ uint64_t helper_cmptun (uint64_t a, uint64_t b)
fa = t_to_float64(a);
fb = t_to_float64(b);
- if (float64_is_quiet_nan(fa) || float64_is_quiet_nan(fb))
+ if (float64_unordered_quiet(fa, fb, &FP_STATUS)) {
return 0x4000000000000000ULL;
- else
+ } else {
return 0;
+ }
}
uint64_t helper_cmpteq(uint64_t a, uint64_t b)
--
1.7.2.3
- [Qemu-devel] [PATCH v2 00/19] softfloat and FPU fixes/improvements, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 04/19] target-i386: use float unions from cpu-all.h, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 05/19] target-i386: add floatx_{add, mul, sub} and use them, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 07/19] softfloat-native: add float*_unordered_quiet() functions, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 13/19] softfloat: move float*_eq and float*_eq_quiet, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 08/19] target-alpha: use new float64_unordered_quiet() function,
Aurelien Jarno <=
- [Qemu-devel] [PATCH v2 01/19] softfloat: use GCC builtins to count the leading zeros, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 03/19] target-i386: use CPU_LDoubleU instead of a private union, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 10/19] target-i386: fix CMPUNORDPS/D and CMPORDPS/D instructions, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 19/19] target-mips: clear softfpu exception state for comparison instructions, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 17/19] target-mips: don't hardcode softfloat exception bits, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 14/19] softfloat: improve description of comparison functions, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 18/19] target-mips: fix c.ps.* instructions, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 06/19] softfloat: add float*_unordered_{, quiet}() functions, Aurelien Jarno, 2011/04/13
- [Qemu-devel] [PATCH v2 09/19] target-mips: use new float*_unordered*() functions, Aurelien Jarno, 2011/04/13