summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Mips/Mips64InstrInfo.td24
-rw-r--r--llvm/lib/Target/Mips/MipsInstrInfo.td1
2 files changed, 1 insertions, 24 deletions
diff --git a/llvm/lib/Target/Mips/Mips64InstrInfo.td b/llvm/lib/Target/Mips/Mips64InstrInfo.td
index 43ffee2c9ff..e44a52e517f 100644
--- a/llvm/lib/Target/Mips/Mips64InstrInfo.td
+++ b/llvm/lib/Target/Mips/Mips64InstrInfo.td
@@ -363,36 +363,12 @@ def : InstAlias<"daddu $rs, $imm",
def : InstAlias<"dadd $rs, $imm",
(DADDi GPR64Opnd:$rs, GPR64Opnd:$rs, simm16_64:$imm),
0>;
-def : InstAlias<"dadd $rs, $rt",
- (DADD GPR64Opnd:$rs, GPR64Opnd:$rs, GPR64Opnd:$rt),
- 0>;
-def : InstAlias<"daddu $rs, $rt",
- (DADDu GPR64Opnd:$rs, GPR64Opnd:$rs, GPR64Opnd:$rt),
- 0>;
-def : InstAlias<"dsub $rs, $rt",
- (DSUB GPR64Opnd:$rs, GPR64Opnd:$rs, GPR64Opnd:$rt),
- 0>;
-def : InstAlias<"dsubu $rs, $rt",
- (DSUBu GPR64Opnd:$rs, GPR64Opnd:$rs, GPR64Opnd:$rt),
- 0>;
def : InstAlias<"add $rs, $imm",
(ADDi GPR32Opnd:$rs, GPR32Opnd:$rs, simm16:$imm),
0>;
def : InstAlias<"addu $rs, $imm",
(ADDiu GPR32Opnd:$rs, GPR32Opnd:$rs, simm16:$imm),
0>;
-def : InstAlias<"add $rs, $rt",
- (ADD GPR32Opnd:$rs, GPR32Opnd:$rs, GPR32Opnd:$rt),
- 0>;
-def : InstAlias<"addu $rs, $rt",
- (ADDu GPR32Opnd:$rs, GPR32Opnd:$rs, GPR32Opnd:$rt),
- 0>;
-def : InstAlias<"sub $rs, $rt",
- (SUB GPR32Opnd:$rs, GPR32Opnd:$rs, GPR32Opnd:$rt),
- 0>;
-def : InstAlias<"subu $rs, $rt",
- (SUBu GPR32Opnd:$rs, GPR32Opnd:$rs, GPR32Opnd:$rt),
- 0>;
let isPseudo=1, usesCustomInserter=1, isCodeGenOnly=1 in {
def SUBi : MipsInst<(outs GPR32Opnd: $rt), (ins GPR32Opnd: $rs, simm16: $imm),
"sub\t$rt, $rs, $imm", [], II_DSUB, Pseudo>;
diff --git a/llvm/lib/Target/Mips/MipsInstrInfo.td b/llvm/lib/Target/Mips/MipsInstrInfo.td
index ed0b69eb094..1584d296709 100644
--- a/llvm/lib/Target/Mips/MipsInstrInfo.td
+++ b/llvm/lib/Target/Mips/MipsInstrInfo.td
@@ -426,6 +426,7 @@ class ArithLogicR<string opstr, RegisterOperand RO, bit isComm = 0,
[(set RO:$rd, (OpNode RO:$rs, RO:$rt))], Itin, FrmR, opstr> {
let isCommutable = isComm;
let isReMaterializable = 1;
+ let TwoOperandAliasConstraint = "$rd = $rs";
}
// Arithmetic and logical instructions with 2 register operands.
OpenPOWER on IntegriCloud