Lines Matching refs:aSig
249 normalizeFloat32Subnormal( bits32 aSig, int16 *zExpPtr, bits32 *zSigPtr ) in normalizeFloat32Subnormal() argument
253 shiftCount = countLeadingZeros32( aSig ) - 8; in normalizeFloat32Subnormal()
254 *zSigPtr = aSig<<shiftCount; in normalizeFloat32Subnormal()
418 normalizeFloat64Subnormal( bits64 aSig, int16 *zExpPtr, bits64 *zSigPtr ) in normalizeFloat64Subnormal() argument
422 shiftCount = countLeadingZeros64( aSig ) - 11; in normalizeFloat64Subnormal()
423 *zSigPtr = aSig<<shiftCount; in normalizeFloat64Subnormal()
595 normalizeFloatx80Subnormal( bits64 aSig, int32 *zExpPtr, bits64 *zSigPtr ) in normalizeFloatx80Subnormal() argument
599 shiftCount = countLeadingZeros64( aSig ); in normalizeFloatx80Subnormal()
600 *zSigPtr = aSig<<shiftCount; in normalizeFloatx80Subnormal()
1386 bits32 aSig; in float32_to_int32() local
1389 aSig = extractFloat32Frac( 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()
1395 aSig64 = aSig; in float32_to_int32()
1418 bits32 aSig; in float32_to_int32_round_to_zero() local
1421 aSig = extractFloat32Frac( a ); in float32_to_int32_round_to_zero()
1428 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) return 0x7FFFFFFF; in float32_to_int32_round_to_zero()
1433 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_int32_round_to_zero()
1436 aSig = ( aSig | 0x00800000 )<<8; in float32_to_int32_round_to_zero()
1437 z = aSig>>( - shiftCount ); in float32_to_int32_round_to_zero()
1438 if ( (bits32) ( aSig<<( shiftCount & 31 ) ) ) { in float32_to_int32_round_to_zero()
1462 bits32 aSig; in float32_to_int64() local
1465 aSig = extractFloat32Frac( a ); in float32_to_int64()
1471 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64()
1476 if ( aExp ) aSig |= 0x00800000; in float32_to_int64()
1477 aSig64 = aSig; in float32_to_int64()
1499 bits32 aSig; in float32_to_int64_round_to_zero() local
1503 aSig = extractFloat32Frac( a ); in float32_to_int64_round_to_zero()
1510 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) { in float32_to_int64_round_to_zero()
1517 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_int64_round_to_zero()
1520 aSig64 = aSig | 0x00800000; in float32_to_int64_round_to_zero()
1544 bits32 aSig; in float32_to_float64() local
1546 aSig = extractFloat32Frac( a ); in float32_to_float64()
1550 if ( aSig ) return commonNaNToFloat64( float32ToCommonNaN( a ) ); in float32_to_float64()
1554 if ( aSig == 0 ) return packFloat64( aSign, 0, 0 ); in float32_to_float64()
1555 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float64()
1558 return packFloat64( aSign, aExp + 0x380, ( (bits64) aSig )<<29 ); in float32_to_float64()
1576 bits32 aSig; in float32_to_floatx80() local
1578 aSig = extractFloat32Frac( a ); in float32_to_floatx80()
1582 if ( aSig ) return commonNaNToFloatx80( float32ToCommonNaN( a ) ); in float32_to_floatx80()
1586 if ( aSig == 0 ) return packFloatx80( aSign, 0, 0 ); in float32_to_floatx80()
1587 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_floatx80()
1589 aSig |= 0x00800000; in float32_to_floatx80()
1590 return packFloatx80( aSign, aExp + 0x3F80, ( (bits64) aSig )<<40 ); in float32_to_floatx80()
1610 bits32 aSig; in float32_to_float128() local
1612 aSig = extractFloat32Frac( a ); in float32_to_float128()
1616 if ( aSig ) return commonNaNToFloat128( float32ToCommonNaN( a ) ); in float32_to_float128()
1620 if ( aSig == 0 ) return packFloat128( aSign, 0, 0, 0 ); in float32_to_float128()
1621 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_to_float128()
1624 return packFloat128( aSign, aExp + 0x3F80, ( (bits64) aSig )<<25, 0 ); in float32_to_float128()
1706 bits32 aSig, bSig, zSig; in addFloat32Sigs() local
1709 aSig = extractFloat32Frac( a ); in addFloat32Sigs()
1714 aSig <<= 6; in addFloat32Sigs()
1718 if ( aSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1739 aSig |= 0x20000000; in addFloat32Sigs()
1741 shift32RightJamming( aSig, - expDiff, &aSig ); in addFloat32Sigs()
1746 if ( aSig | bSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1749 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 ); in addFloat32Sigs()
1750 zSig = 0x40000000 + aSig + bSig; in addFloat32Sigs()
1754 aSig |= 0x20000000; in addFloat32Sigs()
1755 zSig = ( aSig + bSig )<<1; in addFloat32Sigs()
1758 zSig = aSig + bSig; in addFloat32Sigs()
1778 bits32 aSig, bSig, zSig; in subFloat32Sigs() local
1781 aSig = extractFloat32Frac( a ); in subFloat32Sigs()
1786 aSig <<= 7; in subFloat32Sigs()
1791 if ( aSig | bSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1799 if ( bSig < aSig ) goto aBigger; in subFloat32Sigs()
1800 if ( aSig < bSig ) goto bBigger; in subFloat32Sigs()
1811 aSig |= 0x40000000; in subFloat32Sigs()
1813 shift32RightJamming( aSig, - expDiff, &aSig ); in subFloat32Sigs()
1816 zSig = bSig - aSig; in subFloat32Sigs()
1822 if ( aSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1832 aSig |= 0x40000000; in subFloat32Sigs()
1834 zSig = aSig - bSig; in subFloat32Sigs()
1897 bits32 aSig, bSig; in float32_mul() local
1901 aSig = extractFloat32Frac( a ); in float32_mul()
1909 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) { in float32_mul()
1920 if ( ( aExp | aSig ) == 0 ) { in float32_mul()
1927 if ( aSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_mul()
1928 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_mul()
1935 aSig = ( aSig | 0x00800000 )<<7; in float32_mul()
1937 shift64RightJamming( ( (bits64) aSig ) * bSig, 32, &zSig64 ); in float32_mul()
1958 bits32 aSig, bSig, zSig; in float32_div() local
1960 aSig = extractFloat32Frac( a ); in float32_div()
1968 if ( aSig ) return propagateFloat32NaN( a, b ); in float32_div()
1982 if ( ( aExp | aSig ) == 0 ) { in float32_div()
1992 if ( aSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_div()
1993 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_div()
1996 aSig = ( aSig | 0x00800000 )<<7; in float32_div()
1998 if ( bSig <= ( aSig + aSig ) ) { in float32_div()
1999 aSig >>= 1; in float32_div()
2002 zSig = ( ( (bits64) aSig )<<32 ) / bSig; in float32_div()
2004 zSig |= ( (bits64) bSig * zSig != ( (bits64) aSig )<<32 ); in float32_div()
2022 bits32 aSig, bSig; in float32_rem() local
2028 aSig = extractFloat32Frac( a ); in float32_rem()
2035 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) { in float32_rem()
2053 if ( aSig == 0 ) return a; in float32_rem()
2054 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_rem()
2057 aSig |= 0x00800000; in float32_rem()
2060 aSig <<= 8; in float32_rem()
2064 aSig >>= 1; in float32_rem()
2066 q = ( bSig <= aSig ); in float32_rem()
2067 if ( q ) aSig -= bSig; in float32_rem()
2069 q = ( ( (bits64) aSig )<<32 ) / bSig; in float32_rem()
2072 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q; in float32_rem()
2075 aSig >>= 2; in float32_rem()
2080 if ( bSig <= aSig ) aSig -= bSig; in float32_rem()
2081 aSig64 = ( (bits64) aSig )<<40; in float32_rem()
2095 aSig = ( ( aSig64>>33 )<<( expDiff - 1 ) ) - bSig * q; in float32_rem()
2098 alternateASig = aSig; in float32_rem()
2100 aSig -= bSig; in float32_rem()
2101 } while ( 0 <= (sbits32) aSig ); in float32_rem()
2102 sigMean = aSig + alternateASig; in float32_rem()
2104 aSig = alternateASig; in float32_rem()
2106 zSign = ( (sbits32) aSig < 0 ); in float32_rem()
2107 if ( zSign ) aSig = - aSig; in float32_rem()
2108 return normalizeRoundAndPackFloat32( aSign ^ zSign, bExp, aSig ); in float32_rem()
2125 bits32 aSig, zSig; in float32_sqrt() local
2128 aSig = extractFloat32Frac( a ); in float32_sqrt()
2132 if ( aSig ) return propagateFloat32NaN( a, 0 ); in float32_sqrt()
2138 if ( ( aExp | aSig ) == 0 ) return a; in float32_sqrt()
2143 if ( aSig == 0 ) return 0; in float32_sqrt()
2144 normalizeFloat32Subnormal( aSig, &aExp, &aSig ); in float32_sqrt()
2147 aSig = ( aSig | 0x00800000 )<<8; in float32_sqrt()
2148 zSig = estimateSqrt32( aExp, aSig ) + 2; in float32_sqrt()
2154 aSig >>= aExp & 1; in float32_sqrt()
2156 rem = ( ( (bits64) aSig )<<32 ) - term; in float32_sqrt()
2334 bits64 aSig; in float64_to_int32() local
2336 aSig = extractFloat64Frac( 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()
2342 if ( 0 < shiftCount ) shift64RightJamming( aSig, shiftCount, &aSig ); in float64_to_int32()
2343 return roundAndPackInt32( aSign, aSig ); in float64_to_int32()
2363 bits64 aSig, savedASig; in float64_to_int32_round_to_zero() local
2366 aSig = extractFloat64Frac( a ); in float64_to_int32_round_to_zero()
2370 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0; in float64_to_int32_round_to_zero()
2374 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in float64_to_int32_round_to_zero()
2377 aSig |= LIT64( 0x0010000000000000 ); in float64_to_int32_round_to_zero()
2379 savedASig = aSig; in float64_to_int32_round_to_zero()
2380 aSig >>= shiftCount; in float64_to_int32_round_to_zero()
2381 z = aSig; in float64_to_int32_round_to_zero()
2388 if ( ( aSig<<shiftCount ) != savedASig ) { in float64_to_int32_round_to_zero()
2411 bits64 aSig, aSigExtra; in float64_to_int64() local
2413 aSig = extractFloat64Frac( a ); in float64_to_int64()
2416 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64()
2423 && ( aSig != LIT64( 0x0010000000000000 ) ) ) in float64_to_int64()
2430 aSig <<= - shiftCount; in float64_to_int64()
2433 shift64ExtraRightJamming( aSig, 0, shiftCount, &aSig, &aSigExtra ); in float64_to_int64()
2435 return roundAndPackInt64( aSign, aSig, aSigExtra ); in float64_to_int64()
2454 bits64 aSig; in float64_to_int64_round_to_zero() local
2457 aSig = extractFloat64Frac( a ); in float64_to_int64_round_to_zero()
2460 if ( aExp ) aSig |= LIT64( 0x0010000000000000 ); in float64_to_int64_round_to_zero()
2468 && ( aSig != LIT64( 0x0010000000000000 ) ) ) in float64_to_int64_round_to_zero()
2475 z = aSig<<shiftCount; in float64_to_int64_round_to_zero()
2479 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float64_to_int64_round_to_zero()
2482 z = aSig>>( - shiftCount ); in float64_to_int64_round_to_zero()
2483 if ( (bits64) ( aSig<<( shiftCount & 63 ) ) ) { in float64_to_int64_round_to_zero()
2505 bits64 aSig; in float64_to_float32() local
2508 aSig = extractFloat64Frac( a ); in float64_to_float32()
2512 if ( aSig ) return commonNaNToFloat32( float64ToCommonNaN( a ) ); in float64_to_float32()
2515 shift64RightJamming( aSig, 22, &aSig ); in float64_to_float32()
2516 zSig = aSig; in float64_to_float32()
2539 bits64 aSig; in float64_to_floatx80() local
2541 aSig = extractFloat64Frac( a ); in float64_to_floatx80()
2545 if ( aSig ) return commonNaNToFloatx80( float64ToCommonNaN( a ) ); in float64_to_floatx80()
2549 if ( aSig == 0 ) return packFloatx80( aSign, 0, 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()
2574 bits64 aSig, zSig0, zSig1; in float64_to_float128() local
2576 aSig = extractFloat64Frac( a ); in float64_to_float128()
2580 if ( aSig ) return commonNaNToFloat128( float64ToCommonNaN( a ) ); in float64_to_float128()
2584 if ( aSig == 0 ) return packFloat128( aSign, 0, 0, 0 ); in float64_to_float128()
2585 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_to_float128()
2588 shift128Right( aSig, 0, 4, &zSig0, &zSig1 ); in float64_to_float128()
2672 bits64 aSig, bSig, zSig; in addFloat64Sigs() local
2675 aSig = extractFloat64Frac( a ); in addFloat64Sigs()
2680 aSig <<= 9; in addFloat64Sigs()
2684 if ( aSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
2705 aSig |= LIT64( 0x2000000000000000 ); in addFloat64Sigs()
2707 shift64RightJamming( aSig, - expDiff, &aSig ); in addFloat64Sigs()
2712 if ( aSig | bSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
2715 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 ); in addFloat64Sigs()
2716 zSig = LIT64( 0x4000000000000000 ) + aSig + bSig; in addFloat64Sigs()
2720 aSig |= LIT64( 0x2000000000000000 ); in addFloat64Sigs()
2721 zSig = ( aSig + bSig )<<1; in addFloat64Sigs()
2724 zSig = aSig + bSig; in addFloat64Sigs()
2744 bits64 aSig, bSig, zSig; in subFloat64Sigs() local
2747 aSig = extractFloat64Frac( a ); in subFloat64Sigs()
2752 aSig <<= 10; in subFloat64Sigs()
2757 if ( aSig | bSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2765 if ( bSig < aSig ) goto aBigger; in subFloat64Sigs()
2766 if ( aSig < bSig ) goto bBigger; in subFloat64Sigs()
2777 aSig |= LIT64( 0x4000000000000000 ); in subFloat64Sigs()
2779 shift64RightJamming( aSig, - expDiff, &aSig ); in subFloat64Sigs()
2782 zSig = bSig - aSig; in subFloat64Sigs()
2788 if ( aSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2798 aSig |= LIT64( 0x4000000000000000 ); in subFloat64Sigs()
2800 zSig = aSig - bSig; in subFloat64Sigs()
2863 bits64 aSig, bSig, zSig0, zSig1; in float64_mul() local
2865 aSig = extractFloat64Frac( a ); in float64_mul()
2873 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) { in float64_mul()
2884 if ( ( aExp | aSig ) == 0 ) { in float64_mul()
2891 if ( aSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_mul()
2892 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_mul()
2899 aSig = ( aSig | LIT64( 0x0010000000000000 ) )<<10; in float64_mul()
2901 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in float64_mul()
2922 bits64 aSig, bSig, zSig; in float64_div() local
2926 aSig = extractFloat64Frac( a ); in float64_div()
2934 if ( aSig ) return propagateFloat64NaN( a, b ); in float64_div()
2948 if ( ( aExp | aSig ) == 0 ) { in float64_div()
2958 if ( aSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_div()
2959 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_div()
2962 aSig = ( aSig | LIT64( 0x0010000000000000 ) )<<10; in float64_div()
2964 if ( bSig <= ( aSig + aSig ) ) { in float64_div()
2965 aSig >>= 1; in float64_div()
2968 zSig = estimateDiv128To64( aSig, 0, bSig ); in float64_div()
2971 sub128( aSig, 0, term0, term1, &rem0, &rem1 ); in float64_div()
2994 bits64 aSig, bSig; in float64_rem() local
2998 aSig = extractFloat64Frac( a ); in float64_rem()
3005 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) { in float64_rem()
3023 if ( aSig == 0 ) return a; in float64_rem()
3024 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_rem()
3027 aSig = ( aSig | LIT64( 0x0010000000000000 ) )<<11; in float64_rem()
3031 aSig >>= 1; in float64_rem()
3033 q = ( bSig <= aSig ); in float64_rem()
3034 if ( q ) aSig -= bSig; in float64_rem()
3037 q = estimateDiv128To64( aSig, 0, bSig ); in float64_rem()
3039 aSig = - ( ( bSig>>2 ) * q ); in float64_rem()
3044 q = estimateDiv128To64( aSig, 0, bSig ); in float64_rem()
3048 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q; in float64_rem()
3051 aSig >>= 2; in float64_rem()
3055 alternateASig = aSig; in float64_rem()
3057 aSig -= bSig; in float64_rem()
3058 } while ( 0 <= (sbits64) aSig ); in float64_rem()
3059 sigMean = aSig + alternateASig; in float64_rem()
3061 aSig = alternateASig; in float64_rem()
3063 zSign = ( (sbits64) aSig < 0 ); in float64_rem()
3064 if ( zSign ) aSig = - aSig; in float64_rem()
3065 return normalizeRoundAndPackFloat64( aSign ^ zSign, bExp, aSig ); in float64_rem()
3080 bits64 aSig, zSig, doubleZSig; in float64_sqrt() local
3083 aSig = extractFloat64Frac( a ); in float64_sqrt()
3087 if ( aSig ) return propagateFloat64NaN( a, a ); in float64_sqrt()
3093 if ( ( aExp | aSig ) == 0 ) return a; in float64_sqrt()
3098 if ( aSig == 0 ) return 0; in float64_sqrt()
3099 normalizeFloat64Subnormal( aSig, &aExp, &aSig ); in float64_sqrt()
3102 aSig |= LIT64( 0x0010000000000000 ); in float64_sqrt()
3103 zSig = estimateSqrt32( aExp, aSig>>21 ); in float64_sqrt()
3104 aSig <<= 9 - ( aExp & 1 ); in float64_sqrt()
3105 zSig = estimateDiv128To64( aSig, 0, zSig<<32 ) + ( zSig<<30 ); in float64_sqrt()
3109 sub128( aSig, 0, term0, term1, &rem0, &rem1 ); in float64_sqrt()
3296 bits64 aSig; in floatx80_to_int32() local
3298 aSig = extractFloatx80Frac( a ); in floatx80_to_int32()
3301 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32()
3304 shift64RightJamming( aSig, shiftCount, &aSig ); in floatx80_to_int32()
3305 return roundAndPackInt32( aSign, aSig ); in floatx80_to_int32()
3324 bits64 aSig, savedASig; in floatx80_to_int32_round_to_zero() local
3327 aSig = extractFloatx80Frac( a ); in floatx80_to_int32_round_to_zero()
3331 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0; in floatx80_to_int32_round_to_zero()
3335 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in floatx80_to_int32_round_to_zero()
3339 savedASig = aSig; in floatx80_to_int32_round_to_zero()
3340 aSig >>= shiftCount; in floatx80_to_int32_round_to_zero()
3341 z = aSig; in floatx80_to_int32_round_to_zero()
3348 if ( ( aSig<<shiftCount ) != savedASig ) { in floatx80_to_int32_round_to_zero()
3370 bits64 aSig, aSigExtra; in floatx80_to_int64() local
3372 aSig = extractFloatx80Frac( a ); in floatx80_to_int64()
3381 && ( aSig != LIT64( 0x8000000000000000 ) ) ) in floatx80_to_int64()
3390 shift64ExtraRightJamming( aSig, 0, shiftCount, &aSig, &aSigExtra ); in floatx80_to_int64()
3392 return roundAndPackInt64( aSign, aSig, aSigExtra ); in floatx80_to_int64()
3411 bits64 aSig; in floatx80_to_int64_round_to_zero() local
3414 aSig = extractFloatx80Frac( a ); in floatx80_to_int64_round_to_zero()
3419 aSig &= LIT64( 0x7FFFFFFFFFFFFFFF ); in floatx80_to_int64_round_to_zero()
3420 if ( ( a.high != 0xC03E ) || aSig ) { in floatx80_to_int64_round_to_zero()
3422 if ( ! aSign || ( ( aExp == 0x7FFF ) && aSig ) ) { in floatx80_to_int64_round_to_zero()
3429 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in floatx80_to_int64_round_to_zero()
3432 z = aSig>>( - shiftCount ); in floatx80_to_int64_round_to_zero()
3433 if ( (bits64) ( aSig<<( shiftCount & 63 ) ) ) { in floatx80_to_int64_round_to_zero()
3453 bits64 aSig; in floatx80_to_float32() local
3455 aSig = extractFloatx80Frac( a ); in floatx80_to_float32()
3459 if ( (bits64) ( aSig<<1 ) ) { in floatx80_to_float32()
3464 shift64RightJamming( aSig, 33, &aSig ); in floatx80_to_float32()
3465 if ( aExp || aSig ) aExp -= 0x3F81; in floatx80_to_float32()
3466 return roundAndPackFloat32( aSign, aExp, aSig ); in floatx80_to_float32()
3482 bits64 aSig, zSig; in floatx80_to_float64() local
3484 aSig = extractFloatx80Frac( a ); in floatx80_to_float64()
3488 if ( (bits64) ( aSig<<1 ) ) { in floatx80_to_float64()
3493 shift64RightJamming( aSig, 1, &zSig ); in floatx80_to_float64()
3494 if ( aExp || aSig ) aExp -= 0x3C01; in floatx80_to_float64()
3513 bits64 aSig, zSig0, zSig1; in floatx80_to_float128() local
3515 aSig = extractFloatx80Frac( a ); in floatx80_to_float128()
3518 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) { in floatx80_to_float128()
3521 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 ); in floatx80_to_float128()
3616 bits64 aSig, bSig, zSig0, zSig1; in addFloatx80Sigs() local
3619 aSig = extractFloatx80Frac( a ); in addFloatx80Sigs()
3626 if ( (bits64) ( aSig<<1 ) ) return propagateFloatx80NaN( a, b ); in addFloatx80Sigs()
3639 shift64ExtraRightJamming( aSig, 0, - expDiff, &aSig, &zSig1 ); in addFloatx80Sigs()
3644 if ( (bits64) ( ( aSig | bSig )<<1 ) ) { in addFloatx80Sigs()
3650 zSig0 = aSig + bSig; in addFloatx80Sigs()
3658 zSig0 = aSig + bSig; in addFloatx80Sigs()
3683 bits64 aSig, bSig, zSig0, zSig1; in subFloatx80Sigs() local
3687 aSig = extractFloatx80Frac( a ); in subFloatx80Sigs()
3695 if ( (bits64) ( ( aSig | bSig )<<1 ) ) { in subFloatx80Sigs()
3708 if ( bSig < aSig ) goto aBigger; in subFloatx80Sigs()
3709 if ( aSig < bSig ) goto bBigger; in subFloatx80Sigs()
3717 shift128RightJamming( aSig, 0, - expDiff, &aSig, &zSig1 ); in subFloatx80Sigs()
3719 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
3725 if ( (bits64) ( aSig<<1 ) ) return propagateFloatx80NaN( a, b ); in subFloatx80Sigs()
3731 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
3795 bits64 aSig, bSig, zSig0, zSig1; in floatx80_mul() local
3798 aSig = extractFloatx80Frac( a ); in floatx80_mul()
3806 if ( (bits64) ( aSig<<1 ) in floatx80_mul()
3815 if ( ( aExp | aSig ) == 0 ) { in floatx80_mul()
3825 if ( aSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_mul()
3826 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_mul()
3833 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in floatx80_mul()
3855 bits64 aSig, bSig, zSig0, zSig1; in floatx80_div() local
3859 aSig = extractFloatx80Frac( a ); in floatx80_div()
3867 if ( (bits64) ( aSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_div()
3880 if ( ( aExp | aSig ) == 0 ) { in floatx80_div()
3893 if ( aSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_div()
3894 normalizeFloatx80Subnormal( aSig, &aExp, &aSig ); in floatx80_div()
3898 if ( bSig <= aSig ) { in floatx80_div()
3899 shift128Right( aSig, 0, 1, &aSig, &rem1 ); in floatx80_div()
3902 zSig0 = estimateDiv128To64( aSig, rem1, bSig ); in floatx80_div()
3904 sub128( aSig, rem1, term0, term1, &rem0, &rem1 ); in floatx80_div()
5521 bits64 aSig, savedASig; in float64_to_uint32_round_to_zero() local
5524 aSig = extractFloat64Frac( a ); in float64_to_uint32_round_to_zero()
5538 if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; in float64_to_uint32_round_to_zero()
5541 aSig |= LIT64( 0x0010000000000000 ); in float64_to_uint32_round_to_zero()
5543 savedASig = aSig; in float64_to_uint32_round_to_zero()
5544 aSig >>= shiftCount; in float64_to_uint32_round_to_zero()
5545 z = aSig; in float64_to_uint32_round_to_zero()
5546 if ( ( aSig<<shiftCount ) != savedASig ) { in float64_to_uint32_round_to_zero()
5567 bits32 aSig; in float32_to_uint32_round_to_zero() local
5570 aSig = extractFloat32Frac( a ); in float32_to_uint32_round_to_zero()
5584 if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; in float32_to_uint32_round_to_zero()
5587 aSig = ( aSig | 0x800000 )<<8; in float32_to_uint32_round_to_zero()
5588 z = aSig>>( - shiftCount ); in float32_to_uint32_round_to_zero()
5589 if ( aSig<<( shiftCount & 31 ) ) { in float32_to_uint32_round_to_zero()