gcc/
PR target/61878 * config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New. (_mm512_mask_cmpge_epu32_mask): Ditto. (_mm512_cmpge_epu32_mask): Ditto. (_mm512_mask_cmpge_epi64_mask): Ditto. (_mm512_cmpge_epi64_mask): Ditto. (_mm512_mask_cmpge_epu64_mask): Ditto. (_mm512_cmpge_epu64_mask): Ditto. (_mm512_mask_cmple_epi32_mask): Ditto. (_mm512_cmple_epi32_mask): Ditto. (_mm512_mask_cmple_epu32_mask): Ditto. (_mm512_cmple_epu32_mask): Ditto. (_mm512_mask_cmple_epi64_mask): Ditto. (_mm512_cmple_epi64_mask): Ditto. (_mm512_mask_cmple_epu64_mask): Ditto. (_mm512_cmple_epu64_mask): Ditto. (_mm512_mask_cmplt_epi32_mask): Ditto. (_mm512_cmplt_epi32_mask): Ditto. (_mm512_mask_cmplt_epu32_mask): Ditto. (_mm512_cmplt_epu32_mask): Ditto. (_mm512_mask_cmplt_epi64_mask): Ditto. (_mm512_cmplt_epi64_mask): Ditto. (_mm512_mask_cmplt_epu64_mask): Ditto. (_mm512_cmplt_epu64_mask): Ditto. (_mm512_mask_cmpneq_epi32_mask): Ditto. (_mm512_mask_cmpneq_epu32_mask): Ditto. (_mm512_cmpneq_epu32_mask): Ditto. (_mm512_mask_cmpneq_epi64_mask): Ditto. (_mm512_cmpneq_epi64_mask): Ditto. (_mm512_mask_cmpneq_epu64_mask): Ditto. (_mm512_cmpneq_epu64_mask): Ditto. (_mm512_castpd_ps): Ditto. (_mm512_castpd_si512): Ditto. (_mm512_castps_pd): Ditto. (_mm512_castps_si512): Ditto. (_mm512_castsi512_ps): Ditto. (_mm512_castsi512_pd): Ditto. (_mm512_castpd512_pd128): Ditto. (_mm512_castps512_ps128): Ditto. (_mm512_castsi512_si128): Ditto. (_mm512_castpd512_pd256): Ditto. (_mm512_castps512_ps256): Ditto. (_mm512_castsi512_si256): Ditto. (_mm512_castpd128_pd512): Ditto. (_mm512_castps128_ps512): Ditto. (_mm512_castsi128_si512): Ditto. (_mm512_castpd256_pd512): Ditto. (_mm512_castps256_ps512): Ditto. (_mm512_castsi256_si512): Ditto. (_mm512_cmpeq_epu32_mask): Ditto. (_mm512_mask_cmpeq_epu32_mask): Ditto. (_mm512_mask_cmpeq_epu64_mask): Ditto. (_mm512_cmpeq_epu64_mask): Ditto. (_mm512_cmpgt_epu32_mask): Ditto. (_mm512_mask_cmpgt_epu32_mask): Ditto. (_mm512_mask_cmpgt_epu64_mask): Ditto. (_mm512_cmpgt_epu64_mask): Ditto. * config/i386/i386-builtin-types.def: Add V16SF_FTYPE_V8SF, V16SI_FTYPE_V8SI, V16SI_FTYPE_V4SI, V8DF_FTYPE_V2DF. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_SI512_SI256, IX86_BUILTIN_PD512_PD256, IX86_BUILTIN_PS512_PS256, IX86_BUILTIN_SI512_SI, IX86_BUILTIN_PD512_PD, IX86_BUILTIN_PS512_PS. (bdesc_args): Add __builtin_ia32_si512_256si, __builtin_ia32_ps512_256ps, __builtin_ia32_pd512_256pd, __builtin_ia32_si512_si, __builtin_ia32_ps512_ps, __builtin_ia32_pd512_pd. (ix86_expand_args_builtin): Handle new FTYPEs. * config/i386/sse.md (castmode): Add 512-bit modes. (AVX512MODE2P): New. (avx512f_<castmode><avxsizesuffix>_<castmode): New. (avx512f_<castmode><avxsizesuffix>_256<castmode): Ditto. gcc/testsuite/ PR target/61878 * gcc.target/i386/avx512f-typecast-1.c: New test. * gcc.target/i386/avx512f-vpcmpequd-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpequd-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpequq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpequq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpged-1.c: Add new intrinsic. * gcc.target/i386/avx512f-vpcmpged-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpgtud-1.c: New test. * gcc.target/i386/avx512f-vpcmpgtud-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpgtuq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpgtuq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpled-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpled-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto. * gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto. * gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto. From-SVN: r214019
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment