https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102027
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- gcc-11 does: 0000000000000000 <check2237>: 0: 55 push %rbp 1: 48 89 e5 mov %rsp,%rbp 4: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # b <check2237+0xb> 7: R_X86_64_PC32 check2237_ret-0x4 b: 66 48 0f 6e c0 movq %rax,%xmm0 10: 5d pop %rbp 11: c3 retq and for reference, clang-12: 0000000000000000 <check2237>: 0: 55 push %rbp 1: 48 89 e5 mov %rsp,%rbp 4: 48 8b 04 25 00 00 00 mov 0x0,%rax b: 00 8: R_X86_64_32S check2237_ret c: 48 89 45 f8 mov %rax,-0x8(%rbp) 10: f2 0f 10 45 f8 movsd -0x8(%rbp),%xmm0 15: 5d pop %rbp 16: c3 retq These are the same.