[gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2

2013-12-18 Thread Matt Turner
On Sun, Dec 15, 2013 at 3:34 PM, Matt Turner matts...@gentoo.org wrote:
 I'll make these changes in a few days.

Committed. Feel free to remove the local descriptions from your packages.



[gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2

2013-12-16 Thread Duncan
Matt Turner posted on Sun, 15 Dec 2013 15:34:13 -0800 as excerpted:

 sse3: Use the SSE3 instruction set (pni in cpuinfo)
 ssse3: Use the SSSE3 instruction set

I'd suggest a parenthetical on ssse3 as well, something like:

ssse3: Use the SSSE3 instruction set (NOT sse3, three s)

I know that confused me for awhile, and I tend to be reasonably literate 
(as a user, anyway) on this sort of thing, so I'd not be surprised in the 
least if a lot of sse3 only folks end up enabling it in error, as I did.  
The explicit three-count pointer should help eliminate that sort of 
confusion.

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman




Re: [gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2

2013-12-16 Thread Michael Orlitzky
On 12/16/2013 05:44 AM, Duncan wrote:
 Matt Turner posted on Sun, 15 Dec 2013 15:34:13 -0800 as excerpted:
 
 sse3: Use the SSE3 instruction set (pni in cpuinfo)
 ssse3: Use the SSSE3 instruction set
 
 I'd suggest a parenthetical on ssse3 as well, something like:
 
 ssse3: Use the SSSE3 instruction set (NOT sse3, three s)
 
 I know that confused me for awhile, and I tend to be reasonably literate 
 (as a user, anyway) on this sort of thing,

Why not go all the way?

Enable use of the SSSE3 instruction set (NOT sse3). This is needed by
projects which contain assembly code or which use certain compiler
intrinsics. It is not a replacement for CFLAGS and friends.

You can make a case for brevity, but how many times do you find yourself
(a) reading USE flag descriptions, and (b) thinking they're too long?




Re: [gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2

2013-12-16 Thread Alan McKinnon
On 16/12/2013 17:38, Michael Orlitzky wrote:
 On 12/16/2013 05:44 AM, Duncan wrote:
 Matt Turner posted on Sun, 15 Dec 2013 15:34:13 -0800 as excerpted:

 sse3: Use the SSE3 instruction set (pni in cpuinfo)
 ssse3: Use the SSSE3 instruction set

 I'd suggest a parenthetical on ssse3 as well, something like:

 ssse3: Use the SSSE3 instruction set (NOT sse3, three s)

 I know that confused me for awhile, and I tend to be reasonably literate 
 (as a user, anyway) on this sort of thing,
 
 Why not go all the way?
 
 Enable use of the SSSE3 instruction set (NOT sse3). This is needed by
 projects which contain assembly code or which use certain compiler
 intrinsics. It is not a replacement for CFLAGS and friends.

The second and third sentences add nothing to the description. They only
describe how cpu instruction sets in general work and are used, but tell
you nothing about ssse3.

I recommend a short expansion on what ssse3 is, and shortening the rest
while retaining it's meaning, then modifying all cpu instruction set
flags similarly

 You can make a case for brevity, but how many times do you find yourself
 (a) reading USE flag descriptions, and (b) thinking they're too long?

It's possible to have a very verbose, and meaningless, description. be
verbose by all means if the verbosity carries useful information

-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2

2013-12-16 Thread Michael Orlitzky
On 12/16/2013 01:21 PM, Alan McKinnon wrote:

 Enable use of the SSSE3 instruction set (NOT sse3). This is needed by
 projects which contain assembly code or which use certain compiler
 intrinsics. It is not a replacement for CFLAGS and friends.
 
 The second and third sentences add nothing to the description. They only
 describe how cpu instruction sets in general work and are used, but tell
 you nothing about ssse3.

USE flags are a user interface, not documentation. A good description is
one that helps the user decide, do I want to enable this? I'm not
particular about the wording -- and my use of needed was a mistake --
but with that purpose in mind, a good description should contain,

  1. Why might I want to enable this?

  2. Why might I want to disable this?

So e.g. my description is missing #2, You should not enable this unless
you have a processor supporting SSSE3.


 then modifying all cpu instruction set flags similarly

Yup.




Re: [gentoo-dev] Re: New global use flags: 3dnowext, mmxext, ssse3, sse4_1, avx, avx2

2013-12-16 Thread Alan McKinnon
On 16/12/2013 22:17, Michael Orlitzky wrote:
 On 12/16/2013 01:21 PM, Alan McKinnon wrote:

 Enable use of the SSSE3 instruction set (NOT sse3). This is needed by
 projects which contain assembly code or which use certain compiler
 intrinsics. It is not a replacement for CFLAGS and friends.

 The second and third sentences add nothing to the description. They only
 describe how cpu instruction sets in general work and are used, but tell
 you nothing about ssse3.
 
 USE flags are a user interface, not documentation. A good description is
 one that helps the user decide, do I want to enable this? I'm not
 particular about the wording -- and my use of needed was a mistake --
 but with that purpose in mind, a good description should contain,
 
   1. Why might I want to enable this?
 
   2. Why might I want to disable this?
 
 So e.g. my description is missing #2, You should not enable this unless
 you have a processor supporting SSSE3.
 
 
 then modifying all cpu instruction set flags similarly
 
 Yup.


Is it worthwhile adding a link in the description to a resource that
describes a USE flag in greater detail?

Most flags are obvious as to what they do, like jpeg/png/gif: the user
simply asks himself if he wants to use those formats. Most flags are
like this, and come down to user preference; portage merges in any
missing parts required

cpu sets are different: they also depend on whether they CAN be used in
a given environment. Portage cannot know if ssse3 will work for the cpu
running the code so cannot fill in the missing bits. The user must first
check if the intended cpu supports ssse3 at all (often preceded by
finding out how to find this out).

That's a lot of vital ,necessary info and it deserves the full
documentation treatment. A USE description is not the place for that,
but a link could work nicely. Especially if the linked page describes
the intent and usage of the USE flag in full.



-- 
Alan McKinnon
alan.mckin...@gmail.com