johannes 02/09/25 12:32:32
Modified: gcc combine.c
Log:
Roll in an FSF-approved change.
Revision Changes Path
1.19 +5 -0 gcc3/gcc/combine.c
Index: combine.c
===================================================================
RCS file: /cvs/Darwin/gcc3/gcc/combine.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- combine.c 2002/08/26 05:39:29 1.18
+++ combine.c 2002/09/25 19:32:31 1.19
@@ -6087,6 +6087,11 @@
final_word += (GET_MODE_SIZE (inner_mode)
- GET_MODE_SIZE (tmode)) % UNITS_PER_WORD;
+ /* 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);
}
else