https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114659
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |target --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I doubt there is not much to be done here. It is a x87 issue where we do the store of the float register stack register to the stack to get 32bits (or 64bit) version. And then load it into a GPR. float t = *x; float t1 = *y; __builtin_memcpy (&xu.f, &t, sizeof (float)); __builtin_memcpy (&xu.f, &t1, sizeof (float)); Produces exactly the same issue.