Add missing REDUCE[SD,SS] intrinsics
gcc/ * config/i386/avx512dqintrin.h (_mm_mask_reduce_sd, _mm_maskz_reduce_sd, _mm_mask_reduce_ss,=20 _mm_maskz_reduce_ss): New. * config/i386/i386-builtin.def (__builtin_ia32_reducesd_mask, __builtin_ia32_reducess_mask): Ditto.. (__builtin_ia32_reducesd, __builtin_ia32_reducess): Remove. * config/i386/sse.md (reduces<mode>): Renamed to ... (reduces<mode><mask_scalar_name>): ... this. (vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}): Changed to ... (vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0<mask_scalar_operand4>| %0<mask_scalar_operand4>, %1, %2, %3}): ... this. gcc/testsuite/ * gcc.target/i386/avx512dq-vreducesd-1.c (_mm_mask_reduce_sd, _mm_maskz_reduce_sd): Test new intrinsics. * gcc.target/i386/avx512dq-vreducesd-2.c: New. * gcc.target/i386/avx512dq-vreducess-1.c (_mm_mask_reduce_ss, _mm_maskz_reduce_ss): Test new intrinsics. * gcc.target/i386/avx512dq-vreducess-2.c: New. * gcc.target/i386/avx-1.c (__builtin_ia32_reducesd, __builtin_ia32_reducess): Remove builtin. (__builtin_ia32_reducesd_mask, __builtin_ia32_reducess_mask): Test new builtin. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. From-SVN: r253803
Showing
Please
register
or
sign in
to comment