Fix PR96127
authorAndreas Krebbel <krebbel@linux.ibm.com>
Fri, 17 Jul 2020 06:49:29 +0000 (08:49 +0200)
committerAndreas Krebbel <krebbel@linux.ibm.com>
Fri, 17 Jul 2020 07:26:49 +0000 (09:26 +0200)
commit80029561822fe4f010f72940527c4ee9ff8dbf56
tree00c6cb16c5cab3cae1cdb2514b7e6bcdb03b7359
parent0757d3660c1c5a63d1e8fbc1350c3ba0bcbf9fdb
Fix PR96127

In s390_expand_insv the movstrict patterns are always generated with a
CC clobber although only movstricthi actually needs one.  The patch
invokes the expanders instead of constructing the pattern by hand.

Bootstrapped and regression tested on s390x.

gcc/ChangeLog:

PR target/96127
* config/s390/s390.c (s390_expand_insv): Invoke the movstrict
expanders to generate the pattern.
* config/s390/s390.md ("*movstricthi", "*movstrictqi"): Remove the
'*' to have callable expanders.

gcc/testsuite/ChangeLog:

PR target/96127
* gcc.target/s390/pr96127.c: New test.
gcc/config/s390/s390.c
gcc/config/s390/s390.md
gcc/testsuite/gcc.target/s390/pr96127.c [new file with mode: 0644]