(__modsi3, __umodsi3): Use mulsl instruction instead of __mulsi3
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 25 Mar 1997 19:17:05 +0000 (14:17 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 25 Mar 1997 19:17:05 +0000 (14:17 -0500)
function call on the coldfire.

From-SVN: r13793

gcc/config/m68k/lb1sf68.asm

index dd8c42dc4e1cc290d42e24f4f8dc2b9948ebf6b1..e624269ab8dff1610e601cc4d099139a3faa5e44 100644 (file)
@@ -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