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>