diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe370251d8f..e568026dc41 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu May 31 19:09:53 CEST 2001 Jan Hubicka + + * flow.c (set_block_for_new_insns): Remove bogus shortcut. + * i386.c (ix86_expand_int_movcc): Force one of operands to be register. + 2001-05-31 Rodney Brown * install.texi (Configuration): Add html links for --with-gnu-as & diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8ceb3b7bb1c..2fb8b285237 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -6575,6 +6575,9 @@ ix86_expand_int_movcc (operands) emit_move_insn (tmp, operands[2]); operands[2] = tmp; } + if (! register_operand (operands[2], VOIDmode) + && ! register_operand (operands[3], VOIDmode)) + operands[2] = force_reg (GET_MODE (operands[0]), operands[2]); emit_insn (compare_seq); emit_insn (gen_rtx_SET (VOIDmode, operands[0], diff --git a/gcc/flow.c b/gcc/flow.c index d983ab5d24d..ffbf4c7b3f6 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -6734,12 +6734,6 @@ set_block_for_new_insns (insn, bb) { set_block_for_insn (insn, bb); - /* We dont scan to set the block to 0 since this is the default value. - If we did, we'd end up scanning/setting the entire prologue block - everytime we insert an insn into it. */ - if (bb->index == 0) - return; - /* Scan the previous instructions setting the block number until we find an instruction that has the block number set, or we find a note of any kind. */