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]

axp ev4 reload problem


Recall a few weeks ago the out of range stack slot problem, in which
we discovered that we weren't getting properly supplying a MEM to
reload_inhi for lack of checking for a SUBREG?

In the attached test case (-O0 -mcpu=ev4) we issue

Reload 0: reload_in (QI) = (reg:QI 320)
        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1)
        reload_in_reg: (reg:QI 320)
        reload_reg_rtx: (reg:QI 0 $0)

What I want is to clarify the stance that we absolutely must provide
an actual MEM to the reload_foo and movfoo patterns.

In this particular case, the spill slot for reg 320 is in range,
so I can work around the problem in the back end.  However, it is
my feeling that we're requiring way too much reload knowledge in
the back end.  Affirming that reload_foo must always be given a
(properly find_replacement'ed?) MEM might help this situation.

Thoughts?


r~

z.c.gz


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