This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Reload problem
- To: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Subject: Re: Reload problem
- From: Andreas Schwab <schwab at suse dot de>
- Date: 26 Oct 1999 18:40:29 +0200
- Cc: gcc at gcc dot gnu dot org
- References: <199910251840.TAA03056@phal.cygnus.co.uk>
Joern Rennecke <amylaar@cygnus.co.uk> writes:
|> > |> I think there is an implicit assumption about output operand numbers being
|> > |> smaller than input operand numbers. Try to renumebr the operands of the
|> > |> divmodsi4 pattern to match that assumption.
|> >
|> > That didn't work, it made things only worse. And btw, every md file that
|>
|> What reloads do you see with this change?
No reload problems as such, but completely bogus code:
lea random,%a5
lea (-14000,%a6),%a4
lea (-12000,%a6),%a3
move.l %a6,%d6
add.l #-10000,%d6
move.l %a4,%d5
.align 2
.L6:
jbsr (%a5)
move.l %d2,%d1
lsl.l #2,%d1
move.l %d5,%a0
move.l -14004(%a6),(%a0,%d1.l) <--- this is weird
move.l %d2,%d0
moveq.l #20,%d3
muls.l %d3,%d0
add.l %d6,%d0
Moreover, -14004(%a6) has never been initialized.
Andreas.
--
Andreas Schwab "And now for something
SuSE Labs completely different."
schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg