This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/24265] [4.1 Regression] ICE: in extract_insn, at recog.c:2084 with -O -fgcse -fmove-loop-invariants -mtune=pentiumpro
- From: "uros at kss-loka dot si" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Nov 2005 13:23:06 -0000
- Subject: [Bug target/24265] [4.1 Regression] ICE: in extract_insn, at recog.c:2084 with -O -fgcse -fmove-loop-invariants -mtune=pentiumpro
- References: <bug-24265-8707@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from uros at kss-loka dot si 2005-11-08 13:23 -------
Bah... set_unique_reg_note is needed:
/* If new move insn is invalid (i.e. move of const_double to
387 stack register), force constant into memory. */
if (recog_memoized (inv->insn) == -1)
{
rtx src = SET_SRC (set);
if (GET_CODE (src) == CONST_DOUBLE)
{
SET_SRC (set) = validize_mem (force_const_mem (mode, src));
set_unique_reg_note (inv->insn, REG_EQUAL, src);
}
}
to produce:
movl $1, %ebx
.L2:
movl $-1717986918, 8(%esp)
movl $1070176665, 12(%esp)
fldl -16(%ebp)
fstpl (%esp)
call dset
addl $1, %ebx
cmpl $4, %ebx
jne .L2
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24265