]> git.ipfire.org Git - thirdparty/gcc.git/commit
s390: Extend two/four element integer vectors
authorStefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Mon, 17 Jun 2024 06:36:11 +0000 (08:36 +0200)
committerStefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Mon, 17 Jun 2024 06:36:11 +0000 (08:36 +0200)
commit2ab143df110a40bd41b5368ef84819953bf971b1
treef1165d70cddb470598e0cd30ed48a5db3d5a92b6
parent0bf3f14e0d79f3258d4e5570216b5d81af6d60ef
s390: Extend two/four element integer vectors

For the moment I deliberately left out one-element QHS vectors since it
is unclear whether these are pathological cases or whether they are
really used.  If we ever get an extend for V1DI -> V1TI we should
reconsider this.

As a side-effect this fixes PR115261.

gcc/ChangeLog:

PR target/115261
* config/s390/s390.md (any_extend,extend_insn,zero_extend):
New code attributes and code iterator.
* config/s390/vector.md (V_EXTEND): New mode iterator.
(<extend_insn><V_EXTEND:mode><vec_2x_wide>2): New insn.

gcc/testsuite/ChangeLog:

* gcc.target/s390/vector/vec-extend-1.c: New test.
* gcc.target/s390/vector/vec-extend-2.c: New test.
gcc/config/s390/s390.md
gcc/config/s390/vector.md
gcc/testsuite/gcc.target/s390/vector/vec-extend-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/vector/vec-extend-2.c [new file with mode: 0644]