]> git.ipfire.org Git - thirdparty/gcc.git/commit
s390: More vec-perm-const cases.
authorJuergen Christ <jchrist@linux.ibm.com>
Fri, 27 Jun 2025 10:20:04 +0000 (12:20 +0200)
committerJuergen Christ <jchrist@linux.ibm.com>
Thu, 3 Jul 2025 16:32:03 +0000 (18:32 +0200)
commit680ee33e1dfc24345f0a881eb96cf4431db335a9
treef2886472dd8a7b779336b0367ea1effec07435f0
parentf00023fa81e657bc7019384ec4cd773f58415d82
s390: More vec-perm-const cases.

s390 missed constant vector permutation cases based on the vector pack
instruction or changing the size of the vector elements during vector
merge.  This enables some more patterns that do not need to load a
constant vector for permutation.

gcc/ChangeLog:

* config/s390/s390.cc (expand_perm_with_merge): Add size change cases.
(expand_perm_with_pack): New function.
(vectorize_vec_perm_const_1): Wire up new function.

gcc/testsuite/ChangeLog:

* gcc.target/s390/vector/vec-perm-merge-1.c: New test.
* gcc.target/s390/vector/vec-perm-pack-1.c: New test.

Signed-off-by: Juergen Christ <jchrist@linux.ibm.com>
gcc/config/s390/s390.cc
gcc/testsuite/gcc.target/s390/vector/vec-perm-merge-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/vector/vec-perm-pack-1.c [new file with mode: 0644]