diff options
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 6666344..023eaee 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -2218,8 +2218,8 @@ alter_reg (int i, int from_reg, bool dont_share_p) if (spill_stack_slot[from_reg]) { - if (GET_MODE_SIZE (GET_MODE (spill_stack_slot[from_reg])) - > inherent_size) + if (partial_subreg_p (mode, + GET_MODE (spill_stack_slot[from_reg]))) mode = GET_MODE (spill_stack_slot[from_reg]); if (spill_stack_slot_width[from_reg] > total_size) total_size = spill_stack_slot_width[from_reg]; @@ -2817,7 +2817,7 @@ eliminate_regs_1 (rtx x, machine_mode mem_mode, rtx insn, int new_size = GET_MODE_SIZE (GET_MODE (new_rtx)); if (MEM_P (new_rtx) - && ((x_size < new_size + && ((partial_subreg_p (GET_MODE (x), GET_MODE (new_rtx)) /* On RISC machines, combine can create rtl of the form (set (subreg:m1 (reg:m2 R) 0) ...) where m1 < m2, and expects something interesting to |