diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MipsInstructionSelector.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MipsInstructionSelector.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsInstructionSelector.cpp b/llvm/lib/Target/Mips/MipsInstructionSelector.cpp index f8fc7cb0898..9952b5c4588 100644 --- a/llvm/lib/Target/Mips/MipsInstructionSelector.cpp +++ b/llvm/lib/Target/Mips/MipsInstructionSelector.cpp @@ -239,7 +239,9 @@ bool MipsInstructionSelector::select(MachineInstr &I) { return true; } - if (I.getOpcode() == Mips::G_MUL) { + if (I.getOpcode() == Mips::G_MUL && + (RBI.getRegBank(I.getOperand(0).getReg(), MRI, TRI)->getID() == + Mips::GPRBRegBankID)) { MachineInstr *Mul = BuildMI(MBB, I, I.getDebugLoc(), TII.get(Mips::MUL)) .add(I.getOperand(0)) .add(I.getOperand(1)) |