Index: src/compiler/s390/code-generator-s390.cc |
diff --git a/src/compiler/s390/code-generator-s390.cc b/src/compiler/s390/code-generator-s390.cc |
index 2759c50dbdd649e2a85b132a4796385c9569a03a..a1114b6987de94d7057d493900399ccf06be61b8 100644 |
--- a/src/compiler/s390/code-generator-s390.cc |
+++ b/src/compiler/s390/code-generator-s390.cc |
@@ -929,11 +929,10 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
case kS390_RotRight64: |
if (HasRegisterInput(instr, 1)) { |
__ LoadComplementRR(kScratchReg, i.InputRegister(1)); |
- __ rll(i.OutputRegister(), i.InputRegister(0), kScratchReg, |
- Operand(32)); |
- __ lgfr(i.OutputRegister(), i.OutputRegister()); |
+ __ rllg(i.OutputRegister(), i.InputRegister(0), kScratchReg); |
} else { |
- UNIMPLEMENTED(); // Not implemented for now |
+ __ rllg(i.OutputRegister(), i.InputRegister(0), |
+ Operand(64 - i.InputInt32(1))); |
} |
break; |
#endif |