I'm having this patchset in my local tree for quite a while now. Posting it was so far prevented by some internal process hurdles. I'm aware it isn't stage 4 material. I nevertheless would like to commit this since:
* It is z13 only and z13 support was new in GCC 6 anyway. The risk to cause regressions for other cpu levels is small (hopefully). * It is required to get rid of some nasty performance regressions which can be observed with -march=z13 otherwise. Any objections? Bye, -Andreas- Andreas Krebbel (9): S/390: Add IBM z13 pipeline description S/390: z13 lcbb fix address operand. S/390: z13 inline stpcpy implementation. S/390: Adjust movstr-1.c testcase to work with the z13 stpcpy implementation. S/390: z13 fix mode in vcond expansion S/390: Add vec_sub_u128 to vecintrin.h S/390: z13 Change predicates of 128 bit add sub. S/390: Add single element vector types to iterators. S/390: z13 Add missing commutative operand markers. gcc/config/s390/2827.md | 9 +- gcc/config/s390/2964.md | 64 ++++ gcc/config/s390/s390-protos.h | 1 + gcc/config/s390/s390.c | 381 +++++++++++++++++---- gcc/config/s390/s390.md | 19 +- gcc/config/s390/vecintrin.h | 1 + gcc/config/s390/vector.md | 60 ++-- gcc/config/s390/vx-builtins.md | 56 +-- gcc/testsuite/gcc.target/s390/md/movstr-1.c | 2 +- gcc/testsuite/gcc.target/s390/md/movstr-2.c | 98 ++++++ gcc/testsuite/gcc.target/s390/vector/int128-1.c | 47 +++ gcc/testsuite/gcc.target/s390/vector/vec-vcond-1.c | 23 ++ 12 files changed, 628 insertions(+), 133 deletions(-) create mode 100644 gcc/config/s390/2964.md create mode 100644 gcc/testsuite/gcc.target/s390/md/movstr-2.c create mode 100644 gcc/testsuite/gcc.target/s390/vector/int128-1.c create mode 100644 gcc/testsuite/gcc.target/s390/vector/vec-vcond-1.c -- 1.9.1