Index: src/compiler/arm/instruction-selector-arm-unittest.cc |
diff --git a/src/compiler/arm/instruction-selector-arm-unittest.cc b/src/compiler/arm/instruction-selector-arm-unittest.cc |
index 208d2e9705b6ec2771ca760b661267d8e1ba59b0..ec5eaf3b5f9747d8c68146d4381a23ae7058a777 100644 |
--- a/src/compiler/arm/instruction-selector-arm-unittest.cc |
+++ b/src/compiler/arm/instruction-selector-arm-unittest.cc |
@@ -1247,15 +1247,15 @@ static const MemoryAccess kMemoryAccesses[] = { |
-80, -72, -71, -56, -25, -21, -11, -9, 0, 3, 5, 27, 28, 42, 52, 63, 88, |
93, 97, 125, 846, 1037, 2102, 2403, 2597, 2632, 2997, 3935, 4095}}, |
{kMachFloat32, |
- kArmVldr32, |
- kArmVstr32, |
+ kArmVldrF32, |
+ kArmVstrF32, |
&InstructionSelectorTest::Stream::IsDouble, |
{-1020, -928, -896, -772, -728, -680, -660, -488, -372, -112, -100, -92, |
-84, -80, -72, -64, -60, -56, -52, -48, -36, -32, -20, -8, -4, 0, 8, 20, |
24, 40, 64, 112, 204, 388, 516, 852, 856, 976, 988, 1020}}, |
{kMachFloat64, |
- kArmVldr64, |
- kArmVstr64, |
+ kArmVldrF64, |
+ kArmVstrF64, |
&InstructionSelectorTest::Stream::IsDouble, |
{-1020, -948, -796, -696, -612, -364, -320, -308, -128, -112, -108, -104, |
-96, -84, -80, -56, -48, -40, -20, 0, 24, 28, 36, 48, 64, 84, 96, 100, |
@@ -1339,6 +1339,32 @@ INSTANTIATE_TEST_CASE_P(InstructionSelectorTest, |
// ----------------------------------------------------------------------------- |
+// Conversions. |
+ |
+ |
+TEST_F(InstructionSelectorTest, ChangeFloat32ToFloat64WithParameter) { |
+ StreamBuilder m(this, kMachFloat64, kMachFloat32); |
+ m.Return(m.ChangeFloat32ToFloat64(m.Parameter(0))); |
+ Stream s = m.Build(); |
+ ASSERT_EQ(1U, s.size()); |
+ EXPECT_EQ(kArmVcvtF64F32, s[0]->arch_opcode()); |
+ EXPECT_EQ(1U, s[0]->InputCount()); |
+ EXPECT_EQ(1U, s[0]->OutputCount()); |
+} |
+ |
+ |
+TEST_F(InstructionSelectorTest, TruncateFloat64ToFloat32WithParameter) { |
+ StreamBuilder m(this, kMachFloat32, kMachFloat64); |
+ m.Return(m.TruncateFloat64ToFloat32(m.Parameter(0))); |
+ Stream s = m.Build(); |
+ ASSERT_EQ(1U, s.size()); |
+ EXPECT_EQ(kArmVcvtF32F64, s[0]->arch_opcode()); |
+ EXPECT_EQ(1U, s[0]->InputCount()); |
+ EXPECT_EQ(1U, s[0]->OutputCount()); |
+} |
+ |
+ |
+// ----------------------------------------------------------------------------- |
// Miscellaneous. |
@@ -1895,6 +1921,7 @@ TEST_F(InstructionSelectorTest, Word32AndWithWord32ShrWithImmediateForARMv7) { |
} |
} |
} |
+ |
} // namespace compiler |
} // namespace internal |
} // namespace v8 |