1	.SPACE $PRIVATE$
2	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
3	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
4	.SPACE $TEXT$
5	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
6	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
7	.IMPORT $global$,DATA
8	.IMPORT $$dyncall,MILLICODE
9; gcc_compiled.:
10	.SPACE $TEXT$
11	.SUBSPA $CODE$
12
13	.align 4
14	.EXPORT bn_mul_add_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
15bn_mul_add_words
16	.PROC
17	.CALLINFO FRAME=0,CALLS,SAVE_RP
18	.ENTRY
19	stw %r2,-20(0,%r30)
20	ldi 0,%r28
21	extru %r23,31,16,%r2
22	stw %r2,-16(0,%r30)
23	extru %r23,15,16,%r23
24	ldil L'65536,%r31
25	fldws -16(0,%r30),%fr11R
26	stw %r23,-16(0,%r30)
27	ldo 12(%r25),%r29
28	ldo 12(%r26),%r23
29	fldws -16(0,%r30),%fr11L
30L$0002
31	ldw 0(0,%r25),%r19
32	extru %r19,31,16,%r20
33	stw %r20,-16(0,%r30)
34	extru %r19,15,16,%r19
35	fldws -16(0,%r30),%fr22L
36	stw %r19,-16(0,%r30)
37	xmpyu %fr22L,%fr11R,%fr8
38	fldws -16(0,%r30),%fr22L
39	fstws %fr8R,-16(0,%r30)
40	xmpyu %fr11R,%fr22L,%fr10
41	ldw -16(0,%r30),%r2
42	stw %r20,-16(0,%r30)
43	xmpyu %fr22L,%fr11L,%fr9
44	fldws -16(0,%r30),%fr22L
45	fstws %fr10R,-16(0,%r30)
46	copy %r2,%r22
47	ldw -16(0,%r30),%r2
48	fstws %fr9R,-16(0,%r30)
49	xmpyu %fr11L,%fr22L,%fr8
50	copy %r2,%r19
51	ldw -16(0,%r30),%r2
52	fstws %fr8R,-16(0,%r30)
53	copy %r2,%r20
54	ldw -16(0,%r30),%r2
55	addl %r2,%r19,%r21
56	comclr,<<= %r19,%r21,0
57	addl %r20,%r31,%r20
58L$0005
59	extru %r21,15,16,%r19
60	addl %r20,%r19,%r20
61	zdep %r21,15,16,%r19
62	addl %r22,%r19,%r22
63	comclr,<<= %r19,%r22,0
64	addi,tr 1,%r20,%r19
65	copy %r20,%r19
66	addl %r22,%r28,%r20
67	comclr,<<= %r28,%r20,0
68	addi 1,%r19,%r19
69	ldw 0(0,%r26),%r28
70	addl %r20,%r28,%r20
71	comclr,<<= %r28,%r20,0
72	addi,tr 1,%r19,%r28
73	copy %r19,%r28
74	addib,= -1,%r24,L$0003
75	stw %r20,0(0,%r26)
76	ldw -8(0,%r29),%r19
77	extru %r19,31,16,%r20
78	stw %r20,-16(0,%r30)
79	extru %r19,15,16,%r19
80	fldws -16(0,%r30),%fr22L
81	stw %r19,-16(0,%r30)
82	xmpyu %fr22L,%fr11R,%fr8
83	fldws -16(0,%r30),%fr22L
84	fstws %fr8R,-16(0,%r30)
85	xmpyu %fr11R,%fr22L,%fr10
86	ldw -16(0,%r30),%r2
87	stw %r20,-16(0,%r30)
88	xmpyu %fr22L,%fr11L,%fr9
89	fldws -16(0,%r30),%fr22L
90	fstws %fr10R,-16(0,%r30)
91	copy %r2,%r22
92	ldw -16(0,%r30),%r2
93	fstws %fr9R,-16(0,%r30)
94	xmpyu %fr11L,%fr22L,%fr8
95	copy %r2,%r19
96	ldw -16(0,%r30),%r2
97	fstws %fr8R,-16(0,%r30)
98	copy %r2,%r20
99	ldw -16(0,%r30),%r2
100	addl %r2,%r19,%r21
101	comclr,<<= %r19,%r21,0
102	addl %r20,%r31,%r20
103L$0010
104	extru %r21,15,16,%r19
105	addl %r20,%r19,%r20
106	zdep %r21,15,16,%r19
107	addl %r22,%r19,%r22
108	comclr,<<= %r19,%r22,0
109	addi,tr 1,%r20,%r19
110	copy %r20,%r19
111	addl %r22,%r28,%r20
112	comclr,<<= %r28,%r20,0
113	addi 1,%r19,%r19
114	ldw -8(0,%r23),%r28
115	addl %r20,%r28,%r20
116	comclr,<<= %r28,%r20,0
117	addi,tr 1,%r19,%r28
118	copy %r19,%r28
119	addib,= -1,%r24,L$0003
120	stw %r20,-8(0,%r23)
121	ldw -4(0,%r29),%r19
122	extru %r19,31,16,%r20
123	stw %r20,-16(0,%r30)
124	extru %r19,15,16,%r19
125	fldws -16(0,%r30),%fr22L
126	stw %r19,-16(0,%r30)
127	xmpyu %fr22L,%fr11R,%fr8
128	fldws -16(0,%r30),%fr22L
129	fstws %fr8R,-16(0,%r30)
130	xmpyu %fr11R,%fr22L,%fr10
131	ldw -16(0,%r30),%r2
132	stw %r20,-16(0,%r30)
133	xmpyu %fr22L,%fr11L,%fr9
134	fldws -16(0,%r30),%fr22L
135	fstws %fr10R,-16(0,%r30)
136	copy %r2,%r22
137	ldw -16(0,%r30),%r2
138	fstws %fr9R,-16(0,%r30)
139	xmpyu %fr11L,%fr22L,%fr8
140	copy %r2,%r19
141	ldw -16(0,%r30),%r2
142	fstws %fr8R,-16(0,%r30)
143	copy %r2,%r20
144	ldw -16(0,%r30),%r2
145	addl %r2,%r19,%r21
146	comclr,<<= %r19,%r21,0
147	addl %r20,%r31,%r20
148L$0015
149	extru %r21,15,16,%r19
150	addl %r20,%r19,%r20
151	zdep %r21,15,16,%r19
152	addl %r22,%r19,%r22
153	comclr,<<= %r19,%r22,0
154	addi,tr 1,%r20,%r19
155	copy %r20,%r19
156	addl %r22,%r28,%r20
157	comclr,<<= %r28,%r20,0
158	addi 1,%r19,%r19
159	ldw -4(0,%r23),%r28
160	addl %r20,%r28,%r20
161	comclr,<<= %r28,%r20,0
162	addi,tr 1,%r19,%r28
163	copy %r19,%r28
164	addib,= -1,%r24,L$0003
165	stw %r20,-4(0,%r23)
166	ldw 0(0,%r29),%r19
167	extru %r19,31,16,%r20
168	stw %r20,-16(0,%r30)
169	extru %r19,15,16,%r19
170	fldws -16(0,%r30),%fr22L
171	stw %r19,-16(0,%r30)
172	xmpyu %fr22L,%fr11R,%fr8
173	fldws -16(0,%r30),%fr22L
174	fstws %fr8R,-16(0,%r30)
175	xmpyu %fr11R,%fr22L,%fr10
176	ldw -16(0,%r30),%r2
177	stw %r20,-16(0,%r30)
178	xmpyu %fr22L,%fr11L,%fr9
179	fldws -16(0,%r30),%fr22L
180	fstws %fr10R,-16(0,%r30)
181	copy %r2,%r22
182	ldw -16(0,%r30),%r2
183	fstws %fr9R,-16(0,%r30)
184	xmpyu %fr11L,%fr22L,%fr8
185	copy %r2,%r19
186	ldw -16(0,%r30),%r2
187	fstws %fr8R,-16(0,%r30)
188	copy %r2,%r20
189	ldw -16(0,%r30),%r2
190	addl %r2,%r19,%r21
191	comclr,<<= %r19,%r21,0
192	addl %r20,%r31,%r20
193L$0020
194	extru %r21,15,16,%r19
195	addl %r20,%r19,%r20
196	zdep %r21,15,16,%r19
197	addl %r22,%r19,%r22
198	comclr,<<= %r19,%r22,0
199	addi,tr 1,%r20,%r19
200	copy %r20,%r19
201	addl %r22,%r28,%r20
202	comclr,<<= %r28,%r20,0
203	addi 1,%r19,%r19
204	ldw 0(0,%r23),%r28
205	addl %r20,%r28,%r20
206	comclr,<<= %r28,%r20,0
207	addi,tr 1,%r19,%r28
208	copy %r19,%r28
209	addib,= -1,%r24,L$0003
210	stw %r20,0(0,%r23)
211	ldo 16(%r29),%r29
212	ldo 16(%r25),%r25
213	ldo 16(%r23),%r23
214	bl L$0002,0
215	ldo 16(%r26),%r26
216L$0003
217	ldw -20(0,%r30),%r2
218	bv,n 0(%r2)
219	.EXIT
220	.PROCEND
221	.align 4
222	.EXPORT bn_mul_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
223bn_mul_words
224	.PROC
225	.CALLINFO FRAME=0,CALLS,SAVE_RP
226	.ENTRY
227	stw %r2,-20(0,%r30)
228	ldi 0,%r28
229	extru %r23,31,16,%r2
230	stw %r2,-16(0,%r30)
231	extru %r23,15,16,%r23
232	ldil L'65536,%r31
233	fldws -16(0,%r30),%fr11R
234	stw %r23,-16(0,%r30)
235	ldo 12(%r26),%r29
236	ldo 12(%r25),%r23
237	fldws -16(0,%r30),%fr11L
238L$0026
239	ldw 0(0,%r25),%r19
240	extru %r19,31,16,%r20
241	stw %r20,-16(0,%r30)
242	extru %r19,15,16,%r19
243	fldws -16(0,%r30),%fr22L
244	stw %r19,-16(0,%r30)
245	xmpyu %fr22L,%fr11R,%fr8
246	fldws -16(0,%r30),%fr22L
247	fstws %fr8R,-16(0,%r30)
248	xmpyu %fr11R,%fr22L,%fr10
249	ldw -16(0,%r30),%r2
250	stw %r20,-16(0,%r30)
251	xmpyu %fr22L,%fr11L,%fr9
252	fldws -16(0,%r30),%fr22L
253	fstws %fr10R,-16(0,%r30)
254	copy %r2,%r22
255	ldw -16(0,%r30),%r2
256	fstws %fr9R,-16(0,%r30)
257	xmpyu %fr11L,%fr22L,%fr8
258	copy %r2,%r19
259	ldw -16(0,%r30),%r2
260	fstws %fr8R,-16(0,%r30)
261	copy %r2,%r20
262	ldw -16(0,%r30),%r2
263	addl %r2,%r19,%r21
264	comclr,<<= %r19,%r21,0
265	addl %r20,%r31,%r20
266L$0029
267	extru %r21,15,16,%r19
268	addl %r20,%r19,%r20
269	zdep %r21,15,16,%r19
270	addl %r22,%r19,%r22
271	comclr,<<= %r19,%r22,0
272	addi,tr 1,%r20,%r19
273	copy %r20,%r19
274	addl %r22,%r28,%r20
275	comclr,<<= %r28,%r20,0
276	addi,tr 1,%r19,%r28
277	copy %r19,%r28
278	addib,= -1,%r24,L$0027
279	stw %r20,0(0,%r26)
280	ldw -8(0,%r23),%r19
281	extru %r19,31,16,%r20
282	stw %r20,-16(0,%r30)
283	extru %r19,15,16,%r19
284	fldws -16(0,%r30),%fr22L
285	stw %r19,-16(0,%r30)
286	xmpyu %fr22L,%fr11R,%fr8
287	fldws -16(0,%r30),%fr22L
288	fstws %fr8R,-16(0,%r30)
289	xmpyu %fr11R,%fr22L,%fr10
290	ldw -16(0,%r30),%r2
291	stw %r20,-16(0,%r30)
292	xmpyu %fr22L,%fr11L,%fr9
293	fldws -16(0,%r30),%fr22L
294	fstws %fr10R,-16(0,%r30)
295	copy %r2,%r22
296	ldw -16(0,%r30),%r2
297	fstws %fr9R,-16(0,%r30)
298	xmpyu %fr11L,%fr22L,%fr8
299	copy %r2,%r19
300	ldw -16(0,%r30),%r2
301	fstws %fr8R,-16(0,%r30)
302	copy %r2,%r20
303	ldw -16(0,%r30),%r2
304	addl %r2,%r19,%r21
305	comclr,<<= %r19,%r21,0
306	addl %r20,%r31,%r20
307L$0033
308	extru %r21,15,16,%r19
309	addl %r20,%r19,%r20
310	zdep %r21,15,16,%r19
311	addl %r22,%r19,%r22
312	comclr,<<= %r19,%r22,0
313	addi,tr 1,%r20,%r19
314	copy %r20,%r19
315	addl %r22,%r28,%r20
316	comclr,<<= %r28,%r20,0
317	addi,tr 1,%r19,%r28
318	copy %r19,%r28
319	addib,= -1,%r24,L$0027
320	stw %r20,-8(0,%r29)
321	ldw -4(0,%r23),%r19
322	extru %r19,31,16,%r20
323	stw %r20,-16(0,%r30)
324	extru %r19,15,16,%r19
325	fldws -16(0,%r30),%fr22L
326	stw %r19,-16(0,%r30)
327	xmpyu %fr22L,%fr11R,%fr8
328	fldws -16(0,%r30),%fr22L
329	fstws %fr8R,-16(0,%r30)
330	xmpyu %fr11R,%fr22L,%fr10
331	ldw -16(0,%r30),%r2
332	stw %r20,-16(0,%r30)
333	xmpyu %fr22L,%fr11L,%fr9
334	fldws -16(0,%r30),%fr22L
335	fstws %fr10R,-16(0,%r30)
336	copy %r2,%r22
337	ldw -16(0,%r30),%r2
338	fstws %fr9R,-16(0,%r30)
339	xmpyu %fr11L,%fr22L,%fr8
340	copy %r2,%r19
341	ldw -16(0,%r30),%r2
342	fstws %fr8R,-16(0,%r30)
343	copy %r2,%r20
344	ldw -16(0,%r30),%r2
345	addl %r2,%r19,%r21
346	comclr,<<= %r19,%r21,0
347	addl %r20,%r31,%r20
348L$0037
349	extru %r21,15,16,%r19
350	addl %r20,%r19,%r20
351	zdep %r21,15,16,%r19
352	addl %r22,%r19,%r22
353	comclr,<<= %r19,%r22,0
354	addi,tr 1,%r20,%r19
355	copy %r20,%r19
356	addl %r22,%r28,%r20
357	comclr,<<= %r28,%r20,0
358	addi,tr 1,%r19,%r28
359	copy %r19,%r28
360	addib,= -1,%r24,L$0027
361	stw %r20,-4(0,%r29)
362	ldw 0(0,%r23),%r19
363	extru %r19,31,16,%r20
364	stw %r20,-16(0,%r30)
365	extru %r19,15,16,%r19
366	fldws -16(0,%r30),%fr22L
367	stw %r19,-16(0,%r30)
368	xmpyu %fr22L,%fr11R,%fr8
369	fldws -16(0,%r30),%fr22L
370	fstws %fr8R,-16(0,%r30)
371	xmpyu %fr11R,%fr22L,%fr10
372	ldw -16(0,%r30),%r2
373	stw %r20,-16(0,%r30)
374	xmpyu %fr22L,%fr11L,%fr9
375	fldws -16(0,%r30),%fr22L
376	fstws %fr10R,-16(0,%r30)
377	copy %r2,%r22
378	ldw -16(0,%r30),%r2
379	fstws %fr9R,-16(0,%r30)
380	xmpyu %fr11L,%fr22L,%fr8
381	copy %r2,%r19
382	ldw -16(0,%r30),%r2
383	fstws %fr8R,-16(0,%r30)
384	copy %r2,%r20
385	ldw -16(0,%r30),%r2
386	addl %r2,%r19,%r21
387	comclr,<<= %r19,%r21,0
388	addl %r20,%r31,%r20
389L$0041
390	extru %r21,15,16,%r19
391	addl %r20,%r19,%r20
392	zdep %r21,15,16,%r19
393	addl %r22,%r19,%r22
394	comclr,<<= %r19,%r22,0
395	addi,tr 1,%r20,%r19
396	copy %r20,%r19
397	addl %r22,%r28,%r20
398	comclr,<<= %r28,%r20,0
399	addi,tr 1,%r19,%r28
400	copy %r19,%r28
401	addib,= -1,%r24,L$0027
402	stw %r20,0(0,%r29)
403	ldo 16(%r23),%r23
404	ldo 16(%r25),%r25
405	ldo 16(%r29),%r29
406	bl L$0026,0
407	ldo 16(%r26),%r26
408L$0027
409	ldw -20(0,%r30),%r2
410	bv,n 0(%r2)
411	.EXIT
412	.PROCEND
413	.align 4
414	.EXPORT bn_sqr_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR
415bn_sqr_words
416	.PROC
417	.CALLINFO FRAME=0,NO_CALLS
418	.ENTRY
419	ldo 28(%r26),%r23
420	ldo 12(%r25),%r28
421L$0046
422	ldw 0(0,%r25),%r21
423	extru %r21,31,16,%r22
424	stw %r22,-16(0,%r30)
425	extru %r21,15,16,%r21
426	fldws -16(0,%r30),%fr10L
427	stw %r21,-16(0,%r30)
428	fldws -16(0,%r30),%fr10R
429	xmpyu %fr10L,%fr10R,%fr8
430	fstws %fr8R,-16(0,%r30)
431	ldw -16(0,%r30),%r29
432	stw %r22,-16(0,%r30)
433	fldws -16(0,%r30),%fr10R
434	stw %r21,-16(0,%r30)
435	copy %r29,%r19
436	xmpyu %fr10L,%fr10R,%fr8
437	fldws -16(0,%r30),%fr10L
438	stw %r21,-16(0,%r30)
439	fldws -16(0,%r30),%fr10R
440	fstws %fr8R,-16(0,%r30)
441	extru %r19,16,17,%r20
442	zdep %r19,14,15,%r19
443	ldw -16(0,%r30),%r29
444	xmpyu %fr10L,%fr10R,%fr9
445	addl %r29,%r19,%r22
446	stw %r22,0(0,%r26)
447	fstws %fr9R,-16(0,%r30)
448	ldw -16(0,%r30),%r29
449	addl %r29,%r20,%r21
450	comclr,<<= %r19,%r22,0
451	addi 1,%r21,%r21
452	addib,= -1,%r24,L$0057
453	stw %r21,-24(0,%r23)
454	ldw -8(0,%r28),%r21
455	extru %r21,31,16,%r22
456	stw %r22,-16(0,%r30)
457	extru %r21,15,16,%r21
458	fldws -16(0,%r30),%fr10L
459	stw %r21,-16(0,%r30)
460	fldws -16(0,%r30),%fr10R
461	xmpyu %fr10L,%fr10R,%fr8
462	fstws %fr8R,-16(0,%r30)
463	ldw -16(0,%r30),%r29
464	stw %r22,-16(0,%r30)
465	fldws -16(0,%r30),%fr10R
466	stw %r21,-16(0,%r30)
467	copy %r29,%r19
468	xmpyu %fr10L,%fr10R,%fr8
469	fldws -16(0,%r30),%fr10L
470	stw %r21,-16(0,%r30)
471	fldws -16(0,%r30),%fr10R
472	fstws %fr8R,-16(0,%r30)
473	extru %r19,16,17,%r20
474	zdep %r19,14,15,%r19
475	ldw -16(0,%r30),%r29
476	xmpyu %fr10L,%fr10R,%fr9
477	addl %r29,%r19,%r22
478	stw %r22,-20(0,%r23)
479	fstws %fr9R,-16(0,%r30)
480	ldw -16(0,%r30),%r29
481	addl %r29,%r20,%r21
482	comclr,<<= %r19,%r22,0
483	addi 1,%r21,%r21
484	addib,= -1,%r24,L$0057
485	stw %r21,-16(0,%r23)
486	ldw -4(0,%r28),%r21
487	extru %r21,31,16,%r22
488	stw %r22,-16(0,%r30)
489	extru %r21,15,16,%r21
490	fldws -16(0,%r30),%fr10L
491	stw %r21,-16(0,%r30)
492	fldws -16(0,%r30),%fr10R
493	xmpyu %fr10L,%fr10R,%fr8
494	fstws %fr8R,-16(0,%r30)
495	ldw -16(0,%r30),%r29
496	stw %r22,-16(0,%r30)
497	fldws -16(0,%r30),%fr10R
498	stw %r21,-16(0,%r30)
499	copy %r29,%r19
500	xmpyu %fr10L,%fr10R,%fr8
501	fldws -16(0,%r30),%fr10L
502	stw %r21,-16(0,%r30)
503	fldws -16(0,%r30),%fr10R
504	fstws %fr8R,-16(0,%r30)
505	extru %r19,16,17,%r20
506	zdep %r19,14,15,%r19
507	ldw -16(0,%r30),%r29
508	xmpyu %fr10L,%fr10R,%fr9
509	addl %r29,%r19,%r22
510	stw %r22,-12(0,%r23)
511	fstws %fr9R,-16(0,%r30)
512	ldw -16(0,%r30),%r29
513	addl %r29,%r20,%r21
514	comclr,<<= %r19,%r22,0
515	addi 1,%r21,%r21
516	addib,= -1,%r24,L$0057
517	stw %r21,-8(0,%r23)
518	ldw 0(0,%r28),%r21
519	extru %r21,31,16,%r22
520	stw %r22,-16(0,%r30)
521	extru %r21,15,16,%r21
522	fldws -16(0,%r30),%fr10L
523	stw %r21,-16(0,%r30)
524	fldws -16(0,%r30),%fr10R
525	xmpyu %fr10L,%fr10R,%fr8
526	fstws %fr8R,-16(0,%r30)
527	ldw -16(0,%r30),%r29
528	stw %r22,-16(0,%r30)
529	fldws -16(0,%r30),%fr10R
530	stw %r21,-16(0,%r30)
531	copy %r29,%r19
532	xmpyu %fr10L,%fr10R,%fr8
533	fldws -16(0,%r30),%fr10L
534	stw %r21,-16(0,%r30)
535	fldws -16(0,%r30),%fr10R
536	fstws %fr8R,-16(0,%r30)
537	extru %r19,16,17,%r20
538	zdep %r19,14,15,%r19
539	ldw -16(0,%r30),%r29
540	xmpyu %fr10L,%fr10R,%fr9
541	addl %r29,%r19,%r22
542	stw %r22,-4(0,%r23)
543	fstws %fr9R,-16(0,%r30)
544	ldw -16(0,%r30),%r29
545	addl %r29,%r20,%r21
546	comclr,<<= %r19,%r22,0
547	addi 1,%r21,%r21
548	addib,= -1,%r24,L$0057
549	stw %r21,0(0,%r23)
550	ldo 16(%r28),%r28
551	ldo 16(%r25),%r25
552	ldo 32(%r23),%r23
553	bl L$0046,0
554	ldo 32(%r26),%r26
555L$0057
556	bv,n 0(%r2)
557	.EXIT
558	.PROCEND
559	.IMPORT BN_num_bits_word,CODE
560	.IMPORT fprintf,CODE
561	.IMPORT __iob,DATA
562	.SPACE $TEXT$
563	.SUBSPA $LIT$
564
565	.align 4
566L$C0000
567	.STRING "Division would overflow\x0a\x00"
568	.IMPORT abort,CODE
569	.SPACE $TEXT$
570	.SUBSPA $CODE$
571
572	.align 4
573	.EXPORT bn_div64,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
574bn_div64
575	.PROC
576	.CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=8
577	.ENTRY
578	stw %r2,-20(0,%r30)
579	stwm %r8,128(0,%r30)
580	stw %r7,-124(0,%r30)
581	stw %r4,-112(0,%r30)
582	stw %r3,-108(0,%r30)
583	copy %r26,%r3
584	copy %r25,%r4
585	stw %r6,-120(0,%r30)
586	ldi 0,%r7
587	stw %r5,-116(0,%r30)
588	movb,<> %r24,%r5,L$0059
589	ldi 2,%r6
590	bl L$0076,0
591	ldi -1,%r28
592L$0059
593	.CALL ARGW0=GR
594	bl BN_num_bits_word,%r2
595	copy %r5,%r26
596	ldi 32,%r19
597	comb,= %r19,%r28,L$0060
598	subi 31,%r28,%r19
599	mtsar %r19
600	zvdepi 1,32,%r19
601	comb,>>= %r19,%r3,L$0060
602	addil LR'__iob-$global$+32,%r27
603	ldo RR'__iob-$global$+32(%r1),%r26
604	ldil LR'L$C0000,%r25
605	.CALL ARGW0=GR,ARGW1=GR
606	bl fprintf,%r2
607	ldo RR'L$C0000(%r25),%r25
608	.CALL
609	bl abort,%r2
610	nop
611L$0060
612	comb,>> %r5,%r3,L$0061
613	subi 32,%r28,%r28
614	sub %r3,%r5,%r3
615L$0061
616	comib,= 0,%r28,L$0062
617	subi 31,%r28,%r19
618	mtsar %r19
619	zvdep %r5,32,%r5
620	zvdep %r3,32,%r21
621	subi 32,%r28,%r20
622	mtsar %r20
623	vshd 0,%r4,%r20
624	or %r21,%r20,%r3
625	mtsar %r19
626	zvdep %r4,32,%r4
627L$0062
628	extru %r5,15,16,%r23
629	extru %r5,31,16,%r28
630L$0063
631	extru %r3,15,16,%r19
632	comb,<> %r23,%r19,L$0066
633	copy %r3,%r26
634	bl L$0067,0
635	zdepi -1,31,16,%r29
636L$0066
637	.IMPORT $$divU,MILLICODE
638	bl $$divU,%r31
639	copy %r23,%r25
640L$0067
641	stw %r29,-16(0,%r30)
642	fldws -16(0,%r30),%fr10L
643	stw %r28,-16(0,%r30)
644	fldws -16(0,%r30),%fr10R
645	stw %r23,-16(0,%r30)
646	xmpyu %fr10L,%fr10R,%fr8
647	fldws -16(0,%r30),%fr10R
648	fstws %fr8R,-16(0,%r30)
649	xmpyu %fr10L,%fr10R,%fr9
650	ldw -16(0,%r30),%r8
651	fstws %fr9R,-16(0,%r30)
652	copy %r8,%r22
653	ldw -16(0,%r30),%r8
654	extru %r4,15,16,%r24
655	copy %r8,%r21
656L$0068
657	sub %r3,%r21,%r20
658	copy %r20,%r19
659	depi 0,31,16,%r19
660	comib,<> 0,%r19,L$0069
661	zdep %r20,15,16,%r19
662	addl %r19,%r24,%r19
663	comb,>>= %r19,%r22,L$0069
664	sub %r22,%r28,%r22
665	sub %r21,%r23,%r21
666	bl L$0068,0
667	ldo -1(%r29),%r29
668L$0069
669	stw %r29,-16(0,%r30)
670	fldws -16(0,%r30),%fr10L
671	stw %r28,-16(0,%r30)
672	fldws -16(0,%r30),%fr10R
673	xmpyu %fr10L,%fr10R,%fr8
674	fstws %fr8R,-16(0,%r30)
675	ldw -16(0,%r30),%r8
676	stw %r23,-16(0,%r30)
677	fldws -16(0,%r30),%fr10R
678	copy %r8,%r19
679	xmpyu %fr10L,%fr10R,%fr8
680	fstws %fr8R,-16(0,%r30)
681	extru %r19,15,16,%r20
682	ldw -16(0,%r30),%r8
683	zdep %r19,15,16,%r19
684	addl %r8,%r20,%r20
685	comclr,<<= %r19,%r4,0
686	addi 1,%r20,%r20
687	comb,<<= %r20,%r3,L$0074
688	sub %r4,%r19,%r4
689	addl %r3,%r5,%r3
690	ldo -1(%r29),%r29
691L$0074
692	addib,= -1,%r6,L$0064
693	sub %r3,%r20,%r3
694	zdep %r29,15,16,%r7
695	shd %r3,%r4,16,%r3
696	bl L$0063,0
697	zdep %r4,15,16,%r4
698L$0064
699	or %r7,%r29,%r28
700L$0076
701	ldw -148(0,%r30),%r2
702	ldw -124(0,%r30),%r7
703	ldw -120(0,%r30),%r6
704	ldw -116(0,%r30),%r5
705	ldw -112(0,%r30),%r4
706	ldw -108(0,%r30),%r3
707	bv 0(%r2)
708	ldwm -128(0,%r30),%r8
709	.EXIT
710	.PROCEND
711