Index: src/compiler/arm/code-generator-arm.cc |
diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc |
index 9ae10ca3f868c2834acf399b8794640665f9c356..0f81caecb8c86033af233ddbe85a46714c476747 100644 |
--- a/src/compiler/arm/code-generator-arm.cc |
+++ b/src/compiler/arm/code-generator-arm.cc |
@@ -807,6 +807,24 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
i.InputRegister(1), kScratchReg, i.InputRegister(2)); |
} |
break; |
+ case kArmLsrPair: |
+ if (instr->InputAt(2)->IsImmediate()) { |
+ __ LsrPair(i.OutputRegister(0), i.OutputRegister(1), i.InputRegister(0), |
+ i.InputRegister(1), i.InputInt32(2)); |
+ } else { |
+ __ LsrPair(i.OutputRegister(0), i.OutputRegister(1), i.InputRegister(0), |
+ i.InputRegister(1), kScratchReg, i.InputRegister(2)); |
+ } |
+ break; |
+ case kArmAsrPair: |
+ if (instr->InputAt(2)->IsImmediate()) { |
+ __ AsrPair(i.OutputRegister(0), i.OutputRegister(1), i.InputRegister(0), |
+ i.InputRegister(1), i.InputInt32(2)); |
+ } else { |
+ __ AsrPair(i.OutputRegister(0), i.OutputRegister(1), i.InputRegister(0), |
+ i.InputRegister(1), kScratchReg, i.InputRegister(2)); |
+ } |
+ break; |
case kArmVcmpF32: |
if (instr->InputAt(1)->IsDoubleRegister()) { |
__ VFPCompareAndSetFlags(i.InputFloat32Register(0), |