Lines Matching refs:aSig0
914 bits64 aSig0, in normalizeFloat128Subnormal() argument
923 if ( aSig0 == 0 ) { in normalizeFloat128Subnormal()
936 shiftCount = countLeadingZeros64( aSig0 ) - 15; in normalizeFloat128Subnormal()
937 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr ); in normalizeFloat128Subnormal()
3943 bits64 aSig0, aSig1, bSig; in floatx80_rem() local
3947 aSig0 = extractFloatx80Frac( a ); in floatx80_rem()
3954 if ( (bits64) ( aSig0<<1 ) in floatx80_rem()
3975 if ( (bits64) ( aSig0<<1 ) == 0 ) return a; in floatx80_rem()
3976 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_rem()
3984 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 ); in floatx80_rem()
3987 q = ( bSig <= aSig0 ); in floatx80_rem()
3988 if ( q ) aSig0 -= bSig; in floatx80_rem()
3991 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
3994 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
3995 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 ); in floatx80_rem()
4000 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
4004 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
4006 while ( le128( term0, term1, aSig0, aSig1 ) ) { in floatx80_rem()
4008 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 ); in floatx80_rem()
4015 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 ); in floatx80_rem()
4016 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 ) in floatx80_rem()
4017 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 ) in floatx80_rem()
4020 aSig0 = alternateASig0; in floatx80_rem()
4026 80, zSign, bExp + expDiff, aSig0, aSig1 ); in floatx80_rem()
4041 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0; in floatx80_sqrt() local
4045 aSig0 = extractFloatx80Frac( a ); in floatx80_sqrt()
4049 if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a ); in floatx80_sqrt()
4054 if ( ( aExp | aSig0 ) == 0 ) return a; in floatx80_sqrt()
4062 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 ); in floatx80_sqrt()
4063 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 ); in floatx80_sqrt()
4066 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
4067 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 ); in floatx80_sqrt()
4068 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); in floatx80_sqrt()
4071 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); in floatx80_sqrt()
4321 bits64 aSig0, aSig1; in float128_to_int32() local
4324 aSig0 = extractFloat128Frac0( a ); in float128_to_int32()
4327 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0; in float128_to_int32()
4328 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32()
4329 aSig0 |= ( aSig1 != 0 ); in float128_to_int32()
4331 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 ); in float128_to_int32()
4332 return roundAndPackInt32( aSign, aSig0 ); in float128_to_int32()
4351 bits64 aSig0, aSig1, savedASig; in float128_to_int32_round_to_zero() local
4355 aSig0 = extractFloat128Frac0( a ); in float128_to_int32_round_to_zero()
4358 aSig0 |= ( aSig1 != 0 ); in float128_to_int32_round_to_zero()
4360 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0; in float128_to_int32_round_to_zero()
4364 if ( aExp || aSig0 ) set_float_exception_inexact_flag(); in float128_to_int32_round_to_zero()
4367 aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int32_round_to_zero()
4369 savedASig = aSig0; in float128_to_int32_round_to_zero()
4370 aSig0 >>= shiftCount; in float128_to_int32_round_to_zero()
4371 z = (int32)aSig0; in float128_to_int32_round_to_zero()
4378 if ( ( aSig0<<shiftCount ) != savedASig ) { in float128_to_int32_round_to_zero()
4400 bits64 aSig0, aSig1; in float128_to_int64() local
4403 aSig0 = extractFloat128Frac0( a ); in float128_to_int64()
4406 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64()
4413 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) ) in float128_to_int64()
4420 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 ); in float128_to_int64()
4423 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 ); in float128_to_int64()
4425 return roundAndPackInt64( aSign, aSig0, aSig1 ); in float128_to_int64()
4444 bits64 aSig0, aSig1; in float128_to_int64_round_to_zero() local
4448 aSig0 = extractFloat128Frac0( a ); in float128_to_int64_round_to_zero()
4451 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_int64_round_to_zero()
4455 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF ); in float128_to_int64_round_to_zero()
4462 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) { in float128_to_int64_round_to_zero()
4468 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) ); in float128_to_int64_round_to_zero()
4475 if ( aExp | aSig0 | aSig1 ) { in float128_to_int64_round_to_zero()
4480 z = aSig0>>( - shiftCount ); in float128_to_int64_round_to_zero()
4482 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) { in float128_to_int64_round_to_zero()
4500 bits64 aSig0, aSig1; in float128_to_uint64_round_to_zero() local
4504 aSig0 = extractFloat128Frac0( a ); in float128_to_uint64_round_to_zero()
4507 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_uint64_round_to_zero()
4511 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF ); in float128_to_uint64_round_to_zero()
4521 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) ); in float128_to_uint64_round_to_zero()
4528 if ( aExp | aSig0 | aSig1 ) { in float128_to_uint64_round_to_zero()
4533 z = aSig0>>( - shiftCount ); in float128_to_uint64_round_to_zero()
4534 if (aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) { in float128_to_uint64_round_to_zero()
4556 bits64 aSig0, aSig1; in float128_to_float32() local
4560 aSig0 = extractFloat128Frac0( a ); in float128_to_float32()
4564 if ( aSig0 | aSig1 ) { in float128_to_float32()
4569 aSig0 |= ( aSig1 != 0 ); in float128_to_float32()
4570 shift64RightJamming( aSig0, 18, &aSig0 ); in float128_to_float32()
4571 zSig = (bits32)aSig0; in float128_to_float32()
4592 bits64 aSig0, aSig1; in float128_to_float64() local
4595 aSig0 = extractFloat128Frac0( a ); in float128_to_float64()
4599 if ( aSig0 | aSig1 ) { in float128_to_float64()
4604 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); in float128_to_float64()
4605 aSig0 |= ( aSig1 != 0 ); in float128_to_float64()
4606 if ( aExp || aSig0 ) { in float128_to_float64()
4607 aSig0 |= LIT64( 0x4000000000000000 ); in float128_to_float64()
4610 return roundAndPackFloat64( aSign, aExp, aSig0 ); in float128_to_float64()
4628 bits64 aSig0, aSig1; in float128_to_floatx80() local
4631 aSig0 = extractFloat128Frac0( a ); in float128_to_floatx80()
4635 if ( aSig0 | aSig1 ) { in float128_to_floatx80()
4641 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 ); in float128_to_floatx80()
4642 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_to_floatx80()
4645 aSig0 |= LIT64( 0x0001000000000000 ); in float128_to_floatx80()
4647 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 ); in float128_to_floatx80()
4648 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 ); in float128_to_floatx80()
4772 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in addFloat128Sigs() local
4776 aSig0 = extractFloat128Frac0( a ); in addFloat128Sigs()
4784 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); in addFloat128Sigs()
4806 aSig0 |= LIT64( 0x0001000000000000 ); in addFloat128Sigs()
4809 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 ); in addFloat128Sigs()
4814 if ( aSig0 | aSig1 | bSig0 | bSig1 ) { in addFloat128Sigs()
4819 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
4826 aSig0 |= LIT64( 0x0001000000000000 ); in addFloat128Sigs()
4827 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
4851 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1; in subFloat128Sigs() local
4856 aSig0 = extractFloat128Frac0( a ); in subFloat128Sigs()
4862 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 ); in subFloat128Sigs()
4867 if ( aSig0 | aSig1 | bSig0 | bSig1 ) { in subFloat128Sigs()
4879 if ( bSig0 < aSig0 ) goto aBigger; in subFloat128Sigs()
4880 if ( aSig0 < bSig0 ) goto bBigger; in subFloat128Sigs()
4893 aSig0 |= LIT64( 0x4000000000000000 ); in subFloat128Sigs()
4895 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); in subFloat128Sigs()
4898 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
4904 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); in subFloat128Sigs()
4914 aSig0 |= LIT64( 0x4000000000000000 ); in subFloat128Sigs()
4916 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
4979 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3; in float128_mul() local
4983 aSig0 = extractFloat128Frac0( a ); in float128_mul()
4992 if ( ( aSig0 | aSig1 ) in float128_mul()
5001 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_mul()
5011 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_mul()
5012 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_mul()
5019 aSig0 |= LIT64( 0x0001000000000000 ); in float128_mul()
5021 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 ); in float128_mul()
5022 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 ); in float128_mul()
5044 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in float128_div() local
5049 aSig0 = extractFloat128Frac0( a ); in float128_div()
5058 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b ); in float128_div()
5071 if ( ( aExp | aSig0 | aSig1 ) == 0 ) { in float128_div()
5084 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 ); in float128_div()
5085 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_div()
5089 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 ); in float128_div()
5092 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) { in float128_div()
5093 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 ); in float128_div()
5096 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_div()
5098 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 ); in float128_div()
5129 bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2; in float128_rem() local
5135 aSig0 = extractFloat128Frac0( a ); in float128_rem()
5142 if ( ( aSig0 | aSig1 ) in float128_rem()
5163 if ( ( aSig0 | aSig1 ) == 0 ) return a; in float128_rem()
5164 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_rem()
5169 aSig0 | LIT64( 0x0001000000000000 ), in float128_rem()
5172 &aSig0, in float128_rem()
5177 q = le128( bSig0, bSig1, aSig0, aSig1 ); in float128_rem()
5178 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); in float128_rem()
5181 q = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_rem()
5185 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero ); in float128_rem()
5186 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 ); in float128_rem()
5190 q = estimateDiv128To64( aSig0, aSig1, bSig0 ); in float128_rem()
5196 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 ); in float128_rem()
5199 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 ); in float128_rem()
5202 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 ); in float128_rem()
5205 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 ); in float128_rem()
5209 alternateASig0 = aSig0; in float128_rem()
5212 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 ); in float128_rem()
5213 } while ( 0 <= (sbits64) aSig0 ); in float128_rem()
5215 aSig0, aSig1, alternateASig0, alternateASig1, (bits64 *)&sigMean0, &sigMean1 ); in float128_rem()
5218 aSig0 = alternateASig0; in float128_rem()
5221 zSign = ( (sbits64) aSig0 < 0 ); in float128_rem()
5222 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 ); in float128_rem()
5224 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 ); in float128_rem()
5239 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0; in float128_sqrt() local
5244 aSig0 = extractFloat128Frac0( a ); in float128_sqrt()
5248 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a ); in float128_sqrt()
5253 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a; in float128_sqrt()
5261 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 ); in float128_sqrt()
5262 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); in float128_sqrt()
5265 aSig0 |= LIT64( 0x0001000000000000 ); in float128_sqrt()
5266 zSig0 = estimateSqrt32((int16)aExp, (bits32)(aSig0>>17)); in float128_sqrt()
5267 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); in float128_sqrt()
5268 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 ); in float128_sqrt()
5271 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 ); in float128_sqrt()