summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/rtlanal.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 68c3d86de6c..78b0a8ac045 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-18 Roger Sayle <roger@eyesopen.com>
+
+ * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
+ and SIGN_EXTRACT.
+
2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
PR optimization/7675
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 3b024adc89d..80fff6310bf 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1573,7 +1573,9 @@ reg_overlap_mentioned_p (x, in)
unsigned int regno, endregno;
/* Overly conservative. */
- if (GET_CODE (x) == STRICT_LOW_PART)
+ if (GET_CODE (x) == STRICT_LOW_PART
+ || GET_CODE (x) == ZERO_EXTRACT
+ || GET_CODE (x) == SIGN_EXTRACT)
x = XEXP (x, 0);
/* If either argument is a constant, then modifying X can not affect IN. */