re PR target/18701 (mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c)
PR target/18701 * combine.c (gen_lowpart_for_combine): When stripping SUBREG of MEM, adjust imode and isize. From-SVN: r92760
This commit is contained in:
parent
8c8a5f7c8e
commit
32f2ce0299
|
@ -1,3 +1,9 @@
|
|||
2004-12-31 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
|
||||
PR target/18701
|
||||
* combine.c (gen_lowpart_for_combine): When stripping SUBREG of
|
||||
MEM, adjust imode and isize.
|
||||
|
||||
2004-12-30 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/ia64/ia64.c (hfa_element_mode): Return false for
|
||||
|
|
|
@ -9355,8 +9355,16 @@ gen_lowpart_for_combine (enum machine_mode omode, rtx x)
|
|||
if (GET_CODE (x) == SUBREG && MEM_P (SUBREG_REG (x)))
|
||||
{
|
||||
x = SUBREG_REG (x);
|
||||
if (GET_MODE (x) == omode)
|
||||
|
||||
/* For use in case we fall down into the address adjustments
|
||||
further below, we need to adjust the known mode and size of
|
||||
x; imode and isize, since we just adjusted x. */
|
||||
imode = GET_MODE (x);
|
||||
|
||||
if (imode == omode)
|
||||
return x;
|
||||
|
||||
isize = GET_MODE_SIZE (imode);
|
||||
}
|
||||
|
||||
result = gen_lowpart_common (omode, x);
|
||||
|
|
Loading…
Reference in New Issue