[llvm] r204611 - [mips] Allow dsubu to take an immediate as an alias for dsubiu.

Daniel Sanders daniel.sanders at imgtec.com
Mon Mar 24 08:38:00 PDT 2014


Author: dsanders
Date: Mon Mar 24 10:38:00 2014
New Revision: 204611

URL: http://llvm.org/viewvc/llvm-project?rev=204611&view=rev
Log:
[mips] Allow dsubu to take an immediate as an alias for dsubiu.

Summary:
Patch by David Chisnall
His work was sponsored by: DARPA, AFRL

Differential Revision: http://llvm-reviews.chandlerc.com/D3155

Modified:
    llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td
    llvm/trunk/test/MC/Mips/mips64-alu-instructions.s

Modified: llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td?rev=204611&r1=204610&r2=204611&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td (original)
+++ llvm/trunk/lib/Target/Mips/Mips64InstrInfo.td Mon Mar 24 10:38:00 2014
@@ -403,6 +403,9 @@ def DSUBi : MipsInst<(outs GPR64Opnd: $r
 def DSUBiu : MipsInst<(outs GPR64Opnd: $rt), (ins GPR64Opnd: $rs, simm16_64: $imm),
                     "ssubu\t$rt, $rs, $imm", [], II_DSUB, Pseudo>;
 }
+def : InstAlias<"dsubu $rt, $rs, $imm",
+                (DSUBiu GPR64Opnd:$rt, GPR64Opnd:$rs, simm16_64: $imm),
+                0>;
 def : InstAlias<"sub $rs, $imm",
                 (SUBi GPR32Opnd:$rs, GPR32Opnd:$rs, simm16:$imm),
                 0>;

Modified: llvm/trunk/test/MC/Mips/mips64-alu-instructions.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64-alu-instructions.s?rev=204611&r1=204610&r2=204611&view=diff
==============================================================================
--- llvm/trunk/test/MC/Mips/mips64-alu-instructions.s (original)
+++ llvm/trunk/test/MC/Mips/mips64-alu-instructions.s Mon Mar 24 10:38:00 2014
@@ -83,6 +83,7 @@
 # CHECK:  multu  $3, $5          # encoding: [0x19,0x00,0x65,0x00]
 # CHECK:  dsub    $9, $6, $7     # encoding: [0x2e,0x48,0xc7,0x00]
 # CHECK:  dsubu   $4, $3, $5     # encoding: [0x2f,0x20,0x65,0x00]
+# CHECK:  daddiu  $9, $6, -17767 # encoding: [0x99,0xba,0xc9,0x64]
 # CHECK:  move    $7, $8         # encoding: [0x2d,0x38,0x00,0x01]
 # CHECK:  .set    push
 # CHECK:  .set    mips32r2
@@ -107,6 +108,7 @@
     multu  $3,$5
     dsub    $9,$6,$7
     dsubu   $4,$3,$5
+    dsubu   $9,$6,17767
     move   $7,$8
     rdhwr   $5, $29
 





More information about the llvm-commits mailing list