* config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
authorRichard Henderson <rth@redhat.com>
Fri, 21 Dec 2001 00:33:29 +0000 (16:33 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 21 Dec 2001 00:33:29 +0000 (16:33 -0800)
From-SVN: r48226

gcc/ChangeLog
gcc/config/alpha/alpha.md

index 487302cea7ce24da6bad6934a987d03e86b011a3..5caed01b48d73b578c6197a92c62efadb97df2c0 100644 (file)
@@ -1,3 +1,7 @@
+2001-12-20  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
+
 2001-12-20  Richard Henderson  <rth@redhat.com>
 
        * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
index a3ac64be09431f48f902ad4e8deb965be605ab03..605c56ca082f51bfe454eacd002b74387ac8bf80 100644 (file)
@@ -6470,7 +6470,12 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
 (define_insn "prologue_mcount"
   [(unspec_volatile [(const_int 0)] UNSPECV_MCOUNT)]
   ""
-  "lda $28,_mcount\;jsr $28,($28),_mcount"
+{
+  if (TARGET_EXPLICIT_RELOCS)
+    return "ldq $28,_mcount($29)\t\t!literal!%#\;jsr $28,($28),_mcount\t\t!lituse_jsr!%#";
+  else
+    return "lda $28,_mcount\;jsr $28,($28),_mcount";
+}
   [(set_attr "type" "multi")
    (set_attr "length" "8")])