https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89040
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Hongtao.liu from comment #3) > > foo3b: > > .LFB0: > > .cfi_startproc > > movq %xmm0, %rax <<<<<<<< This should be "movd %xmm0, %eax". > > The issue can't be reproduced on current trunk. Right it seems like it was fixed in GCC 10.1.0. I have not looked into why though.