------- Comment #4 from jakub at gcc dot gnu dot org 2008-09-09 08:12 ------- The alias set is the same: (insn:TI 2204 2201 78 pr37408.i:9124 (set (reg:DI 6 6) (zero_extend:DI (mem/c/i:SI (plus:DI (reg:DI 5 5 [6]) (const_int 1492 [0x5d4])) [5 nargs+4 S4 A64]))) 14 {*zero_extendsidi2_internal1} (nil))
(insn:TI 68 82 69 pr37408.i:9114 (set (mem/c/i:DI (plus:DI (reg:DI 5 5) (const_int 1488 [0x5d0])) [5 nargs+0 S4 A64]) (reg:DI 3 3 [ nargs+-4 ])) 337 {*movdi_internal64} (expr_list:REG_DEAD (reg:DI 3 3 [ nargs+-4 ]) (expr_list:REG_EQUIV (mem/c/i:DI (plus:DI (reg/f:DI 67 ap) (const_int 48 [0x30])) [5 nargs+0 S4 A64]) (nil)))) Perhaps MEM_SIZE in second insn (originally first) being only 32-bit and not 64-bit is the bug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37408