Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 2014 16:42:45 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r269948 - head/contrib/gcc/config/i386
Message-ID:  <201408131642.s7DGgj7G023262@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Wed Aug 13 16:42:44 2014
New Revision: 269948
URL: http://svnweb.freebsd.org/changeset/base/269948

Log:
  Supplement r259111 by also using correct casts in gcc's emmintrin.h for
  the first argument of the following builtin function:
  
  * __builtin_ia32_psrlqi128() takes __v2di instead of __v4si
  
  This should fix the following errors when building the graphics/webp
  port with base gcc:
  
  lossless_sse2.c:403: error: incompatible type for argument 1 of '__builtin_ia32_psrlqi128'
  lossless_sse2.c:404: error: incompatible type for argument 1 of '__builtin_ia32_psrlqi128'
  
  Reported by:	Jos Chrispijn <ports@webrz.net>
  MFC after:	3 days

Modified:
  head/contrib/gcc/config/i386/emmintrin.h

Modified: head/contrib/gcc/config/i386/emmintrin.h
==============================================================================
--- head/contrib/gcc/config/i386/emmintrin.h	Wed Aug 13 16:20:41 2014	(r269947)
+++ head/contrib/gcc/config/i386/emmintrin.h	Wed Aug 13 16:42:44 2014	(r269948)
@@ -1193,7 +1193,7 @@ _mm_srli_epi64 (__m128i __A, int __B)
 #define _mm_srli_epi32(__A, __B) \
   ((__m128i)__builtin_ia32_psrldi128 ((__v4si)(__A), __B))
 #define _mm_srli_epi64(__A, __B) \
-  ((__m128i)__builtin_ia32_psrlqi128 ((__v4si)(__A), __B))
+  ((__m128i)__builtin_ia32_psrlqi128 ((__v2di)(__A), __B))
 #endif
 
 static __inline __m128i __attribute__((__always_inline__))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408131642.s7DGgj7G023262>