Gentoo Archives: gentoo-dev

From: "Francesco R." <vivo75@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2
Date: Mon, 16 Dec 2013 01:13:41
Message-Id: 52AE53B8.6070809@gmail.com
In Reply to: Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2 by Matt Turner
1 Il 16/12/2013 01:30, Matt Turner ha scritto:
2 > On Sun, Dec 15, 2013 at 4:20 PM, Andreas K. Huettel
3 > <dilfridge@g.o> wrote:
4 >> Am Montag, 16. Dezember 2013, 00:34:13 schrieb Matt Turner:
5 >>> 3dnow: Use the 3DNow! instruction set
6 >>> 3dnowext: Use the Enhanced 3DNow! instruction set
7 >>> mmx: Use the MMX instruction set
8 >>> mmxext: Use the Extended MMX instruction set (intersection of Enhanced
9 >>> 3DNow! and SSE instruction sets) (3dnowext or sse in cpuinfo)
10 >>> sse: Use the SSE instruction set
11 >>> sse2: Use the SSE2 instruction set
12 >>> sse3: Use the SSE3 instruction set (pni in cpuinfo)
13 >>> ssse3: Use the SSSE3 instruction set
14 >>> sse4_1: Use the SSE 4.1 instruction set
15 >>> avx: Use the AVX instruction set
16 >>> avx2: Use the AVX2 instruction set
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 > Often they're for enabling assembly code that uses these instruction
24 > sets. For pixman, a package that I'm very familiar with, they turn on
25 > code using these instruction sets using intrinsics in C. I believe
26 > they are justified.
27 >
28 > If the package simply uses the flag to add an -m<isa> flag to CFLAGS,
29 > then we should definitely remove it. If I recall correctly, I have
30 > only seen one instance of this.
31 >
32 another possible case are packages that do run-time checking of usable
33 instruction set.
34 The use flag could restrict the code to be compiled and installed from
35 the ebuild.
36 Probably never used like this tough

Replies