Gentoo Archives: gentoo-dev

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2
Date: Mon, 16 Dec 2013 20:48:36
Message-Id: 52AF6717.2080909@gmail.com
In Reply to: Re: [gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2 by Michael Orlitzky
1 On 16/12/2013 22:17, Michael Orlitzky wrote:
2 > On 12/16/2013 01:21 PM, Alan McKinnon wrote:
3 >>>
4 >>> "Enable use of the SSSE3 instruction set (NOT sse3). This is needed by
5 >>> projects which contain assembly code or which use certain compiler
6 >>> intrinsics. It is not a replacement for CFLAGS and friends."
7 >>
8 >> The second and third sentences add nothing to the description. They only
9 >> describe how cpu instruction sets in general work and are used, but tell
10 >> you nothing about ssse3.
11 >
12 > USE flags are a user interface, not documentation. A good description is
13 > one that helps the user decide, "do I want to enable this?" I'm not
14 > particular about the wording -- and my use of "needed" was a mistake --
15 > but with that purpose in mind, a good description should contain,
16 >
17 > 1. Why might I want to enable this?
18 >
19 > 2. Why might I want to disable this?
20 >
21 > So e.g. my description is missing #2, "You should not enable this unless
22 > you have a processor supporting SSSE3."
23 >
24 >
25 >> then modifying all cpu instruction set flags similarly
26 >
27 > Yup.
28
29
30 Is it worthwhile adding a link in the description to a resource that
31 describes a USE flag in greater detail?
32
33 Most flags are obvious as to what they do, like jpeg/png/gif: the user
34 simply asks himself if he wants to use those formats. Most flags are
35 like this, and come down to user preference; portage merges in any
36 missing parts required
37
38 cpu sets are different: they also depend on whether they CAN be used in
39 a given environment. Portage cannot know if ssse3 will work for the cpu
40 running the code so cannot fill in the missing bits. The user must first
41 check if the intended cpu supports ssse3 at all (often preceded by
42 finding out how to find this out).
43
44 That's a lot of vital ,necessary info and it deserves the full
45 documentation treatment. A USE description is not the place for that,
46 but a link could work nicely. Especially if the linked page describes
47 the intent and usage of the USE flag in full.
48
49
50
51 --
52 Alan McKinnon
53 alan.mckinnon@×××××.com