diff options
author | Craig Topper <craig.topper@gmail.com> | 2015-02-01 07:35:40 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2015-02-01 07:35:40 +0000 |
commit | 67826a5883da8c45464c52fa86f36c684b5f8cf6 (patch) | |
tree | 7eb06ad7e2fd9f3c2249acdb1900fb312090f3aa /clang/lib/Headers/avx512fintrin.h | |
parent | 72c7d51251fee052a14bd30dd23e1977f943893e (diff) | |
download | bcm5719-llvm-67826a5883da8c45464c52fa86f36c684b5f8cf6.tar.gz bcm5719-llvm-67826a5883da8c45464c52fa86f36c684b5f8cf6.zip |
[X86] Rename _mm512_valign_epi64/32 intrinsics to _mm512_alignr_epi64/32 to match Intel docs. Make immediate argument to them an ICE. Fix mask size for the alignd version.
llvm-svn: 227713
Diffstat (limited to 'clang/lib/Headers/avx512fintrin.h')
-rw-r--r-- | clang/lib/Headers/avx512fintrin.h | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/clang/lib/Headers/avx512fintrin.h b/clang/lib/Headers/avx512fintrin.h index 8aa6cecf9d3..09b29fa0496 100644 --- a/clang/lib/Headers/avx512fintrin.h +++ b/clang/lib/Headers/avx512fintrin.h @@ -606,25 +606,17 @@ _mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B) (__mmask16) -1); } -static __inline __m512i __attribute__ ((__always_inline__, __nodebug__)) -_mm512_valign_epi64(__m512i __A, __m512i __B, const int __I) -{ - return (__m512i) __builtin_ia32_alignq512_mask((__v8di)__A, - (__v8di)__B, - __I, - (__v8di)_mm512_setzero_si512(), - (__mmask8) -1); -} +#define _mm512_alignr_epi64(A, B, I) __extension__ ({ \ + (__m512i)__builtin_ia32_alignq512_mask((__v8di)(__m512i)(A), \ + (__v8di)(__m512i)(B), \ + (I), (__v8di)_mm512_setzero_si512(), \ + (__mmask8)-1); }) -static __inline __m512i __attribute__ ((__always_inline__, __nodebug__)) -_mm512_valign_epi32(__m512i __A, __m512i __B, const int __I) -{ - return (__m512i)__builtin_ia32_alignd512_mask((__v16si)__A, - (__v16si)__B, - __I, - (__v16si)_mm512_setzero_si512(), - (__mmask16) -1); -} +#define _mm512_alignr_epi32(A, B, I) __extension__ ({ \ + (__m512i)__builtin_ia32_alignd512_mask((__v16si)(__m512i)(A), \ + (__v16si)(__m512i)(B), \ + (I), (__v16si)_mm512_setzero_si512(), \ + (__mmask16)-1); }) /* Vector Extract */ |