• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/lib/libc/softfloat/bits64/

Lines Matching refs:aSig0

897 `aSig0' and `aSig1'.  The normalized exponent is stored at the location
906 bits64 aSig0,
915 if ( aSig0 == 0 ) {
928 shiftCount = countLeadingZeros64( aSig0 ) - 15;
929 shortShift128Left( aSig0, aSig1, shiftCount, zSig0Ptr, zSig1Ptr );
3939 bits64 aSig0, aSig1, bSig;
3943 aSig0 = extractFloatx80Frac( a );
3950 if ( (bits64) ( aSig0<<1 )
3971 if ( (bits64) ( aSig0<<1 ) == 0 ) return a;
3972 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
3980 shift128Right( aSig0, 0, 1, &aSig0, &aSig1 );
3983 q = ( bSig <= aSig0 );
3984 if ( q ) aSig0 -= bSig;
3987 q = estimateDiv128To64( aSig0, aSig1, bSig );
3990 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
3991 shortShift128Left( aSig0, aSig1, 62, &aSig0, &aSig1 );
3996 q = estimateDiv128To64( aSig0, aSig1, bSig );
4000 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4002 while ( le128( term0, term1, aSig0, aSig1 ) ) {
4004 sub128( aSig0, aSig1, term0, term1, &aSig0, &aSig1 );
4011 sub128( term0, term1, aSig0, aSig1, &alternateASig0, &alternateASig1 );
4012 if ( lt128( alternateASig0, alternateASig1, aSig0, aSig1 )
4013 || ( eq128( alternateASig0, alternateASig1, aSig0, aSig1 )
4016 aSig0 = alternateASig0;
4022 80, zSign, bExp + expDiff, aSig0, aSig1 );
4037 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0;
4041 aSig0 = extractFloatx80Frac( a );
4045 if ( (bits64) ( aSig0<<1 ) ) return propagateFloatx80NaN( a, a );
4050 if ( ( aExp | aSig0 ) == 0 ) return a;
4058 if ( aSig0 == 0 ) return packFloatx80( 0, 0, 0 );
4059 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
4062 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4063 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 );
4064 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
4067 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );
4317 bits64 aSig0, aSig1;
4320 aSig0 = extractFloat128Frac0( a );
4323 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0;
4324 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4325 aSig0 |= ( aSig1 != 0 );
4327 if ( 0 < shiftCount ) shift64RightJamming( aSig0, shiftCount, &aSig0 );
4328 return roundAndPackInt32( aSign, aSig0 );
4347 bits64 aSig0, aSig1, savedASig;
4351 aSig0 = extractFloat128Frac0( a );
4354 aSig0 |= ( aSig1 != 0 );
4356 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0;
4360 if ( aExp || aSig0 ) float_exception_flags |= float_flag_inexact;
4363 aSig0 |= LIT64( 0x0001000000000000 );
4365 savedASig = aSig0;
4366 aSig0 >>= shiftCount;
4367 z = aSig0;
4374 if ( ( aSig0<<shiftCount ) != savedASig ) {
4396 bits64 aSig0, aSig1;
4399 aSig0 = extractFloat128Frac0( a );
4402 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4409 && ( aSig1 || ( aSig0 != LIT64( 0x0001000000000000 ) ) )
4416 shortShift128Left( aSig0, aSig1, - shiftCount, &aSig0, &aSig1 );
4419 shift64ExtraRightJamming( aSig0, aSig1, shiftCount, &aSig0, &aSig1 );
4421 return roundAndPackInt64( aSign, aSig0, aSig1 );
4440 bits64 aSig0, aSig1;
4444 aSig0 = extractFloat128Frac0( a );
4447 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4451 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4458 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) {
4464 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4471 if ( aExp | aSig0 | aSig1 ) {
4476 z = aSig0>>( - shiftCount );
4478 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4496 bits64 aSig0, aSig1;
4500 aSig0 = extractFloat128Frac0( a );
4503 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4507 aSig0 &= LIT64( 0x0000FFFFFFFFFFFF );
4517 z = ( aSig0<<shiftCount ) | ( aSig1>>( ( - shiftCount ) & 63 ) );
4524 if ( aExp | aSig0 | aSig1 ) {
4529 z = aSig0>>( - shiftCount );
4530 if (aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) {
4552 bits64 aSig0, aSig1;
4556 aSig0 = extractFloat128Frac0( a );
4560 if ( aSig0 | aSig1 ) {
4565 aSig0 |= ( aSig1 != 0 );
4566 shift64RightJamming( aSig0, 18, &aSig0 );
4567 zSig = aSig0;
4588 bits64 aSig0, aSig1;
4591 aSig0 = extractFloat128Frac0( a );
4595 if ( aSig0 | aSig1 ) {
4600 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4601 aSig0 |= ( aSig1 != 0 );
4602 if ( aExp || aSig0 ) {
4603 aSig0 |= LIT64( 0x4000000000000000 );
4606 return roundAndPackFloat64( aSign, aExp, aSig0 );
4624 bits64 aSig0, aSig1;
4627 aSig0 = extractFloat128Frac0( a );
4631 if ( aSig0 | aSig1 ) {
4637 if ( ( aSig0 | aSig1 ) == 0 ) return packFloatx80( aSign, 0, 0 );
4638 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4641 aSig0 |= LIT64( 0x0001000000000000 );
4643 shortShift128Left( aSig0, aSig1, 15, &aSig0, &aSig1 );
4644 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 );
4768 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
4772 aSig0 = extractFloat128Frac0( a );
4780 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4802 aSig0 |= LIT64( 0x0001000000000000 );
4805 aSig0, aSig1, 0, - expDiff, &aSig0, &aSig1, &zSig2 );
4810 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4815 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4822 aSig0 |= LIT64( 0x0001000000000000 );
4823 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4847 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1;
4852 aSig0 = extractFloat128Frac0( a );
4858 shortShift128Left( aSig0, aSig1, 14, &aSig0, &aSig1 );
4863 if ( aSig0 | aSig1 | bSig0 | bSig1 ) {
4875 if ( bSig0 < aSig0 ) goto aBigger;
4876 if ( aSig0 < bSig0 ) goto bBigger;
4889 aSig0 |= LIT64( 0x4000000000000000 );
4891 shift128RightJamming( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
4894 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 );
4900 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
4910 aSig0 |= LIT64( 0x4000000000000000 );
4912 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 );
4975 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3;
4979 aSig0 = extractFloat128Frac0( a );
4988 if ( ( aSig0 | aSig1 )
4997 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5007 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
5008 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5015 aSig0 |= LIT64( 0x0001000000000000 );
5017 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 );
5018 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 );
5040 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2;
5045 aSig0 = extractFloat128Frac0( a );
5054 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, b );
5067 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5080 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( zSign, 0, 0, 0 );
5081 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5085 aSig0 | LIT64( 0x0001000000000000 ), aSig1, 15, &aSig0, &aSig1 );
5088 if ( le128( bSig0, bSig1, aSig0, aSig1 ) ) {
5089 shift128Right( aSig0, aSig1, 1, &aSig0, &aSig1 );
5092 zSig0 = estimateDiv128To64( aSig0, aSig1, bSig0 );
5094 sub192( aSig0, aSig1, 0, term0, term1, term2, &rem0, &rem1, &rem2 );
5125 bits64 aSig0, aSig1, bSig0, bSig1, q, term0, term1, term2;
5131 aSig0 = extractFloat128Frac0( a );
5139 if ( ( aSig0 | aSig1 )
5160 if ( ( aSig0 | aSig1 ) == 0 ) return a;
5161 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5166 aSig0 | LIT64( 0x0001000000000000 ),
5169 &aSig0,
5174 q = le128( bSig0, bSig1, aSig0, aSig1 );
5175 if ( q ) sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5178 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5182 shortShift128Left( aSig0, aSig1, 61, &aSig0, &allZero );
5183 sub128( aSig0, 0, term1, term2, &aSig0, &aSig1 );
5187 q = estimateDiv128To64( aSig0, aSig1, bSig0 );
5193 shift128Right( aSig0, aSig1, - expDiff, &aSig0, &aSig1 );
5196 shortShift128Left( aSig0, aSig1, expDiff, &aSig0, &aSig1 );
5199 sub128( aSig0, aSig1, term1, term2, &aSig0, &aSig1 );
5202 shift128Right( aSig0, aSig1, 12, &aSig0, &aSig1 );
5206 alternateASig0 = aSig0;
5209 sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
5210 } while ( 0 <= (sbits64) aSig0 );
5212 aSig0, aSig1, alternateASig0, alternateASig1, (bits64 *)&sigMean0, &sigMean1 );
5215 aSig0 = alternateASig0;
5218 zSign = ( (sbits64) aSig0 < 0 );
5219 if ( zSign ) sub128( 0, 0, aSig0, aSig1, &aSig0, &aSig1 );
5221 normalizeRoundAndPackFloat128( aSign ^ zSign, bExp - 4, aSig0, aSig1 );
5236 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0;
5241 aSig0 = extractFloat128Frac0( a );
5245 if ( aSig0 | aSig1 ) return propagateFloat128NaN( a, a );
5250 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a;
5258 if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 );
5259 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5262 aSig0 |= LIT64( 0x0001000000000000 );
5263 zSig0 = estimateSqrt32( aExp, aSig0>>17 );
5264 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 );
5265 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0<<32 ) + ( zSig0<<30 );
5268 sub128( aSig0, aSig1, term0, term1, &rem0, &rem1 );