summaryrefslogtreecommitdiffstats
path: root/lib/Headers/avx512vlbwintrin.h
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-28 21:21:08 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-28 21:21:08 +0000
commita2ae4a45d35099e69da87db7b51c72e3b8f55f50 (patch)
tree49743d86aaebe7573cada07392ce5af161be3ef2 /lib/Headers/avx512vlbwintrin.h
parent75ca7db314d34a14750f18cc35e018f667571f86 (diff)
[clang][AVX512][Builtin] Adding intrinsics for the SAD instruction set.
Differential Revision: http://reviews.llvm.org/D19591 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267942 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Headers/avx512vlbwintrin.h')
-rw-r--r--lib/Headers/avx512vlbwintrin.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/Headers/avx512vlbwintrin.h b/lib/Headers/avx512vlbwintrin.h
index bee20aa183..86a206b8ee 100644
--- a/lib/Headers/avx512vlbwintrin.h
+++ b/lib/Headers/avx512vlbwintrin.h
@@ -3392,6 +3392,54 @@ __builtin_ia32_palignr256_mask ((__v4di)( __A),\
(__mmask32)( __U));\
})
+#define _mm_dbsad_epu8( __A, __B, __imm) __extension__ ({ \
+__builtin_ia32_dbpsadbw128_mask ((__v16qi)( __A),\
+ (__v16qi)( __B),\
+ ( __imm),\
+ (__v8hi) _mm_setzero_hi (),\
+ (__mmask8) -1);\
+})
+
+#define _mm_mask_dbsad_epu8( __W, __U, __A, __B, __imm) __extension__ ({ \
+__builtin_ia32_dbpsadbw128_mask ((__v16qi)( __A),\
+ (__v16qi)( __B),\
+ ( __imm),\
+ (__v8hi)( __W),\
+ (__mmask8)( __U));\
+})
+
+#define _mm_maskz_dbsad_epu8( __U, __A, __B, __imm) __extension__ ({ \
+__builtin_ia32_dbpsadbw128_mask ((__v16qi)( __A),\
+ (__v16qi)( __B),\
+ ( __imm),\
+ (__v8hi) _mm_setzero_si128 (),\
+ (__mmask8)( __U));\
+})
+
+#define _mm256_dbsad_epu8( __A, __B, __imm) __extension__ ({ \
+__builtin_ia32_dbpsadbw256_mask ((__v32qi)( __A),\
+ (__v32qi)( __B),\
+ ( __imm),\
+ (__v16hi) _mm256_setzero_si256 (),\
+ (__mmask16) -1);\
+})
+
+#define _mm256_mask_dbsad_epu8( __W, __U, __A, __B, __imm) __extension__ ({ \
+__builtin_ia32_dbpsadbw256_mask ((__v32qi)( __A),\
+ (__v32qi)( __B),\
+ ( __imm),\
+ (__v16hi)( __W),\
+ (__mmask16)( __U));\
+})
+
+#define _mm256_maskz_dbsad_epu8( __U, __A, __B, __imm) __extension__ ({ \
+__builtin_ia32_dbpsadbw256_mask ((__v32qi)( __A),\
+ (__v32qi)( __B),\
+ ( __imm),\
+ (__v16hi) _mm256_setzero_si256 (),\
+ (__mmask16)( __U));\
+})
+
#undef __DEFAULT_FN_ATTRS
#endif /* __AVX512VLBWINTRIN_H */