]> git.proxmox.com Git - qemu.git/commitdiff
target-alpha: use new float64_unordered_quiet() function
authorAurelien Jarno <aurelien@aurel32.net>
Wed, 13 Apr 2011 22:49:29 +0000 (00:49 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 17 Apr 2011 18:32:14 +0000 (20:32 +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 <peter.maydell@linaro.org> and Richard
Henderson <rth@twiddle.net> for digging into the manuals.

Acked-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-alpha/op_helper.c

index 6c2ae2061f0370d8d1e23650b8211375e84ed5c3..36f4f6d3b82a72f2ea439a6135dca3a807dd4fa2 100644 (file)
@@ -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)