https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114591
--- Comment #11 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- unsigned v; long long v2; char foo () { v2 = v; return v; } This is related to *movqi_internal, and codegen has been worse since gcc8.1 foo: movl v(%rip), %eax movq %rax, v2(%rip) movzbl v(%rip), %eax ret