Index: src/compiler/x87/code-generator-x87.cc |
diff --git a/src/compiler/x87/code-generator-x87.cc b/src/compiler/x87/code-generator-x87.cc |
index 31e4e71fa1f130f42fa98b4dc03f3035ff32c82b..98b6c88e1305dad90d065a22805663f2ecdcb6c9 100644 |
--- a/src/compiler/x87/code-generator-x87.cc |
+++ b/src/compiler/x87/code-generator-x87.cc |
@@ -717,6 +717,14 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ sar_cl(i.OutputOperand()); |
} |
break; |
+ case kX87PairShl: |
+ if (HasImmediateInput(instr, 2)) { |
+ __ PairShl(i.InputRegister(1), i.InputRegister(0), i.InputInt6(2)); |
+ } else { |
+ // Shift has been loaded into CL by the register allocator. |
+ __ PairShl_cl(i.InputRegister(1), i.InputRegister(0)); |
+ } |
+ break; |
case kX87Ror: |
if (HasImmediateInput(instr, 1)) { |
__ ror(i.OutputOperand(), i.InputInt5(1)); |