diff options
author | konglin1 <lingling.kong@intel.com> | 2024-08-26 10:53:45 +0800 |
---|---|---|
committer | Haochen Jiang <haochen.jiang@intel.com> | 2024-08-26 11:28:18 +0800 |
commit | 5cb67ddd8240610f39c211b2f73070dc70b0230b (patch) | |
tree | 682f23d9781b170b7484c19bb1376228ea3e0d66 /gcc/tree-if-conv.cc | |
parent | 9023662464ac7a0bbac72d94078ea0845bf99c86 (diff) | |
download | gcc-5cb67ddd8240610f39c211b2f73070dc70b0230b.zip gcc-5cb67ddd8240610f39c211b2f73070dc70b0230b.tar.gz gcc-5cb67ddd8240610f39c211b2f73070dc70b0230b.tar.bz2 |
[PATCH 2/2] AVX10.2: Support BF16 instructions
gcc/ChangeLog:
* config/i386/avx10_2-512bf16intrin.h: Add new intrinsics.
* config/i386/avx10_2bf16intrin.h: Diito.
* config/i386/i386-builtin-types.def : Add new DEF_FUNCTION_TYPE
for new type.
* config/i386/i386-builtin.def (BDESC): Add new buildin.
* config/i386/i386-expand.cc (ix86_expand_args_builtin):
Handle new type.
* config/i386/sse.md (vecmemsuffix): Add vector BF mode.
(avx10_2_rsqrtpbf16_<mode><mask_name>): New define_insn.
(avx10_2_sqrtnepbf16_<mode><mask_name>): Ditto.
(avx10_2_rcppbf16_<mode><mask_name>): Ditto.
(avx10_2_getexppbf16_<mode><mask_name>): Ditto.
(BF16IMMOP): New iterator.
(bf16immop): Ditto.
(avx10_2_<bf16immop>pbf16_<mode><mask_name>): New define_insn.
(avx10_2_fpclasspbf16_<mode><mask_scalar_merge_name>): Ditto.
(avx10_2_cmppbf16_<mode><mask_scalar_merge_name>): Ditto.
(avx10_2_comsbf16_v8bf): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/avx10-check.h: Add AVX10_SCALAR.
* gcc.target/i386/avx10-helper.h: Add helper functions.
* gcc.target/i386/avx10_2-512-bf16-1.c: Add new tests.
* gcc.target/i386/avx10_2-bf16-1.c: Ditto.
* gcc.target/i386/avx-1.c: Add macros.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx10_2-512-vcmppbf16-2.c: New test.
* gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vgetexppbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vrcppbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vreducenepbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vcmppbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vcomsbf16-1.c: Ditto.
* gcc.target/i386/avx10_2-vcomsbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vfpclasspbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vgetexppbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vgetmantpbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vrcppbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vreducenepbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vrndscalenepbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vrsqrtpbf16-2.c: Ditto.
* gcc.target/i386/avx10_2-vsqrtnepbf16-2.c: Ditto.
Co-authored-by: Levy Hsu <admin@levyhsu.com>
Diffstat (limited to 'gcc/tree-if-conv.cc')
0 files changed, 0 insertions, 0 deletions