https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80818
--- Comment #4 from Andreas Krebbel <krebbel at gcc dot gnu.org> --- Created attachment 41609 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41609&action=edit Reduced testcase gcc -O3 -march=z900 t.c r33 is marked as unused in process_bb_lives for the compare (insn 10), although the value is used by the add with carry (insn 18). (insn 10 23 24 2 (parallel [ (set (reg:CCL3 33 %cc) (compare:CCL3 (reg/v:DI 73 [orig:64 a ] [64]) (reg/v:DI 65 [ b ]))) (clobber (reg/v:DI 73 [orig:64 a ] [64])) ]) "t.c":6 1632 {*subdi3_cconly2} (expr_list:REG_UNUSED (reg:CC 33 %cc) (expr_list:REG_UNUSED (reg/v:DI 73 [orig:64 a ] [64]) (expr_list:REG_DEAD (reg/v:DI 65 [ b ]) (nil)))))