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----- |