[gentoo-dev] Re: CPU use flag detection

2013-05-21 Thread Ryan Hill
On Sat, 18 May 2013 12:14:35 -0700
Matt Turner matts...@gentoo.org wrote:

  MMX2/MMXEXT still confuses me.
 
 SSE1 and /Enhanced/ 3DNow! added some extra MMX instructions. Some
 (pshufw and pmulhuw particularly) turn out to be rather useful in
 software compositing. I use them in the pixman MMX code.
 
 See http://mattst88.com/programming/asmref/ (Sorry about the broken
 search box. It works, you just don't see what you type)

Oh I am going to get a lot of use out of this.

 Set Requires = Enhanced 3DNow!. The instructions that are listed as
 'Enhanced 3DNow! or SSE1' are what are known as MMX2 or MMXEXT.
 
 The particularly annoying thing about using them is that there's no
 -mmmx2 or -mmmxext, but turning on -msse causes illegal instructions
 to be generated for old AMD or Geode CPUs, while -m3dnow causes the
 same problems for Intel CPUs. And, there's not actually even an
 -m3dnowext flag (anymore?) anyway, so it's kind of a mess.

Ah, that explains why I always thought they were Enh 3DNow options.  Looks like
I have them spread out between MMX and Enh 3DNow in analyze-x86.  Oops.


-- 
Ryan Hillpsn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: CPU use flag detection

2013-05-19 Thread Alexis Ballier
On Sat, 18 May 2013 22:31:11 -0400
Walter Dnes waltd...@waltdnes.org wrote:

[...]
 ...shouldn't mmxext be moved out of use.local.desc into use.desc?


all the cpu flags should be global IMHO, regardless of how many packages
use them: we already mask/unmask them globally on arches where they are
irrelevant.

Alexis.



Re: [gentoo-dev] Re: CPU use flag detection

2013-05-19 Thread viv...@gmail.com
On 05/19/13 17:47, Alexis Ballier wrote:
 On Sat, 18 May 2013 22:31:11 -0400
 Walter Dnes waltd...@waltdnes.org wrote:

 [...]
 ...shouldn't mmxext be moved out of use.local.desc into use.desc?

 all the cpu flags should be global IMHO, regardless of how many packages
 use them: we already mask/unmask them globally on arches where they are
 irrelevant.

 Alexis.

+1
also +1 they should be easily recognizable as cpu features USE flags, as
already mentioned recently by someone (sorry could not search)




Re: [gentoo-dev] Re: CPU use flag detection

2013-05-19 Thread Matt Turner
On Sun, May 19, 2013 at 8:47 AM, Alexis Ballier aball...@gentoo.org wrote:
 On Sat, 18 May 2013 22:31:11 -0400
 Walter Dnes waltd...@waltdnes.org wrote:

 [...]
 ...shouldn't mmxext be moved out of use.local.desc into use.desc?


 all the cpu flags should be global IMHO, regardless of how many packages
 use them: we already mask/unmask them globally on arches where they are
 irrelevant.

 Alexis.

Yes, they should. And while we're at it, we should stop naming them
differently. (sse4_1 vs sse41)

Also, since SSE4 isn't a thing (there's SSE4.1, SSE4.2, and SSE4a) we
shouldn't have /any/ USE=sse4 in the tree.

And we should never set up the masks like this:
https://bugs.gentoo.org/show_bug.cgi?id=470220



Re: [gentoo-dev] Re: CPU use flag detection

2013-05-19 Thread René Neumann
Am 19.05.2013 18:03, schrieb viv...@gmail.com:
 On 05/19/13 17:47, Alexis Ballier wrote:
 On Sat, 18 May 2013 22:31:11 -0400
 Walter Dnes waltd...@waltdnes.org wrote:

 [...]
 ...shouldn't mmxext be moved out of use.local.desc into use.desc?

 all the cpu flags should be global IMHO, regardless of how many packages
 use them: we already mask/unmask them globally on arches where they are
 irrelevant.

 Alexis.

 +1
 also +1 they should be easily recognizable as cpu features USE flags, as
 already mentioned recently by someone (sorry could not search)

