diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52e741deeca..605e26cb816 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 30 18:04:13 1999 Richard Henderson + + * jump.c (jump_optimize_1) [conditional_move]: Use general_operand + not register_operand to determine when B may need preloading. + Thu Sep 30 17:39:16 1999 Richard Henderson * alpha.md (*): Use nonimmediate not general_operand for SET_DEST. diff --git a/gcc/jump.c b/gcc/jump.c index 3d7a4b787f3..377cfc96690 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -1169,10 +1169,10 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only) start_sequence (); - /* If we're not dealing with a register or the insn is more - complex than a simple SET, duplicate the computation and - replace the destination with a new temporary. */ - if (register_operand (temp2, GET_MODE (var)) + /* If we're not dealing with a simple operand or the insn is + more complex than a simple SET, duplicate the computation + and replace the destination with a new temporary. */ + if (general_operand (temp2, GET_MODE (var)) && GET_CODE (PATTERN (temp)) == SET) bval = temp2; else