https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67718
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |target --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- What is happening is the subreg is being assumed it is lower part of the register rather than the upper part. Really this subreg should have declared as invalid for v1 as there is no way to do scalar for the upper part of the register. This makes this a target issue rather than a middle-end one. Also by the way using __builtin_copysignl should generate better code generation anyways.