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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Yeah, it isn't e.g. something RTL CSE would naturally do, because there is no
common subexpression, this needs to know that a narrower broadcast is a part of
a wider broadcast of the same argument and know how to replace that with a
backend instruction that takes the low bits from it (while it actually usually
expands to no code, at least before RA it needs to be expressed some way and is
very backend specific, we don't allow a vector mode to vector mode subreg with
different size).  So the only place to deal with this in RTL would be some
backend specific pass I'm afraid.

Reply via email to