summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2014-09-02 22:45:13 +0000
committerRenato Golin <renato.golin@linaro.org>2014-09-02 22:45:13 +0000
commite07a22ac14d4a6c6e392ddc9e080ae98e0ec289d (patch)
tree92340e0c3d1cff08794b3c962cf4dfdc2357597c /llvm/lib
parent196e323c016d875cc6e53979008450480b1a0894 (diff)
downloadbcm5719-llvm-e07a22ac14d4a6c6e392ddc9e080ae98e0ec289d.tar.gz
bcm5719-llvm-e07a22ac14d4a6c6e392ddc9e080ae98e0ec289d.zip
Only emit movw on ARMv6T2+
Fix PR18364. Patch by Dimitry Andric. llvm-svn: 216989
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index 07f608c1c5b..1c2f1900bcb 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -3426,7 +3426,8 @@ def : ARMPat<(ARMaddc GPR:$src, imm0_65535_neg:$imm),
def : ARMPat<(ARMadde GPR:$src, so_imm_not:$imm, CPSR),
(SBCri GPR:$src, so_imm_not:$imm)>;
def : ARMPat<(ARMadde GPR:$src, imm0_65535_neg:$imm, CPSR),
- (SBCrr GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>;
+ (SBCrr GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>,
+ Requires<[IsARM, HasV6T2]>;
// Note: These are implemented in C++ code, because they have to generate
// ADD/SUBrs instructions, which use a complex pattern that a xform function
OpenPOWER on IntegriCloud