Home | History | Annotate | Download | only in bits64

Lines Matching refs:aExp

1392     int16 aExp, shiftCount;

1397 aExp = extractFloat32Exp( a );
1399 if ( ( aExp == 0xFF ) && aSig ) aSign = 0;
1400 if ( aExp ) aSig |= 0x00800000;
1401 shiftCount = 0xAF - aExp;
1424 int16 aExp, shiftCount;
1429 aExp = extractFloat32Exp( a );
1431 shiftCount = aExp - 0x9E;
1435 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) return 0x7FFFFFFF;
1439 else if ( aExp <= 0x7E ) {
1440 if ( aExp | aSig ) set_float_exception_inexact_flag();
1468 int16 aExp, shiftCount;
1473 aExp = extractFloat32Exp( a );
1475 shiftCount = 0xBE - aExp;
1478 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) {
1483 if ( aExp ) aSig |= 0x00800000;
1505 int16 aExp, shiftCount;
1511 aExp = extractFloat32Exp( a );
1513 shiftCount = aExp - 0xBE;
1517 if ( ! aSign || ( ( aExp == 0xFF ) && aSig ) ) {
1523 else if ( aExp <= 0x7E ) {
1524 if ( aExp | aSig ) set_float_exception_inexact_flag();
1550 int16 aExp;
1554 aExp = extractFloat32Exp( a );
1556 if ( aExp == 0xFF ) {
1560 if ( aExp == 0 ) {
1562 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
1563 --aExp;
1565 return packFloat64( aSign, aExp + 0x380, ( (bits64) aSig )<<29 );
1582 int16 aExp;
1586 aExp = extractFloat32Exp( a );
1588 if ( aExp == 0xFF ) {
1592 if ( aExp == 0 ) {
1594 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
1597 return packFloatx80( aSign, aExp + 0x3F80, ( (bits64) aSig )<<40 );
1616 int16 aExp;
1620 aExp = extractFloat32Exp( a );
1622 if ( aExp == 0xFF ) {
1626 if ( aExp == 0 ) {
1628 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
1629 --aExp;
1631 return packFloat128( aSign, aExp + 0x3F80, ( (bits64) aSig )<<25, 0 );
1649 int16 aExp;
1654 aExp = extractFloat32Exp( a );
1655 if ( 0x96 <= aExp ) {
1656 if ( ( aExp == 0xFF ) && extractFloat32Frac( a ) ) {
1661 if ( aExp <= 0x7E ) {
1667 if ( ( aExp == 0x7E ) && extractFloat32Frac( a ) ) {
1681 lastBitMask <<= 0x96 - aExp;
1712 int16 aExp, bExp, zExp;
1717 aExp = extractFloat32Exp( a );
1720 expDiff = aExp - bExp;
1724 if ( aExp == 0xFF ) {
1735 zExp = aExp;
1742 if ( aExp == 0 ) {
1752 if ( aExp == 0xFF ) {
1756 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 );
1758 zExp = aExp;
1784 int16 aExp, bExp, zExp;
1789 aExp = extractFloat32Exp( a );
1792 expDiff = aExp - bExp;
1797 if ( aExp == 0xFF ) {
1802 if ( aExp == 0 ) {
1803 aExp = 1;
1814 if ( aExp == 0 ) {
1828 if ( aExp == 0xFF ) {
1842 zExp = aExp;
1903 int16 aExp, bExp, zExp;
1909 aExp = extractFloat32Exp( a );
1915 if ( aExp == 0xFF ) {
1927 if ( ( aExp | aSig ) == 0 ) {
1933 if ( aExp == 0 ) {
1935 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
1941 zExp = aExp + bExp - 0x7F;
1964 int16 aExp, bExp, zExp;
1968 aExp = extractFloat32Exp( a );
1974 if ( aExp == 0xFF ) {
1989 if ( ( aExp | aSig ) == 0 ) {
1998 if ( aExp == 0 ) {
2000 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
2002 zExp = aExp - bExp + 0x7D;
2028 int16 aExp, bExp, expDiff;
2036 aExp = extractFloat32Exp( a );
2041 if ( aExp == 0xFF ) {
2059 if ( aExp == 0 ) {
2061 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
2063 expDiff = aExp - bExp;
2131 int16 aExp, zExp;
2136 aExp = extractFloat32Exp( a );
2138 if ( aExp == 0xFF ) {
2145 if ( ( aExp | aSig ) == 0 ) return a;
2149 if ( aExp == 0 ) {
2151 normalizeFloat32Subnormal( aSig, &aExp, &aSig );
2153 zExp = ( ( aExp - 0x7F )>>1 ) + 0x7E;
2155 zSig = estimateSqrt32( aExp, aSig ) + 2;
2161 aSig >>= aExp & 1;
2340 int16 aExp, shiftCount;
2344 aExp = extractFloat64Exp( a );
2346 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0;
2347 if ( aExp ) aSig |= LIT64( 0x0010000000000000 );
2348 shiftCount = 0x42C - aExp;
2369 int16 aExp, shiftCount;
2374 aExp = extractFloat64Exp( a );
2376 if ( 0x41E < aExp ) {
2377 if ( ( aExp == 0x7FF ) && aSig ) aSign = 0;
2380 else if ( aExp < 0x3FF ) {
2381 if ( aExp || aSig ) set_float_exception_inexact_flag();
2385 shiftCount = 0x433 - aExp;
2417 int16 aExp, shiftCount;
2421 aExp = extractFloat64Exp( a );
2423 if ( aExp ) aSig |= LIT64( 0x0010000000000000 );
2424 shiftCount = 0x433 - aExp;
2426 if ( 0x43E < aExp ) {
2429 || ( ( aExp == 0x7FF )
2460 int16 aExp, shiftCount;
2465 aExp = extractFloat64Exp( a );
2467 if ( aExp ) aSig |= LIT64( 0x0010000000000000 );
2468 shiftCount = aExp - 0x433;
2470 if ( 0x43E <= aExp ) {
2474 || ( ( aExp == 0x7FF )
2485 if ( aExp < 0x3FE ) {
2486 if ( aExp | aSig ) set_float_exception_inexact_flag();
2511 int16 aExp;
2516 aExp = extractFloat64Exp( a );
2518 if ( aExp == 0x7FF ) {
2524 if ( aExp || zSig ) {
2526 aExp -= 0x381;
2528 return roundAndPackFloat32( aSign, aExp, zSig );
2545 int16 aExp;
2549 aExp = extractFloat64Exp( a );
2551 if ( aExp == 0x7FF ) {
2555 if ( aExp == 0 ) {
2557 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
2561 aSign, aExp + 0x3C00, ( aSig | LIT64( 0x0010000000000000 ) )<<11 );
2580 int16 aExp;
2584 aExp = extractFloat64Exp( a );
2586 if ( aExp == 0x7FF ) {
2590 if ( aExp == 0 ) {
2592 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
2593 --aExp;
2596 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 );
2614 int16 aExp;
2619 aExp = extractFloat64Exp( a );
2620 if ( 0x433 <= aExp ) {
2621 if ( ( aExp == 0x7FF ) && extractFloat64Frac( a ) ) {
2626 if ( aExp < 0x3FF ) {
2632 if ( ( aExp == 0x3FE ) && extractFloat64Frac( a ) ) {
2647 lastBitMask <<= 0x433 - aExp;
2678 int16 aExp, bExp, zExp;
2683 aExp = extractFloat64Exp( a );
2686 expDiff = aExp - bExp;
2690 if ( aExp == 0x7FF ) {
2701 zExp = aExp;
2708 if ( aExp == 0 ) {
2718 if ( aExp == 0x7FF ) {
2722 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 );
2724 zExp = aExp;
2750 int16 aExp, bExp, zExp;
2755 aExp = extractFloat64Exp( a );
2758 expDiff = aExp - bExp;
2763 if ( aExp == 0x7FF ) {
2768 if ( aExp == 0 ) {
2769 aExp = 1;
2780 if ( aExp == 0 ) {
2794 if ( aExp == 0x7FF ) {
2808 zExp = aExp;
2869 int16 aExp, bExp, zExp;
2873 aExp = extractFloat64Exp( a );
2879 if ( aExp == 0x7FF ) {
2891 if ( ( aExp | aSig ) == 0 ) {
2897 if ( aExp == 0 ) {
2899 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
2905 zExp = aExp + bExp - 0x3FF;
2928 int16 aExp, bExp, zExp;
2934 aExp = extractFloat64Exp( a );
2940 if ( aExp == 0x7FF ) {
2955 if ( ( aExp | aSig ) == 0 ) {
2964 if ( aExp == 0 ) {
2966 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
2968 zExp = aExp - bExp + 0x3FD;
3000 int16 aExp, bExp, expDiff;
3006 aExp = extractFloat64Exp( a );
3011 if ( aExp == 0x7FF ) {
3029 if ( aExp == 0 ) {
3031 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
3033 expDiff = aExp - bExp;
3086 int16 aExp, zExp;
3091 aExp = extractFloat64Exp( a );
3093 if ( aExp == 0x7FF ) {
3100 if ( ( aExp | aSig ) == 0 ) return a;
3104 if ( aExp == 0 ) {
3106 normalizeFloat64Subnormal( aSig, &aExp, &aSig );
3108 zExp = ( ( aExp - 0x3FF )>>1 ) + 0x3FE;
3110 zSig = estimateSqrt32( aExp, aSig>>21 );
3111 aSig <<= 9 - ( aExp & 1 );
3302 int32 aExp, shiftCount;
3306 aExp = extractFloatx80Exp( a );
3308 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0;
3309 shiftCount = 0x4037 - aExp;
3330 int32 aExp, shiftCount;
3335 aExp = extractFloatx80Exp( a );
3337 if ( 0x401E < aExp ) {
3338 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) aSign = 0;
3341 else if ( aExp < 0x3FFF ) {
3342 if ( aExp || aSig ) set_float_exception_inexact_flag();
3345 shiftCount = 0x403E - aExp;
3376 int32 aExp, shiftCount;
3380 aExp = extractFloatx80Exp( a );
3382 shiftCount = 0x403E - aExp;
3387 || ( ( aExp == 0x7FFF )
3417 int32 aExp, shiftCount;
3422 aExp = extractFloatx80Exp( a );
3424 shiftCount = aExp - 0x403E;
3429 if ( ! aSign || ( ( aExp == 0x7FFF ) && aSig ) ) {
3435 else if ( aExp < 0x3FFF ) {
3436 if ( aExp | aSig ) set_float_exception_inexact_flag();
3459 int32 aExp;
3463 aExp = extractFloatx80Exp( a );
3465 if ( aExp == 0x7FFF ) {
3472 if ( aExp || aSig ) aExp -= 0x3F81;
3473 return roundAndPackFloat32( aSign, aExp, aSig );
3488 int32 aExp;
3492 aExp = extractFloatx80Exp( a );
3494 if ( aExp == 0x7FFF ) {
3501 if ( aExp || aSig ) aExp -= 0x3C01;
3502 return roundAndPackFloat64( aSign, aExp, zSig );
3519 int16 aExp;
3523 aExp = extractFloatx80Exp( a );
3525 if ( ( aExp == 0x7FFF ) && (bits64) ( aSig<<1 ) ) {
3529 return packFloat128( aSign, aExp, zSig0, zSig1 );
3546 int32 aExp;
3551 aExp = extractFloatx80Exp( a );
3552 if ( 0x403E <= aExp ) {
3553 if ( ( aExp == 0x7FFF ) && (bits64) ( extractFloatx80Frac( a )<<1 ) ) {
3558 if ( aExp < 0x3FFF ) {
3559 if ( ( aExp == 0 )
3567 if ( ( aExp == 0x3FFE ) && (bits64) ( extractFloatx80Frac( a )<<1 )
3588 lastBitMask <<= 0x403E - aExp;
3622 int32 aExp, bExp, zExp;
3627 aExp = extractFloatx80Exp( a );
3630 expDiff = aExp - bExp;
3632 if ( aExp == 0x7FFF ) {
3638 zExp = aExp;
3645 if ( aExp == 0 ) ++expDiff;
3650 if ( aExp == 0x7FFF ) {
3658 if ( aExp == 0 ) {
3662 zExp = aExp;
3689 int32 aExp, bExp, zExp;
3695 aExp = extractFloatx80Exp( a );
3698 expDiff = aExp - bExp;
3701 if ( aExp == 0x7FFF ) {
3710 if ( aExp == 0 ) {
3711 aExp = 1;
3723 if ( aExp == 0 ) ++expDiff;
3731 if ( aExp == 0x7FFF ) {
3739 zExp = aExp;
3801 int32 aExp, bExp, zExp;
3806 aExp = extractFloatx80Exp( a );
3812 if ( aExp == 0x7FFF ) {
3822 if ( ( aExp | aSig ) == 0 ) {
3831 if ( aExp == 0 ) {
3833 normalizeFloatx80Subnormal( aSig, &aExp, &aSig );
3839 zExp = aExp + bExp - 0x3FFE;
3861 int32 aExp, bExp, zExp;
3867 aExp = extractFloatx80Exp( a );
3873 if ( aExp == 0x7FFF ) {
3887 if ( ( aExp | aSig ) == 0 ) {
3899 if ( aExp == 0 ) {
3901 normalizeFloatx80Subnormal( aSig, &aExp, &aSig );
3903 zExp = aExp - bExp + 0x3FFE;
3942 int32 aExp, bExp, expDiff;
3948 aExp = extractFloatx80Exp( a );
3953 if ( aExp == 0x7FFF ) {
3974 if ( aExp == 0 ) {
3976 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
3980 expDiff = aExp - bExp;
4040 int32 aExp, zExp;
4046 aExp = extractFloatx80Exp( a );
4048 if ( aExp == 0x7FFF ) {
4054 if ( ( aExp | aSig0 ) == 0 ) return a;
4061 if ( aExp == 0 ) {
4063 normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
4065 zExp = ( ( aExp - 0x3FFF )>>1 ) + 0x3FFF;
4066 zSig0 = estimateSqrt32( aExp, aSig0>>32 );
4067 shift128Right( aSig0, 0, 2 + ( aExp & 1 ), &aSig0, &aSig1 );
4320 int32 aExp, shiftCount;
4325 aExp = extractFloat128Exp( a );
4327 if ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) aSign = 0;
4328 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4330 shiftCount = 0x4028 - aExp;
4350 int32 aExp, shiftCount;
4356 aExp = extractFloat128Exp( a );
4359 if ( 0x401E < aExp ) {
4360 if ( ( aExp == 0x7FFF ) && aSig0 ) aSign = 0;
4363 else if ( aExp < 0x3FFF ) {
4364 if ( aExp || aSig0 ) set_float_exception_inexact_flag();
4368 shiftCount = 0x402F - aExp;
4399 int32 aExp, shiftCount;
4404 aExp = extractFloat128Exp( a );
4406 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4407 shiftCount = 0x402F - aExp;
4409 if ( 0x403E < aExp ) {
4412 || ( ( aExp == 0x7FFF )
4443 int32 aExp, shiftCount;
4449 aExp = extractFloat128Exp( a );
4451 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4452 shiftCount = aExp - 0x402F;
4454 if ( 0x403E <= aExp ) {
4462 if ( ! aSign || ( ( aExp == 0x7FFF ) && ( aSig0 | aSig1 ) ) ) {
4474 if ( aExp < 0x3FFF ) {
4475 if ( aExp | aSig0 | aSig1 ) {
4499 int32 aExp, shiftCount;
4505 aExp = extractFloat128Exp( a );
4507 if ( aExp ) aSig0 |= LIT64( 0x0001000000000000 );
4508 shiftCount = aExp - 0x402F;
4510 if ( 0x403F <= aExp ) {
4527 if ( aExp < 0x3FFF ) {
4528 if ( aExp | aSig0 | aSig1 ) {
4555 int32 aExp;
4561 aExp = extractFloat128Exp( a );
4563 if ( aExp == 0x7FFF ) {
4572 if ( aExp || zSig ) {
4574 aExp -= 0x3F81;
4576 return roundAndPackFloat32( aSign, aExp, zSig );
4591 int32 aExp;
4596 aExp = extractFloat128Exp( a );
4598 if ( aExp == 0x7FFF ) {
4606 if ( aExp || aSig0 ) {
4608 aExp -= 0x3C01;
4610 return roundAndPackFloat64( aSign, aExp, aSig0 );
4627 int32 aExp;
4632 aExp = extractFloat128Exp( a );
4634 if ( aExp == 0x7FFF ) {
4640 if ( aExp == 0 ) {
4642 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
4648 return roundAndPackFloatx80( 80, aSign, aExp, aSig0, aSig1 );
4665 int32 aExp;
4670 aExp = extractFloat128Exp( a );
4671 if ( 0x402F <= aExp ) {
4672 if ( 0x406F <= aExp ) {
4673 if ( ( aExp == 0x7FFF )
4681 lastBitMask = ( lastBitMask<<( 0x406E - aExp ) )<<1;
4706 if ( aExp < 0x3FFF ) {
4712 if ( ( aExp == 0x3FFE )
4733 lastBitMask <<= 0x402F - aExp;
4771 int32 aExp, bExp, zExp;
4777 aExp = extractFloat128Exp( a );
4781 expDiff = aExp - bExp;
4783 if ( aExp == 0x7FFF ) {
4795 zExp = aExp;
4802 if ( aExp == 0 ) {
4813 if ( aExp == 0x7FFF ) {
4820 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 );
4823 zExp = aExp;
4850 int32 aExp, bExp, zExp;
4857 aExp = extractFloat128Exp( a );
4861 expDiff = aExp - bExp;
4866 if ( aExp == 0x7FFF ) {
4875 if ( aExp == 0 ) {
4876 aExp = 1;
4889 if ( aExp == 0 ) {
4903 if ( aExp == 0x7FFF ) {
4917 zExp = aExp;
4978 int32 aExp, bExp, zExp;
4984 aExp = extractFloat128Exp( a );
4991 if ( aExp == 0x7FFF ) {
5001 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5010 if ( aExp == 0 ) {
5012 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5018 zExp = aExp + bExp - 0x4000;
5043 int32 aExp, bExp, zExp;
5050 aExp = extractFloat128Exp( a );
5057 if ( aExp == 0x7FFF ) {
5071 if ( ( aExp | aSig0 | aSig1 ) == 0 ) {
5083 if ( aExp == 0 ) {
5085 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5087 zExp = aExp - bExp + 0x3FFD;
5128 int32 aExp, bExp, expDiff;
5136 aExp = extractFloat128Exp( a );
5141 if ( aExp == 0x7FFF ) {
5162 if ( aExp == 0 ) {
5164 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5166 expDiff = aExp - bExp;
5238 int32 aExp, zExp;
5245 aExp = extractFloat128Exp( a );
5247 if ( aExp == 0x7FFF ) {
5253 if ( ( aExp | aSig0 | aSig1 ) == 0 ) return a;
5260 if ( aExp == 0 ) {
5262 normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 );
5264 zExp = (int32) ( (aExp - 0x3FFF) >> 1) + 0x3FFE;
5266 zSig0 = estimateSqrt32((int16)aExp, (bits32)(aSig0>>17));
5267 shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 );
5526 int16 aExp, shiftCount;
5531 aExp = extractFloat64Exp( a );
5539 if ( 0x41E < aExp ) {
5543 else if ( aExp < 0x3FF ) {
5544 if ( aExp || aSig ) set_float_exception_inexact_flag();
5548 shiftCount = 0x433 - aExp;
5572 int16 aExp, shiftCount;
5577 aExp = extractFloat32Exp( a );
5579 shiftCount = aExp - 0x9E;
5589 else if ( aExp <= 0x7E ) {
5590 if ( aExp | aSig ) set_float_exception_inexact_flag();