aSig0 919 lib/libkern/softfloat.c bits64 aSig0, aSig0 928 lib/libkern/softfloat.c if ( aSig0 == 0 ) { aSig0 941 lib/libkern/softfloat.c shiftCount = countLeadingZeros64( aSig0 ) - 15; aSig0 942 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr ); aSig0 3899 lib/libkern/softfloat.c bits64 aSig0, aSig1, bSig; aSig0 3903 lib/libkern/softfloat.c aSig0 = extractFloatx80Frac( a ); aSig0 3910 lib/libkern/softfloat.c if ( (bits64) ( aSig0<<1 ) aSig0 3931 lib/libkern/softfloat.c if ( (bits64) ( aSig0<<1 ) == 0 ) return a; aSig0 3932 lib/libkern/softfloat.c normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); aSig0 3940 lib/libkern/softfloat.c shift128Right( aSig0, 0, 1, &aSig0, &aSig1 ); aSig0 3943 lib/libkern/softfloat.c q = ( bSig <= aSig0 ); aSig0 3944 lib/libkern/softfloat.c if ( q ) aSig0 -= bSig; aSig0 3947 lib/libkern/softfloat.c q = estimateDiv128To64( aSig0, aSig1, bSig ); aSig0 3950 lib/libkern/softfloat.c sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); aSig0 3951 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 ); aSig0 3956 lib/libkern/softfloat.c q = estimateDiv128To64( aSig0, aSig1, bSig ); aSig0 3960 lib/libkern/softfloat.c sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); aSig0 3962 lib/libkern/softfloat.c while ( le128( term0, term1, aSig0, aSig1 ) ) { aSig0 3964 lib/libkern/softfloat.c sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); aSig0 3971 lib/libkern/softfloat.c sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 ); aSig0 3972 lib/libkern/softfloat.c if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 ) aSig0 3973 lib/libkern/softfloat.c || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 ) aSig0 3976 lib/libkern/softfloat.c aSig0 = alternateASig0; aSig0 3982 lib/libkern/softfloat.c 80, zSign, bExp + expDiff, aSig0, aSig1 ); aSig0 3997 lib/libkern/softfloat.c bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0; aSig0 4001 lib/libkern/softfloat.c aSig0 = extractFloatx80Frac( a ); aSig0 4005 lib/libkern/softfloat.c if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a ); aSig0 4010 lib/libkern/softfloat.c if ( ( aExp | aSig0 ) == 0 ) return a; aSig0 4018 lib/libkern/softfloat.c if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 ); aSig0 4019 lib/libkern/softfloat.c normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); aSig0 4022 lib/libkern/softfloat.c zSig0 = estimateSqrt32( aExp, aSig0>>32 ); aSig0 4023 lib/libkern/softfloat.c shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); aSig0 4024 lib/libkern/softfloat.c zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); aSig0 4027 lib/libkern/softfloat.c sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); aSig0 4277 lib/libkern/softfloat.c bits64 aSig0, aSig1; aSig0 4280 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4283 lib/libkern/softfloat.c if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; aSig0 4284 lib/libkern/softfloat.c if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4285 lib/libkern/softfloat.c aSig0 |= ( aSig1 != 0 ); aSig0 4287 lib/libkern/softfloat.c if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 ); aSig0 4288 lib/libkern/softfloat.c return roundAndPackInt32( aSign, aSig0 ); aSig0 4307 lib/libkern/softfloat.c bits64 aSig0, aSig1, savedASig; aSig0 4311 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4314 lib/libkern/softfloat.c aSig0 |= ( aSig1 != 0 ); aSig0 4316 lib/libkern/softfloat.c if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; aSig0 4320 lib/libkern/softfloat.c if ( aExp || aSig0 ) float_set_inexact(); aSig0 4323 lib/libkern/softfloat.c aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4325 lib/libkern/softfloat.c savedASig = aSig0; aSig0 4326 lib/libkern/softfloat.c aSig0 >>= shiftCount; aSig0 4327 lib/libkern/softfloat.c z = aSig0; aSig0 4334 lib/libkern/softfloat.c if ( ( aSig0<<shiftCount ) != savedASig ) { aSig0 4356 lib/libkern/softfloat.c bits64 aSig0, aSig1; aSig0 4359 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4362 lib/libkern/softfloat.c if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4369 lib/libkern/softfloat.c && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) ) aSig0 4376 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 ); aSig0 4379 lib/libkern/softfloat.c shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 ); aSig0 4381 lib/libkern/softfloat.c return roundAndPackInt64( aSign, aSig0, aSig1 ); aSig0 4400 lib/libkern/softfloat.c bits64 aSig0, aSig1; aSig0 4404 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4407 lib/libkern/softfloat.c if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4411 lib/libkern/softfloat.c aSig0 &= LIT64( 0x0000FFFFFFFFFFFF ); aSig0 4418 lib/libkern/softfloat.c if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { aSig0 4424 lib/libkern/softfloat.c z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) ); aSig0 4431 lib/libkern/softfloat.c if ( aExp | aSig0 | aSig1 ) { aSig0 4436 lib/libkern/softfloat.c z = aSig0>>( - shiftCount ); aSig0 4438 lib/libkern/softfloat.c || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) { aSig0 4459 lib/libkern/softfloat.c bits64 aSig0, aSig1; aSig0 4463 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4467 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) { aSig0 4472 lib/libkern/softfloat.c aSig0 |= ( aSig1 != 0 ); aSig0 4473 lib/libkern/softfloat.c shift64RightJamming( aSig0, 18, &aSig0 ); aSig0 4474 lib/libkern/softfloat.c zSig = aSig0; aSig0 4495 lib/libkern/softfloat.c bits64 aSig0, aSig1; aSig0 4498 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4502 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) { aSig0 4507 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); aSig0 4508 lib/libkern/softfloat.c aSig0 |= ( aSig1 != 0 ); aSig0 4509 lib/libkern/softfloat.c if ( aExp || aSig0 ) { aSig0 4510 lib/libkern/softfloat.c aSig0 |= LIT64( 0x4000000000000000 ); aSig0 4513 lib/libkern/softfloat.c return roundAndPackFloat64( aSign, aExp, aSig0 ); aSig0 4531 lib/libkern/softfloat.c bits64 aSig0, aSig1; aSig0 4534 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4538 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) { aSig0 4544 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 ); aSig0 4545 lib/libkern/softfloat.c normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); aSig0 4548 lib/libkern/softfloat.c aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4550 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 ); aSig0 4551 lib/libkern/softfloat.c return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 ); aSig0 4673 lib/libkern/softfloat.c bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; aSig0 4677 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4685 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); aSig0 4707 lib/libkern/softfloat.c aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4710 lib/libkern/softfloat.c aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 ); aSig0 4715 lib/libkern/softfloat.c if ( aSig0 | aSig1 | bSig0 | bSig1 ) { aSig0 4720 lib/libkern/softfloat.c add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); aSig0 4727 lib/libkern/softfloat.c aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4728 lib/libkern/softfloat.c add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); aSig0 4752 lib/libkern/softfloat.c bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1; aSig0 4757 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4763 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); aSig0 4768 lib/libkern/softfloat.c if ( aSig0 | aSig1 | bSig0 | bSig1 ) { aSig0 4780 lib/libkern/softfloat.c if ( bSig0 < aSig0 ) goto aBigger; aSig0 4781 lib/libkern/softfloat.c if ( aSig0 < bSig0 ) goto bBigger; aSig0 4794 lib/libkern/softfloat.c aSig0 |= LIT64( 0x4000000000000000 ); aSig0 4796 lib/libkern/softfloat.c shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); aSig0 4799 lib/libkern/softfloat.c sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 ); aSig0 4805 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); aSig0 4815 lib/libkern/softfloat.c aSig0 |= LIT64( 0x4000000000000000 ); aSig0 4817 lib/libkern/softfloat.c sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); aSig0 4880 lib/libkern/softfloat.c bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3; aSig0 4884 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4893 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) aSig0 4902 lib/libkern/softfloat.c if ( ( aExp | aSig0 | aSig1 ) == 0 ) { aSig0 4912 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); aSig0 4913 lib/libkern/softfloat.c normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); aSig0 4920 lib/libkern/softfloat.c aSig0 |= LIT64( 0x0001000000000000 ); aSig0 4922 lib/libkern/softfloat.c mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 ); aSig0 4923 lib/libkern/softfloat.c add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 ); aSig0 4945 lib/libkern/softfloat.c bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; aSig0 4950 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 4959 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); aSig0 4972 lib/libkern/softfloat.c if ( ( aExp | aSig0 | aSig1 ) == 0 ) { aSig0 4985 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); aSig0 4986 lib/libkern/softfloat.c normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); aSig0 4990 lib/libkern/softfloat.c aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 ); aSig0 4993 lib/libkern/softfloat.c if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) { aSig0 4994 lib/libkern/softfloat.c shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 ); aSig0 4997 lib/libkern/softfloat.c zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 ); aSig0 4999 lib/libkern/softfloat.c sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 ); aSig0 5030 lib/libkern/softfloat.c bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2; aSig0 5036 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 5044 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) aSig0 5065 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) == 0 ) return a; aSig0 5066 lib/libkern/softfloat.c normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); aSig0 5071 lib/libkern/softfloat.c aSig0 | LIT64( 0x0001000000000000 ), aSig0 5074 lib/libkern/softfloat.c &aSig0, aSig0 5079 lib/libkern/softfloat.c q = le128( bSig0, bSig1, aSig0, aSig1 ); aSig0 5080 lib/libkern/softfloat.c if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); aSig0 5083 lib/libkern/softfloat.c q = estimateDiv128To64( aSig0, aSig1, bSig0 ); aSig0 5087 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero ); aSig0 5088 lib/libkern/softfloat.c sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 ); aSig0 5092 lib/libkern/softfloat.c q = estimateDiv128To64( aSig0, aSig1, bSig0 ); aSig0 5098 lib/libkern/softfloat.c shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); aSig0 5101 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 ); aSig0 5104 lib/libkern/softfloat.c sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 ); aSig0 5107 lib/libkern/softfloat.c shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 ); aSig0 5111 lib/libkern/softfloat.c alternateASig0 = aSig0; aSig0 5114 lib/libkern/softfloat.c sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); aSig0 5115 lib/libkern/softfloat.c } while ( 0 <= (sbits64) aSig0 ); aSig0 5117 lib/libkern/softfloat.c aSig0, aSig1, alternateASig0, alternateASig1, &sigMean0, &sigMean1 ); aSig0 5120 lib/libkern/softfloat.c aSig0 = alternateASig0; aSig0 5123 lib/libkern/softfloat.c zSign = ( (sbits64) aSig0 < 0 ); aSig0 5124 lib/libkern/softfloat.c if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 ); aSig0 5126 lib/libkern/softfloat.c normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 ); aSig0 5141 lib/libkern/softfloat.c bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0; aSig0 5146 lib/libkern/softfloat.c aSig0 = extractFloat128Frac0( a ); aSig0 5150 lib/libkern/softfloat.c if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a ); aSig0 5155 lib/libkern/softfloat.c if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; aSig0 5163 lib/libkern/softfloat.c if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 ); aSig0 5164 lib/libkern/softfloat.c normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); aSig0 5167 lib/libkern/softfloat.c aSig0 |= LIT64( 0x0001000000000000 ); aSig0 5168 lib/libkern/softfloat.c zSig0 = estimateSqrt32( aExp, aSig0>>17 ); aSig0 5169 lib/libkern/softfloat.c shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); aSig0 5170 lib/libkern/softfloat.c zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); aSig0 5173 lib/libkern/softfloat.c sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );