https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115959
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- I will have a look, (gdb) p debug (cond_node) t.c:3:6: note: node (constant) 0x5a76f60 (max_nunits=1, refcnt=1) vector(4) unsigned char t.c:3:6: note: { 0 } not sure how this happened, it seems STMT_VINFO_REDUC_IDX got "off". t.c:3:6: note: node 0x5a76e30 (max_nunits=4, refcnt=2) vector(4) int t.c:3:6: note: op template: patt_31 = _4 != 0 ? t_14 : 0; t.c:3:6: note: [l] stmt 0 patt_31 = _4 != 0 ? t_14 : 0; t.c:3:6: note: children 0x5a76ec8 0x5a76f60 0x5a76ff8 0x5a77090 The stmts reduc_idx is 1 which is OK. Ah, but we have four children for this frankenstein COND_EXPR which still has a GENERIC first operand. Partial transitions haunt us here ...