diff -r f9e76b1eb79a -r 2c188ea1262d src/arch/arm/insts/vfp.cc --- a/src/arch/arm/insts/vfp.cc Tue Jan 22 00:13:28 2013 -0600 +++ b/src/arch/arm/insts/vfp.cc Tue Jan 22 16:52:52 2013 -0500 @@ -993,9 +993,8 @@ 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 @@ 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);