[gentoo-dev] Re: CPU use flag detection
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
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
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
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
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
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
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
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