diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-09-25 08:22:29 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-09-25 08:22:29 -0400 |
commit | 09bf0250890c620542d352b1d5cf001a055fbd66 (patch) | |
tree | 8f8a09f1840ac3360ac919d7d7c9086f92d51c51 | |
parent | ad92c8260e6edea166040670a1a0e2304156a116 (diff) | |
download | gcc-09bf0250890c620542d352b1d5cf001a055fbd66.zip gcc-09bf0250890c620542d352b1d5cf001a055fbd66.tar.gz gcc-09bf0250890c620542d352b1d5cf001a055fbd66.tar.bz2 |
(push_reload...
(push_reload, find_reloads): Use new macros LOAD_EXTEND_OP and
WORD_REGISTER_OPERATION instead of BYTE_LOADS_*_EXTEND and
LOAD_EXTEND.
From-SVN: r5475
-rw-r--r-- | gcc/reload.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 7d9d55b..a4558d6 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -643,7 +643,7 @@ push_reload (in, out, inloc, outloc, class, || (((GET_CODE (SUBREG_REG (in)) == REG && REGNO (SUBREG_REG (in)) >= FIRST_PSEUDO_REGISTER) || GET_CODE (SUBREG_REG (in)) == MEM) -#if defined(BYTE_LOADS_ZERO_EXTEND) || defined(BYTE_LOADS_SIGN_EXTEND) +#ifdef LOAD_EXTEND_OP && GET_MODE_SIZE (inmode) <= UNITS_PER_WORD && GET_MODE_SIZE (GET_MODE (SUBREG_REG (in))) <= UNITS_PER_WORD && (GET_MODE_SIZE (inmode) @@ -680,7 +680,7 @@ 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) +#ifndef LOAD_EXTEND_OP 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. */ @@ -726,7 +726,7 @@ push_reload (in, out, inloc, outloc, class, || (((GET_CODE (SUBREG_REG (out)) == REG && REGNO (SUBREG_REG (out)) >= FIRST_PSEUDO_REGISTER) || GET_CODE (SUBREG_REG (out)) == MEM) -#if defined(BYTE_LOADS_ZERO_EXTEND) || defined(BYTE_LOADS_SIGN_EXTEND) +#ifdef LOAD_EXTEND_OP && GET_MODE_SIZE (outmode) <= UNITS_PER_WORD && GET_MODE_SIZE (GET_MODE (SUBREG_REG (out))) <= UNITS_PER_WORD && (GET_MODE_SIZE (outmode) @@ -760,7 +760,7 @@ push_reload (in, out, inloc, outloc, class, out_subreg_loc = outloc; outloc = &SUBREG_REG (out); out = *outloc; -#if ! defined(BYTE_LOADS_ZERO_EXTEND) && ! defined(BYTE_LOADS_SIGN_EXTEND) +#ifndef LOAD_EXTEND_OP if (GET_CODE (out) == MEM && GET_MODE_SIZE (GET_MODE (out)) > GET_MODE_SIZE (outmode)) abort (); @@ -2599,7 +2599,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) /* Force reload if this is a constant or if there may may be a problem accessing OPERAND in the outer mode. */ if (CONSTANT_P (operand) -#if defined(BYTE_LOADS_ZERO_EXTEND) || defined(BYTE_LOADS_SIGN_EXTEND) +#ifdef LOAD_EXTEND_OP /* If we have a SUBREG where both the inner and outer modes are different size but no wider than a word, combine.c has made assumptions about the behavior of |