Chromium Code Reviews| Index: src/compiler/x64/instruction-selector-x64.cc |
| diff --git a/src/compiler/x64/instruction-selector-x64.cc b/src/compiler/x64/instruction-selector-x64.cc |
| index ed857c57b0af8d5b1c282bc9a4ed3d514b1f5f8a..649e522d5b910b65dd7022eddc2e40374e8e139d 100644 |
| --- a/src/compiler/x64/instruction-selector-x64.cc |
| +++ b/src/compiler/x64/instruction-selector-x64.cc |
| @@ -2359,6 +2359,25 @@ void InstructionSelector::VisitInt32x4ExtractLane(Node* node) { |
| g.UseRegister(node->InputAt(0)), g.UseImmediate(node->InputAt(1))); |
| } |
| +void InstructionSelector::VisitInt32x4ReplaceLane(Node* node) { |
| + X64OperandGenerator g(this); |
| + Emit(kX64Int32x4ReplaceLane, g.DefineSameAsFirst(node), |
| + g.UseRegister(node->InputAt(0)), g.UseImmediate(node->InputAt(1)), |
|
titzer
2016/11/28 09:28:37
This is going to be brittle. You're assuming that
gdeepti
2016/12/02 00:43:45
Fixed so that lane values are compile time constan
|
| + g.Use(node->InputAt(2))); |
| +} |
| + |
| +void InstructionSelector::VisitInt32x4Add(Node* node) { |
| + X64OperandGenerator g(this); |
| + Emit(kX64Int32x4Add, g.DefineSameAsFirst(node), |
| + g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1))); |
| +} |
| + |
| +void InstructionSelector::VisitInt32x4Sub(Node* node) { |
| + X64OperandGenerator g(this); |
| + Emit(kX64Int32x4Sub, g.DefineSameAsFirst(node), |
| + g.UseRegister(node->InputAt(0)), g.UseRegister(node->InputAt(1))); |
| +} |
| + |
| // static |
| MachineOperatorBuilder::Flags |
| InstructionSelector::SupportedMachineOperatorFlags() { |