diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-04 17:12:27 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-04 17:12:27 -0400 |
commit | d94d2abc865dfc8e5e90bd5f9b8b035296df3353 (patch) | |
tree | 22c9d8835346edd22655cfaf310692b3dc94ddca /gcc/reload.c | |
parent | 17a0a76dd417ee148083fd7bbf805153d86f1930 (diff) | |
download | gcc-d94d2abc865dfc8e5e90bd5f9b8b035296df3353.zip gcc-d94d2abc865dfc8e5e90bd5f9b8b035296df3353.tar.gz gcc-d94d2abc865dfc8e5e90bd5f9b8b035296df3353.tar.bz2 |
(push_secondary_reload): Use TYPE for secondary type if it is
RELOAD_FOR_{INPUT,OUTPUT}_ADDRESS.
From-SVN: r7211
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 8d7141b..254867e 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -343,11 +343,15 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode, enum reg_class t_class = NO_REGS; enum machine_mode t_mode = VOIDmode; enum insn_code t_icode = CODE_FOR_nothing; - enum reload_type secondary_type - = in_p ? RELOAD_FOR_INPUT_ADDRESS : RELOAD_FOR_OUTPUT_ADDRESS; + enum reload_type secondary_type; int i; int s_reload, t_reload = -1; + if (type == RELOAD_FOR_INPUT_ADDRESS || type == RELOAD_FOR_OUTPUT_ADDRESS) + secondary_type = type; + else + secondary_type = in_p ? RELOAD_FOR_INPUT_ADDRESS : RELOAD_FOR_OUTPUT_ADDRESS; + *picode = CODE_FOR_nothing; /* If X is a pseudo-register that has an equivalent MEM (actually, if it |