From e05a9da8f93fd0298d26a88ab163848c872fd049 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sun, 2 May 1993 14:01:55 +0000 Subject: (push_reload): Allow non-paradoxical SUBREGs of MEM on machines that extend byte loads. From-SVN: r4305 --- gcc/reload.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/reload.c b/gcc/reload.c index 2053591..944b9a2 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -657,11 +657,13 @@ push_reload (in, out, inloc, outloc, class, in_subreg_loc = inloc; inloc = &SUBREG_REG (in); in = *inloc; +#if ! defined(BYTE_LOADS_ZERO_EXTEND) && ! defined(BYTE_LOADS_SIGN_EXTEND) if (GET_CODE (in) == MEM) /* This is supposed to happen only for paradoxical subregs made by combine.c. (SUBREG (MEM)) isn't supposed to occur other ways. */ if (GET_MODE_SIZE (GET_MODE (in)) > GET_MODE_SIZE (inmode)) abort (); +#endif inmode = GET_MODE (in); } @@ -699,10 +701,12 @@ push_reload (in, out, inloc, outloc, class, { out_subreg_loc = outloc; outloc = &SUBREG_REG (out); - out = *outloc; - if (GET_CODE (out) == MEM + out = *outloc; +#if ! defined(BYTE_LOADS_ZERO_EXTEND) && ! defined(BYTE_LOADS_SIGN_EXTEND) + if (GET_CODE (out) == MEM && GET_MODE_SIZE (GET_MODE (out)) > GET_MODE_SIZE (outmode)) abort (); +#endif outmode = GET_MODE (out); } -- cgit v1.1