61 bool isSigNaNA, isSigNaNB;
67 isSigNaNA = softfloat_isSigNaNF128UI( uiA64, uiA0 );
68 isSigNaNB = softfloat_isSigNaNF128UI( uiB64, uiB0 );
72 uiNonsigA64 = uiA64 |
UINT64_C( 0x0000800000000000 );
73 uiNonsigB64 = uiB64 |
UINT64_C( 0x0000800000000000 );
76 if ( isSigNaNA | isSigNaNB ) {
79 if ( isSigNaNB )
goto returnLargerMag;
80 if ( isNaNF128UI( uiB64, uiB0 ) )
goto returnB;
83 if ( isNaNF128UI( uiA64, uiA0 ) )
goto returnA;
88 uiMagA64 = uiA64 &
UINT64_C( 0x7FFFFFFFFFFFFFFF );
89 uiMagB64 = uiB64 &
UINT64_C( 0x7FFFFFFFFFFFFFFF );
90 if ( uiMagA64 < uiMagB64 )
goto returnB;
91 if ( uiMagB64 < uiMagA64 )
goto returnA;
92 if ( uiA0 < uiB0 )
goto returnB;
93 if ( uiB0 < uiA0 )
goto returnA;
94 if ( uiNonsigA64 < uiNonsigB64 )
goto returnA;
96 uiZ.v64 = uiNonsigB64;
100 uiZ.v64 = uiNonsigA64;