OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [sh/] [lib/] [div64.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * unsigned long long __xdiv64_32(unsigned long long n, unsigned long d);
3
 */
4
 
5
#include 
6
 
7
.text
8
ENTRY(__xdiv64_32)
9
#ifdef  __LITTLE_ENDIAN__
10
        mov     r4, r0
11
        mov     r5, r1
12
#else
13
        mov     r4, r1
14
        mov     r5, r0
15
#endif
16
        cmp/hs  r6, r1
17
        bf.s    1f
18
        mov     #0, r2
19
 
20
        mov     r1, r2
21
        mov     #0, r3
22
        div0u
23
        .rept   32
24
        rotcl   r2
25
        div1    r6, r3
26
        .endr
27
        rotcl   r2
28
        mul.l   r6, r2
29
        sts     macl, r3
30
        sub     r3, r1
31
1:
32
        div0u
33
        .rept   32
34
        rotcl   r0
35
        div1    r6, r1
36
        .endr
37
#ifdef  __LITTLE_ENDIAN__
38
        mov     r2, r1
39
        rts
40
        rotcl   r0
41
#else
42
        rotcl   r0
43
        mov     r0, r1
44
        rts
45
        mov     r2, r0
46
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.