Home | History | Annotate | Download | only in bits64

Lines Matching refs:aSig0

908 `aSig0' and `aSig1'.  The normalized exponent is stored at the location
917 bits64 aSig0,
926 if ( aSig0 == 0 ) {
939 shiftCount = countLeadingZeros64( aSig0 ) - 15;
940 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr );
3988 bits64 aSig0, aSig1, bSig;
3992 aSig0 = extractFloatx80Frac( a );
3999 if ( (bits64) ( aSig0<<1 )
4020 if ( (bits64) ( aSig0<<1 ) == 0 ) return a;
4021 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
4029 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 );
4032 q = ( bSig <= aSig0 );
4033 if ( q ) aSig0 -= bSig;
4036 q = estimateDiv128To64( aSig0, aSig1, bSig );
4039 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4040 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 );
4045 q = estimateDiv128To64( aSig0, aSig1, bSig );
4049 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4051 while ( le128( term0, term1, aSig0, aSig1 ) ) {
4053 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4060 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 );
4061 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 )
4062 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 )
4065 aSig0 = alternateASig0;
4071 80, zSign, bExp + expDiff, aSig0, aSig1 );
4086 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
4090 aSig0 = extractFloatx80Frac( a );
4094 if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a );
4099 if ( ( aExp | aSig0 ) == 0 ) return a;
4107 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 );
4108 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
4111 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4112 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 );
4113 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
4116 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );
4366 bits64 aSig0, aSig1;
4369 aSig0 = extractFloat128Frac0( a );
4372 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0;
4373 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4374 aSig0 |= ( aSig1 != 0 );
4376 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 );
4377 return roundAndPackInt32( aSign, aSig0 );
4396 bits64 aSig0, aSig1, savedASig;
4400 aSig0 = extractFloat128Frac0( a );
4403 aSig0 |= ( aSig1 != 0 );
4405 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0;
4409 if ( aExp || aSig0 ) set_float_exception_inexact_flag();
4412 aSig0 |= LIT64( 0x0001000000000000 );
4414 savedASig = aSig0;
4415 aSig0 >>= shiftCount;
4416 z = (int32)aSig0;
4423 if ( ( aSig0<<shiftCount ) != savedASig ) {
4445 bits64 aSig0, aSig1;
4448 aSig0 = extractFloat128Frac0( a );
4451 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4458 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) )
4465 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 );
4468 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 );
4470 return roundAndPackInt64( aSign, aSig0, aSig1 );
4489 bits64 aSig0, aSig1;
4493 aSig0 = extractFloat128Frac0( a );
4496 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4500 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4507 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) {
4513 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4520 if ( aExp | aSig0 | aSig1 ) {
4525 z = aSig0>>( - shiftCount );
4527 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4545 bits64 aSig0, aSig1;
4549 aSig0 = extractFloat128Frac0( a );
4552 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4556 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4566 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4573 if ( aExp | aSig0 | aSig1 ) {
4578 z = aSig0>>( - shiftCount );
4579 if (aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4601 bits64 aSig0, aSig1;
4605 aSig0 = extractFloat128Frac0( a );
4609 if ( aSig0 | aSig1 ) {
4614 aSig0 |= ( aSig1 != 0 );
4615 shift64RightJamming( aSig0, 18, &aSig0 );
4616 zSig = (bits32)aSig0;
4637 bits64 aSig0, aSig1;
4640 aSig0 = extractFloat128Frac0( a );
4644 if ( aSig0 | aSig1 ) {
4649 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4650 aSig0 |= ( aSig1 != 0 );
4651 if ( aExp || aSig0 ) {
4652 aSig0 |= LIT64( 0x4000000000000000 );
4655 return roundAndPackFloat64( aSign, aExp, aSig0 );
4673 bits64 aSig0, aSig1;
4676 aSig0 = extractFloat128Frac0( a );
4680 if ( aSig0 | aSig1 ) {
4686 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 );
4687 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4690 aSig0 |= LIT64( 0x0001000000000000 );
4692 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 );
4693 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 );
4817 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4821 aSig0 = extractFloat128Frac0( a );
4829 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4851 aSig0 |= LIT64( 0x0001000000000000 );
4854 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 );
4859 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4864 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4871 aSig0 |= LIT64( 0x0001000000000000 );
4872 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4896 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4901 aSig0 = extractFloat128Frac0( a );
4907 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4912 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4924 if ( bSig0 < aSig0 ) goto aBigger;
4925 if ( aSig0 < bSig0 ) goto bBigger;
4938 aSig0 |= LIT64( 0x4000000000000000 );
4940 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
4943 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4949 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4959 aSig0 |= LIT64( 0x4000000000000000 );
4961 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
5024 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
5028 aSig0 = extractFloat128Frac0( a );
5037 if ( ( aSig0 | aSig1 )
5046 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5056 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
5057 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5064 aSig0 |= LIT64( 0x0001000000000000 );
5066 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
5067 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
5089 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
5094 aSig0 = extractFloat128Frac0( a );
5103 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
5116 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5129 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
5130 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5134 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 );
5137 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) {
5138 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 );
5141 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
5143 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 );
5174 bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2;
5180 aSig0 = extractFloat128Frac0( a );
5187 if ( ( aSig0 | aSig1 )
5208 if ( ( aSig0 | aSig1 ) == 0 ) return a;
5209 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5214 aSig0 | LIT64( 0x0001000000000000 ),
5217 &aSig0,
5222 q = le128( bSig0, bSig1, aSig0, aSig1 );
5223 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5226 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5230 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero );
5231 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 );
5235 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5241 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
5244 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 );
5247 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 );
5250 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 );
5254 alternateASig0 = aSig0;
5257 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5258 } while ( 0 <= (sbits64) aSig0 );
5260 aSig0, aSig1, alternateASig0, alternateASig1, (bits64 *)&sigMean0, &sigMean1 );
5263 aSig0 = alternateASig0;
5266 zSign = ( (sbits64) aSig0 < 0 );
5267 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 );
5269 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 );
5284 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5289 aSig0 = extractFloat128Frac0( a );
5293 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a );
5298 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a;
5306 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 );
5307 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5310 aSig0 |= LIT64( 0x0001000000000000 );
5311 zSig0 = estimateSqrt32((int16)aExp, (bits32)(aSig0>>17));
5312 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 );
5313 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5316 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );