https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70021
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 37834 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37834&action=edit gcc6-pr70021-wip.patch But that would mean we don't vectorize the loop. I see 2 cases here, one where we look up the def_stmt and look through it, that is the same case as in the other PR and we shouldn't do that, otherwise we reference something that is not the final SSA_NAME of a pattern sequence outside of that sequence. The other case is where we don't look through that or just avoid that, in that case we add a cast into the current pattern sequence, and refer to the final SSA_NAME of the other pattern sequence. I really don't see why that shouldn't work right. Except as the patch shows, it doesn't for some reason.