diff options
author | Juergen Christ <jchrist@linux.ibm.com> | 2024-04-01 13:34:37 +0200 |
---|---|---|
committer | Juergen Christ <jchrist@linux.ibm.com> | 2024-04-09 18:06:05 +0200 |
commit | 1f719aa7c0d35b47f3d15a54f074718b78e92bb0 (patch) | |
tree | 1e07e6584ab70066b84fa8b7a2d8ed565e3d3813 /libgcc | |
parent | 8075477f81ae8d0abf64b80dfbd179151f91b417 (diff) | |
download | gcc-1f719aa7c0d35b47f3d15a54f074718b78e92bb0.zip gcc-1f719aa7c0d35b47f3d15a54f074718b78e92bb0.tar.gz gcc-1f719aa7c0d35b47f3d15a54f074718b78e92bb0.tar.bz2 |
s390x: Optimize vector permute with constant indexes
Loop vectorizer can generate vector permutes with constant indexes
where all indexes are equal. Optimize this case to use vector
replicate instead of vector permute.
gcc/ChangeLog:
* config/s390/s390.cc (expand_perm_as_replicate): Implement.
(vectorize_vec_perm_const_1): Call new function.
* config/s390/vx-builtins.md (vec_splat<mode>): Change to...
(@vec_splat<mode>): ...this.
gcc/testsuite/ChangeLog:
* gcc.target/s390/vector/vec-expand-replicate.c: New test.
Signed-off-by: Juergen Christ <jchrist@linux.ibm.com>
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions