aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/combine.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3cbf671..de90646 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2003-10-02 Josef Zlomek <zlomekj@suse.cz>
+ PR/12292
+ * combine.c (make_field_assignment): Check whether rtx's code
+ is CONST_INT before using INTVAL.
+
+2003-10-02 Josef Zlomek <zlomekj@suse.cz>
+
* cgraph.c (cgraph_node): Use INSERT instead of 1 in
htab_find_slot_with_hash.
(cgraph_node_for_identifier): Use NO_INSERT.
diff --git a/gcc/combine.c b/gcc/combine.c
index 3a3d922..5ad0a0f 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -7666,6 +7666,7 @@ make_field_assignment (rtx x)
&& (GET_MODE_SIZE (GET_MODE (XEXP (src, 0)))
< GET_MODE_SIZE (GET_MODE (SUBREG_REG (XEXP (src, 0)))))
&& GET_CODE (SUBREG_REG (XEXP (src, 0))) == ROTATE
+ && GET_CODE (XEXP (SUBREG_REG (XEXP (src, 0)), 0)) == CONST_INT
&& INTVAL (XEXP (SUBREG_REG (XEXP (src, 0)), 0)) == -2
&& rtx_equal_for_field_assignment_p (dest, XEXP (src, 1)))
{