https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96061
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Alexander Popov from comment #4) > > Incorrect. There is also a zero_call_used_regs attribute. > > Thanks, now I've found it in your tree: > > ``` > You can control this behavior for a specific function by using the function > attribute @code{zero_call_used_regs}. > ``` > > Could you explain the connection between your attribute for zeroing > registers and 'no_caller_saved_registers' attribute? We are porting https://gitlab.com/x86-gcc/gcc/-/tree/users/hjl/caller-saved/old from x86 back-end to middle-end. no_caller_saved_registers changes what registers zero_call_used_regs can do. Move no_caller_saved_registers to middle-end has a direct impact on zero_call_used_regs implementation in middle-end.