>>>>> 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