http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61094
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hjl.tools at gmail dot com --- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> --- REE pass turns (insn 8 6 9 2 (set (reg:SI 21 xmm0 [orig:94 p1 ] [94]) (mem:SI (reg/f:DI 0 ax [orig:83 D.2426 ] [83]) [3 MEM[(const struct A &)_4]+0 S4 A32])) 90 {*movsi_internal} (nil)) (insn 10 9 11 2 (set (reg:DI 2 cx [orig:102 D.2428 ] [102]) (zero_extend:DI (reg:SI 21 xmm0 [orig:94 p1 ] [94]))) pr61094.cc:10 132 {*zero_extendsidi2} (nil)) into (insn 8 6 64 2 (set (reg:DI 2 cx) (zero_extend:DI (mem:SI (reg/f:DI 0 ax [orig:83 D.2426 ] [83]) [3 MEM[(const struct A &)_4]+0 S4 A32]))) 132 {*zero_extendsidi2} (nil)) (insn 64 8 9 2 (set (reg:DI 21 xmm0) (reg:DI 2 cx [orig:102 D.2428 ] [102])) -1 (nil)) Unfortunately (set (reg:DI 21 xmm0) (reg:DI 2 cx)) is disabled for -mtune=generic.