Remove creation of invalid subreg. PR 7705, 7339, 7720.

From-SVN: r57315
This commit is contained in:
Dale Johannesen 2002-09-19 18:54:56 +00:00 committed by Dale Johannesen
parent 8d87f29506
commit 307f767b38
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2002-09-19 Dale Johannesen <dalej@apple.com>
* combine.c (make_extraction): Don't create
invalid subreg.
2002-09-19 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG

View File

@ -6124,6 +6124,11 @@ make_extraction (mode, inner, pos, pos_rtx, len,
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