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

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> ---
Combiner tries to combine whatever it can and if it matches (and costs suggest
it is beneficial) it keeps it.
So, this looks like a target bug to me.
In particular, mma_assemble_input_operand predicate seems to allow any MEM
whatsoever as long as it has V16QImode:
(define_special_predicate "mma_assemble_input_operand"
  (match_test "(mode == V16QImode
                && (vsx_register_operand (op, mode) || MEM_P (op)))"))
I don't believe it can allow any, there must be some requirement on what the
address of the MEM can be, whether a REG + REG, REG + offset etc. and the ICE
is a proof it is not the case.

Reply via email to