diff options
| author | Renato Golin <renato.golin@linaro.org> | 2014-09-02 22:45:13 +0000 |
|---|---|---|
| committer | Renato Golin <renato.golin@linaro.org> | 2014-09-02 22:45:13 +0000 |
| commit | e07a22ac14d4a6c6e392ddc9e080ae98e0ec289d (patch) | |
| tree | 92340e0c3d1cff08794b3c962cf4dfdc2357597c /llvm/lib | |
| parent | 196e323c016d875cc6e53979008450480b1a0894 (diff) | |
| download | bcm5719-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.td | 3 |
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 |

