Gentoo Archives: gentoo-dev

From: Matt Turner <mattst88@g.o>
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 00:30:59
Message-Id: CAEdQ38F31ZJvwEZKV+Y4w+yuhTmUvUAf7Ecjo5CvP06yg2tvwQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2 by "Andreas K. Huettel"
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.

Replies

Subject Author
Re: [gentoo-dev] New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2 "Francesco R." <vivo75@×××××.com>