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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Andi Kleen from comment #7)
> I was thinking of the same fix, but that means no conditional gfaffine
> shifts can be generated anymore, right?

It can.  The vectorizer will just emit it separately, shift unconditionally and
conditional move from the result of that and some other value (0 or some
value).
And then the combiner can combine them together, like it handles many other
cases.
Except that right now you only handle it in define_expand.
So, guess we need a pattern that will handle it later on too.

Reply via email to