OSDN Git Service

PR target/16459
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Jul 2004 20:11:59 +0000 (20:11 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Jul 2004 20:11:59 +0000 (20:11 +0000)
* pa.c (output_indirect_call): Use %r2 as the link register when
calling $$dyncall with a pc-relative branch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84394 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa.c

index a34758c..4fbf790 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/16459
+       * pa.c (output_indirect_call): Use %r2 as the link register when
+       calling $$dyncall with a pc-relative branch.
+
 2004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
 
        * doc/install.texi (Binaries): Mention OpenPKG.
index cf7da9c..da065ce 100644 (file)
@@ -7545,7 +7545,7 @@ output_indirect_call (rtx insn, rtx call_dest)
      No need to check target flags as the length uniquely identifies
      the remaining cases.  */
   if (attr_length_indirect_call (insn) == 8)
-    return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r31\n\tcopy %%r31,%%r2";
+    return ".CALL\tARGW0=GR\n\t{bl|b,l} $$dyncall,%%r2\n\tcopy %%r2,%%r31";
 
   /* Long millicode call, but we are not generating PIC or portable runtime
      code.  */