From 62e40fb514b411d131c2ff6ad34b2f28f61d145e Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Fri, 16 Feb 2018 08:20:32 +0000 Subject: [PATCH] PR rtl-optimization/81443 * rtlanal.c (num_sign_bit_copies1) : Do not propagate results from inner REGs to paradoxical SUBREGs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257724 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/rtlanal.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f97986b0e9a..16c9d9bb810 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-02-16 Eric Botcazou + + PR rtl-optimization/81443 + * rtlanal.c (num_sign_bit_copies1) : Do not propagate results + from inner REGs to paradoxical SUBREGs. + 2018-02-16 Richard Biener PR tree-optimization/84399 diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 89d586b7288..ac3662de3ce 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -5101,7 +5101,7 @@ num_sign_bit_copies1 (const_rtx x, scalar_int_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); } -- 2.11.4.GIT