From owner-svn-src-head@FreeBSD.ORG Thu Mar 17 09:44:33 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0ECD1065675; Thu, 17 Mar 2011 09:44:33 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 91ADD8FC14; Thu, 17 Mar 2011 09:44:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p2H9iXJb020846; Thu, 17 Mar 2011 09:44:33 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p2H9iXOT020844; Thu, 17 Mar 2011 09:44:33 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201103170944.p2H9iXOT020844@svn.freebsd.org> From: Martin Matuska Date: Thu, 17 Mar 2011 09:44:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r219711 - head/contrib/gcc/config/i386 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Mar 2011 09:44:33 -0000 Author: mm Date: Thu Mar 17 09:44:33 2011 New Revision: 219711 URL: http://svn.freebsd.org/changeset/base/219711 Log: Backport missing tunings for -march=core2: - enable extra 80387 mathematical constants (ext_80387_constants) [1] - enable compare and exchange 16 bytes (cmpxchg16b) [2] Verified against llvm-gcc (and apple gcc) Obtained from: gcc-4.3 (ref. svn revs. 119260 [1], 121140 [2]; GPLv2) MFC after: 2 weeks Modified: head/contrib/gcc/config/i386/i386.c Modified: head/contrib/gcc/config/i386/i386.c ============================================================================== --- head/contrib/gcc/config/i386/i386.c Thu Mar 17 04:40:37 2011 (r219710) +++ head/contrib/gcc/config/i386/i386.c Thu Mar 17 09:44:33 2011 (r219711) @@ -926,7 +926,7 @@ const int x86_use_incdec = ~(m_PENT4 | m integer data in xmm registers. Which results in pretty abysmal code. */ const int x86_inter_unit_moves = 0 /* ~(m_ATHLON_K8) */; -const int x86_ext_80387_constants = m_K6_GEODE | m_ATHLON | m_PENT4 | m_NOCONA | m_PPRO | m_GENERIC32; +const int x86_ext_80387_constants = m_K6_GEODE | m_ATHLON | m_PENT4 | m_NOCONA | m_CORE2 | m_PPRO | m_GENERIC32; /* Some CPU cores are not able to predict more than 4 branch instructions in the 16 byte window. */ const int x86_four_jump_limit = m_PPRO | m_ATHLON_K8 | m_PENT4 | m_NOCONA | m_CORE2 | m_GENERIC; @@ -937,7 +937,7 @@ const int x86_cmpxchg = ~m_386; /* Compare and exchange 8 bytes was added for pentium. */ const int x86_cmpxchg8b = ~(m_386 | m_486); /* Compare and exchange 16 bytes was added for nocona. */ -const int x86_cmpxchg16b = m_NOCONA; +const int x86_cmpxchg16b = m_NOCONA | m_CORE2; /* Exchange and add was added for 80486. */ const int x86_xadd = ~m_386; const int x86_pad_returns = m_ATHLON_K8 | m_CORE2 | m_GENERIC;