-
- Downloads
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.
Showing
- gcc/config/i386/i386-expand.c 12 additions, 4 deletionsgcc/config/i386/i386-expand.c
- gcc/config/i386/i386.c 10 additions, 0 deletionsgcc/config/i386/i386.c
- gcc/config/i386/i386.md 31 additions, 7 deletionsgcc/config/i386/i386.md
- gcc/config/i386/sse.md 77 additions, 51 deletionsgcc/config/i386/sse.md
Loading
Please register or sign in to comment