1 |
On Sun, Dec 15, 2013 at 4:20 PM, Andreas K. Huettel |
2 |
<dilfridge@g.o> wrote: |
3 |
> Am Montag, 16. Dezember 2013, 00:34:13 schrieb Matt Turner: |
4 |
>> 3dnow: Use the 3DNow! instruction set |
5 |
>> 3dnowext: Use the Enhanced 3DNow! instruction set |
6 |
>> mmx: Use the MMX instruction set |
7 |
>> mmxext: Use the Extended MMX instruction set (intersection of Enhanced |
8 |
>> 3DNow! and SSE instruction sets) (3dnowext or sse in cpuinfo) |
9 |
>> sse: Use the SSE instruction set |
10 |
>> sse2: Use the SSE2 instruction set |
11 |
>> sse3: Use the SSE3 instruction set (pni in cpuinfo) |
12 |
>> ssse3: Use the SSSE3 instruction set |
13 |
>> sse4_1: Use the SSE 4.1 instruction set |
14 |
>> avx: Use the AVX instruction set |
15 |
>> avx2: Use the AVX2 instruction set |
16 |
> |
17 |
> What's the point of these flags? |
18 |
> (or to be more precise, are they really justified whenever they are used?) |
19 |
> |
20 |
> Usually the set of cpu instructions should be controlled by your CFLAGS, and |
21 |
> I've been actively patching packages (that do not do manually coded assembly) |
22 |
> to make such flags unnecessary. |
23 |
|
24 |
Often they're for enabling assembly code that uses these instruction |
25 |
sets. For pixman, a package that I'm very familiar with, they turn on |
26 |
code using these instruction sets using intrinsics in C. I believe |
27 |
they are justified. |
28 |
|
29 |
If the package simply uses the flag to add an -m<isa> flag to CFLAGS, |
30 |
then we should definitely remove it. If I recall correctly, I have |
31 |
only seen one instance of this. |