| 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 <limits> | 5 #include <limits> |
| 6 | 6 |
| 7 #include "src/compiler/common-operator.h" | 7 #include "src/compiler/common-operator.h" |
| 8 #include "src/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
| 9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
| 10 #include "src/compiler/operator-properties.h" | 10 #include "src/compiler/operator-properties.h" |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 EXPECT_EQ(1, op->ControlInputCount()); | 265 EXPECT_EQ(1, op->ControlInputCount()); |
| 266 EXPECT_EQ(1, OperatorProperties::GetTotalInputCount(op)); | 266 EXPECT_EQ(1, OperatorProperties::GetTotalInputCount(op)); |
| 267 EXPECT_EQ(0, op->ValueOutputCount()); | 267 EXPECT_EQ(0, op->ValueOutputCount()); |
| 268 EXPECT_EQ(0, op->EffectOutputCount()); | 268 EXPECT_EQ(0, op->EffectOutputCount()); |
| 269 EXPECT_EQ(1, op->ControlOutputCount()); | 269 EXPECT_EQ(1, op->ControlOutputCount()); |
| 270 } | 270 } |
| 271 } | 271 } |
| 272 | 272 |
| 273 | 273 |
| 274 TEST_F(CommonOperatorTest, Select) { | 274 TEST_F(CommonOperatorTest, Select) { |
| 275 static const MachineType kTypes[] = { | 275 static const MachineRepresentation kMachineRepresentations[] = { |
| 276 kMachInt8, kMachUint8, kMachInt16, kMachUint16, | 276 MachineRepresentation::kBit, MachineRepresentation::kWord8, |
| 277 kMachInt32, kMachUint32, kMachInt64, kMachUint64, | 277 MachineRepresentation::kWord16, MachineRepresentation::kWord32, |
| 278 kMachFloat32, kMachFloat64, kMachAnyTagged}; | 278 MachineRepresentation::kWord64, MachineRepresentation::kFloat32, |
| 279 TRACED_FOREACH(MachineType, type, kTypes) { | 279 MachineRepresentation::kFloat64, MachineRepresentation::kTagged}; |
| 280 |
| 281 |
| 282 TRACED_FOREACH(MachineRepresentation, rep, kMachineRepresentations) { |
| 280 TRACED_FOREACH(BranchHint, hint, kBranchHints) { | 283 TRACED_FOREACH(BranchHint, hint, kBranchHints) { |
| 281 const Operator* const op = common()->Select(type, hint); | 284 const Operator* const op = common()->Select(rep, hint); |
| 282 EXPECT_EQ(IrOpcode::kSelect, op->opcode()); | 285 EXPECT_EQ(IrOpcode::kSelect, op->opcode()); |
| 283 EXPECT_EQ(Operator::kPure, op->properties()); | 286 EXPECT_EQ(Operator::kPure, op->properties()); |
| 284 EXPECT_EQ(type, SelectParametersOf(op).type()); | 287 EXPECT_EQ(rep, SelectParametersOf(op).representation()); |
| 285 EXPECT_EQ(hint, SelectParametersOf(op).hint()); | 288 EXPECT_EQ(hint, SelectParametersOf(op).hint()); |
| 286 EXPECT_EQ(3, op->ValueInputCount()); | 289 EXPECT_EQ(3, op->ValueInputCount()); |
| 287 EXPECT_EQ(0, op->EffectInputCount()); | 290 EXPECT_EQ(0, op->EffectInputCount()); |
| 288 EXPECT_EQ(0, op->ControlInputCount()); | 291 EXPECT_EQ(0, op->ControlInputCount()); |
| 289 EXPECT_EQ(3, OperatorProperties::GetTotalInputCount(op)); | 292 EXPECT_EQ(3, OperatorProperties::GetTotalInputCount(op)); |
| 290 EXPECT_EQ(1, op->ValueOutputCount()); | 293 EXPECT_EQ(1, op->ValueOutputCount()); |
| 291 EXPECT_EQ(0, op->EffectOutputCount()); | 294 EXPECT_EQ(0, op->EffectOutputCount()); |
| 292 EXPECT_EQ(0, op->ControlOutputCount()); | 295 EXPECT_EQ(0, op->ControlOutputCount()); |
| 293 } | 296 } |
| 294 } | 297 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 EXPECT_EQ(1, op->EffectInputCount()); | 377 EXPECT_EQ(1, op->EffectInputCount()); |
| 375 EXPECT_EQ(2, OperatorProperties::GetTotalInputCount(op)); | 378 EXPECT_EQ(2, OperatorProperties::GetTotalInputCount(op)); |
| 376 EXPECT_EQ(0, op->ControlOutputCount()); | 379 EXPECT_EQ(0, op->ControlOutputCount()); |
| 377 EXPECT_EQ(1, op->EffectOutputCount()); | 380 EXPECT_EQ(1, op->EffectOutputCount()); |
| 378 EXPECT_EQ(1, op->ValueOutputCount()); | 381 EXPECT_EQ(1, op->ValueOutputCount()); |
| 379 } | 382 } |
| 380 | 383 |
| 381 } // namespace compiler | 384 } // namespace compiler |
| 382 } // namespace internal | 385 } // namespace internal |
| 383 } // namespace v8 | 386 } // namespace v8 |
| OLD | NEW |