diff options
Diffstat (limited to 'lib/clang/3.6/include/avx2intrin.h')
-rw-r--r-- | lib/clang/3.6/include/avx2intrin.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/clang/3.6/include/avx2intrin.h b/lib/clang/3.6/include/avx2intrin.h index 949195b..e1e639d 100644 --- a/lib/clang/3.6/include/avx2intrin.h +++ b/lib/clang/3.6/include/avx2intrin.h @@ -542,6 +542,8 @@ _mm256_sign_epi32(__m256i __a, __m256i __b) __m256i __a = (a); \ (__m256i)__builtin_ia32_pslldqi256(__a, (count)*8); }) +#define _mm256_bslli_epi128(a, count) _mm256_slli_si256((a), (count)) + static __inline__ __m256i __attribute__((__always_inline__, __nodebug__)) _mm256_slli_epi16(__m256i __a, int __count) { @@ -606,6 +608,8 @@ _mm256_sra_epi32(__m256i __a, __m128i __count) __m256i __a = (a); \ (__m256i)__builtin_ia32_psrldqi256(__a, (count)*8); }) +#define _mm256_bsrli_epi128(a, count) _mm256_srli_si256((a), (count)) + static __inline__ __m256i __attribute__((__always_inline__, __nodebug__)) _mm256_srli_epi16(__m256i __a, int __count) { @@ -756,6 +760,12 @@ _mm_broadcastss_ps(__m128 __X) return (__m128)__builtin_ia32_vbroadcastss_ps((__v4sf)__X); } +static __inline__ __m128d __attribute__((__always_inline__, __nodebug__)) +_mm_broadcastsd_pd(__m128d __a) +{ + return __builtin_shufflevector(__a, __a, 0, 0); +} + static __inline__ __m256 __attribute__((__always_inline__, __nodebug__)) _mm256_broadcastss_ps(__m128 __X) { |