https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105546
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Target| |x86_64-linux-gnu Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2022-05-10 Target Milestone|--- |11.4 Summary|load introduction when |[11/12/13 Regression] |initializing a struct |ifconversion introduces | |many compares with loads Component|middle-end |target --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is ifconversion changing: if (g_344.0_1 != 0) goto <bb 4>; [50.00%] else goto <bb 3>; [50.00%] <bb 3> [local count: 536870912]: <bb 4> [local count: 1073741824]: # _16 = PHI <4499926296329723445(2), -6(3)> # _18 = PHI <3(2), 3409572933270154779(3)> # _20 = PHI <171(2), 161(3)> # _22 = PHI <-1(2), -8(3)> # _24 = PHI <27943(2), 1(3)> # _26 = PHI <2738(2), 65526(3)> Into straight line code but keeps the load around. THis is a target issue.