From: Benjamin Kramer Date: Fri, 20 Aug 2010 23:00:03 +0000 (+0000) Subject: Disallow direct inclusion of avxintrin.h. Users should include immintrin.h instead... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=01b57e362a2c8abb18ba6139ca212e6c7f2288b0;p=clang Disallow direct inclusion of avxintrin.h. Users should include immintrin.h instead. This matches GCC's behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111692 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Headers/avxintrin.h b/lib/Headers/avxintrin.h index 160f4c1e2b..884d31cb89 100644 --- a/lib/Headers/avxintrin.h +++ b/lib/Headers/avxintrin.h @@ -21,12 +21,9 @@ *===-----------------------------------------------------------------------=== */ -#ifndef __AVXINTRIN_H -#define __AVXINTRIN_H - -#ifndef __AVX__ -#error "AVX instruction set not enabled" -#else +#ifndef __IMMINTRIN_H +#error "Never use directly; include instead." +#endif typedef double __v4df __attribute__ ((__vector_size__ (32))); typedef float __v8sf __attribute__ ((__vector_size__ (32))); @@ -1157,7 +1154,3 @@ _mm256_castsi128_si256(__m128i in) __m128i zero = _mm_setzero_si128(); return __builtin_shufflevector(in, zero, 0, 1, 2, 2); } - -#endif /* __AVX__ */ - -#endif /* __AVXINTRIN_H */ diff --git a/test/Headers/x86-intrinsics-headers.c b/test/Headers/x86-intrinsics-headers.c index b3beab1c51..ba833ec038 100644 --- a/test/Headers/x86-intrinsics-headers.c +++ b/test/Headers/x86-intrinsics-headers.c @@ -4,33 +4,16 @@ #if defined(i386) || defined(__x86_64__) -# if defined(__MMX__) -#include +#ifdef __MMX__ #include -# endif - -# if defined(__SSE__) -#include -# endif - -# if defined(__SSE3__) -#include -# endif - -# if defined(__SSSE3__) -#include -# endif - -# if defined(__SSE4_1__) -#include -# endif +#endif -# if defined(__SSE4_2__) +#ifdef __SSE4_2__ +// nmmintrin forwards to smmintrin. #include -# endif +#endif -# if defined(__AVX__) -#include -# endif +// immintrin includes all other intel intrinsic headers. +#include #endif