]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
MFC r271025, r271029, r271030 (by sbruno):
[FreeBSD/stable/10.git] / contrib / llvm / patches / patch-r271024-llvm-r216989-fix-movm-armv6.diff
1 Index: lib/Target/ARM/ARMInstrInfo.td
2 ===================================================================
3 --- lib/Target/ARM/ARMInstrInfo.td      (revision 271024)
4 +++ lib/Target/ARM/ARMInstrInfo.td      (revision 271026)
5 @@ -3248,7 +3248,8 @@
6  def : ARMPat<(ARMadde GPR:$src, so_imm_not:$imm, CPSR),
7               (SBCri   GPR:$src, so_imm_not:$imm)>;
8  def : ARMPat<(ARMadde GPR:$src, imm0_65535_neg:$imm, CPSR),
9 -             (SBCrr   GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>;
10 +             (SBCrr   GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>,
11 +             Requires<[IsARM, HasV6T2]>;
12  
13  // Note: These are implemented in C++ code, because they have to generate
14  // ADD/SUBrs instructions, which use a complex pattern that a xform function