/optee_os/lib/libutils/isoc/arch/arm/softfloat/source/ |
A D | s_normRoundPackToF128.c | 45 bool sign, int_fast32_t exp, uint_fast64_t sig64, uint_fast64_t sig0 ) in softfloat_normRoundPackToF128() argument 53 if ( ! sig64 ) { in softfloat_normRoundPackToF128() 55 sig64 = sig0; in softfloat_normRoundPackToF128() 58 shiftCount = softfloat_countLeadingZeros64( sig64 ) - 15; in softfloat_normRoundPackToF128() 62 sig128 = softfloat_shortShiftLeft128( sig64, sig0, shiftCount ); in softfloat_normRoundPackToF128() 63 sig64 = sig128.v64; in softfloat_normRoundPackToF128() 67 uZ.ui.v64 = packToF128UI64( sign, sig64 | sig0 ? exp : 0, sig64 ); in softfloat_normRoundPackToF128() 75 sig64, sig0, 0, -shiftCount ); in softfloat_normRoundPackToF128() 76 sig64 = sig128Extra.v.v64; in softfloat_normRoundPackToF128() 80 return softfloat_roundPackToF128( sign, exp, sig64, sig0, sigExtra ); in softfloat_normRoundPackToF128()
|
A D | f128_to_i64.c | 50 uint_fast64_t sig64, sig0; in f128_to_i64() local 60 sig64 = fracF128UI64( uiA64 ); in f128_to_i64() 67 ! sign || ((exp == 0x7FFF) && (sig64 | sig0)) in f128_to_i64() 71 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_i64() 73 sig128 = softfloat_shortShiftLeft128( sig64, sig0, -shiftCount ); in f128_to_i64() 74 sig64 = sig128.v64; in f128_to_i64() 78 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_i64() 79 sigExtra = softfloat_shiftRightJam64Extra( sig64, sig0, shiftCount ); in f128_to_i64() 80 sig64 = sigExtra.v; in f128_to_i64() 83 return softfloat_roundPackToI64( sign, sig64, sig0, roundingMode, exact ); in f128_to_i64()
|
A D | f128_to_i32_r_minMag.c | 49 uint_fast64_t sig64; in f128_to_i32_r_minMag() local 58 sig64 = fracF128UI64( uiA64 ) | (uiA0 != 0); in f128_to_i32_r_minMag() 61 if ( exact && (exp | sig64) ) { in f128_to_i32_r_minMag() 70 && (sig64 < UINT64_C( 0x0000000000020000 )) in f128_to_i32_r_minMag() 72 if ( exact && sig64 ) { in f128_to_i32_r_minMag() 77 if ( ! sign || ((exp == 0x7FFF) && sig64) ) return 0x7FFFFFFF; in f128_to_i32_r_minMag() 81 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_i32_r_minMag() 82 absZ = sig64>>shiftCount; in f128_to_i32_r_minMag() 84 exact && ((uint_fast64_t) (uint_fast32_t) absZ<<shiftCount != sig64) in f128_to_i32_r_minMag()
|
A D | f128_to_ui64.c | 51 uint_fast64_t sig64, sig0; in f128_to_ui64() local 66 sig64 = fracF128UI64( uiA64 ) | UINT64_C( 0x0001000000000000 ); in f128_to_ui64() 69 sig128 = softfloat_shortShiftLeft128( sig64, sig0, -shiftCount ); in f128_to_ui64() 70 sig64 = sig128.v64; in f128_to_ui64() 74 sig64 = fracF128UI64( uiA64 ); in f128_to_ui64() 76 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_ui64() 77 sigExtra = softfloat_shiftRightJam64Extra( sig64, sig0, shiftCount ); in f128_to_ui64() 78 sig64 = sigExtra.v; in f128_to_ui64() 81 return softfloat_roundPackToUI64( sign, sig64, sig0, roundingMode, exact ); in f128_to_ui64()
|
A D | f128_to_i32.c | 50 uint_fast64_t sig64, sig0; in f128_to_i32() local 58 sig64 = fracF128UI64( uiA64 ); in f128_to_i32() 60 if ( (exp == 0x7FFF) && (sig64 | sig0) ) sign = 0; in f128_to_i32() 61 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_i32() 62 sig64 |= (sig0 != 0); in f128_to_i32() 65 sig64 = softfloat_shiftRightJam64( sig64, shiftCount ); in f128_to_i32() 67 return softfloat_roundPackToI32( sign, sig64, roundingMode, exact ); in f128_to_i32()
|
A D | f128_to_i64_r_minMag.c | 50 uint_fast64_t sig64, sig0; in f128_to_i64_r_minMag() local 60 sig64 = fracF128UI64( uiA64 ); in f128_to_i64_r_minMag() 74 if ( ! sign || ((exp == 0x7FFF) && (sig64 | sig0)) ) { in f128_to_i64_r_minMag() 80 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_i64_r_minMag() 82 absZ = sig64<<negShiftCount | sig0>>(shiftCount & 63); in f128_to_i64_r_minMag() 88 if ( exact && (exp | sig64 | sig0) ) { in f128_to_i64_r_minMag() 93 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_i64_r_minMag() 94 absZ = sig64>>shiftCount; in f128_to_i64_r_minMag() 95 if ( exact && (sig0 || (absZ<<shiftCount != sig64)) ) { in f128_to_i64_r_minMag()
|
A D | f128M_to_i32.c | 63 uint64_t sig64; in f128M_to_i32() local 71 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; in f128M_to_i32() 74 sig64 |= 1; in f128M_to_i32() 77 if ( (exp == 0x7FFF) && (notZeroSig0 || sig64) ) sign = 0; in f128M_to_i32() 78 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); in f128M_to_i32() 81 sig64 = softfloat_shiftRightJam64( sig64, shiftCount ); in f128M_to_i32() 83 return softfloat_roundPackToI32( sign, sig64, roundingMode, exact ); in f128M_to_i32()
|
A D | f128M_to_f64.c | 62 uint64_t sig64; in f128M_to_f64() local 72 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; in f128M_to_f64() 74 if ( sig64 || aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) { in f128M_to_f64() 83 sig64 = sig64<<14 | sig32>>18; in f128M_to_f64() 84 if ( (sig32 & 0x0003FFFF) || aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; in f128M_to_f64() 85 if ( ! exp && ! sig64 ) { in f128M_to_f64() 95 sign, exp, sig64 | UINT64_C( 0x4000000000000000 ) ); in f128M_to_f64()
|
A D | f128_to_ui64_r_minMag.c | 49 uint_fast64_t sig64, sig0; in f128_to_ui64_r_minMag() local 60 sig64 = fracF128UI64( uiA64 ) | UINT64_C( 0x0001000000000000 ); in f128_to_ui64_r_minMag() 63 z = sig64<<negShiftCount | sig0>>(shiftCount & 63); in f128_to_ui64_r_minMag() 68 sig64 = fracF128UI64( uiA64 ); in f128_to_ui64_r_minMag() 71 if ( exact && (exp | sig64 | sig0) ) { in f128_to_ui64_r_minMag() 77 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_ui64_r_minMag() 78 z = sig64>>shiftCount; in f128_to_ui64_r_minMag() 79 if ( exact && (sig0 || (z<<shiftCount != sig64)) ) { in f128_to_ui64_r_minMag()
|
A D | f128_to_ui32.c | 51 uint_fast64_t sig64, sig0; in f128_to_ui32() local 59 sig64 = fracF128UI64( uiA64 ); in f128_to_ui32() 61 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_ui32() 62 sig64 |= (sig0 != 0); in f128_to_ui32() 65 sig64 = softfloat_shiftRightJam64( sig64, shiftCount ); in f128_to_ui32() 67 return softfloat_roundPackToUI32( sign, sig64, roundingMode, exact ); in f128_to_ui32()
|
A D | f128M_to_ui32.c | 62 uint64_t sig64; in f128M_to_ui32() local 68 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; in f128M_to_ui32() 69 if ( exp ) sig64 |= UINT64_C( 0x0001000000000000 ); in f128M_to_ui32() 70 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; in f128M_to_ui32() 73 sig64 = softfloat_shiftRightJam64( sig64, shiftCount ); in f128M_to_ui32() 77 signF128UI96( uiA96 ), sig64, roundingMode, exact ); in f128M_to_ui32()
|
A D | f128M_to_ui32_r_minMag.c | 60 uint64_t sig64; in f128M_to_ui32_r_minMag() local 67 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; in f128M_to_ui32_r_minMag() 68 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; in f128M_to_ui32_r_minMag() 71 if ( exact && (exp | sig64) ) { in f128M_to_ui32_r_minMag() 80 sig64 |= UINT64_C( 0x0001000000000000 ); in f128M_to_ui32_r_minMag() 81 z = sig64>>shiftCount; in f128M_to_ui32_r_minMag() 82 if ( exact && ((uint64_t) z<<shiftCount != sig64) ) { in f128M_to_ui32_r_minMag()
|
A D | s_roundPackToF128.c | 48 uint_fast64_t sig64, in softfloat_roundPackToF128() argument 77 sig64, in softfloat_roundPackToF128() 83 softfloat_shiftRightJam128Extra( sig64, sig0, sigExtra, -exp ); in softfloat_roundPackToF128() 84 sig64 = sig128Extra.v.v64; in softfloat_roundPackToF128() 105 sig64, in softfloat_roundPackToF128() 133 sig128 = softfloat_add128( sig64, sig0, 0, 1 ); in softfloat_roundPackToF128() 134 sig64 = sig128.v64; in softfloat_roundPackToF128() 141 if ( ! (sig64 | sig0) ) exp = 0; in softfloat_roundPackToF128() 143 uiZ64 = packToF128UI64( sign, exp, sig64 ); in softfloat_roundPackToF128()
|
A D | f128_to_extF80.c | 51 uint_fast64_t sig64, sig0; in f128_to_extF80() local 65 sig64 = fracF128UI64( uiA64 ); in f128_to_extF80() 68 if ( sig64 | sig0 ) { in f128_to_extF80() 80 if ( ! (sig64 | sig0) ) { in f128_to_extF80() 85 normExpSig = softfloat_normSubnormalF128Sig( sig64, sig0 ); in f128_to_extF80() 87 sig64 = normExpSig.sig.v64; in f128_to_extF80() 90 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_extF80() 92 sig128 = softfloat_shortShiftLeft128( sig64, sig0, 15 ); in f128_to_extF80()
|
A D | f128_to_f64.c | 51 uint_fast64_t sig64, sig0; in f128_to_f64() local 62 sig64 = fracF128UI64( uiA64 ); in f128_to_f64() 65 if ( sig64 | sig0 ) { in f128_to_f64() 73 sig128 = softfloat_shortShiftLeft128( sig64, sig0, 14 ); in f128_to_f64() 74 sig64 = sig128.v64 | (sig128.v0 != 0); in f128_to_f64() 75 if ( ! (exp | sig64) ) { in f128_to_f64() 85 sign, exp, sig64 | UINT64_C( 0x4000000000000000 ) ); in f128_to_f64()
|
A D | f128M_to_i32_r_minMag.c | 61 uint64_t sig64; in f128M_to_i32_r_minMag() local 70 sig64 = (uint64_t) fracF128UI96( uiA96 )<<32 | aWPtr[indexWord( 4, 2 )]; in f128M_to_i32_r_minMag() 71 if ( aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )] ) sig64 |= 1; in f128M_to_i32_r_minMag() 73 if ( exact && (exp | sig64) ) { in f128M_to_i32_r_minMag() 80 sig64 |= UINT64_C( 0x0001000000000000 ); in f128M_to_i32_r_minMag() 81 absZ = sig64>>shiftCount; in f128M_to_i32_r_minMag() 84 if ( exact && ((uint64_t) absZ<<shiftCount != sig64) ) { in f128M_to_i32_r_minMag()
|
A D | f128_to_ui32_r_minMag.c | 49 uint_fast64_t sig64; in f128_to_ui32_r_minMag() local 57 sig64 = fracF128UI64( uiA64 ) | (uiA0 != 0); in f128_to_ui32_r_minMag() 60 if ( exact && (exp | sig64) ) { in f128_to_ui32_r_minMag() 69 sig64 |= UINT64_C( 0x0001000000000000 ); in f128_to_ui32_r_minMag() 70 z = sig64>>shiftCount; in f128_to_ui32_r_minMag() 71 if ( exact && ((uint_fast64_t) z<<shiftCount != sig64) ) { in f128_to_ui32_r_minMag()
|
A D | f32_to_ui32.c | 51 uint_fast64_t sig64; in f32_to_ui32() local 60 sig64 = (uint_fast64_t) sig<<32; in f32_to_ui32() 63 sig64 = softfloat_shiftRightJam64( sig64, shiftCount ); in f32_to_ui32() 65 return softfloat_roundPackToUI32( sign, sig64, roundingMode, exact ); in f32_to_ui32()
|
A D | f32_to_i32.c | 51 uint_fast64_t sig64; in f32_to_i32() local 61 sig64 = (uint_fast64_t) sig<<32; in f32_to_i32() 64 sig64 = softfloat_shiftRightJam64( sig64, shiftCount ); in f32_to_i32() 66 return softfloat_roundPackToI32( sign, sig64, roundingMode, exact ); in f32_to_i32()
|
A D | f32_to_i64.c | 53 uint_fast64_t sig64, extra; in f32_to_i64() local 74 sig64 = (uint_fast64_t) sig<<40; in f32_to_i64() 77 sig64Extra = softfloat_shiftRightJam64Extra( sig64, 0, shiftCount ); in f32_to_i64() 78 sig64 = sig64Extra.v; in f32_to_i64() 81 return softfloat_roundPackToI64( sign, sig64, extra, roundingMode, exact ); in f32_to_i64()
|
A D | s_normSubnormalF128Sig.c | 43 softfloat_normSubnormalF128Sig( uint_fast64_t sig64, uint_fast64_t sig0 ) in softfloat_normSubnormalF128Sig() argument 48 if ( ! sig64 ) { in softfloat_normSubnormalF128Sig() 59 shiftCount = softfloat_countLeadingZeros64( sig64 ) - 15; in softfloat_normSubnormalF128Sig() 61 z.sig = softfloat_shortShiftLeft128( sig64, sig0, shiftCount ); in softfloat_normSubnormalF128Sig()
|
A D | f32_to_ui64.c | 54 uint_fast64_t sig64, extra; in f32_to_ui64() local 68 sig64 = (uint_fast64_t) sig<<40; in f32_to_ui64() 71 sig64Extra = softfloat_shiftRightJam64Extra( sig64, 0, shiftCount ); in f32_to_ui64() 72 sig64 = sig64Extra.v; in f32_to_ui64() 76 softfloat_roundPackToUI64( sign, sig64, extra, roundingMode, exact ); in f32_to_ui64()
|
A D | f128_to_f32.c | 51 uint_fast64_t sig64; in f128_to_f32() local 61 sig64 = fracF128UI64( uiA64 ) | (uiA0 != 0); in f128_to_f32() 63 if ( sig64 ) { in f128_to_f32() 71 sig32 = softfloat_shortShiftRightJam64( sig64, 18 ); in f128_to_f32()
|
A D | f128M_to_f32.c | 62 uint64_t sig64; in f128M_to_f32() local 71 sig64 = in f128M_to_f32() 75 if ( sig64 ) { in f128M_to_f32() 83 sig32 = softfloat_shortShiftRightJam64( sig64, 18 ); in f128M_to_f32()
|
A D | f32_to_f128M.c | 67 uint64_t sig64; in f32_to_f128M() local 94 sig64 = (uint64_t) sig<<25; in f32_to_f128M() 95 uiZ96 = packToF128UI96( sign, exp + 0x3F80, sig64>>32 ); in f32_to_f128M() 96 uiZ64 = sig64; in f32_to_f128M()
|