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 2B341138247 for ; Wed, 18 Dec 2013 04:24:09 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1E1A8E0B47; Wed, 18 Dec 2013 04:22:58 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2C08CE0B40 for ; Wed, 18 Dec 2013 04:22:57 +0000 (UTC) Received: from [192.168.43.102] (mobile-166-137-187-015.mycingular.net [166.137.187.15]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: zerochaos) by smtp.gentoo.org (Postfix) with ESMTPSA id 37F8933F5A2 for ; Wed, 18 Dec 2013 04:22:56 +0000 (UTC) Message-ID: <52AF87BE.8000304@gentoo.org> Date: Mon, 16 Dec 2013 18:07:42 -0500 From: "Rick \"Zero_Chaos\" Farina" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2 References: <201312160120.03185.dilfridge@gentoo.org> In-Reply-To: <201312160120.03185.dilfridge@gentoo.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: b9e289fe-498c-44e3-b29d-7c322d82cc8a X-Archives-Hash: ccd36a5c7a78e3bc57cea2a1923d3f18 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 12/15/2013 07:20 PM, Andreas K. Huettel wrote: > Am Montag, 16. Dezember 2013, 00:34:13 schrieb Matt Turner: >> 3dnow: Use the 3DNow! instruction set >> 3dnowext: Use the Enhanced 3DNow! instruction set >> mmx: Use the MMX instruction set >> mmxext: Use the Extended MMX instruction set (intersection of Enhanced >> 3DNow! and SSE instruction sets) (3dnowext or sse in cpuinfo) >> sse: Use the SSE instruction set >> sse2: Use the SSE2 instruction set >> sse3: Use the SSE3 instruction set (pni in cpuinfo) >> ssse3: Use the SSSE3 instruction set >> sse4_1: Use the SSE 4.1 instruction set >> avx: Use the AVX instruction set >> avx2: Use the AVX2 instruction set > > What's the point of these flags? > (or to be more precise, are they really justified whenever they are used?) > > Usually the set of cpu instructions should be controlled by your CFLAGS, and > I've been actively patching packages (that do not do manually coded assembly) > to make such flags unnecessary. > I think this is a great time to point out three things: TL;DR Some packages are sensitive, easier for binpkgs in certain cases, broken build systems may require it. 1.) Some packages have really sensitive cflags (mostly these packages offer USE=custom-cflags). Packages such as app-crypt/johntheripper offer a bunch of cflag options for optimization of supported cpu features while not actually using the user's full cflags which would yield poor optimization or broken code. I can't say I'm in love with this situation, but facts are facts, and turning on USE=custom-cflags seems to inevitably yield significantly slower benchmarks in the case of jtr while the use flags work well. 2.) Gentoo supports binary packages. In the case of apps like johntheripper (and a few other crackers who wish to remain nameless) these use flags are really helpful for the users as portage can automatically know it should rebuild the package for higher optimization or w/e. 3.) Broken build systems. Forgive me for the term, but packages like libpng seem to require arcane configure flags like "--enable-arm-neon=$(usex neon on off)" to enable my neon fpu despite passing -mfpu=neon. Retarded? Probably. Fact? Definitely. Thanks, Zero -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSr4e+AAoJEKXdFCfdEflK9TkQAJ0AnIQMcvDKwo/WWLmsoZHh B5WD1WrXwTl2xkwBs64lRBw4tFl1zU14zHvFmC3T4rPd6aEA2J7DNiYAnztGGTNu RWeUWYL3Qs+RJ4jASssJrMQmc3aEHEEzqMBE/yFL+x3ioeTilrROq+P1UlwoyUBh 6wJtkFiuTE7/DeqxhSaE81JvPVxRVt/i0nJoTvN6Kd4WLOzHZejekANErXaDF9FA MFXLI9OpQ4lY5QrZMJ7msSZJA0DnGt9Hi16QHtaaDQ0MPlJmtoVJlulsc14QgCCk a73+ndo20apOqAUOTy1cxXGxbrnU4TcDB16e/Sfc4eqAWiDEugXT6NTH+hnTegQ5 qE3N6genNGvRTTchVmNemnSs90UPTFhKhC5fqOo7hyqokpK3mvbU+tKL4NoOKjIQ LyoaghSRfzFcQhpRaEGhviGnm+Mvs9wSglBonob4PShrlcB2mpoZicA7oPuaE6Wi UC52KoryvsXtVxe5djziwd/1kgaC60wF1LnJ9s0BzxSoWMyibuD7wv5+hI5G9sQf 0zg/uzGlFVrMKjwCFz0Vr4STDRVAIULeKlbfMACzOE1jUGw5TXLjdWq+yMCTN0eH jqYo15IkPEC/a9+P+3fMVOL+7ZvQj5neoqSn1d0dEqo3y5d8Z1lZIw/ZYosWWObd qr08PGwWw+fElOa5BnSj =hhoR -----END PGP SIGNATURE-----