https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98689
--- Comment #3 from John David Anglin <danglin at gcc dot gnu.org> --- Created attachment 50320 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50320&action=edit .s diff to gcc10 .s The following code is wrong in gcc-11: - ldw 12(%r3),%r28 + ldw 12(%r3),%r5 + copy %r5,%r28 bl foo,%r2 ldo 64(%r3),%r4 - stw %r28,0(%r4) + stw %r5,0(%r4) In gcc-10, the return value from foo is stored in 0(%r4).