Fix PR97497
authorAndreas Krebbel <krebbel@linux.ibm.com>
Tue, 27 Oct 2020 19:57:39 +0000 (20:57 +0100)
committerAndreas Krebbel <krebbel@linux.ibm.com>
Tue, 27 Oct 2020 20:01:26 +0000 (21:01 +0100)
commit2b3e722a3ca1b9dcfff1c016e651d0d681de1af0
tree8d53373084046f89e9d9ad197f17d28198525265
parenta764c40079a493826a3678174f908941a383644e
Fix PR97497

This works around a limitation of gcse with handling of partially
clobbered registers.  With this patch our GOT pointer register r12 is
not marked as partially clobbered anymore for the -m31 -mzarch -fpic
combination. This is correct since all the bits in r12 we actually
care about are in fact preserved.

gcc/ChangeLog:

PR rtl-optimization/97497
* config/s390/s390.c (s390_hard_regno_call_part_clobbered): Do not
return true for r12 when -fpic is used.

gcc/testsuite/ChangeLog:

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