Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Feb 2015 21:19:04 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r278709 - in stable: 10/contrib/llvm/lib/Target/ARM 10/contrib/llvm/patches 9/contrib/llvm/lib/Target/ARM 9/contrib/llvm/patches
Message-ID:  <201502132119.t1DLJ4Vg098490@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Fri Feb 13 21:19:02 2015
New Revision: 278709
URL: https://svnweb.freebsd.org/changeset/base/278709

Log:
  MFC r271025, r271029, r271030 (by sbruno):
  
  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

Added:
  stable/10/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
     - copied unchanged from r271029, head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
Modified:
  stable/10/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
Directory Properties:
  stable/10/   (props changed)

Changes in other areas also in this revision:
Added:
  stable/9/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
     - copied unchanged from r271029, head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
Modified:
  stable/9/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
Directory Properties:
  stable/9/contrib/llvm/   (props changed)

Modified: stable/10/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
==============================================================================
--- stable/10/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td	Fri Feb 13 20:58:10 2015	(r278708)
+++ stable/10/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td	Fri Feb 13 21:19:02 2015	(r278709)
@@ -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

Copied: stable/10/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff (from r271029, head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/10/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff	Fri Feb 13 21:19:02 2015	(r278709, copy of r271029, head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff)
@@ -0,0 +1,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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502132119.t1DLJ4Vg098490>