Commit 3eacd71f by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

re PR target/18701 (mmix-knuth-mmixware gcc.c-torture/execute failures:…

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 (combine_simplify_rtx): Revert change of 2004-12-31.

From-SVN: r94005
parent eacf8912
2005-01-21 Hans-Peter Nilsson <hp@bitrange.com>
PR target/18701
* combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
2005-01-20 Paul Brook <paul@codesourcery.com> 2005-01-20 Paul Brook <paul@codesourcery.com>
* doc/rtl.texi: Document value extension requirements for CONST_INT. * doc/rtl.texi: Document value extension requirements for CONST_INT.
......
...@@ -3984,14 +3984,10 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int in_dest) ...@@ -3984,14 +3984,10 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int in_dest)
} }
/* Don't change the mode of the MEM if that would change the meaning /* Don't change the mode of the MEM if that would change the meaning
of the address. Similarly, don't allow widening, as that may of the address. */
access memory outside the defined object or using an address
that is invalid for a wider mode. */
if (MEM_P (SUBREG_REG (x)) if (MEM_P (SUBREG_REG (x))
&& (MEM_VOLATILE_P (SUBREG_REG (x)) && (MEM_VOLATILE_P (SUBREG_REG (x))
|| mode_dependent_address_p (XEXP (SUBREG_REG (x), 0)) || mode_dependent_address_p (XEXP (SUBREG_REG (x), 0))))
|| (GET_MODE_SIZE (mode)
> GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))))
return gen_rtx_CLOBBER (mode, const0_rtx); return gen_rtx_CLOBBER (mode, const0_rtx);
/* Note that we cannot do any narrowing for non-constants since /* Note that we cannot do any narrowing for non-constants since
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment