On 06.07.19 22:53, Robin Dapp wrote: > 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.
Ok. Thanks! Andreas > > 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 >