Gentoo Archives: gentoo-dev

From: "Rick \\\"Zero_Chaos\\\" Farina" <zerochaos@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2
Date: Wed, 18 Dec 2013 04:24:09
Message-Id: 52AF87BE.8000304@gentoo.org
In Reply to: Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2 by "Andreas K. Huettel"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 On 12/15/2013 07:20 PM, Andreas K. Huettel wrote:
5 > Am Montag, 16. Dezember 2013, 00:34:13 schrieb Matt Turner:
6 >> 3dnow: Use the 3DNow! instruction set
7 >> 3dnowext: Use the Enhanced 3DNow! instruction set
8 >> mmx: Use the MMX instruction set
9 >> mmxext: Use the Extended MMX instruction set (intersection of Enhanced
10 >> 3DNow! and SSE instruction sets) (3dnowext or sse in cpuinfo)
11 >> sse: Use the SSE instruction set
12 >> sse2: Use the SSE2 instruction set
13 >> sse3: Use the SSE3 instruction set (pni in cpuinfo)
14 >> ssse3: Use the SSSE3 instruction set
15 >> sse4_1: Use the SSE 4.1 instruction set
16 >> avx: Use the AVX instruction set
17 >> avx2: Use the AVX2 instruction set
18 >
19 > What's the point of these flags?
20 > (or to be more precise, are they really justified whenever they are used?)
21 >
22 > Usually the set of cpu instructions should be controlled by your CFLAGS, and
23 > I've been actively patching packages (that do not do manually coded assembly)
24 > to make such flags unnecessary.
25 >
26 I think this is a great time to point out three things:
27
28 TL;DR Some packages are sensitive, easier for binpkgs in certain cases,
29 broken build systems may require it.
30
31 1.) Some packages have really sensitive cflags (mostly these packages
32 offer USE=custom-cflags). Packages such as app-crypt/johntheripper
33 offer a bunch of cflag options for optimization of supported cpu
34 features while not actually using the user's full cflags which would
35 yield poor optimization or broken code. I can't say I'm in love with
36 this situation, but facts are facts, and turning on USE=custom-cflags
37 seems to inevitably yield significantly slower benchmarks in the case of
38 jtr while the use flags work well.
39
40 2.) Gentoo supports binary packages. In the case of apps like
41 johntheripper (and a few other crackers who wish to remain nameless)
42 these use flags are really helpful for the users as portage can
43 automatically know it should rebuild the package for higher optimization
44 or w/e.
45
46 3.) Broken build systems. Forgive me for the term, but packages like
47 libpng seem to require arcane configure flags like
48 "--enable-arm-neon=$(usex neon on off)" to enable my neon fpu despite
49 passing -mfpu=neon. Retarded? Probably. Fact? Definitely.
50
51 Thanks,
52 Zero
53 -----BEGIN PGP SIGNATURE-----
54 Version: GnuPG v2.0.22 (GNU/Linux)
55 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
56
57 iQIcBAEBAgAGBQJSr4e+AAoJEKXdFCfdEflK9TkQAJ0AnIQMcvDKwo/WWLmsoZHh
58 B5WD1WrXwTl2xkwBs64lRBw4tFl1zU14zHvFmC3T4rPd6aEA2J7DNiYAnztGGTNu
59 RWeUWYL3Qs+RJ4jASssJrMQmc3aEHEEzqMBE/yFL+x3ioeTilrROq+P1UlwoyUBh
60 6wJtkFiuTE7/DeqxhSaE81JvPVxRVt/i0nJoTvN6Kd4WLOzHZejekANErXaDF9FA
61 MFXLI9OpQ4lY5QrZMJ7msSZJA0DnGt9Hi16QHtaaDQ0MPlJmtoVJlulsc14QgCCk
62 a73+ndo20apOqAUOTy1cxXGxbrnU4TcDB16e/Sfc4eqAWiDEugXT6NTH+hnTegQ5
63 qE3N6genNGvRTTchVmNemnSs90UPTFhKhC5fqOo7hyqokpK3mvbU+tKL4NoOKjIQ
64 LyoaghSRfzFcQhpRaEGhviGnm+Mvs9wSglBonob4PShrlcB2mpoZicA7oPuaE6Wi
65 UC52KoryvsXtVxe5djziwd/1kgaC60wF1LnJ9s0BzxSoWMyibuD7wv5+hI5G9sQf
66 0zg/uzGlFVrMKjwCFz0Vr4STDRVAIULeKlbfMACzOE1jUGw5TXLjdWq+yMCTN0eH
67 jqYo15IkPEC/a9+P+3fMVOL+7ZvQj5neoqSn1d0dEqo3y5d8Z1lZIw/ZYosWWObd
68 qr08PGwWw+fElOa5BnSj
69 =hhoR
70 -----END PGP SIGNATURE-----

Replies