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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [orpmon/] [common/] [or32.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 809 simons
        .align 4
2
        .global ___udivsi3
3
___udivsi3:
4
        l.addi          r1,r1,-4
5
        l.sw            0(r1),r9
6
        l.addi          r11,r0,0
7
        l.addi          r8,r4,0
8
        l.addi          r5,r3,0
9
        l.sfne          r8,r11
10
        l.bnf           4f
11
        l.addi          r7,r0,0
12
        l.sfgtu         r8,r5
13
        l.bf            5f
14
        l.sfeq          r8,r5
15
        l.bf            6f
16
        l.sfltu         r11,r8
17
        l.bnf           2f
18
        l.addi          r13,r0,32
19
        l.movhi         r9,hi(0x80000000)
20
        l.addi          r6,r0,-1
21
1:
22
        l.and           r3,r5,r9
23
        l.slli          r4,r7,1
24
        l.addi          r15,r5,0
25
        l.srli          r3,r3,31
26
        l.add           r13,r13,r6
27
        l.or            r7,r4,r3
28
        l.sfltu         r7,r8
29
        l.bf            1b
30
        l.slli          r5,r5,1
31
2:
32
        l.srli          r7,r7,1
33
        l.addi          r13,r13,1
34
        l.addi          r9,r0,0
35
        l.sfltu         r9,r13
36
        l.bnf           4f
37
        l.addi          r5,r15,0
38
        l.movhi         r15,hi(0x80000000)
39
        l.addi          r17,r0,0
40
3:
41
        l.and           r3,r5,r15
42
        l.slli          r4,r7,1
43
        l.srli          r3,r3,31
44
        l.or            r7,r4,r3
45
        l.sub           r6,r7,r8
46
        l.and           r3,r6,r15
47
        l.srli          r3,r3,31
48
        l.addi          r4,r0,0
49
        l.sfne          r3,r4
50
        l.bf            1f
51
        l.slli          r3,r11,1
52
        l.addi          r4,r0,1
53
1:
54
        l.slli          r5,r5,1
55
        l.sfne          r4,r17
56
        l.bnf           2f
57
        l.or            r11,r3,r4
58
        l.addi          r7,r6,0
59
2:
60
        l.addi          r9,r9,1
61
        l.sfltu         r9,r13
62
        l.bf            3b
63
        l.nop           0
64
        l.j             4f
65
        l.nop           0
66
6:
67
        l.j             4f
68
        l.addi          r11,r0,1
69
5:
70
        l.addi          r7,r5,0
71
4:
72
        l.lwz           r9,0(r1)
73
        l.jr            r9
74
        l.addi          r1,r1,4
75
 
76
        .align 4
77
        .global ___divsi3
78
___divsi3:
79
        l.addi          r1,r1,-8
80
        l.sw            0(r1),r9
81
        l.sw            4(r1),r10
82
        l.addi          r5,r3,0
83
        l.addi          r10,r0,0
84
        l.sflts         r5,r10
85
        l.bnf           1f
86
        l.addi          r3,r0,0
87
        l.addi          r10,r0,1
88
        l.sub           r5,r0,r5
89
1:
90
        l.sflts         r4,r3
91
        l.bnf           1f
92
        l.nop           0
93
        l.addi          r10,r10,1
94
        l.sub           r4,r0,r4
95
1:
96
        l.jal           ___udivsi3
97
        l.addi          r3,r5,0
98
        l.addi          r3,r0,1
99
        l.sfeq          r10,r3
100
        l.bnf           1f
101
        l.nop           0
102
        l.sub           r11,r0,r11
103
1:
104
        l.lwz           r9,0(r1)
105
        l.lwz           r10,4(r1)
106
        l.jr            r9
107
        l.addi          r1,r1,8
108
 
109
        .align 4
110
        .global ___umodsi3
111
___umodsi3:
112
        l.addi          r1,r1,-4
113
        l.sw            0(r1),r9
114
        l.jal           ___udivsi3
115
        l.nop           0
116
        l.addi          r11,r7,0
117
        l.lwz           r9,0(r1)
118
        l.jr            r9
119
        l.addi          r1,r1,4
120
 
121
        .align 4
122
        .global ___modsi3
123
___modsi3:
124
        l.addi          r1,r1,-8
125
        l.sw            0(r1),r9
126
        l.sw            4(r1),r10
127
        l.sflts         r3,r0
128
        l.bnf           1f
129
        l.nop           0
130
        l.addi          r10,r0,1
131
        l.sub           r3,r0,r3
132
1:
133
        l.sflts         r4,r0
134
        l.bnf           1f
135
        l.nop           0
136
        l.sub           r4,r0,r4
137
1:
138
        l.jal           ___udivsi3
139
        l.nop           0
140
        l.addi          r3,r0,1
141
        l.sfeq          r10,r3
142
        l.bnf           1f
143
        l.addi          r11,r7,0
144
        l.sub           r11,r0,r11
145
1:
146
        l.lwz           r9,0(r1)
147
        l.lwz           r10,4(r1)
148
        l.jr            r9
149
        l.addi          r1,r1,8

powered by: WebSVN 2.1.0

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