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") Index: lib/Headers/avx512bwintrin.h =================================================================== --- lib/Headers/avx512bwintrin.h +++ lib/Headers/avx512bwintrin.h @@ -2117,8 +2117,8 @@ 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); } @@ -2127,8 +2127,8 @@ _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); } @@ -2137,8 +2137,8 @@ _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: lib/Headers/avx512fintrin.h =================================================================== --- lib/Headers/avx512fintrin.h +++ lib/Headers/avx512fintrin.h @@ -8280,8 +8280,8 @@ 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); } @@ -8289,8 +8289,8 @@ 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); } @@ -8298,8 +8298,8 @@ 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); } @@ -8307,8 +8307,8 @@ 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); } @@ -8316,8 +8316,8 @@ 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); } @@ -8326,8 +8326,8 @@ _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); } @@ -8335,8 +8335,8 @@ 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); } @@ -8344,8 +8344,8 @@ 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); } @@ -8353,8 +8353,8 @@ 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); } @@ -8362,8 +8362,8 @@ 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); } @@ -8371,8 +8371,8 @@ 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); } @@ -8381,8 +8381,8 @@ _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/avx512vlbwintrin.h =================================================================== --- lib/Headers/avx512vlbwintrin.h +++ lib/Headers/avx512vlbwintrin.h @@ -3282,8 +3282,8 @@ 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); } @@ -3291,8 +3291,8 @@ 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); } @@ -3301,8 +3301,8 @@ _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); } @@ -3310,8 +3310,8 @@ 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); } @@ -3320,8 +3320,8 @@ _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); } @@ -3330,8 +3330,8 @@ _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/avx512vlintrin.h =================================================================== --- lib/Headers/avx512vlintrin.h +++ lib/Headers/avx512vlintrin.h @@ -8940,8 +8940,8 @@ 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); } @@ -8950,8 +8950,8 @@ _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); } @@ -8959,8 +8959,8 @@ 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); } @@ -8968,8 +8968,8 @@ 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); } @@ -8977,8 +8977,8 @@ 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); } @@ -8987,8 +8987,8 @@ _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); } @@ -8997,8 +8997,8 @@ _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); } @@ -9006,8 +9006,8 @@ 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); } @@ -9015,8 +9015,8 @@ 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); } @@ -9024,8 +9024,8 @@ 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); } @@ -9034,8 +9034,8 @@ _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); } @@ -9043,8 +9043,8 @@ 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); }