https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92469

--- Comment #10 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 
---
"jakub at gcc dot gnu.org" <gcc-bugzi...@gcc.gnu.org> writes:
> --- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Seems neither accessible_reg_set nor operand_reg_set can exclude frame, 
> because
> the latter results in general_operand predicate failing for it and the former
> results into the latter not being enabled either.
> So, if we wanted to reject this right away, we'd have to add another hard reg
> set (e.g. containing gcc internal artifical regs that shouldn't appear in asm
> register specification), or a target hook that would reject such registers 
> that
> varasm.c would call.

Agree a hard reg set would be good.  We should be able to fill in
the easy cases automatically, e.g. FRAME_POINTER_REGNUM when it's
!= HARD_FRAME_POINTER_REGNUM.  But some cases would still need
target help.

Reply via email to