2 .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
3 .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
5 .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
6 .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
8 .IMPORT $$dyncall,MILLICODE
14 .EXPORT bn_mul_add_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
17 .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
28 fldws -16(0,%r30),%fr8L
34 xmpyu %fr8L,%fr9L,%fr9
35 fstds %fr9,-16(0,%r30)
47 addib,= -1,%r31,L$0011
53 xmpyu %fr8L,%fr9L,%fr9
54 fstds %fr9,-16(0,%r30)
66 addib,= -1,%r31,L$0011
72 xmpyu %fr8L,%fr9L,%fr9
73 fstds %fr9,-16(0,%r30)
85 addib,= -1,%r31,L$0011
91 xmpyu %fr8L,%fr9L,%fr9
92 fstds %fr9,-16(0,%r30)
104 addib,= -1,%r31,L$0011
120 .EXPORT bn_mul_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR
123 .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3
133 fldws -16(0,%r30),%fr8L
136 xmpyu %fr8L,%fr9L,%fr9
137 fstds %fr9,-16(0,%r30)
147 addib,= -1,%r19,L$0027
149 fldws -8(0,%r29),%fr9L
150 xmpyu %fr8L,%fr9L,%fr9
151 fstds %fr9,-16(0,%r30)
161 addib,= -1,%r19,L$0027
163 fldws -4(0,%r29),%fr9L
164 xmpyu %fr8L,%fr9L,%fr9
165 fstds %fr9,-16(0,%r30)
175 addib,= -1,%r19,L$0027
177 fldws 0(0,%r29),%fr9L
178 xmpyu %fr8L,%fr9L,%fr9
179 fstds %fr9,-16(0,%r30)
189 addib,= -1,%r19,L$0027
203 .EXPORT bn_sqr_words,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR
206 .CALLINFO FRAME=0,NO_CALLS
211 fldws 0(0,%r25),%fr8L
212 fldws 0(0,%r25),%fr8R
213 xmpyu %fr8L,%fr8R,%fr8
214 fstds %fr8,-16(0,%r30)
220 addib,= -1,%r24,L$0049
222 fldws -8(0,%r28),%fr8L
223 fldws -8(0,%r28),%fr8R
224 xmpyu %fr8L,%fr8R,%fr8
225 fstds %fr8,-16(0,%r30)
231 addib,= -1,%r24,L$0049
233 fldws -4(0,%r28),%fr8L
234 fldws -4(0,%r28),%fr8R
235 xmpyu %fr8L,%fr8R,%fr8
236 fstds %fr8,-16(0,%r30)
242 addib,= -1,%r24,L$0049
244 fldws 0(0,%r28),%fr8L
245 fldws 0(0,%r28),%fr8R
246 xmpyu %fr8L,%fr8R,%fr8
247 fstds %fr8,-16(0,%r30)
253 addib,= -1,%r24,L$0049
264 .IMPORT BN_num_bits_word,CODE
272 .STRING "Division would overflow (%d)\x0a\x00"
278 .EXPORT bn_div64,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
281 .CALLINFO FRAME=128,CALLS,SAVE_RP,ENTRY_GR=8
293 movb,<> %r24,%r5,L$0051
299 bl BN_num_bits_word,%r2
303 comb,= %r19,%r24,L$0052
307 comb,>>= %r19,%r3,L$0052
308 addil LR'__iob-$global$+32,%r27
309 ldo RR'__iob-$global$+32(%r1),%r26
311 .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR
313 ldo RR'L$C0000(%r25),%r25
318 comb,>> %r5,%r3,L$0053
322 comib,= 0,%r24,L$0054
338 comb,<> %r23,%r19,L$0058
343 .IMPORT $$divU,MILLICODE
348 fldws -16(0,%r30),%fr10L
350 fldws -16(0,%r30),%fr10R
352 xmpyu %fr10L,%fr10R,%fr8
353 fldws -16(0,%r30),%fr10R
354 fstws %fr8R,-16(0,%r30)
355 xmpyu %fr10L,%fr10R,%fr9
357 fstws %fr9R,-16(0,%r30)
366 comib,<> 0,%r19,L$0061
369 comb,>>= %r19,%r22,L$0061
376 fldws -16(0,%r30),%fr10L
378 fldws -16(0,%r30),%fr10R
379 xmpyu %fr10L,%fr10R,%fr8
380 fstws %fr8R,-16(0,%r30)
383 fldws -16(0,%r30),%fr10R
385 xmpyu %fr10L,%fr10R,%fr8
386 fstws %fr8R,-16(0,%r30)
387 extru %r19,15,16,%r20
391 comclr,<<= %r19,%r4,0
393 comb,<<= %r20,%r3,L$0066
398 addib,= -1,%r6,L$0056
414 ldwm -128(0,%r30),%r8