mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-17 05:58:54 +08:00
Remove creation of invalid subreg. PR 7705, 7339, 7720.
From-SVN: r57315
This commit is contained in:
parent
8d87f29506
commit
307f767b38
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user