diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-01-23 20:54:32 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-01-23 20:54:32 +0000 |
commit | 4d28913a860579d645b24591fb300b4d8dd3cd55 (patch) | |
tree | 321693d5851e8f10304fba0232edbcd3629fbb75 | |
parent | 2443174bc2820b1a72c66b4058842cb145545394 (diff) |
PR rtl-optimization/81443
* rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results
from inner REGs to paradoxical SUBREGs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256998 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/rtlanal.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 336dda8c45d8..39d733b51a90 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-01-23 Eric Botcazou <ebotcazou@adacore.com> + + PR rtl-optimization/81443 + * rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results + from inner REGs to paradoxical SUBREGs. + 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 8e85f14525dc..772a6a993bb0 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -4976,7 +4976,7 @@ num_sign_bit_copies1 (const_rtx x, machine_mode mode, const_rtx known_x, if (WORD_REGISTER_OPERATIONS && load_extend_op (inner_mode) == SIGN_EXTEND && paradoxical_subreg_p (x) - && (MEM_P (SUBREG_REG (x)) || REG_P (SUBREG_REG (x)))) + && MEM_P (SUBREG_REG (x))) return cached_num_sign_bit_copies (SUBREG_REG (x), mode, known_x, known_mode, known_ret); break; |