pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.

* pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
	(output_call): Likewise.

From-SVN: r54088
This commit is contained in:
John David Anglin 2002-05-31 05:41:30 +00:00 committed by John David Anglin
parent d499455b81
commit 6248c4ddc8
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
* pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
(output_call): Likewise.
2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
* pa.c: Move output.h include after tree.h include.

View File

@ -6099,7 +6099,10 @@ output_millicode_call (insn, call_dest)
{
xoperands[0] = call_dest;
output_asm_insn ("ldil L%%%0,%3", xoperands);
output_asm_insn ("{ble|be,l} R%%%0(%%sr4,%3)", xoperands);
if (TARGET_PA_20)
output_asm_insn ("be,l R%%%0(%%sr4,%3),%sr0,%r31", xoperands);
else
output_asm_insn ("ble R%%%0(%%sr4,%3)", xoperands);
output_asm_insn ("nop", xoperands);
}
@ -6355,8 +6358,11 @@ output_call (insn, call_dest, sibcall)
/* Get the high part of the address of $dyncall into %r2, then
add in the low part in the branch instruction. */
output_asm_insn ("ldil L%%$$dyncall,%%r2", xoperands);
output_asm_insn ("{ble|be,l} R%%$$dyncall(%%sr4,%%r2)",
xoperands);
if (TARGET_PA_20)
output_asm_insn ("be,l R%%$$dyncall(%%sr4,%%r2),%sr0,%r31",
xoperands);
else
output_asm_insn ("ble R%%$$dyncall(%%sr4,%%r2)", xoperands);
if (sibcall)
{