PR101260 regcprop: Add mode change check for copy reg
authorAndreas Krebbel <krebbel@linux.ibm.com>
Tue, 1 Feb 2022 12:33:55 +0000 (13:33 +0100)
committerAndreas Krebbel <krebbel@linux.ibm.com>
Tue, 1 Feb 2022 12:33:55 +0000 (13:33 +0100)
commitb9ebf6c330e24e886e7ce148e8c680c3e06c24dc
treef6b556457693e957cc91da690a52f24662dea7d0
parent34afa19d29c5bf0b0f504e4d0aca4e9a8bc82c5c
PR101260 regcprop: Add mode change check for copy reg

When propagating a multi-word register into an access with a smaller
mode the can_change_mode backend hook is already consulted for the
original register.  This however is also required for the intermediate
copy in copy_regno which might use a different register class.

gcc/ChangeLog:

PR rtl-optimization/101260
* regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
copy_regno.

gcc/testsuite/ChangeLog:

PR rtl-optimization/101260
* gcc.target/s390/pr101260.c: New testcase.
gcc/regcprop.cc
gcc/testsuite/gcc.target/s390/pr101260.c [new file with mode: 0644]