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)))

Reply via email to