diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-12-23 23:17:20 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-12-23 23:17:20 +0000 |
commit | 07875628ee1bbcc753b44b4d962779d577cd605a (patch) | |
tree | 63484fbe1ebeb5d29befec29fd7649ffbc1e3199 /gcc/reload1.c | |
parent | 7e28988a047a00cd9ee16f9a0d39f8d1635ff985 (diff) | |
download | gcc-07875628ee1bbcc753b44b4d962779d577cd605a.zip gcc-07875628ee1bbcc753b44b4d962779d577cd605a.tar.gz gcc-07875628ee1bbcc753b44b4d962779d577cd605a.tar.bz2 |
reload1.c (emit_input_reload_insns): Restore old behaviour wrt.
* reload1.c (emit_input_reload_insns): Restore old behaviour
wrt. 'special' reloads.
From-SVN: r31081
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 8df32e6..6affa68 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6147,7 +6147,7 @@ emit_input_reload_insns (chain, rl, old, j) reg_renumber[REGNO (old)] = REGNO (rl->reg_rtx); alter_reg (REGNO (old), -1); } - return; + special = 1; } } @@ -6165,7 +6165,7 @@ emit_input_reload_insns (chain, rl, old, j) because we don't make such reloads when both the input and output need secondary reload registers. */ - if (rl->secondary_in_reload >= 0) + if (! special && rl->secondary_in_reload >= 0) { rtx second_reload_reg = 0; int secondary_reload = rl->secondary_in_reload; @@ -6283,7 +6283,7 @@ emit_input_reload_insns (chain, rl, old, j) { emit_insn (GEN_FCN (icode) (reloadreg, real_oldequiv, second_reload_reg)); - return; + special = 1; } else { @@ -6312,7 +6312,7 @@ emit_input_reload_insns (chain, rl, old, j) } #endif - if (! rtx_equal_p (reloadreg, oldequiv)) + if (! special && ! rtx_equal_p (reloadreg, oldequiv)) { rtx real_oldequiv = oldequiv; |