i386: Enable intrinsics that convert float and bf16 data to each other.
authorkonglin1 <lingling.kong@intel.com>
Tue, 7 Dec 2021 09:08:23 +0000 (17:08 +0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 23 Dec 2021 09:32:51 +0000 (17:32 +0800)
commit61e53698a08dc1d9a54d785218af687a6751c1b3
treed310cc9f07fe28888824b353d383bb72c7c39f43
parent9ac0730c25b357b5fc75e18677cec27a546c1b64
i386: Enable intrinsics that convert float and bf16 data to each other.

gcc/ChangeLog:

* config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Add new intrinsic.
(_mm512_cvtpbh_ps): Likewise.
(_mm512_maskz_cvtpbh_ps): Likewise.
(_mm512_mask_cvtpbh_ps): Likewise.
* config/i386/avx512bf16vlintrin.h (_mm_cvtness_sbh): Likewise.
(_mm_cvtpbh_ps): Likewise.
(_mm256_cvtpbh_ps): Likewise.
(_mm_maskz_cvtpbh_ps): Likewise.
(_mm256_maskz_cvtpbh_ps): Likewise.
(_mm_mask_cvtpbh_ps): Likewise.
(_mm256_mask_cvtpbh_ps): Likewise.

gcc/testsuite/ChangeLog:

* gcc.target/i386/avx512bf16-cvtsbh2ss-1.c: New test.
* gcc.target/i386/avx512bf16-vcvtpbh2ps-1.c: Ditto.
* gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c: Ditto.
* gcc.target/i386/avx512bf16vl-vcvtpbh2ps-1.c: Ditto.
gcc/config/i386/avx512bf16intrin.h
gcc/config/i386/avx512bf16vlintrin.h
gcc/testsuite/gcc.target/i386/avx512bf16-cvtsbh2ss-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bf16-vcvtpbh2ps-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bf16vl-cvtness2sbh-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512bf16vl-vcvtpbh2ps-1.c [new file with mode: 0644]