I am also making the assumption that the only files being compiled with -msse2 or msse are the neural net ones (on the windows build). Now of Course if you build it across all the files with those flags other sections of the code would fail. So I guess the question is. What files do you intend to compile with?
If Jon says.. All the files... Then he¹s right. Probably create 2 build (3 would cover all the bases) 1) NO CPU Autodetect version built with msse2 and USE_SSE2 2) version built without SSE(2) support 3) NO CPU Autodetect version built with msse and USE_VECTORIZE The likelyhood someone is using 3 is probably small. On 18/08/09 2:41 AM, "Michael Petch" <[email protected]> wrote: > On 18/08/09 2:31 AM, "Jonathan Kinsey" <[email protected]> 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 >
_______________________________________________ Bug-gnubg mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gnubg
