https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70321
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Ilya Enkovich from comment #5) > (In reply to Jakub Jelinek from comment #4) > > For stage1, I wonder if it can't move earlier, say before the combiner. If > > it could, then we could split the TARGET_STV patterns that weren't changed > > into vector insns, and let the combiner deal with that. Is there a reason > > why it is done after the combiner now? > > Yes, STV searches for ANDN pattern and also for DI comparison with zero > executed via OR. Those are produced by combiner. I believe some STV tests > would fail if we move it before combine. Why couldn't STV just "vectorize" AND and NOT patterns and let the combiner combine that in the vectorized code?