Loading lib_com/basop_util.c +19 −3 Original line number Diff line number Diff line Loading @@ -2079,22 +2079,33 @@ Word32 norm_llQ31( /* o : normalized result Q31 */ ) { Word16 i; #ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW Word64 W_tmp; #else Word32 L_tmp; #endif #ifdef BASOP_NOGLOB_DECLARE_LOCAL #ifndef ISSUE_1836_replace_overflow_libcom #if !defined( ISSUE_1836_replace_overflow_libcom ) && !defined( FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW ) Flag Overflow = 0; #endif #ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW Flag Carry = 0; #endif #endif /* BASOP_NOGLOB */ /* Move MSBit of L_sum into L_c */ Carry = 0; #ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW W_tmp = W_add( L_sum, L_sum ); /* W_tmp = L_sum << 1 */ L_c = L_add( L_add( L_c, L_c ), W_extract_h(W_tmp) ); #else #ifdef ISSUE_1836_replace_overflow_libcom Carry = 0; L_tmp = L_add_c( L_sum, L_sum, &Carry ); /* L_tmp = L_sum << 1 */ L_c = L_add_c( L_c, L_c, &Carry ); #else L_tmp = L_add_co( L_sum, L_sum, &Carry, &Overflow ); /* L_tmp = L_sum << 1 */ L_c = L_add_co( L_c, L_c, &Carry, &Overflow ); #endif #endif L_add( 0, 0 ); test(); Loading @@ -2103,9 +2114,14 @@ Word32 norm_llQ31( /* o : normalized result Q31 */ i = norm_l( L_c ); L_c = L_shl( L_c, i ); i = sub( 31, i ); /* positive exponent */ #ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW L_sum = W_lshr( W_tmp, 1 ); /* L_sum with MSBit=0 */ L_sum = L_lshr( L_sum, i ); #else L_sum = L_lshr( L_tmp, 1 ); /* L_sum with MSBit=0 */ L_sum = L_lshr( L_sum, i ); L_sum = L_add( L_c, L_sum ); #endif } ELSE { Loading Loading
lib_com/basop_util.c +19 −3 Original line number Diff line number Diff line Loading @@ -2079,22 +2079,33 @@ Word32 norm_llQ31( /* o : normalized result Q31 */ ) { Word16 i; #ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW Word64 W_tmp; #else Word32 L_tmp; #endif #ifdef BASOP_NOGLOB_DECLARE_LOCAL #ifndef ISSUE_1836_replace_overflow_libcom #if !defined( ISSUE_1836_replace_overflow_libcom ) && !defined( FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW ) Flag Overflow = 0; #endif #ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW Flag Carry = 0; #endif #endif /* BASOP_NOGLOB */ /* Move MSBit of L_sum into L_c */ Carry = 0; #ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW W_tmp = W_add( L_sum, L_sum ); /* W_tmp = L_sum << 1 */ L_c = L_add( L_add( L_c, L_c ), W_extract_h(W_tmp) ); #else #ifdef ISSUE_1836_replace_overflow_libcom Carry = 0; L_tmp = L_add_c( L_sum, L_sum, &Carry ); /* L_tmp = L_sum << 1 */ L_c = L_add_c( L_c, L_c, &Carry ); #else L_tmp = L_add_co( L_sum, L_sum, &Carry, &Overflow ); /* L_tmp = L_sum << 1 */ L_c = L_add_co( L_c, L_c, &Carry, &Overflow ); #endif #endif L_add( 0, 0 ); test(); Loading @@ -2103,9 +2114,14 @@ Word32 norm_llQ31( /* o : normalized result Q31 */ i = norm_l( L_c ); L_c = L_shl( L_c, i ); i = sub( 31, i ); /* positive exponent */ #ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW L_sum = W_lshr( W_tmp, 1 ); /* L_sum with MSBit=0 */ L_sum = L_lshr( L_sum, i ); #else L_sum = L_lshr( L_tmp, 1 ); /* L_sum with MSBit=0 */ L_sum = L_lshr( L_sum, i ); L_sum = L_add( L_c, L_sum ); #endif } ELSE { Loading