summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bn/asm
diff options
context:
space:
mode:
authorbeck <>2001-08-01 19:51:17 +0000
committerbeck <>2001-08-01 19:51:17 +0000
commit4b790f68539c49ef91f5e82506c2624900c92106 (patch)
treed14ff9f79630cb04ad006cd2730646f44f62d786 /src/lib/libcrypto/bn/asm
parentedbfd6c7e91e15e92ef0df548474ac76b6dddca0 (diff)
downloadopenbsd-4b790f68539c49ef91f5e82506c2624900c92106.tar.gz
openbsd-4b790f68539c49ef91f5e82506c2624900c92106.tar.bz2
openbsd-4b790f68539c49ef91f5e82506c2624900c92106.zip
merge openssl 0.9.6b-engine
Note that this is a maintenence release, API's appear *not* to have changed. As such, I have only increased the minor number on these libraries
Diffstat (limited to 'src/lib/libcrypto/bn/asm')
-rw-r--r--src/lib/libcrypto/bn/asm/mips3.s430
1 files changed, 245 insertions, 185 deletions
diff --git a/src/lib/libcrypto/bn/asm/mips3.s b/src/lib/libcrypto/bn/asm/mips3.s
index 45786c00a5..dca4105c7d 100644
--- a/src/lib/libcrypto/bn/asm/mips3.s
+++ b/src/lib/libcrypto/bn/asm/mips3.s
@@ -1,5 +1,5 @@
1.rdata 1.rdata
2.asciiz "mips3.s, Version 1.0" 2.asciiz "mips3.s, Version 1.1"
3.asciiz "MIPS III/IV ISA artwork by Andy Polyakov <appro@fy.chalmers.se>" 3.asciiz "MIPS III/IV ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
4 4
5/* 5/*
@@ -849,6 +849,7 @@ LEAF(bn_mul_comba8)
849 sltu AT,c_1,t_1 849 sltu AT,c_1,t_1
850 daddu t_2,AT 850 daddu t_2,AT
851 daddu c_2,t_2 851 daddu c_2,t_2
852 sltu c_3,c_2,t_2
852 dmultu a_1,b_2 /* mul_add_c(a[1],b[2],c1,c2,c3); */ 853 dmultu a_1,b_2 /* mul_add_c(a[1],b[2],c1,c2,c3); */
853 mflo t_1 854 mflo t_1
854 mfhi t_2 855 mfhi t_2
@@ -856,7 +857,8 @@ LEAF(bn_mul_comba8)
856 sltu AT,c_1,t_1 857 sltu AT,c_1,t_1
857 daddu t_2,AT 858 daddu t_2,AT
858 daddu c_2,t_2 859 daddu c_2,t_2
859 sltu c_3,c_2,t_2 860 sltu AT,c_2,t_2
861 daddu c_3,AT
860 dmultu a_2,b_1 /* mul_add_c(a[2],b[1],c1,c2,c3); */ 862 dmultu a_2,b_1 /* mul_add_c(a[2],b[1],c1,c2,c3); */
861 mflo t_1 863 mflo t_1
862 mfhi t_2 864 mfhi t_2
@@ -884,6 +886,7 @@ LEAF(bn_mul_comba8)
884 sltu AT,c_2,t_1 886 sltu AT,c_2,t_1
885 daddu t_2,AT 887 daddu t_2,AT
886 daddu c_3,t_2 888 daddu c_3,t_2
889 sltu c_1,c_3,t_2
887 dmultu a_3,b_1 /* mul_add_c(a[3],b[1],c2,c3,c1); */ 890 dmultu a_3,b_1 /* mul_add_c(a[3],b[1],c2,c3,c1); */
888 mflo t_1 891 mflo t_1
889 mfhi t_2 892 mfhi t_2
@@ -891,7 +894,8 @@ LEAF(bn_mul_comba8)
891 sltu AT,c_2,t_1 894 sltu AT,c_2,t_1
892 daddu t_2,AT 895 daddu t_2,AT
893 daddu c_3,t_2 896 daddu c_3,t_2
894 sltu c_1,c_3,t_2 897 sltu AT,c_3,t_2
898 daddu c_1,AT
895 dmultu a_2,b_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */ 899 dmultu a_2,b_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */
896 mflo t_1 900 mflo t_1
897 mfhi t_2 901 mfhi t_2
@@ -928,6 +932,7 @@ LEAF(bn_mul_comba8)
928 sltu AT,c_3,t_1 932 sltu AT,c_3,t_1
929 daddu t_2,AT 933 daddu t_2,AT
930 daddu c_1,t_2 934 daddu c_1,t_2
935 sltu c_2,c_1,t_2
931 dmultu a_1,b_4 /* mul_add_c(a[1],b[4],c3,c1,c2); */ 936 dmultu a_1,b_4 /* mul_add_c(a[1],b[4],c3,c1,c2); */
932 mflo t_1 937 mflo t_1
933 mfhi t_2 938 mfhi t_2
@@ -935,7 +940,8 @@ LEAF(bn_mul_comba8)
935 sltu AT,c_3,t_1 940 sltu AT,c_3,t_1
936 daddu t_2,AT 941 daddu t_2,AT
937 daddu c_1,t_2 942 daddu c_1,t_2
938 sltu c_2,c_1,t_2 943 sltu AT,c_1,t_2
944 daddu c_2,AT
939 dmultu a_2,b_3 /* mul_add_c(a[2],b[3],c3,c1,c2); */ 945 dmultu a_2,b_3 /* mul_add_c(a[2],b[3],c3,c1,c2); */
940 mflo t_1 946 mflo t_1
941 mfhi t_2 947 mfhi t_2
@@ -981,6 +987,7 @@ LEAF(bn_mul_comba8)
981 sltu AT,c_1,t_1 987 sltu AT,c_1,t_1
982 daddu t_2,AT 988 daddu t_2,AT
983 daddu c_2,t_2 989 daddu c_2,t_2
990 sltu c_3,c_2,t_2
984 dmultu a_5,b_1 /* mul_add_c(a[5],b[1],c1,c2,c3); */ 991 dmultu a_5,b_1 /* mul_add_c(a[5],b[1],c1,c2,c3); */
985 mflo t_1 992 mflo t_1
986 mfhi t_2 993 mfhi t_2
@@ -988,7 +995,8 @@ LEAF(bn_mul_comba8)
988 sltu AT,c_1,t_1 995 sltu AT,c_1,t_1
989 daddu t_2,AT 996 daddu t_2,AT
990 daddu c_2,t_2 997 daddu c_2,t_2
991 sltu c_3,c_2,t_2 998 sltu AT,c_2,t_2
999 daddu c_3,AT
992 dmultu a_4,b_2 /* mul_add_c(a[4],b[2],c1,c2,c3); */ 1000 dmultu a_4,b_2 /* mul_add_c(a[4],b[2],c1,c2,c3); */
993 mflo t_1 1001 mflo t_1
994 mfhi t_2 1002 mfhi t_2
@@ -1043,6 +1051,7 @@ LEAF(bn_mul_comba8)
1043 sltu AT,c_2,t_1 1051 sltu AT,c_2,t_1
1044 daddu t_2,AT 1052 daddu t_2,AT
1045 daddu c_3,t_2 1053 daddu c_3,t_2
1054 sltu c_1,c_3,t_2
1046 dmultu a_1,b_6 /* mul_add_c(a[1],b[6],c2,c3,c1); */ 1055 dmultu a_1,b_6 /* mul_add_c(a[1],b[6],c2,c3,c1); */
1047 mflo t_1 1056 mflo t_1
1048 mfhi t_2 1057 mfhi t_2
@@ -1050,7 +1059,8 @@ LEAF(bn_mul_comba8)
1050 sltu AT,c_2,t_1 1059 sltu AT,c_2,t_1
1051 daddu t_2,AT 1060 daddu t_2,AT
1052 daddu c_3,t_2 1061 daddu c_3,t_2
1053 sltu c_1,c_3,t_2 1062 sltu AT,c_3,t_2
1063 daddu c_1,AT
1054 dmultu a_2,b_5 /* mul_add_c(a[2],b[5],c2,c3,c1); */ 1064 dmultu a_2,b_5 /* mul_add_c(a[2],b[5],c2,c3,c1); */
1055 mflo t_1 1065 mflo t_1
1056 mfhi t_2 1066 mfhi t_2
@@ -1114,6 +1124,7 @@ LEAF(bn_mul_comba8)
1114 sltu AT,c_3,t_1 1124 sltu AT,c_3,t_1
1115 daddu t_2,AT 1125 daddu t_2,AT
1116 daddu c_1,t_2 1126 daddu c_1,t_2
1127 sltu c_2,c_1,t_2
1117 dmultu a_6,b_2 /* mul_add_c(a[6],b[2],c3,c1,c2); */ 1128 dmultu a_6,b_2 /* mul_add_c(a[6],b[2],c3,c1,c2); */
1118 mflo t_1 1129 mflo t_1
1119 mfhi t_2 1130 mfhi t_2
@@ -1121,7 +1132,8 @@ LEAF(bn_mul_comba8)
1121 sltu AT,c_3,t_1 1132 sltu AT,c_3,t_1
1122 daddu t_2,AT 1133 daddu t_2,AT
1123 daddu c_1,t_2 1134 daddu c_1,t_2
1124 sltu c_2,c_1,t_2 1135 sltu AT,c_1,t_2
1136 daddu c_2,AT
1125 dmultu a_5,b_3 /* mul_add_c(a[5],b[3],c3,c1,c2); */ 1137 dmultu a_5,b_3 /* mul_add_c(a[5],b[3],c3,c1,c2); */
1126 mflo t_1 1138 mflo t_1
1127 mfhi t_2 1139 mfhi t_2
@@ -1176,6 +1188,7 @@ LEAF(bn_mul_comba8)
1176 sltu AT,c_1,t_1 1188 sltu AT,c_1,t_1
1177 daddu t_2,AT 1189 daddu t_2,AT
1178 daddu c_2,t_2 1190 daddu c_2,t_2
1191 sltu c_3,c_2,t_2
1179 dmultu a_3,b_6 /* mul_add_c(a[3],b[6],c1,c2,c3); */ 1192 dmultu a_3,b_6 /* mul_add_c(a[3],b[6],c1,c2,c3); */
1180 mflo t_1 1193 mflo t_1
1181 mfhi t_2 1194 mfhi t_2
@@ -1183,7 +1196,8 @@ LEAF(bn_mul_comba8)
1183 sltu AT,c_1,t_1 1196 sltu AT,c_1,t_1
1184 daddu t_2,AT 1197 daddu t_2,AT
1185 daddu c_2,t_2 1198 daddu c_2,t_2
1186 sltu c_3,c_2,t_2 1199 sltu AT,c_2,t_2
1200 daddu c_3,AT
1187 dmultu a_4,b_5 /* mul_add_c(a[4],b[5],c1,c2,c3); */ 1201 dmultu a_4,b_5 /* mul_add_c(a[4],b[5],c1,c2,c3); */
1188 mflo t_1 1202 mflo t_1
1189 mfhi t_2 1203 mfhi t_2
@@ -1229,6 +1243,7 @@ LEAF(bn_mul_comba8)
1229 sltu AT,c_2,t_1 1243 sltu AT,c_2,t_1
1230 daddu t_2,AT 1244 daddu t_2,AT
1231 daddu c_3,t_2 1245 daddu c_3,t_2
1246 sltu c_1,c_3,t_2
1232 dmultu a_6,b_4 /* mul_add_c(a[6],b[4],c2,c3,c1); */ 1247 dmultu a_6,b_4 /* mul_add_c(a[6],b[4],c2,c3,c1); */
1233 mflo t_1 1248 mflo t_1
1234 mfhi t_2 1249 mfhi t_2
@@ -1236,7 +1251,8 @@ LEAF(bn_mul_comba8)
1236 sltu AT,c_2,t_1 1251 sltu AT,c_2,t_1
1237 daddu t_2,AT 1252 daddu t_2,AT
1238 daddu c_3,t_2 1253 daddu c_3,t_2
1239 sltu c_1,c_3,t_2 1254 sltu AT,c_3,t_2
1255 daddu c_1,AT
1240 dmultu a_5,b_5 /* mul_add_c(a[5],b[5],c2,c3,c1); */ 1256 dmultu a_5,b_5 /* mul_add_c(a[5],b[5],c2,c3,c1); */
1241 mflo t_1 1257 mflo t_1
1242 mfhi t_2 1258 mfhi t_2
@@ -1273,6 +1289,7 @@ LEAF(bn_mul_comba8)
1273 sltu AT,c_3,t_1 1289 sltu AT,c_3,t_1
1274 daddu t_2,AT 1290 daddu t_2,AT
1275 daddu c_1,t_2 1291 daddu c_1,t_2
1292 sltu c_2,c_1,t_2
1276 dmultu a_5,b_6 /* mul_add_c(a[5],b[6],c3,c1,c2); */ 1293 dmultu a_5,b_6 /* mul_add_c(a[5],b[6],c3,c1,c2); */
1277 mflo t_1 1294 mflo t_1
1278 mfhi t_2 1295 mfhi t_2
@@ -1280,7 +1297,8 @@ LEAF(bn_mul_comba8)
1280 sltu AT,c_3,t_1 1297 sltu AT,c_3,t_1
1281 daddu t_2,AT 1298 daddu t_2,AT
1282 daddu c_1,t_2 1299 daddu c_1,t_2
1283 sltu c_2,c_1,t_2 1300 sltu AT,c_1,t_2
1301 daddu c_2,AT
1284 dmultu a_6,b_5 /* mul_add_c(a[6],b[5],c3,c1,c2); */ 1302 dmultu a_6,b_5 /* mul_add_c(a[6],b[5],c3,c1,c2); */
1285 mflo t_1 1303 mflo t_1
1286 mfhi t_2 1304 mfhi t_2
@@ -1308,6 +1326,7 @@ LEAF(bn_mul_comba8)
1308 sltu AT,c_1,t_1 1326 sltu AT,c_1,t_1
1309 daddu t_2,AT 1327 daddu t_2,AT
1310 daddu c_2,t_2 1328 daddu c_2,t_2
1329 sltu c_3,c_2,t_2
1311 dmultu a_6,b_6 /* mul_add_c(a[6],b[6],c1,c2,c3); */ 1330 dmultu a_6,b_6 /* mul_add_c(a[6],b[6],c1,c2,c3); */
1312 mflo t_1 1331 mflo t_1
1313 mfhi t_2 1332 mfhi t_2
@@ -1315,7 +1334,8 @@ LEAF(bn_mul_comba8)
1315 sltu AT,c_1,t_1 1334 sltu AT,c_1,t_1
1316 daddu t_2,AT 1335 daddu t_2,AT
1317 daddu c_2,t_2 1336 daddu c_2,t_2
1318 sltu c_3,c_2,t_2 1337 sltu AT,c_2,t_2
1338 daddu c_3,AT
1319 dmultu a_5,b_7 /* mul_add_c(a[5],b[7],c1,c2,c3); */ 1339 dmultu a_5,b_7 /* mul_add_c(a[5],b[7],c1,c2,c3); */
1320 mflo t_1 1340 mflo t_1
1321 mfhi t_2 1341 mfhi t_2
@@ -1334,6 +1354,7 @@ LEAF(bn_mul_comba8)
1334 sltu AT,c_2,t_1 1354 sltu AT,c_2,t_1
1335 daddu t_2,AT 1355 daddu t_2,AT
1336 daddu c_3,t_2 1356 daddu c_3,t_2
1357 sltu c_1,c_3,t_2
1337 dmultu a_7,b_6 /* mul_add_c(a[7],b[6],c2,c3,c1); */ 1358 dmultu a_7,b_6 /* mul_add_c(a[7],b[6],c2,c3,c1); */
1338 mflo t_1 1359 mflo t_1
1339 mfhi t_2 1360 mfhi t_2
@@ -1341,7 +1362,8 @@ LEAF(bn_mul_comba8)
1341 sltu AT,c_2,t_1 1362 sltu AT,c_2,t_1
1342 daddu t_2,AT 1363 daddu t_2,AT
1343 daddu c_3,t_2 1364 daddu c_3,t_2
1344 sltu c_1,c_3,t_2 1365 sltu AT,c_3,t_2
1366 daddu c_1,AT
1345 sd c_2,104(a0) /* r[13]=c2; */ 1367 sd c_2,104(a0) /* r[13]=c2; */
1346 1368
1347 dmultu a_7,b_7 /* mul_add_c(a[7],b[7],c3,c1,c2); */ 1369 dmultu a_7,b_7 /* mul_add_c(a[7],b[7],c3,c1,c2); */
@@ -1430,6 +1452,7 @@ LEAF(bn_mul_comba4)
1430 sltu AT,c_1,t_1 1452 sltu AT,c_1,t_1
1431 daddu t_2,AT 1453 daddu t_2,AT
1432 daddu c_2,t_2 1454 daddu c_2,t_2
1455 sltu c_3,c_2,t_2
1433 dmultu a_1,b_2 /* mul_add_c(a[1],b[2],c1,c2,c3); */ 1456 dmultu a_1,b_2 /* mul_add_c(a[1],b[2],c1,c2,c3); */
1434 mflo t_1 1457 mflo t_1
1435 mfhi t_2 1458 mfhi t_2
@@ -1437,7 +1460,8 @@ LEAF(bn_mul_comba4)
1437 sltu AT,c_1,t_1 1460 sltu AT,c_1,t_1
1438 daddu t_2,AT 1461 daddu t_2,AT
1439 daddu c_2,t_2 1462 daddu c_2,t_2
1440 sltu c_3,c_2,t_2 1463 sltu AT,c_2,t_2
1464 daddu c_3,AT
1441 dmultu a_2,b_1 /* mul_add_c(a[2],b[1],c1,c2,c3); */ 1465 dmultu a_2,b_1 /* mul_add_c(a[2],b[1],c1,c2,c3); */
1442 mflo t_1 1466 mflo t_1
1443 mfhi t_2 1467 mfhi t_2
@@ -1465,6 +1489,7 @@ LEAF(bn_mul_comba4)
1465 sltu AT,c_2,t_1 1489 sltu AT,c_2,t_1
1466 daddu t_2,AT 1490 daddu t_2,AT
1467 daddu c_3,t_2 1491 daddu c_3,t_2
1492 sltu c_1,c_3,t_2
1468 dmultu a_2,b_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */ 1493 dmultu a_2,b_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */
1469 mflo t_1 1494 mflo t_1
1470 mfhi t_2 1495 mfhi t_2
@@ -1472,7 +1497,8 @@ LEAF(bn_mul_comba4)
1472 sltu AT,c_2,t_1 1497 sltu AT,c_2,t_1
1473 daddu t_2,AT 1498 daddu t_2,AT
1474 daddu c_3,t_2 1499 daddu c_3,t_2
1475 sltu c_1,c_3,t_2 1500 sltu AT,c_3,t_2
1501 daddu c_1,AT
1476 dmultu a_1,b_3 /* mul_add_c(a[1],b[3],c2,c3,c1); */ 1502 dmultu a_1,b_3 /* mul_add_c(a[1],b[3],c2,c3,c1); */
1477 mflo t_1 1503 mflo t_1
1478 mfhi t_2 1504 mfhi t_2
@@ -1491,6 +1517,7 @@ LEAF(bn_mul_comba4)
1491 sltu AT,c_3,t_1 1517 sltu AT,c_3,t_1
1492 daddu t_2,AT 1518 daddu t_2,AT
1493 daddu c_1,t_2 1519 daddu c_1,t_2
1520 sltu c_2,c_1,t_2
1494 dmultu a_3,b_2 /* mul_add_c(a[3],b[2],c3,c1,c2); */ 1521 dmultu a_3,b_2 /* mul_add_c(a[3],b[2],c3,c1,c2); */
1495 mflo t_1 1522 mflo t_1
1496 mfhi t_2 1523 mfhi t_2
@@ -1498,7 +1525,8 @@ LEAF(bn_mul_comba4)
1498 sltu AT,c_3,t_1 1525 sltu AT,c_3,t_1
1499 daddu t_2,AT 1526 daddu t_2,AT
1500 daddu c_1,t_2 1527 daddu c_1,t_2
1501 sltu c_2,c_1,t_2 1528 sltu AT,c_1,t_2
1529 daddu c_2,AT
1502 sd c_3,40(a0) 1530 sd c_3,40(a0)
1503 1531
1504 dmultu a_3,b_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */ 1532 dmultu a_3,b_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */
@@ -1543,28 +1571,30 @@ LEAF(bn_sqr_comba8)
1543 dmultu a_0,a_1 /* mul_add_c2(a[0],b[1],c2,c3,c1); */ 1571 dmultu a_0,a_1 /* mul_add_c2(a[0],b[1],c2,c3,c1); */
1544 mflo t_1 1572 mflo t_1
1545 mfhi t_2 1573 mfhi t_2
1574 slt c_1,t_2,zero
1575 dsll t_2,1
1576 slt a2,t_1,zero
1577 daddu t_2,a2
1578 dsll t_1,1
1546 daddu c_2,t_1 1579 daddu c_2,t_1
1547 sltu AT,c_2,t_1 1580 sltu AT,c_2,t_1
1548 daddu c_3,t_2,AT 1581 daddu c_3,t_2,AT
1549 daddu c_2,t_1
1550 sltu AT,c_2,t_1
1551 daddu t_2,AT
1552 daddu c_3,t_2
1553 sltu c_1,c_3,t_2
1554 sd c_2,8(a0) 1582 sd c_2,8(a0)
1555 1583
1556 dmultu a_2,a_0 /* mul_add_c2(a[2],b[0],c3,c1,c2); */ 1584 dmultu a_2,a_0 /* mul_add_c2(a[2],b[0],c3,c1,c2); */
1557 mflo t_1 1585 mflo t_1
1558 mfhi t_2 1586 mfhi t_2
1559 daddu c_3,t_1 1587 slt c_2,t_2,zero
1560 sltu AT,c_3,t_1 1588 dsll t_2,1
1561 daddu a2,t_2,AT 1589 slt a2,t_1,zero
1562 daddu c_1,a2 1590 daddu t_2,a2
1591 dsll t_1,1
1563 daddu c_3,t_1 1592 daddu c_3,t_1
1564 sltu AT,c_3,t_1 1593 sltu AT,c_3,t_1
1565 daddu t_2,AT 1594 daddu t_2,AT
1566 daddu c_1,t_2 1595 daddu c_1,t_2
1567 sltu c_2,c_1,t_2 1596 sltu AT,c_1,t_2
1597 daddu c_2,AT
1568 dmultu a_1,a_1 /* mul_add_c(a[1],b[1],c3,c1,c2); */ 1598 dmultu a_1,a_1 /* mul_add_c(a[1],b[1],c3,c1,c2); */
1569 mflo t_1 1599 mflo t_1
1570 mfhi t_2 1600 mfhi t_2
@@ -1579,24 +1609,26 @@ LEAF(bn_sqr_comba8)
1579 dmultu a_0,a_3 /* mul_add_c2(a[0],b[3],c1,c2,c3); */ 1609 dmultu a_0,a_3 /* mul_add_c2(a[0],b[3],c1,c2,c3); */
1580 mflo t_1 1610 mflo t_1
1581 mfhi t_2 1611 mfhi t_2
1582 daddu c_1,t_1 1612 slt c_3,t_2,zero
1583 sltu AT,c_1,t_1 1613 dsll t_2,1
1584 daddu a2,t_2,AT 1614 slt a2,t_1,zero
1585 daddu c_2,a2 1615 daddu t_2,a2
1616 dsll t_1,1
1586 daddu c_1,t_1 1617 daddu c_1,t_1
1587 sltu AT,c_1,t_1 1618 sltu AT,c_1,t_1
1588 daddu t_2,AT 1619 daddu t_2,AT
1589 daddu c_2,t_2 1620 daddu c_2,t_2
1590 sltu c_3,c_2,t_2 1621 sltu AT,c_2,t_2
1622 daddu c_3,AT
1591 dmultu a_1,a_2 /* mul_add_c2(a[1],b[2],c1,c2,c3); */ 1623 dmultu a_1,a_2 /* mul_add_c2(a[1],b[2],c1,c2,c3); */
1592 mflo t_1 1624 mflo t_1
1593 mfhi t_2 1625 mfhi t_2
1594 daddu c_1,t_1 1626 slt AT,t_2,zero
1595 sltu AT,c_1,t_1
1596 daddu a2,t_2,AT
1597 daddu c_2,a2
1598 sltu AT,c_2,a2
1599 daddu c_3,AT 1627 daddu c_3,AT
1628 dsll t_2,1
1629 slt a2,t_1,zero
1630 daddu t_2,a2
1631 dsll t_1,1
1600 daddu c_1,t_1 1632 daddu c_1,t_1
1601 sltu AT,c_1,t_1 1633 sltu AT,c_1,t_1
1602 daddu t_2,AT 1634 daddu t_2,AT
@@ -1608,24 +1640,26 @@ LEAF(bn_sqr_comba8)
1608 dmultu a_4,a_0 /* mul_add_c2(a[4],b[0],c2,c3,c1); */ 1640 dmultu a_4,a_0 /* mul_add_c2(a[4],b[0],c2,c3,c1); */
1609 mflo t_1 1641 mflo t_1
1610 mfhi t_2 1642 mfhi t_2
1611 daddu c_2,t_1 1643 slt c_1,t_2,zero
1612 sltu AT,c_2,t_1 1644 dsll t_2,1
1613 daddu a2,t_2,AT 1645 slt a2,t_1,zero
1614 daddu c_3,a2 1646 daddu t_2,a2
1647 dsll t_1,1
1615 daddu c_2,t_1 1648 daddu c_2,t_1
1616 sltu AT,c_2,t_1 1649 sltu AT,c_2,t_1
1617 daddu t_2,AT 1650 daddu t_2,AT
1618 daddu c_3,t_2 1651 daddu c_3,t_2
1619 sltu c_1,c_3,t_2 1652 sltu AT,c_3,t_2
1653 daddu c_1,AT
1620 dmultu a_3,a_1 /* mul_add_c2(a[3],b[1],c2,c3,c1); */ 1654 dmultu a_3,a_1 /* mul_add_c2(a[3],b[1],c2,c3,c1); */
1621 mflo t_1 1655 mflo t_1
1622 mfhi t_2 1656 mfhi t_2
1623 daddu c_2,t_1 1657 slt AT,t_2,zero
1624 sltu AT,c_2,t_1
1625 daddu a2,t_2,AT
1626 daddu c_3,a2
1627 sltu AT,c_3,a2
1628 daddu c_1,AT 1658 daddu c_1,AT
1659 dsll t_2,1
1660 slt a2,t_1,zero
1661 daddu t_2,a2
1662 dsll t_1,1
1629 daddu c_2,t_1 1663 daddu c_2,t_1
1630 sltu AT,c_2,t_1 1664 sltu AT,c_2,t_1
1631 daddu t_2,AT 1665 daddu t_2,AT
@@ -1646,24 +1680,26 @@ LEAF(bn_sqr_comba8)
1646 dmultu a_0,a_5 /* mul_add_c2(a[0],b[5],c3,c1,c2); */ 1680 dmultu a_0,a_5 /* mul_add_c2(a[0],b[5],c3,c1,c2); */
1647 mflo t_1 1681 mflo t_1
1648 mfhi t_2 1682 mfhi t_2
1649 daddu c_3,t_1 1683 slt c_2,t_2,zero
1650 sltu AT,c_3,t_1 1684 dsll t_2,1
1651 daddu a2,t_2,AT 1685 slt a2,t_1,zero
1652 daddu c_1,a2 1686 daddu t_2,a2
1687 dsll t_1,1
1653 daddu c_3,t_1 1688 daddu c_3,t_1
1654 sltu AT,c_3,t_1 1689 sltu AT,c_3,t_1
1655 daddu t_2,AT 1690 daddu t_2,AT
1656 daddu c_1,t_2 1691 daddu c_1,t_2
1657 sltu c_2,c_1,t_2 1692 sltu AT,c_1,t_2
1693 daddu c_2,AT
1658 dmultu a_1,a_4 /* mul_add_c2(a[1],b[4],c3,c1,c2); */ 1694 dmultu a_1,a_4 /* mul_add_c2(a[1],b[4],c3,c1,c2); */
1659 mflo t_1 1695 mflo t_1
1660 mfhi t_2 1696 mfhi t_2
1661 daddu c_3,t_1 1697 slt AT,t_2,zero
1662 sltu AT,c_3,t_1
1663 daddu a2,t_2,AT
1664 daddu c_1,a2
1665 sltu AT,c_1,a2
1666 daddu c_2,AT 1698 daddu c_2,AT
1699 dsll t_2,1
1700 slt a2,t_1,zero
1701 daddu t_2,a2
1702 dsll t_1,1
1667 daddu c_3,t_1 1703 daddu c_3,t_1
1668 sltu AT,c_3,t_1 1704 sltu AT,c_3,t_1
1669 daddu t_2,AT 1705 daddu t_2,AT
@@ -1673,12 +1709,12 @@ LEAF(bn_sqr_comba8)
1673 dmultu a_2,a_3 /* mul_add_c2(a[2],b[3],c3,c1,c2); */ 1709 dmultu a_2,a_3 /* mul_add_c2(a[2],b[3],c3,c1,c2); */
1674 mflo t_1 1710 mflo t_1
1675 mfhi t_2 1711 mfhi t_2
1676 daddu c_3,t_1 1712 slt AT,t_2,zero
1677 sltu AT,c_3,t_1
1678 daddu a2,t_2,AT
1679 daddu c_1,a2
1680 sltu AT,c_1,a2
1681 daddu c_2,AT 1713 daddu c_2,AT
1714 dsll t_2,1
1715 slt a2,t_1,zero
1716 daddu t_2,a2
1717 dsll t_1,1
1682 daddu c_3,t_1 1718 daddu c_3,t_1
1683 sltu AT,c_3,t_1 1719 sltu AT,c_3,t_1
1684 daddu t_2,AT 1720 daddu t_2,AT
@@ -1690,24 +1726,26 @@ LEAF(bn_sqr_comba8)
1690 dmultu a_6,a_0 /* mul_add_c2(a[6],b[0],c1,c2,c3); */ 1726 dmultu a_6,a_0 /* mul_add_c2(a[6],b[0],c1,c2,c3); */
1691 mflo t_1 1727 mflo t_1
1692 mfhi t_2 1728 mfhi t_2
1693 daddu c_1,t_1 1729 slt c_3,t_2,zero
1694 sltu AT,c_1,t_1 1730 dsll t_2,1
1695 daddu a2,t_2,AT 1731 slt a2,t_1,zero
1696 daddu c_2,a2 1732 daddu t_2,a2
1733 dsll t_1,1
1697 daddu c_1,t_1 1734 daddu c_1,t_1
1698 sltu AT,c_1,t_1 1735 sltu AT,c_1,t_1
1699 daddu t_2,AT 1736 daddu t_2,AT
1700 daddu c_2,t_2 1737 daddu c_2,t_2
1701 sltu c_3,c_2,t_2 1738 sltu AT,c_2,t_2
1739 daddu c_3,AT
1702 dmultu a_5,a_1 /* mul_add_c2(a[5],b[1],c1,c2,c3); */ 1740 dmultu a_5,a_1 /* mul_add_c2(a[5],b[1],c1,c2,c3); */
1703 mflo t_1 1741 mflo t_1
1704 mfhi t_2 1742 mfhi t_2
1705 daddu c_1,t_1 1743 slt AT,t_2,zero
1706 sltu AT,c_1,t_1
1707 daddu a2,t_2,AT
1708 daddu c_2,a2
1709 sltu AT,c_2,a2
1710 daddu c_3,AT 1744 daddu c_3,AT
1745 dsll t_2,1
1746 slt a2,t_1,zero
1747 daddu t_2,a2
1748 dsll t_1,1
1711 daddu c_1,t_1 1749 daddu c_1,t_1
1712 sltu AT,c_1,t_1 1750 sltu AT,c_1,t_1
1713 daddu t_2,AT 1751 daddu t_2,AT
@@ -1717,12 +1755,12 @@ LEAF(bn_sqr_comba8)
1717 dmultu a_4,a_2 /* mul_add_c2(a[4],b[2],c1,c2,c3); */ 1755 dmultu a_4,a_2 /* mul_add_c2(a[4],b[2],c1,c2,c3); */
1718 mflo t_1 1756 mflo t_1
1719 mfhi t_2 1757 mfhi t_2
1720 daddu c_1,t_1 1758 slt AT,t_2,zero
1721 sltu AT,c_1,t_1
1722 daddu a2,t_2,AT
1723 daddu c_2,a2
1724 sltu AT,c_2,a2
1725 daddu c_3,AT 1759 daddu c_3,AT
1760 dsll t_2,1
1761 slt a2,t_1,zero
1762 daddu t_2,a2
1763 dsll t_1,1
1726 daddu c_1,t_1 1764 daddu c_1,t_1
1727 sltu AT,c_1,t_1 1765 sltu AT,c_1,t_1
1728 daddu t_2,AT 1766 daddu t_2,AT
@@ -1743,24 +1781,26 @@ LEAF(bn_sqr_comba8)
1743 dmultu a_0,a_7 /* mul_add_c2(a[0],b[7],c2,c3,c1); */ 1781 dmultu a_0,a_7 /* mul_add_c2(a[0],b[7],c2,c3,c1); */
1744 mflo t_1 1782 mflo t_1
1745 mfhi t_2 1783 mfhi t_2
1746 daddu c_2,t_1 1784 slt c_1,t_2,zero
1747 sltu AT,c_2,t_1 1785 dsll t_2,1
1748 daddu a2,t_2,AT 1786 slt a2,t_1,zero
1749 daddu c_3,a2 1787 daddu t_2,a2
1788 dsll t_1,1
1750 daddu c_2,t_1 1789 daddu c_2,t_1
1751 sltu AT,c_2,t_1 1790 sltu AT,c_2,t_1
1752 daddu t_2,AT 1791 daddu t_2,AT
1753 daddu c_3,t_2 1792 daddu c_3,t_2
1754 sltu c_1,c_3,t_2 1793 sltu AT,c_3,t_2
1794 daddu c_1,AT
1755 dmultu a_1,a_6 /* mul_add_c2(a[1],b[6],c2,c3,c1); */ 1795 dmultu a_1,a_6 /* mul_add_c2(a[1],b[6],c2,c3,c1); */
1756 mflo t_1 1796 mflo t_1
1757 mfhi t_2 1797 mfhi t_2
1758 daddu c_2,t_1 1798 slt AT,t_2,zero
1759 sltu AT,c_2,t_1
1760 daddu a2,t_2,AT
1761 daddu c_3,a2
1762 sltu AT,c_3,a2
1763 daddu c_1,AT 1799 daddu c_1,AT
1800 dsll t_2,1
1801 slt a2,t_1,zero
1802 daddu t_2,a2
1803 dsll t_1,1
1764 daddu c_2,t_1 1804 daddu c_2,t_1
1765 sltu AT,c_2,t_1 1805 sltu AT,c_2,t_1
1766 daddu t_2,AT 1806 daddu t_2,AT
@@ -1770,12 +1810,12 @@ LEAF(bn_sqr_comba8)
1770 dmultu a_2,a_5 /* mul_add_c2(a[2],b[5],c2,c3,c1); */ 1810 dmultu a_2,a_5 /* mul_add_c2(a[2],b[5],c2,c3,c1); */
1771 mflo t_1 1811 mflo t_1
1772 mfhi t_2 1812 mfhi t_2
1773 daddu c_2,t_1 1813 slt AT,t_2,zero
1774 sltu AT,c_2,t_1
1775 daddu a2,t_2,AT
1776 daddu c_3,a2
1777 sltu AT,c_3,a2
1778 daddu c_1,AT 1814 daddu c_1,AT
1815 dsll t_2,1
1816 slt a2,t_1,zero
1817 daddu t_2,a2
1818 dsll t_1,1
1779 daddu c_2,t_1 1819 daddu c_2,t_1
1780 sltu AT,c_2,t_1 1820 sltu AT,c_2,t_1
1781 daddu t_2,AT 1821 daddu t_2,AT
@@ -1785,12 +1825,12 @@ LEAF(bn_sqr_comba8)
1785 dmultu a_3,a_4 /* mul_add_c2(a[3],b[4],c2,c3,c1); */ 1825 dmultu a_3,a_4 /* mul_add_c2(a[3],b[4],c2,c3,c1); */
1786 mflo t_1 1826 mflo t_1
1787 mfhi t_2 1827 mfhi t_2
1788 daddu c_2,t_1 1828 slt AT,t_2,zero
1789 sltu AT,c_2,t_1
1790 daddu a2,t_2,AT
1791 daddu c_3,a2
1792 sltu AT,c_3,a2
1793 daddu c_1,AT 1829 daddu c_1,AT
1830 dsll t_2,1
1831 slt a2,t_1,zero
1832 daddu t_2,a2
1833 dsll t_1,1
1794 daddu c_2,t_1 1834 daddu c_2,t_1
1795 sltu AT,c_2,t_1 1835 sltu AT,c_2,t_1
1796 daddu t_2,AT 1836 daddu t_2,AT
@@ -1802,24 +1842,26 @@ LEAF(bn_sqr_comba8)
1802 dmultu a_7,a_1 /* mul_add_c2(a[7],b[1],c3,c1,c2); */ 1842 dmultu a_7,a_1 /* mul_add_c2(a[7],b[1],c3,c1,c2); */
1803 mflo t_1 1843 mflo t_1
1804 mfhi t_2 1844 mfhi t_2
1805 daddu c_3,t_1 1845 slt c_2,t_2,zero
1806 sltu AT,c_3,t_1 1846 dsll t_2,1
1807 daddu a2,t_2,AT 1847 slt a2,t_1,zero
1808 daddu c_1,a2 1848 daddu t_2,a2
1849 dsll t_1,1
1809 daddu c_3,t_1 1850 daddu c_3,t_1
1810 sltu AT,c_3,t_1 1851 sltu AT,c_3,t_1
1811 daddu t_2,AT 1852 daddu t_2,AT
1812 daddu c_1,t_2 1853 daddu c_1,t_2
1813 sltu c_2,c_1,t_2 1854 sltu AT,c_1,t_2
1855 daddu c_2,AT
1814 dmultu a_6,a_2 /* mul_add_c2(a[6],b[2],c3,c1,c2); */ 1856 dmultu a_6,a_2 /* mul_add_c2(a[6],b[2],c3,c1,c2); */
1815 mflo t_1 1857 mflo t_1
1816 mfhi t_2 1858 mfhi t_2
1817 daddu c_3,t_1 1859 slt AT,t_2,zero
1818 sltu AT,c_3,t_1
1819 daddu a2,t_2,AT
1820 daddu c_1,a2
1821 sltu AT,c_1,a2
1822 daddu c_2,AT 1860 daddu c_2,AT
1861 dsll t_2,1
1862 slt a2,t_1,zero
1863 daddu t_2,a2
1864 dsll t_1,1
1823 daddu c_3,t_1 1865 daddu c_3,t_1
1824 sltu AT,c_3,t_1 1866 sltu AT,c_3,t_1
1825 daddu t_2,AT 1867 daddu t_2,AT
@@ -1829,12 +1871,12 @@ LEAF(bn_sqr_comba8)
1829 dmultu a_5,a_3 /* mul_add_c2(a[5],b[3],c3,c1,c2); */ 1871 dmultu a_5,a_3 /* mul_add_c2(a[5],b[3],c3,c1,c2); */
1830 mflo t_1 1872 mflo t_1
1831 mfhi t_2 1873 mfhi t_2
1832 daddu c_3,t_1 1874 slt AT,t_2,zero
1833 sltu AT,c_3,t_1
1834 daddu a2,t_2,AT
1835 daddu c_1,a2
1836 sltu AT,c_1,a2
1837 daddu c_2,AT 1875 daddu c_2,AT
1876 dsll t_2,1
1877 slt a2,t_1,zero
1878 daddu t_2,a2
1879 dsll t_1,1
1838 daddu c_3,t_1 1880 daddu c_3,t_1
1839 sltu AT,c_3,t_1 1881 sltu AT,c_3,t_1
1840 daddu t_2,AT 1882 daddu t_2,AT
@@ -1855,24 +1897,26 @@ LEAF(bn_sqr_comba8)
1855 dmultu a_2,a_7 /* mul_add_c2(a[2],b[7],c1,c2,c3); */ 1897 dmultu a_2,a_7 /* mul_add_c2(a[2],b[7],c1,c2,c3); */
1856 mflo t_1 1898 mflo t_1
1857 mfhi t_2 1899 mfhi t_2
1858 daddu c_1,t_1 1900 slt c_3,t_2,zero
1859 sltu AT,c_1,t_1 1901 dsll t_2,1
1860 daddu a2,t_2,AT 1902 slt a2,t_1,zero
1861 daddu c_2,a2 1903 daddu t_2,a2
1904 dsll t_1,1
1862 daddu c_1,t_1 1905 daddu c_1,t_1
1863 sltu AT,c_1,t_1 1906 sltu AT,c_1,t_1
1864 daddu t_2,AT 1907 daddu t_2,AT
1865 daddu c_2,t_2 1908 daddu c_2,t_2
1866 sltu c_3,c_2,t_2 1909 sltu AT,c_2,t_2
1910 daddu c_3,AT
1867 dmultu a_3,a_6 /* mul_add_c2(a[3],b[6],c1,c2,c3); */ 1911 dmultu a_3,a_6 /* mul_add_c2(a[3],b[6],c1,c2,c3); */
1868 mflo t_1 1912 mflo t_1
1869 mfhi t_2 1913 mfhi t_2
1870 daddu c_1,t_1 1914 slt AT,t_2,zero
1871 sltu AT,c_1,t_1
1872 daddu a2,t_2,AT
1873 daddu c_2,a2
1874 sltu AT,c_2,a2
1875 daddu c_3,AT 1915 daddu c_3,AT
1916 dsll t_2,1
1917 slt a2,t_1,zero
1918 daddu t_2,a2
1919 dsll t_1,1
1876 daddu c_1,t_1 1920 daddu c_1,t_1
1877 sltu AT,c_1,t_1 1921 sltu AT,c_1,t_1
1878 daddu t_2,AT 1922 daddu t_2,AT
@@ -1882,12 +1926,12 @@ LEAF(bn_sqr_comba8)
1882 dmultu a_4,a_5 /* mul_add_c2(a[4],b[5],c1,c2,c3); */ 1926 dmultu a_4,a_5 /* mul_add_c2(a[4],b[5],c1,c2,c3); */
1883 mflo t_1 1927 mflo t_1
1884 mfhi t_2 1928 mfhi t_2
1885 daddu c_1,t_1 1929 slt AT,t_2,zero
1886 sltu AT,c_1,t_1
1887 daddu a2,t_2,AT
1888 daddu c_2,a2
1889 sltu AT,c_2,a2
1890 daddu c_3,AT 1930 daddu c_3,AT
1931 dsll t_2,1
1932 slt a2,t_1,zero
1933 daddu t_2,a2
1934 dsll t_1,1
1891 daddu c_1,t_1 1935 daddu c_1,t_1
1892 sltu AT,c_1,t_1 1936 sltu AT,c_1,t_1
1893 daddu t_2,AT 1937 daddu t_2,AT
@@ -1899,24 +1943,26 @@ LEAF(bn_sqr_comba8)
1899 dmultu a_7,a_3 /* mul_add_c2(a[7],b[3],c2,c3,c1); */ 1943 dmultu a_7,a_3 /* mul_add_c2(a[7],b[3],c2,c3,c1); */
1900 mflo t_1 1944 mflo t_1
1901 mfhi t_2 1945 mfhi t_2
1902 daddu c_2,t_1 1946 slt c_1,t_2,zero
1903 sltu AT,c_2,t_1 1947 dsll t_2,1
1904 daddu a2,t_2,AT 1948 slt a2,t_1,zero
1905 daddu c_3,a2 1949 daddu t_2,a2
1950 dsll t_1,1
1906 daddu c_2,t_1 1951 daddu c_2,t_1
1907 sltu AT,c_2,t_1 1952 sltu AT,c_2,t_1
1908 daddu t_2,AT 1953 daddu t_2,AT
1909 daddu c_3,t_2 1954 daddu c_3,t_2
1910 sltu c_1,c_3,t_2 1955 sltu AT,c_3,t_2
1956 daddu c_1,AT
1911 dmultu a_6,a_4 /* mul_add_c2(a[6],b[4],c2,c3,c1); */ 1957 dmultu a_6,a_4 /* mul_add_c2(a[6],b[4],c2,c3,c1); */
1912 mflo t_1 1958 mflo t_1
1913 mfhi t_2 1959 mfhi t_2
1914 daddu c_2,t_1 1960 slt AT,t_2,zero
1915 sltu AT,c_2,t_1
1916 daddu a2,t_2,AT
1917 daddu c_3,a2
1918 sltu AT,c_3,a2
1919 daddu c_1,AT 1961 daddu c_1,AT
1962 dsll t_2,1
1963 slt a2,t_1,zero
1964 daddu t_2,a2
1965 dsll t_1,1
1920 daddu c_2,t_1 1966 daddu c_2,t_1
1921 sltu AT,c_2,t_1 1967 sltu AT,c_2,t_1
1922 daddu t_2,AT 1968 daddu t_2,AT
@@ -1937,24 +1983,26 @@ LEAF(bn_sqr_comba8)
1937 dmultu a_4,a_7 /* mul_add_c2(a[4],b[7],c3,c1,c2); */ 1983 dmultu a_4,a_7 /* mul_add_c2(a[4],b[7],c3,c1,c2); */
1938 mflo t_1 1984 mflo t_1
1939 mfhi t_2 1985 mfhi t_2
1940 daddu c_3,t_1 1986 slt c_2,t_2,zero
1941 sltu AT,c_3,t_1 1987 dsll t_2,1
1942 daddu a2,t_2,AT 1988 slt a2,t_1,zero
1943 daddu c_1,a2 1989 daddu t_2,a2
1990 dsll t_1,1
1944 daddu c_3,t_1 1991 daddu c_3,t_1
1945 sltu AT,c_3,t_1 1992 sltu AT,c_3,t_1
1946 daddu t_2,AT 1993 daddu t_2,AT
1947 daddu c_1,t_2 1994 daddu c_1,t_2
1948 sltu c_2,c_1,t_2 1995 sltu AT,c_1,t_2
1996 daddu c_2,AT
1949 dmultu a_5,a_6 /* mul_add_c2(a[5],b[6],c3,c1,c2); */ 1997 dmultu a_5,a_6 /* mul_add_c2(a[5],b[6],c3,c1,c2); */
1950 mflo t_1 1998 mflo t_1
1951 mfhi t_2 1999 mfhi t_2
1952 daddu c_3,t_1 2000 slt AT,t_2,zero
1953 sltu AT,c_3,t_1
1954 daddu a2,t_2,AT
1955 daddu c_1,a2
1956 sltu AT,c_1,a2
1957 daddu c_2,AT 2001 daddu c_2,AT
2002 dsll t_2,1
2003 slt a2,t_1,zero
2004 daddu t_2,a2
2005 dsll t_1,1
1958 daddu c_3,t_1 2006 daddu c_3,t_1
1959 sltu AT,c_3,t_1 2007 sltu AT,c_3,t_1
1960 daddu t_2,AT 2008 daddu t_2,AT
@@ -1966,15 +2014,17 @@ LEAF(bn_sqr_comba8)
1966 dmultu a_7,a_5 /* mul_add_c2(a[7],b[5],c1,c2,c3); */ 2014 dmultu a_7,a_5 /* mul_add_c2(a[7],b[5],c1,c2,c3); */
1967 mflo t_1 2015 mflo t_1
1968 mfhi t_2 2016 mfhi t_2
1969 daddu c_1,t_1 2017 slt c_3,t_2,zero
1970 sltu AT,c_1,t_1 2018 dsll t_2,1
1971 daddu a2,t_2,AT 2019 slt a2,t_1,zero
1972 daddu c_2,a2 2020 daddu t_2,a2
2021 dsll t_1,1
1973 daddu c_1,t_1 2022 daddu c_1,t_1
1974 sltu AT,c_1,t_1 2023 sltu AT,c_1,t_1
1975 daddu t_2,AT 2024 daddu t_2,AT
1976 daddu c_2,t_2 2025 daddu c_2,t_2
1977 sltu c_3,c_2,t_2 2026 sltu AT,c_2,t_2
2027 daddu c_3,AT
1978 dmultu a_6,a_6 /* mul_add_c(a[6],b[6],c1,c2,c3); */ 2028 dmultu a_6,a_6 /* mul_add_c(a[6],b[6],c1,c2,c3); */
1979 mflo t_1 2029 mflo t_1
1980 mfhi t_2 2030 mfhi t_2
@@ -1989,15 +2039,17 @@ LEAF(bn_sqr_comba8)
1989 dmultu a_6,a_7 /* mul_add_c2(a[6],b[7],c2,c3,c1); */ 2039 dmultu a_6,a_7 /* mul_add_c2(a[6],b[7],c2,c3,c1); */
1990 mflo t_1 2040 mflo t_1
1991 mfhi t_2 2041 mfhi t_2
1992 daddu c_2,t_1 2042 slt c_1,t_2,zero
1993 sltu AT,c_2,t_1 2043 dsll t_2,1
1994 daddu a2,t_2,AT 2044 slt a2,t_1,zero
1995 daddu c_3,a2 2045 daddu t_2,a2
2046 dsll t_1,1
1996 daddu c_2,t_1 2047 daddu c_2,t_1
1997 sltu AT,c_2,t_1 2048 sltu AT,c_2,t_1
1998 daddu t_2,AT 2049 daddu t_2,AT
1999 daddu c_3,t_2 2050 daddu c_3,t_2
2000 sltu c_1,c_3,t_2 2051 sltu AT,c_3,t_2
2052 daddu c_1,AT
2001 sd c_2,104(a0) 2053 sd c_2,104(a0)
2002 2054
2003 dmultu a_7,a_7 /* mul_add_c(a[7],b[7],c3,c1,c2); */ 2055 dmultu a_7,a_7 /* mul_add_c(a[7],b[7],c3,c1,c2); */
@@ -2028,28 +2080,30 @@ LEAF(bn_sqr_comba4)
2028 dmultu a_0,a_1 /* mul_add_c2(a[0],b[1],c2,c3,c1); */ 2080 dmultu a_0,a_1 /* mul_add_c2(a[0],b[1],c2,c3,c1); */
2029 mflo t_1 2081 mflo t_1
2030 mfhi t_2 2082 mfhi t_2
2083 slt c_1,t_2,zero
2084 dsll t_2,1
2085 slt a2,t_1,zero
2086 daddu t_2,a2
2087 dsll t_1,1
2031 daddu c_2,t_1 2088 daddu c_2,t_1
2032 sltu AT,c_2,t_1 2089 sltu AT,c_2,t_1
2033 daddu c_3,t_2,AT 2090 daddu c_3,t_2,AT
2034 daddu c_2,t_1
2035 sltu AT,c_2,t_1
2036 daddu t_2,AT
2037 daddu c_3,t_2
2038 sltu c_1,c_3,t_2
2039 sd c_2,8(a0) 2091 sd c_2,8(a0)
2040 2092
2041 dmultu a_2,a_0 /* mul_add_c2(a[2],b[0],c3,c1,c2); */ 2093 dmultu a_2,a_0 /* mul_add_c2(a[2],b[0],c3,c1,c2); */
2042 mflo t_1 2094 mflo t_1
2043 mfhi t_2 2095 mfhi t_2
2044 daddu c_3,t_1 2096 slt c_2,t_2,zero
2045 sltu AT,c_3,t_1 2097 dsll t_2,1
2046 daddu a2,t_2,AT 2098 slt a2,t_1,zero
2047 daddu c_1,a2 2099 daddu t_2,a2
2100 dsll t_1,1
2048 daddu c_3,t_1 2101 daddu c_3,t_1
2049 sltu AT,c_3,t_1 2102 sltu AT,c_3,t_1
2050 daddu t_2,AT 2103 daddu t_2,AT
2051 daddu c_1,t_2 2104 daddu c_1,t_2
2052 sltu c_2,c_1,t_2 2105 sltu AT,c_1,t_2
2106 daddu c_2,AT
2053 dmultu a_1,a_1 /* mul_add_c(a[1],b[1],c3,c1,c2); */ 2107 dmultu a_1,a_1 /* mul_add_c(a[1],b[1],c3,c1,c2); */
2054 mflo t_1 2108 mflo t_1
2055 mfhi t_2 2109 mfhi t_2
@@ -2064,24 +2118,26 @@ LEAF(bn_sqr_comba4)
2064 dmultu a_0,a_3 /* mul_add_c2(a[0],b[3],c1,c2,c3); */ 2118 dmultu a_0,a_3 /* mul_add_c2(a[0],b[3],c1,c2,c3); */
2065 mflo t_1 2119 mflo t_1
2066 mfhi t_2 2120 mfhi t_2
2067 daddu c_1,t_1 2121 slt c_3,t_2,zero
2068 sltu AT,c_1,t_1 2122 dsll t_2,1
2069 daddu a2,t_2,AT 2123 slt a2,t_1,zero
2070 daddu c_2,a2 2124 daddu t_2,a2
2125 dsll t_1,1
2071 daddu c_1,t_1 2126 daddu c_1,t_1
2072 sltu AT,c_1,t_1 2127 sltu AT,c_1,t_1
2073 daddu t_2,AT 2128 daddu t_2,AT
2074 daddu c_2,t_2 2129 daddu c_2,t_2
2075 sltu c_3,c_2,t_2 2130 sltu AT,c_2,t_2
2131 daddu c_3,AT
2076 dmultu a_1,a_2 /* mul_add_c(a2[1],b[2],c1,c2,c3); */ 2132 dmultu a_1,a_2 /* mul_add_c(a2[1],b[2],c1,c2,c3); */
2077 mflo t_1 2133 mflo t_1
2078 mfhi t_2 2134 mfhi t_2
2079 daddu c_1,t_1 2135 slt AT,t_2,zero
2080 sltu AT,c_1,t_1
2081 daddu a2,t_2,AT
2082 daddu c_2,a2
2083 sltu AT,c_2,a2
2084 daddu c_3,AT 2136 daddu c_3,AT
2137 dsll t_2,1
2138 slt a2,t_1,zero
2139 daddu t_2,a2
2140 dsll t_1,1
2085 daddu c_1,t_1 2141 daddu c_1,t_1
2086 sltu AT,c_1,t_1 2142 sltu AT,c_1,t_1
2087 daddu t_2,AT 2143 daddu t_2,AT
@@ -2093,15 +2149,17 @@ LEAF(bn_sqr_comba4)
2093 dmultu a_3,a_1 /* mul_add_c2(a[3],b[1],c2,c3,c1); */ 2149 dmultu a_3,a_1 /* mul_add_c2(a[3],b[1],c2,c3,c1); */
2094 mflo t_1 2150 mflo t_1
2095 mfhi t_2 2151 mfhi t_2
2096 daddu c_2,t_1 2152 slt c_1,t_2,zero
2097 sltu AT,c_2,t_1 2153 dsll t_2,1
2098 daddu a2,t_2,AT 2154 slt a2,t_1,zero
2099 daddu c_3,a2 2155 daddu t_2,a2
2156 dsll t_1,1
2100 daddu c_2,t_1 2157 daddu c_2,t_1
2101 sltu AT,c_2,t_1 2158 sltu AT,c_2,t_1
2102 daddu t_2,AT 2159 daddu t_2,AT
2103 daddu c_3,t_2 2160 daddu c_3,t_2
2104 sltu c_1,c_3,t_2 2161 sltu AT,c_3,t_2
2162 daddu c_1,AT
2105 dmultu a_2,a_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */ 2163 dmultu a_2,a_2 /* mul_add_c(a[2],b[2],c2,c3,c1); */
2106 mflo t_1 2164 mflo t_1
2107 mfhi t_2 2165 mfhi t_2
@@ -2116,15 +2174,17 @@ LEAF(bn_sqr_comba4)
2116 dmultu a_2,a_3 /* mul_add_c2(a[2],b[3],c3,c1,c2); */ 2174 dmultu a_2,a_3 /* mul_add_c2(a[2],b[3],c3,c1,c2); */
2117 mflo t_1 2175 mflo t_1
2118 mfhi t_2 2176 mfhi t_2
2119 daddu c_3,t_1 2177 slt c_2,t_2,zero
2120 sltu AT,c_3,t_1 2178 dsll t_2,1
2121 daddu a2,t_2,AT 2179 slt a2,t_1,zero
2122 daddu c_1,a2 2180 daddu t_2,a2
2181 dsll t_1,1
2123 daddu c_3,t_1 2182 daddu c_3,t_1
2124 sltu AT,c_3,t_1 2183 sltu AT,c_3,t_1
2125 daddu t_2,AT 2184 daddu t_2,AT
2126 daddu c_1,t_2 2185 daddu c_1,t_2
2127 sltu c_2,c_1,t_2 2186 sltu AT,c_1,t_2
2187 daddu c_2,AT
2128 sd c_3,40(a0) 2188 sd c_3,40(a0)
2129 2189
2130 dmultu a_3,a_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */ 2190 dmultu a_3,a_3 /* mul_add_c(a[3],b[3],c1,c2,c3); */