diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2007-12-14 13:43:57 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2007-12-14 13:43:57 +0100 |
commit | 2c9fd13e905b68909db52d6868645790f935e35a (patch) | |
tree | 44e6d681b4e691d75ad114fbc2e53783ef7e2949 /gcc/config/i386/emmintrin.h | |
parent | e96e22e379b2e9773c48d9ea476be5d72a311d96 (diff) | |
download | gcc-2c9fd13e905b68909db52d6868645790f935e35a.tar.gz |
sse-14.c (test_1, [...]): New macros to test macroized SSE intrinsics.
* gcc.target/i386/sse-14.c (test_1, test_2, test_2x, test_4): New
macros to test macroized SSE intrinsics. Use new macros to test
macroized SSE intrinsics from ammintrin.h, smmintrin.h, tmmintrin.h,
emmintrin.h, xmmintrin.h and bmmintrin.h
* gcc.target/i386/sse-13.c (__builtin_ia32_pcmp?str*128): Redefine
to test with immediate operand.
From-SVN: r130930
Diffstat (limited to 'gcc/config/i386/emmintrin.h')
-rw-r--r-- | gcc/config/i386/emmintrin.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h index 1a0affc7755..c5bbe8bf82a 100644 --- a/gcc/config/i386/emmintrin.h +++ b/gcc/config/i386/emmintrin.h @@ -887,9 +887,9 @@ _mm_shuffle_pd(__m128d __A, __m128d __B, const int __mask) return (__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, __mask); } #else -#define _mm_shuffle_pd(__A, __B, __C) \ - ((__m128d)__builtin_ia32_shufpd ((__v2df)(__m128d)__A, \ - (__v2df)(__m128d)__B, (int)(__C))) +#define _mm_shuffle_pd(A, B, N) \ + ((__m128d)__builtin_ia32_shufpd ((__v2df)(__m128d)(A), \ + (__v2df)(__m128d)(B), (int)(N))) #endif static __inline __m128d __attribute__((__always_inline__, __artificial__)) @@ -1146,21 +1146,21 @@ _mm_srai_epi32 (__m128i __A, int __B) #ifdef __OPTIMIZE__ static __inline __m128i __attribute__((__always_inline__, __artificial__)) -_mm_srli_si128 (__m128i __A, const int __B) +_mm_srli_si128 (__m128i __A, const int __N) { - return (__m128i)__builtin_ia32_psrldqi128 (__A, __B * 8); + return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8); } static __inline __m128i __attribute__((__always_inline__, __artificial__)) -_mm_slli_si128 (__m128i __A, const int __B) +_mm_slli_si128 (__m128i __A, const int __N) { - return (__m128i)__builtin_ia32_pslldqi128 (__A, __B * 8); + return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8); } #else -#define _mm_srli_si128(__A, __B) \ - ((__m128i)__builtin_ia32_psrldqi128 (__A, (__B) * 8)) -#define _mm_slli_si128(__A, __B) \ - ((__m128i)__builtin_ia32_pslldqi128 (__A, (__B) * 8)) +#define _mm_srli_si128(A, N) \ + ((__m128i)__builtin_ia32_psrldqi128 ((__m128i)(A), (int)(N) * 8)) +#define _mm_slli_si128(A, N) \ + ((__m128i)__builtin_ia32_pslldqi128 ((__m128i)(A), (int)(N) * 8)) #endif static __inline __m128i __attribute__((__always_inline__, __artificial__)) @@ -1382,12 +1382,12 @@ _mm_shuffle_epi32 (__m128i __A, const int __mask) return (__m128i)__builtin_ia32_pshufd ((__v4si)__A, __mask); } #else -#define _mm_shufflehi_epi16(__A, __B) \ - ((__m128i)__builtin_ia32_pshufhw ((__v8hi)(__m128i)__A, (int)__B)) -#define _mm_shufflelo_epi16(__A, __B) \ - ((__m128i)__builtin_ia32_pshuflw ((__v8hi)(__m128i)__A, (int)__B)) -#define _mm_shuffle_epi32(__A, __B) \ - ((__m128i)__builtin_ia32_pshufd ((__v4si)(__m128i)__A, (int)__B)) +#define _mm_shufflehi_epi16(A, N) \ + ((__m128i)__builtin_ia32_pshufhw ((__v8hi)(__m128i)(A), (int)(N))) +#define _mm_shufflelo_epi16(A, N) \ + ((__m128i)__builtin_ia32_pshuflw ((__v8hi)(__m128i)(A), (int)(N))) +#define _mm_shuffle_epi32(A, N) \ + ((__m128i)__builtin_ia32_pshufd ((__v4si)(__m128i)(A), (int)(N))) #endif static __inline void __attribute__((__always_inline__, __artificial__)) |