removing now unneeded dir from package
[drnoksnes] / m3d_func.s
1 .text
2         .align 4
3         .globl  funcSMULT1616
4         .globl  funcUMULT1616
5         .globl  funcSMULT32
6         .globl  funcUMULT32
7         .globl  funcUADDMULT1616
8         .globl  funcSADDMULT1616
9         .globl  funcSADDMULT32
10         .globl  funcUADDMULT32
11         
12         
13                 
14 @ Int32 funcSMULT1616(Int32 a,Int32 b,Int32 dummy1,Int32 dummy2)
15 funcSMULT1616:  
16         mov   r2,r0
17         mov   r3,r1
18         smull r0,r1,r3,r2
19         mov   r0,r0,lsr #16
20         orr   r0,r0,r1,lsl #16
21         mov     pc,lr
22
23
24 @ Int32 funcUMULT1616(UInt32 a,UInt32 b,Int32 dummy1,Int32 dummy2)
25 funcUMULT1616:
26         mov   r2,r0
27         mov   r3,r1
28         umull r0,r1,r3,r2
29     mov   r0,r0,lsr #16
30     orr   r0,r0,r1,lsl #16
31                 mov     pc,lr
32                         
33 @ Int32 funcSMULT32(Int32 a,Int32 b,Int32 dummy1,Int32 dummy2)
34 funcSMULT32:
35         mov       r2,r0
36         mov       r3,r1
37         smull r1,r0,r2,r3
38                 mov     pc,lr   
39         
40
41 @ UInt32 funcUMULT32(UInt32 a,UInt32 b,Int32 dummy1,Int32 dummy2)
42 funcUMULT32:
43         mov   r2,r0
44         mov       r3,r1
45         umull r1,r0,r3,r2
46                 mov     pc,lr
47                         
48 @ UInt32 funcUADDMULT1616(UInt32 a,UInt32 b,UInt32 c,UInt32 d)
49 funcUADDMULT1616:
50         stmfd r13!,{r4,r5}
51         mov       r4,r0
52         mov       r5,r1
53         umull r0,r1,r5,r4
54         umlal r0,r1,r2,r3
55         mov   r0,r0,lsr #16
56         orr   r0,r0,r1,lsl #16
57         ldmfd r13!,{r4,r5}
58                 mov     pc,lr
59                         
60 @ Int32 funcSADDMULT1616(Int32 a,Int32 b,Int32 c,Int32 d)
61 funcSADDMULT1616:
62         stmfd r13!,{r4,r5}
63         mov       r4,r0
64         mov       r5,r1
65         smull r0,r1,r5,r4
66         smlal r0,r1,r2,r3
67         mov   r0,r0,lsr #16
68         orr   r0,r0,r1,lsl #16
69         ldmfd r13!,{r4,r5}      
70                 mov     pc,lr
71
72 @ Int32 funcSADDMULT32(Int32 a,Int32 b,Int32 c,Int32 d)
73 funcSADDMULT32:
74         stmfd r13!,{r4,r5}
75         mov       r4,r0
76         mov       r5,r1
77         smull r1,r0,r5,r4
78         smlal r1,r0,r2,r3
79         ldmfd r13!,{r4,r5}      
80                 mov     pc,lr
81                         
82 @ UInt32 funcUADDMULT32(UInt32 a,UInt32 b,UInt32 c,UInt32 d)
83 funcUADDMULT32:
84         stmfd r13!,{r4,r5}
85         mov       r4,r0
86         mov       r5,r1
87         umull r1,r0,r5,r4
88         umlal r1,r0,r2,r3
89         ldmfd r13!,{r4,r5}      
90                 mov     pc,lr
91                 
92
93 .pool