https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119325
--- Comment #16 from Andrew Stubbs <ams at gcc dot gnu.org> --- Perhaps: asm ("mov %0, %1" : "=v"(__from), "v"(__to)); or maybe asm ("; no-op cast %0" : "=v"(__from), "0"(__to)); Is there a downside to that in the optimizer(s)?