------- 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