-
- Downloads
[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>
Showing
- gcc/config/i386/avx10_2-512bf16intrin.h 317 additions, 0 deletionsgcc/config/i386/avx10_2-512bf16intrin.h
- gcc/config/i386/avx10_2bf16intrin.h 650 additions, 0 deletionsgcc/config/i386/avx10_2bf16intrin.h
- gcc/config/i386/i386-builtin-types.def 10 additions, 0 deletionsgcc/config/i386/i386-builtin-types.def
- gcc/config/i386/i386-builtin.def 33 additions, 0 deletionsgcc/config/i386/i386-builtin.def
- gcc/config/i386/i386-expand.cc 16 additions, 0 deletionsgcc/config/i386/i386-expand.cc
- gcc/config/i386/sse.md 92 additions, 0 deletionsgcc/config/i386/sse.md
- gcc/testsuite/gcc.target/i386/avx-1.c 19 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx-1.c
- gcc/testsuite/gcc.target/i386/avx10-check.h 2 additions, 2 deletionsgcc/testsuite/gcc.target/i386/avx10-check.h
- gcc/testsuite/gcc.target/i386/avx10-helper.h 28 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10-helper.h
- gcc/testsuite/gcc.target/i386/avx10_2-512-bf16-1.c 58 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-bf16-1.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vcmppbf16-2.c 36 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vcmppbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c 44 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vfpclasspbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vgetexppbf16-2.c 47 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vgetexppbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c 50 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vgetmantpbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vrcppbf16-2.c 45 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vrcppbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vreducenepbf16-2.c 50 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vreducenepbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c 46 additions, 0 deletions...estsuite/gcc.target/i386/avx10_2-512-vrndscalenepbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c 47 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vrsqrtpbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c 47 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-512-vsqrtnepbf16-2.c
- gcc/testsuite/gcc.target/i386/avx10_2-bf16-1.c 114 additions, 0 deletionsgcc/testsuite/gcc.target/i386/avx10_2-bf16-1.c
Loading
Please register or sign in to comment