AVX512FP16: Add vmovw/vmovsh.
authorliuhongt <hongtao.liu@intel.com>
Thu, 28 Feb 2019 19:43:30 +0000 (11:43 -0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 16 Sep 2021 05:09:01 +0000 (13:09 +0800)
commitc4d423c74abd470d0161ec2a428fd01de5e1ed76
tree700b63883398be470f3dca67484ecfbc32120084
parent8d970817a5892b6bb4634499d47f6d2ee7d46e4c
AVX512FP16: Add vmovw/vmovsh.

gcc/ChangeLog:

* config/i386/avx512fp16intrin.h: (_mm_cvtsi16_si128):
New intrinsic.
(_mm_cvtsi128_si16): Likewise.
(_mm_mask_load_sh): Likewise.
(_mm_maskz_load_sh): Likewise.
(_mm_mask_store_sh): Likewise.
(_mm_move_sh): Likewise.
(_mm_mask_move_sh): Likewise.
(_mm_maskz_move_sh): Likewise.
* config/i386/i386-builtin-types.def: Add corresponding builtin types.
* config/i386/i386-builtin.def: Add corresponding new builtins.
* config/i386/i386-expand.c
(ix86_expand_special_args_builtin): Handle new builtin types.
(ix86_expand_vector_init_one_nonzero): Adjust for FP16 target.
* config/i386/sse.md (VI2F): New mode iterator.
(vec_set<mode>_0): Use new mode iterator.
(avx512f_mov<ssescalarmodelower>_mask): Adjust for HF vector mode.
(avx512f_store<mode>_mask): Ditto.
gcc/config/i386/avx512fp16intrin.h
gcc/config/i386/i386-builtin-types.def
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386-expand.c
gcc/config/i386/sse.md