https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121829
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2025-09-06
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Target Milestone|--- |13.5
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, the vectorizer is doing something wrong with the label from asm
goto:
```
<bb 4> [local count: 107374184]:
_1 = MEM[(int * *)&d + 24B];
__asm__ __volatile__ goto("" : : : : "h" <L6>);
<bb 5> [local count: 966367640]:
# f_23 = PHI <f_10(8), 0(4)>
# ivtmp_12 = PHI <ivtmp_9(8), 9(4)>
<L6>:
i[f_23] = 1;
f_10 = f_23 + 1;
ivtmp_9 = ivtmp_12 - 1;
if (ivtmp_9 != 0)
goto <bb 8>; [88.89%]
else
goto <bb 6>; [11.11%]
```
I suspect the problem is the asm goto in this case goes to the same bb as the
fall through and that is represented as one edge rather than 2 and the loop
optimizers don't handle things that well.