From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A1A75138989 for ; Sat, 2 May 2015 11:25:44 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 58D97E087C; Sat, 2 May 2015 11:25:36 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 27D7BE0871 for ; Sat, 2 May 2015 11:25:34 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YoVY3-0008AW-GZ for gentoo-user@lists.gentoo.org; Sat, 02 May 2015 13:25:31 +0200 Received: from athedsl-347543.home.otenet.gr ([85.72.213.53]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 02 May 2015 13:25:31 +0200 Received: from realnc by athedsl-347543.home.otenet.gr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 02 May 2015 13:25:31 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-user@lists.gentoo.org From: Nikos Chantziaras Subject: [gentoo-user] Re: CFLAGs for kernel compilation Date: Sat, 02 May 2015 14:25:25 +0300 Organization: Lucas Barks Message-ID: References: <5540C101.70906@ramses-pyramidenbau.de> <20150430123819.b72d8b39bd60a912b7c7fde5@gentoo.org> <20150501104402.27d943c901f638942262d3d1@gentoo.org> <5544B2AB.1010700@googlemail.com> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: athedsl-347543.home.otenet.gr User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 In-Reply-To: <5544B2AB.1010700@googlemail.com> X-Archives-Salt: ad3b79c9-6275-4890-a11e-0ceab67c862a X-Archives-Hash: d195ce568262a0b9fd9f1591ed01947c On 02/05/15 14:19, Volker Armin Hemmann wrote: > Am 02.05.2015 um 07:04 schrieb Nikos Chantziaras: >> On 01/05/15 10:44, Andrew Savchenko wrote: >>> On Fri, 1 May 2015 05:09:51 +0000 (UTC) Martin Vaeth wrote: >>>> Andrew Savchenko wrote: >>>>> >>>>> That's why kernel makes sure that no floating point instructions >>>>> sneaks in using CFLAGS, you may see a lot of -mno-${intrucion_set} >>>>> flags when running make -V. >>>> >>>> So it should be sufficient that the kernel does not use "float" >>>> or "double", shouldn't it? >>> >>> No. Optimizer paths may be very unobvious, i.e. I'll not be >>> surprised if under some conditions vectorizer may use float >>> instructions for int code. >> >> The kernel uses -O2 and several -march variants (e.g. -march=core2). >> Several other options are used to prevent GCC from generating >> unsuitable code. >> >> Specifying another -march variant does not affect the optimizer >> though. It only affects the code generator. If you don't modify the >> other CFLAGS and only change -march, you will not get FP instructions >> unless you use FP in the code. >> >> Also, I'd be very interested to see *any* optimization that would >> somehow transform integer code to FP code (note that SIMD is not FP >> and is perfectly fine in the kernel.) In fact, optimizers tend to >> transform FP into SIMD, at least on x86 (and other architectures that >> have fast SIMD instructions.) If I inspect the generated assembly from >> GCC or Clang, I cannot find FP anywhere, even for code using "float" >> and "double" operations. They get converted to SIMD on modern CPUs >> (unless you specify a compiler flag that tells it to use the FPU, for >> example if you need 80-bit extended precision, which is supported by >> the x86 FPU.) >> >> >> > > http://www.agner.org/optimize/calling_conventions.pdf Not sure what you're trying to say.