From 30caed6d0a9e58ce104f649d935763d70547c3c5 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 5 Jun 1993 17:19:13 +0000 Subject: [PATCH] (expand_inline_function): Always copy a SUBREG as an argument into a REG. From-SVN: r4638 --- gcc/integrate.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/integrate.c b/gcc/integrate.c index e18f69041ea..73d839baff6 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1269,7 +1269,11 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add && (GET_CODE (arg_vals[i]) == REG || GET_CODE (arg_vals[i]) == SUBREG || GET_CODE (arg_vals[i]) == MEM) - && reg_overlap_mentioned_p (arg_vals[i], target)))) + && reg_overlap_mentioned_p (arg_vals[i], target)) + /* ??? We must always copy a SUBREG into a REG, because it might + get substituted into an address, and not all ports correctly + handle SUBREGs in addresses. */ + || (GET_CODE (arg_vals[i]) == SUBREG))) arg_vals[i] = copy_to_mode_reg (GET_MODE (loc), arg_vals[i]); } -- 2.30.2