* [gentoo-dev] CPU use flag detection
@ 2013-05-15 14:59 yac
2013-05-18 4:39 ` [gentoo-dev] " Ryan Hill
0 siblings, 1 reply; 9+ messages in thread
From: yac @ 2013-05-15 14:59 UTC (permalink / raw
To: gentoo-dev
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
^ permalink raw reply [flat|nested] 9+ messages in thread
* [gentoo-dev] Re: CPU use flag detection
2013-05-15 14:59 [gentoo-dev] CPU use flag detection yac
@ 2013-05-18 4:39 ` Ryan Hill
2013-05-18 19:14 ` Matt Turner
0 siblings, 1 reply; 9+ messages in thread
From: Ryan Hill @ 2013-05-18 4:39 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 893 bytes --]
On Wed, 15 May 2013 16:59:57 +0200
yac <yac@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 Hill psn: dirtyepic_sk
gcc-porting/toolchain/wxwidgets @ gentoo.org
47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-dev] Re: CPU use flag detection
2013-05-18 4:39 ` [gentoo-dev] " Ryan Hill
@ 2013-05-18 19:14 ` Matt Turner
2013-05-19 2:31 ` Walter Dnes
2013-05-22 4:59 ` Ryan Hill
0 siblings, 2 replies; 9+ messages in thread
From: Matt Turner @ 2013-05-18 19:14 UTC (permalink / raw
To: gentoo-dev
On Fri, May 17, 2013 at 9:39 PM, Ryan Hill <dirtyepic@gentoo.org> wrote:
> On Wed, 15 May 2013 16:59:57 +0200
> yac <yac@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.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-dev] Re: CPU use flag detection
2013-05-18 19:14 ` Matt Turner
@ 2013-05-19 2:31 ` Walter Dnes
2013-05-19 15:47 ` Alexis Ballier
2013-05-22 4:59 ` Ryan Hill
1 sibling, 1 reply; 9+ messages in thread
From: Walter Dnes @ 2013-05-19 2:31 UTC (permalink / raw
To: gentoo-dev
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 <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-dev] Re: CPU use flag detection
2013-05-19 2:31 ` Walter Dnes
@ 2013-05-19 15:47 ` Alexis Ballier
2013-05-19 16:03 ` vivo75
2013-05-19 16:17 ` Matt Turner
0 siblings, 2 replies; 9+ messages in thread
From: Alexis Ballier @ 2013-05-19 15:47 UTC (permalink / raw
To: gentoo-dev
On Sat, 18 May 2013 22:31:11 -0400
"Walter Dnes" <waltdnes@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.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-dev] Re: CPU use flag detection
2013-05-19 15:47 ` Alexis Ballier
@ 2013-05-19 16:03 ` vivo75
2013-05-19 16:36 ` René Neumann
2013-05-19 16:17 ` Matt Turner
1 sibling, 1 reply; 9+ messages in thread
From: vivo75 @ 2013-05-19 16:03 UTC (permalink / raw
To: gentoo-dev; +Cc: Alexis Ballier
On 05/19/13 17:47, Alexis Ballier wrote:
> On Sat, 18 May 2013 22:31:11 -0400
> "Walter Dnes" <waltdnes@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)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-dev] Re: CPU use flag detection
2013-05-19 15:47 ` Alexis Ballier
2013-05-19 16:03 ` vivo75
@ 2013-05-19 16:17 ` Matt Turner
1 sibling, 0 replies; 9+ messages in thread
From: Matt Turner @ 2013-05-19 16:17 UTC (permalink / raw
To: gentoo-dev
On Sun, May 19, 2013 at 8:47 AM, Alexis Ballier <aballier@gentoo.org> wrote:
> On Sat, 18 May 2013 22:31:11 -0400
> "Walter Dnes" <waltdnes@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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [gentoo-dev] Re: CPU use flag detection
2013-05-19 16:03 ` vivo75
@ 2013-05-19 16:36 ` René Neumann
0 siblings, 0 replies; 9+ messages in thread
From: René Neumann @ 2013-05-19 16:36 UTC (permalink / raw
To: gentoo-dev
Am 19.05.2013 18:03, schrieb vivo75@gmail.com:
> On 05/19/13 17:47, Alexis Ballier wrote:
>> On Sat, 18 May 2013 22:31:11 -0400
>> "Walter Dnes" <waltdnes@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é
^ permalink raw reply [flat|nested] 9+ messages in thread
* [gentoo-dev] Re: CPU use flag detection
2013-05-18 19:14 ` Matt Turner
2013-05-19 2:31 ` Walter Dnes
@ 2013-05-22 4:59 ` Ryan Hill
1 sibling, 0 replies; 9+ messages in thread
From: Ryan Hill @ 2013-05-22 4:59 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1310 bytes --]
On Sat, 18 May 2013 12:14:35 -0700
Matt Turner <mattst88@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 Hill psn: dirtyepic_sk
gcc-porting/toolchain/wxwidgets @ gentoo.org
47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-05-22 4:50 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-15 14:59 [gentoo-dev] CPU use flag detection yac
2013-05-18 4:39 ` [gentoo-dev] " Ryan Hill
2013-05-18 19:14 ` Matt Turner
2013-05-19 2:31 ` Walter Dnes
2013-05-19 15:47 ` Alexis Ballier
2013-05-19 16:03 ` vivo75
2013-05-19 16:36 ` René Neumann
2013-05-19 16:17 ` Matt Turner
2013-05-22 4:59 ` Ryan Hill
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox