Aron Rosenberg
2004-Aug-06 15:01 UTC
[speex-dev] Notes on 1.1.4 Windows. Testing of SSE Intrinics Code and others
Reading through the GCC manual seems to imply that using -msse allows the intrinsics to be available for use. It does not make any other code use the SSE registers or calls. http://gcc.gnu.org/onlinedocs/gcc-3.3.2/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options (scroll down to the -msse section) -mmmx -mno-mmx-msse -mno-sse -msse2 -mno-sse2 -m3dnow -mno-3dnow These switches enable or disable the use of built-in functions that allow direct access to the MMX, SSE and 3Dnow extensions of the instruction set. See <http://gcc.gnu.org/onlinedocs/gcc-3.3.2/gcc/X86-Built-in-Functions.html#X86%20Built-in%20Functions>X86 Built-in Functions, for details of the functions enabled and disabled by these switches. To have SSE/SSE2 instructions generated automatically from floating-point code, see -mfpmath=sse. This would seem to be the proper flag assuming that the code or all entry-ways into it is guarded by run-time flags. Aron Rosenberg SightSpeed At 12:48 AM 1/22/2004, you wrote:> > Are you sure that you don't need to add just -msse to enable the > > intrinsics rather than a full fledged -march=pentium3? I did some playing > > around and I can get intrinsics code to compile with -march=i686 -msse on > > linux with that. > >I'll have a closer look at that, but I'm not sure it'll do the job. If >-msse allows the compiler to generate sse instructions, then it won't >work with older processors. > > Jean-Marc > >-- >Jean-Marc Valin, M.Sc.A., ing. jr. >LABORIUS (http://www.gel.usherb.ca/laborius) >Université de Sherbrooke, Québec, Canada<p><p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.
Jean-Marc Valin
2004-Aug-06 15:01 UTC
[speex-dev] Notes on 1.1.4 Windows. Testing of SSE Intrinics Code and others
> Are you sure that you don't need to add just -msse to enable the > intrinsics rather than a full fledged -march=pentium3? I did some playing > around and I can get intrinsics code to compile with -march=i686 -msse on > linux with that.I'll have a closer look at that, but I'm not sure it'll do the job. If -msse allows the compiler to generate sse instructions, then it won't work with older processors. Jean-Marc -- Jean-Marc Valin, M.Sc.A., ing. jr. LABORIUS (http://www.gel.usherb.ca/laborius) Université de Sherbrooke, Québec, Canada -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 190 bytes Desc: Ceci est une partie de message numériquement signée. Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20040122/a580d728/signature-0001.pgp
Aron Rosenberg
2004-Aug-06 15:01 UTC
[speex-dev] Notes on 1.1.4 Windows. Testing of SSE Intrinics Code and others
Jean-Marc, Are you sure that you don't need to add just -msse to enable the intrinsics rather than a full fledged -march=pentium3? I did some playing around and I can get intrinsics code to compile with -march=i686 -msse on linux with that. Check out: http://groups.google.com/groups?q=enable+gcc+sse+intrinsics&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=ugnh53o8h1bq55%40corp.supernews.com&rnum=1 Aron Rosenberg SightSpeed At 10:33 PM 1/21/2004, you wrote:> > Good catch on the debug mode. After compiling the same code in > > release mode it does appear to be using all the registers correctly. Give > > us a few days to integrate our run-time flags into 1.1.4 and I will let > you > > know how are testing turns out. > >Just a note. With the last optimization I did in cb_search.c, it's no >longer easy to have a run-time SSE flag. The reason is that there is now >data exchanged in _m128 format between some functions (even the layout >of the values changes if you turn SSE on). > > Jean-Marc > >-- >Jean-Marc Valin, M.Sc.A., ing. jr. >LABORIUS (http://www.gel.usherb.ca/laborius) >Université de Sherbrooke, Québec, Canada<p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'speex-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.