>>>>> Erich Plondke writes:

Erich> rs6000 and Sparc ports seem to use a peephole2 to get the ldd or lfq
Erich> instructions (respectively), but it looks like there's no reason for
Erich> the register allocater to allocate registers together.  The peephole2
Erich> just picks up loads to adjacent memory locations if the allocater
Erich> happens to choose adjacent registers (is that correct?) or the
Erich> variables are specified as living in hard registers with the help
Erich> of an asm.

        On both rs6000 and sparc, the code includes a test that the
registers are adjacent.  See registers_ok_for_quad_peep() in rs6000.md and
rs6000.c, and equivalent in sparc.

David

Reply via email to