aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/jump.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 10f4716..1026226 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Nov 11 13:23:04 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * 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 <RodneyBrown@pmsc.com>
* xcoffout.c (xcoffout_source_file): Change ggc_add_root to
diff --git a/gcc/jump.c b/gcc/jump.c
index 4c8e977..2020840 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; */