OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/pipeline.h" | 5 #include "src/compiler/pipeline.h" |
6 #include "test/unittests/compiler/instruction-sequence-unittest.h" | 6 #include "test/unittests/compiler/instruction-sequence-unittest.h" |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 namespace compiler { | 10 namespace compiler { |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 StartBlock(); | 94 StartBlock(); |
95 auto a_reg = Parameter(); | 95 auto a_reg = Parameter(); |
96 auto b_reg = Parameter(); | 96 auto b_reg = Parameter(); |
97 auto c_reg = EmitOI(Reg(1), Reg(a_reg, 1), Reg(b_reg, 0)); | 97 auto c_reg = EmitOI(Reg(1), Reg(a_reg, 1), Reg(b_reg, 0)); |
98 Return(c_reg); | 98 Return(c_reg); |
99 EndBlock(Last()); | 99 EndBlock(Last()); |
100 | 100 |
101 Allocate(); | 101 Allocate(); |
102 } | 102 } |
103 | 103 |
104 TEST_F(RegisterAllocatorTest, CanAllocateThreeFPRegisters) { | 104 TEST_F(RegisterAllocatorTest, CanAllocateFPRegisters) { |
105 // return p0 + p1; | |
106 StartBlock(); | 105 StartBlock(); |
107 VReg a_reg = FPParameter(); | 106 TestOperand inputs[] = { |
108 VReg b_reg = FPParameter(); | 107 Reg(FPParameter(kFloat64)), Reg(FPParameter(kFloat64)), |
109 VReg c_reg = EmitOI(FPReg(1), Reg(a_reg, 1), Reg(b_reg, 0)); | 108 Reg(FPParameter(kFloat32)), Reg(FPParameter(kFloat32)), |
110 Return(c_reg); | 109 Reg(FPParameter(kSimd128)), Reg(FPParameter(kSimd128))}; |
| 110 VReg out1 = EmitOI(FPReg(1, kFloat64), arraysize(inputs), inputs); |
| 111 Return(out1); |
111 EndBlock(Last()); | 112 EndBlock(Last()); |
112 | 113 |
113 Allocate(); | 114 Allocate(); |
114 } | 115 } |
115 | 116 |
116 TEST_F(RegisterAllocatorTest, SimpleLoop) { | 117 TEST_F(RegisterAllocatorTest, SimpleLoop) { |
117 // i = K; | 118 // i = K; |
118 // while(true) { i++ } | 119 // while(true) { i++ } |
119 StartBlock(); | 120 StartBlock(); |
120 auto i_reg = DefineConstant(); | 121 auto i_reg = DefineConstant(); |
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 INSTANTIATE_TEST_CASE_P( | 789 INSTANTIATE_TEST_CASE_P( |
789 RegisterAllocatorTest, SlotConstraintTest, | 790 RegisterAllocatorTest, SlotConstraintTest, |
790 ::testing::Combine(::testing::ValuesIn(kParameterTypes), | 791 ::testing::Combine(::testing::ValuesIn(kParameterTypes), |
791 ::testing::Range(0, SlotConstraintTest::kMaxVariant))); | 792 ::testing::Range(0, SlotConstraintTest::kMaxVariant))); |
792 | 793 |
793 #endif // GTEST_HAS_COMBINE | 794 #endif // GTEST_HAS_COMBINE |
794 | 795 |
795 } // namespace compiler | 796 } // namespace compiler |
796 } // namespace internal | 797 } // namespace internal |
797 } // namespace v8 | 798 } // namespace v8 |
OLD | NEW |