From 1afb0ccb40ffb0396d7fe8eb1001207c4d051665 Mon Sep 17 00:00:00 2001 From: Matheus Almeida Date: Wed, 30 Apr 2014 16:53:49 +0000 Subject: [mips] Add instruction alias (negu). Summary: negu $reg is equivalent to negu $reg, $reg. Reviewers: dsanders Reviewed By: dsanders Differential Revision: http://reviews.llvm.org/D3510 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207673 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/MipsInstrInfo.td | 2 ++ test/MC/Mips/mips1/valid.s | 2 ++ test/MC/Mips/mips2/valid.s | 2 ++ test/MC/Mips/mips3/valid.s | 2 ++ test/MC/Mips/mips32/valid.s | 2 ++ test/MC/Mips/mips32r2/valid.s | 2 ++ test/MC/Mips/mips4/valid.s | 2 ++ test/MC/Mips/mips5/valid.s | 2 ++ test/MC/Mips/mips64/valid.s | 2 ++ test/MC/Mips/mips64r2/valid.s | 2 ++ 10 files changed, 20 insertions(+) diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td index 62cb7c3359..a1c49c0ccf 100644 --- a/lib/Target/Mips/MipsInstrInfo.td +++ b/lib/Target/Mips/MipsInstrInfo.td @@ -1215,6 +1215,8 @@ def : InstAlias<"not $rt, $rs", (NOR GPR32Opnd:$rt, GPR32Opnd:$rs, ZERO), 0>; def : InstAlias<"neg $rt, $rs", (SUB GPR32Opnd:$rt, ZERO, GPR32Opnd:$rs), 1>; +def : InstAlias<"negu $rt", + (SUBu GPR32Opnd:$rt, ZERO, GPR32Opnd:$rt), 0>; def : InstAlias<"negu $rt, $rs", (SUBu GPR32Opnd:$rt, ZERO, GPR32Opnd:$rs), 1>; def : InstAlias<"slt $rs, $rt, $imm", diff --git a/test/MC/Mips/mips1/valid.s b/test/MC/Mips/mips1/valid.s index 33968f9fe9..baf698cba5 100644 --- a/test/MC/Mips/mips1/valid.s +++ b/test/MC/Mips/mips1/valid.s @@ -58,6 +58,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips2/valid.s b/test/MC/Mips/mips2/valid.s index 7772a001a3..112b1ac385 100644 --- a/test/MC/Mips/mips2/valid.s +++ b/test/MC/Mips/mips2/valid.s @@ -65,6 +65,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips3/valid.s b/test/MC/Mips/mips3/valid.s index ba37441ee6..34f1919fc6 100644 --- a/test/MC/Mips/mips3/valid.s +++ b/test/MC/Mips/mips3/valid.s @@ -112,6 +112,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips32/valid.s b/test/MC/Mips/mips32/valid.s index e13edc1d7e..52e5c2610e 100644 --- a/test/MC/Mips/mips32/valid.s +++ b/test/MC/Mips/mips32/valid.s @@ -89,6 +89,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips32r2/valid.s b/test/MC/Mips/mips32r2/valid.s index b30485c881..31c8174e40 100644 --- a/test/MC/Mips/mips32r2/valid.s +++ b/test/MC/Mips/mips32r2/valid.s @@ -102,6 +102,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nmadd.d $f18,$f9,$f14,$f19 diff --git a/test/MC/Mips/mips4/valid.s b/test/MC/Mips/mips4/valid.s index 2b002b9179..054e0e2271 100644 --- a/test/MC/Mips/mips4/valid.s +++ b/test/MC/Mips/mips4/valid.s @@ -127,6 +127,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips5/valid.s b/test/MC/Mips/mips5/valid.s index a65514b769..cbf7513407 100644 --- a/test/MC/Mips/mips5/valid.s +++ b/test/MC/Mips/mips5/valid.s @@ -127,6 +127,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips64/valid.s b/test/MC/Mips/mips64/valid.s index 04c2f5b6f9..7220386835 100644 --- a/test/MC/Mips/mips64/valid.s +++ b/test/MC/Mips/mips64/valid.s @@ -140,6 +140,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nop diff --git a/test/MC/Mips/mips64r2/valid.s b/test/MC/Mips/mips64r2/valid.s index 99f19f68a4..f64f42bb36 100644 --- a/test/MC/Mips/mips64r2/valid.s +++ b/test/MC/Mips/mips64r2/valid.s @@ -154,6 +154,8 @@ mult $sp,$v0 multu $gp,$k0 multu $t1,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] neg.d $f27,$f18 neg.s $f1,$f15 nmadd.s $f0,$f5,$f25,$f12 -- cgit v1.2.3