http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57518
wmi at google dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #3 from wmi at google dot com --- oh, sorry to make it misleading, but the 4.8.0 below is an experimental version (see its date is 20120613, at that time LRA has not been merged): Target: x86_64-linux-gnu gcc version 4.8.0 20120613 (experimental) (GCC) gcc -O2 -S 1.c .cfi_startproc movzbl ip+2(%rip), %eax andl $3, %eax movl %eax, total(%rip) ret .cfi_endproc I just verified using 4.8.0 and 4.8.1 releases, the problem was there for both.