Il 16/12/2013 01:30, Matt Turner ha scritto:
> On Sun, Dec 15, 2013 at 4:20 PM, Andreas K. Huettel
> <[email protected]> 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.
> Often they're for enabling assembly code that uses these instruction
> sets. For pixman, a package that I'm very familiar with, they turn on
> code using these instruction sets using intrinsics in C. I believe
> they are justified.
>
> If the package simply uses the flag to add an -m<isa> flag to CFLAGS,
> then we should definitely remove it. If I recall correctly, I have
> only seen one instance of this.
>
another possible case are packages that do run-time checking of usable
instruction set.
The use flag could restrict the code to be compiled and installed from
the ebuild.
Probably never used like this tough