diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c index 726c20c..c15d47d 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3466,7 +3466,11 @@ assign_parm_setup_stack (struct assign_parm_data_all *all, tree parm, BLOCK_OP_NORMAL); } else - emit_move_insn (dest, src); + { + if (!REG_P (src)) + src = force_reg (GET_MODE (src), src); + emit_move_insn (dest, src); + } } if (to_conversion) |