[PATCH 0/3] S/390: Shift count improvements.

Robin Dapp rdapp@linux.ibm.com
Mon Jul 8 06:54:00 GMT 2019


Hi,

these patches introduce a new predicate that recognizes
shift-count operands instead of the subst patterns we
used before.  This allows introducing (no-op) subregs in
the patterns which was not possible via subst before
(see https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00853.html).
The second patch adds some tests.

The third patch defines the shift_truncation_mask and adds
a test for it.

Bootstrapped and regtested.

Regards
 Robin

---

Robin Dapp (3):
  S/390: Rework shift count handling.
  S/390: Shift count tests.
  S/390: Define shift_truncation_mask.

 gcc/config/s390/constraints.md                 |  12 ++
 gcc/config/s390/predicates.md                  |  29 +++++
 gcc/config/s390/s390-protos.h                  |   1 +
 gcc/config/s390/s390.c                         |  59 +++++++++-
 gcc/config/s390/s390.md                        |  43 +++----
 gcc/config/s390/subst.md                       |  72 ------------
 gcc/config/s390/vector.md                      |  14 ++-
 .../gcc.target/s390/combine-rotate-modulo.c    |  36 ++++++
 .../s390/combine-shift-rotate-add-mod.c        |  29 +++++
 .../gcc.target/s390/vector/combine-shift-vec.c | 107 ++++++++++++++++++
 .../gcc.target/s390/rotate-truncation-mask.c   |  11 ++
 11 files changed, 314 insertions(+), 99 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/s390/combine-rotate-modulo.c
 create mode 100644 gcc/testsuite/gcc.target/s390/combine-shift-rotate-add-mod.c
 create mode 100644 gcc/testsuite/gcc.target/s390/vector/combine-shift-vec.c
 create mode 100644 gcc/testsuite/gcc.target/s390/rotate-truncation-mask.c

-- 
2.17.0



More information about the Gcc-patches mailing list