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

--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> 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.

Ahh, ok.  I can make that more robust.  Thanks for the pointer!

Reply via email to