AVX512FP16: Enable vec_cmpmn/vcondmn expanders for HF modes.
authorHongyu Wang <hongyu.wang@intel.com>
Fri, 16 Jul 2021 02:01:17 +0000 (10:01 +0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 23 Sep 2021 09:05:02 +0000 (17:05 +0800)
commit9ce500289a69d48cf7b2ea633e4d99565fed5a64
treecd7f21e1f8885aafc223ef6db0364db9074685f7
parent3829793c50e44a524757020cebf23c54c016d5af
AVX512FP16: Enable vec_cmpmn/vcondmn expanders for HF modes.

gcc/ChangeLog:

* config/i386/i386-expand.c (ix86_use_mask_cmp_p): Enable
HFmode mask_cmp.
* config/i386/sse.md (sseintvecmodelower): Add HF vector modes.
(<avx512>_store<mode>_mask): Extend to support HF vector modes.
(vec_cmp<mode><avx512fmaskmodelower>): Likewise.
(vcond_mask_<mode><avx512fmaskmodelower>): Likewise.
(vcond<mode><mode>): New expander.
(vcond<mode><sseintvecmodelower>): Likewise.
(vcond<sseintvecmodelower><mode>): Likewise.
(vcondu<mode><sseintvecmodelower>): Likewise.

gcc/testsuite/ChangeLog:

* g++.target/i386/avx512fp16-vcondmn-vec.C: New test.
* g++.target/i386/avx512fp16-vcondmn-minmax.C: Ditto.
* gcc.target/i386/avx512fp16-vcondmn-loop-1.c: Ditto.
* gcc.target/i386/avx512fp16-vcondmn-loop-2.c: Ditto.
* gcc.target/i386/avx512fp16-vec_cmpmn.c: Ditto.
gcc/config/i386/i386-expand.c
gcc/config/i386/sse.md
gcc/testsuite/g++.target/i386/avx512fp16-vcondmn-minmax.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/avx512fp16-vcondmn-vec.C [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512fp16-vcondmn-loop-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512fp16-vcondmn-loop-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512fp16-vec_cmpmn.c [new file with mode: 0644]