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.

Reply via email to