mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-31 00:15:43 +08:00
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
This commit is contained in:
parent
bced6edfc6
commit
070154442e
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
* cpphash.h (struct cpp_reader): New member warned_dollar.
|
||||
|
@ -3432,8 +3432,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode)
|
||||
redesigned. */
|
||||
if (GET_MODE_SIZE (xmode) % GET_MODE_SIZE (ymode)
|
||||
|| GET_MODE_SIZE (ymode) % nregs_ymode
|
||||
|| mode_for_size (GET_MODE_SIZE (ymode) / nregs_ymode,
|
||||
MODE_INT, 0) == VOIDmode
|
||||
|| (GET_MODE_BITSIZE (mode_for_size (GET_MODE_BITSIZE (xmode)
|
||||
/ nregs_xmode,
|
||||
MODE_INT, 0))
|
||||
!= GET_MODE_BITSIZE (xmode) / nregs_xmode)
|
||||
|| nregs_xmode % nregs_ymode)
|
||||
abort ();
|
||||
#endif
|
||||
@ -3441,9 +3443,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode)
|
||||
/* The XMODE value can be seen as an vector of NREGS_XMODE
|
||||
values. The subreg must represent an lowpart of given field.
|
||||
Compute what field it is. */
|
||||
offset -= subreg_lowpart_offset (mode_for_size (GET_MODE_SIZE (ymode)
|
||||
/ nregs_ymode,
|
||||
MODE_INT, 0), xmode);
|
||||
offset -= subreg_lowpart_offset (ymode,
|
||||
mode_for_size (GET_MODE_BITSIZE (xmode)
|
||||
/ nregs_xmode,
|
||||
MODE_INT, 0));
|
||||
|
||||
/* size of ymode must not be greater than the size of xmode. */
|
||||
mode_multiple = GET_MODE_SIZE (xmode) / GET_MODE_SIZE (ymode);
|
||||
|
Loading…
Reference in New Issue
Block a user