From owner-freebsd-current@FreeBSD.ORG Thu Mar 10 23:28:39 2011 Return-Path: Delivered-To: current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1233) id A25A81065670; Thu, 10 Mar 2011 23:28:39 +0000 (UTC) Date: Thu, 10 Mar 2011 23:28:39 +0000 From: Alexander Best To: Dimitry Andric Message-ID: <20110310232839.GA5378@freebsd.org> References: <4D7799FD.9040008@FreeBSD.org> <20110309211820.GA46520@zim.MIT.EDU> <4D7810B2.4090207@FreeBSD.org> <20110310082740.GA74075@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110310082740.GA74075@freebsd.org> Cc: gerald@freebsd.org, Martin Matuska , current@freebsd.org Subject: Re: [TESTING] ssse3 backport from gcc 4.3 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2011 23:28:39 -0000 On Thu Mar 10 11, Alexander Best wrote: > On Thu Mar 10 11, Dimitry Andric wrote: > > On 2011-03-09 22:18, David Schultz wrote: > > >The proliferation of -mno-sse -mno-sse2 -mno-sse3 options in the > > >makefiles is probably not needed: I'm pretty sure -mno-sse implies > > >the other two, unless -msse3 is specified explicitly. > > > > Indeed, contrib/gcc/config/i386/i386.c has: > > > > static bool > > ix86_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED, int > > value) > > { > > ... > > case OPT_msse: > > if (!value) > > { > > target_flags &= ~(MASK_SSE2 | MASK_SSE3); > > target_flags_explicit |= MASK_SSE2 | MASK_SSE3; > > } > > return true; > > > > E.g -mno-sse disables SSE2 and SSE3, unless you explicitly add -msse2 or > > -msse3 options. In Martin's patch, this fragment uses MASK_SSSE3 too. > > +1 for removing -mno-sse2, -mno-sse3 and -mno-ssse3 throughout the source > tree. > > ...also -mfpmath=387 is still present for amd64 and i don't think it's > necessary. with -mno-sse i don't think -mfpmath=sse remains the default for > amd64. i've compiled two kernels. one with the standard -mno-sse* options in kernel.mk and one without -mno-sse2, -mno-sse3, -mno-ssse3 and -mfpmath=387. CPUYTE ?= core2. diffing showed no major differences for gcc and clang as compiler cheers. alex > > > > > Clang has a similar mechanism, -mno-sse disables all 'higher' SSE > > variants too. > > -- > a13x -- a13x