target-alpha: use new float64_unordered_quiet() function
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>
This commit is contained in:
parent
b4a0ef7911
commit
a4d2d1a063
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user