S/390: arch13: vec_reve element order reversal builtins
authorAndreas Krebbel <krebbel@linux.ibm.com>
Tue, 2 Apr 2019 11:02:22 +0000 (11:02 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 2 Apr 2019 11:02:22 +0000 (11:02 +0000)
commit3278804e59a76e7f140a522286d7ac88c2cdb916
tree408303ffcb4b326fab5259d39939d9ad2c41abb0
parent1b3bbaf6475b2605192dc9c2f9cd61dfa4649f7e
S/390: arch13: vec_reve element order reversal builtins

gcc/ChangeLog:

2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>

* config/s390/s390-builtin-types.def: Add new builtin function type.
* config/s390/s390-builtins.def: Add overloaded builtin
s390_vec_reve and low-level builtins for s390_vler and s390_vster.
* config/s390/s390.md (UNSPEC_VEC_ELTSWAP): New constant definition.
* config/s390/vecintrin.h (vec_reve): New builtin name definition.
* config/s390/vx-builtins.md (V_HW_HSD): New mode iterator.
("eltswap<mode>"): New expander.
("*eltswapv16qi", "*eltswap<mode>", "*eltswap<mode>_emu"): New
insn definitions.

gcc/testsuite/ChangeLog:

2019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>

* gcc.target/s390/zvector/vec-reve-load-byte-z14.c: New test.
* gcc.target/s390/zvector/vec-reve-load-byte.c: New test.
* gcc.target/s390/zvector/vec-reve-load-halfword-z14.c: New test.
* gcc.target/s390/zvector/vec-reve-load-halfword.c: New test.
* gcc.target/s390/zvector/vec-reve-store-byte-z14.c: New test.
* gcc.target/s390/zvector/vec-reve-store-byte.c: New test.

From-SVN: r270085
13 files changed:
gcc/ChangeLog
gcc/config/s390/s390-builtin-types.def
gcc/config/s390/s390-builtins.def
gcc/config/s390/s390.md
gcc/config/s390/vecintrin.h
gcc/config/s390/vx-builtins.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/zvector/vec-reve-load-byte-z14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/zvector/vec-reve-load-byte.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/zvector/vec-reve-load-halfword-z14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/zvector/vec-reve-load-halfword.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/zvector/vec-reve-store-byte-z14.c [new file with mode: 0644]
gcc/testsuite/gcc.target/s390/zvector/vec-reve-store-byte.c [new file with mode: 0644]