Index: src/compiler/s390/instruction-selector-s390.cc |
diff --git a/src/compiler/s390/instruction-selector-s390.cc b/src/compiler/s390/instruction-selector-s390.cc |
index 80c6fd048f07319a9f62400428a746d740a15265..f1aa332a493ce44e0fc8aaa4d9598ec3cc8e26b6 100644 |
--- a/src/compiler/s390/instruction-selector-s390.cc |
+++ b/src/compiler/s390/instruction-selector-s390.cc |
@@ -1104,7 +1104,7 @@ void InstructionSelector::VisitInt64Mul(Node* node) { |
Node* right = m.right().node(); |
if (g.CanBeImmediate(right, kInt32Imm) && |
base::bits::IsPowerOfTwo64(g.GetImmediate(right))) { |
- int power = 31 - base::bits::CountLeadingZeros64(g.GetImmediate(right)); |
+ int power = 63 - base::bits::CountLeadingZeros64(g.GetImmediate(right)); |
Emit(kS390_ShiftLeft64, g.DefineSameAsFirst(node), g.UseRegister(left), |
g.UseImmediate(power)); |
return; |