Index: src/s390/macro-assembler-s390.cc |
diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc |
index 51085b036b2491b3b381b85769a61bb8a9f414f4..8b708de734cfa5e96104a6c71760f051fd81bb9e 100644 |
--- a/src/s390/macro-assembler-s390.cc |
+++ b/src/s390/macro-assembler-s390.cc |
@@ -3697,6 +3697,36 @@ void MacroAssembler::mov(Register dst, const Operand& src) { |
#endif |
} |
+void MacroAssembler::Mul32(Register dst, const MemOperand& src1) { |
+ if (is_uint12(src1.offset())) { |
+ ms(dst, src1); |
+ } else if (is_int20(src1.offset())) { |
+ msy(dst, src1); |
+ } else { |
+ UNIMPLEMENTED(); |
+ } |
+} |
+ |
+void MacroAssembler::Mul32(Register dst, Register src1) { msr(dst, src1); } |
+ |
+void MacroAssembler::Mul32(Register dst, const Operand& src1) { |
+ msfi(dst, src1); |
+} |
+ |
+void MacroAssembler::Mul64(Register dst, const MemOperand& src1) { |
+ if (is_int20(src1.offset())) { |
+ msg(dst, src1); |
+ } else { |
+ UNIMPLEMENTED(); |
+ } |
+} |
+ |
+void MacroAssembler::Mul64(Register dst, Register src1) { msgr(dst, src1); } |
+ |
+void MacroAssembler::Mul64(Register dst, const Operand& src1) { |
+ msgfi(dst, src1); |
+} |
+ |
void MacroAssembler::Mul(Register dst, Register src1, Register src2) { |
if (dst.is(src2)) { |
MulP(dst, src1); |