IBM Z: Prevent mach optimization on doloop patterns
commit914eadfe86a0400e0e378819001c785ecb30aab2
authorAndreas Krebbel <krebbel@linux.ibm.com>
Wed, 17 Jun 2020 15:10:05 +0000 (17 17:10 +0200)
committerAndreas Krebbel <krebbel@linux.ibm.com>
Wed, 17 Jun 2020 15:11:45 +0000 (17 17:11 +0200)
tree79fdaf5aa7f9707f45b2a0b329480319ffcb4bdb
parent8a9e230f41eb406380ab0d9c2b73031133d54259
IBM Z: Prevent mach optimization on doloop patterns

s390_fix_long_loop_prediction is used in machine dependent
reorg. There we use single_set to distingiush between conditional
jumps and branch on count patterns.  However, single_set returns a
non-NULL value also for PARALLELs in case one of the SETs is dead.

2020-06-17  Andreas Krebbel  <krebbel@linux.ibm.com>

gcc/
* config/s390/s390.c (s390_fix_long_loop_prediction): Exit early
for PARALLELs.

gcc/testsuite/
* gcc.target/s390/20200617.c: New test.
gcc/config/s390/s390.c
gcc/testsuite/gcc.target/s390/20200617.c [new file with mode: 0644]