Home
last modified time | relevance | path

Searched refs:sig64 (Results 1 – 25 of 28) sorted by relevance

12

/optee_os/lib/libutils/isoc/arch/arm/softfloat/source/
A Ds_normRoundPackToF128.c45 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 Df128_to_i64.c50 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 Df128_to_i32_r_minMag.c49 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 Df128_to_ui64.c51 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 Df128_to_i32.c50 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 Df128_to_i64_r_minMag.c50 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 Df128M_to_i32.c63 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 Df128M_to_f64.c62 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 Df128_to_ui64_r_minMag.c49 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 Df128_to_ui32.c51 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 Df128M_to_ui32.c62 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 Df128M_to_ui32_r_minMag.c60 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 Ds_roundPackToF128.c48 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 Df128_to_extF80.c51 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 Df128_to_f64.c51 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 Df128M_to_i32_r_minMag.c61 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 Df128_to_ui32_r_minMag.c49 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 Df32_to_ui32.c51 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 Df32_to_i32.c51 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 Df32_to_i64.c53 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 Ds_normSubnormalF128Sig.c43 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 Df32_to_ui64.c54 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 Df128_to_f32.c51 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 Df128M_to_f32.c62 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 Df32_to_f128M.c67 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()

Completed in 22 milliseconds

12