fix: fix loop overflow

This commit is contained in:
shouyud 2025-12-16 16:58:52 -05:00
parent cf3a65fb73
commit 52f43fb962
2 changed files with 3 additions and 3 deletions

View File

@ -81,7 +81,7 @@ void hvx_mul_f32(const uint8_t * restrict src0,
slinep = *vec_in1++; slinep = *vec_in1++;
sline2p = *vec_in2++; sline2p = *vec_in2++;
#pragma unroll(4) #pragma unroll(4)
for(uint32_t i = step_of_1 -1; i> 0; i--){ for(int i = step_of_1 -1; i> 0; i--){
slinec = *vec_in1++; slinec = *vec_in1++;
sline2c = *vec_in2++; sline2c = *vec_in2++;
sline = Q6_V_valign_VVR(slinec, slinep, (size_t) src0); sline = Q6_V_valign_VVR(slinec, slinep, (size_t) src0);
@ -540,7 +540,7 @@ void hvx_mul_scalar_f32(const uint8_t * restrict src, const float val, uint8_t *
slinep = *input_v_ptr++; slinep = *input_v_ptr++;
#pragma unroll(4) #pragma unroll(4)
for(uint32_t i = step_of_1 - 1; i > 0; i--){ for(int i = step_of_1 - 1; i > 0; i--){
slinec = *input_v_ptr++; slinec = *input_v_ptr++;
sline = Q6_V_valign_VVR(slinec, slinep, (size_t) src); sline = Q6_V_valign_VVR(slinec, slinep, (size_t) src);
*((HVX_UVector *)(output_v_ptr++)) = Q6_Vsf_equals_Vqf32( Q6_Vqf32_vmpy_VsfVsf(sline, val_vec)); *((HVX_UVector *)(output_v_ptr++)) = Q6_Vsf_equals_Vqf32( Q6_Vqf32_vmpy_VsfVsf(sline, val_vec));

View File

@ -1026,7 +1026,7 @@ static inline void hvx_sigmoid_f32(const uint8_t * restrict src, uint8_t * restr
slinep = *input_v_ptr++; slinep = *input_v_ptr++;
#pragma unroll(4) #pragma unroll(4)
for(uint32_t i = step_of_1 -1; i> 0; i--){ for(int i = step_of_1 -1; i> 0; i--){
slinec = *input_v_ptr++; slinec = *input_v_ptr++;
sline = Q6_V_valign_VVR(slinec, slinep, (size_t) input); sline = Q6_V_valign_VVR(slinec, slinep, (size_t) input);
*((HVX_UVector *)(output_v_ptr++)) = hvx_vec_fast_sigmoid_fp32_guard(sline, one, max_exp, min_exp); *((HVX_UVector *)(output_v_ptr++)) = hvx_vec_fast_sigmoid_fp32_guard(sline, one, max_exp, min_exp);