pa.md (call expanders): For indirect calls, load %r22 with the function's address.
* pa.md (call expanders): For indirect calls, load %r22 with the function's address. (indirect call patterns): No need to copy the call address into %r22 anymore. * pa.c (output_cbranch): Fix buglet in length handling of backwards branches with unfilled delay slots. (output_bb, output_bvb, output_dbra, output_movb): Likewise. * pa.md: Fix off-by-one error in length computations for all conditional branch patterns. * pa.h (output_bvb): Declare. * pa.c (output_bvb): New function to output branch on variable bit insns. * pa.md (branch-on-variable-bit): New patterns. * pa.h (TARGET_MILLICODE_LONG_CALLS): Delete swtich and all references. (output_millicode_call): Declare new function * pa.md (millicode calls): Update length computation to handle variable length millicode calls. (call pattners): Likewise. (indirect call patterns): Update length compuations and output templates to handle variable length millicode calls. (plabel_dereference): Likewise. * pa.c (override_options): Give warnings when incompatable options are used. (output_mul_insn): Call output_millicode_call instead of output_call, eliminate last argument to output_millicode_call. (output_div_insn): Likewise. (output_mod_insn): Likewise. (output_call): Rewrite long call code to handle variable length millicode calls. Eliminate support for calling mul, div and mod millicode routines. (output_millicode_call): New function for calling mul, div and mod millicode routines. From-SVN: r10610
Showing
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment