pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when generating 64-bit code.

* pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
	generating 64-bit code.

From-SVN: r73451
This commit is contained in:
John David Anglin 2003-11-11 16:16:41 +00:00 committed by John David Anglin
parent 5237cd77c2
commit 4d595e4342
2 changed files with 14 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
generating 64-bit code.
2003-11-10 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove

View File

@ -993,7 +993,7 @@ extern int may_call_alloca;
#define TRAMPOLINE_TEMPLATE(FILE) \
{ \
if (! TARGET_64BIT) \
if (!TARGET_64BIT) \
{ \
fputs ("\tldw 36(%r22),%r21\n", FILE); \
fputs ("\tbb,>=,n %r21,30,.+16\n", FILE); \
@ -1052,7 +1052,7 @@ extern int may_call_alloca;
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
{ \
if (! TARGET_64BIT) \
if (!TARGET_64BIT) \
{ \
rtx start_addr, end_addr; \
\
@ -1070,9 +1070,9 @@ extern int may_call_alloca;
start_addr = force_reg (Pmode, (TRAMP)); \
end_addr = force_reg (Pmode, plus_constant ((TRAMP), 32)); \
emit_insn (gen_dcacheflush (start_addr, end_addr)); \
end_addr = force_reg (Pmode, plus_constant (start_addr, 32)); \
emit_insn (gen_icacheflush (start_addr, end_addr, start_addr, \
gen_reg_rtx (Pmode), gen_reg_rtx (Pmode)));\
gen_reg_rtx (Pmode), \
gen_reg_rtx (Pmode))); \
} \
else \
{ \
@ -1090,13 +1090,14 @@ extern int may_call_alloca;
start_addr = memory_address (Pmode, plus_constant ((TRAMP), 24)); \
emit_move_insn (gen_rtx_MEM (Pmode, start_addr), end_addr); \
/* fdc and fic only use registers for the address to flush, \
they do not accept integer displacements. */ \
they do not accept integer displacements. PA 2.0 cache \
lines are 64 bytes. */ \
start_addr = force_reg (Pmode, (TRAMP)); \
end_addr = force_reg (Pmode, plus_constant ((TRAMP), 32)); \
end_addr = force_reg (Pmode, plus_constant ((TRAMP), 64)); \
emit_insn (gen_dcacheflush (start_addr, end_addr)); \
end_addr = force_reg (Pmode, plus_constant (start_addr, 32)); \
emit_insn (gen_icacheflush (start_addr, end_addr, start_addr, \
gen_reg_rtx (Pmode), gen_reg_rtx (Pmode)));\
gen_reg_rtx (Pmode), \
gen_reg_rtx (Pmode))); \
} \
}