https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102057
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- A recently added peephole is converting: (insn 229 108 280 22 (parallel [ (set (reg:CCZ 17 flags) (compare:CCZ (ashiftrt:SI (reg:SI 0 ax [orig:90 _12 ] [90]) (const_int 2 [0x2])) (const_int 0 [0]))) (set (reg:SI 0 ax [orig:90 _12 ] [90]) (ashiftrt:SI (reg:SI 0 ax [orig:90 _12 ] [90]) (const_int 2 [0x2]))) ]) "pr102057.c":32:31 740 {*ashrsi3_cmp} (nil)) (insn 280 229 231 22 (set (reg:SI 1 dx [141]) (const_int 3 [0x3])) "pr102057.c":32:31 75 {*movsi_internal} (expr_list:REG_EQUIV (const_int 3 [0x3]) (nil))) (insn 231 280 114 22 (set (reg:SI 0 ax [orig:99 iftmp.13_29 ] [99]) (if_then_else:SI (ne (reg:CCZ 17 flags) (const_int 0 [0])) (reg:SI 0 ax [orig:99 iftmp.13_29 ] [99]) (reg:SI 1 dx [141]))) "pr102057.c":32:31 1140 {*movsicc_noc} (expr_list:REG_DEAD (reg:CCZ 17 flags) (expr_list:REG_DEAD (reg:SI 1 dx [141]) (nil)))) to: (insn 429 228 430 22 (parallel [ (set (reg:CCZ 17 flags) (compare:CCZ (ashiftrt:SI (reg:SI 0 ax [orig:90 _12 ] [90]) (const_int 2 [0x2])) (const_int 0 [0]))) (set (reg:SI 41 r13 [orig:137 k ] [137]) (ashiftrt:SI (reg:SI 0 ax [orig:90 _12 ] [90]) (const_int 2 [0x2]))) ]) "pr102057.c":32:31 -1 (nil)) (insn 430 429 431 22 (set (reg:SI 0 ax [orig:90 _12 ] [90]) (const_int 3 [0x3])) "pr102057.c":32:31 -1 (nil)) (insn 431 430 114 22 (set (reg:SI 0 ax [orig:90 _12 ] [90]) (if_then_else:SI (ne (reg:CCZ 17 flags) (const_int 0 [0])) (reg:SI 41 r13 [orig:137 k ] [137]) (reg:SI 0 ax [orig:90 _12 ] [90]))) "pr102057.c":32:31 -1 (nil))