+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-30 Richard Henderson <rth@redhat.com>
Eric Botcazou <ebotcazou@multimania.com>
{
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);
}
/* 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)
{