https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97910
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2020-11-20 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Confirmed, it's related to how we generate code for the condition: <bb 2> : [pr97910.c:10:13] _1 = [pr97910.c:10:13] x.a; [pr97910.c:10:16] _2 = _1 & 16368; [pr97910.c:10:31] _3 = [pr97910.c:10:31] y.a; [pr97910.c:10:34] _4 = _3 & 1023; [pr97910.c:10:44] if (_2 == _4) goto <bb 3>; [INV] else goto <bb 5>; [INV] <bb 3> : [pr97910.c:11:6] _5 = [pr97910.c:11:6] x.b; [pr97910.c:11:9] _6 = _5 & 16368; [pr97910.c:11:24] _7 = [pr97910.c:11:24] y.b; [pr97910.c:11:27] _8 = _7 & 1023; [pr97910.c:10:44] if (_6 == _8) goto <bb 4>; [INV] else goto <bb 5>; [INV] <bb 4> : [pr97910.c:10:44] iftmp.0_11 = 1; [pr97910.c:10:44] goto <bb 6>; [INV] <bb 5> : [pr97910.c:10:44] iftmp.0_12 = 0;