Lines Matching refs:aExp
1388 int16 aExp, shiftCount; in float32_to_int32() local
1393 aExp = extractFloat32Exp( a ); in float32_to_int32()
1395 if ( ( aExp == 0xFF ) && aSig ) aSign = 0; in float32_to_int32()
1396 if ( aExp ) aSig |= 0x00800000; in float32_to_int32()
1397 shiftCount = 0xAF - aExp; in float32_to_int32()
1420 int16 aExp, shiftCount; in float32_to_int32_round_to_zero() local
1425 aExp = extractFloat32Exp( a ); in float32_to_int32_round_to_zero()
1427 shiftCount = aExp - 0x9E; in float32_to_int32_round_to_zero()
1431 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) return 0x7FFFFFFF; in float32_to_int32_round_to_zero()
1435 else if ( aExp <= 0x7E ) { in float32_to_int32_round_to_zero()
1436 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_int32_round_to_zero()
1464 int16 aExp, shiftCount; in float32_to_int64() local
1469 aExp = extractFloat32Exp( a ); in float32_to_int64()
1471 shiftCount = 0xBE - aExp; in float32_to_int64()
1474 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64()
1479 if ( aExp ) aSig |= 0x00800000; in float32_to_int64()
1501 int16 aExp, shiftCount; in float32_to_int64_round_to_zero() local
1507 aExp = extractFloat32Exp( a ); in float32_to_int64_round_to_zero()
1509 shiftCount = aExp - 0xBE; in float32_to_int64_round_to_zero()
1513 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64_round_to_zero()
1519 else if ( aExp <= 0x7E ) { in float32_to_int64_round_to_zero()
1520 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_int64_round_to_zero()
1546 int16 aExp; in float32_to_float64() local
1550 aExp = extractFloat32Exp( a ); in float32_to_float64()
1552 if ( aExp == 0xFF ) { in float32_to_float64()
1556 if ( aExp == 0 ) { in float32_to_float64()
1558 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float64()
1559 --aExp; in float32_to_float64()
1561 return packFloat64( aSign, aExp + 0x380, ( (bits64) aSig )<<29 ); in float32_to_float64()
1578 int16 aExp; in float32_to_floatx80() local
1582 aExp = extractFloat32Exp( a ); in float32_to_floatx80()
1584 if ( aExp == 0xFF ) { in float32_to_floatx80()
1588 if ( aExp == 0 ) { in float32_to_floatx80()
1590 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_floatx80()
1593 return packFloatx80( aSign, aExp + 0x3F80, ( (bits64) aSig )<<40 ); in float32_to_floatx80()
1612 int16 aExp; in float32_to_float128() local
1616 aExp = extractFloat32Exp( a ); in float32_to_float128()
1618 if ( aExp == 0xFF ) { in float32_to_float128()
1622 if ( aExp == 0 ) { in float32_to_float128()
1624 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float128()
1625 --aExp; in float32_to_float128()
1627 return packFloat128( aSign, aExp + 0x3F80, ( (bits64) aSig )<<25, 0 ); in float32_to_float128()
1645 int16 aExp; in float32_round_to_int() local
1650 aExp = extractFloat32Exp( a ); in float32_round_to_int()
1651 if ( 0x96 <= aExp ) { in float32_round_to_int()
1652 if ( ( aExp == 0xFF ) && extractFloat32Frac( a ) ) { in float32_round_to_int()
1657 if ( aExp <= 0x7E ) { in float32_round_to_int()
1663 if ( ( aExp == 0x7E ) && extractFloat32Frac( a ) ) { in float32_round_to_int()
1677 lastBitMask <<= 0x96 - aExp; in float32_round_to_int()
1708 int16 aExp, bExp, zExp; in addFloat32Sigs() local
1713 aExp = extractFloat32Exp( a ); in addFloat32Sigs()
1716 expDiff = aExp - bExp; in addFloat32Sigs()
1720 if ( aExp == 0xFF ) { in addFloat32Sigs()
1731 zExp = aExp; in addFloat32Sigs()
1738 if ( aExp == 0 ) { in addFloat32Sigs()
1748 if ( aExp == 0xFF ) { in addFloat32Sigs()
1752 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 ); in addFloat32Sigs()
1754 zExp = aExp; in addFloat32Sigs()
1780 int16 aExp, bExp, zExp; in subFloat32Sigs() local
1785 aExp = extractFloat32Exp( a ); in subFloat32Sigs()
1788 expDiff = aExp - bExp; in subFloat32Sigs()
1793 if ( aExp == 0xFF ) { in subFloat32Sigs()
1798 if ( aExp == 0 ) { in subFloat32Sigs()
1799 aExp = 1; in subFloat32Sigs()
1810 if ( aExp == 0 ) { in subFloat32Sigs()
1824 if ( aExp == 0xFF ) { in subFloat32Sigs()
1838 zExp = aExp; in subFloat32Sigs()
1899 int16 aExp, bExp, zExp; in float32_mul() local
1905 aExp = extractFloat32Exp( a ); in float32_mul()
1911 if ( aExp == 0xFF ) { in float32_mul()
1923 if ( ( aExp | aSig ) == 0 ) { in float32_mul()
1929 if ( aExp == 0 ) { in float32_mul()
1931 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_mul()
1937 zExp = aExp + bExp - 0x7F; in float32_mul()
1960 int16 aExp, bExp, zExp; in float32_div() local
1964 aExp = extractFloat32Exp( a ); in float32_div()
1970 if ( aExp == 0xFF ) { in float32_div()
1985 if ( ( aExp | aSig ) == 0 ) { in float32_div()
1994 if ( aExp == 0 ) { in float32_div()
1996 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_div()
1998 zExp = aExp - bExp + 0x7D; in float32_div()
2024 int16 aExp, bExp, expDiff; in float32_rem() local
2032 aExp = extractFloat32Exp( a ); in float32_rem()
2037 if ( aExp == 0xFF ) { in float32_rem()
2055 if ( aExp == 0 ) { in float32_rem()
2057 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_rem()
2059 expDiff = aExp - bExp; in float32_rem()
2127 int16 aExp, zExp; in float32_sqrt() local
2132 aExp = extractFloat32Exp( a ); in float32_sqrt()
2134 if ( aExp == 0xFF ) { in float32_sqrt()
2141 if ( ( aExp | aSig ) == 0 ) return a; in float32_sqrt()
2145 if ( aExp == 0 ) { in float32_sqrt()
2147 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_sqrt()
2149 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E; in float32_sqrt()
2151 zSig = estimateSqrt32( aExp, aSig ) + 2; in float32_sqrt()
2157 aSig >>= aExp & 1; in float32_sqrt()
2336 int16 aExp, shiftCount; in float64_to_int32() local
2340 aExp = extractFloat64Exp( a ); in float64_to_int32()
2342 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32()
2343 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int32()
2344 shiftCount = 0x42C - aExp; in float64_to_int32()
2365 int16 aExp, shiftCount; in float64_to_int32_round_to_zero() local
2370 aExp = extractFloat64Exp( a ); in float64_to_int32_round_to_zero()
2372 if ( 0x41E < aExp ) { in float64_to_int32_round_to_zero()
2373 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32_round_to_zero()
2376 else if ( aExp < 0x3FF ) { in float64_to_int32_round_to_zero()
2377 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in float64_to_int32_round_to_zero()
2381 shiftCount = 0x433 - aExp; in float64_to_int32_round_to_zero()
2413 int16 aExp, shiftCount; in float64_to_int64() local
2417 aExp = extractFloat64Exp( a ); in float64_to_int64()
2419 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64()
2420 shiftCount = 0x433 - aExp; in float64_to_int64()
2422 if ( 0x43E < aExp ) { in float64_to_int64()
2425 || ( ( aExp == 0x7FF ) in float64_to_int64()
2456 int16 aExp, shiftCount; in float64_to_int64_round_to_zero() local
2461 aExp = extractFloat64Exp( a ); in float64_to_int64_round_to_zero()
2463 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64_round_to_zero()
2464 shiftCount = aExp - 0x433; in float64_to_int64_round_to_zero()
2466 if ( 0x43E <= aExp ) { in float64_to_int64_round_to_zero()
2470 || ( ( aExp == 0x7FF ) in float64_to_int64_round_to_zero()
2481 if ( aExp < 0x3FE ) { in float64_to_int64_round_to_zero()
2482 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float64_to_int64_round_to_zero()
2507 int16 aExp; in float64_to_float32() local
2512 aExp = extractFloat64Exp( a ); in float64_to_float32()
2514 if ( aExp == 0x7FF ) { in float64_to_float32()
2520 if ( aExp || zSig ) { in float64_to_float32()
2522 aExp -= 0x381; in float64_to_float32()
2524 return roundAndPackFloat32( aSign, aExp, zSig ); in float64_to_float32()
2541 int16 aExp; in float64_to_floatx80() local
2545 aExp = extractFloat64Exp( a ); in float64_to_floatx80()
2547 if ( aExp == 0x7FF ) { in float64_to_floatx80()
2551 if ( aExp == 0 ) { in float64_to_floatx80()
2553 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_floatx80()
2557 aSign, aExp + 0x3C00, ( aSig | LIT64( 0x0010000000000000 ) )<<11 ); in float64_to_floatx80()
2576 int16 aExp; in float64_to_float128() local
2580 aExp = extractFloat64Exp( a ); in float64_to_float128()
2582 if ( aExp == 0x7FF ) { in float64_to_float128()
2586 if ( aExp == 0 ) { in float64_to_float128()
2588 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_float128()
2589 --aExp; in float64_to_float128()
2592 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 ); in float64_to_float128()
2610 int16 aExp; in float64_round_to_int() local
2615 aExp = extractFloat64Exp( a ); in float64_round_to_int()
2616 if ( 0x433 <= aExp ) { in float64_round_to_int()
2617 if ( ( aExp == 0x7FF ) && extractFloat64Frac( a ) ) { in float64_round_to_int()
2622 if ( aExp < 0x3FF ) { in float64_round_to_int()
2628 if ( ( aExp == 0x3FE ) && extractFloat64Frac( a ) ) { in float64_round_to_int()
2643 lastBitMask <<= 0x433 - aExp; in float64_round_to_int()
2674 int16 aExp, bExp, zExp; in addFloat64Sigs() local
2679 aExp = extractFloat64Exp( a ); in addFloat64Sigs()
2682 expDiff = aExp - bExp; in addFloat64Sigs()
2686 if ( aExp == 0x7FF ) { in addFloat64Sigs()
2697 zExp = aExp; in addFloat64Sigs()
2704 if ( aExp == 0 ) { in addFloat64Sigs()
2714 if ( aExp == 0x7FF ) { in addFloat64Sigs()
2718 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 ); in addFloat64Sigs()
2720 zExp = aExp; in addFloat64Sigs()
2746 int16 aExp, bExp, zExp; in subFloat64Sigs() local
2751 aExp = extractFloat64Exp( a ); in subFloat64Sigs()
2754 expDiff = aExp - bExp; in subFloat64Sigs()
2759 if ( aExp == 0x7FF ) { in subFloat64Sigs()
2764 if ( aExp == 0 ) { in subFloat64Sigs()
2765 aExp = 1; in subFloat64Sigs()
2776 if ( aExp == 0 ) { in subFloat64Sigs()
2790 if ( aExp == 0x7FF ) { in subFloat64Sigs()
2804 zExp = aExp; in subFloat64Sigs()
2865 int16 aExp, bExp, zExp; in float64_mul() local
2869 aExp = extractFloat64Exp( a ); in float64_mul()
2875 if ( aExp == 0x7FF ) { in float64_mul()
2887 if ( ( aExp | aSig ) == 0 ) { in float64_mul()
2893 if ( aExp == 0 ) { in float64_mul()
2895 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_mul()
2901 zExp = aExp + bExp - 0x3FF; in float64_mul()
2924 int16 aExp, bExp, zExp; in float64_div() local
2930 aExp = extractFloat64Exp( a ); in float64_div()
2936 if ( aExp == 0x7FF ) { in float64_div()
2951 if ( ( aExp | aSig ) == 0 ) { in float64_div()
2960 if ( aExp == 0 ) { in float64_div()
2962 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_div()
2964 zExp = aExp - bExp + 0x3FD; in float64_div()
2996 int16 aExp, bExp, expDiff; in float64_rem() local
3002 aExp = extractFloat64Exp( a ); in float64_rem()
3007 if ( aExp == 0x7FF ) { in float64_rem()
3025 if ( aExp == 0 ) { in float64_rem()
3027 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_rem()
3029 expDiff = aExp - bExp; in float64_rem()
3082 int16 aExp, zExp; in float64_sqrt() local
3087 aExp = extractFloat64Exp( a ); in float64_sqrt()
3089 if ( aExp == 0x7FF ) { in float64_sqrt()
3096 if ( ( aExp | aSig ) == 0 ) return a; in float64_sqrt()
3100 if ( aExp == 0 ) { in float64_sqrt()
3102 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_sqrt()
3104 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE; in float64_sqrt()
3106 zSig = estimateSqrt32( aExp, aSig>>21 ); in float64_sqrt()
3107 aSig <<= 9 - ( aExp & 1 ); in float64_sqrt()
3298 int32 aExp, shiftCount; in floatx80_to_int32() local
3302 aExp = extractFloatx80Exp( a ); in floatx80_to_int32()
3304 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32()
3305 shiftCount = 0x4037 - aExp; in floatx80_to_int32()
3326 int32 aExp, shiftCount; in floatx80_to_int32_round_to_zero() local
3331 aExp = extractFloatx80Exp( a ); in floatx80_to_int32_round_to_zero()
3333 if ( 0x401E < aExp ) { in floatx80_to_int32_round_to_zero()
3334 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32_round_to_zero()
3337 else if ( aExp < 0x3FFF ) { in floatx80_to_int32_round_to_zero()
3338 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in floatx80_to_int32_round_to_zero()
3341 shiftCount = 0x403E - aExp; in floatx80_to_int32_round_to_zero()
3372 int32 aExp, shiftCount; in floatx80_to_int64() local
3376 aExp = extractFloatx80Exp( a ); in floatx80_to_int64()
3378 shiftCount = 0x403E - aExp; in floatx80_to_int64()
3383 || ( ( aExp == 0x7FFF ) in floatx80_to_int64()
3413 int32 aExp, shiftCount; in floatx80_to_int64_round_to_zero() local
3418 aExp = extractFloatx80Exp( a ); in floatx80_to_int64_round_to_zero()
3420 shiftCount = aExp - 0x403E; in floatx80_to_int64_round_to_zero()
3425 if ( ! aSign || ( ( aExp == 0x7FFF ) && aSig ) ) { in floatx80_to_int64_round_to_zero()
3431 else if ( aExp < 0x3FFF ) { in floatx80_to_int64_round_to_zero()
3432 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in floatx80_to_int64_round_to_zero()
3455 int32 aExp; in floatx80_to_float32() local
3459 aExp = extractFloatx80Exp( a ); in floatx80_to_float32()
3461 if ( aExp == 0x7FFF ) { in floatx80_to_float32()
3468 if ( aExp || aSig ) aExp -= 0x3F81; in floatx80_to_float32()
3469 return roundAndPackFloat32( aSign, aExp, aSig ); in floatx80_to_float32()
3484 int32 aExp; in floatx80_to_float64() local
3488 aExp = extractFloatx80Exp( a ); in floatx80_to_float64()
3490 if ( aExp == 0x7FFF ) { in floatx80_to_float64()
3497 if ( aExp || aSig ) aExp -= 0x3C01; in floatx80_to_float64()
3498 return roundAndPackFloat64( aSign, aExp, zSig ); in floatx80_to_float64()
3515 int16 aExp; in floatx80_to_float128() local
3519 aExp = extractFloatx80Exp( a ); in floatx80_to_float128()
3521 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) { in floatx80_to_float128()
3525 return packFloat128( aSign, aExp, zSig0, zSig1 ); in floatx80_to_float128()
3542 int32 aExp; in floatx80_round_to_int() local
3547 aExp = extractFloatx80Exp( a ); in floatx80_round_to_int()
3548 if ( 0x403E <= aExp ) { in floatx80_round_to_int()
3549 if ( ( aExp == 0x7FFF ) && (bits64) ( extractFloatx80Frac( a )<<1 ) ) { in floatx80_round_to_int()
3554 if ( aExp < 0x3FFF ) { in floatx80_round_to_int()
3555 if ( ( aExp == 0 ) in floatx80_round_to_int()
3563 if ( ( aExp == 0x3FFE ) && (bits64) ( extractFloatx80Frac( a )<<1 ) in floatx80_round_to_int()
3584 lastBitMask <<= 0x403E - aExp; in floatx80_round_to_int()
3618 int32 aExp, bExp, zExp; in addFloatx80Sigs() local
3623 aExp = extractFloatx80Exp( a ); in addFloatx80Sigs()
3626 expDiff = aExp - bExp; in addFloatx80Sigs()
3628 if ( aExp == 0x7FFF ) { in addFloatx80Sigs()
3634 zExp = aExp; in addFloatx80Sigs()
3641 if ( aExp == 0 ) ++expDiff; in addFloatx80Sigs()
3646 if ( aExp == 0x7FFF ) { in addFloatx80Sigs()
3654 if ( aExp == 0 ) { in addFloatx80Sigs()
3658 zExp = aExp; in addFloatx80Sigs()
3685 int32 aExp, bExp, zExp; in subFloatx80Sigs() local
3691 aExp = extractFloatx80Exp( a ); in subFloatx80Sigs()
3694 expDiff = aExp - bExp; in subFloatx80Sigs()
3697 if ( aExp == 0x7FFF ) { in subFloatx80Sigs()
3706 if ( aExp == 0 ) { in subFloatx80Sigs()
3707 aExp = 1; in subFloatx80Sigs()
3719 if ( aExp == 0 ) ++expDiff; in subFloatx80Sigs()
3727 if ( aExp == 0x7FFF ) { in subFloatx80Sigs()
3735 zExp = aExp; in subFloatx80Sigs()
3797 int32 aExp, bExp, zExp; in floatx80_mul() local
3802 aExp = extractFloatx80Exp( a ); in floatx80_mul()
3808 if ( aExp == 0x7FFF ) { in floatx80_mul()
3818 if ( ( aExp | aSig ) == 0 ) { in floatx80_mul()
3827 if ( aExp == 0 ) { in floatx80_mul()
3829 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_mul()
3835 zExp = aExp + bExp - 0x3FFE; in floatx80_mul()
3857 int32 aExp, bExp, zExp; in floatx80_div() local
3863 aExp = extractFloatx80Exp( a ); in floatx80_div()
3869 if ( aExp == 0x7FFF ) { in floatx80_div()
3883 if ( ( aExp | aSig ) == 0 ) { in floatx80_div()
3895 if ( aExp == 0 ) { in floatx80_div()
3897 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_div()
3899 zExp = aExp - bExp + 0x3FFE; in floatx80_div()
3938 int32 aExp, bExp, expDiff; in floatx80_rem() local
3944 aExp = extractFloatx80Exp( a ); in floatx80_rem()
3949 if ( aExp == 0x7FFF ) { in floatx80_rem()
3970 if ( aExp == 0 ) { in floatx80_rem()
3972 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_rem()
3976 expDiff = aExp - bExp; in floatx80_rem()
4036 int32 aExp, zExp; in floatx80_sqrt() local
4042 aExp = extractFloatx80Exp( a ); in floatx80_sqrt()
4044 if ( aExp == 0x7FFF ) { in floatx80_sqrt()
4050 if ( ( aExp | aSig0 ) == 0 ) return a; in floatx80_sqrt()
4057 if ( aExp == 0 ) { in floatx80_sqrt()
4059 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_sqrt()
4061 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFF; in floatx80_sqrt()
4062 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
4063 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); in floatx80_sqrt()
4316 int32 aExp, shiftCount; in float128_to_int32() local
4321 aExp = extractFloat128Exp( a ); in float128_to_int32()
4323 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; in float128_to_int32()
4324 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32()
4326 shiftCount = 0x4028 - aExp; in float128_to_int32()
4346 int32 aExp, shiftCount; in float128_to_int32_round_to_zero() local
4352 aExp = extractFloat128Exp( a ); in float128_to_int32_round_to_zero()
4355 if ( 0x401E < aExp ) { in float128_to_int32_round_to_zero()
4356 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; in float128_to_int32_round_to_zero()
4359 else if ( aExp < 0x3FFF ) { in float128_to_int32_round_to_zero()
4360 if ( aExp || aSig0 ) float_exception_flags |= float_flag_inexact; in float128_to_int32_round_to_zero()
4364 shiftCount = 0x402F - aExp; in float128_to_int32_round_to_zero()
4395 int32 aExp, shiftCount; in float128_to_int64() local
4400 aExp = extractFloat128Exp( a ); in float128_to_int64()
4402 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64()
4403 shiftCount = 0x402F - aExp; in float128_to_int64()
4405 if ( 0x403E < aExp ) { in float128_to_int64()
4408 || ( ( aExp == 0x7FFF ) in float128_to_int64()
4439 int32 aExp, shiftCount; in float128_to_int64_round_to_zero() local
4445 aExp = extractFloat128Exp( a ); in float128_to_int64_round_to_zero()
4447 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64_round_to_zero()
4448 shiftCount = aExp - 0x402F; in float128_to_int64_round_to_zero()
4450 if ( 0x403E <= aExp ) { in float128_to_int64_round_to_zero()
4458 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { in float128_to_int64_round_to_zero()
4470 if ( aExp < 0x3FFF ) { in float128_to_int64_round_to_zero()
4471 if ( aExp | aSig0 | aSig1 ) { in float128_to_int64_round_to_zero()
4495 int32 aExp, shiftCount; in float128_to_uint64_round_to_zero() local
4501 aExp = extractFloat128Exp( a ); in float128_to_uint64_round_to_zero()
4503 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_uint64_round_to_zero()
4504 shiftCount = aExp - 0x402F; in float128_to_uint64_round_to_zero()
4506 if ( 0x403F <= aExp ) { in float128_to_uint64_round_to_zero()
4523 if ( aExp < 0x3FFF ) { in float128_to_uint64_round_to_zero()
4524 if ( aExp | aSig0 | aSig1 ) { in float128_to_uint64_round_to_zero()
4551 int32 aExp; in float128_to_float32() local
4557 aExp = extractFloat128Exp( a ); in float128_to_float32()
4559 if ( aExp == 0x7FFF ) { in float128_to_float32()
4568 if ( aExp || zSig ) { in float128_to_float32()
4570 aExp -= 0x3F81; in float128_to_float32()
4572 return roundAndPackFloat32( aSign, aExp, zSig ); in float128_to_float32()
4587 int32 aExp; in float128_to_float64() local
4592 aExp = extractFloat128Exp( a ); in float128_to_float64()
4594 if ( aExp == 0x7FFF ) { in float128_to_float64()
4602 if ( aExp || aSig0 ) { in float128_to_float64()
4604 aExp -= 0x3C01; in float128_to_float64()
4606 return roundAndPackFloat64( aSign, aExp, aSig0 ); in float128_to_float64()
4623 int32 aExp; in float128_to_floatx80() local
4628 aExp = extractFloat128Exp( a ); in float128_to_floatx80()
4630 if ( aExp == 0x7FFF ) { in float128_to_floatx80()
4636 if ( aExp == 0 ) { in float128_to_floatx80()
4638 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_to_floatx80()
4644 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 ); in float128_to_floatx80()
4661 int32 aExp; in float128_round_to_int() local
4666 aExp = extractFloat128Exp( a ); in float128_round_to_int()
4667 if ( 0x402F <= aExp ) { in float128_round_to_int()
4668 if ( 0x406F <= aExp ) { in float128_round_to_int()
4669 if ( ( aExp == 0x7FFF ) in float128_round_to_int()
4677 lastBitMask = ( lastBitMask<<( 0x406E - aExp ) )<<1; in float128_round_to_int()
4702 if ( aExp < 0x3FFF ) { in float128_round_to_int()
4708 if ( ( aExp == 0x3FFE ) in float128_round_to_int()
4729 lastBitMask <<= 0x402F - aExp; in float128_round_to_int()
4767 int32 aExp, bExp, zExp; in addFloat128Sigs() local
4773 aExp = extractFloat128Exp( a ); in addFloat128Sigs()
4777 expDiff = aExp - bExp; in addFloat128Sigs()
4779 if ( aExp == 0x7FFF ) { in addFloat128Sigs()
4791 zExp = aExp; in addFloat128Sigs()
4798 if ( aExp == 0 ) { in addFloat128Sigs()
4809 if ( aExp == 0x7FFF ) { in addFloat128Sigs()
4816 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 ); in addFloat128Sigs()
4819 zExp = aExp; in addFloat128Sigs()
4846 int32 aExp, bExp, zExp; in subFloat128Sigs() local
4853 aExp = extractFloat128Exp( a ); in subFloat128Sigs()
4857 expDiff = aExp - bExp; in subFloat128Sigs()
4862 if ( aExp == 0x7FFF ) { in subFloat128Sigs()
4871 if ( aExp == 0 ) { in subFloat128Sigs()
4872 aExp = 1; in subFloat128Sigs()
4885 if ( aExp == 0 ) { in subFloat128Sigs()
4899 if ( aExp == 0x7FFF ) { in subFloat128Sigs()
4913 zExp = aExp; in subFloat128Sigs()
4974 int32 aExp, bExp, zExp; in float128_mul() local
4980 aExp = extractFloat128Exp( a ); in float128_mul()
4987 if ( aExp == 0x7FFF ) { in float128_mul()
4997 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_mul()
5006 if ( aExp == 0 ) { in float128_mul()
5008 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_mul()
5014 zExp = aExp + bExp - 0x4000; in float128_mul()
5039 int32 aExp, bExp, zExp; in float128_div() local
5046 aExp = extractFloat128Exp( a ); in float128_div()
5053 if ( aExp == 0x7FFF ) { in float128_div()
5067 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_div()
5079 if ( aExp == 0 ) { in float128_div()
5081 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_div()
5083 zExp = aExp - bExp + 0x3FFD; in float128_div()
5124 int32 aExp, bExp, expDiff; in float128_rem() local
5132 aExp = extractFloat128Exp( a ); in float128_rem()
5138 if ( aExp == 0x7FFF ) { in float128_rem()
5159 if ( aExp == 0 ) { in float128_rem()
5161 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_rem()
5163 expDiff = aExp - bExp; in float128_rem()
5235 int32 aExp, zExp; in float128_sqrt() local
5242 aExp = extractFloat128Exp( a ); in float128_sqrt()
5244 if ( aExp == 0x7FFF ) { in float128_sqrt()
5250 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; in float128_sqrt()
5257 if ( aExp == 0 ) { in float128_sqrt()
5259 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_sqrt()
5261 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFE; in float128_sqrt()
5263 zSig0 = estimateSqrt32( aExp, aSig0>>17 ); in float128_sqrt()
5264 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); in float128_sqrt()
5523 int16 aExp, shiftCount; in float64_to_uint32_round_to_zero() local
5528 aExp = extractFloat64Exp( a ); in float64_to_uint32_round_to_zero()
5536 if ( 0x41E < aExp ) { in float64_to_uint32_round_to_zero()
5540 else if ( aExp < 0x3FF ) { in float64_to_uint32_round_to_zero()
5541 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in float64_to_uint32_round_to_zero()
5545 shiftCount = 0x433 - aExp; in float64_to_uint32_round_to_zero()
5569 int16 aExp, shiftCount; in float32_to_uint32_round_to_zero() local
5574 aExp = extractFloat32Exp( a ); in float32_to_uint32_round_to_zero()
5576 shiftCount = aExp - 0x9E; in float32_to_uint32_round_to_zero()
5586 else if ( aExp <= 0x7E ) { in float32_to_uint32_round_to_zero()
5587 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_uint32_round_to_zero()