From: Bernd Schmidt Date: Thu, 11 Nov 1999 12:26:29 +0000 (+0000) Subject: Avoid passing things like NEG into expand_and/expand_binop X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=665853dc7a0c101f40e112eec3a7122dc7add26a;p=gcc.git Avoid passing things like NEG into expand_and/expand_binop From-SVN: r30487 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 10f4716ba53..10262264d6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 11 13:23:04 1999 Bernd Schmidt + + * jump.c (jump_optimize_1): Avoid passing an rtx that is not an + operand as argument to expand_and or expand_binop. + Thu Nov 11 02:21:16 1999 Rodney Brown * xcoffout.c (xcoffout_source_file): Change ggc_add_root to diff --git a/gcc/jump.c b/gcc/jump.c index 4c8e9775927..2020840a9d6 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -1453,6 +1453,9 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only) 5) if (...) x = b; if jumps are even more expensive. */ if (GET_MODE_CLASS (GET_MODE (temp1)) == MODE_INT + /* We will be passing this as operand into expand_and. No + good if it's not valid as an operand. */ + && general_operand (temp2, GET_MODE (temp2)) && ((GET_CODE (temp3) == CONST_INT) /* Make the latter case look like x = x; if (...) x = 0; */