http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49114
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2011-05-24 04:40:08 UTC --- gen_reload generates wrong code for (gdb) call debug_rtx (out) (reg:SI 1 dx) (gdb) call debug_rtx (in) (plus:SI (subreg:SI (reg/v/f:DI 182 [ b ]) 0) (const_int 8 [0x8])) (gdb) when dx contains DI 182 [ b ]. gen_reload first puts (const_int 8 [0x8]) in dx and then replaces DI 182 [ b ] with dx.