https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115764
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tnfchris at gcc dot gnu.org --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- While we are restricting SLP nodes with data-refs to have all lanes defined in the same basic-block we are not imposing any such restriction on other stmts. Doing that would avoid the issue (and it might be necessary anyway for stmts that might trap, like divisions). PHIs and stores prevent downward movement during scheduling but there's no way to prevent upward movement. Note that iff we want to handle if-conversion, aka BB vectorize GIMPLE_CONDs we do have to support lanes defined in different BBs.