------- Additional Comments From steven at gcc dot gnu dot org 2004-11-13 19:34 ------- CSE is trying to reconstruct the addressing mode, but it has (plus:SI (ashift:SI (reg/v:SI 61 [ n ]) (const_int 2 [0x2])) (reg/v/f:SI 59 [ a ])) According to hp, the canonical form would be with a mult. Breakpoint 9, ix86_decompose_address (addr=0x401d515c, out=0xbfffec48) at ../../mainline/gcc/config/i386/i386.c:4567 4567 { 1: debug_rtx (addr) = (plus:SI (ashift:SI (reg/v:SI 61 [ n ]) (const_int 2 [0x2])) (reg/v/f:SI 59 [ a ])) void (gdb) bt #0 ix86_decompose_address (addr=0x401d5078, out=0xbfffec78) at ../../mainline/gcc/config/i386/i386.c:4567 #1 0x082ee548 in legitimate_address_p (mode=3221220472, addr=0x401d5078, strict=0) at ../../mainline/gcc/config/i386/i386.c:5064 #2 0x0828ec5e in memory_address_p (mode=3221220472, addr=0xbfffec78) at ../../mainline/gcc/recog.c:1268 #3 0x0828ed5f in general_operand (op=0x401d5084, mode=SFmode) at ../../ mainline/gcc/recog.c:979 #4 0x0828f029 in nonimmediate_operand (op=0x401d5084, mode=3221220472) at ../../mainline/gcc/recog.c:1143 #5 0x08226803 in recog_16 (x0=0x401d50b4, insn=0x4016c230, pnum_clobbers=0x0) at insn-recog.c:16332 #6 0x0828e07c in recog_memoized_1 (insn=0x4016c230) at ../../mainline/gcc/ recog.c:123 #7 0x08121594 in cse_insn (insn=0x4016c230, libcall_insn=0x0) at ../../ mainline/gcc/cse.c:4783
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18463