Add missing REDUCE[SD,SS] intrinsics
authorOlga Makhotina <olga.makhotina@intel.com>
Tue, 17 Oct 2017 07:12:45 +0000 (07:12 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Tue, 17 Oct 2017 07:12:45 +0000 (07:12 +0000)
commitaf297249647b4d5b783239916f27a4b68829f916
treee7a8e456bd0708bb84cf89fe8c5b577f1e09f627
parente7f168a7ffc18cfe593928543d6cf3ea5e674fc9
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
12 files changed:
gcc/ChangeLog
gcc/config/i386/avx512dqintrin.h
gcc/config/i386/i386-builtin.def
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vreducesd-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vreducesd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-vreducess-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vreducess-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-13.c
gcc/testsuite/gcc.target/i386/sse-23.c