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

--- Comment #6 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 
---
(In reply to Stam Markianos-Wright from comment #5)
> I'm tempted to try and add a reverse:
> 
>       || multiple_p (*stmt_vectype_out, nunits_vectype)
> 
> And then regtest, but I probably need to do more reading around to figure out
> what we really should be expecting each case!
I don't think that's right.  If nunits_vectype is not a multiple
of stmt_vectype then the stmt_vectype contains (or might contain)
unused elements.  The vectoriser isn't set up to work like that:
all operations are currently supposed to be full-vector operations
(possibly predicated, on SVE and AVX).

AFAICT the assert is correct and it's showing up a problem elsewhere.

Reply via email to