Lines Matching refs:aExp
1385 int16 aExp, shiftCount; in float32_to_int32() local
1390 aExp = extractFloat32Exp( a ); in float32_to_int32()
1392 if ( ( aExp == 0xFF ) && aSig ) aSign = 0; in float32_to_int32()
1393 if ( aExp ) aSig |= 0x00800000; in float32_to_int32()
1394 shiftCount = 0xAF - aExp; in float32_to_int32()
1417 int16 aExp, shiftCount; in float32_to_int32_round_to_zero() local
1422 aExp = extractFloat32Exp( a ); in float32_to_int32_round_to_zero()
1424 shiftCount = aExp - 0x9E; in float32_to_int32_round_to_zero()
1428 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) return 0x7FFFFFFF; in float32_to_int32_round_to_zero()
1432 else if ( aExp <= 0x7E ) { in float32_to_int32_round_to_zero()
1433 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_int32_round_to_zero()
1461 int16 aExp, shiftCount; in float32_to_int64() local
1466 aExp = extractFloat32Exp( a ); in float32_to_int64()
1468 shiftCount = 0xBE - aExp; in float32_to_int64()
1471 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64()
1476 if ( aExp ) aSig |= 0x00800000; in float32_to_int64()
1498 int16 aExp, shiftCount; in float32_to_int64_round_to_zero() local
1504 aExp = extractFloat32Exp( a ); in float32_to_int64_round_to_zero()
1506 shiftCount = aExp - 0xBE; in float32_to_int64_round_to_zero()
1510 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64_round_to_zero()
1516 else if ( aExp <= 0x7E ) { in float32_to_int64_round_to_zero()
1517 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_int64_round_to_zero()
1543 int16 aExp; in float32_to_float64() local
1547 aExp = extractFloat32Exp( a ); in float32_to_float64()
1549 if ( aExp == 0xFF ) { in float32_to_float64()
1553 if ( aExp == 0 ) { in float32_to_float64()
1555 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float64()
1556 --aExp; in float32_to_float64()
1558 return packFloat64( aSign, aExp + 0x380, ( (bits64) aSig )<<29 ); in float32_to_float64()
1575 int16 aExp; in float32_to_floatx80() local
1579 aExp = extractFloat32Exp( a ); in float32_to_floatx80()
1581 if ( aExp == 0xFF ) { in float32_to_floatx80()
1585 if ( aExp == 0 ) { in float32_to_floatx80()
1587 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_floatx80()
1590 return packFloatx80( aSign, aExp + 0x3F80, ( (bits64) aSig )<<40 ); in float32_to_floatx80()
1609 int16 aExp; in float32_to_float128() local
1613 aExp = extractFloat32Exp( a ); in float32_to_float128()
1615 if ( aExp == 0xFF ) { in float32_to_float128()
1619 if ( aExp == 0 ) { in float32_to_float128()
1621 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float128()
1622 --aExp; in float32_to_float128()
1624 return packFloat128( aSign, aExp + 0x3F80, ( (bits64) aSig )<<25, 0 ); in float32_to_float128()
1642 int16 aExp; in float32_round_to_int() local
1647 aExp = extractFloat32Exp( a ); in float32_round_to_int()
1648 if ( 0x96 <= aExp ) { in float32_round_to_int()
1649 if ( ( aExp == 0xFF ) && extractFloat32Frac( a ) ) { in float32_round_to_int()
1654 if ( aExp <= 0x7E ) { in float32_round_to_int()
1660 if ( ( aExp == 0x7E ) && extractFloat32Frac( a ) ) { in float32_round_to_int()
1674 lastBitMask <<= 0x96 - aExp; in float32_round_to_int()
1705 int16 aExp, bExp, zExp; in addFloat32Sigs() local
1710 aExp = extractFloat32Exp( a ); in addFloat32Sigs()
1713 expDiff = aExp - bExp; in addFloat32Sigs()
1717 if ( aExp == 0xFF ) { in addFloat32Sigs()
1728 zExp = aExp; in addFloat32Sigs()
1735 if ( aExp == 0 ) { in addFloat32Sigs()
1745 if ( aExp == 0xFF ) { in addFloat32Sigs()
1749 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 ); in addFloat32Sigs()
1751 zExp = aExp; in addFloat32Sigs()
1777 int16 aExp, bExp, zExp; in subFloat32Sigs() local
1782 aExp = extractFloat32Exp( a ); in subFloat32Sigs()
1785 expDiff = aExp - bExp; in subFloat32Sigs()
1790 if ( aExp == 0xFF ) { in subFloat32Sigs()
1795 if ( aExp == 0 ) { in subFloat32Sigs()
1796 aExp = 1; in subFloat32Sigs()
1807 if ( aExp == 0 ) { in subFloat32Sigs()
1821 if ( aExp == 0xFF ) { in subFloat32Sigs()
1835 zExp = aExp; in subFloat32Sigs()
1896 int16 aExp, bExp, zExp; in float32_mul() local
1902 aExp = extractFloat32Exp( a ); in float32_mul()
1908 if ( aExp == 0xFF ) { in float32_mul()
1920 if ( ( aExp | aSig ) == 0 ) { in float32_mul()
1926 if ( aExp == 0 ) { in float32_mul()
1928 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_mul()
1934 zExp = aExp + bExp - 0x7F; in float32_mul()
1957 int16 aExp, bExp, zExp; in float32_div() local
1961 aExp = extractFloat32Exp( a ); in float32_div()
1967 if ( aExp == 0xFF ) { in float32_div()
1982 if ( ( aExp | aSig ) == 0 ) { in float32_div()
1991 if ( aExp == 0 ) { in float32_div()
1993 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_div()
1995 zExp = aExp - bExp + 0x7D; in float32_div()
2021 int16 aExp, bExp, expDiff; in float32_rem() local
2029 aExp = extractFloat32Exp( a ); in float32_rem()
2034 if ( aExp == 0xFF ) { in float32_rem()
2052 if ( aExp == 0 ) { in float32_rem()
2054 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_rem()
2056 expDiff = aExp - bExp; in float32_rem()
2124 int16 aExp, zExp; in float32_sqrt() local
2129 aExp = extractFloat32Exp( a ); in float32_sqrt()
2131 if ( aExp == 0xFF ) { in float32_sqrt()
2138 if ( ( aExp | aSig ) == 0 ) return a; in float32_sqrt()
2142 if ( aExp == 0 ) { in float32_sqrt()
2144 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_sqrt()
2146 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E; in float32_sqrt()
2148 zSig = estimateSqrt32( aExp, aSig ) + 2; in float32_sqrt()
2154 aSig >>= aExp & 1; in float32_sqrt()
2333 int16 aExp, shiftCount; in float64_to_int32() local
2337 aExp = extractFloat64Exp( a ); in float64_to_int32()
2339 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32()
2340 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int32()
2341 shiftCount = 0x42C - aExp; in float64_to_int32()
2362 int16 aExp, shiftCount; in float64_to_int32_round_to_zero() local
2367 aExp = extractFloat64Exp( a ); in float64_to_int32_round_to_zero()
2369 if ( 0x41E < aExp ) { in float64_to_int32_round_to_zero()
2370 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32_round_to_zero()
2373 else if ( aExp < 0x3FF ) { in float64_to_int32_round_to_zero()
2374 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in float64_to_int32_round_to_zero()
2378 shiftCount = 0x433 - aExp; in float64_to_int32_round_to_zero()
2410 int16 aExp, shiftCount; in float64_to_int64() local
2414 aExp = extractFloat64Exp( a ); in float64_to_int64()
2416 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64()
2417 shiftCount = 0x433 - aExp; in float64_to_int64()
2419 if ( 0x43E < aExp ) { in float64_to_int64()
2422 || ( ( aExp == 0x7FF ) in float64_to_int64()
2453 int16 aExp, shiftCount; in float64_to_int64_round_to_zero() local
2458 aExp = extractFloat64Exp( a ); in float64_to_int64_round_to_zero()
2460 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64_round_to_zero()
2461 shiftCount = aExp - 0x433; in float64_to_int64_round_to_zero()
2463 if ( 0x43E <= aExp ) { in float64_to_int64_round_to_zero()
2467 || ( ( aExp == 0x7FF ) in float64_to_int64_round_to_zero()
2478 if ( aExp < 0x3FE ) { in float64_to_int64_round_to_zero()
2479 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float64_to_int64_round_to_zero()
2504 int16 aExp; in float64_to_float32() local
2509 aExp = extractFloat64Exp( a ); in float64_to_float32()
2511 if ( aExp == 0x7FF ) { in float64_to_float32()
2517 if ( aExp || zSig ) { in float64_to_float32()
2519 aExp -= 0x381; in float64_to_float32()
2521 return roundAndPackFloat32( aSign, aExp, zSig ); in float64_to_float32()
2538 int16 aExp; in float64_to_floatx80() local
2542 aExp = extractFloat64Exp( a ); in float64_to_floatx80()
2544 if ( aExp == 0x7FF ) { in float64_to_floatx80()
2548 if ( aExp == 0 ) { in float64_to_floatx80()
2550 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_floatx80()
2554 aSign, aExp + 0x3C00, ( aSig | LIT64( 0x0010000000000000 ) )<<11 ); in float64_to_floatx80()
2573 int16 aExp; in float64_to_float128() local
2577 aExp = extractFloat64Exp( a ); in float64_to_float128()
2579 if ( aExp == 0x7FF ) { in float64_to_float128()
2583 if ( aExp == 0 ) { in float64_to_float128()
2585 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_float128()
2586 --aExp; in float64_to_float128()
2589 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 ); in float64_to_float128()
2607 int16 aExp; in float64_round_to_int() local
2612 aExp = extractFloat64Exp( a ); in float64_round_to_int()
2613 if ( 0x433 <= aExp ) { in float64_round_to_int()
2614 if ( ( aExp == 0x7FF ) && extractFloat64Frac( a ) ) { in float64_round_to_int()
2619 if ( aExp < 0x3FF ) { in float64_round_to_int()
2625 if ( ( aExp == 0x3FE ) && extractFloat64Frac( a ) ) { in float64_round_to_int()
2640 lastBitMask <<= 0x433 - aExp; in float64_round_to_int()
2671 int16 aExp, bExp, zExp; in addFloat64Sigs() local
2676 aExp = extractFloat64Exp( a ); in addFloat64Sigs()
2679 expDiff = aExp - bExp; in addFloat64Sigs()
2683 if ( aExp == 0x7FF ) { in addFloat64Sigs()
2694 zExp = aExp; in addFloat64Sigs()
2701 if ( aExp == 0 ) { in addFloat64Sigs()
2711 if ( aExp == 0x7FF ) { in addFloat64Sigs()
2715 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 ); in addFloat64Sigs()
2717 zExp = aExp; in addFloat64Sigs()
2743 int16 aExp, bExp, zExp; in subFloat64Sigs() local
2748 aExp = extractFloat64Exp( a ); in subFloat64Sigs()
2751 expDiff = aExp - bExp; in subFloat64Sigs()
2756 if ( aExp == 0x7FF ) { in subFloat64Sigs()
2761 if ( aExp == 0 ) { in subFloat64Sigs()
2762 aExp = 1; in subFloat64Sigs()
2773 if ( aExp == 0 ) { in subFloat64Sigs()
2787 if ( aExp == 0x7FF ) { in subFloat64Sigs()
2801 zExp = aExp; in subFloat64Sigs()
2862 int16 aExp, bExp, zExp; in float64_mul() local
2866 aExp = extractFloat64Exp( a ); in float64_mul()
2872 if ( aExp == 0x7FF ) { in float64_mul()
2884 if ( ( aExp | aSig ) == 0 ) { in float64_mul()
2890 if ( aExp == 0 ) { in float64_mul()
2892 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_mul()
2898 zExp = aExp + bExp - 0x3FF; in float64_mul()
2921 int16 aExp, bExp, zExp; in float64_div() local
2927 aExp = extractFloat64Exp( a ); in float64_div()
2933 if ( aExp == 0x7FF ) { in float64_div()
2948 if ( ( aExp | aSig ) == 0 ) { in float64_div()
2957 if ( aExp == 0 ) { in float64_div()
2959 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_div()
2961 zExp = aExp - bExp + 0x3FD; in float64_div()
2993 int16 aExp, bExp, expDiff; in float64_rem() local
2999 aExp = extractFloat64Exp( a ); in float64_rem()
3004 if ( aExp == 0x7FF ) { in float64_rem()
3022 if ( aExp == 0 ) { in float64_rem()
3024 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_rem()
3026 expDiff = aExp - bExp; in float64_rem()
3079 int16 aExp, zExp; in float64_sqrt() local
3084 aExp = extractFloat64Exp( a ); in float64_sqrt()
3086 if ( aExp == 0x7FF ) { in float64_sqrt()
3093 if ( ( aExp | aSig ) == 0 ) return a; in float64_sqrt()
3097 if ( aExp == 0 ) { in float64_sqrt()
3099 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_sqrt()
3101 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE; in float64_sqrt()
3103 zSig = estimateSqrt32( aExp, aSig>>21 ); in float64_sqrt()
3104 aSig <<= 9 - ( aExp & 1 ); in float64_sqrt()
3295 int32 aExp, shiftCount; in floatx80_to_int32() local
3299 aExp = extractFloatx80Exp( a ); in floatx80_to_int32()
3301 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32()
3302 shiftCount = 0x4037 - aExp; in floatx80_to_int32()
3323 int32 aExp, shiftCount; in floatx80_to_int32_round_to_zero() local
3328 aExp = extractFloatx80Exp( a ); in floatx80_to_int32_round_to_zero()
3330 if ( 0x401E < aExp ) { in floatx80_to_int32_round_to_zero()
3331 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32_round_to_zero()
3334 else if ( aExp < 0x3FFF ) { in floatx80_to_int32_round_to_zero()
3335 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in floatx80_to_int32_round_to_zero()
3338 shiftCount = 0x403E - aExp; in floatx80_to_int32_round_to_zero()
3369 int32 aExp, shiftCount; in floatx80_to_int64() local
3373 aExp = extractFloatx80Exp( a ); in floatx80_to_int64()
3375 shiftCount = 0x403E - aExp; in floatx80_to_int64()
3380 || ( ( aExp == 0x7FFF ) in floatx80_to_int64()
3410 int32 aExp, shiftCount; in floatx80_to_int64_round_to_zero() local
3415 aExp = extractFloatx80Exp( a ); in floatx80_to_int64_round_to_zero()
3417 shiftCount = aExp - 0x403E; in floatx80_to_int64_round_to_zero()
3422 if ( ! aSign || ( ( aExp == 0x7FFF ) && aSig ) ) { in floatx80_to_int64_round_to_zero()
3428 else if ( aExp < 0x3FFF ) { in floatx80_to_int64_round_to_zero()
3429 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in floatx80_to_int64_round_to_zero()
3452 int32 aExp; in floatx80_to_float32() local
3456 aExp = extractFloatx80Exp( a ); in floatx80_to_float32()
3458 if ( aExp == 0x7FFF ) { in floatx80_to_float32()
3465 if ( aExp || aSig ) aExp -= 0x3F81; in floatx80_to_float32()
3466 return roundAndPackFloat32( aSign, aExp, aSig ); in floatx80_to_float32()
3481 int32 aExp; in floatx80_to_float64() local
3485 aExp = extractFloatx80Exp( a ); in floatx80_to_float64()
3487 if ( aExp == 0x7FFF ) { in floatx80_to_float64()
3494 if ( aExp || aSig ) aExp -= 0x3C01; in floatx80_to_float64()
3495 return roundAndPackFloat64( aSign, aExp, zSig ); in floatx80_to_float64()
3512 int16 aExp; in floatx80_to_float128() local
3516 aExp = extractFloatx80Exp( a ); in floatx80_to_float128()
3518 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) { in floatx80_to_float128()
3522 return packFloat128( aSign, aExp, zSig0, zSig1 ); in floatx80_to_float128()
3539 int32 aExp; in floatx80_round_to_int() local
3544 aExp = extractFloatx80Exp( a ); in floatx80_round_to_int()
3545 if ( 0x403E <= aExp ) { in floatx80_round_to_int()
3546 if ( ( aExp == 0x7FFF ) && (bits64) ( extractFloatx80Frac( a )<<1 ) ) { in floatx80_round_to_int()
3551 if ( aExp < 0x3FFF ) { in floatx80_round_to_int()
3552 if ( ( aExp == 0 ) in floatx80_round_to_int()
3560 if ( ( aExp == 0x3FFE ) && (bits64) ( extractFloatx80Frac( a )<<1 ) in floatx80_round_to_int()
3581 lastBitMask <<= 0x403E - aExp; in floatx80_round_to_int()
3615 int32 aExp, bExp, zExp; in addFloatx80Sigs() local
3620 aExp = extractFloatx80Exp( a ); in addFloatx80Sigs()
3623 expDiff = aExp - bExp; in addFloatx80Sigs()
3625 if ( aExp == 0x7FFF ) { in addFloatx80Sigs()
3631 zExp = aExp; in addFloatx80Sigs()
3638 if ( aExp == 0 ) ++expDiff; in addFloatx80Sigs()
3643 if ( aExp == 0x7FFF ) { in addFloatx80Sigs()
3651 if ( aExp == 0 ) { in addFloatx80Sigs()
3655 zExp = aExp; in addFloatx80Sigs()
3682 int32 aExp, bExp, zExp; in subFloatx80Sigs() local
3688 aExp = extractFloatx80Exp( a ); in subFloatx80Sigs()
3691 expDiff = aExp - bExp; in subFloatx80Sigs()
3694 if ( aExp == 0x7FFF ) { in subFloatx80Sigs()
3703 if ( aExp == 0 ) { in subFloatx80Sigs()
3704 aExp = 1; in subFloatx80Sigs()
3716 if ( aExp == 0 ) ++expDiff; in subFloatx80Sigs()
3724 if ( aExp == 0x7FFF ) { in subFloatx80Sigs()
3732 zExp = aExp; in subFloatx80Sigs()
3794 int32 aExp, bExp, zExp; in floatx80_mul() local
3799 aExp = extractFloatx80Exp( a ); in floatx80_mul()
3805 if ( aExp == 0x7FFF ) { in floatx80_mul()
3815 if ( ( aExp | aSig ) == 0 ) { in floatx80_mul()
3824 if ( aExp == 0 ) { in floatx80_mul()
3826 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_mul()
3832 zExp = aExp + bExp - 0x3FFE; in floatx80_mul()
3854 int32 aExp, bExp, zExp; in floatx80_div() local
3860 aExp = extractFloatx80Exp( a ); in floatx80_div()
3866 if ( aExp == 0x7FFF ) { in floatx80_div()
3880 if ( ( aExp | aSig ) == 0 ) { in floatx80_div()
3892 if ( aExp == 0 ) { in floatx80_div()
3894 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_div()
3896 zExp = aExp - bExp + 0x3FFE; in floatx80_div()
3935 int32 aExp, bExp, expDiff; in floatx80_rem() local
3941 aExp = extractFloatx80Exp( a ); in floatx80_rem()
3946 if ( aExp == 0x7FFF ) { in floatx80_rem()
3967 if ( aExp == 0 ) { in floatx80_rem()
3969 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_rem()
3973 expDiff = aExp - bExp; in floatx80_rem()
4033 int32 aExp, zExp; in floatx80_sqrt() local
4039 aExp = extractFloatx80Exp( a ); in floatx80_sqrt()
4041 if ( aExp == 0x7FFF ) { in floatx80_sqrt()
4047 if ( ( aExp | aSig0 ) == 0 ) return a; in floatx80_sqrt()
4054 if ( aExp == 0 ) { in floatx80_sqrt()
4056 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_sqrt()
4058 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFF; in floatx80_sqrt()
4059 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
4060 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); in floatx80_sqrt()
4313 int32 aExp, shiftCount; in float128_to_int32() local
4318 aExp = extractFloat128Exp( a ); in float128_to_int32()
4320 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; in float128_to_int32()
4321 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32()
4323 shiftCount = 0x4028 - aExp; in float128_to_int32()
4343 int32 aExp, shiftCount; in float128_to_int32_round_to_zero() local
4349 aExp = extractFloat128Exp( a ); in float128_to_int32_round_to_zero()
4352 if ( 0x401E < aExp ) { in float128_to_int32_round_to_zero()
4353 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; in float128_to_int32_round_to_zero()
4356 else if ( aExp < 0x3FFF ) { in float128_to_int32_round_to_zero()
4357 if ( aExp || aSig0 ) float_exception_flags |= float_flag_inexact; in float128_to_int32_round_to_zero()
4361 shiftCount = 0x402F - aExp; in float128_to_int32_round_to_zero()
4392 int32 aExp, shiftCount; in float128_to_int64() local
4397 aExp = extractFloat128Exp( a ); in float128_to_int64()
4399 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64()
4400 shiftCount = 0x402F - aExp; in float128_to_int64()
4402 if ( 0x403E < aExp ) { in float128_to_int64()
4405 || ( ( aExp == 0x7FFF ) in float128_to_int64()
4436 int32 aExp, shiftCount; in float128_to_int64_round_to_zero() local
4442 aExp = extractFloat128Exp( a ); in float128_to_int64_round_to_zero()
4444 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64_round_to_zero()
4445 shiftCount = aExp - 0x402F; in float128_to_int64_round_to_zero()
4447 if ( 0x403E <= aExp ) { in float128_to_int64_round_to_zero()
4455 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { in float128_to_int64_round_to_zero()
4467 if ( aExp < 0x3FFF ) { in float128_to_int64_round_to_zero()
4468 if ( aExp | aSig0 | aSig1 ) { in float128_to_int64_round_to_zero()
4492 int32 aExp, shiftCount; in float128_to_uint64_round_to_zero() local
4498 aExp = extractFloat128Exp( a ); in float128_to_uint64_round_to_zero()
4500 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_uint64_round_to_zero()
4501 shiftCount = aExp - 0x402F; in float128_to_uint64_round_to_zero()
4503 if ( 0x403F <= aExp ) { in float128_to_uint64_round_to_zero()
4520 if ( aExp < 0x3FFF ) { in float128_to_uint64_round_to_zero()
4521 if ( aExp | aSig0 | aSig1 ) { in float128_to_uint64_round_to_zero()
4548 int32 aExp; in float128_to_float32() local
4554 aExp = extractFloat128Exp( a ); in float128_to_float32()
4556 if ( aExp == 0x7FFF ) { in float128_to_float32()
4565 if ( aExp || zSig ) { in float128_to_float32()
4567 aExp -= 0x3F81; in float128_to_float32()
4569 return roundAndPackFloat32( aSign, aExp, zSig ); in float128_to_float32()
4584 int32 aExp; in float128_to_float64() local
4589 aExp = extractFloat128Exp( a ); in float128_to_float64()
4591 if ( aExp == 0x7FFF ) { in float128_to_float64()
4599 if ( aExp || aSig0 ) { in float128_to_float64()
4601 aExp -= 0x3C01; in float128_to_float64()
4603 return roundAndPackFloat64( aSign, aExp, aSig0 ); in float128_to_float64()
4620 int32 aExp; in float128_to_floatx80() local
4625 aExp = extractFloat128Exp( a ); in float128_to_floatx80()
4627 if ( aExp == 0x7FFF ) { in float128_to_floatx80()
4633 if ( aExp == 0 ) { in float128_to_floatx80()
4635 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_to_floatx80()
4641 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 ); in float128_to_floatx80()
4658 int32 aExp; in float128_round_to_int() local
4663 aExp = extractFloat128Exp( a ); in float128_round_to_int()
4664 if ( 0x402F <= aExp ) { in float128_round_to_int()
4665 if ( 0x406F <= aExp ) { in float128_round_to_int()
4666 if ( ( aExp == 0x7FFF ) in float128_round_to_int()
4674 lastBitMask = ( lastBitMask<<( 0x406E - aExp ) )<<1; in float128_round_to_int()
4699 if ( aExp < 0x3FFF ) { in float128_round_to_int()
4705 if ( ( aExp == 0x3FFE ) in float128_round_to_int()
4726 lastBitMask <<= 0x402F - aExp; in float128_round_to_int()
4764 int32 aExp, bExp, zExp; in addFloat128Sigs() local
4770 aExp = extractFloat128Exp( a ); in addFloat128Sigs()
4774 expDiff = aExp - bExp; in addFloat128Sigs()
4776 if ( aExp == 0x7FFF ) { in addFloat128Sigs()
4788 zExp = aExp; in addFloat128Sigs()
4795 if ( aExp == 0 ) { in addFloat128Sigs()
4806 if ( aExp == 0x7FFF ) { in addFloat128Sigs()
4813 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 ); in addFloat128Sigs()
4816 zExp = aExp; in addFloat128Sigs()
4843 int32 aExp, bExp, zExp; in subFloat128Sigs() local
4850 aExp = extractFloat128Exp( a ); in subFloat128Sigs()
4854 expDiff = aExp - bExp; in subFloat128Sigs()
4859 if ( aExp == 0x7FFF ) { in subFloat128Sigs()
4868 if ( aExp == 0 ) { in subFloat128Sigs()
4869 aExp = 1; in subFloat128Sigs()
4882 if ( aExp == 0 ) { in subFloat128Sigs()
4896 if ( aExp == 0x7FFF ) { in subFloat128Sigs()
4910 zExp = aExp; in subFloat128Sigs()
4971 int32 aExp, bExp, zExp; in float128_mul() local
4977 aExp = extractFloat128Exp( a ); in float128_mul()
4984 if ( aExp == 0x7FFF ) { in float128_mul()
4994 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_mul()
5003 if ( aExp == 0 ) { in float128_mul()
5005 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_mul()
5011 zExp = aExp + bExp - 0x4000; in float128_mul()
5036 int32 aExp, bExp, zExp; in float128_div() local
5043 aExp = extractFloat128Exp( a ); in float128_div()
5050 if ( aExp == 0x7FFF ) { in float128_div()
5064 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_div()
5076 if ( aExp == 0 ) { in float128_div()
5078 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_div()
5080 zExp = aExp - bExp + 0x3FFD; in float128_div()
5121 int32 aExp, bExp, expDiff; in float128_rem() local
5129 aExp = extractFloat128Exp( a ); in float128_rem()
5135 if ( aExp == 0x7FFF ) { in float128_rem()
5156 if ( aExp == 0 ) { in float128_rem()
5158 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_rem()
5160 expDiff = aExp - bExp; in float128_rem()
5232 int32 aExp, zExp; in float128_sqrt() local
5239 aExp = extractFloat128Exp( a ); in float128_sqrt()
5241 if ( aExp == 0x7FFF ) { in float128_sqrt()
5247 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; in float128_sqrt()
5254 if ( aExp == 0 ) { in float128_sqrt()
5256 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_sqrt()
5258 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFE; in float128_sqrt()
5260 zSig0 = estimateSqrt32( aExp, aSig0>>17 ); in float128_sqrt()
5261 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); in float128_sqrt()
5520 int16 aExp, shiftCount; in float64_to_uint32_round_to_zero() local
5525 aExp = extractFloat64Exp( a ); in float64_to_uint32_round_to_zero()
5533 if ( 0x41E < aExp ) { in float64_to_uint32_round_to_zero()
5537 else if ( aExp < 0x3FF ) { in float64_to_uint32_round_to_zero()
5538 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in float64_to_uint32_round_to_zero()
5542 shiftCount = 0x433 - aExp; in float64_to_uint32_round_to_zero()
5566 int16 aExp, shiftCount; in float32_to_uint32_round_to_zero() local
5571 aExp = extractFloat32Exp( a ); in float32_to_uint32_round_to_zero()
5573 shiftCount = aExp - 0x9E; in float32_to_uint32_round_to_zero()
5583 else if ( aExp <= 0x7E ) { in float32_to_uint32_round_to_zero()
5584 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_uint32_round_to_zero()