diff options
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index e373e687f59..780a44cfcca 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -17305,9 +17305,8 @@ rs6000_trampoline_size (void) void rs6000_initialize_trampoline (rtx addr, rtx fnaddr, rtx cxt) { - enum machine_mode pmode = Pmode; int regsize = (TARGET_32BIT) ? 4 : 8; - rtx ctx_reg = force_reg (pmode, cxt); + rtx ctx_reg = force_reg (Pmode, cxt); switch (DEFAULT_ABI) { @@ -17315,15 +17314,15 @@ rs6000_initialize_trampoline (rtx addr, rtx fnaddr, rtx cxt) gcc_unreachable (); /* Macros to shorten the code expansions below. */ -#define MEM_DEREF(addr) gen_rtx_MEM (pmode, memory_address (pmode, addr)) +#define MEM_DEREF(addr) gen_rtx_MEM (Pmode, memory_address (Pmode, addr)) #define MEM_PLUS(addr,offset) \ - gen_rtx_MEM (pmode, memory_address (pmode, plus_constant (addr, offset))) + gen_rtx_MEM (Pmode, memory_address (Pmode, plus_constant (addr, offset))) /* Under AIX, just build the 3 word function descriptor */ case ABI_AIX: { - rtx fn_reg = gen_reg_rtx (pmode); - rtx toc_reg = gen_reg_rtx (pmode); + rtx fn_reg = gen_reg_rtx (Pmode); + rtx toc_reg = gen_reg_rtx (Pmode); emit_move_insn (fn_reg, MEM_DEREF (fnaddr)); emit_move_insn (toc_reg, MEM_PLUS (fnaddr, regsize)); emit_move_insn (MEM_DEREF (addr), fn_reg); @@ -17335,12 +17334,12 @@ rs6000_initialize_trampoline (rtx addr, rtx fnaddr, rtx cxt) /* Under V.4/eabi/darwin, __trampoline_setup does the real work. */ case ABI_DARWIN: case ABI_V4: - emit_library_call (gen_rtx_SYMBOL_REF (SImode, "__trampoline_setup"), + emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__trampoline_setup"), FALSE, VOIDmode, 4, - addr, pmode, + addr, Pmode, GEN_INT (rs6000_trampoline_size ()), SImode, - fnaddr, pmode, - ctx_reg, pmode); + fnaddr, Pmode, + ctx_reg, Pmode); break; } |