1 .title vax_bn_mul_add_words unsigned multiply & add, 32*32+32+32=>64
7 ; ULONG bn_mul_add_words(ULONG r[],ULONG a[],int n,ULONG w) {
10 ; for(i = 0; i < n; i++) <c,r[i]> := r[i] + c + a[i] * w ;
16 n=12 ;(AP) n by value (input)
17 w=16 ;(AP) w by value (input)
22 .entry bn_mul_add_words,^m<r2,r3,r4,r5,r6>
26 movl n(ap),r4 ; assumed >0 by C code
31 emul r5,(r3),(r2),r0 ; w, a[], r[] considered signed
33 ; fixup for "negative" r[]
43 ; combined fixup for "negative" w, a[]
53 movl r0,(r2)+ ; store lo result in r[] & advance
54 addl #4,r3 ; advance a[]
55 movl r1,r6 ; store hi result => c
62 .title vax_bn_mul_words unsigned multiply & add, 32*32+32=>64
68 ; ULONG bn_mul_words(ULONG r[],ULONG a[],int n,ULONG w) {
71 ; for(i = 0; i < num; i++) <c,r[i]> := a[i] * w + c ;
77 n=12 ;(AP) n by value (input)
78 w=16 ;(AP) w by value (input)
83 .entry bn_mul_words,^m<r2,r3,r4,r5,r6>
85 moval @r(ap),r2 ; r2 -> r[]
86 moval @a(ap),r3 ; r3 -> a[]
87 movl n(ap),r4 ; r4 = loop count (assumed >0 by C code)
88 movl w(ap),r5 ; r5 = w
92 ; <r1,r0> := w * a[] + c
93 emul r5,(r3),r6,r0 ; w, a[], c considered signed
95 ; fixup for "negative" c
101 ; combined fixup for "negative" w, a[]
111 movl r0,(r2)+ ; store lo result in r[] & advance
112 addl #4,r3 ; advance a[]
113 movl r1,r6 ; store hi result => c
117 movl r6,r0 ; return c
120 .title vax_bn_sqr_words unsigned square, 32*32=>64
126 ; void bn_sqr_words(ULONG r[],ULONG a[],int n) {
128 ; for(i = 0; i < n; i++) <r[2*i+1],r[2*i]> := a[i] * a[i] ;
133 n=12 ;(AP) n by value (input)
138 .entry bn_sqr_words,^m<r2,r3,r4,r5>
140 moval @r(ap),r2 ; r2 -> r[]
141 moval @a(ap),r3 ; r3 -> a[]
142 movl n(ap),r4 ; r4 = n (assumed >0 by C code)
145 movl (r3)+,r5 ; r5 = a[] & advance
147 ; <r1,r0> := a[] * a[]
148 emul r5,r5,#0,r0 ; a[] considered signed
150 ; fixup for "negative" a[]
157 movl r0,(r2)+ ; store lo result in r[] & advance
158 movl r1,(r2)+ ; store hi result in r[] & advance
162 movl #1,r0 ; return SS$_NORMAL
165 .title vax_bn_div_words unsigned divide
167 ; Richard Levitte 20-Nov-2000
169 ; ULONG bn_div_words(ULONG h, ULONG l, ULONG d)
171 ; return ((ULONG)((((ULLONG)h)<<32)|l) / (ULLONG)d);
174 ; Using EDIV would be very easy, if it didn't do signed calculations.
175 ; Any time, any of the input numbers are signed, there are problems,
176 ; usually with integer overflow, at which point it returns useless
177 ; data (the quotient gets the value of l, and the remainder becomes 0).
179 ; If it was just for the dividend, it would be very easy, just divide
180 ; it by 2 (unsigned), do the division, multiply the resulting quotient
181 ; and remainder by 2, add the bit that was dropped when dividing by 2
182 ; to the remainder, and do some adjustment so the remainder doesn't
183 ; end up larger than the divisor. This method works as long as the
184 ; divisor is positive, so we'll keep that (with a small adjustment)
185 ; as the main method.
186 ; For some cases when the divisor is negative (from EDIV's point of
187 ; view, i.e. when the highest bit is set), dividing the dividend by
188 ; 2 isn't enough, it needs to be divided by 4. Furthermore, the
189 ; divisor needs to be divided by 2 (unsigned) as well, to avoid more
190 ; problems with the sign. In this case, a little extra fiddling with
191 ; the remainder is required.
193 ; So, the simplest way to handle this is always to divide the dividend
194 ; by 4, and to divide the divisor by 2 if it's highest bit is set.
195 ; After EDIV has been used, the quotient gets multiplied by 4 if the
196 ; original divisor was positive, otherwise 2. The remainder, oddly
197 ; enough, is *always* multiplied by 4.
199 ; The routine ends with comparing the resulting remainder with the
200 ; original divisor and if the remainder is larger, subtract the
201 ; original divisor from it, and increase the quotient by 1. This is
202 ; done until the remainder is smaller than the divisor.
204 ; The complete algorithm looks like this:
209 ; [q,r] = floor([h,l] / d) # This is the EDIV operation
210 ; if (q < 0) q = -q # I doubt this is necessary any more
213 ; if (d' >= 0) q = q << 1
219 ; [r',r] = [r',r] - q
222 ; [r',r] = [r',r] + d
227 ; while ([r',r] >= d)
229 ; [r',r] = [r',r] - d
235 h=4 ;(AP) h by value (input)
236 l=8 ;(AP) l by value (input)
237 d=12 ;(AP) d by value (input)
246 .entry bn_div_words,^m<r2,r3,r4,r5,r6,r7>
251 bicl3 #^XFFFFFFFC,r2,r5 ; l' = l & 3
252 bicl3 #^X00000003,r2,r2
254 bicl3 #^XFFFFFFFC,r3,r6
255 bicl3 #^X00000003,r3,r3
258 rotl #-2,r2,r2 ; l = l >> 2
259 rotl #-2,r3,r3 ; h = h >> 2
265 beql 666$ ; Uh-oh, the divisor is 0...
267 rotl #-1,r4,r4 ; If d is negative, shift it right.
268 bicl2 #^X80000000,r4 ; Since d is then a large number, the
269 ; lowest bit is insignificant
270 ; (contradict that, and I'll fix the problem!)
272 ediv r4,r2,r2,r3 ; Do the actual division
276 mnegl r2,r2 ; if q < 0, negate it
280 ashl #1,r2,r2 ; if d' >= 0, q = q << 1
282 ashl #1,r2,r2 ; q = q << 1
283 rotl #2,r3,r3 ; r = r << 2
284 bicl3 #^XFFFFFFFC,r3,r6 ; r' gets the high bits from r
285 bicl3 #^X00000003,r3,r3
286 addl r5,r3 ; r = r + l'
291 beql 5$ ; if d' < 0 && d' & 1
292 subl r2,r3 ; [r',r] = [r',r] - q
295 bgeq 5$ ; while r < 0
297 addl r7,r3 ; [r',r] = [r',r] + d
305 blssu 42$ ; while [r',r] >= d'
307 subl r7,r3 ; [r',r] = [r',r] - d
319 .title vax_bn_add_words unsigned add of two arrays
321 ; Richard Levitte 20-Nov-2000
323 ; ULONG bn_add_words(ULONG r[], ULONG a[], ULONG b[], int n) {
326 ; for (i = 0; i < n; i++) <c,r[i]> = a[i] + b[i] + c;
330 r=4 ;(AP) r by reference (output)
331 a=8 ;(AP) a by reference (input)
332 b=12 ;(AP) b by reference (input)
333 n=16 ;(AP) n by value (input)
338 .entry bn_add_words,^m<r2,r3,r4,r5,r6>
343 movl n(ap),r5 ; assumed >0 by C code
350 movl (r3)+,r6 ; carry untouched
351 adwc (r4)+,r6 ; carry used and touched
352 movl r6,(r2)+ ; carry untouched
353 sobgtr r5,0$ ; carry untouched
359 .title vax_bn_sub_words unsigned add of two arrays
361 ; Richard Levitte 20-Nov-2000
363 ; ULONG bn_sub_words(ULONG r[], ULONG a[], ULONG b[], int n) {
366 ; for (i = 0; i < n; i++) <c,r[i]> = a[i] - b[i] - c;
370 r=4 ;(AP) r by reference (output)
371 a=8 ;(AP) a by reference (input)
372 b=12 ;(AP) b by reference (input)
373 n=16 ;(AP) n by value (input)
378 .entry bn_sub_words,^m<r2,r3,r4,r5,r6>
383 movl n(ap),r5 ; assumed >0 by C code
390 movl (r3)+,r6 ; carry untouched
391 sbwc (r4)+,r6 ; carry used and touched
392 movl r6,(r2)+ ; carry untouched
393 sobgtr r5,0$ ; carry untouched
403 ;n=16 ;(AP) n by value (input)
407 .entry BN_MUL_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
416 bicl3 #-65536,(r7),r2
419 bicl3 #-65536,(r6),-12(fp)
420 bicl3 #-65536,r3,-16(fp)
421 mull3 r0,-12(fp),-4(fp)
423 mull3 r2,-16(fp),-8(fp)
425 addl3 -4(fp),-8(fp),r0
434 bicl3 #-65536,-4(fp),r0
436 addl3 -8(fp),-12(fp),r0
463 bicl3 #-65536,4(r7),r3
466 bicl3 #-65536,(r6),-28(fp)
467 bicl3 #-65536,r2,-32(fp)
468 mull3 r0,-28(fp),-20(fp)
470 mull3 r3,-32(fp),-24(fp)
472 addl3 -20(fp),-24(fp),r0
481 bicl3 #-65536,-20(fp),r0
483 addl3 -24(fp),-28(fp),r0
505 bicl3 #-65536,(r7),r3
508 bicl3 #-65536,4(r6),-44(fp)
509 bicl3 #-65536,r2,-48(fp)
510 mull3 r0,-44(fp),-36(fp)
512 mull3 r3,-48(fp),-40(fp)
514 addl3 -36(fp),-40(fp),r0
523 bicl3 #-65536,-36(fp),r0
525 addl3 -40(fp),-44(fp),r0
551 bicl3 #-65536,(r7),r3
554 bicl3 #-65536,8(r6),-60(fp)
555 bicl3 #-65536,r2,-64(fp)
556 mull3 r0,-60(fp),-52(fp)
558 mull3 r3,-64(fp),-56(fp)
560 addl3 -52(fp),-56(fp),r0
569 bicl3 #-65536,-52(fp),r0
571 addl3 -56(fp),-60(fp),r0
593 bicl3 #-65536,4(r7),r3
596 bicl3 #-65536,4(r6),-76(fp)
597 bicl3 #-65536,r2,-80(fp)
598 mull3 r0,-76(fp),-68(fp)
600 mull3 r3,-80(fp),-72(fp)
602 addl3 -68(fp),-72(fp),r0
611 bicl3 #-65536,-68(fp),r0
613 addl3 -72(fp),-76(fp),r0
635 bicl3 #-65536,8(r7),r3
638 bicl3 #-65536,(r6),-92(fp)
639 bicl3 #-65536,r2,-96(fp)
640 mull3 r0,-92(fp),-84(fp)
642 mull3 r3,-96(fp),-88(fp)
644 addl3 -84(fp),-88(fp),r0
653 bicl3 #-65536,-84(fp),r0
655 addl3 -88(fp),-92(fp),r0
681 bicl3 #-65536,12(r7),r3
684 bicl3 #-65536,(r6),-108(fp)
685 bicl3 #-65536,r2,-112(fp)
686 mull3 r0,-108(fp),-100(fp)
688 mull3 r3,-112(fp),-104(fp)
690 addl3 -100(fp),-104(fp),r0
692 cmpl -100(fp),-104(fp)
694 addl2 #65536,-112(fp)
699 bicl3 #-65536,-100(fp),r0
701 addl3 -104(fp),-108(fp),r0
703 cmpl -108(fp),-104(fp)
723 bicl3 #-65536,8(r7),r3
726 bicl3 #-65536,4(r6),-124(fp)
727 bicl3 #-65536,r2,-128(fp)
728 mull3 r0,-124(fp),-116(fp)
730 mull3 r3,-128(fp),-120(fp)
732 addl3 -116(fp),-120(fp),r0
734 cmpl -116(fp),-120(fp)
736 addl2 #65536,-128(fp)
741 bicl3 #-65536,-116(fp),r0
743 addl3 -120(fp),-124(fp),r0
745 cmpl -124(fp),-120(fp)
765 bicl3 #-65536,4(r7),r3
768 bicl3 #-65536,8(r6),-140(fp)
769 bicl3 #-65536,r2,-144(fp)
770 mull3 r0,-140(fp),-132(fp)
772 mull3 r3,-144(fp),-136(fp)
774 addl3 -132(fp),-136(fp),r0
776 cmpl -132(fp),-136(fp)
778 addl2 #65536,-144(fp)
783 bicl3 #-65536,-132(fp),r0
785 addl3 -136(fp),-140(fp),r0
787 cmpl -140(fp),-136(fp)
807 bicl3 #-65536,(r7),r3
810 bicl3 #-65536,12(r6),-156(fp)
811 bicl3 #-65536,r2,-160(fp)
812 mull3 r0,-156(fp),-148(fp)
814 mull3 r3,-160(fp),-152(fp)
816 addl3 -148(fp),-152(fp),r0
818 cmpl -148(fp),-152(fp)
820 addl2 #65536,-160(fp)
825 bicl3 #-65536,-148(fp),r0
827 addl3 -152(fp),-156(fp),r0
829 cmpl -156(fp),-152(fp)
853 bicl3 #-65536,(r7),r3
856 bicl3 #-65536,16(r6),-172(fp)
857 bicl3 #-65536,r2,-176(fp)
858 mull3 r0,-172(fp),-164(fp)
860 mull3 r3,-176(fp),-168(fp)
862 addl3 -164(fp),-168(fp),r0
864 cmpl -164(fp),-168(fp)
866 addl2 #65536,-176(fp)
871 bicl3 #-65536,-164(fp),r0
873 addl3 -168(fp),-172(fp),r0
875 cmpl -172(fp),-168(fp)
895 bicl3 #-65536,4(r7),r3
898 bicl3 #-65536,12(r6),-188(fp)
899 bicl3 #-65536,r2,-192(fp)
900 mull3 r0,-188(fp),-180(fp)
902 mull3 r3,-192(fp),-184(fp)
904 addl3 -180(fp),-184(fp),r0
906 cmpl -180(fp),-184(fp)
908 addl2 #65536,-192(fp)
913 bicl3 #-65536,-180(fp),r0
915 addl3 -184(fp),-188(fp),r0
917 cmpl -188(fp),-184(fp)
937 bicl3 #-65536,8(r7),r3
940 bicl3 #-65536,8(r6),-204(fp)
941 bicl3 #-65536,r2,-208(fp)
942 mull3 r0,-204(fp),-196(fp)
944 mull3 r3,-208(fp),-200(fp)
946 addl3 -196(fp),-200(fp),r0
948 cmpl -196(fp),-200(fp)
950 addl2 #65536,-208(fp)
955 bicl3 #-65536,-196(fp),r0
957 addl3 -200(fp),-204(fp),r0
959 cmpl -204(fp),-200(fp)
979 bicl3 #-65536,12(r7),r3
982 bicl3 #-65536,4(r6),-220(fp)
983 bicl3 #-65536,r2,-224(fp)
984 mull3 r0,-220(fp),-212(fp)
986 mull3 r3,-224(fp),-216(fp)
988 addl3 -212(fp),-216(fp),r0
990 cmpl -212(fp),-216(fp)
992 addl2 #65536,-224(fp)
997 bicl3 #-65536,-212(fp),r0
999 addl3 -216(fp),-220(fp),r0
1000 bicl3 #0,r0,-220(fp)
1001 cmpl -220(fp),-216(fp)
1021 bicl3 #-65536,16(r7),r3
1024 bicl3 #-65536,(r6),-236(fp)
1025 bicl3 #-65536,r2,-240(fp)
1026 mull3 r0,-236(fp),-228(fp)
1028 mull3 r3,-240(fp),-232(fp)
1030 addl3 -228(fp),-232(fp),r0
1031 bicl3 #0,r0,-228(fp)
1032 cmpl -228(fp),-232(fp)
1034 addl2 #65536,-240(fp)
1039 bicl3 #-65536,-228(fp),r0
1040 ashl #16,r0,-232(fp)
1041 addl3 -232(fp),-236(fp),r0
1042 bicl3 #0,r0,-236(fp)
1043 cmpl -236(fp),-232(fp)
1067 bicl3 #-65536,20(r7),r3
1070 bicl3 #-65536,(r6),-252(fp)
1071 bicl3 #-65536,r2,-256(fp)
1072 mull3 r0,-252(fp),-244(fp)
1074 mull3 r3,-256(fp),-248(fp)
1076 addl3 -244(fp),-248(fp),r0
1077 bicl3 #0,r0,-244(fp)
1078 cmpl -244(fp),-248(fp)
1080 addl2 #65536,-256(fp)
1085 bicl3 #-65536,-244(fp),r0
1086 ashl #16,r0,-248(fp)
1087 addl3 -248(fp),-252(fp),r0
1088 bicl3 #0,r0,-252(fp)
1089 cmpl -252(fp),-248(fp)
1109 bicl3 #-65536,16(r7),r3
1112 bicl3 #-65536,4(r6),-268(fp)
1113 bicl3 #-65536,r2,-272(fp)
1114 mull3 r0,-268(fp),-260(fp)
1116 mull3 r3,-272(fp),-264(fp)
1118 addl3 -260(fp),-264(fp),r0
1119 bicl3 #0,r0,-260(fp)
1120 cmpl -260(fp),-264(fp)
1122 addl2 #65536,-272(fp)
1127 bicl3 #-65536,-260(fp),r0
1128 ashl #16,r0,-264(fp)
1129 addl3 -264(fp),-268(fp),r0
1130 bicl3 #0,r0,-268(fp)
1131 cmpl -268(fp),-264(fp)
1151 bicl3 #-65536,12(r7),r3
1154 bicl3 #-65536,8(r6),-284(fp)
1155 bicl3 #-65536,r2,-288(fp)
1156 mull3 r0,-284(fp),-276(fp)
1158 mull3 r3,-288(fp),-280(fp)
1160 addl3 -276(fp),-280(fp),r0
1161 bicl3 #0,r0,-276(fp)
1162 cmpl -276(fp),-280(fp)
1164 addl2 #65536,-288(fp)
1169 bicl3 #-65536,-276(fp),r0
1170 ashl #16,r0,-280(fp)
1171 addl3 -280(fp),-284(fp),r0
1172 bicl3 #0,r0,-284(fp)
1173 cmpl -284(fp),-280(fp)
1193 bicl3 #-65536,8(r7),r3
1196 bicl3 #-65536,12(r6),-300(fp)
1197 bicl3 #-65536,r2,-304(fp)
1198 mull3 r0,-300(fp),-292(fp)
1200 mull3 r3,-304(fp),-296(fp)
1202 addl3 -292(fp),-296(fp),r0
1203 bicl3 #0,r0,-292(fp)
1204 cmpl -292(fp),-296(fp)
1206 addl2 #65536,-304(fp)
1211 bicl3 #-65536,-292(fp),r0
1212 ashl #16,r0,-296(fp)
1213 addl3 -296(fp),-300(fp),r0
1214 bicl3 #0,r0,-300(fp)
1215 cmpl -300(fp),-296(fp)
1235 bicl3 #-65536,4(r7),r3
1238 bicl3 #-65536,16(r6),-316(fp)
1239 bicl3 #-65536,r2,-320(fp)
1240 mull3 r0,-316(fp),-308(fp)
1242 mull3 r3,-320(fp),-312(fp)
1244 addl3 -308(fp),-312(fp),r0
1245 bicl3 #0,r0,-308(fp)
1246 cmpl -308(fp),-312(fp)
1248 addl2 #65536,-320(fp)
1253 bicl3 #-65536,-308(fp),r0
1254 ashl #16,r0,-312(fp)
1255 addl3 -312(fp),-316(fp),r0
1256 bicl3 #0,r0,-316(fp)
1257 cmpl -316(fp),-312(fp)
1278 bicl3 #-65536,(r7),r3
1281 bicl3 #-65536,20(r6),-332(fp)
1282 bicl3 #-65536,r2,-336(fp)
1283 mull3 r0,-332(fp),-324(fp)
1285 mull3 r3,-336(fp),-328(fp)
1287 addl3 -324(fp),-328(fp),r0
1288 bicl3 #0,r0,-324(fp)
1289 cmpl -324(fp),-328(fp)
1291 addl2 #65536,-336(fp)
1296 bicl3 #-65536,-324(fp),r0
1297 ashl #16,r0,-328(fp)
1298 addl3 -328(fp),-332(fp),r0
1299 bicl3 #0,r0,-332(fp)
1300 cmpl -332(fp),-328(fp)
1324 bicl3 #-65536,(r7),r3
1327 bicl3 #-65536,24(r6),-348(fp)
1328 bicl3 #-65536,r2,-352(fp)
1329 mull3 r0,-348(fp),-340(fp)
1331 mull3 r3,-352(fp),-344(fp)
1333 addl3 -340(fp),-344(fp),r0
1334 bicl3 #0,r0,-340(fp)
1335 cmpl -340(fp),-344(fp)
1337 addl2 #65536,-352(fp)
1342 bicl3 #-65536,-340(fp),r0
1343 ashl #16,r0,-344(fp)
1344 addl3 -344(fp),-348(fp),r0
1345 bicl3 #0,r0,-348(fp)
1346 cmpl -348(fp),-344(fp)
1366 bicl3 #-65536,4(r7),r3
1369 bicl3 #-65536,20(r6),-364(fp)
1370 bicl3 #-65536,r2,-368(fp)
1371 mull3 r0,-364(fp),-356(fp)
1373 mull3 r3,-368(fp),-360(fp)
1375 addl3 -356(fp),-360(fp),r0
1376 bicl3 #0,r0,-356(fp)
1377 cmpl -356(fp),-360(fp)
1379 addl2 #65536,-368(fp)
1384 bicl3 #-65536,-356(fp),r0
1385 ashl #16,r0,-360(fp)
1386 addl3 -360(fp),-364(fp),r0
1387 bicl3 #0,r0,-364(fp)
1388 cmpl -364(fp),-360(fp)
1408 bicl3 #-65536,8(r7),r3
1411 bicl3 #-65536,16(r6),-380(fp)
1412 bicl3 #-65536,r2,-384(fp)
1413 mull3 r0,-380(fp),-372(fp)
1415 mull3 r3,-384(fp),-376(fp)
1417 addl3 -372(fp),-376(fp),r0
1418 bicl3 #0,r0,-372(fp)
1419 cmpl -372(fp),-376(fp)
1421 addl2 #65536,-384(fp)
1426 bicl3 #-65536,-372(fp),r0
1427 ashl #16,r0,-376(fp)
1428 addl3 -376(fp),-380(fp),r0
1429 bicl3 #0,r0,-380(fp)
1430 cmpl -380(fp),-376(fp)
1450 bicl3 #-65536,12(r7),r3
1453 bicl3 #-65536,12(r6),-396(fp)
1454 bicl3 #-65536,r2,-400(fp)
1455 mull3 r0,-396(fp),-388(fp)
1457 mull3 r3,-400(fp),-392(fp)
1459 addl3 -388(fp),-392(fp),r0
1460 bicl3 #0,r0,-388(fp)
1461 cmpl -388(fp),-392(fp)
1463 addl2 #65536,-400(fp)
1468 bicl3 #-65536,-388(fp),r0
1469 ashl #16,r0,-392(fp)
1470 addl3 -392(fp),-396(fp),r0
1471 bicl3 #0,r0,-396(fp)
1472 cmpl -396(fp),-392(fp)
1492 bicl3 #-65536,16(r7),r3
1495 bicl3 #-65536,8(r6),-412(fp)
1496 bicl3 #-65536,r2,-416(fp)
1497 mull3 r0,-412(fp),-404(fp)
1499 mull3 r3,-416(fp),-408(fp)
1501 addl3 -404(fp),-408(fp),r0
1502 bicl3 #0,r0,-404(fp)
1503 cmpl -404(fp),-408(fp)
1505 addl2 #65536,-416(fp)
1510 bicl3 #-65536,-404(fp),r0
1511 ashl #16,r0,-408(fp)
1512 addl3 -408(fp),-412(fp),r0
1513 bicl3 #0,r0,-412(fp)
1514 cmpl -412(fp),-408(fp)
1534 bicl3 #-65536,20(r7),r3
1537 bicl3 #-65536,4(r6),-428(fp)
1538 bicl3 #-65536,r2,-432(fp)
1539 mull3 r0,-428(fp),-420(fp)
1541 mull3 r3,-432(fp),-424(fp)
1543 addl3 -420(fp),-424(fp),r0
1544 bicl3 #0,r0,-420(fp)
1545 cmpl -420(fp),-424(fp)
1547 addl2 #65536,-432(fp)
1552 bicl3 #-65536,-420(fp),r0
1553 ashl #16,r0,-424(fp)
1554 addl3 -424(fp),-428(fp),r0
1555 bicl3 #0,r0,-428(fp)
1556 cmpl -428(fp),-424(fp)
1576 bicl3 #-65536,24(r7),r3
1579 bicl3 #-65536,(r6),-444(fp)
1580 bicl3 #-65536,r2,-448(fp)
1581 mull3 r0,-444(fp),-436(fp)
1583 mull3 r3,-448(fp),-440(fp)
1585 addl3 -436(fp),-440(fp),r0
1586 bicl3 #0,r0,-436(fp)
1587 cmpl -436(fp),-440(fp)
1589 addl2 #65536,-448(fp)
1594 bicl3 #-65536,-436(fp),r0
1595 ashl #16,r0,-440(fp)
1596 addl3 -440(fp),-444(fp),r0
1597 bicl3 #0,r0,-444(fp)
1598 cmpl -444(fp),-440(fp)
1622 bicl3 #-65536,28(r7),r3
1625 bicl3 #-65536,(r6),-460(fp)
1626 bicl3 #-65536,r2,-464(fp)
1627 mull3 r0,-460(fp),-452(fp)
1629 mull3 r3,-464(fp),-456(fp)
1631 addl3 -452(fp),-456(fp),r0
1632 bicl3 #0,r0,-452(fp)
1633 cmpl -452(fp),-456(fp)
1635 addl2 #65536,-464(fp)
1640 bicl3 #-65536,-452(fp),r0
1641 ashl #16,r0,-456(fp)
1642 addl3 -456(fp),-460(fp),r0
1643 bicl3 #0,r0,-460(fp)
1644 cmpl -460(fp),-456(fp)
1664 bicl3 #-65536,24(r7),r3
1667 bicl3 #-65536,4(r6),-476(fp)
1668 bicl3 #-65536,r2,-480(fp)
1669 mull3 r0,-476(fp),-468(fp)
1671 mull3 r3,-480(fp),-472(fp)
1673 addl3 -468(fp),-472(fp),r0
1674 bicl3 #0,r0,-468(fp)
1675 cmpl -468(fp),-472(fp)
1677 addl2 #65536,-480(fp)
1682 bicl3 #-65536,-468(fp),r0
1683 ashl #16,r0,-472(fp)
1684 addl3 -472(fp),-476(fp),r0
1685 bicl3 #0,r0,-476(fp)
1686 cmpl -476(fp),-472(fp)
1706 bicl3 #-65536,20(r7),r3
1709 bicl3 #-65536,8(r6),-492(fp)
1710 bicl3 #-65536,r2,-496(fp)
1711 mull3 r0,-492(fp),-484(fp)
1713 mull3 r3,-496(fp),-488(fp)
1715 addl3 -484(fp),-488(fp),r0
1716 bicl3 #0,r0,-484(fp)
1717 cmpl -484(fp),-488(fp)
1719 addl2 #65536,-496(fp)
1724 bicl3 #-65536,-484(fp),r0
1725 ashl #16,r0,-488(fp)
1726 addl3 -488(fp),-492(fp),r0
1727 bicl3 #0,r0,-492(fp)
1728 cmpl -492(fp),-488(fp)
1748 bicl3 #-65536,16(r7),r3
1751 bicl3 #-65536,12(r6),-508(fp)
1752 bicl3 #-65536,r2,-512(fp)
1753 mull3 r0,-508(fp),-500(fp)
1755 mull3 r3,-512(fp),-504(fp)
1757 addl3 -500(fp),-504(fp),r0
1758 bicl3 #0,r0,-500(fp)
1759 cmpl -500(fp),-504(fp)
1761 addl2 #65536,-512(fp)
1766 bicl3 #-65536,-500(fp),r0
1767 ashl #16,r0,-504(fp)
1768 addl3 -504(fp),-508(fp),r0
1769 bicl3 #0,r0,-508(fp)
1770 cmpl -508(fp),-504(fp)
1790 bicl3 #-65536,12(r7),r3
1793 bicl3 #-65536,16(r6),-524(fp)
1794 bicl3 #-65536,r2,-528(fp)
1795 mull3 r0,-524(fp),-516(fp)
1797 mull3 r3,-528(fp),-520(fp)
1799 addl3 -516(fp),-520(fp),r0
1800 bicl3 #0,r0,-516(fp)
1801 cmpl -516(fp),-520(fp)
1803 addl2 #65536,-528(fp)
1808 bicl3 #-65536,-516(fp),r0
1809 ashl #16,r0,-520(fp)
1810 addl3 -520(fp),-524(fp),r0
1811 bicl3 #0,r0,-524(fp)
1812 cmpl -524(fp),-520(fp)
1832 bicl3 #-65536,8(r7),r3
1835 bicl3 #-65536,20(r6),-540(fp)
1836 bicl3 #-65536,r2,-544(fp)
1837 mull3 r0,-540(fp),-532(fp)
1839 mull3 r3,-544(fp),-536(fp)
1841 addl3 -532(fp),-536(fp),r0
1842 bicl3 #0,r0,-532(fp)
1843 cmpl -532(fp),-536(fp)
1845 addl2 #65536,-544(fp)
1850 bicl3 #-65536,-532(fp),r0
1851 ashl #16,r0,-536(fp)
1852 addl3 -536(fp),-540(fp),r0
1853 bicl3 #0,r0,-540(fp)
1854 cmpl -540(fp),-536(fp)
1874 bicl3 #-65536,4(r7),r3
1877 bicl3 #-65536,24(r6),-556(fp)
1878 bicl3 #-65536,r2,-560(fp)
1879 mull3 r0,-556(fp),-548(fp)
1881 mull3 r3,-560(fp),-552(fp)
1883 addl3 -548(fp),-552(fp),r0
1884 bicl3 #0,r0,-548(fp)
1885 cmpl -548(fp),-552(fp)
1887 addl2 #65536,-560(fp)
1892 bicl3 #-65536,-548(fp),r0
1893 ashl #16,r0,-552(fp)
1894 addl3 -552(fp),-556(fp),r0
1895 bicl3 #0,r0,-556(fp)
1896 cmpl -556(fp),-552(fp)
1916 bicl3 #-65536,(r7),r3
1919 bicl3 #-65536,28(r6),-572(fp)
1920 bicl3 #-65536,r2,-576(fp)
1921 mull3 r0,-572(fp),-564(fp)
1923 mull3 r3,-576(fp),-568(fp)
1925 addl3 -564(fp),-568(fp),r0
1926 bicl3 #0,r0,-564(fp)
1927 cmpl -564(fp),-568(fp)
1929 addl2 #65536,-576(fp)
1934 bicl3 #-65536,-564(fp),r0
1935 ashl #16,r0,-568(fp)
1936 addl3 -568(fp),-572(fp),r0
1937 bicl3 #0,r0,-572(fp)
1938 cmpl -572(fp),-568(fp)
1962 bicl3 #-65536,4(r7),r3
1965 bicl3 #-65536,28(r6),-588(fp)
1966 bicl3 #-65536,r2,-592(fp)
1967 mull3 r0,-588(fp),-580(fp)
1969 mull3 r3,-592(fp),-584(fp)
1971 addl3 -580(fp),-584(fp),r0
1972 bicl3 #0,r0,-580(fp)
1973 cmpl -580(fp),-584(fp)
1975 addl2 #65536,-592(fp)
1980 bicl3 #-65536,-580(fp),r0
1981 ashl #16,r0,-584(fp)
1982 addl3 -584(fp),-588(fp),r0
1983 bicl3 #0,r0,-588(fp)
1984 cmpl -588(fp),-584(fp)
2004 bicl3 #-65536,8(r7),r3
2007 bicl3 #-65536,24(r6),-604(fp)
2008 bicl3 #-65536,r2,-608(fp)
2009 mull3 r0,-604(fp),-596(fp)
2011 mull3 r3,-608(fp),-600(fp)
2013 addl3 -596(fp),-600(fp),r0
2014 bicl3 #0,r0,-596(fp)
2015 cmpl -596(fp),-600(fp)
2017 addl2 #65536,-608(fp)
2022 bicl3 #-65536,-596(fp),r0
2023 ashl #16,r0,-600(fp)
2024 addl3 -600(fp),-604(fp),r0
2025 bicl3 #0,r0,-604(fp)
2026 cmpl -604(fp),-600(fp)
2046 bicl3 #-65536,12(r7),r3
2049 bicl3 #-65536,20(r6),-620(fp)
2050 bicl3 #-65536,r2,-624(fp)
2051 mull3 r0,-620(fp),-612(fp)
2053 mull3 r3,-624(fp),-616(fp)
2055 addl3 -612(fp),-616(fp),r0
2056 bicl3 #0,r0,-612(fp)
2057 cmpl -612(fp),-616(fp)
2059 addl2 #65536,-624(fp)
2064 bicl3 #-65536,-612(fp),r0
2065 ashl #16,r0,-616(fp)
2066 addl3 -616(fp),-620(fp),r0
2067 bicl3 #0,r0,-620(fp)
2068 cmpl -620(fp),-616(fp)
2088 bicl3 #-65536,16(r7),r3
2091 bicl3 #-65536,16(r6),-636(fp)
2092 bicl3 #-65536,r2,-640(fp)
2093 mull3 r0,-636(fp),-628(fp)
2095 mull3 r3,-640(fp),-632(fp)
2097 addl3 -628(fp),-632(fp),r0
2098 bicl3 #0,r0,-628(fp)
2099 cmpl -628(fp),-632(fp)
2101 addl2 #65536,-640(fp)
2106 bicl3 #-65536,-628(fp),r0
2107 ashl #16,r0,-632(fp)
2108 addl3 -632(fp),-636(fp),r0
2109 bicl3 #0,r0,-636(fp)
2110 cmpl -636(fp),-632(fp)
2130 bicl3 #-65536,20(r7),r3
2133 bicl3 #-65536,12(r6),-652(fp)
2134 bicl3 #-65536,r2,-656(fp)
2135 mull3 r0,-652(fp),-644(fp)
2137 mull3 r3,-656(fp),-648(fp)
2139 addl3 -644(fp),-648(fp),r0
2140 bicl3 #0,r0,-644(fp)
2141 cmpl -644(fp),-648(fp)
2143 addl2 #65536,-656(fp)
2148 bicl3 #-65536,-644(fp),r0
2149 ashl #16,r0,-648(fp)
2150 addl3 -648(fp),-652(fp),r0
2151 bicl3 #0,r0,-652(fp)
2152 cmpl -652(fp),-648(fp)
2172 bicl3 #-65536,24(r7),r3
2175 bicl3 #-65536,8(r6),-668(fp)
2176 bicl3 #-65536,r2,-672(fp)
2177 mull3 r0,-668(fp),-660(fp)
2179 mull3 r3,-672(fp),-664(fp)
2181 addl3 -660(fp),-664(fp),r0
2182 bicl3 #0,r0,-660(fp)
2183 cmpl -660(fp),-664(fp)
2185 addl2 #65536,-672(fp)
2190 bicl3 #-65536,-660(fp),r0
2191 ashl #16,r0,-664(fp)
2192 addl3 -664(fp),-668(fp),r0
2193 bicl3 #0,r0,-668(fp)
2194 cmpl -668(fp),-664(fp)
2214 bicl3 #-65536,28(r7),r3
2217 bicl3 #-65536,4(r6),-684(fp)
2218 bicl3 #-65536,r2,-688(fp)
2219 mull3 r0,-684(fp),-676(fp)
2221 mull3 r3,-688(fp),-680(fp)
2223 addl3 -676(fp),-680(fp),r0
2224 bicl3 #0,r0,-676(fp)
2225 cmpl -676(fp),-680(fp)
2227 addl2 #65536,-688(fp)
2232 bicl3 #-65536,-676(fp),r0
2233 ashl #16,r0,-680(fp)
2234 addl3 -680(fp),-684(fp),r0
2235 bicl3 #0,r0,-684(fp)
2236 cmpl -684(fp),-680(fp)
2260 bicl3 #-65536,28(r7),r3
2263 bicl3 #-65536,8(r6),-700(fp)
2264 bicl3 #-65536,r2,-704(fp)
2265 mull3 r0,-700(fp),-692(fp)
2267 mull3 r3,-704(fp),-696(fp)
2269 addl3 -692(fp),-696(fp),r0
2270 bicl3 #0,r0,-692(fp)
2271 cmpl -692(fp),-696(fp)
2273 addl2 #65536,-704(fp)
2278 bicl3 #-65536,-692(fp),r0
2279 ashl #16,r0,-696(fp)
2280 addl3 -696(fp),-700(fp),r0
2281 bicl3 #0,r0,-700(fp)
2282 cmpl -700(fp),-696(fp)
2302 bicl3 #-65536,24(r7),r3
2305 bicl3 #-65536,12(r6),-716(fp)
2306 bicl3 #-65536,r2,-720(fp)
2307 mull3 r0,-716(fp),-708(fp)
2309 mull3 r3,-720(fp),-712(fp)
2311 addl3 -708(fp),-712(fp),r0
2312 bicl3 #0,r0,-708(fp)
2313 cmpl -708(fp),-712(fp)
2315 addl2 #65536,-720(fp)
2320 bicl3 #-65536,-708(fp),r0
2321 ashl #16,r0,-712(fp)
2322 addl3 -712(fp),-716(fp),r0
2323 bicl3 #0,r0,-716(fp)
2324 cmpl -716(fp),-712(fp)
2344 bicl3 #-65536,20(r7),r3
2347 bicl3 #-65536,16(r6),-732(fp)
2348 bicl3 #-65536,r2,-736(fp)
2349 mull3 r0,-732(fp),-724(fp)
2351 mull3 r3,-736(fp),-728(fp)
2353 addl3 -724(fp),-728(fp),r0
2354 bicl3 #0,r0,-724(fp)
2355 cmpl -724(fp),-728(fp)
2357 addl2 #65536,-736(fp)
2362 bicl3 #-65536,-724(fp),r0
2363 ashl #16,r0,-728(fp)
2364 addl3 -728(fp),-732(fp),r0
2365 bicl3 #0,r0,-732(fp)
2366 cmpl -732(fp),-728(fp)
2386 bicl3 #-65536,16(r7),r3
2389 bicl3 #-65536,20(r6),-748(fp)
2390 bicl3 #-65536,r2,-752(fp)
2391 mull3 r0,-748(fp),-740(fp)
2393 mull3 r3,-752(fp),-744(fp)
2395 addl3 -740(fp),-744(fp),r0
2396 bicl3 #0,r0,-740(fp)
2397 cmpl -740(fp),-744(fp)
2399 addl2 #65536,-752(fp)
2404 bicl3 #-65536,-740(fp),r0
2405 ashl #16,r0,-744(fp)
2406 addl3 -744(fp),-748(fp),r0
2407 bicl3 #0,r0,-748(fp)
2408 cmpl -748(fp),-744(fp)
2428 bicl3 #-65536,12(r7),r3
2431 bicl3 #-65536,24(r6),-764(fp)
2432 bicl3 #-65536,r2,-768(fp)
2433 mull3 r0,-764(fp),-756(fp)
2435 mull3 r3,-768(fp),-760(fp)
2437 addl3 -756(fp),-760(fp),r0
2438 bicl3 #0,r0,-756(fp)
2439 cmpl -756(fp),-760(fp)
2441 addl2 #65536,-768(fp)
2446 bicl3 #-65536,-756(fp),r0
2447 ashl #16,r0,-760(fp)
2448 addl3 -760(fp),-764(fp),r0
2449 bicl3 #0,r0,-764(fp)
2450 cmpl -764(fp),-760(fp)
2469 bicl3 #-65536,28(r6),r3
2472 bicl3 #-65536,8(r7),r2
2477 mull3 r0,r5,-772(fp)
2479 mull3 r2,r4,-776(fp)
2481 addl3 -772(fp),-776(fp),r0
2482 bicl3 #0,r0,-772(fp)
2483 cmpl -772(fp),-776(fp)
2490 bicl3 #-65536,-772(fp),r0
2491 ashl #16,r0,-776(fp)
2517 bicl3 #-65536,28(r6),r3
2520 bicl3 #-65536,12(r7),r2
2525 mull3 r0,r5,-780(fp)
2527 mull3 r2,r4,-784(fp)
2529 addl3 -780(fp),-784(fp),r0
2530 bicl3 #0,r0,-780(fp)
2531 cmpl -780(fp),-784(fp)
2538 bicl3 #-65536,-780(fp),r0
2539 ashl #16,r0,-784(fp)
2561 bicl3 #-65536,24(r6),r3
2564 bicl3 #-65536,16(r7),r2
2569 mull3 r0,r5,-788(fp)
2571 mull3 r2,r4,-792(fp)
2573 addl3 -788(fp),-792(fp),r0
2574 bicl3 #0,r0,-788(fp)
2575 cmpl -788(fp),-792(fp)
2582 bicl3 #-65536,-788(fp),r0
2583 ashl #16,r0,-792(fp)
2605 bicl3 #-65536,20(r6),r3
2608 bicl3 #-65536,20(r7),r2
2613 mull3 r0,r5,-796(fp)
2615 mull3 r2,r4,-800(fp)
2617 addl3 -796(fp),-800(fp),r0
2618 bicl3 #0,r0,-796(fp)
2619 cmpl -796(fp),-800(fp)
2626 bicl3 #-65536,-796(fp),r0
2627 ashl #16,r0,-800(fp)
2649 bicl3 #-65536,16(r6),r3
2652 bicl3 #-65536,24(r7),r2
2657 mull3 r0,r5,-804(fp)
2659 mull3 r2,r4,-808(fp)
2661 addl3 -804(fp),-808(fp),r0
2662 bicl3 #0,r0,-804(fp)
2663 cmpl -804(fp),-808(fp)
2670 bicl3 #-65536,-804(fp),r0
2671 ashl #16,r0,-808(fp)
2693 bicl3 #-65536,12(r6),r3
2696 bicl3 #-65536,28(r7),r2
2701 mull3 r0,r5,-812(fp)
2703 mull3 r2,r4,-816(fp)
2705 addl3 -812(fp),-816(fp),r0
2706 bicl3 #0,r0,-812(fp)
2707 cmpl -812(fp),-816(fp)
2714 bicl3 #-65536,-812(fp),r0
2715 ashl #16,r0,-816(fp)
2741 bicl3 #-65536,16(r6),r3
2743 bicl3 #-65536,28(r7),r1
2747 bicl3 #-65536,r2,-828(fp)
2748 mull3 r0,r4,-820(fp)
2750 mull3 r1,-828(fp),-824(fp)
2752 addl3 -820(fp),-824(fp),r0
2753 bicl3 #0,r0,-820(fp)
2754 cmpl -820(fp),-824(fp)
2756 addl2 #65536,-828(fp)
2761 bicl3 #-65536,-820(fp),r0
2762 ashl #16,r0,-824(fp)
2785 bicl3 #-65536,24(r7),r3
2788 bicl3 #-65536,20(r6),-840(fp)
2789 bicl3 #-65536,r2,-844(fp)
2790 mull3 r0,-840(fp),-832(fp)
2792 mull3 r3,-844(fp),-836(fp)
2794 addl3 -832(fp),-836(fp),r0
2795 bicl3 #0,r0,-832(fp)
2796 cmpl -832(fp),-836(fp)
2798 addl2 #65536,-844(fp)
2803 bicl3 #-65536,-832(fp),r0
2804 ashl #16,r0,-836(fp)
2805 addl3 -836(fp),-840(fp),r0
2806 bicl3 #0,r0,-840(fp)
2807 cmpl -840(fp),-836(fp)
2826 bicl3 #-65536,24(r6),r3
2829 bicl3 #-65536,20(r7),r2
2834 mull3 r0,r5,-848(fp)
2836 mull3 r2,r4,-852(fp)
2838 addl3 -848(fp),-852(fp),r0
2839 bicl3 #0,r0,-848(fp)
2840 cmpl -848(fp),-852(fp)
2847 bicl3 #-65536,-848(fp),r0
2848 ashl #16,r0,-852(fp)
2870 bicl3 #-65536,28(r6),r3
2873 bicl3 #-65536,16(r7),r2
2878 mull3 r0,r5,-856(fp)
2880 mull3 r2,r4,-860(fp)
2882 addl3 -856(fp),-860(fp),r0
2883 bicl3 #0,r0,-856(fp)
2884 cmpl -856(fp),-860(fp)
2891 bicl3 #-65536,-856(fp),r0
2892 ashl #16,r0,-860(fp)
2918 bicl3 #-65536,28(r6),r3
2921 bicl3 #-65536,20(r7),r2
2926 mull3 r0,r5,-864(fp)
2928 mull3 r2,r4,-868(fp)
2930 addl3 -864(fp),-868(fp),r0
2931 bicl3 #0,r0,-864(fp)
2932 cmpl -864(fp),-868(fp)
2939 bicl3 #-65536,-864(fp),r0
2940 ashl #16,r0,-868(fp)
2962 bicl3 #-65536,24(r6),r3
2965 bicl3 #-65536,24(r7),r2
2970 mull3 r0,r5,-872(fp)
2972 mull3 r2,r4,-876(fp)
2974 addl3 -872(fp),-876(fp),r0
2975 bicl3 #0,r0,-872(fp)
2976 cmpl -872(fp),-876(fp)
2983 bicl3 #-65536,-872(fp),r0
2984 ashl #16,r0,-876(fp)
3006 bicl3 #-65536,20(r6),r3
3009 bicl3 #-65536,28(r7),r2
3014 mull3 r0,r5,-880(fp)
3016 mull3 r2,r4,-884(fp)
3018 addl3 -880(fp),-884(fp),r0
3019 bicl3 #0,r0,-880(fp)
3020 cmpl -880(fp),-884(fp)
3027 bicl3 #-65536,-880(fp),r0
3028 ashl #16,r0,-884(fp)
3054 bicl3 #-65536,24(r6),r3
3057 bicl3 #-65536,28(r7),r2
3062 mull3 r0,r5,-888(fp)
3064 mull3 r2,r4,-892(fp)
3066 addl3 -888(fp),-892(fp),r0
3067 bicl3 #0,r0,-888(fp)
3068 cmpl -888(fp),-892(fp)
3075 bicl3 #-65536,-888(fp),r0
3076 ashl #16,r0,-892(fp)
3099 bicl3 #-65536,24(r7),r3
3102 bicl3 #-65536,28(r6),-904(fp)
3103 bicl3 #-65536,r2,-908(fp)
3104 mull3 r0,-904(fp),-896(fp)
3106 mull3 r3,-908(fp),-900(fp)
3108 addl3 -896(fp),-900(fp),r0
3109 bicl3 #0,r0,-896(fp)
3110 cmpl -896(fp),-900(fp)
3112 addl2 #65536,-908(fp)
3117 bicl3 #-65536,-896(fp),r0
3118 ashl #16,r0,-900(fp)
3119 addl3 -900(fp),-904(fp),r0
3120 bicl3 #0,r0,-904(fp)
3121 cmpl -904(fp),-900(fp)
3145 bicl3 #-65536,28(r7),r3
3148 bicl3 #-65536,28(r6),-920(fp)
3149 bicl3 #-65536,r2,-924(fp)
3150 mull3 r0,-920(fp),-912(fp)
3152 mull3 r3,-924(fp),-916(fp)
3154 addl3 -912(fp),-916(fp),r0
3155 bicl3 #0,r0,-912(fp)
3156 cmpl -912(fp),-916(fp)
3158 addl2 #65536,-924(fp)
3163 bicl3 #-65536,-912(fp),r0
3164 ashl #16,r0,-916(fp)
3165 addl3 -916(fp),-920(fp),r0
3166 bicl3 #0,r0,-920(fp)
3167 cmpl -920(fp),-916(fp)
3197 ;n=16 ;(AP) n by value (input)
3201 .entry BN_MUL_COMBA4,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
3209 bicl3 #-65536,(r6),r3
3213 bicl3 #-65536,(r7),r1
3222 addl3 -4(fp),-8(fp),r0
3231 bicl3 #-65536,-4(fp),r0
3259 bicl3 #-65536,(r6),r3
3262 bicl3 #-65536,4(r7),r2
3271 addl3 -12(fp),-16(fp),r0
3273 cmpl -12(fp),-16(fp)
3280 bicl3 #-65536,-12(fp),r0
3303 bicl3 #-65536,4(r6),r3
3306 bicl3 #-65536,(r7),r2
3315 addl3 -20(fp),-24(fp),r0
3317 cmpl -20(fp),-24(fp)
3324 bicl3 #-65536,-20(fp),r0
3351 bicl3 #-65536,8(r6),r3
3354 bicl3 #-65536,(r7),r2
3363 addl3 -28(fp),-32(fp),r0
3365 cmpl -28(fp),-32(fp)
3372 bicl3 #-65536,-28(fp),r0
3395 bicl3 #-65536,4(r6),r3
3398 bicl3 #-65536,4(r7),r2
3407 addl3 -36(fp),-40(fp),r0
3409 cmpl -36(fp),-40(fp)
3416 bicl3 #-65536,-36(fp),r0
3439 bicl3 #-65536,(r6),r3
3442 bicl3 #-65536,8(r7),r2
3451 addl3 -44(fp),-48(fp),r0
3453 cmpl -44(fp),-48(fp)
3460 bicl3 #-65536,-44(fp),r0
3487 bicl3 #-65536,(r6),r3
3489 bicl3 #-65536,12(r7),r1
3493 bicl3 #-65536,r2,-60(fp)
3496 mull3 r1,-60(fp),-56(fp)
3498 addl3 -52(fp),-56(fp),r0
3500 cmpl -52(fp),-56(fp)
3502 addl2 #65536,-60(fp)
3507 bicl3 #-65536,-52(fp),r0
3531 bicl3 #-65536,8(r7),r3
3534 bicl3 #-65536,4(r6),-72(fp)
3535 bicl3 #-65536,r2,-76(fp)
3536 mull3 r0,-72(fp),-64(fp)
3538 mull3 r3,-76(fp),-68(fp)
3540 addl3 -64(fp),-68(fp),r0
3542 cmpl -64(fp),-68(fp)
3544 addl2 #65536,-76(fp)
3549 bicl3 #-65536,-64(fp),r0
3551 addl3 -68(fp),-72(fp),r0
3553 cmpl -72(fp),-68(fp)
3572 bicl3 #-65536,8(r6),r3
3575 bicl3 #-65536,4(r7),r2
3584 addl3 -80(fp),-84(fp),r0
3586 cmpl -80(fp),-84(fp)
3593 bicl3 #-65536,-80(fp),r0
3616 bicl3 #-65536,12(r6),r3
3619 bicl3 #-65536,(r7),r2
3628 addl3 -88(fp),-92(fp),r0
3630 cmpl -88(fp),-92(fp)
3637 bicl3 #-65536,-88(fp),r0
3664 bicl3 #-65536,12(r6),r3
3667 bicl3 #-65536,4(r7),r2
3674 mull3 r2,r4,-100(fp)
3676 addl3 -96(fp),-100(fp),r0
3678 cmpl -96(fp),-100(fp)
3685 bicl3 #-65536,-96(fp),r0
3686 ashl #16,r0,-100(fp)
3708 bicl3 #-65536,8(r6),r3
3711 bicl3 #-65536,8(r7),r2
3716 mull3 r0,r5,-104(fp)
3718 mull3 r2,r4,-108(fp)
3720 addl3 -104(fp),-108(fp),r0
3721 bicl3 #0,r0,-104(fp)
3722 cmpl -104(fp),-108(fp)
3729 bicl3 #-65536,-104(fp),r0
3730 ashl #16,r0,-108(fp)
3752 bicl3 #-65536,4(r6),r3
3755 bicl3 #-65536,12(r7),r2
3760 mull3 r0,r5,-112(fp)
3762 mull3 r2,r4,-116(fp)
3764 addl3 -112(fp),-116(fp),r0
3765 bicl3 #0,r0,-112(fp)
3766 cmpl -112(fp),-116(fp)
3773 bicl3 #-65536,-112(fp),r0
3774 ashl #16,r0,-116(fp)
3800 bicl3 #-65536,8(r6),r3
3803 bicl3 #-65536,12(r7),r2
3808 mull3 r0,r5,-120(fp)
3810 mull3 r2,r4,-124(fp)
3812 addl3 -120(fp),-124(fp),r0
3813 bicl3 #0,r0,-120(fp)
3814 cmpl -120(fp),-124(fp)
3821 bicl3 #-65536,-120(fp),r0
3822 ashl #16,r0,-124(fp)
3845 bicl3 #-65536,8(r7),r3
3848 bicl3 #-65536,12(r6),-136(fp)
3849 bicl3 #-65536,r2,-140(fp)
3850 mull3 r0,-136(fp),-128(fp)
3852 mull3 r3,-140(fp),-132(fp)
3854 addl3 -128(fp),-132(fp),r0
3855 bicl3 #0,r0,-128(fp)
3856 cmpl -128(fp),-132(fp)
3858 addl2 #65536,-140(fp)
3863 bicl3 #-65536,-128(fp),r0
3864 ashl #16,r0,-132(fp)
3865 addl3 -132(fp),-136(fp),r0
3866 bicl3 #0,r0,-136(fp)
3867 cmpl -136(fp),-132(fp)
3891 bicl3 #-65536,12(r7),r3
3894 bicl3 #-65536,12(r6),-152(fp)
3895 bicl3 #-65536,r2,-156(fp)
3896 mull3 r0,-152(fp),-144(fp)
3898 mull3 r3,-156(fp),-148(fp)
3900 addl3 -144(fp),-148(fp),r0
3901 bicl3 #0,r0,-144(fp)
3902 cmpl -144(fp),-148(fp)
3904 addl2 #65536,-156(fp)
3909 bicl3 #-65536,-144(fp),r0
3910 ashl #16,r0,-148(fp)
3911 addl3 -148(fp),-152(fp),r0
3912 bicl3 #0,r0,-152(fp)
3913 cmpl -152(fp),-148(fp)
3943 ;n=16 ;(AP) n by value (input)
3947 .entry BN_SQR_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9>
3956 bicl3 #-65536,r3,-4(fp)
3963 bicl3 #32767,-8(fp),r0
3966 bicl3 #-65536,-8(fp),r0
3968 addl3 -4(fp),-8(fp),r0
3994 bicl3 #-65536,(r4),r3
3997 bicl3 #-65536,4(r4),-20(fp)
3998 bicl3 #-65536,r2,-24(fp)
3999 mull3 r0,-20(fp),-12(fp)
4001 mull3 r3,-24(fp),-16(fp)
4003 addl3 -12(fp),-16(fp),r0
4005 cmpl -12(fp),-16(fp)
4007 addl2 #65536,-24(fp)
4012 bicl3 #-65536,-12(fp),r0
4014 addl3 -16(fp),-20(fp),r0
4016 cmpl -20(fp),-16(fp)
4022 bbc #31,r2,noname.374
4027 bbc #31,r3,noname.375
4055 bicl3 #-65536,r3,-28(fp)
4062 bicl3 #32767,-32(fp),r0
4065 bicl3 #-65536,-32(fp),r0
4067 addl3 -28(fp),-32(fp),r0
4069 cmpl -28(fp),-32(fp)
4089 bicl3 #-65536,(r4),r3
4092 bicl3 #-65536,8(r4),-44(fp)
4093 bicl3 #-65536,r2,-48(fp)
4094 mull3 r0,-44(fp),-36(fp)
4096 mull3 r3,-48(fp),-40(fp)
4098 addl3 -36(fp),-40(fp),r0
4100 cmpl -36(fp),-40(fp)
4102 addl2 #65536,-48(fp)
4107 bicl3 #-65536,-36(fp),r0
4109 addl3 -40(fp),-44(fp),r0
4111 cmpl -44(fp),-40(fp)
4117 bbc #31,r2,noname.383
4122 bbc #31,r3,noname.384
4150 bicl3 #-65536,(r0),r3
4153 bicl3 #-65536,12(r0),-60(fp)
4154 bicl3 #-65536,r2,-64(fp)
4155 mull3 r1,-60(fp),-52(fp)
4157 mull3 r3,-64(fp),-56(fp)
4159 addl3 -52(fp),-56(fp),r0
4161 cmpl -52(fp),-56(fp)
4163 addl2 #65536,-64(fp)
4168 bicl3 #-65536,-52(fp),r0
4170 addl3 -56(fp),-60(fp),r0
4172 cmpl -60(fp),-56(fp)
4178 bbc #31,r2,noname.389
4183 bbc #31,r3,noname.390
4206 bicl3 #-65536,4(r0),r3
4209 bicl3 #-65536,8(r0),-76(fp)
4210 bicl3 #-65536,r2,-80(fp)
4211 mull3 r1,-76(fp),-68(fp)
4213 mull3 r3,-80(fp),-72(fp)
4215 addl3 -68(fp),-72(fp),r0
4217 cmpl -68(fp),-72(fp)
4219 addl2 #65536,-80(fp)
4224 bicl3 #-65536,-68(fp),r0
4226 addl3 -72(fp),-76(fp),r0
4228 cmpl -76(fp),-72(fp)
4234 bbc #31,r2,noname.395
4239 bbc #31,r3,noname.396
4267 bicl3 #-65536,r4,-84(fp)
4274 bicl3 #32767,-88(fp),r0
4277 bicl3 #-65536,-88(fp),r0
4279 addl3 -84(fp),-88(fp),r0
4281 cmpl -84(fp),-88(fp)
4301 bicl3 #-65536,4(r2),r1
4304 bicl3 #-65536,12(r2),-100(fp)
4305 bicl3 #-65536,r3,-104(fp)
4306 mull3 r0,-100(fp),-92(fp)
4308 mull3 r1,-104(fp),-96(fp)
4310 addl3 -92(fp),-96(fp),r0
4312 cmpl -92(fp),-96(fp)
4314 addl2 #65536,-104(fp)
4319 bicl3 #-65536,-92(fp),r0
4321 addl3 -96(fp),-100(fp),r0
4322 bicl3 #0,r0,-100(fp)
4323 cmpl -100(fp),-96(fp)
4329 bbc #31,r2,noname.404
4334 bbc #31,r3,noname.405
4357 bicl3 #-65536,(r0),r3
4360 bicl3 #-65536,16(r0),-116(fp)
4361 bicl3 #-65536,r2,-120(fp)
4362 mull3 r1,-116(fp),-108(fp)
4364 mull3 r3,-120(fp),-112(fp)
4366 addl3 -108(fp),-112(fp),r0
4367 bicl3 #0,r0,-108(fp)
4368 cmpl -108(fp),-112(fp)
4370 addl2 #65536,-120(fp)
4375 bicl3 #-65536,-108(fp),r0
4376 ashl #16,r0,-112(fp)
4377 addl3 -112(fp),-116(fp),r0
4378 bicl3 #0,r0,-116(fp)
4379 cmpl -116(fp),-112(fp)
4385 bbc #31,r2,noname.410
4390 bbc #31,r3,noname.411
4418 bicl3 #-65536,(r0),r3
4421 bicl3 #-65536,20(r0),-132(fp)
4422 bicl3 #-65536,r2,-136(fp)
4423 mull3 r1,-132(fp),-124(fp)
4425 mull3 r3,-136(fp),-128(fp)
4427 addl3 -124(fp),-128(fp),r0
4428 bicl3 #0,r0,-124(fp)
4429 cmpl -124(fp),-128(fp)
4431 addl2 #65536,-136(fp)
4436 bicl3 #-65536,-124(fp),r0
4437 ashl #16,r0,-128(fp)
4438 addl3 -128(fp),-132(fp),r0
4439 bicl3 #0,r0,-132(fp)
4440 cmpl -132(fp),-128(fp)
4446 bbc #31,r2,noname.416
4451 bbc #31,r3,noname.417
4474 bicl3 #-65536,4(r0),r3
4477 bicl3 #-65536,16(r0),-148(fp)
4478 bicl3 #-65536,r2,-152(fp)
4479 mull3 r1,-148(fp),-140(fp)
4481 mull3 r3,-152(fp),-144(fp)
4483 addl3 -140(fp),-144(fp),r0
4484 bicl3 #0,r0,-140(fp)
4485 cmpl -140(fp),-144(fp)
4487 addl2 #65536,-152(fp)
4492 bicl3 #-65536,-140(fp),r0
4493 ashl #16,r0,-144(fp)
4494 addl3 -144(fp),-148(fp),r0
4495 bicl3 #0,r0,-148(fp)
4496 cmpl -148(fp),-144(fp)
4502 bbc #31,r2,noname.422
4507 bbc #31,r3,noname.423
4530 bicl3 #-65536,8(r0),r3
4533 bicl3 #-65536,12(r0),-164(fp)
4534 bicl3 #-65536,r2,-168(fp)
4535 mull3 r1,-164(fp),-156(fp)
4537 mull3 r3,-168(fp),-160(fp)
4539 addl3 -156(fp),-160(fp),r0
4540 bicl3 #0,r0,-156(fp)
4541 cmpl -156(fp),-160(fp)
4543 addl2 #65536,-168(fp)
4548 bicl3 #-65536,-156(fp),r0
4549 ashl #16,r0,-160(fp)
4550 addl3 -160(fp),-164(fp),r0
4551 bicl3 #0,r0,-164(fp)
4552 cmpl -164(fp),-160(fp)
4558 bbc #31,r2,noname.428
4563 bbc #31,r3,noname.429
4591 bicl3 #-65536,r4,-172(fp)
4595 mull3 r0,r4,-176(fp)
4596 mull3 r0,r0,-172(fp)
4598 bicl3 #32767,-176(fp),r0
4601 bicl3 #-65536,-176(fp),r0
4602 ashl #17,r0,-176(fp)
4603 addl3 -172(fp),-176(fp),r0
4604 bicl3 #0,r0,-172(fp)
4605 cmpl -172(fp),-176(fp)
4625 bicl3 #-65536,8(r2),r1
4628 bicl3 #-65536,16(r2),-188(fp)
4629 bicl3 #-65536,r3,-192(fp)
4630 mull3 r0,-188(fp),-180(fp)
4632 mull3 r1,-192(fp),-184(fp)
4634 addl3 -180(fp),-184(fp),r0
4635 bicl3 #0,r0,-180(fp)
4636 cmpl -180(fp),-184(fp)
4638 addl2 #65536,-192(fp)
4643 bicl3 #-65536,-180(fp),r0
4644 ashl #16,r0,-184(fp)
4645 addl3 -184(fp),-188(fp),r0
4646 bicl3 #0,r0,-188(fp)
4647 cmpl -188(fp),-184(fp)
4653 bbc #31,r2,noname.437
4658 bbc #31,r3,noname.438
4681 bicl3 #-65536,4(r0),r3
4684 bicl3 #-65536,20(r0),-204(fp)
4685 bicl3 #-65536,r2,-208(fp)
4686 mull3 r1,-204(fp),-196(fp)
4688 mull3 r3,-208(fp),-200(fp)
4690 addl3 -196(fp),-200(fp),r0
4691 bicl3 #0,r0,-196(fp)
4692 cmpl -196(fp),-200(fp)
4694 addl2 #65536,-208(fp)
4699 bicl3 #-65536,-196(fp),r0
4700 ashl #16,r0,-200(fp)
4701 addl3 -200(fp),-204(fp),r0
4702 bicl3 #0,r0,-204(fp)
4703 cmpl -204(fp),-200(fp)
4709 bbc #31,r2,noname.443
4714 bbc #31,r3,noname.444
4737 bicl3 #-65536,(r0),r3
4740 bicl3 #-65536,24(r0),-220(fp)
4741 bicl3 #-65536,r2,-224(fp)
4742 mull3 r1,-220(fp),-212(fp)
4744 mull3 r3,-224(fp),-216(fp)
4746 addl3 -212(fp),-216(fp),r0
4747 bicl3 #0,r0,-212(fp)
4748 cmpl -212(fp),-216(fp)
4750 addl2 #65536,-224(fp)
4755 bicl3 #-65536,-212(fp),r0
4756 ashl #16,r0,-216(fp)
4757 addl3 -216(fp),-220(fp),r0
4758 bicl3 #0,r0,-220(fp)
4759 cmpl -220(fp),-216(fp)
4765 bbc #31,r2,noname.449
4770 bbc #31,r3,noname.450
4798 bicl3 #-65536,(r0),r3
4801 bicl3 #-65536,28(r0),-236(fp)
4802 bicl3 #-65536,r2,-240(fp)
4803 mull3 r1,-236(fp),-228(fp)
4805 mull3 r3,-240(fp),-232(fp)
4807 addl3 -228(fp),-232(fp),r0
4808 bicl3 #0,r0,-228(fp)
4809 cmpl -228(fp),-232(fp)
4811 addl2 #65536,-240(fp)
4816 bicl3 #-65536,-228(fp),r0
4817 ashl #16,r0,-232(fp)
4818 addl3 -232(fp),-236(fp),r0
4819 bicl3 #0,r0,-236(fp)
4820 cmpl -236(fp),-232(fp)
4826 bbc #31,r2,noname.455
4831 bbc #31,r3,noname.456
4854 bicl3 #-65536,4(r0),r3
4857 bicl3 #-65536,24(r0),-252(fp)
4858 bicl3 #-65536,r2,-256(fp)
4859 mull3 r1,-252(fp),-244(fp)
4861 mull3 r3,-256(fp),-248(fp)
4863 addl3 -244(fp),-248(fp),r0
4864 bicl3 #0,r0,-244(fp)
4865 cmpl -244(fp),-248(fp)
4867 addl2 #65536,-256(fp)
4872 bicl3 #-65536,-244(fp),r0
4873 ashl #16,r0,-248(fp)
4874 addl3 -248(fp),-252(fp),r0
4875 bicl3 #0,r0,-252(fp)
4876 cmpl -252(fp),-248(fp)
4882 bbc #31,r2,noname.461
4887 bbc #31,r3,noname.462
4910 bicl3 #-65536,8(r0),r3
4913 bicl3 #-65536,20(r0),-268(fp)
4914 bicl3 #-65536,r2,-272(fp)
4915 mull3 r1,-268(fp),-260(fp)
4917 mull3 r3,-272(fp),-264(fp)
4919 addl3 -260(fp),-264(fp),r0
4920 bicl3 #0,r0,-260(fp)
4921 cmpl -260(fp),-264(fp)
4923 addl2 #65536,-272(fp)
4928 bicl3 #-65536,-260(fp),r0
4929 ashl #16,r0,-264(fp)
4930 addl3 -264(fp),-268(fp),r0
4931 bicl3 #0,r0,-268(fp)
4932 cmpl -268(fp),-264(fp)
4938 bbc #31,r2,noname.467
4943 bbc #31,r3,noname.468
4966 bicl3 #-65536,12(r0),r3
4969 bicl3 #-65536,16(r0),-284(fp)
4970 bicl3 #-65536,r2,-288(fp)
4971 mull3 r1,-284(fp),-276(fp)
4973 mull3 r3,-288(fp),-280(fp)
4975 addl3 -276(fp),-280(fp),r0
4976 bicl3 #0,r0,-276(fp)
4977 cmpl -276(fp),-280(fp)
4979 addl2 #65536,-288(fp)
4984 bicl3 #-65536,-276(fp),r0
4985 ashl #16,r0,-280(fp)
4986 addl3 -280(fp),-284(fp),r0
4987 bicl3 #0,r0,-284(fp)
4988 cmpl -284(fp),-280(fp)
4994 bbc #31,r2,noname.473
4999 bbc #31,r3,noname.474
5030 mull3 r5,r4,-292(fp)
5033 bicl3 #32767,-292(fp),r0
5036 bicl3 #-65536,-292(fp),r0
5037 ashl #17,r0,-292(fp)
5059 bicl3 #-65536,20(r3),r4
5062 bicl3 #-65536,12(r3),r2
5067 mull3 r0,r6,-296(fp)
5069 mull3 r2,r5,-300(fp)
5071 addl3 -296(fp),-300(fp),r0
5072 bicl3 #0,r0,-296(fp)
5073 cmpl -296(fp),-300(fp)
5080 bicl3 #-65536,-296(fp),r0
5081 ashl #16,r0,-300(fp)
5090 bbc #31,r2,noname.482
5095 bbc #31,r3,noname.483
5117 bicl3 #-65536,24(r0),r3
5120 bicl3 #-65536,8(r0),r2
5125 mull3 r0,r5,-304(fp)
5127 mull3 r2,r4,-308(fp)
5129 addl3 -304(fp),-308(fp),r0
5130 bicl3 #0,r0,-304(fp)
5131 cmpl -304(fp),-308(fp)
5138 bicl3 #-65536,-304(fp),r0
5139 ashl #16,r0,-308(fp)
5148 bbc #31,r2,noname.488
5153 bbc #31,r3,noname.489
5175 bicl3 #-65536,28(r0),r3
5178 bicl3 #-65536,4(r0),r2
5183 mull3 r0,r5,-312(fp)
5185 mull3 r2,r4,-316(fp)
5187 addl3 -312(fp),-316(fp),r0
5188 bicl3 #0,r0,-312(fp)
5189 cmpl -312(fp),-316(fp)
5196 bicl3 #-65536,-312(fp),r0
5197 ashl #16,r0,-316(fp)
5206 bbc #31,r2,noname.494
5211 bbc #31,r3,noname.495
5238 bicl3 #-65536,28(r0),r3
5240 bicl3 #-65536,8(r0),r1
5244 bicl3 #-65536,r2,-328(fp)
5245 mull3 r0,r4,-320(fp)
5247 mull3 r1,-328(fp),-324(fp)
5249 addl3 -320(fp),-324(fp),r0
5250 bicl3 #0,r0,-320(fp)
5251 cmpl -320(fp),-324(fp)
5253 addl2 #65536,-328(fp)
5258 bicl3 #-65536,-320(fp),r0
5259 ashl #16,r0,-324(fp)
5268 bbc #31,r2,noname.500
5273 bbc #31,r3,noname.501
5296 bicl3 #-65536,12(r0),r3
5299 bicl3 #-65536,24(r0),-340(fp)
5300 bicl3 #-65536,r2,-344(fp)
5301 mull3 r1,-340(fp),-332(fp)
5303 mull3 r3,-344(fp),-336(fp)
5305 addl3 -332(fp),-336(fp),r0
5306 bicl3 #0,r0,-332(fp)
5307 cmpl -332(fp),-336(fp)
5309 addl2 #65536,-344(fp)
5314 bicl3 #-65536,-332(fp),r0
5315 ashl #16,r0,-336(fp)
5316 addl3 -336(fp),-340(fp),r0
5317 bicl3 #0,r0,-340(fp)
5318 cmpl -340(fp),-336(fp)
5324 bbc #31,r2,noname.506
5329 bbc #31,r3,noname.507
5352 bicl3 #-65536,16(r0),r3
5355 bicl3 #-65536,20(r0),-356(fp)
5356 bicl3 #-65536,r2,-360(fp)
5357 mull3 r1,-356(fp),-348(fp)
5359 mull3 r3,-360(fp),-352(fp)
5361 addl3 -348(fp),-352(fp),r0
5362 bicl3 #0,r0,-348(fp)
5363 cmpl -348(fp),-352(fp)
5365 addl2 #65536,-360(fp)
5370 bicl3 #-65536,-348(fp),r0
5371 ashl #16,r0,-352(fp)
5372 addl3 -352(fp),-356(fp),r0
5373 bicl3 #0,r0,-356(fp)
5374 cmpl -356(fp),-352(fp)
5380 bbc #31,r2,noname.512
5385 bbc #31,r3,noname.513
5413 bicl3 #-65536,r4,-364(fp)
5417 mull3 r0,r4,-368(fp)
5418 mull3 r0,r0,-364(fp)
5420 bicl3 #32767,-368(fp),r0
5423 bicl3 #-65536,-368(fp),r0
5424 ashl #17,r0,-368(fp)
5425 addl3 -364(fp),-368(fp),r0
5426 bicl3 #0,r0,-364(fp)
5427 cmpl -364(fp),-368(fp)
5446 bicl3 #-65536,24(r3),r4
5449 bicl3 #-65536,16(r3),r2
5454 mull3 r0,r6,-372(fp)
5456 mull3 r2,r5,-376(fp)
5458 addl3 -372(fp),-376(fp),r0
5459 bicl3 #0,r0,-372(fp)
5460 cmpl -372(fp),-376(fp)
5467 bicl3 #-65536,-372(fp),r0
5468 ashl #16,r0,-376(fp)
5477 bbc #31,r2,noname.521
5482 bbc #31,r3,noname.522
5504 bicl3 #-65536,28(r0),r3
5507 bicl3 #-65536,12(r0),r2
5512 mull3 r0,r5,-380(fp)
5514 mull3 r2,r4,-384(fp)
5516 addl3 -380(fp),-384(fp),r0
5517 bicl3 #0,r0,-380(fp)
5518 cmpl -380(fp),-384(fp)
5525 bicl3 #-65536,-380(fp),r0
5526 ashl #16,r0,-384(fp)
5535 bbc #31,r2,noname.527
5540 bbc #31,r3,noname.528
5566 bicl3 #-65536,28(r0),r3
5569 bicl3 #-65536,16(r0),r2
5574 mull3 r0,r5,-388(fp)
5576 mull3 r2,r4,-392(fp)
5578 addl3 -388(fp),-392(fp),r0
5579 bicl3 #0,r0,-388(fp)
5580 cmpl -388(fp),-392(fp)
5587 bicl3 #-65536,-388(fp),r0
5588 ashl #16,r0,-392(fp)
5597 bbc #31,r2,noname.533
5602 bbc #31,r3,noname.534
5624 bicl3 #-65536,24(r0),r3
5627 bicl3 #-65536,20(r0),r2
5632 mull3 r0,r5,-396(fp)
5634 mull3 r2,r4,-400(fp)
5636 addl3 -396(fp),-400(fp),r0
5637 bicl3 #0,r0,-396(fp)
5638 cmpl -396(fp),-400(fp)
5645 bicl3 #-65536,-396(fp),r0
5646 ashl #16,r0,-400(fp)
5655 bbc #31,r2,noname.539
5660 bbc #31,r3,noname.540
5691 mull3 r5,r4,-404(fp)
5694 bicl3 #32767,-404(fp),r0
5697 bicl3 #-65536,-404(fp),r0
5698 ashl #17,r0,-404(fp)
5721 bicl3 #-65536,20(r3),r1
5724 bicl3 #-65536,28(r3),-416(fp)
5725 bicl3 #-65536,r2,-420(fp)
5726 mull3 r0,-416(fp),-408(fp)
5728 mull3 r1,-420(fp),-412(fp)
5730 addl3 -408(fp),-412(fp),r0
5731 bicl3 #0,r0,-408(fp)
5732 cmpl -408(fp),-412(fp)
5734 addl2 #65536,-420(fp)
5739 bicl3 #-65536,-408(fp),r0
5740 ashl #16,r0,-412(fp)
5741 addl3 -412(fp),-416(fp),r0
5742 bicl3 #0,r0,-416(fp)
5743 cmpl -416(fp),-412(fp)
5749 bbc #31,r2,noname.548
5754 bbc #31,r3,noname.549
5782 bicl3 #-65536,24(r0),r3
5785 bicl3 #-65536,28(r0),-432(fp)
5786 bicl3 #-65536,r2,-436(fp)
5787 mull3 r1,-432(fp),-424(fp)
5789 mull3 r3,-436(fp),-428(fp)
5791 addl3 -424(fp),-428(fp),r0
5792 bicl3 #0,r0,-424(fp)
5793 cmpl -424(fp),-428(fp)
5795 addl2 #65536,-436(fp)
5800 bicl3 #-65536,-424(fp),r0
5801 ashl #16,r0,-428(fp)
5802 addl3 -428(fp),-432(fp),r0
5803 bicl3 #0,r0,-432(fp)
5804 cmpl -432(fp),-428(fp)
5810 bbc #31,r2,noname.554
5815 bbc #31,r3,noname.555
5843 bicl3 #-65536,r3,-440(fp)
5847 mull3 r0,r3,-444(fp)
5848 mull3 r0,r0,-440(fp)
5850 bicl3 #32767,-444(fp),r0
5853 bicl3 #-65536,-444(fp),r0
5854 ashl #17,r0,-444(fp)
5855 addl3 -440(fp),-444(fp),r0
5856 bicl3 #0,r0,-440(fp)
5857 cmpl -440(fp),-444(fp)
5887 ;n=16 ;(AP) n by value (input)
5891 .entry BN_SQR_COMBA4,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10>
5906 bicl3 #32767,-4(fp),r0
5909 bicl3 #-65536,-4(fp),r0
5936 bicl3 #-65536,4(r5),r3
5939 bicl3 #-65536,(r5),r2
5957 bicl3 #-65536,-8(fp),r0
5967 bbc #31,r2,noname.568
5972 bbc #31,r3,noname.569
6032 bicl3 #-65536,8(r4),r3
6035 bicl3 #-65536,(r4),r2
6063 bbc #31,r2,noname.577
6068 bbc #31,r3,noname.578
6095 bicl3 #-65536,12(r0),r3
6098 bicl3 #-65536,(r0),r2
6126 bbc #31,r2,noname.583
6131 bbc #31,r3,noname.584
6153 bicl3 #-65536,8(r0),r3
6156 bicl3 #-65536,4(r0),r2
6165 addl3 -16(fp),-20(fp),r0
6167 cmpl -16(fp),-20(fp)
6174 bicl3 #-65536,-16(fp),r0
6184 bbc #31,r2,noname.589
6189 bbc #31,r3,noname.590
6222 bicl3 #32767,-24(fp),r0
6225 bicl3 #-65536,-24(fp),r0
6248 bicl3 #-65536,12(r3),r4
6251 bicl3 #-65536,4(r3),r2
6260 addl3 -28(fp),-32(fp),r0
6262 cmpl -28(fp),-32(fp)
6269 bicl3 #-65536,-28(fp),r0
6279 bbc #31,r2,noname.598
6284 bbc #31,r3,noname.599
6311 bicl3 #-65536,12(r0),r3
6314 bicl3 #-65536,8(r0),r2
6323 addl3 -36(fp),-40(fp),r0
6325 cmpl -36(fp),-40(fp)
6332 bicl3 #-65536,-36(fp),r0
6342 bbc #31,r2,noname.604
6347 bbc #31,r3,noname.605
6381 bicl3 #32767,-44(fp),r0
6384 bicl3 #-65536,-44(fp),r0
6413 ; For now, the code below doesn't work, so I end this prematurely.