From owner-svn-src-stable-10@FreeBSD.ORG Fri Feb 13 21:19:04 2015 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9AD76F74; Fri, 13 Feb 2015 21:19:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8399CC0D; Fri, 13 Feb 2015 21:19:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1DLJ4Dn098492; Fri, 13 Feb 2015 21:19:04 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1DLJ4Vg098490; Fri, 13 Feb 2015 21:19:04 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502132119.t1DLJ4Vg098490@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 13 Feb 2015 21:19:04 +0000 (UTC) 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 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Feb 2015 21:19:04 -0000 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