Lines Matching refs:aSig0
898 bits64 aSig0, in normalizeFloat128Subnormal() argument
907 if ( aSig0 == 0 ) { in normalizeFloat128Subnormal()
920 shiftCount = countLeadingZeros64( aSig0 ) - 15; in normalizeFloat128Subnormal()
921 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr ); in normalizeFloat128Subnormal()
3838 bits64 aSig0, aSig1, bSig; in floatx80_rem() local
3842 aSig0 = extractFloatx80Frac( a ); in floatx80_rem()
3849 if ( (bits64) ( aSig0<<1 ) in floatx80_rem()
3870 if ( (bits64) ( aSig0<<1 ) == 0 ) return a; in floatx80_rem()
3871 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_rem()
3879 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 ); in floatx80_rem()
3882 q = ( bSig <= aSig0 ); in floatx80_rem()
3883 if ( q ) aSig0 -= bSig; in floatx80_rem()
3886 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
3889 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
3890 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 ); in floatx80_rem()
3895 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
3899 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
3901 while ( le128( term0, term1, aSig0, aSig1 ) ) { in floatx80_rem()
3903 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
3910 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 ); in floatx80_rem()
3911 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 ) in floatx80_rem()
3912 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 ) in floatx80_rem()
3915 aSig0 = alternateASig0; in floatx80_rem()
3921 80, zSign, bExp + expDiff, aSig0, aSig1 ); in floatx80_rem()
3935 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0; in floatx80_sqrt() local
3939 aSig0 = extractFloatx80Frac( a ); in floatx80_sqrt()
3943 if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a ); in floatx80_sqrt()
3948 if ( ( aExp | aSig0 ) == 0 ) return a; in floatx80_sqrt()
3956 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 ); in floatx80_sqrt()
3957 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_sqrt()
3960 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
3961 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); in floatx80_sqrt()
3962 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); in floatx80_sqrt()
3965 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); in floatx80_sqrt()
4208 bits64 aSig0, aSig1; in float128_to_int32() local
4211 aSig0 = extractFloat128Frac0( a ); in float128_to_int32()
4214 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; in float128_to_int32()
4215 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32()
4216 aSig0 |= ( aSig1 != 0 ); in float128_to_int32()
4218 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 ); in float128_to_int32()
4219 return roundAndPackInt32( aSign, aSig0 ); in float128_to_int32()
4237 bits64 aSig0, aSig1, savedASig; in float128_to_int32_round_to_zero() local
4241 aSig0 = extractFloat128Frac0( a ); in float128_to_int32_round_to_zero()
4244 aSig0 |= ( aSig1 != 0 ); in float128_to_int32_round_to_zero()
4246 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; in float128_to_int32_round_to_zero()
4250 if ( aExp || aSig0 ) float_set_inexact(); in float128_to_int32_round_to_zero()
4253 aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32_round_to_zero()
4255 savedASig = aSig0; in float128_to_int32_round_to_zero()
4256 aSig0 >>= shiftCount; in float128_to_int32_round_to_zero()
4257 z = aSig0; in float128_to_int32_round_to_zero()
4264 if ( ( aSig0<<shiftCount ) != savedASig ) { in float128_to_int32_round_to_zero()
4285 bits64 aSig0, aSig1; in float128_to_int64() local
4288 aSig0 = extractFloat128Frac0( a ); in float128_to_int64()
4291 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64()
4298 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) ) in float128_to_int64()
4305 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 ); in float128_to_int64()
4308 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 ); in float128_to_int64()
4310 return roundAndPackInt64( aSign, aSig0, aSig1 ); in float128_to_int64()
4328 bits64 aSig0, aSig1; in float128_to_int64_round_to_zero() local
4332 aSig0 = extractFloat128Frac0( a ); in float128_to_int64_round_to_zero()
4335 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64_round_to_zero()
4339 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF ); in float128_to_int64_round_to_zero()
4346 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { in float128_to_int64_round_to_zero()
4352 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) ); in float128_to_int64_round_to_zero()
4359 if ( aExp | aSig0 | aSig1 ) { in float128_to_int64_round_to_zero()
4364 z = aSig0>>( - shiftCount ); in float128_to_int64_round_to_zero()
4366 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) { in float128_to_int64_round_to_zero()
4386 bits64 aSig0, aSig1; in float128_to_float32() local
4390 aSig0 = extractFloat128Frac0( a ); in float128_to_float32()
4394 if ( aSig0 | aSig1 ) { in float128_to_float32()
4399 aSig0 |= ( aSig1 != 0 ); in float128_to_float32()
4400 shift64RightJamming( aSig0, 18, &aSig0 ); in float128_to_float32()
4401 zSig = aSig0; in float128_to_float32()
4421 bits64 aSig0, aSig1; in float128_to_float64() local
4424 aSig0 = extractFloat128Frac0( a ); in float128_to_float64()
4428 if ( aSig0 | aSig1 ) { in float128_to_float64()
4433 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); in float128_to_float64()
4434 aSig0 |= ( aSig1 != 0 ); in float128_to_float64()
4435 if ( aExp || aSig0 ) { in float128_to_float64()
4436 aSig0 |= LIT64( 0x4000000000000000 ); in float128_to_float64()
4439 return roundAndPackFloat64( aSign, aExp, aSig0 ); in float128_to_float64()
4456 bits64 aSig0, aSig1; in float128_to_floatx80() local
4459 aSig0 = extractFloat128Frac0( a ); in float128_to_floatx80()
4463 if ( aSig0 | aSig1 ) { in float128_to_floatx80()
4469 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 ); in float128_to_floatx80()
4470 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_to_floatx80()
4473 aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_floatx80()
4475 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 ); in float128_to_floatx80()
4476 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 ); in float128_to_floatx80()
4596 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in addFloat128Sigs() local
4600 aSig0 = extractFloat128Frac0( a ); in addFloat128Sigs()
4608 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); in addFloat128Sigs()
4630 aSig0 |= LIT64( 0x0001000000000000 ); in addFloat128Sigs()
4633 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 ); in addFloat128Sigs()
4638 if ( aSig0 | aSig1 | bSig0 | bSig1 ) { in addFloat128Sigs()
4643 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
4650 aSig0 |= LIT64( 0x0001000000000000 ); in addFloat128Sigs()
4651 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
4674 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1; in subFloat128Sigs() local
4679 aSig0 = extractFloat128Frac0( a ); in subFloat128Sigs()
4685 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); in subFloat128Sigs()
4690 if ( aSig0 | aSig1 | bSig0 | bSig1 ) { in subFloat128Sigs()
4702 if ( bSig0 < aSig0 ) goto aBigger; in subFloat128Sigs()
4703 if ( aSig0 < bSig0 ) goto bBigger; in subFloat128Sigs()
4716 aSig0 |= LIT64( 0x4000000000000000 ); in subFloat128Sigs()
4718 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); in subFloat128Sigs()
4721 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
4727 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); in subFloat128Sigs()
4737 aSig0 |= LIT64( 0x4000000000000000 ); in subFloat128Sigs()
4739 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
4799 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3; in float128_mul() local
4803 aSig0 = extractFloat128Frac0( a ); in float128_mul()
4812 if ( ( aSig0 | aSig1 ) in float128_mul()
4821 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_mul()
4831 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_mul()
4832 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_mul()
4839 aSig0 |= LIT64( 0x0001000000000000 ); in float128_mul()
4841 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 ); in float128_mul()
4842 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 ); in float128_mul()
4863 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in float128_div() local
4868 aSig0 = extractFloat128Frac0( a ); in float128_div()
4877 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); in float128_div()
4890 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_div()
4903 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_div()
4904 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_div()
4908 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 ); in float128_div()
4911 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) { in float128_div()
4912 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 ); in float128_div()
4915 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_div()
4917 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 ); in float128_div()
4947 bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2; in float128_rem() local
4953 aSig0 = extractFloat128Frac0( a ); in float128_rem()
4961 if ( ( aSig0 | aSig1 ) in float128_rem()
4982 if ( ( aSig0 | aSig1 ) == 0 ) return a; in float128_rem()
4983 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_rem()
4988 aSig0 | LIT64( 0x0001000000000000 ), in float128_rem()
4991 &aSig0, in float128_rem()
4996 q = le128( bSig0, bSig1, aSig0, aSig1 ); in float128_rem()
4997 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); in float128_rem()
5000 q = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_rem()
5004 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero ); in float128_rem()
5005 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 ); in float128_rem()
5009 q = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_rem()
5015 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); in float128_rem()
5018 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 ); in float128_rem()
5021 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 ); in float128_rem()
5024 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 ); in float128_rem()
5028 alternateASig0 = aSig0; in float128_rem()
5031 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); in float128_rem()
5032 } while ( 0 <= (sbits64) aSig0 ); in float128_rem()
5034 aSig0, aSig1, alternateASig0, alternateASig1, &sigMean0, &sigMean1 ); in float128_rem()
5037 aSig0 = alternateASig0; in float128_rem()
5040 zSign = ( (sbits64) aSig0 < 0 ); in float128_rem()
5041 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 ); in float128_rem()
5043 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 ); in float128_rem()
5057 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0; in float128_sqrt() local
5062 aSig0 = extractFloat128Frac0( a ); in float128_sqrt()
5066 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a ); in float128_sqrt()
5071 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; in float128_sqrt()
5079 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 ); in float128_sqrt()
5080 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_sqrt()
5083 aSig0 |= LIT64( 0x0001000000000000 ); in float128_sqrt()
5084 zSig0 = estimateSqrt32( aExp, aSig0>>17 ); in float128_sqrt()
5085 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); in float128_sqrt()
5086 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); in float128_sqrt()
5089 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); in float128_sqrt()