From: Michael Zuckerman Date: Tue, 5 Jul 2016 11:30:31 +0000 (+0000) Subject: ntrinsics _mm256_permutexvar_epi64 doesn't accept three parameters as specify bellow. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=98ff6b10199cc24ff338f96cfa94b3e32572cf0c;p=clang ntrinsics _mm256_permutexvar_epi64 doesn't accept three parameters as specify bellow. I deleted the extra mask parameter. __m256i _mm256_permutexvar_epi64 (__m256i idx, __m256i a) #include "immintrin.h" Instruction: vpermq CPUID Flags: AVX512VL + AVX512F Description Shuffle 64-bit integers in a across lanes using the corresponding index in idx, and store the results in dst. Operation FOR j := 0 to 3 i := j*64 id := idx[i+1:i]*64 dst[i+63:i] := a[id+63:id] ENDFOR dst[MAX:256] := 0 dst[MAX:256] := 0 (From: Intel intrinsics guide) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274539 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Headers/avx512vlintrin.h b/lib/Headers/avx512vlintrin.h index a84418b444..8e6a8a89f6 100644 --- a/lib/Headers/avx512vlintrin.h +++ b/lib/Headers/avx512vlintrin.h @@ -8870,7 +8870,7 @@ _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y) } static __inline__ __m256i __DEFAULT_FN_ATTRS -_mm256_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y) +_mm256_permutexvar_epi64 ( __m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, (__v4di) __X,