[PATCH] D16454: [mips][microMIPS] Add CodeGen support for ADD, ADDIU*, ADDU* and DADD* instructions

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 08:06:35 PST 2016


dsanders added inline comments.

================
Comment at: lib/Target/Mips/MicroMips64r6InstrInfo.td:185-195
@@ +184,12 @@
+def : MipsInstAlias<"daddu $rs, $rt, $imm",
+                    (DADDIU_MM64R6 GPR64Opnd:$rs, GPR64Opnd:$rt,
+                     simm16_64:$imm), 0>, ISA_MICROMIPS64R6;
+def : MipsInstAlias<"daddu $rs, $imm",
+                    (DADDIU_MM64R6 GPR64Opnd:$rs, GPR64Opnd:$rs,
+                     simm16_64:$imm), 0>, ISA_MICROMIPS64R6;
+def : MipsInstAlias<"dsubu $rt, $rs, $imm",
+                    (DADDIU_MM64R6 GPR64Opnd:$rt, GPR64Opnd:$rs,
+                     InvertedImOperand64:$imm), 0>, ISA_MICROMIPS64R6;
+def : MipsInstAlias<"dsubu $rs, $imm",
+                    (DADDIU_MM64R6 GPR64Opnd:$rs, GPR64Opnd:$rs,
+                     InvertedImOperand64:$imm), 0>, ISA_MICROMIPS64R6;
----------------
Indentation on the $imm operands.

================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:542-545
@@ -534,8 +541,6 @@
               (DSUBu GPR64:$lhs, GPR64:$rhs)>;
-let AdditionalPredicates = [NotDSP] in {
-  def : MipsPat<(addc GPR64:$lhs, GPR64:$rhs),
-                (DADDu GPR64:$lhs, GPR64:$rhs)>;
-  def : MipsPat<(addc GPR64:$lhs, immSExt16:$imm),
-                (DADDiu GPR64:$lhs, imm:$imm)>;
-}
+def : MipsPat<(addc GPR64:$lhs, GPR64:$rhs),
+              (DADDu GPR64:$lhs, GPR64:$rhs)>, ISA_NOT_MICROMIPS_DSP;
+def : MipsPat<(addc GPR64:$lhs, immSExt16:$imm),
+              (DADDiu GPR64:$lhs, imm:$imm)>, ISA_NOT_MICROMIPS_DSP;
 
----------------
These used to be disabled for any DSP, not just microMIPS DSP. Is there a reason for the change?


http://reviews.llvm.org/D16454





More information about the llvm-commits mailing list