summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2014-02-11 20:48:39 +0000
committerJim Grosbach <grosbach@apple.com>2014-02-11 20:48:39 +0000
commit8bfcb735fa2d5d35c7aaf2811ab63d3c6eaf0d1a (patch)
tree80e09b6f8d1992d2116370d2538e560ab0518306 /llvm/lib/Target
parent41f4345df06ee5924128555e65a051d3d93f0fb1 (diff)
downloadbcm5719-llvm-8bfcb735fa2d5d35c7aaf2811ab63d3c6eaf0d1a.tar.gz
bcm5719-llvm-8bfcb735fa2d5d35c7aaf2811ab63d3c6eaf0d1a.zip
ARM: Thumb2 LDR(literal) can target SP.
Fix a slightly overzealous destination register restriction for the 'without .w' alias. Add some explicit testcases. rdar://16033140 llvm-svn: 201173
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrThumb2.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td
index dd53ff6ccf0..e0bed42051d 100644
--- a/llvm/lib/Target/ARM/ARMInstrThumb2.td
+++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td
@@ -4365,7 +4365,7 @@ def : t2InstAlias<"ldrsh${p} $Rt, $addr",
(t2LDRSHs rGPR:$Rt, t2addrmode_so_reg:$addr, pred:$p)>;
def : t2InstAlias<"ldr${p} $Rt, $addr",
- (t2LDRpci rGPR:$Rt, t2ldrlabel:$addr, pred:$p)>;
+ (t2LDRpci GPRnopc:$Rt, t2ldrlabel:$addr, pred:$p)>;
def : t2InstAlias<"ldrb${p} $Rt, $addr",
(t2LDRBpci rGPR:$Rt, t2ldrlabel:$addr, pred:$p)>;
def : t2InstAlias<"ldrh${p} $Rt, $addr",
OpenPOWER on IntegriCloud