Index: clang/lib/Headers/avx512fintrin.h =================================================================== --- clang/lib/Headers/avx512fintrin.h +++ clang/lib/Headers/avx512fintrin.h @@ -9659,6 +9659,12 @@ } #undef _mm512_mask_reduce_operator +static __inline__ int __DEFAULT_FN_ATTRS512 +_mm512_cvtsi512_si32(__m512i __A) { + __v16si __b = (__v16si)__A; + return __b[0]; +} + #undef __DEFAULT_FN_ATTRS512 #undef __DEFAULT_FN_ATTRS128 #undef __DEFAULT_FN_ATTRS Index: clang/test/CodeGen/avx512f-builtins.c =================================================================== --- clang/test/CodeGen/avx512f-builtins.c +++ clang/test/CodeGen/avx512f-builtins.c @@ -10845,3 +10845,9 @@ // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <8 x i32> return _mm512_zextsi256_si512(A); } + +int test_mm512_cvtsi512_si32(__m512i a) { + // CHECK-LABEL: test_mm512_cvtsi512_si32 + // CHECK: %{{.*}} = extractelement <16 x i32> %{{.*}}, i32 0 + return _mm512_cvtsi512_si32(a); +}