[mips] MUL should clobber HI0 and LO0.
authorAkira Hatanaka <ahatanaka@mips.com>
Fri, 20 Sep 2013 21:22:28 +0000 (21:22 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Fri, 20 Sep 2013 21:22:28 +0000 (21:22 +0000)
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

lib/Target/Mips/MipsInstrInfo.td

index 4795969175af1b3f184c4cf5338e1b9e499e1e9d..be6d7532a6caf6968c4e270464943448babd91c1 100644 (file)
@@ -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>;