paired register loads and stores

David Edelsohn dje@watson.ibm.com
Fri Sep 29 13:54:00 GMT 2006


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



More information about the Gcc mailing list