GCC built-ins

Piotr Wyderski piotr.wyderski@wp.pl
Tue Apr 8 11:03:00 GMT 2008


I'm trying to use the SSE built-in function set (GCC4.2.3/Cygwin/Windows 
XP-64), but there are sereval problems.

1. How do I move a 32-bit value from a general purpose register into the 
lowest part of an XMM register? It seems that there is no built-in 
function to generate the movd instructions. This lack of feature
stops me (i.e. I will have to write the algorithm in pure assembly,
which somehow contradicts the usability of built-ins...).

2. I compile with -msse -msse2 -msse3, but the functions
__builtin_ia32_loadsss and __builtin_ia32_loadaps (among others)
are not recognized. However, the documentation says "The following 
built-in functions are available when -msse is used".

3. Why there are no __builtin_ia32_zeros() and __builtin_ia32_ones()
synthesized functions? These constants are used very frequently, so
it would be nice to support them as a special case extension...

    Best regards
    Piotr Wyderski

MARK KNOPFLER w Polsce! 2 maja 2008 na warszawskim Torwarze.
Bilety na koncert dostĂŞpne na: wwW.livenation.pl 
i wwW.ticketpro.pl 

More information about the Gcc-help mailing list