Loading lib_com/tools_fx.c +1 −11 Original line number Diff line number Diff line Loading @@ -4474,22 +4474,12 @@ void v_add_fixed_me( Word16 x1_shift = sub( s_max( x1_e, x2_e ), x1_e ); Word16 x2_shift = sub( s_max( x1_e, x2_e ), x2_e ); #if 1//def IMPRO_PRECISION Word32 hdrm_x1_shift = L_shl_sat( 1, add( hdrm, sub( 31, x1_shift ) ) ); Word32 hdrm_x2_shift = L_shl_sat( 1, add( hdrm, sub( 31, x2_shift ) ) ); FOR( i = 0; i < N; i++ ) { y[i] = W_round64_L( W_mac_32_32( W_mult_32_32( x1[i], hdrm_x1_shift ), x2[i], hdrm_x2_shift ) ); move32(); } #else FOR( i = 0; i < N; i++ ) { y[i] = L_add( L_shr( x1[i], hdrm + x1_shift ), L_shr( x2[i], hdrm + x2_shift ) ); move32(); } #endif *y_e = add( s_max( x1_e, x2_e ), hdrm ); move16(); Loading Loading
lib_com/tools_fx.c +1 −11 Original line number Diff line number Diff line Loading @@ -4474,22 +4474,12 @@ void v_add_fixed_me( Word16 x1_shift = sub( s_max( x1_e, x2_e ), x1_e ); Word16 x2_shift = sub( s_max( x1_e, x2_e ), x2_e ); #if 1//def IMPRO_PRECISION Word32 hdrm_x1_shift = L_shl_sat( 1, add( hdrm, sub( 31, x1_shift ) ) ); Word32 hdrm_x2_shift = L_shl_sat( 1, add( hdrm, sub( 31, x2_shift ) ) ); FOR( i = 0; i < N; i++ ) { y[i] = W_round64_L( W_mac_32_32( W_mult_32_32( x1[i], hdrm_x1_shift ), x2[i], hdrm_x2_shift ) ); move32(); } #else FOR( i = 0; i < N; i++ ) { y[i] = L_add( L_shr( x1[i], hdrm + x1_shift ), L_shr( x2[i], hdrm + x2_shift ) ); move32(); } #endif *y_e = add( s_max( x1_e, x2_e ), hdrm ); move16(); Loading