svn commit: r353936 - head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch

Warner Losh imp at bsdimp.com
Thu Oct 24 15:59:00 UTC 2019


On Thu, Oct 24, 2019 at 9:34 AM Alexey Dokuchaev <danfe at freebsd.org> wrote:

> On Thu, Oct 24, 2019 at 09:14:07AM -0600, Warner Losh wrote:
> > On Thu, Oct 24, 2019 at 2:26 AM Alexey Dokuchaev <danfe at freebsd.org>
> wrote:
> > > On Wed, Oct 23, 2019 at 04:57:12PM +0000, Dimitry Andric wrote:
> > > > New Revision: 353936
> > > > URL: https://svnweb.freebsd.org/changeset/base/353936
> > > >
> > > > Log:
> > > >   Bump clang's default target CPU for the i386 architecture (aka
> > > >   "x86") to i686, as per the discussion on the freebsd-arch mailing
> > > >   list.
> > >
> > > Why i686, not i586?  i486 lacking 64-bit atomics is a sound and valid
> > > reason, but I don't understand why i586 wasn't chosen, and quick review
> > > of that -arch thread did not help.
> >
> > There were several notions at play here. First, the rest of the i386
> > ecosystem has defaulted to i686 for a long time. [...]
> >
> > i686 support by default allows better code generation and increased
> > performance. The biggest thing being using CMOVxx instructions to avoid
> > a pipeline miss due to branching, though there's likely others.
>

The other reason to do this on i386 is that we've built lib32 with i686
forever on amd64, and this makes them match. I'd forgotten that this was
mentioned in early discussions and was just reminded about that in IRC.


> > By moving to i686 by default, we have only one bump instead of two. [...]
> >
> > So that's where we are: a mix of technical and political reasons were why
> > we bumped up to i686 by default
>
> Understood.  I appreciate long and elaborate reply Warner.
>
> > Chances are this will be the last minimum bump as well before i386 is
> > removed from the tree as irrelevant (some years from now, but the day
> > will come).
>
> I hope the day never comes, as I don't want to be forced from FreeBSD to
> something else on vast majority of my hardware.
>

I hope so too. I know this change represents some hassle for  some people,
but represents an improvement for others.

Warner


More information about the svn-src-all mailing list