summaryrefslogtreecommitdiff
path: root/lib/clang/3.6/include/avx2intrin.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/clang/3.6/include/avx2intrin.h')
-rw-r--r--lib/clang/3.6/include/avx2intrin.h10
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)
{