]> git.ipfire.org Git - thirdparty/gcc.git/commit
AVX512FP16: Add fix(uns)?_truncmn2 for HF scalar and vector modes
authorHongyu Wang <hongyu.wang@intel.com>
Thu, 1 Jul 2021 05:17:32 +0000 (13:17 +0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 23 Sep 2021 09:05:02 +0000 (17:05 +0800)
commit60698a19c77aef8c96d14238975e12fad653e7fb
tree03554bebd20e7ef196af0681af3c9ff9ea27166f
parentfccd8855ed4ed9d1cc0e55fc1758b3288468657e
AVX512FP16: Add fix(uns)?_truncmn2 for HF scalar and vector modes

NB: 64bit/32bit vectorize for HFmode is not supported for now, will
adjust this patch when V2HF/V4HF operations supported.

gcc/ChangeLog:

* config/i386/i386.md (fix<fixunssuffix>_trunchf<mode>2): New expander.
(fixuns_trunchfhi2): Likewise.
(*fixuns_trunchfsi2zext): New define_insn.
* config/i386/sse.md (ssePHmodelower): New mode_attr.
(fix<fixunssuffix>_trunc<ssePHmodelower><mode>2):
New expander for same element vector fix_truncate.
(fix<fixunssuffix>_trunc<ssePHmodelower><mode>2):
Likewise for V4HF to V4SI/V4DI fix_truncate.
(fix<fixunssuffix>_truncv2hfv2di2):
Likeise for V2HF to V2DI fix_truncate.

gcc/testsuite/ChangeLog:

* gcc.target/i386/avx512fp16-trunchf.c: New test.
* gcc.target/i386/avx512fp16-truncvnhf.c: Ditto.
gcc/config/i386/i386.md
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/avx512fp16-trunchf.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512fp16-truncvnhf.c [new file with mode: 0644]