BELBACHIR Selim <selim.belbac...@fr.thalesgroup.com> writes: > I'm trying to support an 'in' instruction which reads a value on a peripheral > and writes it into a $INP register. > The $INP register can be used in almost every insn as input operand (add, > sub, mul ...). > I defined a builting to access the 'in' instruction. > > How should I express to gcc that the $INP register can only be 'read' and > must never be written? > > For the moment, I encounter a problem during IRA pass where some of my > 'classic' registers are reloaded into $INP (apparently because I have no > register left).
If you have a builtin to access the value, then you should be able to make it a fixed register. The register allocator will never try to allocate a fixed register. Ian