diff options
Diffstat (limited to 'src/arch/arm')
-rw-r--r-- | src/arch/arm/insts/vfp.cc | 6 |
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); |