Skip to content
Snippets Groups Projects
Commit 75a97b59 authored by H.J. Lu's avatar H.J. Lu Committed by liuhongt
Browse files

AVX512FP16: Add scalar/vector bitwise operations, including

1. FP16 vector xor/ior/and/andnot/abs/neg
2. FP16 scalar abs/neg/copysign/xorsign

gcc/ChangeLog:

	* config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
	Handle HFmode.
	(ix86_expand_copysign): Ditto.
	(ix86_expand_xorsign): Ditto.
	* config/i386/i386.c (ix86_build_const_vector): Handle HF vector
	modes.
	(ix86_build_signbit_mask): Ditto.
	(ix86_can_change_mode_class): Ditto.
	* config/i386/i386.md
	(SSEMODEF): Add HFmode.
	(ssevecmodef): Ditto.
	(<code>hf2): New define_expand.
	(*<code>hf2_1): New define_insn_and_split.
	(copysign<mode>): Extend to support HFmode under AVX512FP16.
	(xorsign<mode>): Ditto.
	* config/i386/sse.md (VFB): New mode iterator.
	(VFB_128_256): Ditto.
	(VFB_512): Ditto.
	(sseintvecmode2): Support HF vector mode.
	(<code><mode>2): Use new mode iterator.
	(*<code><mode>2): Ditto.
	(copysign<mode>3): Ditto.
	(xorsign<mode>3): Ditto.
	(<code><mode>3<mask_name>): Ditto.
	(<code><mode>3<mask_name>): Ditto.
	(<sse>_andnot<mode>3<mask_name>): Adjust for HF vector mode.
	(<sse>_andnot<mode>3<mask_name>): Ditto.
	(*<code><mode>3<mask_name>): Ditto.
	(*<code><mode>3<mask_name>): Ditto.
parent 630a1249
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