summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
blob: 30577e7d5658a6ef22eddf00d06daedf568d8ecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Index: lib/Target/ARM/ARMInstrInfo.td
===================================================================
--- lib/Target/ARM/ARMInstrInfo.td	(revision 271024)
+++ lib/Target/ARM/ARMInstrInfo.td	(revision 271026)
@@ -3248,7 +3248,8 @@
 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