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
169 .entry BN_DIV_WORDS,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10>
184 calls #1,BN_NUM_BITS_WORD
194 calls #1,BN_DIV_WORDS_ABORT
219 bicl3 #65535,12(ap),r2
222 bicl3 #-65536,12(ap),r6
259 bicl3 #65535,8(ap),r0
314 bicl3 #-65536,(r3),r0
332 .entry BN_ADD_WORDS,^m<r2,r3,r4,r5,r6,r7>
479 ;n=16 ;(AP) n by value (input)
483 .entry BN_SUB_WORDS,^m<r2,r3,r4,r5,r6,r7>
606 ;n=16 ;(AP) n by value (input)
610 .entry BN_MUL_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
619 bicl3 #-65536,(r7),r2
622 bicl3 #-65536,(r6),-12(fp)
623 bicl3 #-65536,r3,-16(fp)
624 mull3 r0,-12(fp),-4(fp)
626 mull3 r2,-16(fp),-8(fp)
628 addl3 -4(fp),-8(fp),r0
637 bicl3 #-65536,-4(fp),r0
639 addl3 -8(fp),-12(fp),r0
666 bicl3 #-65536,4(r7),r3
669 bicl3 #-65536,(r6),-28(fp)
670 bicl3 #-65536,r2,-32(fp)
671 mull3 r0,-28(fp),-20(fp)
673 mull3 r3,-32(fp),-24(fp)
675 addl3 -20(fp),-24(fp),r0
684 bicl3 #-65536,-20(fp),r0
686 addl3 -24(fp),-28(fp),r0
708 bicl3 #-65536,(r7),r3
711 bicl3 #-65536,4(r6),-44(fp)
712 bicl3 #-65536,r2,-48(fp)
713 mull3 r0,-44(fp),-36(fp)
715 mull3 r3,-48(fp),-40(fp)
717 addl3 -36(fp),-40(fp),r0
726 bicl3 #-65536,-36(fp),r0
728 addl3 -40(fp),-44(fp),r0
754 bicl3 #-65536,(r7),r3
757 bicl3 #-65536,8(r6),-60(fp)
758 bicl3 #-65536,r2,-64(fp)
759 mull3 r0,-60(fp),-52(fp)
761 mull3 r3,-64(fp),-56(fp)
763 addl3 -52(fp),-56(fp),r0
772 bicl3 #-65536,-52(fp),r0
774 addl3 -56(fp),-60(fp),r0
796 bicl3 #-65536,4(r7),r3
799 bicl3 #-65536,4(r6),-76(fp)
800 bicl3 #-65536,r2,-80(fp)
801 mull3 r0,-76(fp),-68(fp)
803 mull3 r3,-80(fp),-72(fp)
805 addl3 -68(fp),-72(fp),r0
814 bicl3 #-65536,-68(fp),r0
816 addl3 -72(fp),-76(fp),r0
838 bicl3 #-65536,8(r7),r3
841 bicl3 #-65536,(r6),-92(fp)
842 bicl3 #-65536,r2,-96(fp)
843 mull3 r0,-92(fp),-84(fp)
845 mull3 r3,-96(fp),-88(fp)
847 addl3 -84(fp),-88(fp),r0
856 bicl3 #-65536,-84(fp),r0
858 addl3 -88(fp),-92(fp),r0
884 bicl3 #-65536,12(r7),r3
887 bicl3 #-65536,(r6),-108(fp)
888 bicl3 #-65536,r2,-112(fp)
889 mull3 r0,-108(fp),-100(fp)
891 mull3 r3,-112(fp),-104(fp)
893 addl3 -100(fp),-104(fp),r0
895 cmpl -100(fp),-104(fp)
897 addl2 #65536,-112(fp)
902 bicl3 #-65536,-100(fp),r0
904 addl3 -104(fp),-108(fp),r0
906 cmpl -108(fp),-104(fp)
926 bicl3 #-65536,8(r7),r3
929 bicl3 #-65536,4(r6),-124(fp)
930 bicl3 #-65536,r2,-128(fp)
931 mull3 r0,-124(fp),-116(fp)
933 mull3 r3,-128(fp),-120(fp)
935 addl3 -116(fp),-120(fp),r0
937 cmpl -116(fp),-120(fp)
939 addl2 #65536,-128(fp)
944 bicl3 #-65536,-116(fp),r0
946 addl3 -120(fp),-124(fp),r0
948 cmpl -124(fp),-120(fp)
968 bicl3 #-65536,4(r7),r3
971 bicl3 #-65536,8(r6),-140(fp)
972 bicl3 #-65536,r2,-144(fp)
973 mull3 r0,-140(fp),-132(fp)
975 mull3 r3,-144(fp),-136(fp)
977 addl3 -132(fp),-136(fp),r0
979 cmpl -132(fp),-136(fp)
981 addl2 #65536,-144(fp)
986 bicl3 #-65536,-132(fp),r0
988 addl3 -136(fp),-140(fp),r0
990 cmpl -140(fp),-136(fp)
1010 bicl3 #-65536,(r7),r3
1013 bicl3 #-65536,12(r6),-156(fp)
1014 bicl3 #-65536,r2,-160(fp)
1015 mull3 r0,-156(fp),-148(fp)
1017 mull3 r3,-160(fp),-152(fp)
1019 addl3 -148(fp),-152(fp),r0
1020 bicl3 #0,r0,-148(fp)
1021 cmpl -148(fp),-152(fp)
1023 addl2 #65536,-160(fp)
1028 bicl3 #-65536,-148(fp),r0
1029 ashl #16,r0,-152(fp)
1030 addl3 -152(fp),-156(fp),r0
1031 bicl3 #0,r0,-156(fp)
1032 cmpl -156(fp),-152(fp)
1056 bicl3 #-65536,(r7),r3
1059 bicl3 #-65536,16(r6),-172(fp)
1060 bicl3 #-65536,r2,-176(fp)
1061 mull3 r0,-172(fp),-164(fp)
1063 mull3 r3,-176(fp),-168(fp)
1065 addl3 -164(fp),-168(fp),r0
1066 bicl3 #0,r0,-164(fp)
1067 cmpl -164(fp),-168(fp)
1069 addl2 #65536,-176(fp)
1074 bicl3 #-65536,-164(fp),r0
1075 ashl #16,r0,-168(fp)
1076 addl3 -168(fp),-172(fp),r0
1077 bicl3 #0,r0,-172(fp)
1078 cmpl -172(fp),-168(fp)
1098 bicl3 #-65536,4(r7),r3
1101 bicl3 #-65536,12(r6),-188(fp)
1102 bicl3 #-65536,r2,-192(fp)
1103 mull3 r0,-188(fp),-180(fp)
1105 mull3 r3,-192(fp),-184(fp)
1107 addl3 -180(fp),-184(fp),r0
1108 bicl3 #0,r0,-180(fp)
1109 cmpl -180(fp),-184(fp)
1111 addl2 #65536,-192(fp)
1116 bicl3 #-65536,-180(fp),r0
1117 ashl #16,r0,-184(fp)
1118 addl3 -184(fp),-188(fp),r0
1119 bicl3 #0,r0,-188(fp)
1120 cmpl -188(fp),-184(fp)
1140 bicl3 #-65536,8(r7),r3
1143 bicl3 #-65536,8(r6),-204(fp)
1144 bicl3 #-65536,r2,-208(fp)
1145 mull3 r0,-204(fp),-196(fp)
1147 mull3 r3,-208(fp),-200(fp)
1149 addl3 -196(fp),-200(fp),r0
1150 bicl3 #0,r0,-196(fp)
1151 cmpl -196(fp),-200(fp)
1153 addl2 #65536,-208(fp)
1158 bicl3 #-65536,-196(fp),r0
1159 ashl #16,r0,-200(fp)
1160 addl3 -200(fp),-204(fp),r0
1161 bicl3 #0,r0,-204(fp)
1162 cmpl -204(fp),-200(fp)
1182 bicl3 #-65536,12(r7),r3
1185 bicl3 #-65536,4(r6),-220(fp)
1186 bicl3 #-65536,r2,-224(fp)
1187 mull3 r0,-220(fp),-212(fp)
1189 mull3 r3,-224(fp),-216(fp)
1191 addl3 -212(fp),-216(fp),r0
1192 bicl3 #0,r0,-212(fp)
1193 cmpl -212(fp),-216(fp)
1195 addl2 #65536,-224(fp)
1200 bicl3 #-65536,-212(fp),r0
1201 ashl #16,r0,-216(fp)
1202 addl3 -216(fp),-220(fp),r0
1203 bicl3 #0,r0,-220(fp)
1204 cmpl -220(fp),-216(fp)
1224 bicl3 #-65536,16(r7),r3
1227 bicl3 #-65536,(r6),-236(fp)
1228 bicl3 #-65536,r2,-240(fp)
1229 mull3 r0,-236(fp),-228(fp)
1231 mull3 r3,-240(fp),-232(fp)
1233 addl3 -228(fp),-232(fp),r0
1234 bicl3 #0,r0,-228(fp)
1235 cmpl -228(fp),-232(fp)
1237 addl2 #65536,-240(fp)
1242 bicl3 #-65536,-228(fp),r0
1243 ashl #16,r0,-232(fp)
1244 addl3 -232(fp),-236(fp),r0
1245 bicl3 #0,r0,-236(fp)
1246 cmpl -236(fp),-232(fp)
1270 bicl3 #-65536,20(r7),r3
1273 bicl3 #-65536,(r6),-252(fp)
1274 bicl3 #-65536,r2,-256(fp)
1275 mull3 r0,-252(fp),-244(fp)
1277 mull3 r3,-256(fp),-248(fp)
1279 addl3 -244(fp),-248(fp),r0
1280 bicl3 #0,r0,-244(fp)
1281 cmpl -244(fp),-248(fp)
1283 addl2 #65536,-256(fp)
1288 bicl3 #-65536,-244(fp),r0
1289 ashl #16,r0,-248(fp)
1290 addl3 -248(fp),-252(fp),r0
1291 bicl3 #0,r0,-252(fp)
1292 cmpl -252(fp),-248(fp)
1312 bicl3 #-65536,16(r7),r3
1315 bicl3 #-65536,4(r6),-268(fp)
1316 bicl3 #-65536,r2,-272(fp)
1317 mull3 r0,-268(fp),-260(fp)
1319 mull3 r3,-272(fp),-264(fp)
1321 addl3 -260(fp),-264(fp),r0
1322 bicl3 #0,r0,-260(fp)
1323 cmpl -260(fp),-264(fp)
1325 addl2 #65536,-272(fp)
1330 bicl3 #-65536,-260(fp),r0
1331 ashl #16,r0,-264(fp)
1332 addl3 -264(fp),-268(fp),r0
1333 bicl3 #0,r0,-268(fp)
1334 cmpl -268(fp),-264(fp)
1354 bicl3 #-65536,12(r7),r3
1357 bicl3 #-65536,8(r6),-284(fp)
1358 bicl3 #-65536,r2,-288(fp)
1359 mull3 r0,-284(fp),-276(fp)
1361 mull3 r3,-288(fp),-280(fp)
1363 addl3 -276(fp),-280(fp),r0
1364 bicl3 #0,r0,-276(fp)
1365 cmpl -276(fp),-280(fp)
1367 addl2 #65536,-288(fp)
1372 bicl3 #-65536,-276(fp),r0
1373 ashl #16,r0,-280(fp)
1374 addl3 -280(fp),-284(fp),r0
1375 bicl3 #0,r0,-284(fp)
1376 cmpl -284(fp),-280(fp)
1396 bicl3 #-65536,8(r7),r3
1399 bicl3 #-65536,12(r6),-300(fp)
1400 bicl3 #-65536,r2,-304(fp)
1401 mull3 r0,-300(fp),-292(fp)
1403 mull3 r3,-304(fp),-296(fp)
1405 addl3 -292(fp),-296(fp),r0
1406 bicl3 #0,r0,-292(fp)
1407 cmpl -292(fp),-296(fp)
1409 addl2 #65536,-304(fp)
1414 bicl3 #-65536,-292(fp),r0
1415 ashl #16,r0,-296(fp)
1416 addl3 -296(fp),-300(fp),r0
1417 bicl3 #0,r0,-300(fp)
1418 cmpl -300(fp),-296(fp)
1438 bicl3 #-65536,4(r7),r3
1441 bicl3 #-65536,16(r6),-316(fp)
1442 bicl3 #-65536,r2,-320(fp)
1443 mull3 r0,-316(fp),-308(fp)
1445 mull3 r3,-320(fp),-312(fp)
1447 addl3 -308(fp),-312(fp),r0
1448 bicl3 #0,r0,-308(fp)
1449 cmpl -308(fp),-312(fp)
1451 addl2 #65536,-320(fp)
1456 bicl3 #-65536,-308(fp),r0
1457 ashl #16,r0,-312(fp)
1458 addl3 -312(fp),-316(fp),r0
1459 bicl3 #0,r0,-316(fp)
1460 cmpl -316(fp),-312(fp)
1481 bicl3 #-65536,(r7),r3
1484 bicl3 #-65536,20(r6),-332(fp)
1485 bicl3 #-65536,r2,-336(fp)
1486 mull3 r0,-332(fp),-324(fp)
1488 mull3 r3,-336(fp),-328(fp)
1490 addl3 -324(fp),-328(fp),r0
1491 bicl3 #0,r0,-324(fp)
1492 cmpl -324(fp),-328(fp)
1494 addl2 #65536,-336(fp)
1499 bicl3 #-65536,-324(fp),r0
1500 ashl #16,r0,-328(fp)
1501 addl3 -328(fp),-332(fp),r0
1502 bicl3 #0,r0,-332(fp)
1503 cmpl -332(fp),-328(fp)
1527 bicl3 #-65536,(r7),r3
1530 bicl3 #-65536,24(r6),-348(fp)
1531 bicl3 #-65536,r2,-352(fp)
1532 mull3 r0,-348(fp),-340(fp)
1534 mull3 r3,-352(fp),-344(fp)
1536 addl3 -340(fp),-344(fp),r0
1537 bicl3 #0,r0,-340(fp)
1538 cmpl -340(fp),-344(fp)
1540 addl2 #65536,-352(fp)
1545 bicl3 #-65536,-340(fp),r0
1546 ashl #16,r0,-344(fp)
1547 addl3 -344(fp),-348(fp),r0
1548 bicl3 #0,r0,-348(fp)
1549 cmpl -348(fp),-344(fp)
1569 bicl3 #-65536,4(r7),r3
1572 bicl3 #-65536,20(r6),-364(fp)
1573 bicl3 #-65536,r2,-368(fp)
1574 mull3 r0,-364(fp),-356(fp)
1576 mull3 r3,-368(fp),-360(fp)
1578 addl3 -356(fp),-360(fp),r0
1579 bicl3 #0,r0,-356(fp)
1580 cmpl -356(fp),-360(fp)
1582 addl2 #65536,-368(fp)
1587 bicl3 #-65536,-356(fp),r0
1588 ashl #16,r0,-360(fp)
1589 addl3 -360(fp),-364(fp),r0
1590 bicl3 #0,r0,-364(fp)
1591 cmpl -364(fp),-360(fp)
1611 bicl3 #-65536,8(r7),r3
1614 bicl3 #-65536,16(r6),-380(fp)
1615 bicl3 #-65536,r2,-384(fp)
1616 mull3 r0,-380(fp),-372(fp)
1618 mull3 r3,-384(fp),-376(fp)
1620 addl3 -372(fp),-376(fp),r0
1621 bicl3 #0,r0,-372(fp)
1622 cmpl -372(fp),-376(fp)
1624 addl2 #65536,-384(fp)
1629 bicl3 #-65536,-372(fp),r0
1630 ashl #16,r0,-376(fp)
1631 addl3 -376(fp),-380(fp),r0
1632 bicl3 #0,r0,-380(fp)
1633 cmpl -380(fp),-376(fp)
1653 bicl3 #-65536,12(r7),r3
1656 bicl3 #-65536,12(r6),-396(fp)
1657 bicl3 #-65536,r2,-400(fp)
1658 mull3 r0,-396(fp),-388(fp)
1660 mull3 r3,-400(fp),-392(fp)
1662 addl3 -388(fp),-392(fp),r0
1663 bicl3 #0,r0,-388(fp)
1664 cmpl -388(fp),-392(fp)
1666 addl2 #65536,-400(fp)
1671 bicl3 #-65536,-388(fp),r0
1672 ashl #16,r0,-392(fp)
1673 addl3 -392(fp),-396(fp),r0
1674 bicl3 #0,r0,-396(fp)
1675 cmpl -396(fp),-392(fp)
1695 bicl3 #-65536,16(r7),r3
1698 bicl3 #-65536,8(r6),-412(fp)
1699 bicl3 #-65536,r2,-416(fp)
1700 mull3 r0,-412(fp),-404(fp)
1702 mull3 r3,-416(fp),-408(fp)
1704 addl3 -404(fp),-408(fp),r0
1705 bicl3 #0,r0,-404(fp)
1706 cmpl -404(fp),-408(fp)
1708 addl2 #65536,-416(fp)
1713 bicl3 #-65536,-404(fp),r0
1714 ashl #16,r0,-408(fp)
1715 addl3 -408(fp),-412(fp),r0
1716 bicl3 #0,r0,-412(fp)
1717 cmpl -412(fp),-408(fp)
1737 bicl3 #-65536,20(r7),r3
1740 bicl3 #-65536,4(r6),-428(fp)
1741 bicl3 #-65536,r2,-432(fp)
1742 mull3 r0,-428(fp),-420(fp)
1744 mull3 r3,-432(fp),-424(fp)
1746 addl3 -420(fp),-424(fp),r0
1747 bicl3 #0,r0,-420(fp)
1748 cmpl -420(fp),-424(fp)
1750 addl2 #65536,-432(fp)
1755 bicl3 #-65536,-420(fp),r0
1756 ashl #16,r0,-424(fp)
1757 addl3 -424(fp),-428(fp),r0
1758 bicl3 #0,r0,-428(fp)
1759 cmpl -428(fp),-424(fp)
1779 bicl3 #-65536,24(r7),r3
1782 bicl3 #-65536,(r6),-444(fp)
1783 bicl3 #-65536,r2,-448(fp)
1784 mull3 r0,-444(fp),-436(fp)
1786 mull3 r3,-448(fp),-440(fp)
1788 addl3 -436(fp),-440(fp),r0
1789 bicl3 #0,r0,-436(fp)
1790 cmpl -436(fp),-440(fp)
1792 addl2 #65536,-448(fp)
1797 bicl3 #-65536,-436(fp),r0
1798 ashl #16,r0,-440(fp)
1799 addl3 -440(fp),-444(fp),r0
1800 bicl3 #0,r0,-444(fp)
1801 cmpl -444(fp),-440(fp)
1825 bicl3 #-65536,28(r7),r3
1828 bicl3 #-65536,(r6),-460(fp)
1829 bicl3 #-65536,r2,-464(fp)
1830 mull3 r0,-460(fp),-452(fp)
1832 mull3 r3,-464(fp),-456(fp)
1834 addl3 -452(fp),-456(fp),r0
1835 bicl3 #0,r0,-452(fp)
1836 cmpl -452(fp),-456(fp)
1838 addl2 #65536,-464(fp)
1843 bicl3 #-65536,-452(fp),r0
1844 ashl #16,r0,-456(fp)
1845 addl3 -456(fp),-460(fp),r0
1846 bicl3 #0,r0,-460(fp)
1847 cmpl -460(fp),-456(fp)
1867 bicl3 #-65536,24(r7),r3
1870 bicl3 #-65536,4(r6),-476(fp)
1871 bicl3 #-65536,r2,-480(fp)
1872 mull3 r0,-476(fp),-468(fp)
1874 mull3 r3,-480(fp),-472(fp)
1876 addl3 -468(fp),-472(fp),r0
1877 bicl3 #0,r0,-468(fp)
1878 cmpl -468(fp),-472(fp)
1880 addl2 #65536,-480(fp)
1885 bicl3 #-65536,-468(fp),r0
1886 ashl #16,r0,-472(fp)
1887 addl3 -472(fp),-476(fp),r0
1888 bicl3 #0,r0,-476(fp)
1889 cmpl -476(fp),-472(fp)
1909 bicl3 #-65536,20(r7),r3
1912 bicl3 #-65536,8(r6),-492(fp)
1913 bicl3 #-65536,r2,-496(fp)
1914 mull3 r0,-492(fp),-484(fp)
1916 mull3 r3,-496(fp),-488(fp)
1918 addl3 -484(fp),-488(fp),r0
1919 bicl3 #0,r0,-484(fp)
1920 cmpl -484(fp),-488(fp)
1922 addl2 #65536,-496(fp)
1927 bicl3 #-65536,-484(fp),r0
1928 ashl #16,r0,-488(fp)
1929 addl3 -488(fp),-492(fp),r0
1930 bicl3 #0,r0,-492(fp)
1931 cmpl -492(fp),-488(fp)
1951 bicl3 #-65536,16(r7),r3
1954 bicl3 #-65536,12(r6),-508(fp)
1955 bicl3 #-65536,r2,-512(fp)
1956 mull3 r0,-508(fp),-500(fp)
1958 mull3 r3,-512(fp),-504(fp)
1960 addl3 -500(fp),-504(fp),r0
1961 bicl3 #0,r0,-500(fp)
1962 cmpl -500(fp),-504(fp)
1964 addl2 #65536,-512(fp)
1969 bicl3 #-65536,-500(fp),r0
1970 ashl #16,r0,-504(fp)
1971 addl3 -504(fp),-508(fp),r0
1972 bicl3 #0,r0,-508(fp)
1973 cmpl -508(fp),-504(fp)
1993 bicl3 #-65536,12(r7),r3
1996 bicl3 #-65536,16(r6),-524(fp)
1997 bicl3 #-65536,r2,-528(fp)
1998 mull3 r0,-524(fp),-516(fp)
2000 mull3 r3,-528(fp),-520(fp)
2002 addl3 -516(fp),-520(fp),r0
2003 bicl3 #0,r0,-516(fp)
2004 cmpl -516(fp),-520(fp)
2006 addl2 #65536,-528(fp)
2011 bicl3 #-65536,-516(fp),r0
2012 ashl #16,r0,-520(fp)
2013 addl3 -520(fp),-524(fp),r0
2014 bicl3 #0,r0,-524(fp)
2015 cmpl -524(fp),-520(fp)
2035 bicl3 #-65536,8(r7),r3
2038 bicl3 #-65536,20(r6),-540(fp)
2039 bicl3 #-65536,r2,-544(fp)
2040 mull3 r0,-540(fp),-532(fp)
2042 mull3 r3,-544(fp),-536(fp)
2044 addl3 -532(fp),-536(fp),r0
2045 bicl3 #0,r0,-532(fp)
2046 cmpl -532(fp),-536(fp)
2048 addl2 #65536,-544(fp)
2053 bicl3 #-65536,-532(fp),r0
2054 ashl #16,r0,-536(fp)
2055 addl3 -536(fp),-540(fp),r0
2056 bicl3 #0,r0,-540(fp)
2057 cmpl -540(fp),-536(fp)
2077 bicl3 #-65536,4(r7),r3
2080 bicl3 #-65536,24(r6),-556(fp)
2081 bicl3 #-65536,r2,-560(fp)
2082 mull3 r0,-556(fp),-548(fp)
2084 mull3 r3,-560(fp),-552(fp)
2086 addl3 -548(fp),-552(fp),r0
2087 bicl3 #0,r0,-548(fp)
2088 cmpl -548(fp),-552(fp)
2090 addl2 #65536,-560(fp)
2095 bicl3 #-65536,-548(fp),r0
2096 ashl #16,r0,-552(fp)
2097 addl3 -552(fp),-556(fp),r0
2098 bicl3 #0,r0,-556(fp)
2099 cmpl -556(fp),-552(fp)
2119 bicl3 #-65536,(r7),r3
2122 bicl3 #-65536,28(r6),-572(fp)
2123 bicl3 #-65536,r2,-576(fp)
2124 mull3 r0,-572(fp),-564(fp)
2126 mull3 r3,-576(fp),-568(fp)
2128 addl3 -564(fp),-568(fp),r0
2129 bicl3 #0,r0,-564(fp)
2130 cmpl -564(fp),-568(fp)
2132 addl2 #65536,-576(fp)
2137 bicl3 #-65536,-564(fp),r0
2138 ashl #16,r0,-568(fp)
2139 addl3 -568(fp),-572(fp),r0
2140 bicl3 #0,r0,-572(fp)
2141 cmpl -572(fp),-568(fp)
2165 bicl3 #-65536,4(r7),r3
2168 bicl3 #-65536,28(r6),-588(fp)
2169 bicl3 #-65536,r2,-592(fp)
2170 mull3 r0,-588(fp),-580(fp)
2172 mull3 r3,-592(fp),-584(fp)
2174 addl3 -580(fp),-584(fp),r0
2175 bicl3 #0,r0,-580(fp)
2176 cmpl -580(fp),-584(fp)
2178 addl2 #65536,-592(fp)
2183 bicl3 #-65536,-580(fp),r0
2184 ashl #16,r0,-584(fp)
2185 addl3 -584(fp),-588(fp),r0
2186 bicl3 #0,r0,-588(fp)
2187 cmpl -588(fp),-584(fp)
2207 bicl3 #-65536,8(r7),r3
2210 bicl3 #-65536,24(r6),-604(fp)
2211 bicl3 #-65536,r2,-608(fp)
2212 mull3 r0,-604(fp),-596(fp)
2214 mull3 r3,-608(fp),-600(fp)
2216 addl3 -596(fp),-600(fp),r0
2217 bicl3 #0,r0,-596(fp)
2218 cmpl -596(fp),-600(fp)
2220 addl2 #65536,-608(fp)
2225 bicl3 #-65536,-596(fp),r0
2226 ashl #16,r0,-600(fp)
2227 addl3 -600(fp),-604(fp),r0
2228 bicl3 #0,r0,-604(fp)
2229 cmpl -604(fp),-600(fp)
2249 bicl3 #-65536,12(r7),r3
2252 bicl3 #-65536,20(r6),-620(fp)
2253 bicl3 #-65536,r2,-624(fp)
2254 mull3 r0,-620(fp),-612(fp)
2256 mull3 r3,-624(fp),-616(fp)
2258 addl3 -612(fp),-616(fp),r0
2259 bicl3 #0,r0,-612(fp)
2260 cmpl -612(fp),-616(fp)
2262 addl2 #65536,-624(fp)
2267 bicl3 #-65536,-612(fp),r0
2268 ashl #16,r0,-616(fp)
2269 addl3 -616(fp),-620(fp),r0
2270 bicl3 #0,r0,-620(fp)
2271 cmpl -620(fp),-616(fp)
2291 bicl3 #-65536,16(r7),r3
2294 bicl3 #-65536,16(r6),-636(fp)
2295 bicl3 #-65536,r2,-640(fp)
2296 mull3 r0,-636(fp),-628(fp)
2298 mull3 r3,-640(fp),-632(fp)
2300 addl3 -628(fp),-632(fp),r0
2301 bicl3 #0,r0,-628(fp)
2302 cmpl -628(fp),-632(fp)
2304 addl2 #65536,-640(fp)
2309 bicl3 #-65536,-628(fp),r0
2310 ashl #16,r0,-632(fp)
2311 addl3 -632(fp),-636(fp),r0
2312 bicl3 #0,r0,-636(fp)
2313 cmpl -636(fp),-632(fp)
2333 bicl3 #-65536,20(r7),r3
2336 bicl3 #-65536,12(r6),-652(fp)
2337 bicl3 #-65536,r2,-656(fp)
2338 mull3 r0,-652(fp),-644(fp)
2340 mull3 r3,-656(fp),-648(fp)
2342 addl3 -644(fp),-648(fp),r0
2343 bicl3 #0,r0,-644(fp)
2344 cmpl -644(fp),-648(fp)
2346 addl2 #65536,-656(fp)
2351 bicl3 #-65536,-644(fp),r0
2352 ashl #16,r0,-648(fp)
2353 addl3 -648(fp),-652(fp),r0
2354 bicl3 #0,r0,-652(fp)
2355 cmpl -652(fp),-648(fp)
2375 bicl3 #-65536,24(r7),r3
2378 bicl3 #-65536,8(r6),-668(fp)
2379 bicl3 #-65536,r2,-672(fp)
2380 mull3 r0,-668(fp),-660(fp)
2382 mull3 r3,-672(fp),-664(fp)
2384 addl3 -660(fp),-664(fp),r0
2385 bicl3 #0,r0,-660(fp)
2386 cmpl -660(fp),-664(fp)
2388 addl2 #65536,-672(fp)
2393 bicl3 #-65536,-660(fp),r0
2394 ashl #16,r0,-664(fp)
2395 addl3 -664(fp),-668(fp),r0
2396 bicl3 #0,r0,-668(fp)
2397 cmpl -668(fp),-664(fp)
2417 bicl3 #-65536,28(r7),r3
2420 bicl3 #-65536,4(r6),-684(fp)
2421 bicl3 #-65536,r2,-688(fp)
2422 mull3 r0,-684(fp),-676(fp)
2424 mull3 r3,-688(fp),-680(fp)
2426 addl3 -676(fp),-680(fp),r0
2427 bicl3 #0,r0,-676(fp)
2428 cmpl -676(fp),-680(fp)
2430 addl2 #65536,-688(fp)
2435 bicl3 #-65536,-676(fp),r0
2436 ashl #16,r0,-680(fp)
2437 addl3 -680(fp),-684(fp),r0
2438 bicl3 #0,r0,-684(fp)
2439 cmpl -684(fp),-680(fp)
2463 bicl3 #-65536,28(r7),r3
2466 bicl3 #-65536,8(r6),-700(fp)
2467 bicl3 #-65536,r2,-704(fp)
2468 mull3 r0,-700(fp),-692(fp)
2470 mull3 r3,-704(fp),-696(fp)
2472 addl3 -692(fp),-696(fp),r0
2473 bicl3 #0,r0,-692(fp)
2474 cmpl -692(fp),-696(fp)
2476 addl2 #65536,-704(fp)
2481 bicl3 #-65536,-692(fp),r0
2482 ashl #16,r0,-696(fp)
2483 addl3 -696(fp),-700(fp),r0
2484 bicl3 #0,r0,-700(fp)
2485 cmpl -700(fp),-696(fp)
2505 bicl3 #-65536,24(r7),r3
2508 bicl3 #-65536,12(r6),-716(fp)
2509 bicl3 #-65536,r2,-720(fp)
2510 mull3 r0,-716(fp),-708(fp)
2512 mull3 r3,-720(fp),-712(fp)
2514 addl3 -708(fp),-712(fp),r0
2515 bicl3 #0,r0,-708(fp)
2516 cmpl -708(fp),-712(fp)
2518 addl2 #65536,-720(fp)
2523 bicl3 #-65536,-708(fp),r0
2524 ashl #16,r0,-712(fp)
2525 addl3 -712(fp),-716(fp),r0
2526 bicl3 #0,r0,-716(fp)
2527 cmpl -716(fp),-712(fp)
2547 bicl3 #-65536,20(r7),r3
2550 bicl3 #-65536,16(r6),-732(fp)
2551 bicl3 #-65536,r2,-736(fp)
2552 mull3 r0,-732(fp),-724(fp)
2554 mull3 r3,-736(fp),-728(fp)
2556 addl3 -724(fp),-728(fp),r0
2557 bicl3 #0,r0,-724(fp)
2558 cmpl -724(fp),-728(fp)
2560 addl2 #65536,-736(fp)
2565 bicl3 #-65536,-724(fp),r0
2566 ashl #16,r0,-728(fp)
2567 addl3 -728(fp),-732(fp),r0
2568 bicl3 #0,r0,-732(fp)
2569 cmpl -732(fp),-728(fp)
2589 bicl3 #-65536,16(r7),r3
2592 bicl3 #-65536,20(r6),-748(fp)
2593 bicl3 #-65536,r2,-752(fp)
2594 mull3 r0,-748(fp),-740(fp)
2596 mull3 r3,-752(fp),-744(fp)
2598 addl3 -740(fp),-744(fp),r0
2599 bicl3 #0,r0,-740(fp)
2600 cmpl -740(fp),-744(fp)
2602 addl2 #65536,-752(fp)
2607 bicl3 #-65536,-740(fp),r0
2608 ashl #16,r0,-744(fp)
2609 addl3 -744(fp),-748(fp),r0
2610 bicl3 #0,r0,-748(fp)
2611 cmpl -748(fp),-744(fp)
2631 bicl3 #-65536,12(r7),r3
2634 bicl3 #-65536,24(r6),-764(fp)
2635 bicl3 #-65536,r2,-768(fp)
2636 mull3 r0,-764(fp),-756(fp)
2638 mull3 r3,-768(fp),-760(fp)
2640 addl3 -756(fp),-760(fp),r0
2641 bicl3 #0,r0,-756(fp)
2642 cmpl -756(fp),-760(fp)
2644 addl2 #65536,-768(fp)
2649 bicl3 #-65536,-756(fp),r0
2650 ashl #16,r0,-760(fp)
2651 addl3 -760(fp),-764(fp),r0
2652 bicl3 #0,r0,-764(fp)
2653 cmpl -764(fp),-760(fp)
2672 bicl3 #-65536,28(r6),r3
2675 bicl3 #-65536,8(r7),r2
2680 mull3 r0,r5,-772(fp)
2682 mull3 r2,r4,-776(fp)
2684 addl3 -772(fp),-776(fp),r0
2685 bicl3 #0,r0,-772(fp)
2686 cmpl -772(fp),-776(fp)
2693 bicl3 #-65536,-772(fp),r0
2694 ashl #16,r0,-776(fp)
2720 bicl3 #-65536,28(r6),r3
2723 bicl3 #-65536,12(r7),r2
2728 mull3 r0,r5,-780(fp)
2730 mull3 r2,r4,-784(fp)
2732 addl3 -780(fp),-784(fp),r0
2733 bicl3 #0,r0,-780(fp)
2734 cmpl -780(fp),-784(fp)
2741 bicl3 #-65536,-780(fp),r0
2742 ashl #16,r0,-784(fp)
2764 bicl3 #-65536,24(r6),r3
2767 bicl3 #-65536,16(r7),r2
2772 mull3 r0,r5,-788(fp)
2774 mull3 r2,r4,-792(fp)
2776 addl3 -788(fp),-792(fp),r0
2777 bicl3 #0,r0,-788(fp)
2778 cmpl -788(fp),-792(fp)
2785 bicl3 #-65536,-788(fp),r0
2786 ashl #16,r0,-792(fp)
2808 bicl3 #-65536,20(r6),r3
2811 bicl3 #-65536,20(r7),r2
2816 mull3 r0,r5,-796(fp)
2818 mull3 r2,r4,-800(fp)
2820 addl3 -796(fp),-800(fp),r0
2821 bicl3 #0,r0,-796(fp)
2822 cmpl -796(fp),-800(fp)
2829 bicl3 #-65536,-796(fp),r0
2830 ashl #16,r0,-800(fp)
2852 bicl3 #-65536,16(r6),r3
2855 bicl3 #-65536,24(r7),r2
2860 mull3 r0,r5,-804(fp)
2862 mull3 r2,r4,-808(fp)
2864 addl3 -804(fp),-808(fp),r0
2865 bicl3 #0,r0,-804(fp)
2866 cmpl -804(fp),-808(fp)
2873 bicl3 #-65536,-804(fp),r0
2874 ashl #16,r0,-808(fp)
2896 bicl3 #-65536,12(r6),r3
2899 bicl3 #-65536,28(r7),r2
2904 mull3 r0,r5,-812(fp)
2906 mull3 r2,r4,-816(fp)
2908 addl3 -812(fp),-816(fp),r0
2909 bicl3 #0,r0,-812(fp)
2910 cmpl -812(fp),-816(fp)
2917 bicl3 #-65536,-812(fp),r0
2918 ashl #16,r0,-816(fp)
2944 bicl3 #-65536,16(r6),r3
2946 bicl3 #-65536,28(r7),r1
2950 bicl3 #-65536,r2,-828(fp)
2951 mull3 r0,r4,-820(fp)
2953 mull3 r1,-828(fp),-824(fp)
2955 addl3 -820(fp),-824(fp),r0
2956 bicl3 #0,r0,-820(fp)
2957 cmpl -820(fp),-824(fp)
2959 addl2 #65536,-828(fp)
2964 bicl3 #-65536,-820(fp),r0
2965 ashl #16,r0,-824(fp)
2988 bicl3 #-65536,24(r7),r3
2991 bicl3 #-65536,20(r6),-840(fp)
2992 bicl3 #-65536,r2,-844(fp)
2993 mull3 r0,-840(fp),-832(fp)
2995 mull3 r3,-844(fp),-836(fp)
2997 addl3 -832(fp),-836(fp),r0
2998 bicl3 #0,r0,-832(fp)
2999 cmpl -832(fp),-836(fp)
3001 addl2 #65536,-844(fp)
3006 bicl3 #-65536,-832(fp),r0
3007 ashl #16,r0,-836(fp)
3008 addl3 -836(fp),-840(fp),r0
3009 bicl3 #0,r0,-840(fp)
3010 cmpl -840(fp),-836(fp)
3029 bicl3 #-65536,24(r6),r3
3032 bicl3 #-65536,20(r7),r2
3037 mull3 r0,r5,-848(fp)
3039 mull3 r2,r4,-852(fp)
3041 addl3 -848(fp),-852(fp),r0
3042 bicl3 #0,r0,-848(fp)
3043 cmpl -848(fp),-852(fp)
3050 bicl3 #-65536,-848(fp),r0
3051 ashl #16,r0,-852(fp)
3073 bicl3 #-65536,28(r6),r3
3076 bicl3 #-65536,16(r7),r2
3081 mull3 r0,r5,-856(fp)
3083 mull3 r2,r4,-860(fp)
3085 addl3 -856(fp),-860(fp),r0
3086 bicl3 #0,r0,-856(fp)
3087 cmpl -856(fp),-860(fp)
3094 bicl3 #-65536,-856(fp),r0
3095 ashl #16,r0,-860(fp)
3121 bicl3 #-65536,28(r6),r3
3124 bicl3 #-65536,20(r7),r2
3129 mull3 r0,r5,-864(fp)
3131 mull3 r2,r4,-868(fp)
3133 addl3 -864(fp),-868(fp),r0
3134 bicl3 #0,r0,-864(fp)
3135 cmpl -864(fp),-868(fp)
3142 bicl3 #-65536,-864(fp),r0
3143 ashl #16,r0,-868(fp)
3165 bicl3 #-65536,24(r6),r3
3168 bicl3 #-65536,24(r7),r2
3173 mull3 r0,r5,-872(fp)
3175 mull3 r2,r4,-876(fp)
3177 addl3 -872(fp),-876(fp),r0
3178 bicl3 #0,r0,-872(fp)
3179 cmpl -872(fp),-876(fp)
3186 bicl3 #-65536,-872(fp),r0
3187 ashl #16,r0,-876(fp)
3209 bicl3 #-65536,20(r6),r3
3212 bicl3 #-65536,28(r7),r2
3217 mull3 r0,r5,-880(fp)
3219 mull3 r2,r4,-884(fp)
3221 addl3 -880(fp),-884(fp),r0
3222 bicl3 #0,r0,-880(fp)
3223 cmpl -880(fp),-884(fp)
3230 bicl3 #-65536,-880(fp),r0
3231 ashl #16,r0,-884(fp)
3257 bicl3 #-65536,24(r6),r3
3260 bicl3 #-65536,28(r7),r2
3265 mull3 r0,r5,-888(fp)
3267 mull3 r2,r4,-892(fp)
3269 addl3 -888(fp),-892(fp),r0
3270 bicl3 #0,r0,-888(fp)
3271 cmpl -888(fp),-892(fp)
3278 bicl3 #-65536,-888(fp),r0
3279 ashl #16,r0,-892(fp)
3302 bicl3 #-65536,24(r7),r3
3305 bicl3 #-65536,28(r6),-904(fp)
3306 bicl3 #-65536,r2,-908(fp)
3307 mull3 r0,-904(fp),-896(fp)
3309 mull3 r3,-908(fp),-900(fp)
3311 addl3 -896(fp),-900(fp),r0
3312 bicl3 #0,r0,-896(fp)
3313 cmpl -896(fp),-900(fp)
3315 addl2 #65536,-908(fp)
3320 bicl3 #-65536,-896(fp),r0
3321 ashl #16,r0,-900(fp)
3322 addl3 -900(fp),-904(fp),r0
3323 bicl3 #0,r0,-904(fp)
3324 cmpl -904(fp),-900(fp)
3348 bicl3 #-65536,28(r7),r3
3351 bicl3 #-65536,28(r6),-920(fp)
3352 bicl3 #-65536,r2,-924(fp)
3353 mull3 r0,-920(fp),-912(fp)
3355 mull3 r3,-924(fp),-916(fp)
3357 addl3 -912(fp),-916(fp),r0
3358 bicl3 #0,r0,-912(fp)
3359 cmpl -912(fp),-916(fp)
3361 addl2 #65536,-924(fp)
3366 bicl3 #-65536,-912(fp),r0
3367 ashl #16,r0,-916(fp)
3368 addl3 -916(fp),-920(fp),r0
3369 bicl3 #0,r0,-920(fp)
3370 cmpl -920(fp),-916(fp)
3400 ;n=16 ;(AP) n by value (input)
3404 .entry BN_MUL_COMBA4,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10,r11>
3412 bicl3 #-65536,(r6),r3
3416 bicl3 #-65536,(r7),r1
3425 addl3 -4(fp),-8(fp),r0
3434 bicl3 #-65536,-4(fp),r0
3462 bicl3 #-65536,(r6),r3
3465 bicl3 #-65536,4(r7),r2
3474 addl3 -12(fp),-16(fp),r0
3476 cmpl -12(fp),-16(fp)
3483 bicl3 #-65536,-12(fp),r0
3506 bicl3 #-65536,4(r6),r3
3509 bicl3 #-65536,(r7),r2
3518 addl3 -20(fp),-24(fp),r0
3520 cmpl -20(fp),-24(fp)
3527 bicl3 #-65536,-20(fp),r0
3554 bicl3 #-65536,8(r6),r3
3557 bicl3 #-65536,(r7),r2
3566 addl3 -28(fp),-32(fp),r0
3568 cmpl -28(fp),-32(fp)
3575 bicl3 #-65536,-28(fp),r0
3598 bicl3 #-65536,4(r6),r3
3601 bicl3 #-65536,4(r7),r2
3610 addl3 -36(fp),-40(fp),r0
3612 cmpl -36(fp),-40(fp)
3619 bicl3 #-65536,-36(fp),r0
3642 bicl3 #-65536,(r6),r3
3645 bicl3 #-65536,8(r7),r2
3654 addl3 -44(fp),-48(fp),r0
3656 cmpl -44(fp),-48(fp)
3663 bicl3 #-65536,-44(fp),r0
3690 bicl3 #-65536,(r6),r3
3692 bicl3 #-65536,12(r7),r1
3696 bicl3 #-65536,r2,-60(fp)
3699 mull3 r1,-60(fp),-56(fp)
3701 addl3 -52(fp),-56(fp),r0
3703 cmpl -52(fp),-56(fp)
3705 addl2 #65536,-60(fp)
3710 bicl3 #-65536,-52(fp),r0
3734 bicl3 #-65536,8(r7),r3
3737 bicl3 #-65536,4(r6),-72(fp)
3738 bicl3 #-65536,r2,-76(fp)
3739 mull3 r0,-72(fp),-64(fp)
3741 mull3 r3,-76(fp),-68(fp)
3743 addl3 -64(fp),-68(fp),r0
3745 cmpl -64(fp),-68(fp)
3747 addl2 #65536,-76(fp)
3752 bicl3 #-65536,-64(fp),r0
3754 addl3 -68(fp),-72(fp),r0
3756 cmpl -72(fp),-68(fp)
3775 bicl3 #-65536,8(r6),r3
3778 bicl3 #-65536,4(r7),r2
3787 addl3 -80(fp),-84(fp),r0
3789 cmpl -80(fp),-84(fp)
3796 bicl3 #-65536,-80(fp),r0
3819 bicl3 #-65536,12(r6),r3
3822 bicl3 #-65536,(r7),r2
3831 addl3 -88(fp),-92(fp),r0
3833 cmpl -88(fp),-92(fp)
3840 bicl3 #-65536,-88(fp),r0
3867 bicl3 #-65536,12(r6),r3
3870 bicl3 #-65536,4(r7),r2
3877 mull3 r2,r4,-100(fp)
3879 addl3 -96(fp),-100(fp),r0
3881 cmpl -96(fp),-100(fp)
3888 bicl3 #-65536,-96(fp),r0
3889 ashl #16,r0,-100(fp)
3911 bicl3 #-65536,8(r6),r3
3914 bicl3 #-65536,8(r7),r2
3919 mull3 r0,r5,-104(fp)
3921 mull3 r2,r4,-108(fp)
3923 addl3 -104(fp),-108(fp),r0
3924 bicl3 #0,r0,-104(fp)
3925 cmpl -104(fp),-108(fp)
3932 bicl3 #-65536,-104(fp),r0
3933 ashl #16,r0,-108(fp)
3955 bicl3 #-65536,4(r6),r3
3958 bicl3 #-65536,12(r7),r2
3963 mull3 r0,r5,-112(fp)
3965 mull3 r2,r4,-116(fp)
3967 addl3 -112(fp),-116(fp),r0
3968 bicl3 #0,r0,-112(fp)
3969 cmpl -112(fp),-116(fp)
3976 bicl3 #-65536,-112(fp),r0
3977 ashl #16,r0,-116(fp)
4003 bicl3 #-65536,8(r6),r3
4006 bicl3 #-65536,12(r7),r2
4011 mull3 r0,r5,-120(fp)
4013 mull3 r2,r4,-124(fp)
4015 addl3 -120(fp),-124(fp),r0
4016 bicl3 #0,r0,-120(fp)
4017 cmpl -120(fp),-124(fp)
4024 bicl3 #-65536,-120(fp),r0
4025 ashl #16,r0,-124(fp)
4048 bicl3 #-65536,8(r7),r3
4051 bicl3 #-65536,12(r6),-136(fp)
4052 bicl3 #-65536,r2,-140(fp)
4053 mull3 r0,-136(fp),-128(fp)
4055 mull3 r3,-140(fp),-132(fp)
4057 addl3 -128(fp),-132(fp),r0
4058 bicl3 #0,r0,-128(fp)
4059 cmpl -128(fp),-132(fp)
4061 addl2 #65536,-140(fp)
4066 bicl3 #-65536,-128(fp),r0
4067 ashl #16,r0,-132(fp)
4068 addl3 -132(fp),-136(fp),r0
4069 bicl3 #0,r0,-136(fp)
4070 cmpl -136(fp),-132(fp)
4094 bicl3 #-65536,12(r7),r3
4097 bicl3 #-65536,12(r6),-152(fp)
4098 bicl3 #-65536,r2,-156(fp)
4099 mull3 r0,-152(fp),-144(fp)
4101 mull3 r3,-156(fp),-148(fp)
4103 addl3 -144(fp),-148(fp),r0
4104 bicl3 #0,r0,-144(fp)
4105 cmpl -144(fp),-148(fp)
4107 addl2 #65536,-156(fp)
4112 bicl3 #-65536,-144(fp),r0
4113 ashl #16,r0,-148(fp)
4114 addl3 -148(fp),-152(fp),r0
4115 bicl3 #0,r0,-152(fp)
4116 cmpl -152(fp),-148(fp)
4146 ;n=16 ;(AP) n by value (input)
4150 .entry BN_SQR_COMBA8,^m<r2,r3,r4,r5,r6,r7,r8,r9>
4159 bicl3 #-65536,r3,-4(fp)
4166 bicl3 #32767,-8(fp),r0
4169 bicl3 #-65536,-8(fp),r0
4171 addl3 -4(fp),-8(fp),r0
4197 bicl3 #-65536,(r4),r3
4200 bicl3 #-65536,4(r4),-20(fp)
4201 bicl3 #-65536,r2,-24(fp)
4202 mull3 r0,-20(fp),-12(fp)
4204 mull3 r3,-24(fp),-16(fp)
4206 addl3 -12(fp),-16(fp),r0
4208 cmpl -12(fp),-16(fp)
4210 addl2 #65536,-24(fp)
4215 bicl3 #-65536,-12(fp),r0
4217 addl3 -16(fp),-20(fp),r0
4219 cmpl -20(fp),-16(fp)
4225 bbc #31,r2,noname.374
4230 bbc #31,r3,noname.375
4258 bicl3 #-65536,r3,-28(fp)
4265 bicl3 #32767,-32(fp),r0
4268 bicl3 #-65536,-32(fp),r0
4270 addl3 -28(fp),-32(fp),r0
4272 cmpl -28(fp),-32(fp)
4292 bicl3 #-65536,(r4),r3
4295 bicl3 #-65536,8(r4),-44(fp)
4296 bicl3 #-65536,r2,-48(fp)
4297 mull3 r0,-44(fp),-36(fp)
4299 mull3 r3,-48(fp),-40(fp)
4301 addl3 -36(fp),-40(fp),r0
4303 cmpl -36(fp),-40(fp)
4305 addl2 #65536,-48(fp)
4310 bicl3 #-65536,-36(fp),r0
4312 addl3 -40(fp),-44(fp),r0
4314 cmpl -44(fp),-40(fp)
4320 bbc #31,r2,noname.383
4325 bbc #31,r3,noname.384
4353 bicl3 #-65536,(r0),r3
4356 bicl3 #-65536,12(r0),-60(fp)
4357 bicl3 #-65536,r2,-64(fp)
4358 mull3 r1,-60(fp),-52(fp)
4360 mull3 r3,-64(fp),-56(fp)
4362 addl3 -52(fp),-56(fp),r0
4364 cmpl -52(fp),-56(fp)
4366 addl2 #65536,-64(fp)
4371 bicl3 #-65536,-52(fp),r0
4373 addl3 -56(fp),-60(fp),r0
4375 cmpl -60(fp),-56(fp)
4381 bbc #31,r2,noname.389
4386 bbc #31,r3,noname.390
4409 bicl3 #-65536,4(r0),r3
4412 bicl3 #-65536,8(r0),-76(fp)
4413 bicl3 #-65536,r2,-80(fp)
4414 mull3 r1,-76(fp),-68(fp)
4416 mull3 r3,-80(fp),-72(fp)
4418 addl3 -68(fp),-72(fp),r0
4420 cmpl -68(fp),-72(fp)
4422 addl2 #65536,-80(fp)
4427 bicl3 #-65536,-68(fp),r0
4429 addl3 -72(fp),-76(fp),r0
4431 cmpl -76(fp),-72(fp)
4437 bbc #31,r2,noname.395
4442 bbc #31,r3,noname.396
4470 bicl3 #-65536,r4,-84(fp)
4477 bicl3 #32767,-88(fp),r0
4480 bicl3 #-65536,-88(fp),r0
4482 addl3 -84(fp),-88(fp),r0
4484 cmpl -84(fp),-88(fp)
4504 bicl3 #-65536,4(r2),r1
4507 bicl3 #-65536,12(r2),-100(fp)
4508 bicl3 #-65536,r3,-104(fp)
4509 mull3 r0,-100(fp),-92(fp)
4511 mull3 r1,-104(fp),-96(fp)
4513 addl3 -92(fp),-96(fp),r0
4515 cmpl -92(fp),-96(fp)
4517 addl2 #65536,-104(fp)
4522 bicl3 #-65536,-92(fp),r0
4524 addl3 -96(fp),-100(fp),r0
4525 bicl3 #0,r0,-100(fp)
4526 cmpl -100(fp),-96(fp)
4532 bbc #31,r2,noname.404
4537 bbc #31,r3,noname.405
4560 bicl3 #-65536,(r0),r3
4563 bicl3 #-65536,16(r0),-116(fp)
4564 bicl3 #-65536,r2,-120(fp)
4565 mull3 r1,-116(fp),-108(fp)
4567 mull3 r3,-120(fp),-112(fp)
4569 addl3 -108(fp),-112(fp),r0
4570 bicl3 #0,r0,-108(fp)
4571 cmpl -108(fp),-112(fp)
4573 addl2 #65536,-120(fp)
4578 bicl3 #-65536,-108(fp),r0
4579 ashl #16,r0,-112(fp)
4580 addl3 -112(fp),-116(fp),r0
4581 bicl3 #0,r0,-116(fp)
4582 cmpl -116(fp),-112(fp)
4588 bbc #31,r2,noname.410
4593 bbc #31,r3,noname.411
4621 bicl3 #-65536,(r0),r3
4624 bicl3 #-65536,20(r0),-132(fp)
4625 bicl3 #-65536,r2,-136(fp)
4626 mull3 r1,-132(fp),-124(fp)
4628 mull3 r3,-136(fp),-128(fp)
4630 addl3 -124(fp),-128(fp),r0
4631 bicl3 #0,r0,-124(fp)
4632 cmpl -124(fp),-128(fp)
4634 addl2 #65536,-136(fp)
4639 bicl3 #-65536,-124(fp),r0
4640 ashl #16,r0,-128(fp)
4641 addl3 -128(fp),-132(fp),r0
4642 bicl3 #0,r0,-132(fp)
4643 cmpl -132(fp),-128(fp)
4649 bbc #31,r2,noname.416
4654 bbc #31,r3,noname.417
4677 bicl3 #-65536,4(r0),r3
4680 bicl3 #-65536,16(r0),-148(fp)
4681 bicl3 #-65536,r2,-152(fp)
4682 mull3 r1,-148(fp),-140(fp)
4684 mull3 r3,-152(fp),-144(fp)
4686 addl3 -140(fp),-144(fp),r0
4687 bicl3 #0,r0,-140(fp)
4688 cmpl -140(fp),-144(fp)
4690 addl2 #65536,-152(fp)
4695 bicl3 #-65536,-140(fp),r0
4696 ashl #16,r0,-144(fp)
4697 addl3 -144(fp),-148(fp),r0
4698 bicl3 #0,r0,-148(fp)
4699 cmpl -148(fp),-144(fp)
4705 bbc #31,r2,noname.422
4710 bbc #31,r3,noname.423
4733 bicl3 #-65536,8(r0),r3
4736 bicl3 #-65536,12(r0),-164(fp)
4737 bicl3 #-65536,r2,-168(fp)
4738 mull3 r1,-164(fp),-156(fp)
4740 mull3 r3,-168(fp),-160(fp)
4742 addl3 -156(fp),-160(fp),r0
4743 bicl3 #0,r0,-156(fp)
4744 cmpl -156(fp),-160(fp)
4746 addl2 #65536,-168(fp)
4751 bicl3 #-65536,-156(fp),r0
4752 ashl #16,r0,-160(fp)
4753 addl3 -160(fp),-164(fp),r0
4754 bicl3 #0,r0,-164(fp)
4755 cmpl -164(fp),-160(fp)
4761 bbc #31,r2,noname.428
4766 bbc #31,r3,noname.429
4794 bicl3 #-65536,r4,-172(fp)
4798 mull3 r0,r4,-176(fp)
4799 mull3 r0,r0,-172(fp)
4801 bicl3 #32767,-176(fp),r0
4804 bicl3 #-65536,-176(fp),r0
4805 ashl #17,r0,-176(fp)
4806 addl3 -172(fp),-176(fp),r0
4807 bicl3 #0,r0,-172(fp)
4808 cmpl -172(fp),-176(fp)
4828 bicl3 #-65536,8(r2),r1
4831 bicl3 #-65536,16(r2),-188(fp)
4832 bicl3 #-65536,r3,-192(fp)
4833 mull3 r0,-188(fp),-180(fp)
4835 mull3 r1,-192(fp),-184(fp)
4837 addl3 -180(fp),-184(fp),r0
4838 bicl3 #0,r0,-180(fp)
4839 cmpl -180(fp),-184(fp)
4841 addl2 #65536,-192(fp)
4846 bicl3 #-65536,-180(fp),r0
4847 ashl #16,r0,-184(fp)
4848 addl3 -184(fp),-188(fp),r0
4849 bicl3 #0,r0,-188(fp)
4850 cmpl -188(fp),-184(fp)
4856 bbc #31,r2,noname.437
4861 bbc #31,r3,noname.438
4884 bicl3 #-65536,4(r0),r3
4887 bicl3 #-65536,20(r0),-204(fp)
4888 bicl3 #-65536,r2,-208(fp)
4889 mull3 r1,-204(fp),-196(fp)
4891 mull3 r3,-208(fp),-200(fp)
4893 addl3 -196(fp),-200(fp),r0
4894 bicl3 #0,r0,-196(fp)
4895 cmpl -196(fp),-200(fp)
4897 addl2 #65536,-208(fp)
4902 bicl3 #-65536,-196(fp),r0
4903 ashl #16,r0,-200(fp)
4904 addl3 -200(fp),-204(fp),r0
4905 bicl3 #0,r0,-204(fp)
4906 cmpl -204(fp),-200(fp)
4912 bbc #31,r2,noname.443
4917 bbc #31,r3,noname.444
4940 bicl3 #-65536,(r0),r3
4943 bicl3 #-65536,24(r0),-220(fp)
4944 bicl3 #-65536,r2,-224(fp)
4945 mull3 r1,-220(fp),-212(fp)
4947 mull3 r3,-224(fp),-216(fp)
4949 addl3 -212(fp),-216(fp),r0
4950 bicl3 #0,r0,-212(fp)
4951 cmpl -212(fp),-216(fp)
4953 addl2 #65536,-224(fp)
4958 bicl3 #-65536,-212(fp),r0
4959 ashl #16,r0,-216(fp)
4960 addl3 -216(fp),-220(fp),r0
4961 bicl3 #0,r0,-220(fp)
4962 cmpl -220(fp),-216(fp)
4968 bbc #31,r2,noname.449
4973 bbc #31,r3,noname.450
5001 bicl3 #-65536,(r0),r3
5004 bicl3 #-65536,28(r0),-236(fp)
5005 bicl3 #-65536,r2,-240(fp)
5006 mull3 r1,-236(fp),-228(fp)
5008 mull3 r3,-240(fp),-232(fp)
5010 addl3 -228(fp),-232(fp),r0
5011 bicl3 #0,r0,-228(fp)
5012 cmpl -228(fp),-232(fp)
5014 addl2 #65536,-240(fp)
5019 bicl3 #-65536,-228(fp),r0
5020 ashl #16,r0,-232(fp)
5021 addl3 -232(fp),-236(fp),r0
5022 bicl3 #0,r0,-236(fp)
5023 cmpl -236(fp),-232(fp)
5029 bbc #31,r2,noname.455
5034 bbc #31,r3,noname.456
5057 bicl3 #-65536,4(r0),r3
5060 bicl3 #-65536,24(r0),-252(fp)
5061 bicl3 #-65536,r2,-256(fp)
5062 mull3 r1,-252(fp),-244(fp)
5064 mull3 r3,-256(fp),-248(fp)
5066 addl3 -244(fp),-248(fp),r0
5067 bicl3 #0,r0,-244(fp)
5068 cmpl -244(fp),-248(fp)
5070 addl2 #65536,-256(fp)
5075 bicl3 #-65536,-244(fp),r0
5076 ashl #16,r0,-248(fp)
5077 addl3 -248(fp),-252(fp),r0
5078 bicl3 #0,r0,-252(fp)
5079 cmpl -252(fp),-248(fp)
5085 bbc #31,r2,noname.461
5090 bbc #31,r3,noname.462
5113 bicl3 #-65536,8(r0),r3
5116 bicl3 #-65536,20(r0),-268(fp)
5117 bicl3 #-65536,r2,-272(fp)
5118 mull3 r1,-268(fp),-260(fp)
5120 mull3 r3,-272(fp),-264(fp)
5122 addl3 -260(fp),-264(fp),r0
5123 bicl3 #0,r0,-260(fp)
5124 cmpl -260(fp),-264(fp)
5126 addl2 #65536,-272(fp)
5131 bicl3 #-65536,-260(fp),r0
5132 ashl #16,r0,-264(fp)
5133 addl3 -264(fp),-268(fp),r0
5134 bicl3 #0,r0,-268(fp)
5135 cmpl -268(fp),-264(fp)
5141 bbc #31,r2,noname.467
5146 bbc #31,r3,noname.468
5169 bicl3 #-65536,12(r0),r3
5172 bicl3 #-65536,16(r0),-284(fp)
5173 bicl3 #-65536,r2,-288(fp)
5174 mull3 r1,-284(fp),-276(fp)
5176 mull3 r3,-288(fp),-280(fp)
5178 addl3 -276(fp),-280(fp),r0
5179 bicl3 #0,r0,-276(fp)
5180 cmpl -276(fp),-280(fp)
5182 addl2 #65536,-288(fp)
5187 bicl3 #-65536,-276(fp),r0
5188 ashl #16,r0,-280(fp)
5189 addl3 -280(fp),-284(fp),r0
5190 bicl3 #0,r0,-284(fp)
5191 cmpl -284(fp),-280(fp)
5197 bbc #31,r2,noname.473
5202 bbc #31,r3,noname.474
5233 mull3 r5,r4,-292(fp)
5236 bicl3 #32767,-292(fp),r0
5239 bicl3 #-65536,-292(fp),r0
5240 ashl #17,r0,-292(fp)
5262 bicl3 #-65536,20(r3),r4
5265 bicl3 #-65536,12(r3),r2
5270 mull3 r0,r6,-296(fp)
5272 mull3 r2,r5,-300(fp)
5274 addl3 -296(fp),-300(fp),r0
5275 bicl3 #0,r0,-296(fp)
5276 cmpl -296(fp),-300(fp)
5283 bicl3 #-65536,-296(fp),r0
5284 ashl #16,r0,-300(fp)
5293 bbc #31,r2,noname.482
5298 bbc #31,r3,noname.483
5320 bicl3 #-65536,24(r0),r3
5323 bicl3 #-65536,8(r0),r2
5328 mull3 r0,r5,-304(fp)
5330 mull3 r2,r4,-308(fp)
5332 addl3 -304(fp),-308(fp),r0
5333 bicl3 #0,r0,-304(fp)
5334 cmpl -304(fp),-308(fp)
5341 bicl3 #-65536,-304(fp),r0
5342 ashl #16,r0,-308(fp)
5351 bbc #31,r2,noname.488
5356 bbc #31,r3,noname.489
5378 bicl3 #-65536,28(r0),r3
5381 bicl3 #-65536,4(r0),r2
5386 mull3 r0,r5,-312(fp)
5388 mull3 r2,r4,-316(fp)
5390 addl3 -312(fp),-316(fp),r0
5391 bicl3 #0,r0,-312(fp)
5392 cmpl -312(fp),-316(fp)
5399 bicl3 #-65536,-312(fp),r0
5400 ashl #16,r0,-316(fp)
5409 bbc #31,r2,noname.494
5414 bbc #31,r3,noname.495
5441 bicl3 #-65536,28(r0),r3
5443 bicl3 #-65536,8(r0),r1
5447 bicl3 #-65536,r2,-328(fp)
5448 mull3 r0,r4,-320(fp)
5450 mull3 r1,-328(fp),-324(fp)
5452 addl3 -320(fp),-324(fp),r0
5453 bicl3 #0,r0,-320(fp)
5454 cmpl -320(fp),-324(fp)
5456 addl2 #65536,-328(fp)
5461 bicl3 #-65536,-320(fp),r0
5462 ashl #16,r0,-324(fp)
5471 bbc #31,r2,noname.500
5476 bbc #31,r3,noname.501
5499 bicl3 #-65536,12(r0),r3
5502 bicl3 #-65536,24(r0),-340(fp)
5503 bicl3 #-65536,r2,-344(fp)
5504 mull3 r1,-340(fp),-332(fp)
5506 mull3 r3,-344(fp),-336(fp)
5508 addl3 -332(fp),-336(fp),r0
5509 bicl3 #0,r0,-332(fp)
5510 cmpl -332(fp),-336(fp)
5512 addl2 #65536,-344(fp)
5517 bicl3 #-65536,-332(fp),r0
5518 ashl #16,r0,-336(fp)
5519 addl3 -336(fp),-340(fp),r0
5520 bicl3 #0,r0,-340(fp)
5521 cmpl -340(fp),-336(fp)
5527 bbc #31,r2,noname.506
5532 bbc #31,r3,noname.507
5555 bicl3 #-65536,16(r0),r3
5558 bicl3 #-65536,20(r0),-356(fp)
5559 bicl3 #-65536,r2,-360(fp)
5560 mull3 r1,-356(fp),-348(fp)
5562 mull3 r3,-360(fp),-352(fp)
5564 addl3 -348(fp),-352(fp),r0
5565 bicl3 #0,r0,-348(fp)
5566 cmpl -348(fp),-352(fp)
5568 addl2 #65536,-360(fp)
5573 bicl3 #-65536,-348(fp),r0
5574 ashl #16,r0,-352(fp)
5575 addl3 -352(fp),-356(fp),r0
5576 bicl3 #0,r0,-356(fp)
5577 cmpl -356(fp),-352(fp)
5583 bbc #31,r2,noname.512
5588 bbc #31,r3,noname.513
5616 bicl3 #-65536,r4,-364(fp)
5620 mull3 r0,r4,-368(fp)
5621 mull3 r0,r0,-364(fp)
5623 bicl3 #32767,-368(fp),r0
5626 bicl3 #-65536,-368(fp),r0
5627 ashl #17,r0,-368(fp)
5628 addl3 -364(fp),-368(fp),r0
5629 bicl3 #0,r0,-364(fp)
5630 cmpl -364(fp),-368(fp)
5649 bicl3 #-65536,24(r3),r4
5652 bicl3 #-65536,16(r3),r2
5657 mull3 r0,r6,-372(fp)
5659 mull3 r2,r5,-376(fp)
5661 addl3 -372(fp),-376(fp),r0
5662 bicl3 #0,r0,-372(fp)
5663 cmpl -372(fp),-376(fp)
5670 bicl3 #-65536,-372(fp),r0
5671 ashl #16,r0,-376(fp)
5680 bbc #31,r2,noname.521
5685 bbc #31,r3,noname.522
5707 bicl3 #-65536,28(r0),r3
5710 bicl3 #-65536,12(r0),r2
5715 mull3 r0,r5,-380(fp)
5717 mull3 r2,r4,-384(fp)
5719 addl3 -380(fp),-384(fp),r0
5720 bicl3 #0,r0,-380(fp)
5721 cmpl -380(fp),-384(fp)
5728 bicl3 #-65536,-380(fp),r0
5729 ashl #16,r0,-384(fp)
5738 bbc #31,r2,noname.527
5743 bbc #31,r3,noname.528
5769 bicl3 #-65536,28(r0),r3
5772 bicl3 #-65536,16(r0),r2
5777 mull3 r0,r5,-388(fp)
5779 mull3 r2,r4,-392(fp)
5781 addl3 -388(fp),-392(fp),r0
5782 bicl3 #0,r0,-388(fp)
5783 cmpl -388(fp),-392(fp)
5790 bicl3 #-65536,-388(fp),r0
5791 ashl #16,r0,-392(fp)
5800 bbc #31,r2,noname.533
5805 bbc #31,r3,noname.534
5827 bicl3 #-65536,24(r0),r3
5830 bicl3 #-65536,20(r0),r2
5835 mull3 r0,r5,-396(fp)
5837 mull3 r2,r4,-400(fp)
5839 addl3 -396(fp),-400(fp),r0
5840 bicl3 #0,r0,-396(fp)
5841 cmpl -396(fp),-400(fp)
5848 bicl3 #-65536,-396(fp),r0
5849 ashl #16,r0,-400(fp)
5858 bbc #31,r2,noname.539
5863 bbc #31,r3,noname.540
5894 mull3 r5,r4,-404(fp)
5897 bicl3 #32767,-404(fp),r0
5900 bicl3 #-65536,-404(fp),r0
5901 ashl #17,r0,-404(fp)
5924 bicl3 #-65536,20(r3),r1
5927 bicl3 #-65536,28(r3),-416(fp)
5928 bicl3 #-65536,r2,-420(fp)
5929 mull3 r0,-416(fp),-408(fp)
5931 mull3 r1,-420(fp),-412(fp)
5933 addl3 -408(fp),-412(fp),r0
5934 bicl3 #0,r0,-408(fp)
5935 cmpl -408(fp),-412(fp)
5937 addl2 #65536,-420(fp)
5942 bicl3 #-65536,-408(fp),r0
5943 ashl #16,r0,-412(fp)
5944 addl3 -412(fp),-416(fp),r0
5945 bicl3 #0,r0,-416(fp)
5946 cmpl -416(fp),-412(fp)
5952 bbc #31,r2,noname.548
5957 bbc #31,r3,noname.549
5985 bicl3 #-65536,24(r0),r3
5988 bicl3 #-65536,28(r0),-432(fp)
5989 bicl3 #-65536,r2,-436(fp)
5990 mull3 r1,-432(fp),-424(fp)
5992 mull3 r3,-436(fp),-428(fp)
5994 addl3 -424(fp),-428(fp),r0
5995 bicl3 #0,r0,-424(fp)
5996 cmpl -424(fp),-428(fp)
5998 addl2 #65536,-436(fp)
6003 bicl3 #-65536,-424(fp),r0
6004 ashl #16,r0,-428(fp)
6005 addl3 -428(fp),-432(fp),r0
6006 bicl3 #0,r0,-432(fp)
6007 cmpl -432(fp),-428(fp)
6013 bbc #31,r2,noname.554
6018 bbc #31,r3,noname.555
6046 bicl3 #-65536,r3,-440(fp)
6050 mull3 r0,r3,-444(fp)
6051 mull3 r0,r0,-440(fp)
6053 bicl3 #32767,-444(fp),r0
6056 bicl3 #-65536,-444(fp),r0
6057 ashl #17,r0,-444(fp)
6058 addl3 -440(fp),-444(fp),r0
6059 bicl3 #0,r0,-440(fp)
6060 cmpl -440(fp),-444(fp)
6090 ;n=16 ;(AP) n by value (input)
6094 .entry BN_SQR_COMBA4,^m<r2,r3,r4,r5,r6,r7,r8,r9,r10>
6109 bicl3 #32767,-4(fp),r0
6112 bicl3 #-65536,-4(fp),r0
6139 bicl3 #-65536,4(r5),r3
6142 bicl3 #-65536,(r5),r2
6160 bicl3 #-65536,-8(fp),r0
6170 bbc #31,r2,noname.568
6175 bbc #31,r3,noname.569
6235 bicl3 #-65536,8(r4),r3
6238 bicl3 #-65536,(r4),r2
6266 bbc #31,r2,noname.577
6271 bbc #31,r3,noname.578
6298 bicl3 #-65536,12(r0),r3
6301 bicl3 #-65536,(r0),r2
6329 bbc #31,r2,noname.583
6334 bbc #31,r3,noname.584
6356 bicl3 #-65536,8(r0),r3
6359 bicl3 #-65536,4(r0),r2
6368 addl3 -16(fp),-20(fp),r0
6370 cmpl -16(fp),-20(fp)
6377 bicl3 #-65536,-16(fp),r0
6387 bbc #31,r2,noname.589
6392 bbc #31,r3,noname.590
6425 bicl3 #32767,-24(fp),r0
6428 bicl3 #-65536,-24(fp),r0
6451 bicl3 #-65536,12(r3),r4
6454 bicl3 #-65536,4(r3),r2
6463 addl3 -28(fp),-32(fp),r0
6465 cmpl -28(fp),-32(fp)
6472 bicl3 #-65536,-28(fp),r0
6482 bbc #31,r2,noname.598
6487 bbc #31,r3,noname.599
6514 bicl3 #-65536,12(r0),r3
6517 bicl3 #-65536,8(r0),r2
6526 addl3 -36(fp),-40(fp),r0
6528 cmpl -36(fp),-40(fp)
6535 bicl3 #-65536,-36(fp),r0
6545 bbc #31,r2,noname.604
6550 bbc #31,r3,noname.605
6584 bicl3 #32767,-44(fp),r0
6587 bicl3 #-65536,-44(fp),r0
6616 ; For now, the code below doesn't work, so I end this prematurely.
6619 .title vax_bn_div64 division 64/32=>32
6623 ; unsigned int bn_div64(unsigned long h, unsigned long l, unsigned long d)
6629 h=4 ;(AP) by value (input)
6630 l=8 ;(AP) by value (input)
6631 d=12 ;(AP) by value (input)
6633 .entry bn_div64,^m<r2,r3,r4,r5,r6,r7,r8,r9>
6641 ; Treat "negative" specially
6655 ; The theory here is to do some harmless shifting and a little
6656 ; bit of rounding (brackets are to designate when decimals are
6659 ; result = 2 * [ ([<h,0>/2] + [d/2]) / d ] + [ l / d ]
6663 ashq #-1,r7,r7 ; [<h,0>/2] => <r8,r7>
6664 bicl2 #^X80000000,r8 ; Remove "sign"
6667 ashl #-1,r9,r9 ; [d/2] => r9
6668 bicl2 #^X80000000,r9 ; Remove "sign"
6671 adwc #0,r8 ; [<h,0>/2] + [d/2] => <r8,r7>
6673 ediv r4,r7,r5,r6 ; [ ([<h,0>/2] + [d/2]) / d ] => <r5,r6>
6677 ashq #1,r5,r5 ; 2 * [ ([<h,0>/2] + [d/2]) / d ] => r5
6680 ediv r4,r2,r8,r9 ; [ l / d ] => <r8,r9>