mirror of
https://review.haiku-os.org/buildtools
synced 2025-01-31 10:34:41 +01:00
[taken from gcc-2.95.3-latest-cvs]
2001-03-16 Jakub Jelinek <jakub@redhat.com> * loop.c (combine_movables): Restrict combinations of constants with different modes so that we don't introduce SUBREGs into memory addresses. git-svn-id: file:///srv/svn/repos/haiku/trunk/buildtools@9595 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
da36187c7a
commit
0e9863ca9a
@ -1481,10 +1481,16 @@ combine_movables (movables, nregs)
|
||||
width as M1. The check for integer is redundant, but
|
||||
safe, since the only case of differing destination
|
||||
modes with equal sources is when both sources are
|
||||
VOIDmode, i.e., CONST_INT. */
|
||||
VOIDmode, i.e., CONST_INT.
|
||||
|
||||
For 2.95, don't do this if the mode of M1 is Pmode.
|
||||
This prevents us from substituting SUBREGs for REGs
|
||||
in memory accesses; not all targets are prepared to
|
||||
handle this properly. */
|
||||
(GET_MODE (m->set_dest) == GET_MODE (m1->set_dest)
|
||||
|| (GET_MODE_CLASS (GET_MODE (m->set_dest)) == MODE_INT
|
||||
&& GET_MODE_CLASS (GET_MODE (m1->set_dest)) == MODE_INT
|
||||
&& GET_MODE (m1->set_dest) != Pmode
|
||||
&& (GET_MODE_BITSIZE (GET_MODE (m->set_dest))
|
||||
>= GET_MODE_BITSIZE (GET_MODE (m1->set_dest)))))
|
||||
/* See if the source of M1 says it matches M. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user