m2 488 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, (uint64_t) getbits36_28 (cpu.CY, 8)), 44u); // 28-bit mantissa (incl sign) m2 490 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; // 28-bit mantissa (incl sign) m2 505 src/dps8/dps8_math.c if (ISZERO_128 (m2)) m2 508 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { // -1.0 -> 0.5, increase exponent, ISOLTS-735 08i,j m2 509 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 512 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 515 src/dps8/dps8_math.c if (m2 == SIGN72) { // -1.0 -> 0.5, increase exponent, ISOLTS-735 08i,j m2 516 src/dps8/dps8_math.c m2 >>= shift_amt; m2 521 src/dps8/dps8_math.c m2 = ((word72) (- (word72s) m2)) & MASK72; m2 574 src/dps8/dps8_math.c bool sign = isnonzero_128 (and_128 (m2, SIGN72)); // mantissa negative? m2 577 src/dps8/dps8_math.c allones &= m2.l & 1; m2 578 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 579 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 581 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 583 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 584 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 585 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 588 src/dps8/dps8_math.c bool sign = m2 & SIGN72; // mantissa negative? m2 591 src/dps8/dps8_math.c allones &= m2 & 1; m2 592 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 593 src/dps8/dps8_math.c m2 >>= 1; m2 595 src/dps8/dps8_math.c m2 |= SIGN72; m2 597 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 598 src/dps8/dps8_math.c m2 = 0; m2 599 src/dps8/dps8_math.c m2 &= MASK72; m2 606 src/dps8/dps8_math.c m3 = Add72b (cpup, m1, m2, 0, I_CARRY, & cpu.cu.IR, & ovf); m2 1138 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, (uint64_t) getbits36_28 (cpu.CY, 8)), 44u); // 28-bit mantissa (incl sign) m2 1140 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; ///< 28-bit mantissa (incl sign) m2 1144 src/dps8/dps8_math.c if (ISZERO_128 (m1) || ISZERO_128 (m2)) { m2 1180 src/dps8/dps8_math.c int128 t = SIGNEXT72_128(m2); m2 1185 src/dps8/dps8_math.c int128 m3 = (SIGNEXT72_128(m1) * (SIGNEXT72_128(m2) >> 44)); m2 1199 src/dps8/dps8_math.c if (ISEQ_128 (m1, SIGN72) && ISEQ_128 (m2, SIGN72)) { m2 1270 src/dps8/dps8_math.c word72 m2; m2 1280 src/dps8/dps8_math.c m2 = lshift_128 (construct_128 (0, (uint64_t) getbits36_28 (cpu.CY, 8)), 44u); // 28-bit mantissa (incl sign) m2 1282 src/dps8/dps8_math.c m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; ///< 28-bit mantissa (incl sign) m2 1288 src/dps8/dps8_math.c m2 = convert_to_word72 (cpu.rA, cpu.rQ); m2 1295 src/dps8/dps8_math.c if ((iszero_128 (and_128 (m2, SIGN72))) && m2 1296 src/dps8/dps8_math.c (isnonzero_128 (and_128 (m2, construct_128 (0, 0377777777777777LL))))) { m2 1297 src/dps8/dps8_math.c m2 = add_128 (m2, construct_128 (0, 0400000000000000LL)); m2 1301 src/dps8/dps8_math.c m2 = and_128 (m2, lshift_128 (construct_128 (0, 0777777777400), 36)); m2 1306 src/dps8/dps8_math.c if (!(m2 & SIGN72) && m2 & 0377777777777777LL) { m2 1307 src/dps8/dps8_math.c m2 += 0400000000000000LL; m2 1311 src/dps8/dps8_math.c m2 &= (word72)0777777777400 << 36; m2 1362 src/dps8/dps8_math.c if ((isnonzero_128 (and_128 (m2, SIGN72))) && !roundovf) { m2 1363 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { m2 1364 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 1367 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 1372 src/dps8/dps8_math.c if ((m2 & SIGN72) && !roundovf) { m2 1373 src/dps8/dps8_math.c if (m2 == SIGN72) { m2 1374 src/dps8/dps8_math.c m2 >>= shift_amt; m2 1377 src/dps8/dps8_math.c m2 = (~m2 + 1) & MASK72; m2 1383 src/dps8/dps8_math.c if (ISZERO_128 (m2)) { m2 1405 src/dps8/dps8_math.c while (isge_128 (m1, m2)) { m2 1413 src/dps8/dps8_math.c while (m1 >= m2) { m2 1439 src/dps8/dps8_math.c uint32_t divisor = rshift_128 (m2, 44).l & MASK28; m2 1446 src/dps8/dps8_math.c word72 m3 = (m1 >> (44-35)) / (m2 >> 44); m2 1699 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.CY, 8)), 44); m2 1701 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; m2 1756 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); m2 1758 src/dps8/dps8_math.c bool s = (m2 & SIGN72) != (word72)0; m2 1762 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 1763 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 1765 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 1766 src/dps8/dps8_math.c m2 >>= 1; m2 1770 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 1772 src/dps8/dps8_math.c m2 |= SIGN72; m2 1776 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1777 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 1778 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 1781 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1782 src/dps8/dps8_math.c m2 = 0; m2 1783 src/dps8/dps8_math.c m2 &= MASK72; m2 1790 src/dps8/dps8_math.c SC_I_ZERO (iseq_128 (m1, m2)); m2 1791 src/dps8/dps8_math.c SC_I_NEG (islt_s128 (SIGNEXT72_128(m1), SIGNEXT72_128(m2))); m2 1793 src/dps8/dps8_math.c SC_I_ZERO (m1 == m2); m2 1794 src/dps8/dps8_math.c SC_I_NEG ((int128)SIGNEXT72_128(m1) < (int128)SIGNEXT72_128(m2)); m2 1839 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.CY, 8)), 44); m2 1841 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; m2 1890 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); m2 1892 src/dps8/dps8_math.c bool s = (m2 & SIGN72) != (word72)0; ///< save sign bit m2 1896 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 1897 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 1899 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 1900 src/dps8/dps8_math.c m2 >>= 1; m2 1904 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 1906 src/dps8/dps8_math.c m2 |= SIGN72; m2 1910 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1911 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 1912 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 1914 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1915 src/dps8/dps8_math.c m2 = 0; m2 1916 src/dps8/dps8_math.c m2 &= MASK72; m2 1920 src/dps8/dps8_math.c SC_I_ZERO (ISEQ_128 (m1, m2)); m2 1925 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 1933 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 2001 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, (uint64_t) getbits36_28 (cpu.Ypair[0], 8)), 44u); // 28-bit mantissa (incl sign) m2 2002 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 2004 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.Ypair[0], 8)) << 44; m2 2005 src/dps8/dps8_math.c m2 |= (word72) cpu.Ypair[1] << 8; m2 2014 src/dps8/dps8_math.c if (iszero_128 (m2)) m2 2016 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { m2 2018 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 2021 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 2025 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 2028 src/dps8/dps8_math.c if (m2 == 0) m2 2030 src/dps8/dps8_math.c if (m2 == SIGN72) { m2 2032 src/dps8/dps8_math.c m2 >>= shift_amt; m2 2035 src/dps8/dps8_math.c m2 >>= 1; m2 2041 src/dps8/dps8_math.c m2 = ((word72) (- (word72s) m2)) & MASK72; m2 2095 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); m2 2097 src/dps8/dps8_math.c bool s = (m2 & SIGN72) != (word72)0; ///< save sign bit m2 2101 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 2102 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 2104 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 2105 src/dps8/dps8_math.c m2 >>= 1; m2 2109 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 2111 src/dps8/dps8_math.c m2 |= SIGN72; m2 2115 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 2116 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 2117 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 2119 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 2120 src/dps8/dps8_math.c m2 = 0; m2 2121 src/dps8/dps8_math.c m2 &= MASK72; m2 2127 src/dps8/dps8_math.c word72 m3 = Add72b (cpup, m1, m2, 0, I_CARRY, & cpu.cu.IR, & ovf); m2 2242 src/dps8/dps8_math.c m2 2245 src/dps8/dps8_math.c m2 2247 src/dps8/dps8_math.c m2 2254 src/dps8/dps8_math.c m2 2256 src/dps8/dps8_math.c m2 2315 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, (uint64_t) getbits36_28 (cpu.Ypair[0], 8)), 44u); // 28-bit mantissa (incl sign) m2 2316 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 2318 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.Ypair[0], 8)) << 44; m2 2319 src/dps8/dps8_math.c m2 |= (word72) cpu.Ypair[1] << 8; m2 2327 src/dps8/dps8_math.c e2, e2, (word36) (m2 >> 36) & MASK36, (word36) m2 & MASK36); m2 2330 src/dps8/dps8_math.c if (ISZERO_128 (m1) || ISZERO_128 (m2)) { m2 2371 src/dps8/dps8_math.c int128 m2s = rshift_s128 (SIGNEXT72_128(m2), 8); m2 2385 src/dps8/dps8_math.c int128 m2s = SIGNEXT72_128(m2) >> 8; m2 2403 src/dps8/dps8_math.c if (ISEQ_128 (m1, SIGN72) && ISEQ_128 (m2, SIGN72)) { m2 2475 src/dps8/dps8_math.c word72 m2; m2 2486 src/dps8/dps8_math.c m2 = lshift_128 (construct_128 (0, (uint64_t) getbits36_28 (cpu.Ypair[0], 8)), 44u); // 28-bit mantissa (incl sign) m2 2487 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 2489 src/dps8/dps8_math.c m2 = ((word72) getbits36_28 (cpu.Ypair[0], 8)) << 44; m2 2490 src/dps8/dps8_math.c m2 |= (word72) cpu.Ypair[1] << 8; m2 2495 src/dps8/dps8_math.c m2 = convert_to_word72 (cpu.rA, cpu.rQ); m2 2503 src/dps8/dps8_math.c if ((iszero_128 (and_128 (m2, SIGN72))) && m2.l & 0377) m2 2505 src/dps8/dps8_math.c if (!(m2 & SIGN72) && m2 & 0377) m2 2509 src/dps8/dps8_math.c m2 = add_128 (m2, construct_128 (0, 0400)); m2 2511 src/dps8/dps8_math.c m2 += 0400; m2 2519 src/dps8/dps8_math.c putbits72 (& m2, 64, 8, construct_128 (0, 0)); m2 2521 src/dps8/dps8_math.c putbits72 (& m2, 64, 8, 0); m2 2566 src/dps8/dps8_math.c if ((isnonzero_128 (and_128 (m2, SIGN72))) && !roundovf) { m2 2567 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { m2 2568 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 2571 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 2589 src/dps8/dps8_math.c if ((m2 & SIGN72) && !roundovf) { m2 2590 src/dps8/dps8_math.c if (m2 == SIGN72) { m2 2591 src/dps8/dps8_math.c m2 >>= shift_amt; m2 2594 src/dps8/dps8_math.c m2 = (~m2 + 1) & MASK72; m2 2600 src/dps8/dps8_math.c if (ISZERO_128 (m2)) { m2 2622 src/dps8/dps8_math.c while (isge_128 (m1, m2)) { m2 2627 src/dps8/dps8_math.c while (m1 >= m2) { m2 2650 src/dps8/dps8_math.c word72 m3 = divide_128 (lshift_128 (m1, 63-8), rshift_128 (m2, 8), NULL); m2 2652 src/dps8/dps8_math.c word72 m3 = ((uint128)m1 << (63-8)) / ((uint128)m2 >> 8); m2 3333 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.Ypair[0], 8)), (36 + 8)); m2 3334 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 3336 src/dps8/dps8_math.c word72 m2 = (word72) getbits36_28 (cpu.Ypair[0], 8) << (36 + 8); m2 3337 src/dps8/dps8_math.c m2 |= cpu.Ypair[1] << 8; m2 3369 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); ///< mantissa negative? m2 3371 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 3372 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 3374 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 3377 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3378 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3380 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count > 71) m2 3381 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3383 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 3386 src/dps8/dps8_math.c SC_I_ZERO (iseq_128 (m1, m2)); m2 3388 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 3413 src/dps8/dps8_math.c bool s = m2 & SIGN72; ///< mantissa negative? m2 3415 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 3416 src/dps8/dps8_math.c m2 >>= 1; m2 3418 src/dps8/dps8_math.c m2 |= SIGN72; m2 3421 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3422 src/dps8/dps8_math.c m2 = 0; m2 3424 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count > 71) m2 3425 src/dps8/dps8_math.c m2 = 0; m2 3427 src/dps8/dps8_math.c m2 &= MASK72; m2 3430 src/dps8/dps8_math.c SC_I_ZERO (m1 == m2); m2 3432 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 3468 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.Ypair[0], 8)), (36 + 8)); m2 3469 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 3471 src/dps8/dps8_math.c word72 m2 = (word72) getbits36_28 (cpu.Ypair[0], 8) << (36 + 8); m2 3472 src/dps8/dps8_math.c m2 |= cpu.Ypair[1] << 8; m2 3522 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); ///< mantissa negative? m2 3524 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 3525 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 3527 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 3530 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3531 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3533 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count > 71) m2 3534 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3536 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 3538 src/dps8/dps8_math.c bool s = m2 & SIGN72; ///< mantissa negative? m2 3540 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 3541 src/dps8/dps8_math.c m2 >>= 1; m2 3543 src/dps8/dps8_math.c m2 |= SIGN72; m2 3546 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3547 src/dps8/dps8_math.c m2 = 0; m2 3549 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count > 71) m2 3550 src/dps8/dps8_math.c m2 = 0; m2 3552 src/dps8/dps8_math.c m2 &= MASK72; m2 3557 src/dps8/dps8_math.c SC_I_ZERO (iseq_128 (m1, m2)); m2 3561 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 3567 src/dps8/dps8_math.c SC_I_ZERO (m1 == m2); m2 3571 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2);