aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-03-25 18:58:13 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-03-25 18:58:13 -0500
commit1c2bb219e946fe91022b1754f4f2fa97abbe9c53 (patch)
treed6a8605cc97714115a0a63dfd44ff84f683c674b
parent0481a55e994e5cfded38a396186a019cdb024022 (diff)
downloadgcc-1c2bb219e946fe91022b1754f4f2fa97abbe9c53.zip
gcc-1c2bb219e946fe91022b1754f4f2fa97abbe9c53.tar.gz
gcc-1c2bb219e946fe91022b1754f4f2fa97abbe9c53.tar.bz2
(call): If (new) MOTOROLA_BSR defined, try to emit 'bsr'.
From-SVN: r6906
-rw-r--r--gcc/config/m68k/m68k.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index d5220aa..1fb94d8 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -4850,6 +4850,11 @@
"! flag_pic"
"*
#ifdef MOTOROLA
+#ifdef MOTOROLA_BSR
+ if (GET_CODE (operands[0]) == MEM
+ && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
+ return \"bsr %0\";
+#endif
return \"jsr %0\";
#else
return \"jbsr %0\";
@@ -4905,6 +4910,11 @@
"! flag_pic"
"*
#ifdef MOTOROLA
+#ifdef MOTOROLA_BSR
+ if (GET_CODE (operands[1]) == MEM
+ && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
+ return \"bsr %1\";
+#endif
return \"jsr %1\";
#else
return \"jbsr %1\";