Commit 608f0dd2 by Jeff Law

pa.h (INITIALIZE_TRAMPOLINE): Do not mask off high bits of address passed to icacheflush.

        * pa.h (INITIALIZE_TRAMPOLINE): Do not mask off high
        bits of address passed to icacheflush.

From-SVN: r6801
parent 3c9a7b64
...@@ -1057,7 +1057,7 @@ extern union tree_node *current_function_decl; ...@@ -1057,7 +1057,7 @@ extern union tree_node *current_function_decl;
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
{ \ { \
rtx start_addr, end_addr, masked_start_addr; \ rtx start_addr, end_addr; \
\ \
start_addr = memory_address (Pmode, plus_constant ((TRAMP), 36)); \ start_addr = memory_address (Pmode, plus_constant ((TRAMP), 36)); \
emit_move_insn (gen_rtx (MEM, Pmode, start_addr), (FNADDR)); \ emit_move_insn (gen_rtx (MEM, Pmode, start_addr), (FNADDR)); \
...@@ -1068,11 +1068,8 @@ extern union tree_node *current_function_decl; ...@@ -1068,11 +1068,8 @@ extern union tree_node *current_function_decl;
start_addr = force_reg (SImode, (TRAMP)); \ start_addr = force_reg (SImode, (TRAMP)); \
end_addr = force_reg (SImode, plus_constant ((TRAMP), 32)); \ end_addr = force_reg (SImode, plus_constant ((TRAMP), 32)); \
emit_insn (gen_dcacheflush (start_addr, end_addr)); \ emit_insn (gen_dcacheflush (start_addr, end_addr)); \
masked_start_addr = gen_reg_rtx (SImode); \ end_addr = force_reg (SImode, plus_constant (start_addr, 32)); \
emit_insn (gen_andsi3 (masked_start_addr, start_addr, \ emit_insn (gen_icacheflush (start_addr, end_addr, start_addr, \
GEN_INT (0x3fffffff))); \
end_addr = force_reg (SImode, plus_constant (masked_start_addr, 32)); \
emit_insn (gen_icacheflush (masked_start_addr, end_addr, start_addr, \
gen_reg_rtx (SImode), gen_reg_rtx (SImode)));\ gen_reg_rtx (SImode), gen_reg_rtx (SImode)));\
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment