aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index e353c50acdb..074d4732224 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -916,6 +916,8 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc,
enum insn_code secondary_in_icode = CODE_FOR_nothing;
enum insn_code secondary_out_icode = CODE_FOR_nothing;
+ if (in != 0 && !out && targetm.preserve_reload_p (in))
+ type = RELOAD_OTHER;
/* INMODE and/or OUTMODE could be VOIDmode if no mode
has been specified for the operand. In that case,
use the operand's mode as the mode to reload. */