Lines Matching refs:a2
27 #define xh a2
33 #define xl a2
51 xor a2, a2, a4
70 slli a7, a2, 9
75 mov a2, a3
78 slli a7, a2, 9
84 or a2, a2, a6
101 xor a7, a2, a3
106 ball a2, a6, .Ladd_xnan_or_inf
112 extui a7, a2, 23, 9
140 add a2, a2, a3
143 extui a10, a2, 23, 9
155 bnone a2, a6, .Ladd_bothexpzero
164 add a2, a2, a3
170 slli a2, a2, 9
171 srli a2, a2, 9
179 bnone a2, a6, .Ladd_xexpzero
181 or a2, a2, a6
182 slli a2, a2, 8
183 srli a2, a2, 8
190 sll a9, a2
191 srl a2, a2
193 add a2, a2, a3
196 extui a10, a2, 23, 9
202 addi a2, a2, 1
210 mov a2, a3
233 mov a10, a2
234 srli a2, a2, 1
239 add a2, a2, a8
242 ball a2, a6, .Ladd_infinity
247 addi a2, a2, 1
253 srli a2, a2, 23
254 slli a2, a2, 23
258 or a2, a2, a8
263 srli a2, a2, 1
264 slli a2, a2, 1
282 or a2, a2, a4
288 xor a2, a3, a7
291 slli a7, a2, 9
309 xor a7, a2, a3
314 ball a2, a6, .Lsub_xnan_or_inf
319 extui a7, a2, 23, 8
321 bltu a2, a3, .Lsub_xsmaller
346 sub a2, a2, a3
349 borrow from a2. */
351 addi a10, a2, -1
352 movnez a2, a10, a9
355 extui a10, a2, 23, 8
363 beq a2, a3, .Lsub_return_zero
371 bnone a2, a6, .Lsub_yexpdiff
378 xor a2, a3, a7
384 bnone a2, a6, .Lsub_xexpzero
386 or a2, a2, a6
387 slli a2, a2, 8
388 srli a2, a2, 8
396 src a9, a2, a9
397 srl a2, a2
403 sub a2, a3, a2
406 addi a10, a2, -1
407 movnez a2, a10, a9
410 extui a10, a2, 23, 8
416 addi a2, a2, 1
425 beq a2, a3, .Lsub_return_zero
426 slli a2, a2, 9
427 srli a2, a2, 9
433 movi a2, 0
443 slli a8, a2, 9
460 srli a2, a2, 23
461 sub a2, a2, a6
462 slli a2, a2, 23
463 add a2, a2, a8
468 srli a2, a2, 1
469 slli a2, a2, 1
514 slli a2, a2, 1
515 srli a2, a2, 1
518 beqz a2, .Lmul_return_zero
521 do_nsau a10, a2, a11, a12
524 sll a2, a2
548 srli a2, a7, 31
549 slli a2, a2, 31
562 mov a2, a3
565 slli a8, a2, 9
569 slli a2, a2, 1
571 src a2, a7, a2
576 slli a8, a2, 1
578 mov a2, a3
582 or a2, a2, a4
606 xor a7, a2, a3
609 ball a2, a6, .Lmul_xnan_or_inf
613 extui a8, a2, 23, 8
626 or a2, a2, a6
627 and a2, a2, a10
631 /* Multiply 32x32 to 64 bits. The result ends up in a2/a6. */
635 mull a6, a2, a3
636 muluh a2, a2, a3
672 srli a2h, a2, 16
675 #define a2l a2
681 extui a2, a2, 0, 16
735 do_mul(a6, a2, l, a3, h) /* pp 1 */
736 do_mul(a11, a2, h, a3, l) /* pp 2 */
748 do_mul(a11, a2, l, a3, l) /* pp 0 */
754 /* Compute the high word into a2. */
755 do_mul(a2, a2, h, a3, h) /* pp 3 */
756 add a2, a2, a9
769 srli a5, a2, 24 - 9
774 src a2, a2, a6
791 addi a2, a2, 1
798 add a2, a2, a8
804 or a2, a2, a7
818 srli a2, a2, 1
819 slli a2, a2, 1
826 slli a2, a8, 23
838 /* Shift a2 right. Any bits that are shifted out of a2 are saved
841 sll a6, a2
842 srl a2, a2
855 srli a2, a7, 31
856 slli a2, a2, 31
894 /* The result will be written into a2, so save that argument in a4. */
895 mov a4, a2
896 mul_mulsi3_body a2, a4, a3, a5, a6
914 wfr f1, a2 /* dividend */
943 rfr a2, f0
975 slli a4, a2, 1
977 srli a2, a7, 31
978 slli a2, a2, 31
979 or a2, a2, a6
982 or a2, a2, a4
987 slli a2, a2, 1
988 srli a2, a2, 1
991 beqz a2, .Ldiv_return_zero
994 do_nsau a10, a2, a4, a5
997 sll a2, a2
1004 srli a2, a7, 31
1005 slli a2, a2, 31
1012 xor a2, a2, a7
1015 slli a7, a2, 9
1024 mov a2, a3
1028 or a2, a2, a4
1039 xor a7, a2, a3
1042 ball a2, a6, .Ldiv_xnan_or_inf
1046 extui a8, a2, 23, 8
1059 or a2, a2, a6
1060 and a2, a2, a10
1066 bltu a3, a2, 1f
1067 slli a2, a2, 1
1071 sub a2, a2, a3
1072 slli a2, a2, 1
1087 bltu a2, a3, 1f
1091 sub a2, a2, a3
1094 1: slli a2, a2, 1
1113 /* Round. The remainder (<< 1) is in a2. */
1114 bltu a2, a3, .Ldiv_rounded
1116 beq a2, a3, .Ldiv_exactlyhalf
1121 add a2, a10, a8
1127 or a2, a2, a7
1134 slli a2, a8, 23
1159 /* Pack any nonzero remainder (in a2) into a6. */
1160 beqz a2, 1f
1175 srli a2, a7, 31
1176 slli a2, a2, 31
1194 bne a2, a3, 4f
1198 ball a2, a6, 3f
1201 movi a2, 0
1205 2: movi a2, 1
1209 3: slli a7, a2, 9
1213 4: or a7, a2, a3
1218 5: movi a2, 0
1220 movnez a2, a3, a7
1232 ball a2, a6, 2f
1238 movi a2, 0
1242 2: slli a7, a2, 9
1244 movi a2, 0
1256 ball a2, a6, 2f
1262 movi a2, 1
1266 2: slli a7, a2, 9
1268 movi a2, 1
1273 xor a7, a2, a3
1277 bltz a2, .Lle_xneg
1280 bltu a3, a2, 5f
1281 4: movi a2, 0
1286 bgeu a2, a3, 4b
1287 5: movi a2, 1
1291 bltz a2, 4b
1294 or a7, a2, a3
1296 movi a2, 1
1298 moveqz a2, a3, a7
1310 ball a2, a6, 2f
1316 movi a2, -1
1320 2: slli a7, a2, 9
1322 movi a2, -1
1334 ball a2, a6, 2f
1340 movi a2, 0
1344 2: slli a7, a2, 9
1346 movi a2, 0
1351 xor a7, a2, a3
1355 bltz a2, .Llt_xneg
1358 bgeu a2, a3, 5f
1359 4: movi a2, -1
1364 bltu a3, a2, 4b
1365 5: movi a2, 0
1369 bgez a2, 5b
1372 or a7, a2, a3
1374 movi a2, 0
1376 movnez a2, a3, a7
1388 ball a2, a6, 3f
1390 2: movi a2, 0
1393 3: slli a7, a2, 9
1395 movi a2, 1
1400 movi a2, 1
1415 ball a2, a6, .Lfixsfsi_nan_or_inf
1418 extui a4, a2, 23, 8
1424 or a7, a2, a6
1432 neg a2, a5
1433 movgez a2, a5, a7
1438 slli a4, a2, 9
1442 movi a2, 0
1447 movgez a4, a5, a2
1448 mov a2, a4
1452 movi a2, 0
1467 ball a2, a6, .Lfixsfdi_nan_or_inf
1470 extui a4, a2, 23, 8
1476 or a7, a2, a6
1502 slli a4, a2, 9
1506 movi a2, 0
1510 bgez a2, 1f
1536 ball a2, a6, .Lfixunssfsi_nan_or_inf
1539 extui a4, a2, 23, 8
1545 or a7, a2, a6
1555 neg a2, a5
1556 movgez a2, a5, a7
1561 slli a4, a2, 9
1565 movi a2, -1
1571 movgez a4, a5, a2
1572 mov a2, a4
1576 movi a2, 0
1581 bltz a2, 1f
1582 mov a2, a5 /* no shift needed */
1586 1: slli a2, a6, 8
1601 ball a2, a6, .Lfixunssfdi_nan_or_inf
1604 extui a4, a2, 23, 8
1610 or a7, a2, a6
1638 slli a4, a2, 9
1647 bgez a2, 1b
1672 beqz a2, .Lfloatsisf_return
1685 beqz a2, .Lfloatsisf_return
1688 extui a7, a2, 31, 1
1692 abs a2, a2
1694 neg a4, a2
1695 movltz a2, a4, a2
1700 do_nsau a4, a2, a5, a6
1702 sll a5, a2
1705 srli a2, a5, 8
1712 add a2, a2, a5
1716 or a2, a2, a7
1720 addi a2, a2, 1 /* Overflow to the exponent is OK. */
1731 srli a2, a2, 1
1732 slli a2, a2, 1
1795 add a2, xh, a5
1799 or a2, a2, a7
1803 addi a2, a2, 1 /* Overflow to the exponent is OK. */
1821 srli a2, a2, 1
1822 slli a2, a2, 1
1837 wfr f1, a2
1869 rfr a2, f0
1886 wfr f1, a2
1896 rfr a2, f0
1913 wfr f1, a2
1928 rfr a2, f0