aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-07-29 09:55:01 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-07-29 09:55:01 -0400
commitb52d80d3b567699d4557ff1aba2e1e49e3db602a (patch)
tree36b41b81623db88e6070b8a618fee4e3b70baf9e /gcc
parent8291155ff816b3ccfe6c65d2194c2d03c1a6d07a (diff)
downloadgcc-b52d80d3b567699d4557ff1aba2e1e49e3db602a.zip
gcc-b52d80d3b567699d4557ff1aba2e1e49e3db602a.tar.gz
gcc-b52d80d3b567699d4557ff1aba2e1e49e3db602a.tar.bz2
[USE_GAS]: Output `jbsr' instead of `jsr' for normal function calls and `bsr.l'...
[USE_GAS]: Output `jbsr' instead of `jsr' for normal function calls and `bsr.l' instead of `bsr' for pic function calls. From-SVN: r10200
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/m68k/m68k.md12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 520c2c6..5ca4519 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -5891,7 +5891,7 @@
"! flag_pic"
"*
-#ifdef MOTOROLA
+#if defined (MOTOROLA) && !defined (USE_GAS)
#ifdef MOTOROLA_BSR
if (GET_CODE (operands[0]) == MEM
&& GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
@@ -5917,9 +5917,13 @@
#ifdef HPUX_ASM
return \"bsr.l %0\";
#else
+#ifdef USE_GAS
+ return \"bsr.l %0@PLTPC\";
+#else
return \"bsr %0@PLTPC\";
#endif
#endif
+#endif
return \"jsr %0\";
")
@@ -5951,7 +5955,7 @@
;; Operand 2 not really used on the m68000.
"! flag_pic"
"*
-#ifdef MOTOROLA
+#if defined (MOTOROLA) && !defined (USE_GAS)
#ifdef MOTOROLA_BSR
if (GET_CODE (operands[1]) == MEM
&& GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
@@ -5977,9 +5981,13 @@
#ifdef HPUX_ASM
return \"bsr.l %1\";
#else
+#ifdef USE_GAS
+ return \"bsr.l %1@PLTPC\";
+#else
return \"bsr %1@PLTPC\";
#endif
#endif
+#endif
return \"jsr %1\";
")