bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re : [Bug-gnubg] USE_SSE2


From: Michael Petch
Subject: Re: Re : [Bug-gnubg] USE_SSE2
Date: Tue, 18 Aug 2009 02:41:50 -0600
User-agent: Microsoft-Entourage/12.20.0.090605




On 18/08/09 2:31 AM, "Jonathan Kinsey" <address@hidden> wrote:


Are you sure?  The only link I could find about this says different:

http://www.network-theory.co.uk/docs/gccintro/gccintro_64.html

I suppose the only way to find out for sure is to test it, if someone can find a
machine that doesn't support sse...

It does seem unlikely that two lots of code would get generated for every
optimised part of code, but maybe there is some magic going on...


Maybe we are answering two possible questions.. Max’s question was a bit ambiguous\

By default SSE instructions will fail with illegal operations when run on unsuported hardware. So if you have SSE2 instructions and run them on an MMX processor or a processor withoutt them it will crash dump.

However, my answer was using knowledge of the changes you made to the code. If you have SSE autodetect (in the Gnubg code) on  and build with –msse2 and run the software on NON SSE2 systems it will fall back to Non SSE instructions (That’s what my tests indicate with builds I did). Same goes for –msse builds and running on systems that don’t’ have that capability.

I think we are ultimately talking the same thing. My opinion is we can do two builds

1) CPU Autodetect on version built with –msse2 and USE_SSE2
2) CPU Autodetect on version built with –msse and USE_VECTORIZE

If someone has an MMX(SSE) system they use #2 for best performance.
If someone has an SSE2 only they use #1 for best performance.
If someone has no MMX or SSE2 support they can use either build

reply via email to

[Prev in Thread] Current Thread [Next in Thread]