Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2011 00:43:46 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Martin Matuska <mm@freebsd.org>, current@freebsd.org, gerald@freebsd.org
Subject:   Re: [TESTING] ssse3 backport from gcc 4.3
Message-ID:  <4D7810B2.4090207@FreeBSD.org>
In-Reply-To: <20110309211820.GA46520@zim.MIT.EDU>
References:  <4D7799FD.9040008@FreeBSD.org> <20110309211820.GA46520@zim.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Clang has a similar mechanism, -mno-sse disables all 'higher' SSE
variants too.



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