igorb updated this revision to Diff 58055. igorb added a comment. Update path according to comments. Thanks for review, Craig !
Repository: rL LLVM http://reviews.llvm.org/D20321 Files: include/clang/Basic/BuiltinsX86.def lib/Headers/avx512bwintrin.h lib/Headers/avx512fintrin.h lib/Headers/avx512vlbwintrin.h lib/Headers/avx512vlintrin.h
Index: lib/Headers/avx512vlintrin.h =================================================================== --- lib/Headers/avx512vlintrin.h +++ lib/Headers/avx512vlintrin.h @@ -8940,111 +8940,111 @@ static __inline__ __m256d __DEFAULT_FN_ATTRS _mm256_permutexvar_pd (__m256i __X, __m256d __Y) { - return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, - (__v4di) __X, + return (__m256d) __builtin_ia32_permvardf256_mask ((__v4di) __X /* idx */, + (__v4df) __Y, (__v4df) _mm256_undefined_si256 (), (__mmask8) -1); } static __inline__ __m256d __DEFAULT_FN_ATTRS _mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X, __m256d __Y) { - return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, - (__v4di) __X, + return (__m256d) __builtin_ia32_permvardf256_mask ((__v4di) __X /* idx */, + (__v4df) __Y, (__v4df) __W, (__mmask8) __U); } static __inline__ __m256d __DEFAULT_FN_ATTRS _mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y) { - return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y, - (__v4di) __X, + return (__m256d) __builtin_ia32_permvardf256_mask ((__v4di) __X /* idx */, + (__v4df) __Y, (__v4df) _mm256_setzero_pd (), (__mmask8) __U); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y) { - return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, - (__v4di) __X, + return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __X /* idx */, + (__v4di) __Y, (__v4di) _mm256_setzero_si256 (), (__mmask8) __M); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y) { - return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, - (__v4di) __X, + return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __X /* idx */, + (__v4di) __Y, (__v4di) _mm256_undefined_si256 (), (__mmask8) -1); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { - return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, - (__v4di) __X, + return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __X /* idx */, + (__v4di) __Y, (__v4di) __W, __M); } static __inline__ __m256 __DEFAULT_FN_ATTRS _mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X, __m256 __Y) { - return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, - (__v8si) __X, + return (__m256) __builtin_ia32_permvarsf256_mask ((__v8si) __X /* idx */, + (__v8sf) __Y, (__v8sf) __W, (__mmask8) __U); } static __inline__ __m256 __DEFAULT_FN_ATTRS _mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y) { - return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, - (__v8si) __X, + return (__m256) __builtin_ia32_permvarsf256_mask ((__v8si) __X /* idx */, + (__v8sf) __Y, (__v8sf) _mm256_setzero_ps (), (__mmask8) __U); } static __inline__ __m256 __DEFAULT_FN_ATTRS _mm256_permutexvar_ps (__m256i __X, __m256 __Y) { - return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y, - (__v8si) __X, + return (__m256) __builtin_ia32_permvarsf256_mask ((__v8si) __X /* idx */, + (__v8sf) __Y, (__v8sf) _mm256_undefined_si256 (), (__mmask8) -1); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y) { - return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, - (__v8si) __X, + return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __X /* idx */, + (__v8si) __Y, (__v8si) _mm256_setzero_si256 (), __M); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { - return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, - (__v8si) __X, + return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __X /* idx */, + (__v8si) __Y, (__v8si) __W, (__mmask8) __M); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_permutexvar_epi32 (__m256i __X, __m256i __Y) { - return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, - (__v8si) __X, + return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __X /* idx */, + (__v8si) __Y, (__v8si) _mm256_undefined_si256(), (__mmask8) -1); } Index: lib/Headers/avx512vlbwintrin.h =================================================================== --- lib/Headers/avx512vlbwintrin.h +++ lib/Headers/avx512vlbwintrin.h @@ -3282,56 +3282,56 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_permutexvar_epi16 (__m128i __A, __m128i __B) { - return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B, - (__v8hi) __A, + return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __A /* idx */, + (__v8hi) __B, (__v8hi) _mm_undefined_si128 (), (__mmask8) -1); } static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B) { - return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B, - (__v8hi) __A, + return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __A /* idx */, + (__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __M); } static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { - return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B, - (__v8hi) __A, + return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __A /* idx */, + (__v8hi) __B, (__v8hi) __W, (__mmask8) __M); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_permutexvar_epi16 (__m256i __A, __m256i __B) { - return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B, - (__v16hi) __A, + return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __A /* idx */, + (__v16hi) __B, (__v16hi) _mm256_undefined_si256 (), (__mmask16) -1); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A, __m256i __B) { - return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B, - (__v16hi) __A, + return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __A/* idx */, + (__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __M); } static __inline__ __m256i __DEFAULT_FN_ATTRS _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { - return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B, - (__v16hi) __A, + return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __A /* idx */, + (__v16hi) __B, (__v16hi) __W, (__mmask16) __M); } Index: lib/Headers/avx512fintrin.h =================================================================== --- lib/Headers/avx512fintrin.h +++ lib/Headers/avx512fintrin.h @@ -8280,109 +8280,109 @@ static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_permutexvar_pd (__m512i __X, __m512d __Y) { - return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y, - (__v8di) __X, + return (__m512d) __builtin_ia32_permvardf512_mask ((__v8di) __X /* idx */, + (__v8df) __Y, (__v8df) _mm512_undefined_pd (), (__mmask8) -1); } static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_pd (__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y) { - return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y, - (__v8di) __X, + return (__m512d) __builtin_ia32_permvardf512_mask ((__v8di) __X /* idx */, + (__v8df) __Y, (__v8df) __W, (__mmask8) __U); } static __inline__ __m512d __DEFAULT_FN_ATTRS _mm512_maskz_permutexvar_pd (__mmask8 __U, __m512i __X, __m512d __Y) { - return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y, - (__v8di) __X, + return (__m512d) __builtin_ia32_permvardf512_mask ((__v8di) __X /* idx */, + (__v8df) __Y, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y) { - return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, - (__v8di) __X, + return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __X /* idx */, + (__v8di) __Y, (__v8di) _mm512_setzero_si512 (), __M); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_permutexvar_epi64 (__m512i __X, __m512i __Y) { - return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, - (__v8di) __X, + return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __X /* idx */, + (__v8di) __Y, (__v8di) _mm512_undefined_epi32 (), (__mmask8) -1); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { - return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y, - (__v8di) __X, + return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __X /* idx */, + (__v8di) __Y, (__v8di) __W, __M); } static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_permutexvar_ps (__m512i __X, __m512 __Y) { - return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y, - (__v16si) __X, + return (__m512) __builtin_ia32_permvarsf512_mask ((__v16si) __X /* idx */, + (__v16sf) __Y, (__v16sf) _mm512_undefined_ps (), (__mmask16) -1); } static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_ps (__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y) { - return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y, - (__v16si) __X, + return (__m512) __builtin_ia32_permvarsf512_mask ((__v16si) __X /* idx */, + (__v16sf) __Y, (__v16sf) __W, (__mmask16) __U); } static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_permutexvar_ps (__mmask16 __U, __m512i __X, __m512 __Y) { - return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y, - (__v16si) __X, + return (__m512) __builtin_ia32_permvarsf512_mask ((__v16si) __X /* idx */, + (__v16sf) __Y, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y) { - return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, - (__v16si) __X, + return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __X /* idx */, + (__v16si) __Y, (__v16si) _mm512_setzero_si512 (), __M); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_permutexvar_epi32 (__m512i __X, __m512i __Y) { - return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, - (__v16si) __X, + return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __X /* idx */, + (__v16si) __Y, (__v16si) _mm512_undefined_epi32 (), (__mmask16) -1); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X, __m512i __Y) { - return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y, - (__v16si) __X, + return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __X /* idx */, + (__v16si) __Y, (__v16si) __W, __M); } Index: lib/Headers/avx512bwintrin.h =================================================================== --- lib/Headers/avx512bwintrin.h +++ lib/Headers/avx512bwintrin.h @@ -2117,28 +2117,28 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_permutexvar_epi16 (__m512i __A, __m512i __B) { - return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B, - (__v32hi) __A, + return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __A /* idx */, + (__v32hi) __B, (__v32hi) _mm512_undefined_epi32 (), (__mmask32) -1); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_permutexvar_epi16 (__mmask32 __M, __m512i __A, __m512i __B) { - return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B, - (__v32hi) __A, + return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __A /* idx */, + (__v32hi) __B, (__v32hi) _mm512_setzero_hi(), (__mmask32) __M); } static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { - return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B, - (__v32hi) __A, + return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __A /* idx */, + (__v32hi) __B, (__v32hi) __W, (__mmask32) __M); } Index: include/clang/Basic/BuiltinsX86.def =================================================================== --- include/clang/Basic/BuiltinsX86.def +++ include/clang/Basic/BuiltinsX86.def @@ -2181,18 +2181,18 @@ TARGET_BUILTIN(__builtin_ia32_permdf256_mask, "V4dV4dIiV4dUc","","avx512vl") TARGET_BUILTIN(__builtin_ia32_permdi256_mask, "V4LLiV4LLiIiV4LLiUc","","avx512vl") TARGET_BUILTIN(__builtin_ia32_permvarhi512_mask, "V32sV32sV32sV32sUi","","avx512bw") -TARGET_BUILTIN(__builtin_ia32_permvardf512_mask, "V8dV8dV8LLiV8dUc","","avx512f") +TARGET_BUILTIN(__builtin_ia32_permvardf512_mask, "V8dV8LLiV8dV8dUc","","avx512f") TARGET_BUILTIN(__builtin_ia32_permvardi512_mask, "V8LLiV8LLiV8LLiV8LLiUc","","avx512f") -TARGET_BUILTIN(__builtin_ia32_permvarsf512_mask, "V16fV16fV16iV16fUs","","avx512f") +TARGET_BUILTIN(__builtin_ia32_permvarsf512_mask, "V16fV16iV16fV16fUs","","avx512f") TARGET_BUILTIN(__builtin_ia32_permvarsi512_mask, "V16iV16iV16iV16iUs","","avx512f") TARGET_BUILTIN(__builtin_ia32_permvarqi512_mask, "V64cV64cV64cV64cULLi","","avx512vbmi") TARGET_BUILTIN(__builtin_ia32_permvarqi128_mask, "V16cV16cV16cV16cUs","","avx512vbmi,avx512vl") TARGET_BUILTIN(__builtin_ia32_permvarqi256_mask, "V32cV32cV32cV32cUi","","avx512vbmi,avx512vl") TARGET_BUILTIN(__builtin_ia32_permvarhi128_mask, "V8sV8sV8sV8sUc","","avx512bw,avx512vl") TARGET_BUILTIN(__builtin_ia32_permvarhi256_mask, "V16sV16sV16sV16sUs","","avx512bw,avx512vl") -TARGET_BUILTIN(__builtin_ia32_permvardf256_mask, "V4dV4dV4LLiV4dUc","","avx512vl") +TARGET_BUILTIN(__builtin_ia32_permvardf256_mask, "V4dV4LLiV4dV4dUc","","avx512vl") TARGET_BUILTIN(__builtin_ia32_permvardi256_mask, "V4LLiV4LLiV4LLiV4LLiUc","","avx512vl") -TARGET_BUILTIN(__builtin_ia32_permvarsf256_mask, "V8fV8fV8iV8fUc","","avx512vl") +TARGET_BUILTIN(__builtin_ia32_permvarsf256_mask, "V8fV8iV8fV8fUc","","avx512vl") TARGET_BUILTIN(__builtin_ia32_permvarsi256_mask, "V8iV8iV8iV8iUc","","avx512vl") TARGET_BUILTIN(__builtin_ia32_fpclasspd128_mask, "UcV2dIiUc","","avx512dq,avx512vl") TARGET_BUILTIN(__builtin_ia32_fpclasspd256_mask, "UcV4dIiUc","","avx512dq,avx512vl")
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits