diff options
Diffstat (limited to 'gcc/config/frv/frv.c')
-rw-r--r-- | gcc/config/frv/frv.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c index 1354d374396..ace9e437118 100644 --- a/gcc/config/frv/frv.c +++ b/gcc/config/frv/frv.c @@ -1586,7 +1586,7 @@ frv_dwarf_store (rtx reg, int offset) { rtx set = gen_rtx_SET (VOIDmode, gen_rtx_MEM (GET_MODE (reg), - plus_constant (stack_pointer_rtx, + plus_constant (Pmode, stack_pointer_rtx, offset)), reg); RTX_FRAME_RELATED_P (set) = 1; @@ -1821,9 +1821,9 @@ frv_expand_prologue (void) /* ASM_SRC and DWARF_SRC both point to the frame header. ASM_SRC is based on ACCESSOR.BASE but DWARF_SRC is always based on the stack pointer. */ - rtx asm_src = plus_constant (accessor.base, + rtx asm_src = plus_constant (Pmode, accessor.base, fp_offset - accessor.base_offset); - rtx dwarf_src = plus_constant (sp, fp_offset); + rtx dwarf_src = plus_constant (Pmode, sp, fp_offset); /* Store the old frame pointer at (sp + FP_OFFSET). */ frv_frame_access (&accessor, fp, fp_offset); @@ -2272,8 +2272,8 @@ frv_expand_block_move (rtx operands[]) } else { - src_addr = plus_constant (src_reg, offset); - dest_addr = plus_constant (dest_reg, offset); + src_addr = plus_constant (Pmode, src_reg, offset); + dest_addr = plus_constant (Pmode, dest_reg, offset); } /* Generate the appropriate load and store, saving the stores @@ -2357,7 +2357,7 @@ frv_expand_block_clear (rtx operands[]) /* Calculate the correct offset for src/dest. */ dest_addr = ((offset == 0) ? dest_reg - : plus_constant (dest_reg, offset)); + : plus_constant (Pmode, dest_reg, offset)); /* Generate the appropriate store of gr0. */ if (bytes >= 4 && align >= 4) @@ -2471,7 +2471,7 @@ frv_return_addr_rtx (int count, rtx frame) if (count != 0) return const0_rtx; cfun->machine->frame_needed = 1; - return gen_rtx_MEM (Pmode, plus_constant (frame, 8)); + return gen_rtx_MEM (Pmode, plus_constant (Pmode, frame, 8)); } /* Given a memory reference MEMREF, interpret the referenced memory as @@ -2489,7 +2489,8 @@ frv_index_memory (rtx memref, enum machine_mode mode, int index) if (GET_CODE (base) == PRE_MODIFY) base = XEXP (base, 0); return change_address (memref, mode, - plus_constant (base, index * GET_MODE_SIZE (mode))); + plus_constant (Pmode, base, + index * GET_MODE_SIZE (mode))); } @@ -3741,7 +3742,8 @@ static void frv_output_const_unspec (FILE *stream, const struct frv_unspec *unspec) { fprintf (stream, "#%s(", unspec_got_name (unspec->reloc)); - output_addr_const (stream, plus_constant (unspec->symbol, unspec->offset)); + output_addr_const (stream, plus_constant (Pmode, unspec->symbol, + unspec->offset)); fputs (")", stream); } @@ -3756,7 +3758,7 @@ frv_find_base_term (rtx x) if (frv_const_unspec_p (x, &unspec) && frv_small_data_reloc_p (unspec.symbol, unspec.reloc)) - return plus_constant (unspec.symbol, unspec.offset); + return plus_constant (Pmode, unspec.symbol, unspec.offset); return x; } @@ -9647,7 +9649,7 @@ frv_output_dwarf_dtprel (FILE *file, int size, rtx x) fputs ("\t.picptr\ttlsmoff(", file); /* We want the unbiased TLS offset, so add the bias to the expression, such that the implicit biasing cancels out. */ - output_addr_const (file, plus_constant (x, TLS_BIAS)); + output_addr_const (file, plus_constant (Pmode, x, TLS_BIAS)); fputs (")", file); } |