diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c index 6531c02..c2f3202 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3085,7 +3085,10 @@ purge_addressof_1 (rtx *loc, rtx insn, int force, int store, int may_postpone, subregs. */ || (GET_MODE_SIZE (GET_MODE (x)) > UNITS_PER_WORD && (GET_MODE_SIZE (GET_MODE (x)) - > GET_MODE_SIZE (GET_MODE (sub))))) + > GET_MODE_SIZE (GET_MODE (sub)))) + || (GET_MODE_SIZE (GET_MODE (x)) + < GET_MODE_SIZE (GET_MODE (sub)))) + { *loc = gen_rtx_SUBREG (GET_MODE (x), sub, 0); return true; |