Issue with hard regs
Ian Lance Taylor
iant@google.com
Mon Oct 16 17:31:00 GMT 2006
nkavv@physics.auth.gr writes:
> i'm in the process of coding a GCC backend for a certain RISC-like architecture.
> Its register architecture consists of an integer register file (32 regs) and two
> additional hard regs that should be programmer visible. Accesses to these hard
> regs are also emitted related to certain RTL patterns (divmoddi4 and udivmoddi4
> for which these two hard regs should be written). Split 64-bit moves may or may
> not use these regs as well.
Sounds like MIPS.
> I thought i had added the necessary information (new register classes, character
> to match for the reg class) however i get the following error message:
>
> "unable to find a register to spill in class"
Note that that error message is very general and can have a number of
different underlying causes.
> Can i disable filling/spilling for this register class?
Sure: make the registers fixed.
Or look at how the MIPS port handles HI and LO, with particular
reference to mips_secondary_reload_class.
Ian
More information about the Gcc
mailing list