revert between 56095 -> 55830 in arch
[AROS.git] / arch / m68k-all / utility / smult32.s
blob8c73944a6433f5b67d39de7826ca01f1b1d1315a
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Utility 32 bit multiplication routines. m68k version.
6 Lang: english
7 */
9 /* SMult32():
10 These are the signed/unsigned 32 bit multiplication routines.
11 I have two different possibilities here since I could be running
12 on a system without the corresponding muls.l/mulu.l calls.
14 After some soul searching I am happy that these routines don't
15 have to be separated between signed/unsigned since the sign is
16 correct, or the number overflows.
18 The native versions do make the difference however.
20 What I do is SetFunction() the correct function in later.
23 #include "aros/m68k/asm.h"
25 .text
26 .balign 4
27 .globl AROS_SLIB_ENTRY(SMult32_020,Utility,23)
28 .type AROS_SLIB_ENTRY(SMult32_020,Utility,23),@function
29 AROS_SLIB_ENTRY(SMult32_020,Utility,23):
30 muls.l %d1,%d0
31 rts
34 This only contains the 020 version because the 000 versions of
35 both S and U are the same, but I need the separate files so that
36 the makefile tricks don't cause problems with duplicate symbols.