1 .title vax_bn_mul_add_word 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_word 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 ; Therefore, som extra things have to happen around it. The way to
176 ; handle that is to shift all operands right one step (basically dividing
177 ; them by 2) and handle the different cases depending on what the lowest
178 ; bit of each operand was.
180 ; To start with, let's define the following:
183 ; a2 = <h,l> >> 1 # UNSIGNED shift!
185 ; b2 = d >> 1 # UNSIGNED shift!
187 ; Now, use EDIV to calculate a quotient and a remainder:
192 ; If b' is 0, the quotient is already correct, we just need to adjust the
201 ; If b' is 1, we need to do other adjustements. The first thought is the
202 ; following (note that r' will not always have the right value, but an
203 ; adjustement follows further down):
210 ; However, one can note the folowing relationship:
213 ; => 2*r'' = 2*a2 - 2*q''*b2
214 ; = { a = 2*a2 + a', b = 2*b2 + b' = 2*b2 + 1,
216 ; = a - a' - q'*(b - 1)
217 ; = a - q'*b - a' + q'
219 ; => r' = 2*r'' - q' + a'
221 ; This enables us to use r'' instead of discarding and calculating another
227 ; r' = (r'' << 1) - q' + a'
229 ; Now, all we have to do is adjust r', because it might be < 0:
240 h=4 ;(AP) h by value (input)
241 l=8 ;(AP) l by value (input)
242 d=12 ;(AP) d by value (input)
250 ;qprim=r10 ; initially used as q''
251 ;rprim=r11 ; initially used as r''
256 .entry bn_div_words,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
265 rotl #-1,r2,r6 ; a20 = l >> 1 (almost)
266 rotl #-1,r3,r7 ; a21 = h >> 1 (almost)
267 rotl #-1,r4,r9 ; b2 = d >> 1 (almost)
271 xorl2 #^X80000000,r6 ; fixup a20 so highest bit is 0
276 xorl2 #^X80000000,r6 ; fixup a20 so highest bit is 1,
277 ; since that's what was lowest in a21
278 xorl2 #^X80000000,r7 ; fixup a21 so highest bit is 1
281 bgeq 666$ ; Uh-oh, the divisor is 0...
283 xorl2 #^X80000000,r9 ; fixup b2 so highest bit is 1
287 bneq 4$ ; if b2 is 0, we know that bprim is 1
289 bneq 666$ ; if higher half isn't 0, we overflow
290 movl r0,r6 ; otherwise, we have our result
296 bneq 5$ ; If b' != 0, go to the other part
316 .title vax_bn_add_words unsigned add of two arrays
318 ; Richard Levitte 20-Nov-2000
320 ; ULONG bn_add_words(ULONG r[], ULONG a[], ULONG b[], int n) {
323 ; for (i = 0; i < n; i++) <c,r[i]> = a[i] + b[i] + c;
327 r=4 ;(AP) r by reference (output)
328 a=8 ;(AP) a by reference (input)
329 b=12 ;(AP) b by reference (input)
330 n=16 ;(AP) n by value (input)
335 .entry bn_add_words,^m<r2,r3,r4,r5,r6>
340 movl n(ap),r5 ; assumed >0 by C code
347 movl (r3)+,r6 ; carry untouched
348 adwc (r4)+,r6 ; carry used and touched
349 movl r6,(r2)+ ; carry untouched
350 sobgtr r5,0$ ; carry untouched
356 .title vax_bn_sub_words unsigned add of two arrays
358 ; Richard Levitte 20-Nov-2000
360 ; ULONG bn_sub_words(ULONG r[], ULONG a[], ULONG b[], int n) {
363 ; for (i = 0; i < n; i++) <c,r[i]> = a[i] - b[i] - c;
367 r=4 ;(AP) r by reference (output)
368 a=8 ;(AP) a by reference (input)
369 b=12 ;(AP) b by reference (input)
370 n=16 ;(AP) n by value (input)
375 .entry bn_sub_words,^m<r2,r3,r4,r5,r6>
380 movl n(ap),r5 ; assumed >0 by C code
387 movl (r3)+,r6 ; carry untouched
388 sbwc (r4)+,r6 ; carry used and touched
389 movl r6,(r2)+ ; carry untouched
390 sobgtr r5,0$ ; carry untouched
400 ;n=16 ;(AP) n by value (input)
404 .entry BN_MUL_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
413 bicl3 #-65536,(r7),r2
416 bicl3 #-65536,(r6),-12(fp)
417 bicl3 #-65536,r3,-16(fp)
418 mull3 r0,-12(fp),-4(fp)
420 mull3 r2,-16(fp),-8(fp)
422 addl3 -4(fp),-8(fp),r0
431 bicl3 #-65536,-4(fp),r0
433 addl3 -8(fp),-12(fp),r0
460 bicl3 #-65536,4(r7),r3
463 bicl3 #-65536,(r6),-28(fp)
464 bicl3 #-65536,r2,-32(fp)
465 mull3 r0,-28(fp),-20(fp)
467 mull3 r3,-32(fp),-24(fp)
469 addl3 -20(fp),-24(fp),r0
478 bicl3 #-65536,-20(fp),r0
480 addl3 -24(fp),-28(fp),r0
502 bicl3 #-65536,(r7),r3
505 bicl3 #-65536,4(r6),-44(fp)
506 bicl3 #-65536,r2,-48(fp)
507 mull3 r0,-44(fp),-36(fp)
509 mull3 r3,-48(fp),-40(fp)
511 addl3 -36(fp),-40(fp),r0
520 bicl3 #-65536,-36(fp),r0
522 addl3 -40(fp),-44(fp),r0
548 bicl3 #-65536,(r7),r3
551 bicl3 #-65536,8(r6),-60(fp)
552 bicl3 #-65536,r2,-64(fp)
553 mull3 r0,-60(fp),-52(fp)
555 mull3 r3,-64(fp),-56(fp)
557 addl3 -52(fp),-56(fp),r0
566 bicl3 #-65536,-52(fp),r0
568 addl3 -56(fp),-60(fp),r0
590 bicl3 #-65536,4(r7),r3
593 bicl3 #-65536,4(r6),-76(fp)
594 bicl3 #-65536,r2,-80(fp)
595 mull3 r0,-76(fp),-68(fp)
597 mull3 r3,-80(fp),-72(fp)
599 addl3 -68(fp),-72(fp),r0
608 bicl3 #-65536,-68(fp),r0
610 addl3 -72(fp),-76(fp),r0
632 bicl3 #-65536,8(r7),r3
635 bicl3 #-65536,(r6),-92(fp)
636 bicl3 #-65536,r2,-96(fp)
637 mull3 r0,-92(fp),-84(fp)
639 mull3 r3,-96(fp),-88(fp)
641 addl3 -84(fp),-88(fp),r0
650 bicl3 #-65536,-84(fp),r0
652 addl3 -88(fp),-92(fp),r0
678 bicl3 #-65536,12(r7),r3
681 bicl3 #-65536,(r6),-108(fp)
682 bicl3 #-65536,r2,-112(fp)
683 mull3 r0,-108(fp),-100(fp)
685 mull3 r3,-112(fp),-104(fp)
687 addl3 -100(fp),-104(fp),r0
689 cmpl -100(fp),-104(fp)
691 addl2 #65536,-112(fp)
696 bicl3 #-65536,-100(fp),r0
698 addl3 -104(fp),-108(fp),r0
700 cmpl -108(fp),-104(fp)
720 bicl3 #-65536,8(r7),r3
723 bicl3 #-65536,4(r6),-124(fp)
724 bicl3 #-65536,r2,-128(fp)
725 mull3 r0,-124(fp),-116(fp)
727 mull3 r3,-128(fp),-120(fp)
729 addl3 -116(fp),-120(fp),r0
731 cmpl -116(fp),-120(fp)
733 addl2 #65536,-128(fp)
738 bicl3 #-65536,-116(fp),r0
740 addl3 -120(fp),-124(fp),r0
742 cmpl -124(fp),-120(fp)
762 bicl3 #-65536,4(r7),r3
765 bicl3 #-65536,8(r6),-140(fp)
766 bicl3 #-65536,r2,-144(fp)
767 mull3 r0,-140(fp),-132(fp)
769 mull3 r3,-144(fp),-136(fp)
771 addl3 -132(fp),-136(fp),r0
773 cmpl -132(fp),-136(fp)
775 addl2 #65536,-144(fp)
780 bicl3 #-65536,-132(fp),r0
782 addl3 -136(fp),-140(fp),r0
784 cmpl -140(fp),-136(fp)
804 bicl3 #-65536,(r7),r3
807 bicl3 #-65536,12(r6),-156(fp)
808 bicl3 #-65536,r2,-160(fp)
809 mull3 r0,-156(fp),-148(fp)
811 mull3 r3,-160(fp),-152(fp)
813 addl3 -148(fp),-152(fp),r0
815 cmpl -148(fp),-152(fp)
817 addl2 #65536,-160(fp)
822 bicl3 #-65536,-148(fp),r0
824 addl3 -152(fp),-156(fp),r0
826 cmpl -156(fp),-152(fp)
850 bicl3 #-65536,(r7),r3
853 bicl3 #-65536,16(r6),-172(fp)
854 bicl3 #-65536,r2,-176(fp)
855 mull3 r0,-172(fp),-164(fp)
857 mull3 r3,-176(fp),-168(fp)
859 addl3 -164(fp),-168(fp),r0
861 cmpl -164(fp),-168(fp)
863 addl2 #65536,-176(fp)
868 bicl3 #-65536,-164(fp),r0
870 addl3 -168(fp),-172(fp),r0
872 cmpl -172(fp),-168(fp)
892 bicl3 #-65536,4(r7),r3
895 bicl3 #-65536,12(r6),-188(fp)
896 bicl3 #-65536,r2,-192(fp)
897 mull3 r0,-188(fp),-180(fp)
899 mull3 r3,-192(fp),-184(fp)
901 addl3 -180(fp),-184(fp),r0
903 cmpl -180(fp),-184(fp)
905 addl2 #65536,-192(fp)
910 bicl3 #-65536,-180(fp),r0
912 addl3 -184(fp),-188(fp),r0
914 cmpl -188(fp),-184(fp)
934 bicl3 #-65536,8(r7),r3
937 bicl3 #-65536,8(r6),-204(fp)
938 bicl3 #-65536,r2,-208(fp)
939 mull3 r0,-204(fp),-196(fp)
941 mull3 r3,-208(fp),-200(fp)
943 addl3 -196(fp),-200(fp),r0
945 cmpl -196(fp),-200(fp)
947 addl2 #65536,-208(fp)
952 bicl3 #-65536,-196(fp),r0
954 addl3 -200(fp),-204(fp),r0
956 cmpl -204(fp),-200(fp)
976 bicl3 #-65536,12(r7),r3
979 bicl3 #-65536,4(r6),-220(fp)
980 bicl3 #-65536,r2,-224(fp)
981 mull3 r0,-220(fp),-212(fp)
983 mull3 r3,-224(fp),-216(fp)
985 addl3 -212(fp),-216(fp),r0
987 cmpl -212(fp),-216(fp)
989 addl2 #65536,-224(fp)
994 bicl3 #-65536,-212(fp),r0
996 addl3 -216(fp),-220(fp),r0
998 cmpl -220(fp),-216(fp)
1018 bicl3 #-65536,16(r7),r3
1021 bicl3 #-65536,(r6),-236(fp)
1022 bicl3 #-65536,r2,-240(fp)
1023 mull3 r0,-236(fp),-228(fp)
1025 mull3 r3,-240(fp),-232(fp)
1027 addl3 -228(fp),-232(fp),r0
1028 bicl3 #0,r0,-228(fp)
1029 cmpl -228(fp),-232(fp)
1031 addl2 #65536,-240(fp)
1036 bicl3 #-65536,-228(fp),r0
1037 ashl #16,r0,-232(fp)
1038 addl3 -232(fp),-236(fp),r0
1039 bicl3 #0,r0,-236(fp)
1040 cmpl -236(fp),-232(fp)
1064 bicl3 #-65536,20(r7),r3
1067 bicl3 #-65536,(r6),-252(fp)
1068 bicl3 #-65536,r2,-256(fp)
1069 mull3 r0,-252(fp),-244(fp)
1071 mull3 r3,-256(fp),-248(fp)
1073 addl3 -244(fp),-248(fp),r0
1074 bicl3 #0,r0,-244(fp)
1075 cmpl -244(fp),-248(fp)
1077 addl2 #65536,-256(fp)
1082 bicl3 #-65536,-244(fp),r0
1083 ashl #16,r0,-248(fp)
1084 addl3 -248(fp),-252(fp),r0
1085 bicl3 #0,r0,-252(fp)
1086 cmpl -252(fp),-248(fp)
1106 bicl3 #-65536,16(r7),r3
1109 bicl3 #-65536,4(r6),-268(fp)
1110 bicl3 #-65536,r2,-272(fp)
1111 mull3 r0,-268(fp),-260(fp)
1113 mull3 r3,-272(fp),-264(fp)
1115 addl3 -260(fp),-264(fp),r0
1116 bicl3 #0,r0,-260(fp)
1117 cmpl -260(fp),-264(fp)
1119 addl2 #65536,-272(fp)
1124 bicl3 #-65536,-260(fp),r0
1125 ashl #16,r0,-264(fp)
1126 addl3 -264(fp),-268(fp),r0
1127 bicl3 #0,r0,-268(fp)
1128 cmpl -268(fp),-264(fp)
1148 bicl3 #-65536,12(r7),r3
1151 bicl3 #-65536,8(r6),-284(fp)
1152 bicl3 #-65536,r2,-288(fp)
1153 mull3 r0,-284(fp),-276(fp)
1155 mull3 r3,-288(fp),-280(fp)
1157 addl3 -276(fp),-280(fp),r0
1158 bicl3 #0,r0,-276(fp)
1159 cmpl -276(fp),-280(fp)
1161 addl2 #65536,-288(fp)
1166 bicl3 #-65536,-276(fp),r0
1167 ashl #16,r0,-280(fp)
1168 addl3 -280(fp),-284(fp),r0
1169 bicl3 #0,r0,-284(fp)
1170 cmpl -284(fp),-280(fp)
1190 bicl3 #-65536,8(r7),r3
1193 bicl3 #-65536,12(r6),-300(fp)
1194 bicl3 #-65536,r2,-304(fp)
1195 mull3 r0,-300(fp),-292(fp)
1197 mull3 r3,-304(fp),-296(fp)
1199 addl3 -292(fp),-296(fp),r0
1200 bicl3 #0,r0,-292(fp)
1201 cmpl -292(fp),-296(fp)
1203 addl2 #65536,-304(fp)
1208 bicl3 #-65536,-292(fp),r0
1209 ashl #16,r0,-296(fp)
1210 addl3 -296(fp),-300(fp),r0
1211 bicl3 #0,r0,-300(fp)
1212 cmpl -300(fp),-296(fp)
1232 bicl3 #-65536,4(r7),r3
1235 bicl3 #-65536,16(r6),-316(fp)
1236 bicl3 #-65536,r2,-320(fp)
1237 mull3 r0,-316(fp),-308(fp)
1239 mull3 r3,-320(fp),-312(fp)
1241 addl3 -308(fp),-312(fp),r0
1242 bicl3 #0,r0,-308(fp)
1243 cmpl -308(fp),-312(fp)
1245 addl2 #65536,-320(fp)
1250 bicl3 #-65536,-308(fp),r0
1251 ashl #16,r0,-312(fp)
1252 addl3 -312(fp),-316(fp),r0
1253 bicl3 #0,r0,-316(fp)
1254 cmpl -316(fp),-312(fp)
1275 bicl3 #-65536,(r7),r3
1278 bicl3 #-65536,20(r6),-332(fp)
1279 bicl3 #-65536,r2,-336(fp)
1280 mull3 r0,-332(fp),-324(fp)
1282 mull3 r3,-336(fp),-328(fp)
1284 addl3 -324(fp),-328(fp),r0
1285 bicl3 #0,r0,-324(fp)
1286 cmpl -324(fp),-328(fp)
1288 addl2 #65536,-336(fp)
1293 bicl3 #-65536,-324(fp),r0
1294 ashl #16,r0,-328(fp)
1295 addl3 -328(fp),-332(fp),r0
1296 bicl3 #0,r0,-332(fp)
1297 cmpl -332(fp),-328(fp)
1321 bicl3 #-65536,(r7),r3
1324 bicl3 #-65536,24(r6),-348(fp)
1325 bicl3 #-65536,r2,-352(fp)
1326 mull3 r0,-348(fp),-340(fp)
1328 mull3 r3,-352(fp),-344(fp)
1330 addl3 -340(fp),-344(fp),r0
1331 bicl3 #0,r0,-340(fp)
1332 cmpl -340(fp),-344(fp)
1334 addl2 #65536,-352(fp)
1339 bicl3 #-65536,-340(fp),r0
1340 ashl #16,r0,-344(fp)
1341 addl3 -344(fp),-348(fp),r0
1342 bicl3 #0,r0,-348(fp)
1343 cmpl -348(fp),-344(fp)
1363 bicl3 #-65536,4(r7),r3
1366 bicl3 #-65536,20(r6),-364(fp)
1367 bicl3 #-65536,r2,-368(fp)
1368 mull3 r0,-364(fp),-356(fp)
1370 mull3 r3,-368(fp),-360(fp)
1372 addl3 -356(fp),-360(fp),r0
1373 bicl3 #0,r0,-356(fp)
1374 cmpl -356(fp),-360(fp)
1376 addl2 #65536,-368(fp)
1381 bicl3 #-65536,-356(fp),r0
1382 ashl #16,r0,-360(fp)
1383 addl3 -360(fp),-364(fp),r0
1384 bicl3 #0,r0,-364(fp)
1385 cmpl -364(fp),-360(fp)
1405 bicl3 #-65536,8(r7),r3
1408 bicl3 #-65536,16(r6),-380(fp)
1409 bicl3 #-65536,r2,-384(fp)
1410 mull3 r0,-380(fp),-372(fp)
1412 mull3 r3,-384(fp),-376(fp)
1414 addl3 -372(fp),-376(fp),r0
1415 bicl3 #0,r0,-372(fp)
1416 cmpl -372(fp),-376(fp)
1418 addl2 #65536,-384(fp)
1423 bicl3 #-65536,-372(fp),r0
1424 ashl #16,r0,-376(fp)
1425 addl3 -376(fp),-380(fp),r0
1426 bicl3 #0,r0,-380(fp)
1427 cmpl -380(fp),-376(fp)
1447 bicl3 #-65536,12(r7),r3
1450 bicl3 #-65536,12(r6),-396(fp)
1451 bicl3 #-65536,r2,-400(fp)
1452 mull3 r0,-396(fp),-388(fp)
1454 mull3 r3,-400(fp),-392(fp)
1456 addl3 -388(fp),-392(fp),r0
1457 bicl3 #0,r0,-388(fp)
1458 cmpl -388(fp),-392(fp)
1460 addl2 #65536,-400(fp)
1465 bicl3 #-65536,-388(fp),r0
1466 ashl #16,r0,-392(fp)
1467 addl3 -392(fp),-396(fp),r0
1468 bicl3 #0,r0,-396(fp)
1469 cmpl -396(fp),-392(fp)
1489 bicl3 #-65536,16(r7),r3
1492 bicl3 #-65536,8(r6),-412(fp)
1493 bicl3 #-65536,r2,-416(fp)
1494 mull3 r0,-412(fp),-404(fp)
1496 mull3 r3,-416(fp),-408(fp)
1498 addl3 -404(fp),-408(fp),r0
1499 bicl3 #0,r0,-404(fp)
1500 cmpl -404(fp),-408(fp)
1502 addl2 #65536,-416(fp)
1507 bicl3 #-65536,-404(fp),r0
1508 ashl #16,r0,-408(fp)
1509 addl3 -408(fp),-412(fp),r0
1510 bicl3 #0,r0,-412(fp)
1511 cmpl -412(fp),-408(fp)
1531 bicl3 #-65536,20(r7),r3
1534 bicl3 #-65536,4(r6),-428(fp)
1535 bicl3 #-65536,r2,-432(fp)
1536 mull3 r0,-428(fp),-420(fp)
1538 mull3 r3,-432(fp),-424(fp)
1540 addl3 -420(fp),-424(fp),r0
1541 bicl3 #0,r0,-420(fp)
1542 cmpl -420(fp),-424(fp)
1544 addl2 #65536,-432(fp)
1549 bicl3 #-65536,-420(fp),r0
1550 ashl #16,r0,-424(fp)
1551 addl3 -424(fp),-428(fp),r0
1552 bicl3 #0,r0,-428(fp)
1553 cmpl -428(fp),-424(fp)
1573 bicl3 #-65536,24(r7),r3
1576 bicl3 #-65536,(r6),-444(fp)
1577 bicl3 #-65536,r2,-448(fp)
1578 mull3 r0,-444(fp),-436(fp)
1580 mull3 r3,-448(fp),-440(fp)
1582 addl3 -436(fp),-440(fp),r0
1583 bicl3 #0,r0,-436(fp)
1584 cmpl -436(fp),-440(fp)
1586 addl2 #65536,-448(fp)
1591 bicl3 #-65536,-436(fp),r0
1592 ashl #16,r0,-440(fp)
1593 addl3 -440(fp),-444(fp),r0
1594 bicl3 #0,r0,-444(fp)
1595 cmpl -444(fp),-440(fp)
1619 bicl3 #-65536,28(r7),r3
1622 bicl3 #-65536,(r6),-460(fp)
1623 bicl3 #-65536,r2,-464(fp)
1624 mull3 r0,-460(fp),-452(fp)
1626 mull3 r3,-464(fp),-456(fp)
1628 addl3 -452(fp),-456(fp),r0
1629 bicl3 #0,r0,-452(fp)
1630 cmpl -452(fp),-456(fp)
1632 addl2 #65536,-464(fp)
1637 bicl3 #-65536,-452(fp),r0
1638 ashl #16,r0,-456(fp)
1639 addl3 -456(fp),-460(fp),r0
1640 bicl3 #0,r0,-460(fp)
1641 cmpl -460(fp),-456(fp)
1661 bicl3 #-65536,24(r7),r3
1664 bicl3 #-65536,4(r6),-476(fp)
1665 bicl3 #-65536,r2,-480(fp)
1666 mull3 r0,-476(fp),-468(fp)
1668 mull3 r3,-480(fp),-472(fp)
1670 addl3 -468(fp),-472(fp),r0
1671 bicl3 #0,r0,-468(fp)
1672 cmpl -468(fp),-472(fp)
1674 addl2 #65536,-480(fp)
1679 bicl3 #-65536,-468(fp),r0
1680 ashl #16,r0,-472(fp)
1681 addl3 -472(fp),-476(fp),r0
1682 bicl3 #0,r0,-476(fp)
1683 cmpl -476(fp),-472(fp)
1703 bicl3 #-65536,20(r7),r3
1706 bicl3 #-65536,8(r6),-492(fp)
1707 bicl3 #-65536,r2,-496(fp)
1708 mull3 r0,-492(fp),-484(fp)
1710 mull3 r3,-496(fp),-488(fp)
1712 addl3 -484(fp),-488(fp),r0
1713 bicl3 #0,r0,-484(fp)
1714 cmpl -484(fp),-488(fp)
1716 addl2 #65536,-496(fp)
1721 bicl3 #-65536,-484(fp),r0
1722 ashl #16,r0,-488(fp)
1723 addl3 -488(fp),-492(fp),r0
1724 bicl3 #0,r0,-492(fp)
1725 cmpl -492(fp),-488(fp)
1745 bicl3 #-65536,16(r7),r3
1748 bicl3 #-65536,12(r6),-508(fp)
1749 bicl3 #-65536,r2,-512(fp)
1750 mull3 r0,-508(fp),-500(fp)
1752 mull3 r3,-512(fp),-504(fp)
1754 addl3 -500(fp),-504(fp),r0
1755 bicl3 #0,r0,-500(fp)
1756 cmpl -500(fp),-504(fp)
1758 addl2 #65536,-512(fp)
1763 bicl3 #-65536,-500(fp),r0
1764 ashl #16,r0,-504(fp)
1765 addl3 -504(fp),-508(fp),r0
1766 bicl3 #0,r0,-508(fp)
1767 cmpl -508(fp),-504(fp)
1787 bicl3 #-65536,12(r7),r3
1790 bicl3 #-65536,16(r6),-524(fp)
1791 bicl3 #-65536,r2,-528(fp)
1792 mull3 r0,-524(fp),-516(fp)
1794 mull3 r3,-528(fp),-520(fp)
1796 addl3 -516(fp),-520(fp),r0
1797 bicl3 #0,r0,-516(fp)
1798 cmpl -516(fp),-520(fp)
1800 addl2 #65536,-528(fp)
1805 bicl3 #-65536,-516(fp),r0
1806 ashl #16,r0,-520(fp)
1807 addl3 -520(fp),-524(fp),r0
1808 bicl3 #0,r0,-524(fp)
1809 cmpl -524(fp),-520(fp)
1829 bicl3 #-65536,8(r7),r3
1832 bicl3 #-65536,20(r6),-540(fp)
1833 bicl3 #-65536,r2,-544(fp)
1834 mull3 r0,-540(fp),-532(fp)
1836 mull3 r3,-544(fp),-536(fp)
1838 addl3 -532(fp),-536(fp),r0
1839 bicl3 #0,r0,-532(fp)
1840 cmpl -532(fp),-536(fp)
1842 addl2 #65536,-544(fp)
1847 bicl3 #-65536,-532(fp),r0
1848 ashl #16,r0,-536(fp)
1849 addl3 -536(fp),-540(fp),r0
1850 bicl3 #0,r0,-540(fp)
1851 cmpl -540(fp),-536(fp)
1871 bicl3 #-65536,4(r7),r3
1874 bicl3 #-65536,24(r6),-556(fp)
1875 bicl3 #-65536,r2,-560(fp)
1876 mull3 r0,-556(fp),-548(fp)
1878 mull3 r3,-560(fp),-552(fp)
1880 addl3 -548(fp),-552(fp),r0
1881 bicl3 #0,r0,-548(fp)
1882 cmpl -548(fp),-552(fp)
1884 addl2 #65536,-560(fp)
1889 bicl3 #-65536,-548(fp),r0
1890 ashl #16,r0,-552(fp)
1891 addl3 -552(fp),-556(fp),r0
1892 bicl3 #0,r0,-556(fp)
1893 cmpl -556(fp),-552(fp)
1913 bicl3 #-65536,(r7),r3
1916 bicl3 #-65536,28(r6),-572(fp)
1917 bicl3 #-65536,r2,-576(fp)
1918 mull3 r0,-572(fp),-564(fp)
1920 mull3 r3,-576(fp),-568(fp)
1922 addl3 -564(fp),-568(fp),r0
1923 bicl3 #0,r0,-564(fp)
1924 cmpl -564(fp),-568(fp)
1926 addl2 #65536,-576(fp)
1931 bicl3 #-65536,-564(fp),r0
1932 ashl #16,r0,-568(fp)
1933 addl3 -568(fp),-572(fp),r0
1934 bicl3 #0,r0,-572(fp)
1935 cmpl -572(fp),-568(fp)
1959 bicl3 #-65536,4(r7),r3
1962 bicl3 #-65536,28(r6),-588(fp)
1963 bicl3 #-65536,r2,-592(fp)
1964 mull3 r0,-588(fp),-580(fp)
1966 mull3 r3,-592(fp),-584(fp)
1968 addl3 -580(fp),-584(fp),r0
1969 bicl3 #0,r0,-580(fp)
1970 cmpl -580(fp),-584(fp)
1972 addl2 #65536,-592(fp)
1977 bicl3 #-65536,-580(fp),r0
1978 ashl #16,r0,-584(fp)
1979 addl3 -584(fp),-588(fp),r0
1980 bicl3 #0,r0,-588(fp)
1981 cmpl -588(fp),-584(fp)
2001 bicl3 #-65536,8(r7),r3
2004 bicl3 #-65536,24(r6),-604(fp)
2005 bicl3 #-65536,r2,-608(fp)
2006 mull3 r0,-604(fp),-596(fp)
2008 mull3 r3,-608(fp),-600(fp)
2010 addl3 -596(fp),-600(fp),r0
2011 bicl3 #0,r0,-596(fp)
2012 cmpl -596(fp),-600(fp)
2014 addl2 #65536,-608(fp)
2019 bicl3 #-65536,-596(fp),r0
2020 ashl #16,r0,-600(fp)
2021 addl3 -600(fp),-604(fp),r0
2022 bicl3 #0,r0,-604(fp)
2023 cmpl -604(fp),-600(fp)
2043 bicl3 #-65536,12(r7),r3
2046 bicl3 #-65536,20(r6),-620(fp)
2047 bicl3 #-65536,r2,-624(fp)
2048 mull3 r0,-620(fp),-612(fp)
2050 mull3 r3,-624(fp),-616(fp)
2052 addl3 -612(fp),-616(fp),r0
2053 bicl3 #0,r0,-612(fp)
2054 cmpl -612(fp),-616(fp)
2056 addl2 #65536,-624(fp)
2061 bicl3 #-65536,-612(fp),r0
2062 ashl #16,r0,-616(fp)
2063 addl3 -616(fp),-620(fp),r0
2064 bicl3 #0,r0,-620(fp)
2065 cmpl -620(fp),-616(fp)
2085 bicl3 #-65536,16(r7),r3
2088 bicl3 #-65536,16(r6),-636(fp)
2089 bicl3 #-65536,r2,-640(fp)
2090 mull3 r0,-636(fp),-628(fp)
2092 mull3 r3,-640(fp),-632(fp)
2094 addl3 -628(fp),-632(fp),r0
2095 bicl3 #0,r0,-628(fp)
2096 cmpl -628(fp),-632(fp)
2098 addl2 #65536,-640(fp)
2103 bicl3 #-65536,-628(fp),r0
2104 ashl #16,r0,-632(fp)
2105 addl3 -632(fp),-636(fp),r0
2106 bicl3 #0,r0,-636(fp)
2107 cmpl -636(fp),-632(fp)
2127 bicl3 #-65536,20(r7),r3
2130 bicl3 #-65536,12(r6),-652(fp)
2131 bicl3 #-65536,r2,-656(fp)
2132 mull3 r0,-652(fp),-644(fp)
2134 mull3 r3,-656(fp),-648(fp)
2136 addl3 -644(fp),-648(fp),r0
2137 bicl3 #0,r0,-644(fp)
2138 cmpl -644(fp),-648(fp)
2140 addl2 #65536,-656(fp)
2145 bicl3 #-65536,-644(fp),r0
2146 ashl #16,r0,-648(fp)
2147 addl3 -648(fp),-652(fp),r0
2148 bicl3 #0,r0,-652(fp)
2149 cmpl -652(fp),-648(fp)
2169 bicl3 #-65536,24(r7),r3
2172 bicl3 #-65536,8(r6),-668(fp)
2173 bicl3 #-65536,r2,-672(fp)
2174 mull3 r0,-668(fp),-660(fp)
2176 mull3 r3,-672(fp),-664(fp)
2178 addl3 -660(fp),-664(fp),r0
2179 bicl3 #0,r0,-660(fp)
2180 cmpl -660(fp),-664(fp)
2182 addl2 #65536,-672(fp)
2187 bicl3 #-65536,-660(fp),r0
2188 ashl #16,r0,-664(fp)
2189 addl3 -664(fp),-668(fp),r0
2190 bicl3 #0,r0,-668(fp)
2191 cmpl -668(fp),-664(fp)
2211 bicl3 #-65536,28(r7),r3
2214 bicl3 #-65536,4(r6),-684(fp)
2215 bicl3 #-65536,r2,-688(fp)
2216 mull3 r0,-684(fp),-676(fp)
2218 mull3 r3,-688(fp),-680(fp)
2220 addl3 -676(fp),-680(fp),r0
2221 bicl3 #0,r0,-676(fp)
2222 cmpl -676(fp),-680(fp)
2224 addl2 #65536,-688(fp)
2229 bicl3 #-65536,-676(fp),r0
2230 ashl #16,r0,-680(fp)
2231 addl3 -680(fp),-684(fp),r0
2232 bicl3 #0,r0,-684(fp)
2233 cmpl -684(fp),-680(fp)
2257 bicl3 #-65536,28(r7),r3
2260 bicl3 #-65536,8(r6),-700(fp)
2261 bicl3 #-65536,r2,-704(fp)
2262 mull3 r0,-700(fp),-692(fp)
2264 mull3 r3,-704(fp),-696(fp)
2266 addl3 -692(fp),-696(fp),r0
2267 bicl3 #0,r0,-692(fp)
2268 cmpl -692(fp),-696(fp)
2270 addl2 #65536,-704(fp)
2275 bicl3 #-65536,-692(fp),r0
2276 ashl #16,r0,-696(fp)
2277 addl3 -696(fp),-700(fp),r0
2278 bicl3 #0,r0,-700(fp)
2279 cmpl -700(fp),-696(fp)
2299 bicl3 #-65536,24(r7),r3
2302 bicl3 #-65536,12(r6),-716(fp)
2303 bicl3 #-65536,r2,-720(fp)
2304 mull3 r0,-716(fp),-708(fp)
2306 mull3 r3,-720(fp),-712(fp)
2308 addl3 -708(fp),-712(fp),r0
2309 bicl3 #0,r0,-708(fp)
2310 cmpl -708(fp),-712(fp)
2312 addl2 #65536,-720(fp)
2317 bicl3 #-65536,-708(fp),r0
2318 ashl #16,r0,-712(fp)
2319 addl3 -712(fp),-716(fp),r0
2320 bicl3 #0,r0,-716(fp)
2321 cmpl -716(fp),-712(fp)
2341 bicl3 #-65536,20(r7),r3
2344 bicl3 #-65536,16(r6),-732(fp)
2345 bicl3 #-65536,r2,-736(fp)
2346 mull3 r0,-732(fp),-724(fp)
2348 mull3 r3,-736(fp),-728(fp)
2350 addl3 -724(fp),-728(fp),r0
2351 bicl3 #0,r0,-724(fp)
2352 cmpl -724(fp),-728(fp)
2354 addl2 #65536,-736(fp)
2359 bicl3 #-65536,-724(fp),r0
2360 ashl #16,r0,-728(fp)
2361 addl3 -728(fp),-732(fp),r0
2362 bicl3 #0,r0,-732(fp)
2363 cmpl -732(fp),-728(fp)
2383 bicl3 #-65536,16(r7),r3
2386 bicl3 #-65536,20(r6),-748(fp)
2387 bicl3 #-65536,r2,-752(fp)
2388 mull3 r0,-748(fp),-740(fp)
2390 mull3 r3,-752(fp),-744(fp)
2392 addl3 -740(fp),-744(fp),r0
2393 bicl3 #0,r0,-740(fp)
2394 cmpl -740(fp),-744(fp)
2396 addl2 #65536,-752(fp)
2401 bicl3 #-65536,-740(fp),r0
2402 ashl #16,r0,-744(fp)
2403 addl3 -744(fp),-748(fp),r0
2404 bicl3 #0,r0,-748(fp)
2405 cmpl -748(fp),-744(fp)
2425 bicl3 #-65536,12(r7),r3
2428 bicl3 #-65536,24(r6),-764(fp)
2429 bicl3 #-65536,r2,-768(fp)
2430 mull3 r0,-764(fp),-756(fp)
2432 mull3 r3,-768(fp),-760(fp)
2434 addl3 -756(fp),-760(fp),r0
2435 bicl3 #0,r0,-756(fp)
2436 cmpl -756(fp),-760(fp)
2438 addl2 #65536,-768(fp)
2443 bicl3 #-65536,-756(fp),r0
2444 ashl #16,r0,-760(fp)
2445 addl3 -760(fp),-764(fp),r0
2446 bicl3 #0,r0,-764(fp)
2447 cmpl -764(fp),-760(fp)
2466 bicl3 #-65536,28(r6),r3
2469 bicl3 #-65536,8(r7),r2
2474 mull3 r0,r5,-772(fp)
2476 mull3 r2,r4,-776(fp)
2478 addl3 -772(fp),-776(fp),r0
2479 bicl3 #0,r0,-772(fp)
2480 cmpl -772(fp),-776(fp)
2487 bicl3 #-65536,-772(fp),r0
2488 ashl #16,r0,-776(fp)
2514 bicl3 #-65536,28(r6),r3
2517 bicl3 #-65536,12(r7),r2
2522 mull3 r0,r5,-780(fp)
2524 mull3 r2,r4,-784(fp)
2526 addl3 -780(fp),-784(fp),r0
2527 bicl3 #0,r0,-780(fp)
2528 cmpl -780(fp),-784(fp)
2535 bicl3 #-65536,-780(fp),r0
2536 ashl #16,r0,-784(fp)
2558 bicl3 #-65536,24(r6),r3
2561 bicl3 #-65536,16(r7),r2
2566 mull3 r0,r5,-788(fp)
2568 mull3 r2,r4,-792(fp)
2570 addl3 -788(fp),-792(fp),r0
2571 bicl3 #0,r0,-788(fp)
2572 cmpl -788(fp),-792(fp)
2579 bicl3 #-65536,-788(fp),r0
2580 ashl #16,r0,-792(fp)
2602 bicl3 #-65536,20(r6),r3
2605 bicl3 #-65536,20(r7),r2
2610 mull3 r0,r5,-796(fp)
2612 mull3 r2,r4,-800(fp)
2614 addl3 -796(fp),-800(fp),r0
2615 bicl3 #0,r0,-796(fp)
2616 cmpl -796(fp),-800(fp)
2623 bicl3 #-65536,-796(fp),r0
2624 ashl #16,r0,-800(fp)
2646 bicl3 #-65536,16(r6),r3
2649 bicl3 #-65536,24(r7),r2
2654 mull3 r0,r5,-804(fp)
2656 mull3 r2,r4,-808(fp)
2658 addl3 -804(fp),-808(fp),r0
2659 bicl3 #0,r0,-804(fp)
2660 cmpl -804(fp),-808(fp)
2667 bicl3 #-65536,-804(fp),r0
2668 ashl #16,r0,-808(fp)
2690 bicl3 #-65536,12(r6),r3
2693 bicl3 #-65536,28(r7),r2
2698 mull3 r0,r5,-812(fp)
2700 mull3 r2,r4,-816(fp)
2702 addl3 -812(fp),-816(fp),r0
2703 bicl3 #0,r0,-812(fp)
2704 cmpl -812(fp),-816(fp)
2711 bicl3 #-65536,-812(fp),r0
2712 ashl #16,r0,-816(fp)
2738 bicl3 #-65536,16(r6),r3
2740 bicl3 #-65536,28(r7),r1
2744 bicl3 #-65536,r2,-828(fp)
2745 mull3 r0,r4,-820(fp)
2747 mull3 r1,-828(fp),-824(fp)
2749 addl3 -820(fp),-824(fp),r0
2750 bicl3 #0,r0,-820(fp)
2751 cmpl -820(fp),-824(fp)
2753 addl2 #65536,-828(fp)
2758 bicl3 #-65536,-820(fp),r0
2759 ashl #16,r0,-824(fp)
2782 bicl3 #-65536,24(r7),r3
2785 bicl3 #-65536,20(r6),-840(fp)
2786 bicl3 #-65536,r2,-844(fp)
2787 mull3 r0,-840(fp),-832(fp)
2789 mull3 r3,-844(fp),-836(fp)
2791 addl3 -832(fp),-836(fp),r0
2792 bicl3 #0,r0,-832(fp)
2793 cmpl -832(fp),-836(fp)
2795 addl2 #65536,-844(fp)
2800 bicl3 #-65536,-832(fp),r0
2801 ashl #16,r0,-836(fp)
2802 addl3 -836(fp),-840(fp),r0
2803 bicl3 #0,r0,-840(fp)
2804 cmpl -840(fp),-836(fp)
2823 bicl3 #-65536,24(r6),r3
2826 bicl3 #-65536,20(r7),r2
2831 mull3 r0,r5,-848(fp)
2833 mull3 r2,r4,-852(fp)
2835 addl3 -848(fp),-852(fp),r0
2836 bicl3 #0,r0,-848(fp)
2837 cmpl -848(fp),-852(fp)
2844 bicl3 #-65536,-848(fp),r0
2845 ashl #16,r0,-852(fp)
2867 bicl3 #-65536,28(r6),r3
2870 bicl3 #-65536,16(r7),r2
2875 mull3 r0,r5,-856(fp)
2877 mull3 r2,r4,-860(fp)
2879 addl3 -856(fp),-860(fp),r0
2880 bicl3 #0,r0,-856(fp)
2881 cmpl -856(fp),-860(fp)
2888 bicl3 #-65536,-856(fp),r0
2889 ashl #16,r0,-860(fp)
2915 bicl3 #-65536,28(r6),r3
2918 bicl3 #-65536,20(r7),r2
2923 mull3 r0,r5,-864(fp)
2925 mull3 r2,r4,-868(fp)
2927 addl3 -864(fp),-868(fp),r0
2928 bicl3 #0,r0,-864(fp)
2929 cmpl -864(fp),-868(fp)
2936 bicl3 #-65536,-864(fp),r0
2937 ashl #16,r0,-868(fp)
2959 bicl3 #-65536,24(r6),r3
2962 bicl3 #-65536,24(r7),r2
2967 mull3 r0,r5,-872(fp)
2969 mull3 r2,r4,-876(fp)
2971 addl3 -872(fp),-876(fp),r0
2972 bicl3 #0,r0,-872(fp)
2973 cmpl -872(fp),-876(fp)
2980 bicl3 #-65536,-872(fp),r0
2981 ashl #16,r0,-876(fp)
3003 bicl3 #-65536,20(r6),r3
3006 bicl3 #-65536,28(r7),r2
3011 mull3 r0,r5,-880(fp)
3013 mull3 r2,r4,-884(fp)
3015 addl3 -880(fp),-884(fp),r0
3016 bicl3 #0,r0,-880(fp)
3017 cmpl -880(fp),-884(fp)
3024 bicl3 #-65536,-880(fp),r0
3025 ashl #16,r0,-884(fp)
3051 bicl3 #-65536,24(r6),r3
3054 bicl3 #-65536,28(r7),r2
3059 mull3 r0,r5,-888(fp)
3061 mull3 r2,r4,-892(fp)
3063 addl3 -888(fp),-892(fp),r0
3064 bicl3 #0,r0,-888(fp)
3065 cmpl -888(fp),-892(fp)
3072 bicl3 #-65536,-888(fp),r0
3073 ashl #16,r0,-892(fp)
3096 bicl3 #-65536,24(r7),r3
3099 bicl3 #-65536,28(r6),-904(fp)
3100 bicl3 #-65536,r2,-908(fp)
3101 mull3 r0,-904(fp),-896(fp)
3103 mull3 r3,-908(fp),-900(fp)
3105 addl3 -896(fp),-900(fp),r0
3106 bicl3 #0,r0,-896(fp)
3107 cmpl -896(fp),-900(fp)
3109 addl2 #65536,-908(fp)
3114 bicl3 #-65536,-896(fp),r0
3115 ashl #16,r0,-900(fp)
3116 addl3 -900(fp),-904(fp),r0
3117 bicl3 #0,r0,-904(fp)
3118 cmpl -904(fp),-900(fp)
3142 bicl3 #-65536,28(r7),r3
3145 bicl3 #-65536,28(r6),-920(fp)
3146 bicl3 #-65536,r2,-924(fp)
3147 mull3 r0,-920(fp),-912(fp)
3149 mull3 r3,-924(fp),-916(fp)
3151 addl3 -912(fp),-916(fp),r0
3152 bicl3 #0,r0,-912(fp)
3153 cmpl -912(fp),-916(fp)
3155 addl2 #65536,-924(fp)
3160 bicl3 #-65536,-912(fp),r0
3161 ashl #16,r0,-916(fp)
3162 addl3 -916(fp),-920(fp),r0
3163 bicl3 #0,r0,-920(fp)
3164 cmpl -920(fp),-916(fp)
3194 ;n=16 ;(AP) n by value (input)
3198 .entry BN_MUL_COMBA4,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
3206 bicl3 #-65536,(r6),r3
3210 bicl3 #-65536,(r7),r1
3219 addl3 -4(fp),-8(fp),r0
3228 bicl3 #-65536,-4(fp),r0
3256 bicl3 #-65536,(r6),r3
3259 bicl3 #-65536,4(r7),r2
3268 addl3 -12(fp),-16(fp),r0
3270 cmpl -12(fp),-16(fp)
3277 bicl3 #-65536,-12(fp),r0
3300 bicl3 #-65536,4(r6),r3
3303 bicl3 #-65536,(r7),r2
3312 addl3 -20(fp),-24(fp),r0
3314 cmpl -20(fp),-24(fp)
3321 bicl3 #-65536,-20(fp),r0
3348 bicl3 #-65536,8(r6),r3
3351 bicl3 #-65536,(r7),r2
3360 addl3 -28(fp),-32(fp),r0
3362 cmpl -28(fp),-32(fp)
3369 bicl3 #-65536,-28(fp),r0
3392 bicl3 #-65536,4(r6),r3
3395 bicl3 #-65536,4(r7),r2
3404 addl3 -36(fp),-40(fp),r0
3406 cmpl -36(fp),-40(fp)
3413 bicl3 #-65536,-36(fp),r0
3436 bicl3 #-65536,(r6),r3
3439 bicl3 #-65536,8(r7),r2
3448 addl3 -44(fp),-48(fp),r0
3450 cmpl -44(fp),-48(fp)
3457 bicl3 #-65536,-44(fp),r0
3484 bicl3 #-65536,(r6),r3
3486 bicl3 #-65536,12(r7),r1
3490 bicl3 #-65536,r2,-60(fp)
3493 mull3 r1,-60(fp),-56(fp)
3495 addl3 -52(fp),-56(fp),r0
3497 cmpl -52(fp),-56(fp)
3499 addl2 #65536,-60(fp)
3504 bicl3 #-65536,-52(fp),r0
3528 bicl3 #-65536,8(r7),r3
3531 bicl3 #-65536,4(r6),-72(fp)
3532 bicl3 #-65536,r2,-76(fp)
3533 mull3 r0,-72(fp),-64(fp)
3535 mull3 r3,-76(fp),-68(fp)
3537 addl3 -64(fp),-68(fp),r0
3539 cmpl -64(fp),-68(fp)
3541 addl2 #65536,-76(fp)
3546 bicl3 #-65536,-64(fp),r0
3548 addl3 -68(fp),-72(fp),r0
3550 cmpl -72(fp),-68(fp)
3569 bicl3 #-65536,8(r6),r3
3572 bicl3 #-65536,4(r7),r2
3581 addl3 -80(fp),-84(fp),r0
3583 cmpl -80(fp),-84(fp)
3590 bicl3 #-65536,-80(fp),r0
3613 bicl3 #-65536,12(r6),r3
3616 bicl3 #-65536,(r7),r2
3625 addl3 -88(fp),-92(fp),r0
3627 cmpl -88(fp),-92(fp)
3634 bicl3 #-65536,-88(fp),r0
3661 bicl3 #-65536,12(r6),r3
3664 bicl3 #-65536,4(r7),r2
3671 mull3 r2,r4,-100(fp)
3673 addl3 -96(fp),-100(fp),r0
3675 cmpl -96(fp),-100(fp)
3682 bicl3 #-65536,-96(fp),r0
3683 ashl #16,r0,-100(fp)
3705 bicl3 #-65536,8(r6),r3
3708 bicl3 #-65536,8(r7),r2
3713 mull3 r0,r5,-104(fp)
3715 mull3 r2,r4,-108(fp)
3717 addl3 -104(fp),-108(fp),r0
3718 bicl3 #0,r0,-104(fp)
3719 cmpl -104(fp),-108(fp)
3726 bicl3 #-65536,-104(fp),r0
3727 ashl #16,r0,-108(fp)
3749 bicl3 #-65536,4(r6),r3
3752 bicl3 #-65536,12(r7),r2
3757 mull3 r0,r5,-112(fp)
3759 mull3 r2,r4,-116(fp)
3761 addl3 -112(fp),-116(fp),r0
3762 bicl3 #0,r0,-112(fp)
3763 cmpl -112(fp),-116(fp)
3770 bicl3 #-65536,-112(fp),r0
3771 ashl #16,r0,-116(fp)
3797 bicl3 #-65536,8(r6),r3
3800 bicl3 #-65536,12(r7),r2
3805 mull3 r0,r5,-120(fp)
3807 mull3 r2,r4,-124(fp)
3809 addl3 -120(fp),-124(fp),r0
3810 bicl3 #0,r0,-120(fp)
3811 cmpl -120(fp),-124(fp)
3818 bicl3 #-65536,-120(fp),r0
3819 ashl #16,r0,-124(fp)
3842 bicl3 #-65536,8(r7),r3
3845 bicl3 #-65536,12(r6),-136(fp)
3846 bicl3 #-65536,r2,-140(fp)
3847 mull3 r0,-136(fp),-128(fp)
3849 mull3 r3,-140(fp),-132(fp)
3851 addl3 -128(fp),-132(fp),r0
3852 bicl3 #0,r0,-128(fp)
3853 cmpl -128(fp),-132(fp)
3855 addl2 #65536,-140(fp)
3860 bicl3 #-65536,-128(fp),r0
3861 ashl #16,r0,-132(fp)
3862 addl3 -132(fp),-136(fp),r0
3863 bicl3 #0,r0,-136(fp)
3864 cmpl -136(fp),-132(fp)
3888 bicl3 #-65536,12(r7),r3
3891 bicl3 #-65536,12(r6),-152(fp)
3892 bicl3 #-65536,r2,-156(fp)
3893 mull3 r0,-152(fp),-144(fp)
3895 mull3 r3,-156(fp),-148(fp)
3897 addl3 -144(fp),-148(fp),r0
3898 bicl3 #0,r0,-144(fp)
3899 cmpl -144(fp),-148(fp)
3901 addl2 #65536,-156(fp)
3906 bicl3 #-65536,-144(fp),r0
3907 ashl #16,r0,-148(fp)
3908 addl3 -148(fp),-152(fp),r0
3909 bicl3 #0,r0,-152(fp)
3910 cmpl -152(fp),-148(fp)
3940 ;n=16 ;(AP) n by value (input)
3944 .entry BN_SQR_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9>
3953 bicl3 #-65536,r3,-4(fp)
3960 bicl3 #32767,-8(fp),r0
3963 bicl3 #-65536,-8(fp),r0
3965 addl3 -4(fp),-8(fp),r0
3991 bicl3 #-65536,(r4),r3
3994 bicl3 #-65536,4(r4),-20(fp)
3995 bicl3 #-65536,r2,-24(fp)
3996 mull3 r0,-20(fp),-12(fp)
3998 mull3 r3,-24(fp),-16(fp)
4000 addl3 -12(fp),-16(fp),r0
4002 cmpl -12(fp),-16(fp)
4004 addl2 #65536,-24(fp)
4009 bicl3 #-65536,-12(fp),r0
4011 addl3 -16(fp),-20(fp),r0
4013 cmpl -20(fp),-16(fp)
4019 bbc #31,r2,noname.374
4024 bbc #31,r3,noname.375
4052 bicl3 #-65536,r3,-28(fp)
4059 bicl3 #32767,-32(fp),r0
4062 bicl3 #-65536,-32(fp),r0
4064 addl3 -28(fp),-32(fp),r0
4066 cmpl -28(fp),-32(fp)
4086 bicl3 #-65536,(r4),r3
4089 bicl3 #-65536,8(r4),-44(fp)
4090 bicl3 #-65536,r2,-48(fp)
4091 mull3 r0,-44(fp),-36(fp)
4093 mull3 r3,-48(fp),-40(fp)
4095 addl3 -36(fp),-40(fp),r0
4097 cmpl -36(fp),-40(fp)
4099 addl2 #65536,-48(fp)
4104 bicl3 #-65536,-36(fp),r0
4106 addl3 -40(fp),-44(fp),r0
4108 cmpl -44(fp),-40(fp)
4114 bbc #31,r2,noname.383
4119 bbc #31,r3,noname.384
4147 bicl3 #-65536,(r0),r3
4150 bicl3 #-65536,12(r0),-60(fp)
4151 bicl3 #-65536,r2,-64(fp)
4152 mull3 r1,-60(fp),-52(fp)
4154 mull3 r3,-64(fp),-56(fp)
4156 addl3 -52(fp),-56(fp),r0
4158 cmpl -52(fp),-56(fp)
4160 addl2 #65536,-64(fp)
4165 bicl3 #-65536,-52(fp),r0
4167 addl3 -56(fp),-60(fp),r0
4169 cmpl -60(fp),-56(fp)
4175 bbc #31,r2,noname.389
4180 bbc #31,r3,noname.390
4203 bicl3 #-65536,4(r0),r3
4206 bicl3 #-65536,8(r0),-76(fp)
4207 bicl3 #-65536,r2,-80(fp)
4208 mull3 r1,-76(fp),-68(fp)
4210 mull3 r3,-80(fp),-72(fp)
4212 addl3 -68(fp),-72(fp),r0
4214 cmpl -68(fp),-72(fp)
4216 addl2 #65536,-80(fp)
4221 bicl3 #-65536,-68(fp),r0
4223 addl3 -72(fp),-76(fp),r0
4225 cmpl -76(fp),-72(fp)
4231 bbc #31,r2,noname.395
4236 bbc #31,r3,noname.396
4264 bicl3 #-65536,r4,-84(fp)
4271 bicl3 #32767,-88(fp),r0
4274 bicl3 #-65536,-88(fp),r0
4276 addl3 -84(fp),-88(fp),r0
4278 cmpl -84(fp),-88(fp)
4298 bicl3 #-65536,4(r2),r1
4301 bicl3 #-65536,12(r2),-100(fp)
4302 bicl3 #-65536,r3,-104(fp)
4303 mull3 r0,-100(fp),-92(fp)
4305 mull3 r1,-104(fp),-96(fp)
4307 addl3 -92(fp),-96(fp),r0
4309 cmpl -92(fp),-96(fp)
4311 addl2 #65536,-104(fp)
4316 bicl3 #-65536,-92(fp),r0
4318 addl3 -96(fp),-100(fp),r0
4319 bicl3 #0,r0,-100(fp)
4320 cmpl -100(fp),-96(fp)
4326 bbc #31,r2,noname.404
4331 bbc #31,r3,noname.405
4354 bicl3 #-65536,(r0),r3
4357 bicl3 #-65536,16(r0),-116(fp)
4358 bicl3 #-65536,r2,-120(fp)
4359 mull3 r1,-116(fp),-108(fp)
4361 mull3 r3,-120(fp),-112(fp)
4363 addl3 -108(fp),-112(fp),r0
4364 bicl3 #0,r0,-108(fp)
4365 cmpl -108(fp),-112(fp)
4367 addl2 #65536,-120(fp)
4372 bicl3 #-65536,-108(fp),r0
4373 ashl #16,r0,-112(fp)
4374 addl3 -112(fp),-116(fp),r0
4375 bicl3 #0,r0,-116(fp)
4376 cmpl -116(fp),-112(fp)