AVX512FP16: Add reduce operators(add/mul/min/max).
authordianhong xu <dianhong.xu@intel.com>
Mon, 21 Jun 2021 08:11:23 +0000 (16:11 +0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 22 Sep 2021 10:27:28 +0000 (18:27 +0800)
commitf6afc926dc8188ee7fb65d02a937dbc9f501f84c
tree5a600226264141d8b2f233a0c4b8f9c8d7e6a650
parent6185b9a93cb78828db2b1a583aa2a2155c86e305
AVX512FP16: Add reduce operators(add/mul/min/max).

gcc/ChangeLog:

* config/i386/avx512fp16intrin.h (_MM512_REDUCE_OP): New macro
(_mm512_reduce_add_ph): New intrinsic.
(_mm512_reduce_mul_ph): Ditto.
(_mm512_reduce_min_ph): Ditto.
(_mm512_reduce_max_ph): Ditto.
* config/i386/avx512fp16vlintrin.h
(_MM256_REDUCE_OP/_MM_REDUCE_OP): New macro.
(_mm256_reduce_add_ph): New intrinsic.
(_mm256_reduce_mul_ph): Ditto.
(_mm256_reduce_min_ph): Ditto.
(_mm256_reduce_max_ph): Ditto.
(_mm_reduce_add_ph): Ditto.
(_mm_reduce_mul_ph): Ditto.
(_mm_reduce_min_ph): Ditto.
(_mm_reduce_max_ph): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/i386/avx512fp16-reduce-op-1.c: New test.
* gcc.target/i386/avx512fp16vl-reduce-op-1.c: Ditto.
gcc/config/i386/avx512fp16intrin.h
gcc/config/i386/avx512fp16vlintrin.h
gcc/testsuite/gcc.target/i386/avx512fp16-reduce-op-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512fp16vl-reduce-op-1.c [new file with mode: 0644]