diff options
author | Levy Hsu <admin@levyhsu.com> | 2024-06-13 15:20:04 +0930 |
---|---|---|
committer | Levy Hsu <admin@levyhsu.com> | 2024-06-17 06:57:17 +0000 |
commit | 6d0b7b69d143025f271d0041cfa29cf26e6c343b (patch) | |
tree | 1573a73cca19a0ca7080a987e248b3df4466a60f /gcc/expr.cc | |
parent | e86d4e4ac7d7438f2f1b2437508cfd394a0a34d9 (diff) | |
download | gcc-6d0b7b69d143025f271d0041cfa29cf26e6c343b.zip gcc-6d0b7b69d143025f271d0041cfa29cf26e6c343b.tar.gz gcc-6d0b7b69d143025f271d0041cfa29cf26e6c343b.tar.bz2 |
x86: Emit cvtne2ps2bf16 for odd increasing perm in __builtin_shufflevector
This patch updates the GCC x86 backend to efficiently handle
odd, incrementally increasing permutations of BF16 vectors
using the cvtne2ps2bf16 instruction.
It modifies ix86_vectorize_vec_perm_const to support these operations
and adds a specific predicate to ensure proper sequence handling.
gcc/ChangeLog:
* config/i386/i386-expand.cc
(ix86_vectorize_vec_perm_const): Convert BF to HI using subreg.
* config/i386/predicates.md
(vcvtne2ps2bf_parallel): New define_insn_and_split.
* config/i386/sse.md
(vpermt2_sepcial_bf16_shuffle_<mode>): New predicates matches odd increasing perm.
gcc/testsuite/ChangeLog:
* gcc.target/i386/vpermt2-special-bf16-shufflue.c: New test.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions