https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88521
--- Comment #7 from mateuszb at poczta dot onet.pl --- W dniu 17.12.2018 o 13:52, umesh.kalappa0 at gmail dot com pisze: > mateuszb, > Please can you provide us the sample file to investigate more on this . I'm not assembly expert, but this looks to me as a bug: $ cat t.c float fun1(void) { return 4.14f; } Mateusz@Mateusz-i7 /c/temp $ gcc -c -O2 -o t354.o t.c Mateusz@Mateusz-i7 /c/temp $ objdump -d t354.o t354.o: file format pe-x86-64 Disassembly of section .text: 0000000000000000 <fun1>: 0: f3 0f 10 05 00 00 00 movss 0x0(%rip),%xmm0 # 8 <fun1+0x8> 7: 00 8: c3 retq 9: 90 nop a: 90 nop b: 90 nop c: 90 nop d: 90 nop e: 90 nop f: 90 nop Mateusz@Mateusz-i7 /c/temp $ m64- 355 Mateusz@Mateusz-i7 /c/temp $ gcc -c -O2 -o t355.o t.c Mateusz@Mateusz-i7 /c/temp $ objdump -d t355.o t355.o: file format pe-x86-64 Disassembly of section .text: 0000000000000000 <fun1>: 0: 8b 05 00 00 00 00 mov 0x0(%rip),%eax # 6 <fun1+0x6> 6: c3 retq 7: 90 nop 8: 90 nop 9: 90 nop a: 90 nop b: 90 nop c: 90 nop d: 90 nop e: 90 nop f: 90 nop This patch is really intended to change abi for float return (without struct)?