Just use xmmintrin.h when building with Solaris Studio compilers
authorAlan Coopersmith <alan.coopersmith@oracle.com>
Sat, 25 Feb 2012 02:02:56 +0000 (18:02 -0800)
committerAlan Coopersmith <alan.coopersmith@oracle.com>
Tue, 6 Mar 2012 02:57:26 +0000 (18:57 -0800)
Since the Solaris Studio compilers don't have a mode where MMX
instructions are available and SSE instructions are not, we can
just use the <xmmintrin.h> header directly.

Fixes build failure due to Studio not supporting the __gnu_inline__
or __artificial__ attributes.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Matt Turner <mattst88@gmail.com>
pixman/pixman-mmx.c

index bd44f63..fe31b08 100644 (file)
@@ -57,6 +57,9 @@ _mm_empty (void)
 #endif
 
 #ifdef USE_X86_MMX
+# ifdef __SUNPRO_C
+#  include <xmmintrin.h>
+# else
 /* We have to compile with -msse to use xmmintrin.h, but that causes SSE
  * instructions to be generated that we don't want. Just duplicate the
  * functions we want to use.  */
@@ -82,6 +85,7 @@ _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
 
     return ret;
 }
+# endif
 #endif
 
 #define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \