milli.S revision 1.1.4.2 1 1.1.4.2 jdolecek ; $NetBSD: milli.S,v 1.1.4.2 2002/06/23 17:49:47 jdolecek Exp $
2 1.1.4.2 jdolecek ;
3 1.1.4.2 jdolecek ; $OpenBSD: milli.S,v 1.5 2001/03/29 04:08:20 mickey Exp $
4 1.1.4.2 jdolecek ;
5 1.1.4.2 jdolecek ; (c) Copyright 1986 HEWLETT-PACKARD COMPANY
6 1.1.4.2 jdolecek ;
7 1.1.4.2 jdolecek ; To anyone who acknowledges that this file is provided "AS IS"
8 1.1.4.2 jdolecek ; without any express or implied warranty:
9 1.1.4.2 jdolecek ; permission to use, copy, modify, and distribute this file
10 1.1.4.2 jdolecek ; for any purpose is hereby granted without fee, provided that
11 1.1.4.2 jdolecek ; the above copyright notice and this notice appears in all
12 1.1.4.2 jdolecek ; copies, and that the name of Hewlett-Packard Company not be
13 1.1.4.2 jdolecek ; used in advertising or publicity pertaining to distribution
14 1.1.4.2 jdolecek ; of the software without specific, written prior permission.
15 1.1.4.2 jdolecek ; Hewlett-Packard Company makes no representations about the
16 1.1.4.2 jdolecek ; suitability of this software for any purpose.
17 1.1.4.2 jdolecek ;
18 1.1.4.2 jdolecek
19 1.1.4.2 jdolecek ; Standard Hardware Register Definitions for Use with Assembler
20 1.1.4.2 jdolecek ; version A.08.06
21 1.1.4.2 jdolecek ; - fr16-31 added at Utah
22 1.1.4.2 jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 1.1.4.2 jdolecek ; Hardware General Registers
24 1.1.4.2 jdolecek r0: .equ 0
25 1.1.4.2 jdolecek
26 1.1.4.2 jdolecek r1: .equ 1
27 1.1.4.2 jdolecek
28 1.1.4.2 jdolecek r2: .equ 2
29 1.1.4.2 jdolecek
30 1.1.4.2 jdolecek r3: .equ 3
31 1.1.4.2 jdolecek
32 1.1.4.2 jdolecek r4: .equ 4
33 1.1.4.2 jdolecek
34 1.1.4.2 jdolecek r5: .equ 5
35 1.1.4.2 jdolecek
36 1.1.4.2 jdolecek r6: .equ 6
37 1.1.4.2 jdolecek
38 1.1.4.2 jdolecek r7: .equ 7
39 1.1.4.2 jdolecek
40 1.1.4.2 jdolecek r8: .equ 8
41 1.1.4.2 jdolecek
42 1.1.4.2 jdolecek r9: .equ 9
43 1.1.4.2 jdolecek
44 1.1.4.2 jdolecek r10: .equ 10
45 1.1.4.2 jdolecek
46 1.1.4.2 jdolecek r11: .equ 11
47 1.1.4.2 jdolecek
48 1.1.4.2 jdolecek r12: .equ 12
49 1.1.4.2 jdolecek
50 1.1.4.2 jdolecek r13: .equ 13
51 1.1.4.2 jdolecek
52 1.1.4.2 jdolecek r14: .equ 14
53 1.1.4.2 jdolecek
54 1.1.4.2 jdolecek r15: .equ 15
55 1.1.4.2 jdolecek
56 1.1.4.2 jdolecek r16: .equ 16
57 1.1.4.2 jdolecek
58 1.1.4.2 jdolecek r17: .equ 17
59 1.1.4.2 jdolecek
60 1.1.4.2 jdolecek r18: .equ 18
61 1.1.4.2 jdolecek
62 1.1.4.2 jdolecek r19: .equ 19
63 1.1.4.2 jdolecek
64 1.1.4.2 jdolecek r20: .equ 20
65 1.1.4.2 jdolecek
66 1.1.4.2 jdolecek r21: .equ 21
67 1.1.4.2 jdolecek
68 1.1.4.2 jdolecek r22: .equ 22
69 1.1.4.2 jdolecek
70 1.1.4.2 jdolecek r23: .equ 23
71 1.1.4.2 jdolecek
72 1.1.4.2 jdolecek r24: .equ 24
73 1.1.4.2 jdolecek
74 1.1.4.2 jdolecek r25: .equ 25
75 1.1.4.2 jdolecek
76 1.1.4.2 jdolecek r26: .equ 26
77 1.1.4.2 jdolecek
78 1.1.4.2 jdolecek r27: .equ 27
79 1.1.4.2 jdolecek
80 1.1.4.2 jdolecek r28: .equ 28
81 1.1.4.2 jdolecek
82 1.1.4.2 jdolecek r29: .equ 29
83 1.1.4.2 jdolecek
84 1.1.4.2 jdolecek r30: .equ 30
85 1.1.4.2 jdolecek
86 1.1.4.2 jdolecek r31: .equ 31
87 1.1.4.2 jdolecek
88 1.1.4.2 jdolecek ; Hardware Space Registers
89 1.1.4.2 jdolecek sr0: .equ 0
90 1.1.4.2 jdolecek
91 1.1.4.2 jdolecek sr1: .equ 1
92 1.1.4.2 jdolecek
93 1.1.4.2 jdolecek sr2: .equ 2
94 1.1.4.2 jdolecek
95 1.1.4.2 jdolecek sr3: .equ 3
96 1.1.4.2 jdolecek
97 1.1.4.2 jdolecek sr4: .equ 4
98 1.1.4.2 jdolecek
99 1.1.4.2 jdolecek sr5: .equ 5
100 1.1.4.2 jdolecek
101 1.1.4.2 jdolecek sr6: .equ 6
102 1.1.4.2 jdolecek
103 1.1.4.2 jdolecek sr7: .equ 7
104 1.1.4.2 jdolecek
105 1.1.4.2 jdolecek ; Hardware Floating Point Registers
106 1.1.4.2 jdolecek fr0: .equ 0
107 1.1.4.2 jdolecek
108 1.1.4.2 jdolecek fr1: .equ 1
109 1.1.4.2 jdolecek
110 1.1.4.2 jdolecek fr2: .equ 2
111 1.1.4.2 jdolecek
112 1.1.4.2 jdolecek fr3: .equ 3
113 1.1.4.2 jdolecek
114 1.1.4.2 jdolecek fr4: .equ 4
115 1.1.4.2 jdolecek
116 1.1.4.2 jdolecek fr5: .equ 5
117 1.1.4.2 jdolecek
118 1.1.4.2 jdolecek fr6: .equ 6
119 1.1.4.2 jdolecek
120 1.1.4.2 jdolecek fr7: .equ 7
121 1.1.4.2 jdolecek
122 1.1.4.2 jdolecek fr8: .equ 8
123 1.1.4.2 jdolecek
124 1.1.4.2 jdolecek fr9: .equ 9
125 1.1.4.2 jdolecek
126 1.1.4.2 jdolecek fr10: .equ 10
127 1.1.4.2 jdolecek
128 1.1.4.2 jdolecek fr11: .equ 11
129 1.1.4.2 jdolecek
130 1.1.4.2 jdolecek fr12: .equ 12
131 1.1.4.2 jdolecek
132 1.1.4.2 jdolecek fr13: .equ 13
133 1.1.4.2 jdolecek
134 1.1.4.2 jdolecek fr14: .equ 14
135 1.1.4.2 jdolecek
136 1.1.4.2 jdolecek fr15: .equ 15
137 1.1.4.2 jdolecek
138 1.1.4.2 jdolecek fr16: .equ 16
139 1.1.4.2 jdolecek
140 1.1.4.2 jdolecek fr17: .equ 17
141 1.1.4.2 jdolecek
142 1.1.4.2 jdolecek fr18: .equ 18
143 1.1.4.2 jdolecek
144 1.1.4.2 jdolecek fr19: .equ 19
145 1.1.4.2 jdolecek
146 1.1.4.2 jdolecek fr20: .equ 20
147 1.1.4.2 jdolecek
148 1.1.4.2 jdolecek fr21: .equ 21
149 1.1.4.2 jdolecek
150 1.1.4.2 jdolecek fr22: .equ 22
151 1.1.4.2 jdolecek
152 1.1.4.2 jdolecek fr23: .equ 23
153 1.1.4.2 jdolecek
154 1.1.4.2 jdolecek fr24: .equ 24
155 1.1.4.2 jdolecek
156 1.1.4.2 jdolecek fr25: .equ 25
157 1.1.4.2 jdolecek
158 1.1.4.2 jdolecek fr26: .equ 26
159 1.1.4.2 jdolecek
160 1.1.4.2 jdolecek fr27: .equ 27
161 1.1.4.2 jdolecek
162 1.1.4.2 jdolecek fr28: .equ 28
163 1.1.4.2 jdolecek
164 1.1.4.2 jdolecek fr29: .equ 29
165 1.1.4.2 jdolecek
166 1.1.4.2 jdolecek fr30: .equ 30
167 1.1.4.2 jdolecek
168 1.1.4.2 jdolecek fr31: .equ 31
169 1.1.4.2 jdolecek
170 1.1.4.2 jdolecek ; Hardware Control Registers
171 1.1.4.2 jdolecek cr0: .equ 0
172 1.1.4.2 jdolecek
173 1.1.4.2 jdolecek rctr: .equ 0 ; Recovery Counter Register
174 1.1.4.2 jdolecek
175 1.1.4.2 jdolecek cr8: .equ 8 ; Protection ID 1
176 1.1.4.2 jdolecek
177 1.1.4.2 jdolecek pidr1: .equ 8
178 1.1.4.2 jdolecek
179 1.1.4.2 jdolecek cr9: .equ 9 ; Protection ID 2
180 1.1.4.2 jdolecek
181 1.1.4.2 jdolecek pidr2: .equ 9
182 1.1.4.2 jdolecek
183 1.1.4.2 jdolecek cr10: .equ 10
184 1.1.4.2 jdolecek
185 1.1.4.2 jdolecek ccr: .equ 10 ; Coprocessor Confiquration Register
186 1.1.4.2 jdolecek
187 1.1.4.2 jdolecek cr11: .equ 11
188 1.1.4.2 jdolecek
189 1.1.4.2 jdolecek sar: .equ 11 ; Shift Amount Register
190 1.1.4.2 jdolecek
191 1.1.4.2 jdolecek cr12: .equ 12
192 1.1.4.2 jdolecek
193 1.1.4.2 jdolecek pidr3: .equ 12 ; Protection ID 3
194 1.1.4.2 jdolecek
195 1.1.4.2 jdolecek cr13: .equ 13
196 1.1.4.2 jdolecek
197 1.1.4.2 jdolecek pidr4: .equ 13 ; Protection ID 4
198 1.1.4.2 jdolecek
199 1.1.4.2 jdolecek cr14: .equ 14
200 1.1.4.2 jdolecek
201 1.1.4.2 jdolecek iva: .equ 14 ; Interrupt Vector Address
202 1.1.4.2 jdolecek
203 1.1.4.2 jdolecek cr15: .equ 15
204 1.1.4.2 jdolecek
205 1.1.4.2 jdolecek eiem: .equ 15 ; External Interrupt Enable Mask
206 1.1.4.2 jdolecek
207 1.1.4.2 jdolecek cr16: .equ 16
208 1.1.4.2 jdolecek
209 1.1.4.2 jdolecek itmr: .equ 16 ; Interval Timer
210 1.1.4.2 jdolecek
211 1.1.4.2 jdolecek cr17: .equ 17
212 1.1.4.2 jdolecek
213 1.1.4.2 jdolecek pcsq: .equ 17 ; Program Counter Space queue
214 1.1.4.2 jdolecek
215 1.1.4.2 jdolecek cr18: .equ 18
216 1.1.4.2 jdolecek
217 1.1.4.2 jdolecek pcoq: .equ 18 ; Program Counter Offset queue
218 1.1.4.2 jdolecek
219 1.1.4.2 jdolecek cr19: .equ 19
220 1.1.4.2 jdolecek
221 1.1.4.2 jdolecek iir: .equ 19 ; Interruption Instruction Register
222 1.1.4.2 jdolecek
223 1.1.4.2 jdolecek cr20: .equ 20
224 1.1.4.2 jdolecek
225 1.1.4.2 jdolecek isr: .equ 20 ; Interruption Space Register
226 1.1.4.2 jdolecek
227 1.1.4.2 jdolecek cr21: .equ 21
228 1.1.4.2 jdolecek
229 1.1.4.2 jdolecek ior: .equ 21 ; Interruption Offset Register
230 1.1.4.2 jdolecek
231 1.1.4.2 jdolecek cr22: .equ 22
232 1.1.4.2 jdolecek
233 1.1.4.2 jdolecek ipsw: .equ 22 ; Interrpution Processor Status Word
234 1.1.4.2 jdolecek
235 1.1.4.2 jdolecek cr23: .equ 23
236 1.1.4.2 jdolecek
237 1.1.4.2 jdolecek eirr: .equ 23 ; External Interrupt Request
238 1.1.4.2 jdolecek
239 1.1.4.2 jdolecek cr24: .equ 24
240 1.1.4.2 jdolecek
241 1.1.4.2 jdolecek ppda: .equ 24 ; Physcial Page Directory Address
242 1.1.4.2 jdolecek
243 1.1.4.2 jdolecek tr0: .equ 24 ; Temporary register 0
244 1.1.4.2 jdolecek
245 1.1.4.2 jdolecek cr25: .equ 25
246 1.1.4.2 jdolecek
247 1.1.4.2 jdolecek hta: .equ 25 ; Hash Table Address
248 1.1.4.2 jdolecek
249 1.1.4.2 jdolecek tr1: .equ 25 ; Temporary register 1
250 1.1.4.2 jdolecek
251 1.1.4.2 jdolecek cr26: .equ 26
252 1.1.4.2 jdolecek
253 1.1.4.2 jdolecek tr2: .equ 26 ; Temporary register 2
254 1.1.4.2 jdolecek
255 1.1.4.2 jdolecek cr27: .equ 27
256 1.1.4.2 jdolecek
257 1.1.4.2 jdolecek tr3: .equ 27 ; Temporary register 3
258 1.1.4.2 jdolecek
259 1.1.4.2 jdolecek cr28: .equ 28
260 1.1.4.2 jdolecek
261 1.1.4.2 jdolecek tr4: .equ 28 ; Temporary register 4
262 1.1.4.2 jdolecek
263 1.1.4.2 jdolecek cr29: .equ 29
264 1.1.4.2 jdolecek
265 1.1.4.2 jdolecek tr5: .equ 29 ; Temporary register 5
266 1.1.4.2 jdolecek
267 1.1.4.2 jdolecek cr30: .equ 30
268 1.1.4.2 jdolecek
269 1.1.4.2 jdolecek tr6: .equ 30 ; Temporary register 6
270 1.1.4.2 jdolecek
271 1.1.4.2 jdolecek cr31: .equ 31
272 1.1.4.2 jdolecek
273 1.1.4.2 jdolecek tr7: .equ 31 ; Temporary register 7
274 1.1.4.2 jdolecek
275 1.1.4.2 jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
276 1.1.4.2 jdolecek ; Procedure Call Convention ~
277 1.1.4.2 jdolecek ; Register Definitions for Use with Assembler ~
278 1.1.4.2 jdolecek ; version A.08.06 ~
279 1.1.4.2 jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
280 1.1.4.2 jdolecek ; Software Architecture General Registers
281 1.1.4.2 jdolecek rp: .equ r2 ; return pointer
282 1.1.4.2 jdolecek
283 1.1.4.2 jdolecek mrp: .equ r31 ; millicode return pointer
284 1.1.4.2 jdolecek
285 1.1.4.2 jdolecek ret0: .equ r28 ; return value
286 1.1.4.2 jdolecek
287 1.1.4.2 jdolecek ret1: .equ r29 ; return value (high part of double)
288 1.1.4.2 jdolecek
289 1.1.4.2 jdolecek sl: .equ r29 ; static link
290 1.1.4.2 jdolecek
291 1.1.4.2 jdolecek sp: .equ r30 ; stack pointer
292 1.1.4.2 jdolecek
293 1.1.4.2 jdolecek dp: .equ r27 ; data pointer
294 1.1.4.2 jdolecek
295 1.1.4.2 jdolecek arg0: .equ r26 ; argument
296 1.1.4.2 jdolecek
297 1.1.4.2 jdolecek arg1: .equ r25 ; argument or high part of double argument
298 1.1.4.2 jdolecek
299 1.1.4.2 jdolecek arg2: .equ r24 ; argument
300 1.1.4.2 jdolecek
301 1.1.4.2 jdolecek arg3: .equ r23 ; argument or high part of double argument
302 1.1.4.2 jdolecek
303 1.1.4.2 jdolecek ;_____________________________________________________________________________
304 1.1.4.2 jdolecek ; Software Architecture Space Registers
305 1.1.4.2 jdolecek ; sr0 ; return link form BLE
306 1.1.4.2 jdolecek sret: .equ sr1 ; return value
307 1.1.4.2 jdolecek
308 1.1.4.2 jdolecek sarg: .equ sr1 ; argument
309 1.1.4.2 jdolecek
310 1.1.4.2 jdolecek ; sr4 ; PC SPACE tracker
311 1.1.4.2 jdolecek ; sr5 ; process private data
312 1.1.4.2 jdolecek ;_____________________________________________________________________________
313 1.1.4.2 jdolecek ; Software Architecture Pseudo Registers
314 1.1.4.2 jdolecek previous_sp: .equ 64 ; old stack pointer (locates previous frame)
315 1.1.4.2 jdolecek
316 1.1.4.2 jdolecek ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
317 1.1.4.2 jdolecek ; Standard space and subspace definitions. version A.08.06
318 1.1.4.2 jdolecek ; These are generally suitable for programs on HP_UX and HPE.
319 1.1.4.2 jdolecek ; Statements commented out are used when building such things as operating
320 1.1.4.2 jdolecek ; system kernels.
321 1.1.4.2 jdolecek ;;;;;;;;;;;;;;;;
322 1.1.4.2 jdolecek ; Additional code subspaces should have ALIGN=8 for an interspace BV
323 1.1.4.2 jdolecek ; and should have SORT=24.
324 1.1.4.2 jdolecek ;
325 1.1.4.2 jdolecek ; For an incomplete executable (program bound to shared libraries),
326 1.1.4.2 jdolecek ; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$
327 1.1.4.2 jdolecek ; and $PLT$ subspaces respectively.
328 1.1.4.2 jdolecek ;;;;;;;;;;;;;;;
329 1.1.4.2 jdolecek
330 1.1.4.2 jdolecek .text
331 1.1.4.2 jdolecek .EXPORT $$remI,millicode
332 1.1.4.2 jdolecek ; .IMPORT cerror
333 1.1.4.2 jdolecek $$remI:
334 1.1.4.2 jdolecek .PROC
335 1.1.4.2 jdolecek .CALLINFO NO_CALLS
336 1.1.4.2 jdolecek .ENTRY
337 1.1.4.2 jdolecek addit,= 0,arg1,r0
338 1.1.4.2 jdolecek add,>= r0,arg0,ret1
339 1.1.4.2 jdolecek sub r0,ret1,ret1
340 1.1.4.2 jdolecek sub r0,arg1,r1
341 1.1.4.2 jdolecek ds r0,r1,r0
342 1.1.4.2 jdolecek or r0,r0,r1
343 1.1.4.2 jdolecek add ret1,ret1,ret1
344 1.1.4.2 jdolecek ds r1,arg1,r1
345 1.1.4.2 jdolecek addc ret1,ret1,ret1
346 1.1.4.2 jdolecek ds r1,arg1,r1
347 1.1.4.2 jdolecek addc ret1,ret1,ret1
348 1.1.4.2 jdolecek ds r1,arg1,r1
349 1.1.4.2 jdolecek addc ret1,ret1,ret1
350 1.1.4.2 jdolecek ds r1,arg1,r1
351 1.1.4.2 jdolecek addc ret1,ret1,ret1
352 1.1.4.2 jdolecek ds r1,arg1,r1
353 1.1.4.2 jdolecek addc ret1,ret1,ret1
354 1.1.4.2 jdolecek ds r1,arg1,r1
355 1.1.4.2 jdolecek addc ret1,ret1,ret1
356 1.1.4.2 jdolecek ds r1,arg1,r1
357 1.1.4.2 jdolecek addc ret1,ret1,ret1
358 1.1.4.2 jdolecek ds r1,arg1,r1
359 1.1.4.2 jdolecek addc ret1,ret1,ret1
360 1.1.4.2 jdolecek ds r1,arg1,r1
361 1.1.4.2 jdolecek addc ret1,ret1,ret1
362 1.1.4.2 jdolecek ds r1,arg1,r1
363 1.1.4.2 jdolecek addc ret1,ret1,ret1
364 1.1.4.2 jdolecek ds r1,arg1,r1
365 1.1.4.2 jdolecek addc ret1,ret1,ret1
366 1.1.4.2 jdolecek ds r1,arg1,r1
367 1.1.4.2 jdolecek addc ret1,ret1,ret1
368 1.1.4.2 jdolecek ds r1,arg1,r1
369 1.1.4.2 jdolecek addc ret1,ret1,ret1
370 1.1.4.2 jdolecek ds r1,arg1,r1
371 1.1.4.2 jdolecek addc ret1,ret1,ret1
372 1.1.4.2 jdolecek ds r1,arg1,r1
373 1.1.4.2 jdolecek addc ret1,ret1,ret1
374 1.1.4.2 jdolecek ds r1,arg1,r1
375 1.1.4.2 jdolecek addc ret1,ret1,ret1
376 1.1.4.2 jdolecek ds r1,arg1,r1
377 1.1.4.2 jdolecek addc ret1,ret1,ret1
378 1.1.4.2 jdolecek ds r1,arg1,r1
379 1.1.4.2 jdolecek addc ret1,ret1,ret1
380 1.1.4.2 jdolecek ds r1,arg1,r1
381 1.1.4.2 jdolecek addc ret1,ret1,ret1
382 1.1.4.2 jdolecek ds r1,arg1,r1
383 1.1.4.2 jdolecek addc ret1,ret1,ret1
384 1.1.4.2 jdolecek ds r1,arg1,r1
385 1.1.4.2 jdolecek addc ret1,ret1,ret1
386 1.1.4.2 jdolecek ds r1,arg1,r1
387 1.1.4.2 jdolecek addc ret1,ret1,ret1
388 1.1.4.2 jdolecek ds r1,arg1,r1
389 1.1.4.2 jdolecek addc ret1,ret1,ret1
390 1.1.4.2 jdolecek ds r1,arg1,r1
391 1.1.4.2 jdolecek addc ret1,ret1,ret1
392 1.1.4.2 jdolecek ds r1,arg1,r1
393 1.1.4.2 jdolecek addc ret1,ret1,ret1
394 1.1.4.2 jdolecek ds r1,arg1,r1
395 1.1.4.2 jdolecek addc ret1,ret1,ret1
396 1.1.4.2 jdolecek ds r1,arg1,r1
397 1.1.4.2 jdolecek addc ret1,ret1,ret1
398 1.1.4.2 jdolecek ds r1,arg1,r1
399 1.1.4.2 jdolecek addc ret1,ret1,ret1
400 1.1.4.2 jdolecek ds r1,arg1,r1
401 1.1.4.2 jdolecek addc ret1,ret1,ret1
402 1.1.4.2 jdolecek ds r1,arg1,r1
403 1.1.4.2 jdolecek addc ret1,ret1,ret1
404 1.1.4.2 jdolecek ds r1,arg1,r1
405 1.1.4.2 jdolecek addc ret1,ret1,ret1
406 1.1.4.2 jdolecek ds r1,arg1,r1
407 1.1.4.2 jdolecek addc ret1,ret1,ret1
408 1.1.4.2 jdolecek movb,>=,n r1,ret1,remI300
409 1.1.4.2 jdolecek add,< arg1,r0,r0
410 1.1.4.2 jdolecek add,tr r1,arg1,ret1
411 1.1.4.2 jdolecek sub r1,arg1,ret1
412 1.1.4.2 jdolecek remI300: add,>= arg0,r0,r0
413 1.1.4.2 jdolecek
414 1.1.4.2 jdolecek sub r0,ret1,ret1
415 1.1.4.2 jdolecek bv r0(r31)
416 1.1.4.2 jdolecek nop
417 1.1.4.2 jdolecek .EXIT
418 1.1.4.2 jdolecek .PROCEND
419 1.1.4.2 jdolecek
420 1.1.4.2 jdolecek bit1: .equ 1
421 1.1.4.2 jdolecek
422 1.1.4.2 jdolecek bit30: .equ 30
423 1.1.4.2 jdolecek bit31: .equ 31
424 1.1.4.2 jdolecek
425 1.1.4.2 jdolecek len2: .equ 2
426 1.1.4.2 jdolecek
427 1.1.4.2 jdolecek len4: .equ 4
428 1.1.4.2 jdolecek
429 1.1.4.2 jdolecek #if 0
430 1.1.4.2 jdolecek $$dyncall:
431 1.1.4.2 jdolecek .proc
432 1.1.4.2 jdolecek .callinfo NO_CALLS
433 1.1.4.2 jdolecek .export $$dyncall,MILLICODE
434 1.1.4.2 jdolecek
435 1.1.4.2 jdolecek bb,>=,n 22,bit30,noshlibs
436 1.1.4.2 jdolecek
437 1.1.4.2 jdolecek depi 0,bit31,len2,22
438 1.1.4.2 jdolecek ldw 4(22),19
439 1.1.4.2 jdolecek ldw 0(22),22
440 1.1.4.2 jdolecek noshlibs:
441 1.1.4.2 jdolecek ldsid (22),r1
442 1.1.4.2 jdolecek mtsp r1,sr0
443 1.1.4.2 jdolecek be 0(sr0,r22)
444 1.1.4.2 jdolecek stw rp,-24(sp)
445 1.1.4.2 jdolecek .procend
446 1.1.4.2 jdolecek #endif
447 1.1.4.2 jdolecek
448 1.1.4.2 jdolecek $$sh_func_adrs:
449 1.1.4.2 jdolecek .proc
450 1.1.4.2 jdolecek .callinfo NO_CALLS
451 1.1.4.2 jdolecek .export $$sh_func_adrs, millicode
452 1.1.4.2 jdolecek ldo 0(r26),ret1
453 1.1.4.2 jdolecek dep r0,30,1,r26
454 1.1.4.2 jdolecek probew (r26),r31,r22
455 1.1.4.2 jdolecek extru,= r22,31,1,r22
456 1.1.4.2 jdolecek bv r0(r31)
457 1.1.4.2 jdolecek ldws 0(r26),ret1
458 1.1.4.2 jdolecek .procend
459 1.1.4.2 jdolecek
460 1.1.4.2 jdolecek temp: .EQU r1
461 1.1.4.2 jdolecek
462 1.1.4.2 jdolecek retreg: .EQU ret1 ; r29
463 1.1.4.2 jdolecek
464 1.1.4.2 jdolecek .export $$divU,millicode
465 1.1.4.2 jdolecek .import $$divU_3,millicode
466 1.1.4.2 jdolecek .import $$divU_5,millicode
467 1.1.4.2 jdolecek .import $$divU_6,millicode
468 1.1.4.2 jdolecek .import $$divU_7,millicode
469 1.1.4.2 jdolecek .import $$divU_9,millicode
470 1.1.4.2 jdolecek .import $$divU_10,millicode
471 1.1.4.2 jdolecek .import $$divU_12,millicode
472 1.1.4.2 jdolecek .import $$divU_14,millicode
473 1.1.4.2 jdolecek .import $$divU_15,millicode
474 1.1.4.2 jdolecek $$divU:
475 1.1.4.2 jdolecek .proc
476 1.1.4.2 jdolecek .callinfo NO_CALLS
477 1.1.4.2 jdolecek ; The subtract is not nullified since it does no harm and can be used
478 1.1.4.2 jdolecek ; by the two cases that branch back to "normal".
479 1.1.4.2 jdolecek comib,>= 15,arg1,special_divisor
480 1.1.4.2 jdolecek sub r0,arg1,temp ; clear carry, negate the divisor
481 1.1.4.2 jdolecek ds r0,temp,r0 ; set V-bit to 1
482 1.1.4.2 jdolecek normal:
483 1.1.4.2 jdolecek add arg0,arg0,retreg ; shift msb bit into carry
484 1.1.4.2 jdolecek ds r0,arg1,temp ; 1st divide step, if no carry
485 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
486 1.1.4.2 jdolecek ds temp,arg1,temp ; 2nd divide step
487 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
488 1.1.4.2 jdolecek ds temp,arg1,temp ; 3rd divide step
489 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
490 1.1.4.2 jdolecek ds temp,arg1,temp ; 4th divide step
491 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
492 1.1.4.2 jdolecek ds temp,arg1,temp ; 5th divide step
493 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
494 1.1.4.2 jdolecek ds temp,arg1,temp ; 6th divide step
495 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
496 1.1.4.2 jdolecek ds temp,arg1,temp ; 7th divide step
497 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
498 1.1.4.2 jdolecek ds temp,arg1,temp ; 8th divide step
499 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
500 1.1.4.2 jdolecek ds temp,arg1,temp ; 9th divide step
501 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
502 1.1.4.2 jdolecek ds temp,arg1,temp ; 10th divide step
503 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
504 1.1.4.2 jdolecek ds temp,arg1,temp ; 11th divide step
505 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
506 1.1.4.2 jdolecek ds temp,arg1,temp ; 12th divide step
507 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
508 1.1.4.2 jdolecek ds temp,arg1,temp ; 13th divide step
509 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
510 1.1.4.2 jdolecek ds temp,arg1,temp ; 14th divide step
511 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
512 1.1.4.2 jdolecek ds temp,arg1,temp ; 15th divide step
513 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
514 1.1.4.2 jdolecek ds temp,arg1,temp ; 16th divide step
515 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
516 1.1.4.2 jdolecek ds temp,arg1,temp ; 17th divide step
517 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
518 1.1.4.2 jdolecek ds temp,arg1,temp ; 18th divide step
519 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
520 1.1.4.2 jdolecek ds temp,arg1,temp ; 19th divide step
521 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
522 1.1.4.2 jdolecek ds temp,arg1,temp ; 20th divide step
523 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
524 1.1.4.2 jdolecek ds temp,arg1,temp ; 21st divide step
525 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
526 1.1.4.2 jdolecek ds temp,arg1,temp ; 22nd divide step
527 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
528 1.1.4.2 jdolecek ds temp,arg1,temp ; 23rd divide step
529 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
530 1.1.4.2 jdolecek ds temp,arg1,temp ; 24th divide step
531 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
532 1.1.4.2 jdolecek ds temp,arg1,temp ; 25th divide step
533 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
534 1.1.4.2 jdolecek ds temp,arg1,temp ; 26th divide step
535 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
536 1.1.4.2 jdolecek ds temp,arg1,temp ; 27th divide step
537 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
538 1.1.4.2 jdolecek ds temp,arg1,temp ; 28th divide step
539 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
540 1.1.4.2 jdolecek ds temp,arg1,temp ; 29th divide step
541 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
542 1.1.4.2 jdolecek ds temp,arg1,temp ; 30th divide step
543 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
544 1.1.4.2 jdolecek ds temp,arg1,temp ; 31st divide step
545 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
546 1.1.4.2 jdolecek ds temp,arg1,temp ; 32nd divide step,
547 1.1.4.2 jdolecek bv 0(r31)
548 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift last retreg bit into retreg
549 1.1.4.2 jdolecek ;_____________________________________________________________________________
550 1.1.4.2 jdolecek ; handle the cases where divisor is a small constant or has high bit on
551 1.1.4.2 jdolecek special_divisor:
552 1.1.4.2 jdolecek blr arg1,r0
553 1.1.4.2 jdolecek comib,>,n 0,arg1,big_divisor ; nullify previous instruction
554 1.1.4.2 jdolecek zero_divisor: ; this label is here to provide external visibility
555 1.1.4.2 jdolecek
556 1.1.4.2 jdolecek addit,= 0,arg1,0 ; trap for zero dvr
557 1.1.4.2 jdolecek nop
558 1.1.4.2 jdolecek bv 0(r31) ; divisor == 1
559 1.1.4.2 jdolecek copy arg0,retreg
560 1.1.4.2 jdolecek bv 0(r31) ; divisor == 2
561 1.1.4.2 jdolecek extru arg0,30,31,retreg
562 1.1.4.2 jdolecek b,n $$divU_3 ; divisor == 3
563 1.1.4.2 jdolecek nop
564 1.1.4.2 jdolecek bv 0(r31) ; divisor == 4
565 1.1.4.2 jdolecek extru arg0,29,30,retreg
566 1.1.4.2 jdolecek b,n $$divU_5 ; divisor == 5
567 1.1.4.2 jdolecek nop
568 1.1.4.2 jdolecek b,n $$divU_6 ; divisor == 6
569 1.1.4.2 jdolecek nop
570 1.1.4.2 jdolecek b,n $$divU_7 ; divisor == 7
571 1.1.4.2 jdolecek nop
572 1.1.4.2 jdolecek bv 0(r31) ; divisor == 8
573 1.1.4.2 jdolecek extru arg0,28,29,retreg
574 1.1.4.2 jdolecek b,n $$divU_9 ; divisor == 9
575 1.1.4.2 jdolecek nop
576 1.1.4.2 jdolecek b,n $$divU_10 ; divisor == 10
577 1.1.4.2 jdolecek nop
578 1.1.4.2 jdolecek b normal ; divisor == 11
579 1.1.4.2 jdolecek ds r0,temp,r0 ; set V-bit to 1
580 1.1.4.2 jdolecek b,n $$divU_12 ; divisor == 12
581 1.1.4.2 jdolecek nop
582 1.1.4.2 jdolecek b normal ; divisor == 13
583 1.1.4.2 jdolecek ds r0,temp,r0 ; set V-bit to 1
584 1.1.4.2 jdolecek b,n $$divU_14 ; divisor == 14
585 1.1.4.2 jdolecek nop
586 1.1.4.2 jdolecek b,n $$divU_15 ; divisor == 15
587 1.1.4.2 jdolecek nop
588 1.1.4.2 jdolecek ;_____________________________________________________________________________
589 1.1.4.2 jdolecek ; Handle the case where the high bit is on in the divisor.
590 1.1.4.2 jdolecek ; Compute: if( dividend>=divisor) quotient=1; else quotient=0;
591 1.1.4.2 jdolecek ; Note: dividend>==divisor iff dividend-divisor does not borrow
592 1.1.4.2 jdolecek ; and not borrow iff carry
593 1.1.4.2 jdolecek big_divisor:
594 1.1.4.2 jdolecek sub arg0,arg1,r0
595 1.1.4.2 jdolecek bv 0(r31)
596 1.1.4.2 jdolecek addc r0,r0,retreg
597 1.1.4.2 jdolecek .procend
598 1.1.4.2 jdolecek .end
599 1.1.4.2 jdolecek
600 1.1.4.2 jdolecek t2: .EQU r1
601 1.1.4.2 jdolecek
602 1.1.4.2 jdolecek ; x2 .EQU arg0 ; r26
603 1.1.4.2 jdolecek t1: .EQU arg1 ; r25
604 1.1.4.2 jdolecek
605 1.1.4.2 jdolecek ; x1 .EQU ret1 ; r29
606 1.1.4.2 jdolecek ;_____________________________________________________________________________
607 1.1.4.2 jdolecek
608 1.1.4.2 jdolecek $$divide_by_constant:
609 1.1.4.2 jdolecek .PROC
610 1.1.4.2 jdolecek .CALLINFO NO_CALLS
611 1.1.4.2 jdolecek .export $$divide_by_constant,millicode
612 1.1.4.2 jdolecek ; Provides a "nice" label for the code covered by the unwind descriptor
613 1.1.4.2 jdolecek ; for things like gprof.
614 1.1.4.2 jdolecek
615 1.1.4.2 jdolecek $$divI_2:
616 1.1.4.2 jdolecek .EXPORT $$divI_2,MILLICODE
617 1.1.4.2 jdolecek COMCLR,>= arg0,0,0
618 1.1.4.2 jdolecek ADDI 1,arg0,arg0
619 1.1.4.2 jdolecek bv 0(r31)
620 1.1.4.2 jdolecek EXTRS arg0,30,31,ret1
621 1.1.4.2 jdolecek
622 1.1.4.2 jdolecek $$divI_4:
623 1.1.4.2 jdolecek .EXPORT $$divI_4,MILLICODE
624 1.1.4.2 jdolecek COMCLR,>= arg0,0,0
625 1.1.4.2 jdolecek ADDI 3,arg0,arg0
626 1.1.4.2 jdolecek bv 0(r31)
627 1.1.4.2 jdolecek EXTRS arg0,29,30,ret1
628 1.1.4.2 jdolecek
629 1.1.4.2 jdolecek $$divI_8:
630 1.1.4.2 jdolecek .EXPORT $$divI_8,MILLICODE
631 1.1.4.2 jdolecek COMCLR,>= arg0,0,0
632 1.1.4.2 jdolecek ADDI 7,arg0,arg0
633 1.1.4.2 jdolecek bv 0(r31)
634 1.1.4.2 jdolecek EXTRS arg0,28,29,ret1
635 1.1.4.2 jdolecek
636 1.1.4.2 jdolecek $$divI_16:
637 1.1.4.2 jdolecek .EXPORT $$divI_16,MILLICODE
638 1.1.4.2 jdolecek COMCLR,>= arg0,0,0
639 1.1.4.2 jdolecek ADDI 15,arg0,arg0
640 1.1.4.2 jdolecek bv 0(r31)
641 1.1.4.2 jdolecek EXTRS arg0,27,28,ret1
642 1.1.4.2 jdolecek
643 1.1.4.2 jdolecek $$divI_3:
644 1.1.4.2 jdolecek .EXPORT $$divI_3,MILLICODE
645 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg3
646 1.1.4.2 jdolecek
647 1.1.4.2 jdolecek ADDI 1,arg0,arg0
648 1.1.4.2 jdolecek EXTRU arg0,1,2,ret1
649 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
650 1.1.4.2 jdolecek B $pos
651 1.1.4.2 jdolecek ADDC ret1,0,ret1
652 1.1.4.2 jdolecek
653 1.1.4.2 jdolecek $neg3:
654 1.1.4.2 jdolecek SUBI 1,arg0,arg0
655 1.1.4.2 jdolecek EXTRU arg0,1,2,ret1
656 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
657 1.1.4.2 jdolecek B $neg
658 1.1.4.2 jdolecek ADDC ret1,0,ret1
659 1.1.4.2 jdolecek
660 1.1.4.2 jdolecek $$divU_3:
661 1.1.4.2 jdolecek .EXPORT $$divU_3,MILLICODE
662 1.1.4.2 jdolecek ADDI 1,arg0,arg0
663 1.1.4.2 jdolecek ADDC 0,0,ret1
664 1.1.4.2 jdolecek SHD ret1,arg0,30,t1
665 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
666 1.1.4.2 jdolecek B $pos
667 1.1.4.2 jdolecek ADDC ret1,t1,ret1
668 1.1.4.2 jdolecek
669 1.1.4.2 jdolecek $$divI_5:
670 1.1.4.2 jdolecek .EXPORT $$divI_5,MILLICODE
671 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg5
672 1.1.4.2 jdolecek ADDI 3,arg0,t1
673 1.1.4.2 jdolecek SH1ADD arg0,t1,arg0
674 1.1.4.2 jdolecek B $pos
675 1.1.4.2 jdolecek ADDC 0,0,ret1
676 1.1.4.2 jdolecek
677 1.1.4.2 jdolecek $neg5:
678 1.1.4.2 jdolecek SUB 0,arg0,arg0
679 1.1.4.2 jdolecek ADDI 1,arg0,arg0
680 1.1.4.2 jdolecek SHD 0,arg0,31,ret1
681 1.1.4.2 jdolecek SH1ADD arg0,arg0,arg0
682 1.1.4.2 jdolecek B $neg
683 1.1.4.2 jdolecek ADDC ret1,0,ret1
684 1.1.4.2 jdolecek
685 1.1.4.2 jdolecek $$divU_5:
686 1.1.4.2 jdolecek .EXPORT $$divU_5,MILLICODE
687 1.1.4.2 jdolecek ADDI 1,arg0,arg0
688 1.1.4.2 jdolecek ADDC 0,0,ret1
689 1.1.4.2 jdolecek SHD ret1,arg0,31,t1
690 1.1.4.2 jdolecek SH1ADD arg0,arg0,arg0
691 1.1.4.2 jdolecek B $pos
692 1.1.4.2 jdolecek ADDC t1,ret1,ret1
693 1.1.4.2 jdolecek
694 1.1.4.2 jdolecek $$divI_6:
695 1.1.4.2 jdolecek .EXPORT $$divI_6,MILLICODE
696 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg6
697 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
698 1.1.4.2 jdolecek ADDI 5,arg0,t1
699 1.1.4.2 jdolecek SH2ADD arg0,t1,arg0
700 1.1.4.2 jdolecek B $pos
701 1.1.4.2 jdolecek ADDC 0,0,ret1
702 1.1.4.2 jdolecek
703 1.1.4.2 jdolecek $neg6:
704 1.1.4.2 jdolecek SUBI 2,arg0,arg0
705 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
706 1.1.4.2 jdolecek SHD 0,arg0,30,ret1
707 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
708 1.1.4.2 jdolecek B $neg
709 1.1.4.2 jdolecek ADDC ret1,0,ret1
710 1.1.4.2 jdolecek
711 1.1.4.2 jdolecek $$divU_6:
712 1.1.4.2 jdolecek .EXPORT $$divU_6,MILLICODE
713 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
714 1.1.4.2 jdolecek ADDI 1,arg0,arg0
715 1.1.4.2 jdolecek SHD 0,arg0,30,ret1
716 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
717 1.1.4.2 jdolecek B $pos
718 1.1.4.2 jdolecek ADDC ret1,0,ret1
719 1.1.4.2 jdolecek
720 1.1.4.2 jdolecek $$divU_10:
721 1.1.4.2 jdolecek .EXPORT $$divU_10,MILLICODE
722 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
723 1.1.4.2 jdolecek ADDI 3,arg0,t1
724 1.1.4.2 jdolecek SH1ADD arg0,t1,arg0
725 1.1.4.2 jdolecek ADDC 0,0,ret1
726 1.1.4.2 jdolecek $pos:
727 1.1.4.2 jdolecek SHD ret1,arg0,28,t1
728 1.1.4.2 jdolecek SHD arg0,0,28,t2
729 1.1.4.2 jdolecek ADD arg0,t2,arg0
730 1.1.4.2 jdolecek ADDC ret1,t1,ret1
731 1.1.4.2 jdolecek $pos_for_17:
732 1.1.4.2 jdolecek SHD ret1,arg0,24,t1
733 1.1.4.2 jdolecek SHD arg0,0,24,t2
734 1.1.4.2 jdolecek ADD arg0,t2,arg0
735 1.1.4.2 jdolecek ADDC ret1,t1,ret1
736 1.1.4.2 jdolecek
737 1.1.4.2 jdolecek SHD ret1,arg0,16,t1
738 1.1.4.2 jdolecek SHD arg0,0,16,t2
739 1.1.4.2 jdolecek ADD arg0,t2,arg0
740 1.1.4.2 jdolecek bv 0(r31)
741 1.1.4.2 jdolecek ADDC ret1,t1,ret1
742 1.1.4.2 jdolecek
743 1.1.4.2 jdolecek $$divI_10:
744 1.1.4.2 jdolecek .EXPORT $$divI_10,MILLICODE
745 1.1.4.2 jdolecek COMB,< arg0,0,$neg10
746 1.1.4.2 jdolecek COPY 0,ret1
747 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
748 1.1.4.2 jdolecek ADDIB,TR 1,arg0,$pos
749 1.1.4.2 jdolecek SH1ADD arg0,arg0,arg0
750 1.1.4.2 jdolecek
751 1.1.4.2 jdolecek $neg10:
752 1.1.4.2 jdolecek SUBI 2,arg0,arg0
753 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
754 1.1.4.2 jdolecek SH1ADD arg0,arg0,arg0
755 1.1.4.2 jdolecek $neg:
756 1.1.4.2 jdolecek SHD ret1,arg0,28,t1
757 1.1.4.2 jdolecek SHD arg0,0,28,t2
758 1.1.4.2 jdolecek ADD arg0,t2,arg0
759 1.1.4.2 jdolecek ADDC ret1,t1,ret1
760 1.1.4.2 jdolecek $neg_for_17:
761 1.1.4.2 jdolecek SHD ret1,arg0,24,t1
762 1.1.4.2 jdolecek SHD arg0,0,24,t2
763 1.1.4.2 jdolecek ADD arg0,t2,arg0
764 1.1.4.2 jdolecek ADDC ret1,t1,ret1
765 1.1.4.2 jdolecek
766 1.1.4.2 jdolecek SHD ret1,arg0,16,t1
767 1.1.4.2 jdolecek SHD arg0,0,16,t2
768 1.1.4.2 jdolecek ADD arg0,t2,arg0
769 1.1.4.2 jdolecek ADDC ret1,t1,ret1
770 1.1.4.2 jdolecek bv 0(r31)
771 1.1.4.2 jdolecek SUB 0,ret1,ret1
772 1.1.4.2 jdolecek
773 1.1.4.2 jdolecek $$divI_12:
774 1.1.4.2 jdolecek .EXPORT $$divI_12,MILLICODE
775 1.1.4.2 jdolecek COMB,< arg0,0,$neg12
776 1.1.4.2 jdolecek COPY 0,ret1
777 1.1.4.2 jdolecek EXTRU arg0,29,30,arg0
778 1.1.4.2 jdolecek ADDIB,TR 1,arg0,$pos
779 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
780 1.1.4.2 jdolecek
781 1.1.4.2 jdolecek $neg12:
782 1.1.4.2 jdolecek SUBI 4,arg0,arg0
783 1.1.4.2 jdolecek EXTRU arg0,29,30,arg0
784 1.1.4.2 jdolecek B $neg
785 1.1.4.2 jdolecek SH2ADD arg0,arg0,arg0
786 1.1.4.2 jdolecek
787 1.1.4.2 jdolecek $$divU_12:
788 1.1.4.2 jdolecek .EXPORT $$divU_12,MILLICODE
789 1.1.4.2 jdolecek EXTRU arg0,29,30,arg0
790 1.1.4.2 jdolecek ADDI 5,arg0,t1
791 1.1.4.2 jdolecek SH2ADD arg0,t1,arg0
792 1.1.4.2 jdolecek B $pos
793 1.1.4.2 jdolecek ADDC 0,0,ret1
794 1.1.4.2 jdolecek
795 1.1.4.2 jdolecek $$divI_15:
796 1.1.4.2 jdolecek .EXPORT $$divI_15,MILLICODE
797 1.1.4.2 jdolecek COMB,< arg0,0,$neg15
798 1.1.4.2 jdolecek COPY 0,ret1
799 1.1.4.2 jdolecek ADDIB,TR 1,arg0,$pos+4
800 1.1.4.2 jdolecek SHD ret1,arg0,28,t1
801 1.1.4.2 jdolecek
802 1.1.4.2 jdolecek $neg15:
803 1.1.4.2 jdolecek B $neg
804 1.1.4.2 jdolecek SUBI 1,arg0,arg0
805 1.1.4.2 jdolecek
806 1.1.4.2 jdolecek $$divU_15:
807 1.1.4.2 jdolecek .EXPORT $$divU_15,MILLICODE
808 1.1.4.2 jdolecek ADDI 1,arg0,arg0
809 1.1.4.2 jdolecek B $pos
810 1.1.4.2 jdolecek ADDC 0,0,ret1
811 1.1.4.2 jdolecek
812 1.1.4.2 jdolecek $$divI_17:
813 1.1.4.2 jdolecek .EXPORT $$divI_17,MILLICODE
814 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg17
815 1.1.4.2 jdolecek ADDI 1,arg0,arg0
816 1.1.4.2 jdolecek SHD 0,arg0,28,t1
817 1.1.4.2 jdolecek SHD arg0,0,28,t2
818 1.1.4.2 jdolecek SUB t2,arg0,arg0
819 1.1.4.2 jdolecek B $pos_for_17
820 1.1.4.2 jdolecek SUBB t1,0,ret1
821 1.1.4.2 jdolecek
822 1.1.4.2 jdolecek $neg17:
823 1.1.4.2 jdolecek SUBI 1,arg0,arg0
824 1.1.4.2 jdolecek SHD 0,arg0,28,t1
825 1.1.4.2 jdolecek SHD arg0,0,28,t2
826 1.1.4.2 jdolecek SUB t2,arg0,arg0
827 1.1.4.2 jdolecek B $neg_for_17
828 1.1.4.2 jdolecek SUBB t1,0,ret1
829 1.1.4.2 jdolecek
830 1.1.4.2 jdolecek $$divU_17:
831 1.1.4.2 jdolecek .EXPORT $$divU_17,MILLICODE
832 1.1.4.2 jdolecek ADDI 1,arg0,arg0
833 1.1.4.2 jdolecek ADDC 0,0,ret1
834 1.1.4.2 jdolecek SHD ret1,arg0,28,t1
835 1.1.4.2 jdolecek $u17:
836 1.1.4.2 jdolecek SHD arg0,0,28,t2
837 1.1.4.2 jdolecek SUB t2,arg0,arg0
838 1.1.4.2 jdolecek B $pos_for_17
839 1.1.4.2 jdolecek SUBB t1,ret1,ret1
840 1.1.4.2 jdolecek
841 1.1.4.2 jdolecek $$divI_7:
842 1.1.4.2 jdolecek .EXPORT $$divI_7,MILLICODE
843 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg7
844 1.1.4.2 jdolecek $7:
845 1.1.4.2 jdolecek ADDI 1,arg0,arg0
846 1.1.4.2 jdolecek SHD 0,arg0,29,ret1
847 1.1.4.2 jdolecek SH3ADD arg0,arg0,arg0
848 1.1.4.2 jdolecek ADDC ret1,0,ret1
849 1.1.4.2 jdolecek $pos7:
850 1.1.4.2 jdolecek SHD ret1,arg0,26,t1
851 1.1.4.2 jdolecek SHD arg0,0,26,t2
852 1.1.4.2 jdolecek ADD arg0,t2,arg0
853 1.1.4.2 jdolecek ADDC ret1,t1,ret1
854 1.1.4.2 jdolecek
855 1.1.4.2 jdolecek SHD ret1,arg0,20,t1
856 1.1.4.2 jdolecek SHD arg0,0,20,t2
857 1.1.4.2 jdolecek ADD arg0,t2,arg0
858 1.1.4.2 jdolecek ADDC ret1,t1,t1
859 1.1.4.2 jdolecek
860 1.1.4.2 jdolecek COPY 0,ret1
861 1.1.4.2 jdolecek SHD,= t1,arg0,24,t1
862 1.1.4.2 jdolecek $1:
863 1.1.4.2 jdolecek ADDB,TR t1,ret1,$2
864 1.1.4.2 jdolecek EXTRU arg0,31,24,arg0
865 1.1.4.2 jdolecek
866 1.1.4.2 jdolecek bv,n 0(r31)
867 1.1.4.2 jdolecek
868 1.1.4.2 jdolecek $2:
869 1.1.4.2 jdolecek ADDB,TR t1,arg0,$1
870 1.1.4.2 jdolecek EXTRU,= arg0,7,8,t1
871 1.1.4.2 jdolecek
872 1.1.4.2 jdolecek $neg7:
873 1.1.4.2 jdolecek SUBI 1,arg0,arg0
874 1.1.4.2 jdolecek $8:
875 1.1.4.2 jdolecek SHD 0,arg0,29,ret1
876 1.1.4.2 jdolecek SH3ADD arg0,arg0,arg0
877 1.1.4.2 jdolecek ADDC ret1,0,ret1
878 1.1.4.2 jdolecek
879 1.1.4.2 jdolecek $neg7_shift:
880 1.1.4.2 jdolecek SHD ret1,arg0,26,t1
881 1.1.4.2 jdolecek SHD arg0,0,26,t2
882 1.1.4.2 jdolecek ADD arg0,t2,arg0
883 1.1.4.2 jdolecek ADDC ret1,t1,ret1
884 1.1.4.2 jdolecek
885 1.1.4.2 jdolecek SHD ret1,arg0,20,t1
886 1.1.4.2 jdolecek SHD arg0,0,20,t2
887 1.1.4.2 jdolecek ADD arg0,t2,arg0
888 1.1.4.2 jdolecek ADDC ret1,t1,t1
889 1.1.4.2 jdolecek
890 1.1.4.2 jdolecek COPY 0,ret1
891 1.1.4.2 jdolecek SHD,= t1,arg0,24,t1
892 1.1.4.2 jdolecek $3:
893 1.1.4.2 jdolecek ADDB,TR t1,ret1,$4
894 1.1.4.2 jdolecek EXTRU arg0,31,24,arg0
895 1.1.4.2 jdolecek
896 1.1.4.2 jdolecek bv 0(r31)
897 1.1.4.2 jdolecek SUB 0,ret1,ret1
898 1.1.4.2 jdolecek
899 1.1.4.2 jdolecek $4:
900 1.1.4.2 jdolecek ADDB,TR t1,arg0,$3
901 1.1.4.2 jdolecek EXTRU,= arg0,7,8,t1
902 1.1.4.2 jdolecek
903 1.1.4.2 jdolecek $$divU_7:
904 1.1.4.2 jdolecek .EXPORT $$divU_7,MILLICODE
905 1.1.4.2 jdolecek ADDI 1,arg0,arg0
906 1.1.4.2 jdolecek ADDC 0,0,ret1
907 1.1.4.2 jdolecek SHD ret1,arg0,29,t1
908 1.1.4.2 jdolecek SH3ADD arg0,arg0,arg0
909 1.1.4.2 jdolecek B $pos7
910 1.1.4.2 jdolecek ADDC t1,ret1,ret1
911 1.1.4.2 jdolecek
912 1.1.4.2 jdolecek $$divI_9:
913 1.1.4.2 jdolecek .EXPORT $$divI_9,MILLICODE
914 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg9
915 1.1.4.2 jdolecek ADDI 1,arg0,arg0
916 1.1.4.2 jdolecek SHD 0,arg0,29,t1
917 1.1.4.2 jdolecek SHD arg0,0,29,t2
918 1.1.4.2 jdolecek SUB t2,arg0,arg0
919 1.1.4.2 jdolecek B $pos7
920 1.1.4.2 jdolecek SUBB t1,0,ret1
921 1.1.4.2 jdolecek
922 1.1.4.2 jdolecek $neg9:
923 1.1.4.2 jdolecek SUBI 1,arg0,arg0
924 1.1.4.2 jdolecek SHD 0,arg0,29,t1
925 1.1.4.2 jdolecek SHD arg0,0,29,t2
926 1.1.4.2 jdolecek SUB t2,arg0,arg0
927 1.1.4.2 jdolecek B $neg7_shift
928 1.1.4.2 jdolecek SUBB t1,0,ret1
929 1.1.4.2 jdolecek
930 1.1.4.2 jdolecek $$divU_9:
931 1.1.4.2 jdolecek .EXPORT $$divU_9,MILLICODE
932 1.1.4.2 jdolecek ADDI 1,arg0,arg0
933 1.1.4.2 jdolecek ADDC 0,0,ret1
934 1.1.4.2 jdolecek SHD ret1,arg0,29,t1
935 1.1.4.2 jdolecek SHD arg0,0,29,t2
936 1.1.4.2 jdolecek SUB t2,arg0,arg0
937 1.1.4.2 jdolecek B $pos7
938 1.1.4.2 jdolecek SUBB t1,ret1,ret1
939 1.1.4.2 jdolecek
940 1.1.4.2 jdolecek $$divI_14:
941 1.1.4.2 jdolecek .EXPORT $$divI_14,MILLICODE
942 1.1.4.2 jdolecek COMB,<,N arg0,0,$neg14
943 1.1.4.2 jdolecek $$divU_14:
944 1.1.4.2 jdolecek .EXPORT $$divU_14,MILLICODE
945 1.1.4.2 jdolecek B $7
946 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
947 1.1.4.2 jdolecek
948 1.1.4.2 jdolecek $neg14:
949 1.1.4.2 jdolecek SUBI 2,arg0,arg0
950 1.1.4.2 jdolecek B $8
951 1.1.4.2 jdolecek EXTRU arg0,30,31,arg0
952 1.1.4.2 jdolecek
953 1.1.4.2 jdolecek .PROCEND
954 1.1.4.2 jdolecek .END
955 1.1.4.2 jdolecek
956 1.1.4.2 jdolecek rmndr: .EQU ret1 ; r29
957 1.1.4.2 jdolecek
958 1.1.4.2 jdolecek .export $$remU,millicode
959 1.1.4.2 jdolecek $$remU:
960 1.1.4.2 jdolecek .proc
961 1.1.4.2 jdolecek .callinfo NO_CALLS
962 1.1.4.2 jdolecek .entry
963 1.1.4.2 jdolecek
964 1.1.4.2 jdolecek comib,>=,n 0,arg1,special_case
965 1.1.4.2 jdolecek sub r0,arg1,rmndr ; clear carry, negate the divisor
966 1.1.4.2 jdolecek ds r0,rmndr,r0 ; set V-bit to 1
967 1.1.4.2 jdolecek add arg0,arg0,temp ; shift msb bit into carry
968 1.1.4.2 jdolecek ds r0,arg1,rmndr ; 1st divide step, if no carry
969 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
970 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 2nd divide step
971 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
972 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 3rd divide step
973 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
974 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 4th divide step
975 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
976 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 5th divide step
977 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
978 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 6th divide step
979 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
980 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 7th divide step
981 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
982 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 8th divide step
983 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
984 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 9th divide step
985 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
986 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 10th divide step
987 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
988 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 11th divide step
989 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
990 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 12th divide step
991 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
992 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 13th divide step
993 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
994 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 14th divide step
995 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
996 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 15th divide step
997 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
998 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 16th divide step
999 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1000 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 17th divide step
1001 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1002 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 18th divide step
1003 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1004 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 19th divide step
1005 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1006 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 20th divide step
1007 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1008 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 21st divide step
1009 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1010 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 22nd divide step
1011 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1012 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 23rd divide step
1013 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1014 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 24th divide step
1015 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1016 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 25th divide step
1017 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1018 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 26th divide step
1019 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1020 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 27th divide step
1021 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1022 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 28th divide step
1023 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1024 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 29th divide step
1025 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1026 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 30th divide step
1027 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1028 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 31st divide step
1029 1.1.4.2 jdolecek addc temp,temp,temp ; shift temp with/into carry
1030 1.1.4.2 jdolecek ds rmndr,arg1,rmndr ; 32nd divide step,
1031 1.1.4.2 jdolecek comiclr,<= 0,rmndr,r0
1032 1.1.4.2 jdolecek add rmndr,arg1,rmndr ; correction
1033 1.1.4.2 jdolecek ; .exit
1034 1.1.4.2 jdolecek bv,n 0(r31)
1035 1.1.4.2 jdolecek nop
1036 1.1.4.2 jdolecek ; Putting >= on the last DS and deleting COMICLR does not work!
1037 1.1.4.2 jdolecek ;_____________________________________________________________________________
1038 1.1.4.2 jdolecek special_case:
1039 1.1.4.2 jdolecek addit,= 0,arg1,r0 ; trap on div by zero
1040 1.1.4.2 jdolecek sub,>>= arg0,arg1,rmndr
1041 1.1.4.2 jdolecek copy arg0,rmndr
1042 1.1.4.2 jdolecek .exit
1043 1.1.4.2 jdolecek bv,n 0(r31)
1044 1.1.4.2 jdolecek nop
1045 1.1.4.2 jdolecek .procend
1046 1.1.4.2 jdolecek .end
1047 1.1.4.2 jdolecek
1048 1.1.4.2 jdolecek ; Use bv 0(r31) and bv,n 0(r31) instead.
1049 1.1.4.2 jdolecek ; #define return bv 0(%mrp)
1050 1.1.4.2 jdolecek ; #define return_n bv,n 0(%mrp)
1051 1.1.4.2 jdolecek
1052 1.1.4.2 jdolecek .align 16
1053 1.1.4.2 jdolecek $$mulI:
1054 1.1.4.2 jdolecek
1055 1.1.4.2 jdolecek .proc
1056 1.1.4.2 jdolecek .callinfo NO_CALLS
1057 1.1.4.2 jdolecek .export $$mulI, millicode
1058 1.1.4.2 jdolecek combt,<<= %r25,%r26,l4 ; swap args if unsigned %r25>%r26
1059 1.1.4.2 jdolecek copy 0,%r29 ; zero out the result
1060 1.1.4.2 jdolecek xor %r26,%r25,%r26 ; swap %r26 & %r25 using the
1061 1.1.4.2 jdolecek xor %r26,%r25,%r25 ; old xor trick
1062 1.1.4.2 jdolecek xor %r26,%r25,%r26
1063 1.1.4.2 jdolecek l4: combt,<= 0,%r26,l3 ; if %r26>=0 then proceed like unsigned
1064 1.1.4.2 jdolecek
1065 1.1.4.2 jdolecek zdep %r25,30,8,%r1 ; %r1 = (%r25&0xff)<<1 *********
1066 1.1.4.2 jdolecek sub,> 0,%r25,%r1 ; otherwise negate both and
1067 1.1.4.2 jdolecek combt,<=,n %r26,%r1,l2 ; swap back if |%r26|<|%r25|
1068 1.1.4.2 jdolecek sub 0,%r26,%r25
1069 1.1.4.2 jdolecek movb,tr,n %r1,%r26,l2 ; 10th inst.
1070 1.1.4.2 jdolecek
1071 1.1.4.2 jdolecek l0: add %r29,%r1,%r29 ; add in this partial product
1072 1.1.4.2 jdolecek
1073 1.1.4.2 jdolecek l1: zdep %r26,23,24,%r26 ; %r26 <<= 8 ******************
1074 1.1.4.2 jdolecek
1075 1.1.4.2 jdolecek l2: zdep %r25,30,8,%r1 ; %r1 = (%r25&0xff)<<1 *********
1076 1.1.4.2 jdolecek
1077 1.1.4.2 jdolecek l3: blr %r1,0 ; case on these 8 bits ******
1078 1.1.4.2 jdolecek
1079 1.1.4.2 jdolecek extru %r25,23,24,%r25 ; %r25 >>= 8 ******************
1080 1.1.4.2 jdolecek
1081 1.1.4.2 jdolecek ;16 insts before this.
1082 1.1.4.2 jdolecek ; %r26 <<= 8 **************************
1083 1.1.4.2 jdolecek x0: comb,<> %r25,0,l2 ! zdep %r26,23,24,%r26 ! bv,n 0(r31) ! nop
1084 1.1.4.2 jdolecek
1085 1.1.4.2 jdolecek x1: comb,<> %r25,0,l1 ! add %r29,%r26,%r29 ! bv,n 0(r31) ! nop
1086 1.1.4.2 jdolecek
1087 1.1.4.2 jdolecek x2: comb,<> %r25,0,l1 ! sh1add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
1088 1.1.4.2 jdolecek
1089 1.1.4.2 jdolecek x3: comb,<> %r25,0,l0 ! sh1add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
1090 1.1.4.2 jdolecek
1091 1.1.4.2 jdolecek x4: comb,<> %r25,0,l1 ! sh2add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
1092 1.1.4.2 jdolecek
1093 1.1.4.2 jdolecek x5: comb,<> %r25,0,l0 ! sh2add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
1094 1.1.4.2 jdolecek
1095 1.1.4.2 jdolecek x6: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
1096 1.1.4.2 jdolecek
1097 1.1.4.2 jdolecek x7: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r26,%r29,%r29 ! b,n ret_t0
1098 1.1.4.2 jdolecek
1099 1.1.4.2 jdolecek x8: comb,<> %r25,0,l1 ! sh3add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
1100 1.1.4.2 jdolecek
1101 1.1.4.2 jdolecek x9: comb,<> %r25,0,l0 ! sh3add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
1102 1.1.4.2 jdolecek
1103 1.1.4.2 jdolecek x10: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
1104 1.1.4.2 jdolecek
1105 1.1.4.2 jdolecek x11: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r29,%r29 ! b,n ret_t0
1106 1.1.4.2 jdolecek
1107 1.1.4.2 jdolecek x12: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
1108 1.1.4.2 jdolecek
1109 1.1.4.2 jdolecek x13: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r29,%r29 ! b,n ret_t0
1110 1.1.4.2 jdolecek
1111 1.1.4.2 jdolecek x14: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1112 1.1.4.2 jdolecek
1113 1.1.4.2 jdolecek x15: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh1add %r1,%r1,%r1 ! b,n ret_t0
1114 1.1.4.2 jdolecek
1115 1.1.4.2 jdolecek x16: zdep %r26,27,28,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
1116 1.1.4.2 jdolecek
1117 1.1.4.2 jdolecek x17: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r1,%r1 ! b,n ret_t0
1118 1.1.4.2 jdolecek
1119 1.1.4.2 jdolecek x18: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
1120 1.1.4.2 jdolecek
1121 1.1.4.2 jdolecek x19: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh1add %r1,%r26,%r1 ! b,n ret_t0
1122 1.1.4.2 jdolecek
1123 1.1.4.2 jdolecek x20: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
1124 1.1.4.2 jdolecek
1125 1.1.4.2 jdolecek x21: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
1126 1.1.4.2 jdolecek
1127 1.1.4.2 jdolecek x22: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1128 1.1.4.2 jdolecek
1129 1.1.4.2 jdolecek x23: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1130 1.1.4.2 jdolecek
1131 1.1.4.2 jdolecek x24: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
1132 1.1.4.2 jdolecek
1133 1.1.4.2 jdolecek x25: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r1,%r1 ! b,n ret_t0
1134 1.1.4.2 jdolecek
1135 1.1.4.2 jdolecek x26: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1136 1.1.4.2 jdolecek
1137 1.1.4.2 jdolecek x27: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r1,%r1 ! b,n ret_t0
1138 1.1.4.2 jdolecek
1139 1.1.4.2 jdolecek x28: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1140 1.1.4.2 jdolecek
1141 1.1.4.2 jdolecek x29: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1142 1.1.4.2 jdolecek
1143 1.1.4.2 jdolecek x30: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1144 1.1.4.2 jdolecek
1145 1.1.4.2 jdolecek x31: zdep %r26,26,27,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
1146 1.1.4.2 jdolecek
1147 1.1.4.2 jdolecek x32: zdep %r26,26,27,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
1148 1.1.4.2 jdolecek
1149 1.1.4.2 jdolecek x33: sh3add %r26,0,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
1150 1.1.4.2 jdolecek
1151 1.1.4.2 jdolecek x34: zdep %r26,27,28,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1152 1.1.4.2 jdolecek
1153 1.1.4.2 jdolecek x35: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r26,%r1,%r1
1154 1.1.4.2 jdolecek
1155 1.1.4.2 jdolecek x36: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
1156 1.1.4.2 jdolecek
1157 1.1.4.2 jdolecek x37: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
1158 1.1.4.2 jdolecek
1159 1.1.4.2 jdolecek x38: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1160 1.1.4.2 jdolecek
1161 1.1.4.2 jdolecek x39: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1162 1.1.4.2 jdolecek
1163 1.1.4.2 jdolecek x40: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
1164 1.1.4.2 jdolecek
1165 1.1.4.2 jdolecek x41: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r26,%r1 ! b,n ret_t0
1166 1.1.4.2 jdolecek
1167 1.1.4.2 jdolecek x42: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1168 1.1.4.2 jdolecek
1169 1.1.4.2 jdolecek x43: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1170 1.1.4.2 jdolecek
1171 1.1.4.2 jdolecek x44: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1172 1.1.4.2 jdolecek
1173 1.1.4.2 jdolecek x45: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r1,%r1 ! b,n ret_t0
1174 1.1.4.2 jdolecek
1175 1.1.4.2 jdolecek x46: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! add %r1,%r26,%r1
1176 1.1.4.2 jdolecek
1177 1.1.4.2 jdolecek x47: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
1178 1.1.4.2 jdolecek
1179 1.1.4.2 jdolecek x48: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! zdep %r1,27,28,%r1 ! b,n ret_t0
1180 1.1.4.2 jdolecek
1181 1.1.4.2 jdolecek x49: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r26,%r1,%r1
1182 1.1.4.2 jdolecek
1183 1.1.4.2 jdolecek x50: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1184 1.1.4.2 jdolecek
1185 1.1.4.2 jdolecek x51: sh3add %r26,%r26,%r1 ! sh3add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1186 1.1.4.2 jdolecek
1187 1.1.4.2 jdolecek x52: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1188 1.1.4.2 jdolecek
1189 1.1.4.2 jdolecek x53: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1190 1.1.4.2 jdolecek
1191 1.1.4.2 jdolecek x54: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1192 1.1.4.2 jdolecek
1193 1.1.4.2 jdolecek x55: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1194 1.1.4.2 jdolecek
1195 1.1.4.2 jdolecek x56: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1196 1.1.4.2 jdolecek
1197 1.1.4.2 jdolecek x57: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1198 1.1.4.2 jdolecek
1199 1.1.4.2 jdolecek x58: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1200 1.1.4.2 jdolecek
1201 1.1.4.2 jdolecek x59: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
1202 1.1.4.2 jdolecek
1203 1.1.4.2 jdolecek x60: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1204 1.1.4.2 jdolecek
1205 1.1.4.2 jdolecek x61: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1206 1.1.4.2 jdolecek
1207 1.1.4.2 jdolecek x62: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1208 1.1.4.2 jdolecek
1209 1.1.4.2 jdolecek x63: zdep %r26,25,26,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
1210 1.1.4.2 jdolecek
1211 1.1.4.2 jdolecek x64: zdep %r26,25,26,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
1212 1.1.4.2 jdolecek
1213 1.1.4.2 jdolecek x65: sh3add %r26,0,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r26,%r1 ! b,n ret_t0
1214 1.1.4.2 jdolecek
1215 1.1.4.2 jdolecek x66: zdep %r26,26,27,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1216 1.1.4.2 jdolecek
1217 1.1.4.2 jdolecek x67: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1218 1.1.4.2 jdolecek
1219 1.1.4.2 jdolecek x68: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1220 1.1.4.2 jdolecek
1221 1.1.4.2 jdolecek x69: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1222 1.1.4.2 jdolecek
1223 1.1.4.2 jdolecek x70: zdep %r26,25,26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
1224 1.1.4.2 jdolecek
1225 1.1.4.2 jdolecek x71: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_t0 ! sub %r1,%r26,%r1
1226 1.1.4.2 jdolecek
1227 1.1.4.2 jdolecek x72: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
1228 1.1.4.2 jdolecek
1229 1.1.4.2 jdolecek x73: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! add %r29,%r1,%r29
1230 1.1.4.2 jdolecek
1231 1.1.4.2 jdolecek x74: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1232 1.1.4.2 jdolecek
1233 1.1.4.2 jdolecek x75: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1234 1.1.4.2 jdolecek
1235 1.1.4.2 jdolecek x76: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1236 1.1.4.2 jdolecek
1237 1.1.4.2 jdolecek x77: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1238 1.1.4.2 jdolecek
1239 1.1.4.2 jdolecek x78: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1240 1.1.4.2 jdolecek
1241 1.1.4.2 jdolecek x79: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
1242 1.1.4.2 jdolecek
1243 1.1.4.2 jdolecek x80: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! add %r29,%r1,%r29
1244 1.1.4.2 jdolecek
1245 1.1.4.2 jdolecek x81: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_shift ! add %r29,%r1,%r29
1246 1.1.4.2 jdolecek
1247 1.1.4.2 jdolecek x82: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1248 1.1.4.2 jdolecek
1249 1.1.4.2 jdolecek x83: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1250 1.1.4.2 jdolecek
1251 1.1.4.2 jdolecek x84: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1252 1.1.4.2 jdolecek
1253 1.1.4.2 jdolecek x85: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1254 1.1.4.2 jdolecek
1255 1.1.4.2 jdolecek x86: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1256 1.1.4.2 jdolecek
1257 1.1.4.2 jdolecek x87: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r26,%r1,%r1
1258 1.1.4.2 jdolecek
1259 1.1.4.2 jdolecek x88: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1260 1.1.4.2 jdolecek
1261 1.1.4.2 jdolecek x89: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1262 1.1.4.2 jdolecek
1263 1.1.4.2 jdolecek x90: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1264 1.1.4.2 jdolecek
1265 1.1.4.2 jdolecek x91: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1266 1.1.4.2 jdolecek
1267 1.1.4.2 jdolecek x92: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
1268 1.1.4.2 jdolecek
1269 1.1.4.2 jdolecek x93: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1270 1.1.4.2 jdolecek
1271 1.1.4.2 jdolecek x94: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r26,%r1,%r1
1272 1.1.4.2 jdolecek
1273 1.1.4.2 jdolecek x95: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1274 1.1.4.2 jdolecek
1275 1.1.4.2 jdolecek x96: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1276 1.1.4.2 jdolecek
1277 1.1.4.2 jdolecek x97: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1278 1.1.4.2 jdolecek
1279 1.1.4.2 jdolecek x98: zdep %r26,26,27,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
1280 1.1.4.2 jdolecek
1281 1.1.4.2 jdolecek x99: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1282 1.1.4.2 jdolecek
1283 1.1.4.2 jdolecek x100: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1284 1.1.4.2 jdolecek
1285 1.1.4.2 jdolecek x101: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1286 1.1.4.2 jdolecek
1287 1.1.4.2 jdolecek x102: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1288 1.1.4.2 jdolecek
1289 1.1.4.2 jdolecek x103: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r1,%r26,%r1
1290 1.1.4.2 jdolecek
1291 1.1.4.2 jdolecek x104: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1292 1.1.4.2 jdolecek
1293 1.1.4.2 jdolecek x105: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1294 1.1.4.2 jdolecek
1295 1.1.4.2 jdolecek x106: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1296 1.1.4.2 jdolecek
1297 1.1.4.2 jdolecek x107: sh3add %r26,%r26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t02a0 ! sh3add %r1,%r26,%r1
1298 1.1.4.2 jdolecek
1299 1.1.4.2 jdolecek x108: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1300 1.1.4.2 jdolecek
1301 1.1.4.2 jdolecek x109: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1302 1.1.4.2 jdolecek
1303 1.1.4.2 jdolecek x110: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1304 1.1.4.2 jdolecek
1305 1.1.4.2 jdolecek x111: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1306 1.1.4.2 jdolecek
1307 1.1.4.2 jdolecek x112: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! zdep %r1,27,28,%r1
1308 1.1.4.2 jdolecek
1309 1.1.4.2 jdolecek x113: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
1310 1.1.4.2 jdolecek
1311 1.1.4.2 jdolecek x114: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
1312 1.1.4.2 jdolecek
1313 1.1.4.2 jdolecek x115: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
1314 1.1.4.2 jdolecek
1315 1.1.4.2 jdolecek x116: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
1316 1.1.4.2 jdolecek
1317 1.1.4.2 jdolecek x117: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
1318 1.1.4.2 jdolecek
1319 1.1.4.2 jdolecek x118: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0a0 ! sh3add %r1,%r1,%r1
1320 1.1.4.2 jdolecek
1321 1.1.4.2 jdolecek x119: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh3add %r1,%r1,%r1
1322 1.1.4.2 jdolecek
1323 1.1.4.2 jdolecek x120: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1324 1.1.4.2 jdolecek
1325 1.1.4.2 jdolecek x121: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1326 1.1.4.2 jdolecek
1327 1.1.4.2 jdolecek x122: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1328 1.1.4.2 jdolecek
1329 1.1.4.2 jdolecek x123: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1330 1.1.4.2 jdolecek
1331 1.1.4.2 jdolecek x124: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1332 1.1.4.2 jdolecek
1333 1.1.4.2 jdolecek x125: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1334 1.1.4.2 jdolecek
1335 1.1.4.2 jdolecek x126: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1336 1.1.4.2 jdolecek
1337 1.1.4.2 jdolecek x127: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
1338 1.1.4.2 jdolecek
1339 1.1.4.2 jdolecek x128: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
1340 1.1.4.2 jdolecek
1341 1.1.4.2 jdolecek x129: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l0 ! add %r1,%r26,%r1 ! b,n ret_t0
1342 1.1.4.2 jdolecek
1343 1.1.4.2 jdolecek x130: zdep %r26,25,26,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1344 1.1.4.2 jdolecek
1345 1.1.4.2 jdolecek x131: sh3add %r26,0,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1346 1.1.4.2 jdolecek
1347 1.1.4.2 jdolecek x132: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1348 1.1.4.2 jdolecek
1349 1.1.4.2 jdolecek x133: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1350 1.1.4.2 jdolecek
1351 1.1.4.2 jdolecek x134: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1352 1.1.4.2 jdolecek
1353 1.1.4.2 jdolecek x135: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1354 1.1.4.2 jdolecek
1355 1.1.4.2 jdolecek x136: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1356 1.1.4.2 jdolecek
1357 1.1.4.2 jdolecek x137: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1358 1.1.4.2 jdolecek
1359 1.1.4.2 jdolecek x138: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1360 1.1.4.2 jdolecek
1361 1.1.4.2 jdolecek x139: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh2add %r1,%r26,%r1
1362 1.1.4.2 jdolecek
1363 1.1.4.2 jdolecek x140: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r1,%r1
1364 1.1.4.2 jdolecek
1365 1.1.4.2 jdolecek x141: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
1366 1.1.4.2 jdolecek
1367 1.1.4.2 jdolecek x142: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_2t0 ! sub %r1,%r26,%r1
1368 1.1.4.2 jdolecek
1369 1.1.4.2 jdolecek x143: zdep %r26,27,28,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
1370 1.1.4.2 jdolecek
1371 1.1.4.2 jdolecek x144: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1372 1.1.4.2 jdolecek
1373 1.1.4.2 jdolecek x145: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1374 1.1.4.2 jdolecek
1375 1.1.4.2 jdolecek x146: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1376 1.1.4.2 jdolecek
1377 1.1.4.2 jdolecek x147: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1378 1.1.4.2 jdolecek
1379 1.1.4.2 jdolecek x148: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1380 1.1.4.2 jdolecek
1381 1.1.4.2 jdolecek x149: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1382 1.1.4.2 jdolecek
1383 1.1.4.2 jdolecek x150: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1384 1.1.4.2 jdolecek
1385 1.1.4.2 jdolecek x151: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
1386 1.1.4.2 jdolecek
1387 1.1.4.2 jdolecek x152: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1388 1.1.4.2 jdolecek
1389 1.1.4.2 jdolecek x153: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1390 1.1.4.2 jdolecek
1391 1.1.4.2 jdolecek x154: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1392 1.1.4.2 jdolecek
1393 1.1.4.2 jdolecek x155: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1394 1.1.4.2 jdolecek
1395 1.1.4.2 jdolecek x156: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
1396 1.1.4.2 jdolecek
1397 1.1.4.2 jdolecek x157: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
1398 1.1.4.2 jdolecek
1399 1.1.4.2 jdolecek x158: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sub %r1,%r26,%r1
1400 1.1.4.2 jdolecek
1401 1.1.4.2 jdolecek x159: zdep %r26,26,27,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
1402 1.1.4.2 jdolecek
1403 1.1.4.2 jdolecek x160: sh2add %r26,%r26,%r1 ! sh2add %r1,0,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1404 1.1.4.2 jdolecek
1405 1.1.4.2 jdolecek x161: sh3add %r26,0,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1406 1.1.4.2 jdolecek
1407 1.1.4.2 jdolecek x162: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1408 1.1.4.2 jdolecek
1409 1.1.4.2 jdolecek x163: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
1410 1.1.4.2 jdolecek
1411 1.1.4.2 jdolecek x164: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1412 1.1.4.2 jdolecek
1413 1.1.4.2 jdolecek x165: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1414 1.1.4.2 jdolecek
1415 1.1.4.2 jdolecek x166: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1416 1.1.4.2 jdolecek
1417 1.1.4.2 jdolecek x167: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
1418 1.1.4.2 jdolecek
1419 1.1.4.2 jdolecek x168: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1420 1.1.4.2 jdolecek
1421 1.1.4.2 jdolecek x169: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1422 1.1.4.2 jdolecek
1423 1.1.4.2 jdolecek x170: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1424 1.1.4.2 jdolecek
1425 1.1.4.2 jdolecek x171: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
1426 1.1.4.2 jdolecek
1427 1.1.4.2 jdolecek x172: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
1428 1.1.4.2 jdolecek
1429 1.1.4.2 jdolecek x173: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! sh3add %r1,%r1,%r1
1430 1.1.4.2 jdolecek
1431 1.1.4.2 jdolecek x174: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t04a0 ! sh2add %r1,%r1,%r1
1432 1.1.4.2 jdolecek
1433 1.1.4.2 jdolecek x175: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
1434 1.1.4.2 jdolecek
1435 1.1.4.2 jdolecek x176: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_8t0 ! add %r1,%r26,%r1
1436 1.1.4.2 jdolecek
1437 1.1.4.2 jdolecek x177: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_8t0a0 ! add %r1,%r26,%r1
1438 1.1.4.2 jdolecek
1439 1.1.4.2 jdolecek x178: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh3add %r1,%r26,%r1
1440 1.1.4.2 jdolecek
1441 1.1.4.2 jdolecek x179: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh3add %r1,%r26,%r1
1442 1.1.4.2 jdolecek
1443 1.1.4.2 jdolecek x180: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1444 1.1.4.2 jdolecek
1445 1.1.4.2 jdolecek x181: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1446 1.1.4.2 jdolecek
1447 1.1.4.2 jdolecek x182: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
1448 1.1.4.2 jdolecek
1449 1.1.4.2 jdolecek x183: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
1450 1.1.4.2 jdolecek
1451 1.1.4.2 jdolecek x184: sh2add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0 ! add %r1,%r26,%r1
1452 1.1.4.2 jdolecek
1453 1.1.4.2 jdolecek x185: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1454 1.1.4.2 jdolecek
1455 1.1.4.2 jdolecek x186: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
1456 1.1.4.2 jdolecek
1457 1.1.4.2 jdolecek x187: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
1458 1.1.4.2 jdolecek
1459 1.1.4.2 jdolecek x188: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r26,%r1,%r1
1460 1.1.4.2 jdolecek
1461 1.1.4.2 jdolecek x189: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
1462 1.1.4.2 jdolecek
1463 1.1.4.2 jdolecek x190: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
1464 1.1.4.2 jdolecek
1465 1.1.4.2 jdolecek x191: zdep %r26,25,26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
1466 1.1.4.2 jdolecek
1467 1.1.4.2 jdolecek x192: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1468 1.1.4.2 jdolecek
1469 1.1.4.2 jdolecek x193: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1470 1.1.4.2 jdolecek
1471 1.1.4.2 jdolecek x194: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1472 1.1.4.2 jdolecek
1473 1.1.4.2 jdolecek x195: sh3add %r26,0,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1474 1.1.4.2 jdolecek
1475 1.1.4.2 jdolecek x196: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
1476 1.1.4.2 jdolecek
1477 1.1.4.2 jdolecek x197: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
1478 1.1.4.2 jdolecek
1479 1.1.4.2 jdolecek x198: zdep %r26,25,26,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1480 1.1.4.2 jdolecek
1481 1.1.4.2 jdolecek x199: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
1482 1.1.4.2 jdolecek
1483 1.1.4.2 jdolecek x200: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1484 1.1.4.2 jdolecek
1485 1.1.4.2 jdolecek x201: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1486 1.1.4.2 jdolecek
1487 1.1.4.2 jdolecek x202: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1488 1.1.4.2 jdolecek
1489 1.1.4.2 jdolecek x203: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh2add %r1,%r26,%r1
1490 1.1.4.2 jdolecek
1491 1.1.4.2 jdolecek x204: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r1,%r1
1492 1.1.4.2 jdolecek
1493 1.1.4.2 jdolecek x205: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1494 1.1.4.2 jdolecek
1495 1.1.4.2 jdolecek x206: zdep %r26,25,26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
1496 1.1.4.2 jdolecek
1497 1.1.4.2 jdolecek x207: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_3t0 ! sh2add %r1,%r26,%r1
1498 1.1.4.2 jdolecek
1499 1.1.4.2 jdolecek x208: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_8t0 ! add %r1,%r26,%r1
1500 1.1.4.2 jdolecek
1501 1.1.4.2 jdolecek x209: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_8t0a0 ! add %r1,%r26,%r1
1502 1.1.4.2 jdolecek
1503 1.1.4.2 jdolecek x210: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
1504 1.1.4.2 jdolecek
1505 1.1.4.2 jdolecek x211: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh2add %r1,%r1,%r1
1506 1.1.4.2 jdolecek
1507 1.1.4.2 jdolecek x212: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
1508 1.1.4.2 jdolecek
1509 1.1.4.2 jdolecek x213: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0a0 ! sh2add %r1,%r26,%r1
1510 1.1.4.2 jdolecek
1511 1.1.4.2 jdolecek x214: sh3add %r26,%r26,%r1 ! sh2add %r26,%r1,%r1 ! b e2t04a0 ! sh3add %r1,%r26,%r1
1512 1.1.4.2 jdolecek
1513 1.1.4.2 jdolecek x215: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
1514 1.1.4.2 jdolecek
1515 1.1.4.2 jdolecek x216: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1516 1.1.4.2 jdolecek
1517 1.1.4.2 jdolecek x217: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1518 1.1.4.2 jdolecek
1519 1.1.4.2 jdolecek x218: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
1520 1.1.4.2 jdolecek
1521 1.1.4.2 jdolecek x219: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1522 1.1.4.2 jdolecek
1523 1.1.4.2 jdolecek x220: sh1add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
1524 1.1.4.2 jdolecek
1525 1.1.4.2 jdolecek x221: sh1add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
1526 1.1.4.2 jdolecek
1527 1.1.4.2 jdolecek x222: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
1528 1.1.4.2 jdolecek
1529 1.1.4.2 jdolecek x223: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
1530 1.1.4.2 jdolecek
1531 1.1.4.2 jdolecek x224: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_8t0 ! add %r1,%r26,%r1
1532 1.1.4.2 jdolecek
1533 1.1.4.2 jdolecek x225: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
1534 1.1.4.2 jdolecek
1535 1.1.4.2 jdolecek x226: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! zdep %r1,26,27,%r1
1536 1.1.4.2 jdolecek
1537 1.1.4.2 jdolecek x227: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
1538 1.1.4.2 jdolecek
1539 1.1.4.2 jdolecek x228: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r1,%r1
1540 1.1.4.2 jdolecek
1541 1.1.4.2 jdolecek x229: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0a0 ! sh1add %r1,%r1,%r1
1542 1.1.4.2 jdolecek
1543 1.1.4.2 jdolecek x230: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_5t0 ! add %r1,%r26,%r1
1544 1.1.4.2 jdolecek
1545 1.1.4.2 jdolecek x231: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_3t0 ! sh2add %r1,%r26,%r1
1546 1.1.4.2 jdolecek
1547 1.1.4.2 jdolecek x232: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_8t0 ! sh2add %r1,%r26,%r1
1548 1.1.4.2 jdolecek
1549 1.1.4.2 jdolecek x233: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_8t0a0 ! sh2add %r1,%r26,%r1
1550 1.1.4.2 jdolecek
1551 1.1.4.2 jdolecek x234: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh3add %r1,%r1,%r1
1552 1.1.4.2 jdolecek
1553 1.1.4.2 jdolecek x235: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh3add %r1,%r1,%r1
1554 1.1.4.2 jdolecek
1555 1.1.4.2 jdolecek x236: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e4t08a0 ! sh1add %r1,%r1,%r1
1556 1.1.4.2 jdolecek
1557 1.1.4.2 jdolecek x237: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_3t0 ! sub %r1,%r26,%r1
1558 1.1.4.2 jdolecek
1559 1.1.4.2 jdolecek x238: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e2t04a0 ! sh3add %r1,%r1,%r1
1560 1.1.4.2 jdolecek
1561 1.1.4.2 jdolecek x239: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0ma0 ! sh1add %r1,%r1,%r1
1562 1.1.4.2 jdolecek
1563 1.1.4.2 jdolecek x240: sh3add %r26,%r26,%r1 ! add %r1,%r26,%r1 ! b e_8t0 ! sh1add %r1,%r1,%r1
1564 1.1.4.2 jdolecek
1565 1.1.4.2 jdolecek x241: sh3add %r26,%r26,%r1 ! add %r1,%r26,%r1 ! b e_8t0a0 ! sh1add %r1,%r1,%r1
1566 1.1.4.2 jdolecek
1567 1.1.4.2 jdolecek x242: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh3add %r1,%r26,%r1
1568 1.1.4.2 jdolecek
1569 1.1.4.2 jdolecek x243: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
1570 1.1.4.2 jdolecek
1571 1.1.4.2 jdolecek x244: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
1572 1.1.4.2 jdolecek
1573 1.1.4.2 jdolecek x245: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
1574 1.1.4.2 jdolecek
1575 1.1.4.2 jdolecek x246: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
1576 1.1.4.2 jdolecek
1577 1.1.4.2 jdolecek x247: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
1578 1.1.4.2 jdolecek
1579 1.1.4.2 jdolecek x248: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
1580 1.1.4.2 jdolecek
1581 1.1.4.2 jdolecek x249: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
1582 1.1.4.2 jdolecek
1583 1.1.4.2 jdolecek x250: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
1584 1.1.4.2 jdolecek
1585 1.1.4.2 jdolecek x251: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh2add %r1,%r1,%r1
1586 1.1.4.2 jdolecek
1587 1.1.4.2 jdolecek x252: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
1588 1.1.4.2 jdolecek
1589 1.1.4.2 jdolecek x253: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
1590 1.1.4.2 jdolecek
1591 1.1.4.2 jdolecek x254: zdep %r26,24,25,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
1592 1.1.4.2 jdolecek
1593 1.1.4.2 jdolecek x255: zdep %r26,23,24,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
1594 1.1.4.2 jdolecek
1595 1.1.4.2 jdolecek ;1040 insts before this.
1596 1.1.4.2 jdolecek ret_t0: bv 0(r31)
1597 1.1.4.2 jdolecek
1598 1.1.4.2 jdolecek e_t0: add %r29,%r1,%r29
1599 1.1.4.2 jdolecek
1600 1.1.4.2 jdolecek e_shift: comb,<> %r25,0,l2
1601 1.1.4.2 jdolecek
1602 1.1.4.2 jdolecek zdep %r26,23,24,%r26 ; %r26 <<= 8 ***********
1603 1.1.4.2 jdolecek bv,n 0(r31)
1604 1.1.4.2 jdolecek e_t0ma0: comb,<> %r25,0,l0
1605 1.1.4.2 jdolecek
1606 1.1.4.2 jdolecek sub %r1,%r26,%r1
1607 1.1.4.2 jdolecek bv 0(r31)
1608 1.1.4.2 jdolecek add %r29,%r1,%r29
1609 1.1.4.2 jdolecek e_t0a0: comb,<> %r25,0,l0
1610 1.1.4.2 jdolecek
1611 1.1.4.2 jdolecek add %r1,%r26,%r1
1612 1.1.4.2 jdolecek bv 0(r31)
1613 1.1.4.2 jdolecek add %r29,%r1,%r29
1614 1.1.4.2 jdolecek e_t02a0: comb,<> %r25,0,l0
1615 1.1.4.2 jdolecek
1616 1.1.4.2 jdolecek sh1add %r26,%r1,%r1
1617 1.1.4.2 jdolecek bv 0(r31)
1618 1.1.4.2 jdolecek add %r29,%r1,%r29
1619 1.1.4.2 jdolecek e_t04a0: comb,<> %r25,0,l0
1620 1.1.4.2 jdolecek
1621 1.1.4.2 jdolecek sh2add %r26,%r1,%r1
1622 1.1.4.2 jdolecek bv 0(r31)
1623 1.1.4.2 jdolecek add %r29,%r1,%r29
1624 1.1.4.2 jdolecek e_2t0: comb,<> %r25,0,l1
1625 1.1.4.2 jdolecek
1626 1.1.4.2 jdolecek sh1add %r1,%r29,%r29
1627 1.1.4.2 jdolecek bv,n 0(r31)
1628 1.1.4.2 jdolecek e_2t0a0: comb,<> %r25,0,l0
1629 1.1.4.2 jdolecek
1630 1.1.4.2 jdolecek sh1add %r1,%r26,%r1
1631 1.1.4.2 jdolecek bv 0(r31)
1632 1.1.4.2 jdolecek add %r29,%r1,%r29
1633 1.1.4.2 jdolecek e2t04a0: sh1add %r26,%r1,%r1
1634 1.1.4.2 jdolecek
1635 1.1.4.2 jdolecek comb,<> %r25,0,l1
1636 1.1.4.2 jdolecek sh1add %r1,%r29,%r29
1637 1.1.4.2 jdolecek bv,n 0(r31)
1638 1.1.4.2 jdolecek e_3t0: comb,<> %r25,0,l0
1639 1.1.4.2 jdolecek
1640 1.1.4.2 jdolecek sh1add %r1,%r1,%r1
1641 1.1.4.2 jdolecek bv 0(r31)
1642 1.1.4.2 jdolecek add %r29,%r1,%r29
1643 1.1.4.2 jdolecek e_4t0: comb,<> %r25,0,l1
1644 1.1.4.2 jdolecek
1645 1.1.4.2 jdolecek sh2add %r1,%r29,%r29
1646 1.1.4.2 jdolecek bv,n 0(r31)
1647 1.1.4.2 jdolecek e_4t0a0: comb,<> %r25,0,l0
1648 1.1.4.2 jdolecek
1649 1.1.4.2 jdolecek sh2add %r1,%r26,%r1
1650 1.1.4.2 jdolecek bv 0(r31)
1651 1.1.4.2 jdolecek add %r29,%r1,%r29
1652 1.1.4.2 jdolecek e4t08a0: sh1add %r26,%r1,%r1
1653 1.1.4.2 jdolecek
1654 1.1.4.2 jdolecek comb,<> %r25,0,l1
1655 1.1.4.2 jdolecek sh2add %r1,%r29,%r29
1656 1.1.4.2 jdolecek bv,n 0(r31)
1657 1.1.4.2 jdolecek e_5t0: comb,<> %r25,0,l0
1658 1.1.4.2 jdolecek
1659 1.1.4.2 jdolecek sh2add %r1,%r1,%r1
1660 1.1.4.2 jdolecek bv 0(r31)
1661 1.1.4.2 jdolecek add %r29,%r1,%r29
1662 1.1.4.2 jdolecek e_8t0: comb,<> %r25,0,l1
1663 1.1.4.2 jdolecek
1664 1.1.4.2 jdolecek sh3add %r1,%r29,%r29
1665 1.1.4.2 jdolecek bv,n 0(r31)
1666 1.1.4.2 jdolecek e_8t0a0: comb,<> %r25,0,l0
1667 1.1.4.2 jdolecek
1668 1.1.4.2 jdolecek sh3add %r1,%r26,%r1
1669 1.1.4.2 jdolecek bv 0(r31)
1670 1.1.4.2 jdolecek add %r29,%r1,%r29
1671 1.1.4.2 jdolecek
1672 1.1.4.2 jdolecek .procend
1673 1.1.4.2 jdolecek .end
1674 1.1.4.2 jdolecek
1675 1.1.4.2 jdolecek .import $$divI_2,millicode
1676 1.1.4.2 jdolecek .import $$divI_3,millicode
1677 1.1.4.2 jdolecek .import $$divI_4,millicode
1678 1.1.4.2 jdolecek .import $$divI_5,millicode
1679 1.1.4.2 jdolecek .import $$divI_6,millicode
1680 1.1.4.2 jdolecek .import $$divI_7,millicode
1681 1.1.4.2 jdolecek .import $$divI_8,millicode
1682 1.1.4.2 jdolecek .import $$divI_9,millicode
1683 1.1.4.2 jdolecek .import $$divI_10,millicode
1684 1.1.4.2 jdolecek .import $$divI_12,millicode
1685 1.1.4.2 jdolecek .import $$divI_14,millicode
1686 1.1.4.2 jdolecek .import $$divI_15,millicode
1687 1.1.4.2 jdolecek .export $$divI,millicode
1688 1.1.4.2 jdolecek .export $$divoI,millicode
1689 1.1.4.2 jdolecek $$divoI:
1690 1.1.4.2 jdolecek .proc
1691 1.1.4.2 jdolecek .callinfo NO_CALLS
1692 1.1.4.2 jdolecek comib,=,n -1,arg1,negative1 ; when divisor == -1
1693 1.1.4.2 jdolecek $$divI:
1694 1.1.4.2 jdolecek comib,>>=,n 15,arg1,small_divisor
1695 1.1.4.2 jdolecek add,>= 0,arg0,retreg ; move dividend, if retreg < 0,
1696 1.1.4.2 jdolecek normal1:
1697 1.1.4.2 jdolecek sub 0,retreg,retreg ; make it positive
1698 1.1.4.2 jdolecek sub 0,arg1,temp ; clear carry,
1699 1.1.4.2 jdolecek ; negate the divisor
1700 1.1.4.2 jdolecek ds 0,temp,0 ; set V-bit to the comple-
1701 1.1.4.2 jdolecek ; ment of the divisor sign
1702 1.1.4.2 jdolecek add retreg,retreg,retreg ; shift msb bit into carry
1703 1.1.4.2 jdolecek ds r0,arg1,temp ; 1st divide step, if no carry
1704 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1705 1.1.4.2 jdolecek ds temp,arg1,temp ; 2nd divide step
1706 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1707 1.1.4.2 jdolecek ds temp,arg1,temp ; 3rd divide step
1708 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1709 1.1.4.2 jdolecek ds temp,arg1,temp ; 4th divide step
1710 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1711 1.1.4.2 jdolecek ds temp,arg1,temp ; 5th divide step
1712 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1713 1.1.4.2 jdolecek ds temp,arg1,temp ; 6th divide step
1714 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1715 1.1.4.2 jdolecek ds temp,arg1,temp ; 7th divide step
1716 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1717 1.1.4.2 jdolecek ds temp,arg1,temp ; 8th divide step
1718 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1719 1.1.4.2 jdolecek ds temp,arg1,temp ; 9th divide step
1720 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1721 1.1.4.2 jdolecek ds temp,arg1,temp ; 10th divide step
1722 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1723 1.1.4.2 jdolecek ds temp,arg1,temp ; 11th divide step
1724 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1725 1.1.4.2 jdolecek ds temp,arg1,temp ; 12th divide step
1726 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1727 1.1.4.2 jdolecek ds temp,arg1,temp ; 13th divide step
1728 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1729 1.1.4.2 jdolecek ds temp,arg1,temp ; 14th divide step
1730 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1731 1.1.4.2 jdolecek ds temp,arg1,temp ; 15th divide step
1732 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1733 1.1.4.2 jdolecek ds temp,arg1,temp ; 16th divide step
1734 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1735 1.1.4.2 jdolecek ds temp,arg1,temp ; 17th divide step
1736 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1737 1.1.4.2 jdolecek ds temp,arg1,temp ; 18th divide step
1738 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1739 1.1.4.2 jdolecek ds temp,arg1,temp ; 19th divide step
1740 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1741 1.1.4.2 jdolecek ds temp,arg1,temp ; 20th divide step
1742 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1743 1.1.4.2 jdolecek ds temp,arg1,temp ; 21st divide step
1744 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1745 1.1.4.2 jdolecek ds temp,arg1,temp ; 22nd divide step
1746 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1747 1.1.4.2 jdolecek ds temp,arg1,temp ; 23rd divide step
1748 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1749 1.1.4.2 jdolecek ds temp,arg1,temp ; 24th divide step
1750 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1751 1.1.4.2 jdolecek ds temp,arg1,temp ; 25th divide step
1752 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1753 1.1.4.2 jdolecek ds temp,arg1,temp ; 26th divide step
1754 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1755 1.1.4.2 jdolecek ds temp,arg1,temp ; 27th divide step
1756 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1757 1.1.4.2 jdolecek ds temp,arg1,temp ; 28th divide step
1758 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1759 1.1.4.2 jdolecek ds temp,arg1,temp ; 29th divide step
1760 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1761 1.1.4.2 jdolecek ds temp,arg1,temp ; 30th divide step
1762 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1763 1.1.4.2 jdolecek ds temp,arg1,temp ; 31st divide step
1764 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift retreg with/into carry
1765 1.1.4.2 jdolecek ds temp,arg1,temp ; 32nd divide step,
1766 1.1.4.2 jdolecek addc retreg,retreg,retreg ; shift last retreg bit into retreg
1767 1.1.4.2 jdolecek xor,>= arg0,arg1,0 ; get correct sign of quotient
1768 1.1.4.2 jdolecek sub 0,retreg,retreg ; based on operand signs
1769 1.1.4.2 jdolecek bv,n 0(r31)
1770 1.1.4.2 jdolecek nop
1771 1.1.4.2 jdolecek ;______________________________________________________________________
1772 1.1.4.2 jdolecek small_divisor:
1773 1.1.4.2 jdolecek blr,n arg1,r0
1774 1.1.4.2 jdolecek nop
1775 1.1.4.2 jdolecek ; table for divisor == 0,1, ... ,15
1776 1.1.4.2 jdolecek addit,= 0,arg1,r0 ; trap if divisor == 0
1777 1.1.4.2 jdolecek nop
1778 1.1.4.2 jdolecek bv 0(r31) ; divisor == 1
1779 1.1.4.2 jdolecek copy arg0,retreg
1780 1.1.4.2 jdolecek b,n $$divI_2 ; divisor == 2
1781 1.1.4.2 jdolecek nop
1782 1.1.4.2 jdolecek b,n $$divI_3 ; divisor == 3
1783 1.1.4.2 jdolecek nop
1784 1.1.4.2 jdolecek b,n $$divI_4 ; divisor == 4
1785 1.1.4.2 jdolecek nop
1786 1.1.4.2 jdolecek b,n $$divI_5 ; divisor == 5
1787 1.1.4.2 jdolecek nop
1788 1.1.4.2 jdolecek b,n $$divI_6 ; divisor == 6
1789 1.1.4.2 jdolecek nop
1790 1.1.4.2 jdolecek b,n $$divI_7 ; divisor == 7
1791 1.1.4.2 jdolecek nop
1792 1.1.4.2 jdolecek b,n $$divI_8 ; divisor == 8
1793 1.1.4.2 jdolecek nop
1794 1.1.4.2 jdolecek b,n $$divI_9 ; divisor == 9
1795 1.1.4.2 jdolecek nop
1796 1.1.4.2 jdolecek b,n $$divI_10 ; divisor == 10
1797 1.1.4.2 jdolecek nop
1798 1.1.4.2 jdolecek b normal1 ; divisor == 11
1799 1.1.4.2 jdolecek add,>= 0,arg0,retreg
1800 1.1.4.2 jdolecek b,n $$divI_12 ; divisor == 12
1801 1.1.4.2 jdolecek nop
1802 1.1.4.2 jdolecek b normal1 ; divisor == 13
1803 1.1.4.2 jdolecek add,>= 0,arg0,retreg
1804 1.1.4.2 jdolecek b,n $$divI_14 ; divisor == 14
1805 1.1.4.2 jdolecek nop
1806 1.1.4.2 jdolecek b,n $$divI_15 ; divisor == 15
1807 1.1.4.2 jdolecek nop
1808 1.1.4.2 jdolecek ;______________________________________________________________________
1809 1.1.4.2 jdolecek negative1:
1810 1.1.4.2 jdolecek sub 0,arg0,retreg ; result is negation of dividend
1811 1.1.4.2 jdolecek bv 0(r31)
1812 1.1.4.2 jdolecek addo arg0,arg1,r0 ; trap iff dividend==0x80000000 && divisor==-1
1813 1.1.4.2 jdolecek .procend
1814 1.1.4.2 jdolecek .end
1815