https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126998
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |17.0
Summary|ICE at -O3 on |[17 Regression] ICE at -O3
|x86_64-linux-gnu during |on x86_64-linux-gnu during
|GIMPLE pass: vect |GIMPLE pass: vect
Status|UNCONFIRMED |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
Ever confirmed|0 |1
Last reconfirmed| |2026-08-24
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
<bb 3> [local count: 1605787]:
e.0_1 = e;
_2 = (unsigned int) e.0_1;
a_lsm.16_26 = a;
<bb 4> [local count: 14598063]:
# b.9_31 = PHI <_10(13), b.9_23(3)>
# a_lsm.16_25 = PHI <a_lsm.16_9(13), a_lsm.16_26(3)>
_5 = _2 + a_lsm.16_25;
_7 = _2 * 44;
a_lsm.16_9 = _5 + _7;
_10 = b.9_31 + 1;
if (_10 != 0)
goto <bb 13>; [89.00%]
else
goto <bb 9>; [11.00%]
_2 * 44 is invariant. We create
t.c:4:6: note: node 0x522f070 (refcnt=2) vector(4) unsigned int cycle 0, link 2
t.c:4:6: note: op template: patt_11 = DOT_PROD_EXPR <e.0_1, 44, _5>;
t.c:4:6: note: [l] stmt 0 patt_11 = DOT_PROD_EXPR <e.0_1, 44, _5>;
t.c:4:6: note: children 0x522f120 0x522f1d0 0x522f280
and ICE similar to PR126997 to which this is very related but not exactly
the same (no unswitching happening).