summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorfjahanian <fjahanian@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-26 17:42:16 +0000
committerfjahanian <fjahanian@138bc75d-0d04-0410-961f-82ee72b054a4>2005-09-26 17:42:16 +0000
commit432ef5b79758b4b25211e5edd9c9048824770628 (patch)
tree26e7739449595d7a46c04b8fcbcd2f9bc8455ef0 /gcc
parent464f331ade6844837205bb851be6849d942c6c1a (diff)
downloadgcc-432ef5b79758b4b25211e5edd9c9048824770628.tar.gz
Check for valid use of subreg.
Oked by Richard Henderson. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104649 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/combine.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8cdc5e3c6d2..5654d3df2bf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2005-09-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * combine.c (make_extraction): Check for valid use of subreg.
+
2005-09-26 Uros Bizjak <uros@kss-loka.si>
PR target/24055
diff --git a/gcc/combine.c b/gcc/combine.c
index 57f490da76b..4ab0f18097e 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -6314,7 +6314,7 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
/* Avoid creating invalid subregs, for example when
simplifying (x>>32)&255. */
- if (final_word >= GET_MODE_SIZE (inner_mode))
+ if (!validate_subreg (tmode, inner_mode, inner, final_word))
return NULL_RTX;
new = gen_rtx_SUBREG (tmode, inner, final_word);