https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116734
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- init-regs adds the set to 0 for the output: adding initialization in st_update_array_templ of reg 119 at in block 8 for insn 75. scanning new insn with uid = 168. scanning new insn with uid = 169. (insn 167 129 75 8 (set (reg:SI 119) (const_int 0 [0])) "t.cc":51:31 39 {*movsi_internal3} (expr_list:REG_EQUIV (const_int 0 [0]) (nil))) (insn 75 167 76 8 (parallel [ (reg:SI 119) (reg:SI 118) (mem/v:SI (reg/v/f:SI 69 [ buffer ]) [-1 S4 A32]) (reg:SI 118) (reg:SI 148) (const_int 0 [0]) (const_int 32773 [0x8005]) (const_int 0 [0]) (clobber (reg:SI 157)) ]) "t.cc":51:31 86 {atomic_compare_and_swapsi} (expr_list:REG_UNUSED (reg:SI 157) (nil)))