This is the mail archive of the 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/24750] [4.1 regression] global-alloc (reload) trips over own confusion for unexpected addressing modes

------- Comment #1 from hp at gcc dot gnu dot org  2005-11-09 02:23 -------
I should mention that
(plus:SI (sign_extend:SI (reg:HI 10 r10)) (reg:SI 1 r1))
is not a valid address, but
(plus:SI (sign_extend:SI (sign_extend:SI (mem:HI (post_inc:SI (reg/f:SI 12
         (reg:SI 1 r1))
is; the problem seems related to reload choosing to reload inner MEM
replacing them with REG even though that's not needed and sometimes
(i.e. for some targets) not valid.  The "real" need is just to reload SRP.
Or perhaps that SRP was chosen as part of an address in the first place.
Or both.  Or maybe we should just bail out and declare
as a sometimes actually *necessary* macro rather than just for optimization,
certain cases, like when a MEM inside an expression can't be validly replaced
with a REG.


hp at gcc dot gnu dot org changed:

           What    |Removed                     |Added
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-11-09 02:23:16
               date|                            |

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