This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: paired register loads and stores


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]