aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-03-25 14:17:05 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-03-25 14:17:05 -0500
commit125bcee0015e2751c154eed8602a4e232118ed4d (patch)
treeb709de8f845c9f23844c68d9f9a3a091c9334793
parent61b1bece8e0f78134f1a031b755b4d61a4e1d30f (diff)
downloadgcc-125bcee0015e2751c154eed8602a4e232118ed4d.zip
gcc-125bcee0015e2751c154eed8602a4e232118ed4d.tar.gz
gcc-125bcee0015e2751c154eed8602a4e232118ed4d.tar.bz2
(__modsi3, __umodsi3): Use mulsl instruction instead of __mulsi3
function call on the coldfire. From-SVN: r13793
-rw-r--r--gcc/config/m68k/lb1sf68.asm8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/m68k/lb1sf68.asm b/gcc/config/m68k/lb1sf68.asm
index dd8c42d..e624269 100644
--- a/gcc/config/m68k/lb1sf68.asm
+++ b/gcc/config/m68k/lb1sf68.asm
@@ -444,10 +444,14 @@ SYM (__umodsi3):
jbsr SYM (__udivsi3)
addql IMM (8), sp
movel sp@(8), d1 /* d1 = divisor */
+#ifndef __mcf5200__
movel d1, sp@-
movel d0, sp@-
jbsr SYM (__mulsi3) /* d0 = (a/b)*b */
addql IMM (8), sp
+#else
+ mulsl d1,d0
+#endif
movel sp@(4), d1 /* d1 = dividend */
subl d0, d1 /* d1 = a - (a/b)*b */
movel d1, d0
@@ -466,10 +470,14 @@ SYM (__modsi3):
jbsr SYM (__divsi3)
addql IMM (8), sp
movel sp@(8), d1 /* d1 = divisor */
+#ifndef __mcf5200__
movel d1, sp@-
movel d0, sp@-
jbsr SYM (__mulsi3) /* d0 = (a/b)*b */
addql IMM (8), sp
+#else
+ mulsl d1,d0
+#endif
movel sp@(4), d1 /* d1 = dividend */
subl d0, d1 /* d1 = a - (a/b)*b */
movel d1, d0