[Bug rtl-optimization/18463] [4.0 Regression] Moving floating point through an integer register
steven at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Nov 13 19:35:00 GMT 2004
------- 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
More information about the Gcc-bugs
mailing list