| Index: third_party/asan/asan_clang_Linux/lib/clang/3.1/include/emmintrin.h
|
| ===================================================================
|
| --- third_party/asan/asan_clang_Linux/lib/clang/3.1/include/emmintrin.h (revision 110893)
|
| +++ third_party/asan/asan_clang_Linux/lib/clang/3.1/include/emmintrin.h (working copy)
|
| @@ -821,8 +821,9 @@
|
| return a ^ b;
|
| }
|
|
|
| -#define _mm_slli_si128(VEC, IMM) \
|
| - ((__m128i)__builtin_ia32_pslldqi128((__m128i)(VEC), (IMM)*8))
|
| +#define _mm_slli_si128(a, count) __extension__ ({ \
|
| + __m128i __a = (a); \
|
| + (__m128i)__builtin_ia32_pslldqi128(__a, (count)*8); })
|
|
|
| static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
| _mm_slli_epi16(__m128i a, int count)
|
| @@ -885,8 +886,9 @@
|
| }
|
|
|
|
|
| -#define _mm_srli_si128(VEC, IMM) \
|
| - ((__m128i)__builtin_ia32_psrldqi128((__m128i)(VEC), (IMM)*8))
|
| +#define _mm_srli_si128(a, count) __extension__ ({ \
|
| + __m128i __a = (a); \
|
| + (__m128i)__builtin_ia32_psrldqi128(__a, (count)*8); })
|
|
|
| static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
| _mm_srli_epi16(__m128i a, int count)
|
| @@ -1259,23 +1261,27 @@
|
| return __builtin_ia32_pmovmskb128((__v16qi)a);
|
| }
|
|
|
| -#define _mm_shuffle_epi32(a, imm) \
|
| - ((__m128i)__builtin_shufflevector((__v4si)(a), (__v4si) _mm_set1_epi32(0), \
|
| - (imm) & 0x3, ((imm) & 0xc) >> 2, \
|
| - ((imm) & 0x30) >> 4, ((imm) & 0xc0) >> 6))
|
| +#define _mm_shuffle_epi32(a, imm) __extension__ ({ \
|
| + __m128i __a = (a); \
|
| + (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si) _mm_set1_epi32(0), \
|
| + (imm) & 0x3, ((imm) & 0xc) >> 2, \
|
| + ((imm) & 0x30) >> 4, ((imm) & 0xc0) >> 6); })
|
|
|
| +#define _mm_shufflelo_epi16(a, imm) __extension__ ({ \
|
| + __m128i __a = (a); \
|
| + (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi) _mm_set1_epi16(0), \
|
| + (imm) & 0x3, ((imm) & 0xc) >> 2, \
|
| + ((imm) & 0x30) >> 4, ((imm) & 0xc0) >> 6, \
|
| + 4, 5, 6, 7); })
|
|
|
| -#define _mm_shufflelo_epi16(a, imm) \
|
| - ((__m128i)__builtin_shufflevector((__v8hi)(a), (__v8hi) _mm_set1_epi16(0), \
|
| - (imm) & 0x3, ((imm) & 0xc) >> 2, \
|
| - ((imm) & 0x30) >> 4, ((imm) & 0xc0) >> 6, \
|
| - 4, 5, 6, 7))
|
| -#define _mm_shufflehi_epi16(a, imm) \
|
| - ((__m128i)__builtin_shufflevector((__v8hi)(a), (__v8hi) _mm_set1_epi16(0), 0, 1, 2, 3, \
|
| - 4 + (((imm) & 0x03) >> 0), \
|
| - 4 + (((imm) & 0x0c) >> 2), \
|
| - 4 + (((imm) & 0x30) >> 4), \
|
| - 4 + (((imm) & 0xc0) >> 6)))
|
| +#define _mm_shufflehi_epi16(a, imm) __extension__ ({ \
|
| + __m128i __a = (a); \
|
| + (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi) _mm_set1_epi16(0), \
|
| + 0, 1, 2, 3, \
|
| + 4 + (((imm) & 0x03) >> 0), \
|
| + 4 + (((imm) & 0x0c) >> 2), \
|
| + 4 + (((imm) & 0x30) >> 4), \
|
| + 4 + (((imm) & 0xc0) >> 6)); })
|
|
|
| static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
|
| _mm_unpackhi_epi8(__m128i a, __m128i b)
|
| @@ -1361,9 +1367,10 @@
|
| return __builtin_ia32_movmskpd(a);
|
| }
|
|
|
| -#define _mm_shuffle_pd(a, b, i) \
|
| - (__builtin_shufflevector((__m128d)(a), (__m128d)(b), (i) & 1, \
|
| - (((i) & 2) >> 1) + 2))
|
| +#define _mm_shuffle_pd(a, b, i) __extension__ ({ \
|
| + __m128d __a = (a); \
|
| + __m128d __b = (b); \
|
| + __builtin_shufflevector(__a, __b, (i) & 1, (((i) & 2) >> 1) + 2); })
|
|
|
| static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
|
| _mm_castpd_ps(__m128d in)
|
|
|