summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMInstrThumb2.td
diff options
context:
space:
mode:
authorTilmann Scheller <tilmann.scheller@googlemail.com>2013-07-19 16:18:56 +0000
committerTilmann Scheller <tilmann.scheller@googlemail.com>2013-07-19 16:18:56 +0000
commitcae5d5ea658e05091e66b742b5834f1896ff2f5d (patch)
treee9138a251e5d49a88863d981004eecfa3e250769 /lib/Target/ARM/ARMInstrThumb2.td
parent93c2125c3979bcb4656daf3c2fb5748fb3973e1a (diff)
downloadllvm-cae5d5ea658e05091e66b742b5834f1896ff2f5d.tar.gz
llvm-cae5d5ea658e05091e66b742b5834f1896ff2f5d.tar.bz2
llvm-cae5d5ea658e05091e66b742b5834f1896ff2f5d.tar.xz
ARM: Add instruction aliases for the Thumb2 PLD/PLDW (literal) alternate form.
See A8.8.127 in ARM DDI 0406C.b. Related to <rdar://problem/14403733>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186682 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMInstrThumb2.td')
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index f014e02de2..fdbf5ae733 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -4428,7 +4428,12 @@ def : t2InstAlias<"ldrsh${p}.w $Rt, $addr",
def : t2InstAlias<"add${p} $Rd, pc, $imm",
(t2ADR rGPR:$Rd, imm0_4095:$imm, pred:$p)>;
-// PLI with alternate literal form.
+// PLD/PLDW/PLI with alternate literal form.
+def : t2InstAlias<"pld${p} $addr",
+ (t2PLDpci t2ldr_pcrel_imm12:$addr, pred:$p)>;
+def : InstAlias<"pldw${p} $addr",
+ (t2PLDWpci t2ldr_pcrel_imm12:$addr, pred:$p)>,
+ Requires<[IsThumb2,HasV7,HasMP]>;
def : InstAlias<"pli${p} $addr",
(t2PLIpci t2ldr_pcrel_imm12:$addr, pred:$p)>,
Requires<[IsThumb2,HasV7]>;