So this sounds like one of the places, where a USE_EXPAND could really
be correct and worthwhile :).

- René




Re: [gentoo-dev] Re: CPU use flag detection

2013-05-18 Thread Matt Turner
On Fri, May 17, 2013 at 9:39 PM, Ryan Hill dirtye...@gentoo.org wrote:
 On Wed, 15 May 2013 16:59:57 +0200
 yac y...@gentoo.org wrote:

 Hi,

 I was recently investigating what cpu flags do I have and how does it
 work. I have put what I have so far at [1].

 So I thought I let you know in case someone wants to chip in.

 [1] https://github.com/yaccz/cufd

 I've seen gcc -Q --help=target giving false results before due to the way that
 options are parsed and some flags that set other flags not getting processed 
 on
 the --help code path.  The second option you list is better.

 -native doesn't set 3dnow, mmx, sse, sse2, sse3, ssse3 or sse4a.  I'm guessing
 they're just handed through the -march setting.

Yes, they are.

 sys-apps/cpuid is awesome.

 MMX2/MMXEXT still confuses me.

SSE1 and /Enhanced/ 3DNow! added some extra MMX instructions. Some
(pshufw and pmulhuw particularly) turn out to be rather useful in
software compositing. I use them in the pixman MMX code.

See http://mattst88.com/programming/asmref/ (Sorry about the broken
search box. It works, you just don't see what you type)

Set Requires = Enhanced 3DNow!. The instructions that are listed as
'Enhanced 3DNow! or SSE1' are what are known as MMX2 or MMXEXT.

The particularly annoying thing about using them is that there's no
-mmmx2 or -mmmxext, but turning on -msse causes illegal instructions
to be generated for old AMD or Geode CPUs, while -m3dnow causes the
same problems for Intel CPUs. And, there's not actually even an
-m3dnowext flag (anymore?) anyway, so it's kind of a mess.



Re: [gentoo-dev] Re: CPU use flag detection

2013-05-18 Thread Walter Dnes
On Sat, May 18, 2013 at 12:14:35PM -0700, Matt Turner wrote

 The particularly annoying thing about using them is that there's no
 -mmmx2 or -mmmxext...

  Now that you mention it...

[i660][waltdnes][~] grep mmxext /usr/portage/profiles/use.local.desc 
media-libs/libpostproc:mmxext - Enable mmx2 support.
media-plugins/vdr-softdevice:mmxext - enables MMXExt support
media-video/ffmpeg:mmxext - Enables mmx2 support
media-video/libav:mmxext - Enable mmx2 support.
media-video/mplayer:mmxext - Enables mmx2 support
media-video/mplayer2:mmxext - Enables mmx2 support
x11-libs/pixman:mmxext - Enable MMX2 support.

...shouldn't mmxext be moved out of use.local.desc into use.desc?

-- 
Walter Dnes waltd...@waltdnes.org
I don't run desktop environments; I run useful applications



[gentoo-dev] Re: CPU use flag detection

2013-05-17 Thread Ryan Hill
On Wed, 15 May 2013 16:59:57 +0200
yac y...@gentoo.org wrote:

 Hi,
 
 I was recently investigating what cpu flags do I have and how does it
 work. I have put what I have so far at [1]. 
 
 So I thought I let you know in case someone wants to chip in.
 
 [1] https://github.com/yaccz/cufd

I've seen gcc -Q --help=target giving false results before due to the way that
options are parsed and some flags that set other flags not getting processed on
the --help code path.  The second option you list is better.

-native doesn't set 3dnow, mmx, sse, sse2, sse3, ssse3 or sse4a.  I'm guessing
they're just handed through the -march setting.

sys-apps/cpuid is awesome.

MMX2/MMXEXT still confuses me.


-- 
Ryan Hillpsn: dirtyepic_sk
   gcc-porting/toolchain/wxwidgets @ gentoo.org

47C3 6D62 4864 0E49 8E9E  7F92 ED38 BD49 957A 8463


signature.asc
Description: PGP signature