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

Alexey Dokuchaev danfe at freebsd.org
Thu Oct 24 15:34:33 UTC 2019


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.
> 
> 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.

./danfe


More information about the svn-src-all mailing list