diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-28 21:21:08 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-28 21:21:08 +0000 |
commit | a2ae4a45d35099e69da87db7b51c72e3b8f55f50 (patch) | |
tree | 49743d86aaebe7573cada07392ce5af161be3ef2 /lib/Headers/avx512vlbwintrin.h | |
parent | 75ca7db314d34a14750f18cc35e018f667571f86 (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.h | 48 |
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 */ |