| 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);
|
|
|