https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109456
--- Comment #14 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- (In reply to Andreas Schwab from comment #10) > Or "other ABI-mandated fixed roles". This also includes return value > registers. Hmm, even "ABI-mandated fixed roles" is not enough. For example, or RISC-V we have extern int foo(char *); int test() { char x[12345678]; return foo(x); } Then t0 is used by the function prologue, and -ffixed-t0 cannot stop it (because the use of t0 is hard coded in the target hook).