public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/5] IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST
@ 2021-07-29  7:37 Andreas Krebbel
  2021-07-29  7:37 ` [PATCH 1/5] IBM Z: Get rid of vec merge unspec Andreas Krebbel
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andreas Krebbel @ 2021-07-29  7:37 UTC (permalink / raw)
  To: gcc-patches

This patchset, after some prep work, provides an initial
implementation of the TARGET_VECTORIZE_VEC_PERM_CONST hook for IBM Z.
Only the vmrh, vmrl, and vpdi instruction are exploited so far.  More
instructions will be added with follow-on patches.

Bootstrapped and regression tested on s390x.

As expected various occurrences of the vperm instruction get replaced
with vmr* and vpdi.

I'll commit the patches after giving it a few days for comments.

Andreas Krebbel (5):
  IBM Z: Get rid of vec merge unspec
  IBM Z: Get rid of vpdi unspec
  IBM Z: Remove redundant V_HW_64 mode iterator.
  IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST for vector merge
  IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST for vpdi

 gcc/config/s390/s390-modes.def                |  11 +-
 gcc/config/s390/s390-protos.h                 |   2 +
 gcc/config/s390/s390.c                        | 191 ++++++++++++++
 gcc/config/s390/s390.md                       |   3 -
 gcc/config/s390/vector.md                     | 238 +++++++++++++++---
 gcc/config/s390/vx-builtins.md                |  75 +++---
 .../long-double-asm-in-out-hard-fp-reg.c      |   8 +-
 .../long-double-asm-inout-hard-fp-reg.c       |   6 +-
 .../gcc.target/s390/vector/perm-merge.c       | 104 ++++++++
 .../gcc.target/s390/vector/perm-vpdi.c        |  49 ++++
 .../gcc.target/s390/vector/vec-types.h        |  35 +++
 .../gcc.target/s390/zvector/vec-permi.c       |  54 ----
 .../gcc.target/s390/zvector/vec-types.h       |  37 +++
 .../gcc.target/s390/zvector/vec_merge.c       |  88 +++++++
 .../gcc.target/s390/zvector/vec_permi.c       |  66 +++++
 15 files changed, 822 insertions(+), 145 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/s390/vector/perm-merge.c
 create mode 100644 gcc/testsuite/gcc.target/s390/vector/perm-vpdi.c
 create mode 100644 gcc/testsuite/gcc.target/s390/vector/vec-types.h
 delete mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec-permi.c
 create mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec-types.h
 create mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec_merge.c
 create mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec_permi.c

-- 
2.31.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-07-29  7:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-29  7:37 [PATCH 0/5] IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST Andreas Krebbel
2021-07-29  7:37 ` [PATCH 1/5] IBM Z: Get rid of vec merge unspec Andreas Krebbel
2021-07-29  7:37 ` [PATCH 2/5] IBM Z: Get rid of vpdi unspec Andreas Krebbel
2021-07-29  7:37 ` [PATCH 3/5] IBM Z: Remove redundant V_HW_64 mode iterator Andreas Krebbel
2021-07-29  7:37 ` [PATCH 4/5] IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST for vector merge Andreas Krebbel
2021-07-29  7:37 ` [PATCH 5/5] IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST for vpdi Andreas Krebbel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).