The attached patch generates indirect long calls to non-local functions on 64-bit hppa. This improves opportunities for optimization and scheduling.
Tested on hppa64-hp-hpux11.11 with no observed regressions. Dave -- John David Anglin dave.ang...@bell.net
2016-06-06 John David Anglin <dang...@gcc.gnu.org> * config/pa/pa.md (call): Generate indirect long calls to non-local functions on TARGET_64BIT. (call_value): Likewise. Index: config/pa/pa.md =================================================================== --- config/pa/pa.md (revision 237110) +++ config/pa/pa.md (working copy) @@ -7014,7 +7014,7 @@ op = XEXP (operands[0], 0); /* Generate indirect long calls to non-local functions. */ - if (!TARGET_64BIT && TARGET_LONG_CALLS && GET_CODE (op) == SYMBOL_REF) + if (TARGET_LONG_CALLS && GET_CODE (op) == SYMBOL_REF) { tree call_decl = SYMBOL_REF_DECL (op); if (!(call_decl && targetm.binds_local_p (call_decl))) @@ -7517,7 +7517,7 @@ call_powf = true; /* Generate indirect long calls to non-local functions. */ - else if (!TARGET_64BIT && TARGET_LONG_CALLS) + else if (TARGET_LONG_CALLS) { tree call_decl = SYMBOL_REF_DECL (op); if (!(call_decl && targetm.binds_local_p (call_decl)))