]> git.ipfire.org Git - thirdparty/gcc.git/commit
AVX512FP16: Add scalar/vector bitwise operations, including
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 3 Apr 2019 04:44:55 +0000 (21:44 -0700)
committerliuhongt <hongtao.liu@intel.com>
Sat, 18 Sep 2021 07:00:12 +0000 (15:00 +0800)
commit75a97b59e1eb4cef28fd87c9c45b7c15620a84b8
tree0ba14879b1a69e25889a50bfd89cae74a18bf5ec
parent630a1249a0053ef61fe50a31a348e78dfb229c22
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.
gcc/config/i386/i386-expand.c
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/sse.md