Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index 8eb93a6b3332b3a2aa853146759b6e1d967d6daf..6145c034d6f94d2d4994f26563746e0aacece7b7 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -1004,13 +1004,11 @@ void MacroAssembler::VFPCompareAndLoadFlags(const DwVfpRegister src1, |
void MacroAssembler::Vmov(const DwVfpRegister dst, |
const double imm, |
const Register scratch) { |
- static const DoubleRepresentation minus_zero(-0.0); |
- static const DoubleRepresentation zero(0.0); |
- DoubleRepresentation value_rep(imm); |
+ int64_t imm_bits = bit_cast<int64_t>(imm); |
// Handle special values first. |
- if (value_rep == zero) { |
+ if (imm_bits == bit_cast<int64_t>(0.0)) { |
vmov(dst, kDoubleRegZero); |
- } else if (value_rep == minus_zero) { |
+ } else if (imm_bits == bit_cast<int64_t>(-0.0)) { |
vneg(dst, kDoubleRegZero); |
} else { |
vmov(dst, imm, scratch); |