Skip to content
Snippets Groups Projects
Commit 1e685084 authored by liuhongt's avatar liuhongt
Browse files

AVX512FP16: Add vfmaddsub[132,213,231]ph/vfmsubadd[132,213,231]ph.

gcc/ChangeLog:

	* config/i386/avx512fp16intrin.h (_mm512_fmaddsub_ph):
	New intrinsic.
	(_mm512_mask_fmaddsub_ph): Likewise.
	(_mm512_mask3_fmaddsub_ph): Likewise.
	(_mm512_maskz_fmaddsub_ph): Likewise.
	(_mm512_fmaddsub_round_ph): Likewise.
	(_mm512_mask_fmaddsub_round_ph): Likewise.
	(_mm512_mask3_fmaddsub_round_ph): Likewise.
	(_mm512_maskz_fmaddsub_round_ph): Likewise.
	(_mm512_mask_fmsubadd_ph): Likewise.
	(_mm512_mask3_fmsubadd_ph): Likewise.
	(_mm512_maskz_fmsubadd_ph): Likewise.
	(_mm512_fmsubadd_round_ph): Likewise.
	(_mm512_mask_fmsubadd_round_ph): Likewise.
	(_mm512_mask3_fmsubadd_round_ph): Likewise.
	(_mm512_maskz_fmsubadd_round_ph): Likewise.
	* config/i386/avx512fp16vlintrin.h (_mm256_fmaddsub_ph):
	New intrinsic.
	(_mm256_mask_fmaddsub_ph): Likewise.
	(_mm256_mask3_fmaddsub_ph): Likewise.
	(_mm256_maskz_fmaddsub_ph): Likewise.
	(_mm_fmaddsub_ph): Likewise.
	(_mm_mask_fmaddsub_ph): Likewise.
	(_mm_mask3_fmaddsub_ph): Likewise.
	(_mm_maskz_fmaddsub_ph): Likewise.
	(_mm256_fmsubadd_ph): Likewise.
	(_mm256_mask_fmsubadd_ph): Likewise.
	(_mm256_mask3_fmsubadd_ph): Likewise.
	(_mm256_maskz_fmsubadd_ph): Likewise.
	(_mm_fmsubadd_ph): Likewise.
	(_mm_mask_fmsubadd_ph): Likewise.
	(_mm_mask3_fmsubadd_ph): Likewise.
	(_mm_maskz_fmsubadd_ph): Likewise.
	* config/i386/i386-builtin.def: Add corresponding new builtins.
	* config/i386/sse.md (VFH_SF_AVX512VL): New mode iterator.
	* (<avx512>_fmsubadd_<mode>_maskz<round_expand_name>): New expander.
	* (<avx512>_fmaddsub_<mode>_maskz<round_expand_name>): Use
	VFH_SF_AVX512VL.
	* (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
	Ditto.
	* (<avx512>_fmaddsub_<mode>_mask<round_name>): Ditto.
	* (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto.
	* (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
	Ditto.
	* (<avx512>_fmsubadd_<mode>_mask<round_name>): Ditto.
	* (<avx512>_fmsubadd_<mode>_mask3<round_name>): Ditto.

gcc/testsuite/ChangeLog:

	* gcc.target/i386/avx-1.c: Add test for new builtins.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* gcc.target/i386/sse-14.c: Add test for new intrinsics.
	* gcc.target/i386/sse-22.c: Ditto.
parent 7afcb534
No related branches found
No related tags found
Loading
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