31-12-2016: Added for Previous
| 1729 | |
| 1730 | #ifdef SOFTFLOAT_68K // 31-12-2016: Added for Previous |
| 1731 | floatx80 float64_to_floatx80_allowunnormal( float64 a, float_status *status ) |
| 1732 | { |
| 1733 | flag aSign; |
| 1734 | int16_t aExp; |
| 1735 | uint64_t aSig; |
| 1736 | |
| 1737 | aSig = extractFloat64Frac( a ); |
| 1738 | aExp = extractFloat64Exp( a ); |
| 1739 | aSign = extractFloat64Sign( a ); |
| 1740 | if ( aExp == 0x7FF ) { |
| 1741 | return packFloatx80( aSign, 0x7FFF, aSig<<11 ); |
| 1742 | } |
| 1743 | if ( aExp == 0 ) { |
| 1744 | if ( aSig == 0 ) return packFloatx80( aSign, 0, 0 ); |
| 1745 | return packFloatx80( aSign, 0x3C01, aSig<<11 ); |
| 1746 | } |
| 1747 | return |
| 1748 | packFloatx80( |
| 1749 | aSign, aExp + 0x3C00, ( aSig | LIT64( 0x0010000000000000 ) )<<11 ); |
| 1750 | |
| 1751 | } |
| 1752 | #endif // end of addition for Previous |
| 1753 | |
| 1754 | /*---------------------------------------------------------------------------- |
no test coverage detected