Skip to content
Snippets Groups Projects
Commit 5cb67ddd authored by konglin1's avatar konglin1 Committed by Haochen Jiang
Browse files

[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: default avatarLevy Hsu <admin@levyhsu.com>
parent 90236624
No related branches found
No related tags found
Loading
Showing
with 1751 additions and 2 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment