/seL4-test-master/tools/riscv-pk/softfloat/ |
H A D | s_normRoundPackToF128.c | 44 bool sign, int_fast32_t exp, uint_fast64_t sig64, uint_fast64_t sig0 ) 52 if ( ! sig64 ) { 54 sig64 = sig0; 57 shiftDist = softfloat_countLeadingZeros64( sig64 ) - 15; 61 sig128 = softfloat_shortShiftLeft128( sig64, sig0, shiftDist ); 62 sig64 = sig128.v64; 66 uZ.ui.v64 = packToF128UI64( sign, sig64 | sig0 ? exp : 0, sig64 ); 73 softfloat_shortShiftRightJam128Extra( sig64, sig0, 0, -shiftDist ); 74 sig64 43 softfloat_normRoundPackToF128( bool sign, int_fast32_t exp, uint_fast64_t sig64, uint_fast64_t sig0 ) argument [all...] |
H A D | f128_to_ui32.c | 51 uint_fast64_t sig64; local 61 sig64 = fracF128UI64( uiA64 ) | (uiA0 != 0); 65 if ( (exp == 0x7FFF) && sig64 ) { 78 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); 81 sig64 = softfloat_shiftRightJam64( sig64, shiftDist ); 83 return softfloat_roundToUI32( sign, sig64, roundingMode, exact );
|
H A D | f128_to_ui32_r_minMag.c | 49 uint_fast64_t sig64; local 60 sig64 = fracF128UI64( uiA64 ) | (uiA0 != 0); 65 if ( exact && (exp | sig64) ) { 76 (exp == 0x7FFF) && sig64 ? ui32_fromNaN 81 sig64 |= UINT64_C( 0x0001000000000000 ); 82 z = sig64>>shiftDist; 83 if ( exact && ((uint_fast64_t) z<<shiftDist != sig64) ) {
|
H A D | f128_to_i64.c | 50 uint_fast64_t sig64, sig0; local 62 sig64 = fracF128UI64( uiA64 ); 73 (exp == 0x7FFF) && (sig64 | sig0) ? i64_fromNaN 78 sig64 |= UINT64_C( 0x0001000000000000 ); 80 sig128 = softfloat_shortShiftLeft128( sig64, sig0, -shiftDist ); 81 sig64 = sig128.v64; 87 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); 88 sigExtra = softfloat_shiftRightJam64Extra( sig64, sig0, shiftDist ); 89 sig64 = sigExtra.v; 92 return softfloat_roundToI64( sign, sig64, sig [all...] |
H A D | f128_to_ui64.c | 51 uint_fast64_t sig64, sig0; local 63 sig64 = fracF128UI64( uiA64 ); 74 (exp == 0x7FFF) && (sig64 | sig0) ? ui64_fromNaN 79 sig64 |= UINT64_C( 0x0001000000000000 ); 81 sig128 = softfloat_shortShiftLeft128( sig64, sig0, -shiftDist ); 82 sig64 = sig128.v64; 88 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); 89 sigExtra = softfloat_shiftRightJam64Extra( sig64, sig0, shiftDist ); 90 sig64 = sigExtra.v; 93 return softfloat_roundToUI64( sign, sig64, sig [all...] |
H A D | s_normSubnormalF128Sig.c | 42 softfloat_normSubnormalF128Sig( uint_fast64_t sig64, uint_fast64_t sig0 ) argument 47 if ( ! sig64 ) { 58 shiftDist = softfloat_countLeadingZeros64( sig64 ) - 15; 60 z.sig = softfloat_shortShiftLeft128( sig64, sig0, shiftDist );
|
H A D | f128_to_i32_r_minMag.c | 49 uint_fast64_t sig64; local 60 sig64 = fracF128UI64( uiA64 ) | (uiA0 != 0); 65 if ( exact && (exp | sig64) ) { 76 && (sig64 < UINT64_C( 0x0000000000020000 )) 78 if ( exact && sig64 ) { 85 (exp == 0x7FFF) && sig64 ? i32_fromNaN 90 sig64 |= UINT64_C( 0x0001000000000000 ); 91 absZ = sig64>>shiftDist; 93 exact && ((uint_fast64_t) (uint_fast32_t) absZ<<shiftDist != sig64)
|
H A D | f128_to_i64_r_minMag.c | 50 uint_fast64_t sig64, sig0; local 62 sig64 = fracF128UI64( uiA64 ); 82 (exp == 0x7FFF) && (sig64 | sig0) ? i64_fromNaN 87 sig64 |= UINT64_C( 0x0001000000000000 ); 89 absZ = sig64<<negShiftDist | sig0>>(shiftDist & 63); 97 if ( exact && (exp | sig64 | sig0) ) { 104 sig64 |= UINT64_C( 0x0001000000000000 ); 105 absZ = sig64>>shiftDist; 106 if ( exact && (sig0 || (absZ<<shiftDist != sig64)) ) {
|
H A D | f128_to_ui64_r_minMag.c | 50 uint_fast64_t sig64, sig0; local 62 sig64 = fracF128UI64( uiA64 ); 71 sig64 |= UINT64_C( 0x0001000000000000 ); 73 z = sig64<<negShiftDist | sig0>>(shiftDist & 63); 81 if ( exact && (exp | sig64 | sig0) ) { 89 sig64 |= UINT64_C( 0x0001000000000000 ); 90 z = sig64>>shiftDist; 91 if ( exact && (sig0 || (z<<shiftDist != sig64)) ) { 101 (exp == 0x7FFF) && (sig64 | sig0) ? ui64_fromNaN
|
H A D | f128M_to_i32.c | 63 uint64_t sig64; local 72 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; 73 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; 77 if ( (exp == 0x7FFF) && sig64 ) { 90 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); 92 if ( 0 < shiftDist ) sig64 = softfloat_shiftRightJam64( sig64, shiftDist ); 93 return softfloat_roundToI32( sign, sig64, roundingMode, exact );
|
H A D | f128M_to_i32_r_minMag.c | 61 uint64_t sig64; local 72 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; 73 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; 77 if ( exact && (exp | sig64) ) { 86 sig64 |= UINT64_C( 0x0001000000000000 ); 87 absZ = sig64>>shiftDist; 90 if ( exact && ((uint64_t) absZ<<shiftDist != sig64) ) { 100 (exp == 0x7FFF) && sig64 ? i32_fromNaN
|
H A D | f128M_to_ui32.c | 63 uint64_t sig64; local 72 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; 73 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; 77 if ( (exp == 0x7FFF) && sig64 ) { 90 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); 92 if ( 0 < shiftDist ) sig64 = softfloat_shiftRightJam64( sig64, shiftDist ); 93 return softfloat_roundToUI32( sign, sig64, roundingMode, exact );
|
H A D | f128M_to_ui32_r_minMag.c | 60 uint64_t sig64; local 70 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; 71 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; 76 if ( exact && (exp | sig64) ) { 87 (exp == 0x7FFF) && sig64 ? ui32_fromNaN 92 sig64 |= UINT64_C( 0x0001000000000000 ); 93 z = sig64>>shiftDist; 94 if ( exact && ((uint64_t) z<<shiftDist != sig64) ) {
|
H A D | f128_to_i32.c | 50 uint_fast64_t sig64, sig0; local 60 sig64 = fracF128UI64( uiA64 ); 65 if ( (exp == 0x7FFF) && (sig64 | sig0) ) { 78 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); 79 sig64 |= (sig0 != 0); 81 if ( 0 < shiftDist ) sig64 = softfloat_shiftRightJam64( sig64, shiftDist ); 82 return softfloat_roundToI32( sign, sig64, roundingMode, exact );
|
H A D | f32_to_i32.c | 51 uint_fast64_t sig64; local 78 sig64 = (uint_fast64_t) sig<<32; 80 if ( 0 < shiftDist ) sig64 = softfloat_shiftRightJam64( sig64, shiftDist ); 81 return softfloat_roundToI32( sign, sig64, roundingMode, exact );
|
H A D | f32_to_ui32.c | 51 uint_fast64_t sig64; local 78 sig64 = (uint_fast64_t) sig<<32; 80 if ( 0 < shiftDist ) sig64 = softfloat_shiftRightJam64( sig64, shiftDist ); 81 return softfloat_roundToUI32( sign, sig64, roundingMode, exact );
|
H A D | s_roundPackToF128.c | 47 uint_fast64_t sig64, 82 sig64, 88 softfloat_shiftRightJam128Extra( sig64, sig0, sigExtra, -exp ); 89 sig64 = sig128Extra.v.v64; 110 sig64, 150 sig128 = softfloat_add128( sig64, sig0, 0, 1 ); 151 sig64 = sig128.v64; 158 if ( ! (sig64 | sig0) ) exp = 0; 163 uiZ64 = packToF128UI64( sign, exp, sig64 ); 44 softfloat_roundPackToF128( bool sign, int_fast32_t exp, uint_fast64_t sig64, uint_fast64_t sig0, uint_fast64_t sigExtra ) argument
|
H A D | f32_to_i64.c | 53 uint_fast64_t sig64, extra; local 79 sig64 = (uint_fast64_t) sig<<40; 82 sig64Extra = softfloat_shiftRightJam64Extra( sig64, 0, shiftDist ); 83 sig64 = sig64Extra.v; 86 return softfloat_roundToI64( sign, sig64, extra, roundingMode, exact );
|
H A D | f32_to_ui64.c | 53 uint_fast64_t sig64, extra; local 79 sig64 = (uint_fast64_t) sig<<40; 82 sig64Extra = softfloat_shiftRightJam64Extra( sig64, 0, shiftDist ); 83 sig64 = sig64Extra.v; 86 return softfloat_roundToUI64( sign, sig64, extra, roundingMode, exact );
|
H A D | f32_to_ui64_r_minMag.c | 52 uint_fast64_t sig64, z; local 81 sig64 = (uint_fast64_t) sig<<40; 82 z = sig64>>shiftDist;
|
H A D | f32_to_i64_r_minMag.c | 52 uint_fast64_t sig64; local 85 sig64 = (uint_fast64_t) sig<<40; 86 absZ = sig64>>shiftDist;
|
H A D | internals.h | 179 #define packToF128UI64( sign, exp, sig64 ) (((uint_fast64_t) (sign)<<63) + ((uint_fast64_t) (exp)<<48) + (sig64))
|