diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2021-12-14 18:27:22 +0100 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2021-12-14 18:28:21 +0100 |
commit | 7a54d3deecf967029f18aa5ed1fcbdb752e213b9 (patch) | |
tree | 849f669059e68fe9a6a5315740601242f58e6664 /gcc/fortran | |
parent | 2cf62ef5aa80e3659a8150a48d93a1d333f1d292 (diff) | |
download | gcc-7a54d3deecf967029f18aa5ed1fcbdb752e213b9.zip gcc-7a54d3deecf967029f18aa5ed1fcbdb752e213b9.tar.gz gcc-7a54d3deecf967029f18aa5ed1fcbdb752e213b9.tar.bz2 |
i386: Implement VxHF vector set/insert/extract with lower ABI levels
This is a preparation patch that moves VxHF vector set/insert/extract
expansions from AVX512FP16 ABI to lower ABIs. There are no functional
changes for -mavx512fp16 and a follow-up patch is needed to actually
enable VxHF vector modes for lower ABIs.
2021-12-14 Uroš Bizjak <ubizjak@gmail.com>
gcc/ChangeLog:
PR target/103571
* config/i386/i386-expand.c (ix86_expand_vector_init_duplicate)
<case E_V8HFmode>: Implement for TARGET_SSE2.
<case E_V16HFmode>: Implement for TARGET_AVX.
<case E_V32HFmode>: Implement for TARGET_AVX512F.
(ix86_expand_vector_set_var): Handle V32HFmode
without TARGET_AVX512BW.
(ix86_expand_vector_extract)
<case E_V8HFmode>: Implement for TARGET_SSE2.
<case E_V16HFmode>: Implement for TARGET_AVX.
<case E_V32HFmode>: Implement for TARGET_AVX512BW.
(expand_vec_perm_broadcast_1) <case E_V8HFmode>: New.
* config/i386/sse.md (VI12HF_AVX512VL): Remove
TARGET_AVX512FP16 condition.
(V): Ditto.
(V_256_512): Ditto.
(avx_vbroadcastf128_<mode>): Use V_256H mode iterator.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions