[EMAIL PROTECTED] gcc]$ cat /tmp/y.c typedef long long __v2di __attribute__ ((__vector_size__ (16)));
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__)); extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_si128 (__m128i __A, __m128i __B) { return (__m128i)__builtin_ia32_pxor128 ((__v2di)__A, (__v2di)__B); } int main () { __m128i x, y; x = _mm_xor_si128 (x, y); return 0; } [EMAIL PROTECTED] gcc]$ ./xgcc -B./ -m32 /tmp/y.c -msse2 /tmp/cc4NF1Gd.o: In function `main': y.c:(.text+0x24): undefined reference to `_mm_xor_si128' collect2: ld returned 1 exit status [EMAIL PROTECTED] gcc]$ This may be caused by revision 134859 http://gcc.gnu.org/ml/gcc-cvs/2008-05/msg00019.html -- Summary: [4.4 Regression] always_inline attribute is broken at - O0 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl dot tools at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36100