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

--- Comment #10 from Kirill Yukhin <kyukhin at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #9)
> But something like that might remove the flexibility from the register
> allocator.
> 
> Wonder why the RA in this case doesn't see that the value loaded into that
> pseudo register is CONST0_RTX which satisfies the C constraint and doesn't
> undo CSE (rematerialize) in that case if it doesn't have that value already
> loaded in the matching register to the output one.

Then I see two options:
1. Split all patterns into match_dup and 0_operand by hand
2. Implement dedicated subst for such a patterns which will do p.1 while
processing MD. Not sure it'll be easy

Reply via email to