https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82259
--- Comment #1 from Peter Cordes <peter at cordes dot ca> --- More generally, you can flip a higher bit while copying with lea 64(%rdi), %eax That leaves the bits above that position munged by carry-out, but that isn't always a problem.