summaryrefslogtreecommitdiff
path: root/src/arch/arm/insts/vfp.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/insts/vfp.cc')
-rw-r--r--src/arch/arm/insts/vfp.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/arch/arm/insts/vfp.cc b/src/arch/arm/insts/vfp.cc
index f689204d9..6e15282f8 100644
--- a/src/arch/arm/insts/vfp.cc
+++ b/src/arch/arm/insts/vfp.cc
@@ -993,9 +993,8 @@ FpOp::binaryOp(FPSCR &fpscr, fpType op1, fpType op2,
fpType dest = func(op1, op2);
__asm__ __volatile__ ("" : "=m" (dest) : "m" (dest));
- int fpClass = std::fpclassify(dest);
// Get NAN behavior right. This varies between x86 and ARM.
- if (fpClass == FP_NAN) {
+ if (std::isnan(dest)) {
const bool single = (sizeof(fpType) == sizeof(float));
const uint64_t qnan =
single ? 0x7fc00000 : ULL(0x7ff8000000000000);
@@ -1065,9 +1064,8 @@ FpOp::unaryOp(FPSCR &fpscr, fpType op1, fpType (*func)(fpType),
fpType dest = func(op1);
__asm__ __volatile__ ("" : "=m" (dest) : "m" (dest));
- int fpClass = std::fpclassify(dest);
// Get NAN behavior right. This varies between x86 and ARM.
- if (fpClass == FP_NAN) {
+ if (std::isnan(dest)) {
const bool single = (sizeof(fpType) == sizeof(float));
const uint64_t qnan =
single ? 0x7fc00000 : ULL(0x7ff8000000000000);