From owner-svn-src-all@FreeBSD.ORG Sat Feb 23 11:58:14 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id DEC213BB; Sat, 23 Feb 2013 11:58:14 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) by mx1.freebsd.org (Postfix) with ESMTP id A5D62A4E; Sat, 23 Feb 2013 11:58:14 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:204:4bff:fe01:de8a] (spaceball.andric.com [IPv6:2001:7b8:3a7:0:204:4bff:fe01:de8a]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 4637D5C43; Sat, 23 Feb 2013 12:58:11 +0100 (CET) Message-ID: <5128AED6.2020906@FreeBSD.org> Date: Sat, 23 Feb 2013 12:58:14 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20130117 Thunderbird/19.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: svn commit: r247166 - head/contrib/llvm/tools/clang/lib/Driver References: <201302222240.r1MMeAsu042087@svn.freebsd.org> <20130222235332.GB2454@kib.kiev.ua> In-Reply-To: <20130222235332.GB2454@kib.kiev.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Feb 2013 11:58:14 -0000 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 that >> 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, because >> 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 ? 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. 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. 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. -Dimitry