https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61878
Bug ID: 61878 Summary: Missing intrinsic functions in avx512intrin.h Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: agner at agner dot org A few compare functions are missing in avx512intrin.h, e.g. _mm512_cmpgt_epu32_mask and _mm512_cmpgt_epu64_mask All intrinsic functions for typecasting are also missing. Please add these functions, as they are indispensable. See https://software.intel.com/en-us/node/513903 and https://software.intel.com/sites/landingpage/IntrinsicsGuide/ for documentation of these functions. Definitions copied from Intel's zmmintrin.h: /* Conversion from one type to another, no change in value. */ extern __m512 __ICL_INTRINCC _mm512_castpd_ps(__m512d); extern __m512i __ICL_INTRINCC _mm512_castpd_si512(__m512d); extern __m512d __ICL_INTRINCC _mm512_castps_pd(__m512); extern __m512i __ICL_INTRINCC _mm512_castps_si512(__m512); extern __m512 __ICL_INTRINCC _mm512_castsi512_ps(__m512i); extern __m512d __ICL_INTRINCC _mm512_castsi512_pd(__m512i); * Casts from a larger type to a smaller type. */ extern __m128d __ICL_INTRINCC _mm512_castpd512_pd128(__m512d); extern __m128 __ICL_INTRINCC _mm512_castps512_ps128(__m512); extern __m128i __ICL_INTRINCC _mm512_castsi512_si128(__m512i); extern __m256d __ICL_INTRINCC _mm512_castpd512_pd256(__m512d); extern __m256 __ICL_INTRINCC _mm512_castps512_ps256(__m512); extern __m256i __ICL_INTRINCC _mm512_castsi512_si256(__m512i); /* * Casts from a smaller type to a larger type. * Upper elements of the result are undefined. */ extern __m512d __ICL_INTRINCC _mm512_castpd128_pd512(__m128d); extern __m512 __ICL_INTRINCC _mm512_castps128_ps512(__m128); extern __m512i __ICL_INTRINCC _mm512_castsi128_si512(__m128i); extern __m512d __ICL_INTRINCC _mm512_castpd256_pd512(__m256d); extern __m512 __ICL_INTRINCC _mm512_castps256_ps512(__m256); extern __m512i __ICL_INTRINCC _mm512_castsi256_si512(__m256i);