https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115933
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Summary|wrong code at -O1 with |[15 Regression] wrong code |"-fno-tree-loop-optimize |at -O1 with |-ftree-vrp -fno-tree-ch |"-fno-tree-loop-optimize |-fgcse" on x86_64-linux-gnu |-ftree-vrp -fno-tree-ch | |-fgcse" on x86_64-linux-gnu Keywords| |needs-bisection Target Milestone|--- |15.0 Last reconfirmed| |2024-07-15 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. The gimple level looks ok. Ifcvt (ce2) seems not to like: ``` (insn 4 3 18 3 (set (reg/v:SI 99 [ d ]) (const_int 2 [0x2])) "/app/example.c":3:16 89 {*movsi_internal} (nil)) (insn 18 4 5 3 (set (reg/v:SI 100 [ e ]) (const_int 0 [0])) "/app/example.c":5:19 discrim 1 89 {*movsi_internal} (nil)) (insn 5 18 40 3 (set (reg/v:SI 99 [ d ]) (reg/v:SI 100 [ e ])) "/app/example.c":6:9 89 {*movsi_internal} (expr_list:REG_DEAD (reg/v:SI 100 [ e ]) (nil))) (insn 40 5 20 3 (set (reg/v:SI 100 [ e ]) (const_int 1 [0x1])) "/app/example.c":5:25 discrim 3 89 {*movsi_internal} (nil)) ``` as a if bb.