Are the AVR GPIO registers used by AVRGCC?
Peripheral registers are not accessed by GCC unless you specifically write code to access them.

There is a difference between CPU registers and peripheral registers.  The CPU registers are in the CPU core.  Peripheral registers reside in the peripheral blocks.

Peripheral registers are not used by GCC to compute any logic or math expressions or to manage the stack.  Peripheral registers are only accessed when you specifically write code to access them.

//EXAMPLE
PORTA = 0xFF ;//set all bits on port A to 1, writes to peripheral register PORTA

//EXAMPLE
X = ((Y+Z)*76+P);//Calculate something, doesnt use peripheral registers.

If there are registers are implemented in your device and they don't connect to any used IO pins then you can probably use them as scratch registers without any problems.