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 target/69040] cris allmodconfig fails


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69040

--- Comment #9 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
Sorry, this is a reload bug and I can't give it my undivided attention within
the coming month.

Reload ties itself in a knot and calls back into the movdi expander asking it
to reload a in=(reg:DI 11 r11) out=(mem/j:DI (reg/f:SI 17 mof [749]) [0
_798->from+0 S8 A8]).

I have that much gcc experience that I'm reasonably confident that this is not
a target bug: all the bits are in place for reload to see that that register 16
(mof) is a special register and cannot be used in an address (in a memory
operation; a random bit-pattern like a temporary storage for an address is ok).

My top-of-the-head solution hypothesis (i.e. what I'd try first) is to bisect
trunk to see what commit there fixed or hid this problem there (assuming it had
this problem when the gcc-5-branch was cut), and if it's a fix rather than
unrelated, ask for a back-port.

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