Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/compiler/machine-operator-unittest.cc

Issue 615083002: Add support for uint64 compares to TurboFan. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/compiler/machine-operator.cc ('k') | src/compiler/opcodes.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/machine-operator.h" 5 #include "src/compiler/machine-operator.h"
6 #include "src/compiler/operator-properties-inl.h" 6 #include "src/compiler/operator-properties-inl.h"
7 #include "testing/gtest-support.h" 7 #include "testing/gtest-support.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 return os << IrOpcode::Mnemonic(pop.opcode); 166 return os << IrOpcode::Mnemonic(pop.opcode);
167 } 167 }
168 168
169 169
170 const PureOperator kPureOperators[] = { 170 const PureOperator kPureOperators[] = {
171 #define PURE(Name, input_count, output_count) \ 171 #define PURE(Name, input_count, output_count) \
172 { \ 172 { \
173 &MachineOperatorBuilder::Name, IrOpcode::k##Name, input_count, \ 173 &MachineOperatorBuilder::Name, IrOpcode::k##Name, input_count, \
174 output_count \ 174 output_count \
175 } 175 }
176 PURE(Word32And, 2, 1), PURE(Word32Or, 2, 1), 176 PURE(Word32And, 2, 1), PURE(Word32Or, 2, 1),
177 PURE(Word32Xor, 2, 1), PURE(Word32Shl, 2, 1), 177 PURE(Word32Xor, 2, 1), PURE(Word32Shl, 2, 1),
178 PURE(Word32Shr, 2, 1), PURE(Word32Sar, 2, 1), 178 PURE(Word32Shr, 2, 1), PURE(Word32Sar, 2, 1),
179 PURE(Word32Ror, 2, 1), PURE(Word32Equal, 2, 1), 179 PURE(Word32Ror, 2, 1), PURE(Word32Equal, 2, 1),
180 PURE(Word64And, 2, 1), PURE(Word64Or, 2, 1), 180 PURE(Word64And, 2, 1), PURE(Word64Or, 2, 1),
181 PURE(Word64Xor, 2, 1), PURE(Word64Shl, 2, 1), 181 PURE(Word64Xor, 2, 1), PURE(Word64Shl, 2, 1),
182 PURE(Word64Shr, 2, 1), PURE(Word64Sar, 2, 1), 182 PURE(Word64Shr, 2, 1), PURE(Word64Sar, 2, 1),
183 PURE(Word64Ror, 2, 1), PURE(Word64Equal, 2, 1), 183 PURE(Word64Ror, 2, 1), PURE(Word64Equal, 2, 1),
184 PURE(Int32Add, 2, 1), PURE(Int32AddWithOverflow, 2, 2), 184 PURE(Int32Add, 2, 1), PURE(Int32AddWithOverflow, 2, 2),
185 PURE(Int32Sub, 2, 1), PURE(Int32SubWithOverflow, 2, 2), 185 PURE(Int32Sub, 2, 1), PURE(Int32SubWithOverflow, 2, 2),
186 PURE(Int32Mul, 2, 1), PURE(Int32Div, 2, 1), 186 PURE(Int32Mul, 2, 1), PURE(Int32Div, 2, 1),
187 PURE(Int32UDiv, 2, 1), PURE(Int32Mod, 2, 1), 187 PURE(Int32UDiv, 2, 1), PURE(Int32Mod, 2, 1),
188 PURE(Int32UMod, 2, 1), PURE(Int32LessThan, 2, 1), 188 PURE(Int32UMod, 2, 1), PURE(Int32LessThan, 2, 1),
189 PURE(Int32LessThanOrEqual, 2, 1), PURE(Uint32LessThan, 2, 1), 189 PURE(Int32LessThanOrEqual, 2, 1), PURE(Uint32LessThan, 2, 1),
190 PURE(Uint32LessThanOrEqual, 2, 1), PURE(Int64Add, 2, 1), 190 PURE(Uint32LessThanOrEqual, 2, 1), PURE(Int64Add, 2, 1),
191 PURE(Int64Sub, 2, 1), PURE(Int64Mul, 2, 1), 191 PURE(Int64Sub, 2, 1), PURE(Int64Mul, 2, 1),
192 PURE(Int64Div, 2, 1), PURE(Int64UDiv, 2, 1), 192 PURE(Int64Div, 2, 1), PURE(Int64UDiv, 2, 1),
193 PURE(Int64Mod, 2, 1), PURE(Int64UMod, 2, 1), 193 PURE(Int64Mod, 2, 1), PURE(Int64UMod, 2, 1),
194 PURE(Int64LessThan, 2, 1), PURE(Int64LessThanOrEqual, 2, 1), 194 PURE(Int64LessThan, 2, 1), PURE(Int64LessThanOrEqual, 2, 1),
195 PURE(ChangeFloat32ToFloat64, 1, 1), PURE(ChangeFloat64ToInt32, 1, 1), 195 PURE(Uint64LessThan, 2, 1), PURE(ChangeFloat32ToFloat64, 1, 1),
196 PURE(ChangeFloat64ToUint32, 1, 1), PURE(ChangeInt32ToInt64, 1, 1), 196 PURE(ChangeFloat64ToInt32, 1, 1), PURE(ChangeFloat64ToUint32, 1, 1),
197 PURE(ChangeUint32ToFloat64, 1, 1), PURE(ChangeUint32ToUint64, 1, 1), 197 PURE(ChangeInt32ToInt64, 1, 1), PURE(ChangeUint32ToFloat64, 1, 1),
198 PURE(TruncateFloat64ToFloat32, 1, 1), PURE(TruncateFloat64ToInt32, 1, 1), 198 PURE(ChangeUint32ToUint64, 1, 1), PURE(TruncateFloat64ToFloat32, 1, 1),
199 PURE(TruncateInt64ToInt32, 1, 1), PURE(Float64Add, 2, 1), 199 PURE(TruncateFloat64ToInt32, 1, 1), PURE(TruncateInt64ToInt32, 1, 1),
200 PURE(Float64Sub, 2, 1), PURE(Float64Mul, 2, 1), 200 PURE(Float64Add, 2, 1), PURE(Float64Sub, 2, 1),
201 PURE(Float64Div, 2, 1), PURE(Float64Mod, 2, 1), 201 PURE(Float64Mul, 2, 1), PURE(Float64Div, 2, 1),
202 PURE(Float64Sqrt, 1, 1), PURE(Float64Equal, 2, 1), 202 PURE(Float64Mod, 2, 1), PURE(Float64Sqrt, 1, 1),
203 PURE(Float64LessThan, 2, 1), PURE(Float64LessThanOrEqual, 2, 1) 203 PURE(Float64Equal, 2, 1), PURE(Float64LessThan, 2, 1),
204 PURE(Float64LessThanOrEqual, 2, 1)
204 #undef PURE 205 #undef PURE
205 }; 206 };
206 207
207 208
208 typedef MachineOperatorTestWithParam<PureOperator> MachinePureOperatorTest; 209 typedef MachineOperatorTestWithParam<PureOperator> MachinePureOperatorTest;
209 210
210 } // namespace 211 } // namespace
211 212
212 213
213 TEST_P(MachinePureOperatorTest, InstancesAreGloballyShared) { 214 TEST_P(MachinePureOperatorTest, InstancesAreGloballyShared) {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 EXPECT_EQ(machine.Int64UDiv(), machine.IntUDiv()); 303 EXPECT_EQ(machine.Int64UDiv(), machine.IntUDiv());
303 EXPECT_EQ(machine.Int64Mod(), machine.IntMod()); 304 EXPECT_EQ(machine.Int64Mod(), machine.IntMod());
304 EXPECT_EQ(machine.Int64UMod(), machine.IntUMod()); 305 EXPECT_EQ(machine.Int64UMod(), machine.IntUMod());
305 EXPECT_EQ(machine.Int64LessThan(), machine.IntLessThan()); 306 EXPECT_EQ(machine.Int64LessThan(), machine.IntLessThan());
306 EXPECT_EQ(machine.Int64LessThanOrEqual(), machine.IntLessThanOrEqual()); 307 EXPECT_EQ(machine.Int64LessThanOrEqual(), machine.IntLessThanOrEqual());
307 } 308 }
308 309
309 } // namespace compiler 310 } // namespace compiler
310 } // namespace internal 311 } // namespace internal
311 } // namespace v8 312 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/machine-operator.cc ('k') | src/compiler/opcodes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698