This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/55116] [4.8 Regression] LRA failed to decompose ASHIFT


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55116

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> 2012-10-30 01:36:26 UTC ---
This helps:

diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 43d4cb8..d076ad6 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -5460,6 +5460,7 @@ strip_address_mutations (rtx *loc, enum rtx_code
*outer_code)
     /* (and ... (const_int -X)) is used to align to X bytes.  */
     loc = &XEXP (*loc, 0);
       else if (code == SUBREG
+           && GET_MODE (*loc) == Pmode
                && !OBJECT_P (SUBREG_REG (*loc))
                && subreg_lowpart_p (*loc))
     /* (subreg (operator ...) ...) inside and is used for mode


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]