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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> I'm not sure who's responsible to reject this, whether the vectorizer can
> expect there's a way to create the mask arguments when the simdclone is
> marked usable by the target or whether it has to verify that itself.
> 
> This becomes an ICE if we move vector lowering before vectorization.

Wasn't this valid when VEC_COND_EXPR allowed the comparison directly in the
operand?
Or maybe I misremember.  Certainly I believe -mavx -mno-avx2 should be able to
do
256-bit conditional moves of float/double elements.
When it is in a separate statement, there is always a risk something CSEs it or
moves it away from the single user etc. such that expansion couldn't consider
it together.
I don't see any VEC_COND_EXPRs anywhere in GCC 7 pr68762-*.cc.* dumps though.

Reply via email to