Commit 07015444 by Jan Hubicka Committed by Jan Hubicka

rtlanal.c (subreg_offset_representable_p): Fix call of subreg_lowpart.

	* rtlanal.c (subreg_offset_representable_p):  Fix call of
	subreg_lowpart.

From-SVN: r65817
parent bced6edf
Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
* rtlanal.c (subreg_offset_representable_p): Fix call of
subreg_lowpart.
2003-04-19 Neil Booth <neil@daikokuya.co.uk> 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
* cpphash.h (struct cpp_reader): New member warned_dollar. * cpphash.h (struct cpp_reader): New member warned_dollar.
......
...@@ -3432,8 +3432,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode) ...@@ -3432,8 +3432,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode)
redesigned. */ redesigned. */
if (GET_MODE_SIZE (xmode) % GET_MODE_SIZE (ymode) if (GET_MODE_SIZE (xmode) % GET_MODE_SIZE (ymode)
|| GET_MODE_SIZE (ymode) % nregs_ymode || GET_MODE_SIZE (ymode) % nregs_ymode
|| mode_for_size (GET_MODE_SIZE (ymode) / nregs_ymode, || (GET_MODE_BITSIZE (mode_for_size (GET_MODE_BITSIZE (xmode)
MODE_INT, 0) == VOIDmode / nregs_xmode,
MODE_INT, 0))
!= GET_MODE_BITSIZE (xmode) / nregs_xmode)
|| nregs_xmode % nregs_ymode) || nregs_xmode % nregs_ymode)
abort (); abort ();
#endif #endif
...@@ -3441,9 +3443,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode) ...@@ -3441,9 +3443,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode)
/* The XMODE value can be seen as an vector of NREGS_XMODE /* The XMODE value can be seen as an vector of NREGS_XMODE
values. The subreg must represent an lowpart of given field. values. The subreg must represent an lowpart of given field.
Compute what field it is. */ Compute what field it is. */
offset -= subreg_lowpart_offset (mode_for_size (GET_MODE_SIZE (ymode) offset -= subreg_lowpart_offset (ymode,
/ nregs_ymode, mode_for_size (GET_MODE_BITSIZE (xmode)
MODE_INT, 0), xmode); / nregs_xmode,
MODE_INT, 0));
/* size of ymode must not be greater than the size of xmode. */ /* size of ymode must not be greater than the size of xmode. */
mode_multiple = GET_MODE_SIZE (xmode) / GET_MODE_SIZE (ymode); mode_multiple = GET_MODE_SIZE (xmode) / GET_MODE_SIZE (ymode);
......
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