https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84762
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-03-22 Ever confirmed|0 |1 --- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> --- On Linux, with trunk, with -msvr4-struct-return I get f: stwu 1,-32(1) li 10,4386 li 9,51 sth 10,8(1) stb 9,10(1) ori 2,2,0 lwz 3,8(1) addi 1,1,32 slwi 3,3,24 blr which is simply incorrect (it returns only the undefined byte!) and without the flag it generates f: li 8,4386 li 10,51 sth 8,0(3) stb 10,2(3) blr (which is correct behaviour for this ABI, not sure if it is documented that way though). powerpc-eabi does the same thing, but with the other default.