[Pixman] [PATCH] Just use xmmintrin.h when building with Solaris Studio compilers

Matt Turner mattst88 at gmail.com
Fri Feb 24 18:14:43 PST 2012


On Fri, Feb 24, 2012 at 9:05 PM, Alan Coopersmith
<alan.coopersmith at oracle.com> wrote:
> 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 at oracle.com>
> ---
>  pixman/pixman-mmx.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
> index bd44f63..fe31b08 100644
> --- a/pixman/pixman-mmx.c
> +++ b/pixman/pixman-mmx.c
> @@ -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) \
> --
> 1.7.3.2

Works for me.

Acked-by: Matt Turner <mattst88 at gmail.com>


More information about the Pixman mailing list