https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125322
Bug ID: 125322
Summary: clobbers_full_reg_p doesn't consider callee return
registers
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
CC: rdsandiford at googlemail dot com
Target Milestone: ---
function-abi.h has
bool
clobbers_full_reg_p (unsigned int regno) const
{
return (TEST_HARD_REG_BIT (m_mask, regno)
& m_base_abi->clobbers_full_reg_p (regno));
}
Since it doesn't consider callee return registers as clobbered,
a different callee_abi is needed for different callee return
registers.