@@ -143,7 +143,7 @@ int Convolution1D_riscv::forward_fp16s(const Mat& bottom_blob, Mat& top_blob, co
143143 {
144144 float val = (float )*slptr++;
145145 vfloat16m1_t _w0 = __riscv_vle16_v_f16m1 (kptr, vl);
146- _sum = __riscv_vfwmacc_vf_f32m2 (_sum, val, _w0, vl);
146+ _sum = __riscv_vfwmacc_vf_f32m2 (_sum, (__fp16) val, _w0, vl);
147147
148148 kptr += packn;
149149 }
@@ -186,7 +186,7 @@ int Convolution1D_riscv::forward_fp16s(const Mat& bottom_blob, Mat& top_blob, co
186186 {
187187 float val = (float )sptr[0 ];
188188 vfloat16m1_t _w = __riscv_vle16_v_f16m1 (kptr, vl);
189- _sum = __riscv_vfwmacc_vf_f32m2 (_sum, val, _w, vl);
189+ _sum = __riscv_vfwmacc_vf_f32m2 (_sum, (__fp16) val, _w, vl);
190190
191191 sptr += dilation_w;
192192 kptr += packn;
@@ -353,7 +353,7 @@ int Convolution1D_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, c
353353
354354 for (int j = 0 ; j < outw; j++)
355355 {
356- vfloat16m1_t _sum = __riscv_vfmv_v_f_f16m1 (0 .f , vl);
356+ vfloat16m1_t _sum = __riscv_vfmv_v_f_f16m1 ((__fp16) 0 .f , vl);
357357
358358 if (bias_term)
359359 {
@@ -400,7 +400,7 @@ int Convolution1D_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, c
400400
401401 for (int j = 0 ; j < outw; j++)
402402 {
403- vfloat16m1_t _sum = __riscv_vfmv_v_f_f16m1 (0 .f , vl);
403+ vfloat16m1_t _sum = __riscv_vfmv_v_f_f16m1 ((__fp16) 0 .f , vl);
404404
405405 if (bias_term)
406406 {
@@ -443,14 +443,14 @@ int Convolution1D_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, c
443443
444444 for (int j = 0 ; j < outw; j++)
445445 {
446- __fp16 sum = 0 .f ;
446+ __fp16 sum = (__fp16) 0 .f ;
447447
448448 if (bias_term)
449449 {
450450 sum = ((const __fp16*)bias_data_fp16)[p];
451451 }
452452
453- vfloat16m1_t _sum = __riscv_vfmv_v_f_f16m1 (0 .f , vl);
453+ vfloat16m1_t _sum = __riscv_vfmv_v_f_f16m1 ((__fp16) 0 .f , vl);
454454
455455 const __fp16* kptr = weight_data_fp16.channel (p);
456456
@@ -471,7 +471,7 @@ int Convolution1D_riscv::forward_fp16sa(const Mat& bottom_blob, Mat& top_blob, c
471471
472472 sum = __riscv_vfmv_f_s_f16m1_f16 (__riscv_vfredusum_vs_f16m1_f16m1 (_sum, __riscv_vfmv_s_f_f16m1 (sum, vl), vl));
473473
474- sum = activation_ss (sum, activation_type, activation_params);
474+ sum = (__fp16) activation_ss (sum, activation_type, activation_params);
475475
476476 outptr[j] = sum;
477477 }
0 commit comments