https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113091
--- Comment #5 from Richard Sandiford <rsandifo at gcc dot gnu.org> --- > The issue here is that because the "outer" pattern consumes > patt_64 = (int) patt_63 it should have adjusted _2 = (int) _1 > stmt-to-vectorize > as being the outer pattern root stmt for all this logic to work correctly. I don't think it can though, at least not in general. The final pattern stmt has to compute the same value as the original scalar stmt.