Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Feb 2013 22:18:57 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r247166 - head/contrib/llvm/tools/clang/lib/Driver
Message-ID:  <20130223201857.GD2454@kib.kiev.ua>
In-Reply-To: <5128AED6.2020906@FreeBSD.org>
References:  <201302222240.r1MMeAsu042087@svn.freebsd.org> <20130222235332.GB2454@kib.kiev.ua> <5128AED6.2020906@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--5gxpn/Q6ypwruk0T
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Feb 23, 2013 at 12:58:14PM +0100, Dimitry Andric wrote:
> On 2013-02-23 00:53, Konstantin Belousov wrote:
> > On Fri, Feb 22, 2013 at 10:40:10PM +0000, Dimitry Andric wrote:
> ...
> >>    This should fix the long nops that still occurred in crt*.o, and
> >>    possibly other object files, if the system was compiled for a CPU t=
hat
> >>    does not support those, such as Geode.
> >>
> >>    Note that gcc on i386 also does not pass through any -march, -mcpu =
or
> >>    -mtune setting to gas, but this has not caused any trouble yet, bec=
ause
> >>    gas defaults to i386.
> >
> > Are you saying that assembler (in the 'cc' invocation) miscompiles
> > the .s files on i386 ? Why does it use instructions by default which
> > are not supported on the i486 architecture, implicitely ?
>=20
> The x86 backend always used to emit long nops, until upstream r164132,
> where this was fixed for the .c -> .o phase (-cc1 mode).  This fix is
> also in 3.2 release, and in our tree.
>=20
> The .s -> .o phase (-cc1as mode) did not get passed the target CPU
> though, so it still defaulted to long nops.  This was simply the default
> chosen by upstream.  After upstream r175919, that problem should also be
> fixed.
>=20
> As far as I can see, the only remaining issue now is the emission of
> cmov instructions on CPUs that do not support them, and a fix for that
> is being worked on now.

Let me rephrase my question.

What is the processor targeted by the cc on i386, when no -march flag is
specified, for cc coming from clang, for both .c and .s files. Lets ignore
known bugs, like long nops or cmovs.

--5gxpn/Q6ypwruk0T
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQIcBAEBAgAGBQJRKSQwAAoJEJDCuSvBvK1BMPgP/iFQ5XZBpbAM3oyBezkOSTFy
UEc1xgS3oA6WMItNoaoYIAz4Crq3H8b/VBj5XBaloV+6e5zxanLU1/aIiD/t6+T9
y2oGoLv1KcoGI379OcIme0qeORQTDhPTieaP4x+x3oQGtCBaUdjNTuyu71vEqgKf
JhJTLL1zm6yKddenB3kO9T0a4JnF4pYCzHC6tUziGI6MzcofLCfNq58ZCGwdR3dj
yagLTPWZV2djPhrCuBuHofDn8MjVgrgzIyUkBy4/OEcWWqVyk/53HUY5MC0mwGWO
FEHuKWvgB7DX0ogtJn+QH6EJfK3TuP2+uW4t9eveNdSYpINNIXGZshHITianPpgz
lTaz/+MY6eNm8oPpLPJ5pWx3AIhV5E8X1j85hlQmicdJZeJZCyoaRkkHKz2faxsm
ThtcikG8mZY2IeOao7riqrWvUbTNdznFyq+OlxRUGo4UR6S9BH77P98ppQ0JJpJM
pVKGghYS6mW1Pvy7noho0PB+9T+KRvpcOwmhFUAHbTAyz4bGGt5HloS4ODvn5RVo
Dtp++WR7lVDhbv8Rxm4KKZanxtLN3jO0xlyNVTheIG4AXik36Wr5Sa7RAutXnnFf
CvGYxt9SwNFil8hX3itMTk+lUVoNz79r8O6sBk0h03vFK2o21VDJq3sJuqzpgudv
x+kDqMfzRRY1N+F3Qj8y
=41fI
-----END PGP SIGNATURE-----

--5gxpn/Q6ypwruk0T--



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