svn commit: r271025 - head/contrib/llvm/lib/Target/ARM

Sean Bruno sbruno at FreeBSD.org
Wed Sep 3 14:16:51 UTC 2014


Author: sbruno
Date: Wed Sep  3 14:16:50 2014
New Revision: 271025
URL: http://svnweb.freebsd.org/changeset/base/271025

Log:
  MFV:  Only emit movw on ARMv6T2
  
  Building for the FreeBSD default target ARMv6 was emitting movw ASM on certain
  test cases (found building qmake4/5 for ARM).  Don't do that, moreover, the AS
  in base doesn't understand this instruction for this target.  One would need
  to use --integrated-as to get this to build if desired.
  
  http://llvm.org/viewvc/llvm-project?view=revision&revision=216989
  
  Submitted by:	ian
  Reviewed by:	dim
  Obtained from:	llvm.org
  MFC after:	2 days

Modified:
  head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td

Modified: head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
==============================================================================
--- head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td	Wed Sep  3 14:06:12 2014	(r271024)
+++ head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td	Wed Sep  3 14:16:50 2014	(r271025)
@@ -3248,7 +3248,8 @@ def : ARMPat<(ARMaddc GPR:$src, imm0_655
 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


More information about the svn-src-all mailing list