These tests all start to fail after the fix for PR 31361 was committed to SVN.
FAILing tests test SSE intrinsics by:
--quote--
/* Test that the intrinsics compile with optimization. All of them are
defined as inline functions in mmintrin.h that reference the proper
builtin functions. Defining away "static" and "__inline" results in
all of them being compiled as proper functions. */
#define static
#define __inline
#include <xmmintrin.h>
--/quote--
Following testcase illustrates the failure:
--cut here--
typedef short __v8hi __attribute__ ((__vector_size__ (16)));
typedef long long __m128i __attribute__ ((__vector_size__ (16),
__may_alias__));
__m128i test (__m128i __A, const int __B)
{
return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B);
}
--cut here--
gcc -O2 -msse2 test.c
test.c: In function âtestâ:
test.c:6: error: shift must be an immediate
(sse-13.c and sse-14.c fail on x86_64 only as it defaults to -msse2. On i386,
these tests are compiled using -msse, so xmmintrin.h is not included).
--
Summary: gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c
and sse-14.c)
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ssemmx
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31585