Index: combine.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/combine.c,v retrieving revision 1.503 diff -c -p -r1.503 combine.c *** combine.c 26 Aug 2005 21:52:23 -0000 1.503 --- combine.c 26 Sep 2005 16:01:23 -0000 *************** make_extraction (enum machine_mode mode, *** 6314,6320 **** /* Avoid creating invalid subregs, for example when simplifying (x>>32)&255. */ ! if (final_word >= GET_MODE_SIZE (inner_mode)) return NULL_RTX; new = gen_rtx_SUBREG (tmode, inner, final_word); --- 6314,6320 ---- /* Avoid creating invalid subregs, for example when simplifying (x>>32)&255. */ ! if (!validate_subreg (tmode, inner_mode, inner, final_word)) return NULL_RTX; new = gen_rtx_SUBREG (tmode, inner, final_word);