summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsInstrInfo.td
diff options
context:
space:
mode:
authorJack Carter <jack.carter@imgtec.com>2013-03-28 23:02:21 +0000
committerJack Carter <jack.carter@imgtec.com>2013-03-28 23:02:21 +0000
commit94fcfaf3a9f1179edb3b8053fe7b23eab6fb83bb (patch)
tree5460432b5babe355c274511b1ffc0820390113d7 /lib/Target/Mips/MipsInstrInfo.td
parentbad24f757d430ed9ef5348da58aa20d03409d6a0 (diff)
downloadllvm-94fcfaf3a9f1179edb3b8053fe7b23eab6fb83bb.tar.gz
llvm-94fcfaf3a9f1179edb3b8053fe7b23eab6fb83bb.tar.bz2
llvm-94fcfaf3a9f1179edb3b8053fe7b23eab6fb83bb.tar.xz
[Mips Assembler] Add alias definitions for jal
Mips assembler allows following to be used as aliased instructions: jal $rs for jalr $rs jal $rd,$rd for jalr $rd,$rs This patch provides alias definitions in td files and test cases to show the usage. Contributer: Vladimir Medic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178304 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsInstrInfo.td')
-rw-r--r--lib/Target/Mips/MipsInstrInfo.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td
index 022987f12e..1c523d5bd8 100644
--- a/lib/Target/Mips/MipsInstrInfo.td
+++ b/lib/Target/Mips/MipsInstrInfo.td
@@ -1001,6 +1001,9 @@ def : InstAlias<"and $rs, $rt, $imm",
def : InstAlias<"j $rs", (JR CPURegs:$rs), 0>,
Requires<[NotMips64]>;
def : InstAlias<"jalr $rs", (JALR RA, CPURegs:$rs)>, Requires<[NotMips64]>;
+def : InstAlias<"jal $rs", (JALR RA, CPURegs:$rs), 0>, Requires<[NotMips64]>;
+def : InstAlias<"jal $rd,$rs", (JALR CPURegs:$rd, CPURegs:$rs), 0>,
+ Requires<[NotMips64]>;
def : InstAlias<"not $rt, $rs",
(NOR CPURegsOpnd:$rt, CPURegsOpnd:$rs, ZERO), 1>;
def : InstAlias<"neg $rt, $rs",