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