diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8cdc5e3c6d2e..5654d3df2bff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-09-26 Fariborz Jahanian + + * combine.c (make_extraction): Check for valid use of subreg. + 2005-09-26 Uros Bizjak PR target/24055 diff --git a/gcc/combine.c b/gcc/combine.c index 57f490da76b9..4ab0f18097e2 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);