summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsInstrInfo.td
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-09-20 21:22:28 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-09-20 21:22:28 +0000
commit6b2448326f8faa9149616a541d4c0d72b9d526e6 (patch)
tree6d8d3e6cf35939baa5f018166a898c03163425ac /lib/Target/Mips/MipsInstrInfo.td
parent074e489dbc0779465cd71a2e10643c156ae5d6d7 (diff)
downloadllvm-6b2448326f8faa9149616a541d4c0d72b9d526e6.tar.gz
llvm-6b2448326f8faa9149616a541d4c0d72b9d526e6.tar.bz2
llvm-6b2448326f8faa9149616a541d4c0d72b9d526e6.tar.xz
[mips] MUL should clobber HI0 and LO0.
I cannot think of a test case that reliably triggers this bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191109 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsInstrInfo.td')
-rw-r--r--lib/Target/Mips/MipsInstrInfo.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td
index 4795969175..be6d7532a6 100644
--- a/lib/Target/Mips/MipsInstrInfo.td
+++ b/lib/Target/Mips/MipsInstrInfo.td
@@ -878,6 +878,7 @@ def ADDu : MMRel, ArithLogicR<"addu", GPR32Opnd, 1, IIArith, add>,
ADD_FM<0, 0x21>;
def SUBu : MMRel, ArithLogicR<"subu", GPR32Opnd, 0, IIArith, sub>,
ADD_FM<0, 0x23>;
+let Defs = [HI0, LO0] in
def MUL : MMRel, ArithLogicR<"mul", GPR32Opnd, 1, IIImul, mul>,
ADD_FM<0x1c, 2>;
def ADD : MMRel, ArithLogicR<"add", GPR32Opnd>, ADD_FM<0, 0x20>;