diff options
author | Hu, Lin1 <lin1.hu@intel.com> | 2024-08-19 10:08:59 +0800 |
---|---|---|
committer | Haochen Jiang <haochen.jiang@intel.com> | 2024-08-19 10:10:46 +0800 |
commit | 6e231f8504874828b23bbe89f3ef4086dcc15a44 (patch) | |
tree | 74719d8764df086b486eab63882a183e17fad7a5 /gcc/digraph.h | |
parent | 0f5a42d41b46b746c6f77374d76a3b918a1e2b57 (diff) | |
download | gcc-6e231f8504874828b23bbe89f3ef4086dcc15a44.zip gcc-6e231f8504874828b23bbe89f3ef4086dcc15a44.tar.gz gcc-6e231f8504874828b23bbe89f3ef4086dcc15a44.tar.bz2 |
AVX10.2 ymm rounding: Support vcvtqq2p{s,d,h} and vcvttpd2{,u}{dq,qq} intrins
gcc/ChangeLog:
* config/i386/avx10_2roundingintrin.h: New intrins.
* config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE.
* config/i386/i386-builtin.def (BDESC): Add new builtins.
* config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle
V4DF_FTYPE_V4DI_V4DF_UQI_INT, V4SF_FTYPE_V4DI_V4SF_UQI_INT,
V8HF_FTYPE_V4DI_V8HF_UQI_INT.
* config/i386/sse.md:
(avx512fp16_vcvt<floatsuffix>qq2ph_v4di_mask_round): New expand.
(*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask):
Extend round control and add "_1" suffix.
(float<floatunssuffix><sseintvecmodelower><mode>2<mask_name><round_name>):
Add condition check.
(float<floatunssuffix><sselongvecmodelower><mode>2<mask_name><round_name>):
Ditto.
(float<floatunssuffix><mode><ssePSmode2lower>2<mask_name><round_name>):
Limit suffix output.
(unspec_fix_truncv4dfv4si2<mask_name>): Extend round control.
(unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto.
* config/i386/subst.md (round_qq2pssuff): New iterator.
(round_saeonly_suff): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/avx-1.c: Add new builtin test.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Add new macro test.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx10_2-rounding-2.c: New test.
Diffstat (limited to 'gcc/digraph.h')
0 files changed, 0 insertions, 0 deletions