m2 483 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 485 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; // 28-bit mantissa (incl sign) m2 500 src/dps8/dps8_math.c if (ISZERO_128 (m2)) m2 503 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { // -1.0 -> 0.5, increase exponent, ISOLTS-735 08i,j m2 504 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 507 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 510 src/dps8/dps8_math.c if (m2 == SIGN72) { // -1.0 -> 0.5, increase exponent, ISOLTS-735 08i,j m2 511 src/dps8/dps8_math.c m2 >>= shift_amt; m2 516 src/dps8/dps8_math.c m2 = ((word72) (- (word72s) m2)) & MASK72; m2 569 src/dps8/dps8_math.c bool sign = isnonzero_128 (and_128 (m2, SIGN72)); // mantissa negative? m2 572 src/dps8/dps8_math.c allones &= m2.l & 1; m2 573 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 574 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 576 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 578 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 579 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 580 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 583 src/dps8/dps8_math.c bool sign = m2 & SIGN72; // mantissa negative? m2 586 src/dps8/dps8_math.c allones &= m2 & 1; m2 587 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 588 src/dps8/dps8_math.c m2 >>= 1; m2 590 src/dps8/dps8_math.c m2 |= SIGN72; m2 592 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 593 src/dps8/dps8_math.c m2 = 0; m2 594 src/dps8/dps8_math.c m2 &= MASK72; m2 601 src/dps8/dps8_math.c m3 = Add72b (m1, m2, 0, I_CARRY, & cpu.cu.IR, & ovf); m2 1134 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 1136 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; ///< 28-bit mantissa (incl sign) m2 1140 src/dps8/dps8_math.c if (ISZERO_128 (m1) || ISZERO_128 (m2)) { m2 1176 src/dps8/dps8_math.c int128 t = SIGNEXT72_128(m2); m2 1181 src/dps8/dps8_math.c int128 m3 = (SIGNEXT72_128(m1) * (SIGNEXT72_128(m2) >> 44)); m2 1195 src/dps8/dps8_math.c if (ISEQ_128 (m1, SIGN72) && ISEQ_128 (m2, SIGN72)) { m2 1266 src/dps8/dps8_math.c word72 m2; m2 1276 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 1278 src/dps8/dps8_math.c m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; ///< 28-bit mantissa (incl sign) m2 1284 src/dps8/dps8_math.c m2 = convert_to_word72 (cpu.rA, cpu.rQ); m2 1291 src/dps8/dps8_math.c if ((iszero_128 (and_128 (m2, SIGN72))) && m2 1292 src/dps8/dps8_math.c (isnonzero_128 (and_128 (m2, construct_128 (0, 0377777777777777LL))))) { m2 1293 src/dps8/dps8_math.c m2 = add_128 (m2, construct_128 (0, 0400000000000000LL)); m2 1297 src/dps8/dps8_math.c m2 = and_128 (m2, lshift_128 (construct_128 (0, 0777777777400), 36)); m2 1302 src/dps8/dps8_math.c if (!(m2 & SIGN72) && m2 & 0377777777777777LL) { m2 1303 src/dps8/dps8_math.c m2 += 0400000000000000LL; m2 1307 src/dps8/dps8_math.c m2 &= (word72)0777777777400 << 36; m2 1358 src/dps8/dps8_math.c if ((isnonzero_128 (and_128 (m2, SIGN72))) && !roundovf) { m2 1359 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { m2 1360 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 1363 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 1368 src/dps8/dps8_math.c if ((m2 & SIGN72) && !roundovf) { m2 1369 src/dps8/dps8_math.c if (m2 == SIGN72) { m2 1370 src/dps8/dps8_math.c m2 >>= shift_amt; m2 1373 src/dps8/dps8_math.c m2 = (~m2 + 1) & MASK72; m2 1379 src/dps8/dps8_math.c if (ISZERO_128 (m2)) { m2 1401 src/dps8/dps8_math.c while (isge_128 (m1, m2)) { m2 1409 src/dps8/dps8_math.c while (m1 >= m2) { m2 1435 src/dps8/dps8_math.c uint32_t divisor = rshift_128 (m2, 44).l & MASK28; m2 1442 src/dps8/dps8_math.c word72 m3 = (m1 >> (44-35)) / (m2 >> 44); m2 1695 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.CY, 8)), 44); m2 1697 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; m2 1752 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); m2 1754 src/dps8/dps8_math.c bool s = (m2 & SIGN72) != (word72)0; m2 1758 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 1759 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 1761 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 1762 src/dps8/dps8_math.c m2 >>= 1; m2 1766 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 1768 src/dps8/dps8_math.c m2 |= SIGN72; m2 1772 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1773 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 1774 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 1777 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1778 src/dps8/dps8_math.c m2 = 0; m2 1779 src/dps8/dps8_math.c m2 &= MASK72; m2 1786 src/dps8/dps8_math.c SC_I_ZERO (iseq_128 (m1, m2)); m2 1787 src/dps8/dps8_math.c SC_I_NEG (islt_s128 (SIGNEXT72_128(m1), SIGNEXT72_128(m2))); m2 1789 src/dps8/dps8_math.c SC_I_ZERO (m1 == m2); m2 1790 src/dps8/dps8_math.c SC_I_NEG ((int128)SIGNEXT72_128(m1) < (int128)SIGNEXT72_128(m2)); m2 1835 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.CY, 8)), 44); m2 1837 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.CY, 8)) << 44; m2 1886 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); m2 1888 src/dps8/dps8_math.c bool s = (m2 & SIGN72) != (word72)0; ///< save sign bit m2 1892 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 1893 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 1895 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 1896 src/dps8/dps8_math.c m2 >>= 1; m2 1900 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 1902 src/dps8/dps8_math.c m2 |= SIGN72; m2 1906 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1907 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 1908 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 1910 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 1911 src/dps8/dps8_math.c m2 = 0; m2 1912 src/dps8/dps8_math.c m2 &= MASK72; m2 1916 src/dps8/dps8_math.c SC_I_ZERO (ISEQ_128 (m1, m2)); m2 1921 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 1929 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 1997 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 1998 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 2000 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.Ypair[0], 8)) << 44; m2 2001 src/dps8/dps8_math.c m2 |= (word72) cpu.Ypair[1] << 8; m2 2011 src/dps8/dps8_math.c if (iszero_128 (m2)) m2 2013 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { m2 2015 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 2018 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 2022 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 2025 src/dps8/dps8_math.c if (m2 == 0) m2 2027 src/dps8/dps8_math.c if (m2 == SIGN72) { m2 2029 src/dps8/dps8_math.c m2 >>= shift_amt; m2 2032 src/dps8/dps8_math.c m2 >>= 1; m2 2038 src/dps8/dps8_math.c m2 = ((word72) (- (word72s) m2)) & MASK72; m2 2092 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); m2 2094 src/dps8/dps8_math.c bool s = (m2 & SIGN72) != (word72)0; ///< save sign bit m2 2098 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 2099 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 2101 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 2102 src/dps8/dps8_math.c m2 >>= 1; m2 2106 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 2108 src/dps8/dps8_math.c m2 |= SIGN72; m2 2112 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 2113 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 2114 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 2116 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 2117 src/dps8/dps8_math.c m2 = 0; m2 2118 src/dps8/dps8_math.c m2 &= MASK72; m2 2124 src/dps8/dps8_math.c word72 m3 = Add72b (m1, m2, 0, I_CARRY, & cpu.cu.IR, & ovf); m2 2239 src/dps8/dps8_math.c m2 2242 src/dps8/dps8_math.c m2 2244 src/dps8/dps8_math.c m2 2251 src/dps8/dps8_math.c m2 2253 src/dps8/dps8_math.c m2 2312 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 2313 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 2315 src/dps8/dps8_math.c word72 m2 = ((word72) getbits36_28 (cpu.Ypair[0], 8)) << 44; m2 2316 src/dps8/dps8_math.c m2 |= (word72) cpu.Ypair[1] << 8; m2 2323 src/dps8/dps8_math.c sim_debug (DBG_TRACEEXT, & cpu_dev, "dufm e2 %d %03o m2 %012"PRIo64" %012"PRIo64"\n", e2, e2, (word36) (m2 >> 36) & MASK36, (word36) m2 & MASK36); m2 2326 src/dps8/dps8_math.c if (ISZERO_128 (m1) || ISZERO_128 (m2)) { m2 2367 src/dps8/dps8_math.c int128 m2s = rshift_s128 (SIGNEXT72_128(m2), 8); m2 2381 src/dps8/dps8_math.c int128 m2s = SIGNEXT72_128(m2) >> 8; m2 2399 src/dps8/dps8_math.c if (ISEQ_128 (m1, SIGN72) && ISEQ_128 (m2, SIGN72)) { m2 2471 src/dps8/dps8_math.c word72 m2; m2 2482 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 2483 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 2485 src/dps8/dps8_math.c m2 = ((word72) getbits36_28 (cpu.Ypair[0], 8)) << 44; m2 2486 src/dps8/dps8_math.c m2 |= (word72) cpu.Ypair[1] << 8; m2 2491 src/dps8/dps8_math.c m2 = convert_to_word72 (cpu.rA, cpu.rQ); m2 2499 src/dps8/dps8_math.c if ((iszero_128 (and_128 (m2, SIGN72))) && m2.l & 0377) m2 2501 src/dps8/dps8_math.c if (!(m2 & SIGN72) && m2 & 0377) m2 2505 src/dps8/dps8_math.c m2 = add_128 (m2, construct_128 (0, 0400)); m2 2507 src/dps8/dps8_math.c m2 += 0400; m2 2514 src/dps8/dps8_math.c putbits72 (& m2, 64, 8, construct_128 (0, 0)); m2 2516 src/dps8/dps8_math.c putbits72 (& m2, 64, 8, 0); m2 2561 src/dps8/dps8_math.c if ((isnonzero_128 (and_128 (m2, SIGN72))) && !roundovf) { m2 2562 src/dps8/dps8_math.c if (iseq_128 (m2, SIGN72)) { m2 2563 src/dps8/dps8_math.c m2 = rshift_128 (m2, shift_amt); m2 2566 src/dps8/dps8_math.c m2 = and_128 (negate_128 (m2), MASK72); m2 2584 src/dps8/dps8_math.c if ((m2 & SIGN72) && !roundovf) { m2 2585 src/dps8/dps8_math.c if (m2 == SIGN72) { m2 2586 src/dps8/dps8_math.c m2 >>= shift_amt; m2 2589 src/dps8/dps8_math.c m2 = (~m2 + 1) & MASK72; m2 2595 src/dps8/dps8_math.c if (ISZERO_128 (m2)) { m2 2617 src/dps8/dps8_math.c while (isge_128 (m1, m2)) { m2 2622 src/dps8/dps8_math.c while (m1 >= m2) { m2 2645 src/dps8/dps8_math.c word72 m3 = divide_128 (lshift_128 (m1, 63-8), rshift_128 (m2, 8), NULL); m2 2647 src/dps8/dps8_math.c word72 m3 = ((uint128)m1 << (63-8)) / ((uint128)m2 >> 8); m2 3322 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.Ypair[0], 8)), (36 + 8)); m2 3323 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 3325 src/dps8/dps8_math.c word72 m2 = (word72) getbits36_28 (cpu.Ypair[0], 8) << (36 + 8); m2 3326 src/dps8/dps8_math.c m2 |= cpu.Ypair[1] << 8; m2 3358 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); ///< mantissa negative? m2 3360 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 3361 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 3363 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 3366 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3367 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3369 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count > 71) m2 3370 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3372 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 3375 src/dps8/dps8_math.c SC_I_ZERO (iseq_128 (m1, m2)); m2 3377 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 3402 src/dps8/dps8_math.c bool s = m2 & SIGN72; ///< mantissa negative? m2 3404 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 3405 src/dps8/dps8_math.c m2 >>= 1; m2 3407 src/dps8/dps8_math.c m2 |= SIGN72; m2 3410 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3411 src/dps8/dps8_math.c m2 = 0; m2 3413 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count > 71) m2 3414 src/dps8/dps8_math.c m2 = 0; m2 3416 src/dps8/dps8_math.c m2 &= MASK72; m2 3419 src/dps8/dps8_math.c SC_I_ZERO (m1 == m2); m2 3421 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 3457 src/dps8/dps8_math.c word72 m2 = lshift_128 (construct_128 (0, getbits36_28 (cpu.Ypair[0], 8)), (36 + 8)); m2 3458 src/dps8/dps8_math.c m2 = or_128 (m2, lshift_128 (construct_128 (0, cpu.Ypair[1]), 8u)); m2 3460 src/dps8/dps8_math.c word72 m2 = (word72) getbits36_28 (cpu.Ypair[0], 8) << (36 + 8); m2 3461 src/dps8/dps8_math.c m2 |= cpu.Ypair[1] << 8; m2 3511 src/dps8/dps8_math.c bool s = isnonzero_128 (and_128 (m2, SIGN72)); ///< mantissa negative? m2 3513 src/dps8/dps8_math.c notallzeros |= m2.l & 1; m2 3514 src/dps8/dps8_math.c m2 = rshift_128 (m2, 1); m2 3516 src/dps8/dps8_math.c m2 = or_128 (m2, SIGN72); m2 3519 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3520 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3522 src/dps8/dps8_math.c if (iseq_128 (m2, MASK72) && notallzeros == 1 && shift_count > 71) m2 3523 src/dps8/dps8_math.c m2 = construct_128 (0, 0); m2 3525 src/dps8/dps8_math.c m2 = and_128 (m2, MASK72); m2 3527 src/dps8/dps8_math.c bool s = m2 & SIGN72; ///< mantissa negative? m2 3529 src/dps8/dps8_math.c notallzeros |= m2 & 1; m2 3530 src/dps8/dps8_math.c m2 >>= 1; m2 3532 src/dps8/dps8_math.c m2 |= SIGN72; m2 3535 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count * (int) shift_amt > 71) m2 3536 src/dps8/dps8_math.c m2 = 0; m2 3538 src/dps8/dps8_math.c if (m2 == MASK72 && notallzeros == 1 && shift_count > 71) m2 3539 src/dps8/dps8_math.c m2 = 0; m2 3541 src/dps8/dps8_math.c m2 &= MASK72; m2 3546 src/dps8/dps8_math.c SC_I_ZERO (iseq_128 (m1, m2)); m2 3550 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2); m2 3556 src/dps8/dps8_math.c SC_I_ZERO (m1 == m2); m2 3560 src/dps8/dps8_math.c int128 sm2 = SIGNEXT72_128 (m2);