Lines Matching refs:flags

391             int *flags)
410 int *flags)
422 *flags |= FPLIB_IDC;
430 int *flags)
442 *flags |= FPLIB_IDC;
521 fp16_process_NaN(uint16_t a, int mode, int *flags)
524 *flags |= FPLIB_IOC;
531 fp32_process_NaN(uint32_t a, int mode, int *flags)
534 *flags |= FPLIB_IOC;
541 fp64_process_NaN(uint64_t a, int mode, int *flags)
544 *flags |= FPLIB_IOC;
551 fp16_process_NaNs(uint16_t a, uint16_t b, int mode, int *flags)
560 return fp16_process_NaN(a, mode, flags);
562 return fp16_process_NaN(b, mode, flags);
566 return fp16_process_NaN(a, mode, flags);
568 return fp16_process_NaN(b, mode, flags);
574 fp32_process_NaNs(uint32_t a, uint32_t b, int mode, int *flags)
583 return fp32_process_NaN(a, mode, flags);
585 return fp32_process_NaN(b, mode, flags);
589 return fp32_process_NaN(a, mode, flags);
591 return fp32_process_NaN(b, mode, flags);
597 fp64_process_NaNs(uint64_t a, uint64_t b, int mode, int *flags)
606 return fp64_process_NaN(a, mode, flags);
608 return fp64_process_NaN(b, mode, flags);
612 return fp64_process_NaN(a, mode, flags);
614 return fp64_process_NaN(b, mode, flags);
620 fp16_process_NaNs3(uint16_t a, uint16_t b, uint16_t c, int mode, int *flags)
631 return fp16_process_NaN(a, mode, flags);
633 return fp16_process_NaN(b, mode, flags);
635 return fp16_process_NaN(c, mode, flags);
639 return fp16_process_NaN(a, mode, flags);
641 return fp16_process_NaN(b, mode, flags);
643 return fp16_process_NaN(c, mode, flags);
649 fp32_process_NaNs3(uint32_t a, uint32_t b, uint32_t c, int mode, int *flags)
660 return fp32_process_NaN(a, mode, flags);
662 return fp32_process_NaN(b, mode, flags);
664 return fp32_process_NaN(c, mode, flags);
668 return fp32_process_NaN(a, mode, flags);
670 return fp32_process_NaN(b, mode, flags);
672 return fp32_process_NaN(c, mode, flags);
678 fp64_process_NaNs3(uint64_t a, uint64_t b, uint64_t c, int mode, int *flags)
689 return fp64_process_NaN(a, mode, flags);
691 return fp64_process_NaN(b, mode, flags);
693 return fp64_process_NaN(c, mode, flags);
697 return fp64_process_NaN(a, mode, flags);
699 return fp64_process_NaN(b, mode, flags);
701 return fp64_process_NaN(c, mode, flags);
707 fp16_round_(int sgn, int exp, uint16_t mnt, int rm, int mode, int *flags)
717 *flags |= FPLIB_UFC;
736 *flags |= FPLIB_UFC;
762 *flags |= FPLIB_OFC | FPLIB_IXC;
772 *flags |= FPLIB_IOC;
778 *flags |= FPLIB_IXC;
785 fp16_round(int sgn, int exp, uint16_t mnt, int mode, int *flags)
787 return fp16_round_(sgn, exp, mnt, mode & 3, mode, flags);
791 fp32_round_(int sgn, int exp, uint32_t mnt, int rm, int mode, int *flags)
801 *flags |= FPLIB_UFC;
820 *flags |= FPLIB_UFC;
845 *flags |= FPLIB_OFC | FPLIB_IXC;
855 *flags |= FPLIB_IXC;
862 fp32_round(int sgn, int exp, uint32_t mnt, int mode, int *flags)
864 return fp32_round_(sgn, exp, mnt, mode & 3, mode, flags);
868 fp64_round_(int sgn, int exp, uint64_t mnt, int rm, int mode, int *flags)
878 *flags |= FPLIB_UFC;
897 *flags |= FPLIB_UFC;
922 *flags |= FPLIB_OFC | FPLIB_IXC;
932 *flags |= FPLIB_IXC;
939 fp64_round(int sgn, int exp, uint64_t mnt, int mode, int *flags)
941 return fp64_round_(sgn, exp, mnt, mode & 3, mode, flags);
945 fp16_compare_eq(uint16_t a, uint16_t b, int mode, int *flags)
950 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
951 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
957 *flags |= FPLIB_IOC;
964 fp16_compare_ge(uint16_t a, uint16_t b, int mode, int *flags)
969 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
970 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
974 *flags |= FPLIB_IOC;
989 fp16_compare_gt(uint16_t a, uint16_t b, int mode, int *flags)
994 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
995 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
999 *flags |= FPLIB_IOC;
1014 fp16_compare_un(uint16_t a, uint16_t b, int mode, int *flags)
1019 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1020 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1026 *flags |= FPLIB_IOC;
1033 fp32_compare_eq(uint32_t a, uint32_t b, int mode, int *flags)
1038 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1039 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1045 *flags |= FPLIB_IOC;
1052 fp32_compare_ge(uint32_t a, uint32_t b, int mode, int *flags)
1057 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1058 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1062 *flags |= FPLIB_IOC;
1077 fp32_compare_gt(uint32_t a, uint32_t b, int mode, int *flags)
1082 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1083 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1087 *flags |= FPLIB_IOC;
1102 fp32_compare_un(uint32_t a, uint32_t b, int mode, int *flags)
1107 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1108 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1114 *flags |= FPLIB_IOC;
1121 fp64_compare_eq(uint64_t a, uint64_t b, int mode, int *flags)
1126 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1127 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1133 *flags |= FPLIB_IOC;
1140 fp64_compare_ge(uint64_t a, uint64_t b, int mode, int *flags)
1145 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1146 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1150 *flags |= FPLIB_IOC;
1165 fp64_compare_gt(uint64_t a, uint64_t b, int mode, int *flags)
1170 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1171 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1175 *flags |= FPLIB_IOC;
1190 fp64_compare_un(uint64_t a, uint64_t b, int mode, int *flags)
1195 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1196 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1202 *flags |= FPLIB_IOC;
1209 fp16_add(uint16_t a, uint16_t b, int neg, int mode, int *flags)
1214 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1215 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1217 if ((x = fp16_process_NaNs(a, b, mode, flags))) {
1225 *flags |= FPLIB_IOC;
1265 mode, flags);
1269 fp32_add(uint32_t a, uint32_t b, int neg, int mode, int *flags)
1274 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1275 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1277 if ((x = fp32_process_NaNs(a, b, mode, flags))) {
1285 *flags |= FPLIB_IOC;
1325 mode, flags);
1329 fp64_add(uint64_t a, uint64_t b, int neg, int mode, int *flags)
1334 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1335 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1337 if ((x = fp64_process_NaNs(a, b, mode, flags))) {
1345 *flags |= FPLIB_IOC;
1385 mode, flags);
1389 fp16_mul(uint16_t a, uint16_t b, int mode, int *flags)
1395 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1396 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1398 if ((x = fp16_process_NaNs(a, b, mode, flags))) {
1405 *flags |= FPLIB_IOC;
1422 return fp16_round(x_sgn, x_exp, x_mnt, mode, flags);
1426 fp32_mul(uint32_t a, uint32_t b, int mode, int *flags)
1432 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1433 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1435 if ((x = fp32_process_NaNs(a, b, mode, flags))) {
1442 *flags |= FPLIB_IOC;
1459 return fp32_round(x_sgn, x_exp, x_mnt, mode, flags);
1463 fp64_mul(uint64_t a, uint64_t b, int mode, int *flags)
1469 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1470 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1472 if ((x = fp64_process_NaNs(a, b, mode, flags))) {
1479 *flags |= FPLIB_IOC;
1496 return fp64_round(x_sgn, x_exp, x0_mnt, mode, flags);
1501 int mode, int *flags)
1507 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1508 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1509 fp16_unpack(&c_sgn, &c_exp, &c_mnt, c, mode, flags);
1511 x = fp16_process_NaNs3(a, b, c, mode, flags);
1518 *flags |= FPLIB_IOC;
1531 *flags |= FPLIB_IOC;
1581 return fp16_round(x_sgn, x_exp + scale, x_mnt, mode, flags);
1586 int mode, int *flags)
1592 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1593 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1594 fp32_unpack(&c_sgn, &c_exp, &c_mnt, c, mode, flags);
1596 x = fp32_process_NaNs3(a, b, c, mode, flags);
1603 *flags |= FPLIB_IOC;
1616 *flags |= FPLIB_IOC;
1666 return fp32_round(x_sgn, x_exp + scale, x_mnt, mode, flags);
1671 int mode, int *flags)
1677 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1678 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1679 fp64_unpack(&c_sgn, &c_exp, &c_mnt, c, mode, flags);
1681 x = fp64_process_NaNs3(a, b, c, mode, flags);
1688 *flags |= FPLIB_IOC;
1701 *flags |= FPLIB_IOC;
1758 return fp64_round(x_sgn, x_exp + scale, x0_mnt, mode, flags);
1762 fp16_div(uint16_t a, uint16_t b, int mode, int *flags)
1768 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1769 fp16_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1771 if ((x = fp16_process_NaNs(a, b, mode, flags)))
1777 *flags |= FPLIB_IOC;
1782 *flags |= FPLIB_DZC;
1800 return fp16_round(x_sgn, x_exp, x_mnt, mode, flags);
1804 fp32_div(uint32_t a, uint32_t b, int mode, int *flags)
1810 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1811 fp32_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1813 if ((x = fp32_process_NaNs(a, b, mode, flags)))
1819 *flags |= FPLIB_IOC;
1824 *flags |= FPLIB_DZC;
1842 return fp32_round(x_sgn, x_exp, x_mnt, mode, flags);
1846 fp64_div(uint64_t a, uint64_t b, int mode, int *flags)
1851 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1852 fp64_unpack(&b_sgn, &b_exp, &b_mnt, b, mode, flags);
1854 if ((x = fp64_process_NaNs(a, b, mode, flags)))
1860 *flags |= FPLIB_IOC;
1865 *flags |= FPLIB_DZC;
1897 return fp64_round(x_sgn, x_exp, x_mnt << 1 | !!c, mode, flags);
1901 set_fpscr0(FPSCR &fpscr, int flags)
1903 if (flags & FPLIB_IDC) {
1906 if (flags & FPLIB_IOC) {
1909 if (flags & FPLIB_DZC) {
1912 if (flags & FPLIB_OFC) {
1915 if (flags & FPLIB_UFC) {
1918 if (flags & FPLIB_IXC) {
1924 fp16_scale(uint16_t a, int16_t b, int mode, int *flags)
1929 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1933 return fp16_process_NaN(a, mode, flags);
1954 mode, flags);
1958 fp32_scale(uint32_t a, int32_t b, int mode, int *flags)
1963 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
1967 return fp32_process_NaN(a, mode, flags);
1988 mode, flags);
1992 fp64_scale(uint64_t a, int64_t b, int mode, int *flags)
1997 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
2001 return fp64_process_NaN(a, mode, flags);
2022 mode, flags);
2026 fp16_sqrt(uint16_t a, int mode, int *flags)
2032 fp16_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
2036 return fp16_process_NaN(a, mode, flags);
2044 *flags |= FPLIB_IOC;
2074 return fp16_round(x_sgn, x_exp, x_mnt << 1 | (t1 != t0), mode, flags);
2078 fp32_sqrt(uint32_t a, int mode, int *flags)
2084 fp32_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
2088 return fp32_process_NaN(a, mode, flags);
2096 *flags |= FPLIB_IOC;
2129 return fp32_round(x_sgn, x_exp, x_mnt << 1 | (t1 != t0), mode, flags);
2133 fp64_sqrt(uint64_t a, int mode, int *flags)
2139 fp64_unpack(&a_sgn, &a_exp, &a_mnt, a, mode, flags);
2143 return fp64_process_NaN(a, mode, flags);
2151 *flags |= FPLIB_IOC;
2199 return fp64_round(x_sgn, x_exp, x_mnt << 1 | !!c, mode, flags);
2211 set_fpscr(FPSCR &fpscr, int flags)
2215 if (flags & FPLIB_IDC) {
2218 if (flags & FPLIB_IOC) {
2221 if (flags & FPLIB_DZC) {
2224 if (flags & FPLIB_OFC) {
2227 if (flags & FPLIB_UFC) {
2231 if ((flags & FPLIB_IXC) && !(underflow && fpscr.fz)) {
2240 int flags = 0;
2241 int x = fp16_compare_eq(a, b, modeConv(fpscr), &flags);
2242 set_fpscr(fpscr, flags);
2250 int flags = 0;
2251 int x = fp16_compare_ge(a, b, modeConv(fpscr), &flags);
2252 set_fpscr(fpscr, flags);
2260 int flags = 0;
2261 int x = fp16_compare_gt(a, b, modeConv(fpscr), &flags);
2262 set_fpscr(fpscr, flags);
2270 int flags = 0;
2271 int x = fp16_compare_un(a, b, modeConv(fpscr), &flags);
2272 set_fpscr(fpscr, flags);
2280 int flags = 0;
2281 int x = fp32_compare_eq(a, b, modeConv(fpscr), &flags);
2282 set_fpscr(fpscr, flags);
2290 int flags = 0;
2291 int x = fp32_compare_ge(a, b, modeConv(fpscr), &flags);
2292 set_fpscr(fpscr, flags);
2300 int flags = 0;
2301 int x = fp32_compare_gt(a, b, modeConv(fpscr), &flags);
2302 set_fpscr(fpscr, flags);
2310 int flags = 0;
2311 int x = fp32_compare_un(a, b, modeConv(fpscr), &flags);
2312 set_fpscr(fpscr, flags);
2320 int flags = 0;
2321 int x = fp64_compare_eq(a, b, modeConv(fpscr), &flags);
2322 set_fpscr(fpscr, flags);
2330 int flags = 0;
2331 int x = fp64_compare_ge(a, b, modeConv(fpscr), &flags);
2332 set_fpscr(fpscr, flags);
2340 int flags = 0;
2341 int x = fp64_compare_gt(a, b, modeConv(fpscr), &flags);
2342 set_fpscr(fpscr, flags);
2350 int flags = 0;
2351 int x = fp64_compare_un(a, b, modeConv(fpscr), &flags);
2352 set_fpscr(fpscr, flags);
2381 int flags = 0;
2382 uint16_t result = fp16_add(op1, op2, 0, modeConv(fpscr), &flags);
2383 set_fpscr0(fpscr, flags);
2391 int flags = 0;
2392 uint32_t result = fp32_add(op1, op2, 0, modeConv(fpscr), &flags);
2393 set_fpscr0(fpscr, flags);
2401 int flags = 0;
2402 uint64_t result = fp64_add(op1, op2, 0, modeConv(fpscr), &flags);
2403 set_fpscr0(fpscr, flags);
2412 int flags = 0;
2416 fp16_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
2417 fp16_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
2423 flags |= FPLIB_IOC;
2436 set_fpscr0(fpscr, flags);
2446 int flags = 0;
2450 fp32_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
2451 fp32_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
2457 flags |= FPLIB_IOC;
2470 set_fpscr0(fpscr, flags);
2480 int flags = 0;
2484 fp64_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
2485 fp64_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
2491 flags |= FPLIB_IOC;
2504 set_fpscr0(fpscr, flags);
2616 int flags = 0;
2622 fp32_unpack(&sgn, &exp, &mnt, op, mode, &flags);
2635 flags |= FPLIB_IOC;
2641 flags |= FPLIB_IOC;
2652 rounding, (mode & 0xf) | alt_hp << 4, &flags);
2655 set_fpscr0(fpscr, flags);
2665 int flags = 0;
2671 fp64_unpack(&sgn, &exp, &mnt, op, mode, &flags);
2684 flags |= FPLIB_IOC;
2690 flags |= FPLIB_IOC;
2701 rounding, (mode & 0xf) | alt_hp << 4, &flags);
2704 set_fpscr0(fpscr, flags);
2714 int flags = 0;
2720 fp16_unpack(&sgn, &exp, &mnt, op, mode & 0xf, &flags);
2729 flags |= FPLIB_IOC;
2742 set_fpscr0(fpscr, flags);
2752 int flags = 0;
2758 fp64_unpack(&sgn, &exp, &mnt, op, mode, &flags);
2767 flags |= FPLIB_IOC;
2778 rounding, mode, &flags);
2781 set_fpscr0(fpscr, flags);
2791 int flags = 0;
2797 fp16_unpack(&sgn, &exp, &mnt, op, mode & 0xf, &flags);
2806 flags |= FPLIB_IOC;
2819 set_fpscr0(fpscr, flags);
2829 int flags = 0;
2835 fp32_unpack(&sgn, &exp, &mnt, op, mode, &flags);
2844 flags |= FPLIB_IOC;
2857 set_fpscr0(fpscr, flags);
2866 int flags = 0;
2867 uint16_t result = fp16_muladd(addend, op1, op2, 0, modeConv(fpscr), &flags);
2868 set_fpscr0(fpscr, flags);
2876 int flags = 0;
2877 uint32_t result = fp32_muladd(addend, op1, op2, 0, modeConv(fpscr), &flags);
2878 set_fpscr0(fpscr, flags);
2886 int flags = 0;
2887 uint64_t result = fp64_muladd(addend, op1, op2, 0, modeConv(fpscr), &flags);
2888 set_fpscr0(fpscr, flags);
2896 int flags = 0;
2897 uint16_t result = fp16_div(op1, op2, modeConv(fpscr), &flags);
2898 set_fpscr0(fpscr, flags);
2906 int flags = 0;
2907 uint32_t result = fp32_div(op1, op2, modeConv(fpscr), &flags);
2908 set_fpscr0(fpscr, flags);
2916 int flags = 0;
2917 uint64_t result = fp64_div(op1, op2, modeConv(fpscr), &flags);
2918 set_fpscr0(fpscr, flags);
3171 int flags = 0;
3175 fp16_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3176 fp16_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3178 if ((x = fp16_process_NaNs(op1, op2, mode, &flags))) {
3185 set_fpscr0(fpscr, flags);
3194 int flags = 0;
3198 fp32_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3199 fp32_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3201 if ((x = fp32_process_NaNs(op1, op2, mode, &flags))) {
3208 set_fpscr0(fpscr, flags);
3217 int flags = 0;
3221 fp64_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3222 fp64_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3224 if ((x = fp64_process_NaNs(op1, op2, mode, &flags))) {
3231 set_fpscr0(fpscr, flags);
3264 int flags = 0;
3268 fp16_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3269 fp16_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3271 if ((x = fp16_process_NaNs(op1, op2, mode, &flags))) {
3278 set_fpscr0(fpscr, flags);
3287 int flags = 0;
3291 fp32_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3292 fp32_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3294 if ((x = fp32_process_NaNs(op1, op2, mode, &flags))) {
3301 set_fpscr0(fpscr, flags);
3310 int flags = 0;
3314 fp64_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3315 fp64_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3317 if ((x = fp64_process_NaNs(op1, op2, mode, &flags))) {
3324 set_fpscr0(fpscr, flags);
3356 int flags = 0;
3357 uint16_t result = fp16_mul(op1, op2, modeConv(fpscr), &flags);
3358 set_fpscr0(fpscr, flags);
3366 int flags = 0;
3367 uint32_t result = fp32_mul(op1, op2, modeConv(fpscr), &flags);
3368 set_fpscr0(fpscr, flags);
3376 int flags = 0;
3377 uint64_t result = fp64_mul(op1, op2, modeConv(fpscr), &flags);
3378 set_fpscr0(fpscr, flags);
3387 int flags = 0;
3391 fp16_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3392 fp16_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3394 result = fp16_process_NaNs(op1, op2, mode, &flags);
3404 result = fp16_mul(op1, op2, mode, &flags);
3408 set_fpscr0(fpscr, flags);
3418 int flags = 0;
3422 fp32_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3423 fp32_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3425 result = fp32_process_NaNs(op1, op2, mode, &flags);
3435 result = fp32_mul(op1, op2, mode, &flags);
3439 set_fpscr0(fpscr, flags);
3449 int flags = 0;
3453 fp64_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3454 fp64_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3456 result = fp64_process_NaNs(op1, op2, mode, &flags);
3466 result = fp64_mul(op1, op2, mode, &flags);
3470 set_fpscr0(fpscr, flags);
3520 int flags = 0;
3524 fp16_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3527 result = fp16_process_NaN(op, mode, &flags);
3530 flags |= FPLIB_DZC;
3533 flags |= FPLIB_IOC;
3545 set_fpscr0(fpscr, flags);
3555 int flags = 0;
3559 fp32_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3562 result = fp32_process_NaN(op, mode, &flags);
3565 flags |= FPLIB_DZC;
3568 flags |= FPLIB_IOC;
3580 set_fpscr0(fpscr, flags);
3590 int flags = 0;
3594 fp64_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3597 result = fp64_process_NaN(op, mode, &flags);
3600 flags |= FPLIB_DZC;
3603 flags |= FPLIB_IOC;
3615 set_fpscr0(fpscr, flags);
3625 int flags = 0;
3630 fp16_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3631 fp16_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3633 result = fp16_process_NaNs(op1, op2, mode, &flags);
3641 result = fp16_muladd(fp16_FPThree(0), op1, op2, -1, mode, &flags);
3645 set_fpscr0(fpscr, flags);
3655 int flags = 0;
3660 fp32_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3661 fp32_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3663 result = fp32_process_NaNs(op1, op2, mode, &flags);
3671 result = fp32_muladd(fp32_FPThree(0), op1, op2, -1, mode, &flags);
3675 set_fpscr0(fpscr, flags);
3685 int flags = 0;
3690 fp64_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3691 fp64_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3693 result = fp64_process_NaNs(op1, op2, mode, &flags);
3701 result = fp64_muladd(fp64_FPThree(0), op1, op2, -1, mode, &flags);
3705 set_fpscr0(fpscr, flags);
3715 int flags = 0;
3719 fp16_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3722 result = fp16_process_NaN(op, mode, &flags);
3727 flags |= FPLIB_DZC;
3747 flags |= FPLIB_OFC | FPLIB_IXC;
3750 flags |= FPLIB_UFC;
3767 set_fpscr0(fpscr, flags);
3777 int flags = 0;
3781 fp32_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3784 result = fp32_process_NaN(op, mode, &flags);
3789 flags |= FPLIB_DZC;
3809 flags |= FPLIB_OFC | FPLIB_IXC;
3812 flags |= FPLIB_UFC;
3829 set_fpscr0(fpscr, flags);
3839 int flags = 0;
3843 fp64_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3846 result = fp64_process_NaN(op, mode, &flags);
3851 flags |= FPLIB_DZC;
3871 flags |= FPLIB_OFC | FPLIB_IXC;
3874 flags |= FPLIB_UFC;
3891 set_fpscr0(fpscr, flags);
3901 int flags = 0;
3906 fp16_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3907 fp16_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3909 result = fp16_process_NaNs(op1, op2, mode, &flags);
3917 result = fp16_muladd(fp16_FPTwo(0), op1, op2, 0, mode, &flags);
3921 set_fpscr0(fpscr, flags);
3931 int flags = 0;
3936 fp32_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3937 fp32_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3939 result = fp32_process_NaNs(op1, op2, mode, &flags);
3947 result = fp32_muladd(fp32_FPTwo(0), op1, op2, 0, mode, &flags);
3951 set_fpscr0(fpscr, flags);
3961 int flags = 0;
3966 fp64_unpack(&sgn1, &exp1, &mnt1, op1, mode, &flags);
3967 fp64_unpack(&sgn2, &exp2, &mnt2, op2, mode, &flags);
3969 result = fp64_process_NaNs(op1, op2, mode, &flags);
3977 result = fp64_muladd(fp64_FPTwo(0), op1, op2, 0, mode, &flags);
3981 set_fpscr0(fpscr, flags);
3991 int flags = 0;
3995 fp16_unpack(&sgn, &exp, &mnt, op, mode, &flags);
3998 result = fp16_process_NaN(op, mode, &flags);
4008 set_fpscr0(fpscr, flags);
4018 int flags = 0;
4022 fp32_unpack(&sgn, &exp, &mnt, op, mode, &flags);
4025 result = fp32_process_NaN(op, mode, &flags);
4035 set_fpscr0(fpscr, flags);
4045 int flags = 0;
4049 fp64_unpack(&sgn, &exp, &mnt, op, mode, &flags);
4052 result = fp64_process_NaN(op, mode, &flags);
4062 set_fpscr0(fpscr, flags);
4073 int flags = 0;
4078 fp16_unpack(&sgn, &exp, &mnt, op, mode, &flags);
4082 result = fp16_process_NaN(op, mode, &flags);
4124 flags |= FPLIB_IXC;
4127 set_fpscr0(fpscr, flags);
4138 int flags = 0;
4143 fp32_unpack(&sgn, &exp, &mnt, op, mode, &flags);
4147 result = fp32_process_NaN(op, mode, &flags);
4189 flags |= FPLIB_IXC;
4192 set_fpscr0(fpscr, flags);
4203 int flags = 0;
4208 fp64_unpack(&sgn, &exp, &mnt, op, mode, &flags);
4212 result = fp64_process_NaN(op, mode, &flags);
4254 flags |= FPLIB_IXC;
4257 set_fpscr0(fpscr, flags);
4266 int flags = 0;
4267 uint16_t result = fp16_scale(op1, (int16_t)op2, modeConv(fpscr), &flags);
4268 set_fpscr0(fpscr, flags);
4276 int flags = 0;
4277 uint32_t result = fp32_scale(op1, (int32_t)op2, modeConv(fpscr), &flags);
4278 set_fpscr0(fpscr, flags);
4286 int flags = 0;
4287 uint64_t result = fp64_scale(op1, (int64_t)op2, modeConv(fpscr), &flags);
4288 set_fpscr0(fpscr, flags);
4296 int flags = 0;
4297 uint16_t result = fp16_sqrt(op, modeConv(fpscr), &flags);
4298 set_fpscr0(fpscr, flags);
4306 int flags = 0;
4307 uint32_t result = fp32_sqrt(op, modeConv(fpscr), &flags);
4308 set_fpscr0(fpscr, flags);
4316 int flags = 0;
4317 uint64_t result = fp64_sqrt(op, modeConv(fpscr), &flags);
4318 set_fpscr0(fpscr, flags);
4326 int flags = 0;
4327 uint16_t result = fp16_add(op1, op2, 1, modeConv(fpscr), &flags);
4328 set_fpscr0(fpscr, flags);
4336 int flags = 0;
4337 uint32_t result = fp32_add(op1, op2, 1, modeConv(fpscr), &flags);
4338 set_fpscr0(fpscr, flags);
4346 int flags = 0;
4347 uint64_t result = fp64_add(op1, op2, 1, modeConv(fpscr), &flags);
4348 set_fpscr0(fpscr, flags);
4378 int flags = 0;
4381 fplibAbs(op2), 0, modeConv(fpscr), &flags);
4382 set_fpscr0(fpscr, flags);
4412 int flags = 0;
4415 fplibAbs(op2), 0, modeConv(fpscr), &flags);
4416 set_fpscr0(fpscr, flags);
4446 int flags = 0;
4449 fplibAbs(op2), 0, modeConv(fpscr), &flags);
4450 set_fpscr0(fpscr, flags);
4458 int flags = 0;
4463 uint16_t result = fp16_mul(op1, op1, mode, &flags);
4464 set_fpscr0(fpscr, flags);
4466 fp16_unpack(&sgn, &exp, &mnt, result, mode, &flags);
4478 int flags = 0;
4483 uint32_t result = fp32_mul(op1, op1, mode, &flags);
4484 set_fpscr0(fpscr, flags);
4486 fp32_unpack(&sgn, &exp, &mnt, result, mode, &flags);
4497 int flags = 0;
4502 uint64_t result = fp64_mul(op1, op1, mode, &flags);
4503 set_fpscr0(fpscr, flags);
4505 fp64_unpack(&sgn, &exp, &mnt, result, mode, &flags);
4547 int *flags)
4554 *flags = FPLIB_IOC;
4583 *flags = FPLIB_IOC;
4588 *flags = FPLIB_IXC;
4596 int *flags)
4598 uint64_t x = FPToFixed_64(sgn, exp, mnt, u, rounding, flags);
4602 *flags = FPLIB_IOC;
4610 int *flags)
4612 uint64_t x = FPToFixed_64(sgn, exp, mnt, u, rounding, flags);
4616 *flags = FPLIB_IOC;
4627 int flags = 0;
4632 fp16_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4636 flags = FPLIB_IOC;
4644 u, rounding, &flags);
4647 set_fpscr0(fpscr, flags);
4657 int flags = 0;
4663 fp16_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4667 flags = FPLIB_IOC;
4676 u, rounding, &flags);
4679 set_fpscr0(fpscr, flags);
4688 int flags = 0;
4693 fp32_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4697 flags = FPLIB_IOC;
4705 u, rounding, &flags);
4708 set_fpscr0(fpscr, flags);
4717 int flags = 0;
4723 fp64_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4727 flags = FPLIB_IOC;
4732 result = FPToFixed_32(sgn, exp + fbits, mnt, u, rounding, &flags);
4735 set_fpscr0(fpscr, flags);
4745 int flags = 0;
4751 fp16_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4755 flags = FPLIB_IOC;
4764 u, rounding, &flags);
4767 set_fpscr0(fpscr, flags);
4776 int flags = 0;
4782 fp32_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4786 flags = FPLIB_IOC;
4794 u, rounding, &flags);
4797 set_fpscr0(fpscr, flags);
4806 int flags = 0;
4811 fp64_unpack(&sgn, &exp, &mnt, op, modeConv(fpscr), &flags);
4815 flags = FPLIB_IOC;
4820 result = FPToFixed_64(sgn, exp + fbits, mnt, u, rounding, &flags);
4823 set_fpscr0(fpscr, flags);
4829 fp16_cvtf(uint64_t a, int fbits, int u, int mode, int *flags)
4845 return fp16_round(x_sgn, x_exp, x_mnt, mode, flags);
4849 fp32_cvtf(uint64_t a, int fbits, int u, int mode, int *flags)
4865 return fp32_round(x_sgn, x_exp, x_mnt, mode, flags);
4869 fp64_cvtf(uint64_t a, int fbits, int u, int mode, int *flags)
4882 return fp64_round(x_sgn, x_exp, x_mnt << 1, mode, flags);
4890 int flags = 0;
4893 &flags);
4894 set_fpscr0(fpscr, flags);
4902 int flags = 0;
4905 &flags);
4906 set_fpscr0(fpscr, flags);
4914 int flags = 0;
4917 &flags);
4918 set_fpscr0(fpscr, flags);