>>>>> Erich Plondke writes:
Erich> Yes, but peephole2 lives after register allocation, so how does the
target
Erich> tell the register allocator that adjacent values loaded from memory
should
Erich> also attempt to be placed adjacent in the register file?
Erich> It looks like if they /happen/ to be allocated together in the
Erich> register file, the
Erich> peephole pattern will catch them, but I don't see anything to help them
be
Erich> allocated in such a way.
The GCC register allocator allocates objects that span multiple
registers in adjacent registers. For instance, a 64-bit doubleword
integer (long long int) will be allocated in two adjacent hardware
registers when GCC is targeted at a processor with 32-bit registers.
David