diff --git a/src/layer/arm/mish_arm.cpp b/src/layer/arm/mish_arm.cpp index d54fd7656..0b3352428 100644 --- a/src/layer/arm/mish_arm.cpp +++ b/src/layer/arm/mish_arm.cpp @@ -122,30 +122,6 @@ int Mish_arm::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) con int size = w * h; int elempack = bottom_top_blob.elempack; - if (elempack == 8) - { - #pragma omp parallel for num_threads(opt.num_threads) - for (int q = 0; q < channels; q++) - { - __fp16* ptr = bottom_top_blob.channel(q); - - for (int i = 0; i < size; i++) - { - float16x8_t _p = vld1q_f16(ptr); - float32x4_t _p_low = vcvt_f32_f16(vget_low_f16(_p)); - float32x4_t _p_high = vcvt_f32_f16(vget_high_f16(_p)); - _p_low = vmulq_f32(_p_low, tanh_ps(log_ps(vaddq_f32(exp_ps(_p_low), vdupq_n_f32(1.f))))); - _p_high = vmulq_f32(_p_high, tanh_ps(log_ps(vaddq_f32(exp_ps(_p_high), vdupq_n_f32(1.f))))); - _p = vcombine_f16(vcvt_f16_f32(_p_low), vcvt_f16_f32(_p_high)); - vst1q_f16(ptr, _p); - - ptr += 8; - } - } - - return 0; - } - if (elempack == 4) { #pragma omp parallel for num_threads(opt.num_threads) diff --git a/src/layer/arm/sigmoid_arm.cpp b/src/layer/arm/sigmoid_arm.cpp index d8133870c..c1d6b0497 100644 --- a/src/layer/arm/sigmoid_arm.cpp +++ b/src/layer/arm/sigmoid_arm.cpp @@ -126,30 +126,6 @@ int Sigmoid_arm::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) int size = w * h; int elempack = bottom_top_blob.elempack; - if (elempack == 8) - { - #pragma omp parallel for num_threads(opt.num_threads) - for (int q = 0; q < channels; q++) - { - __fp16* ptr = bottom_top_blob.channel(q); - - for (int i = 0; i < size; i++) - { - float16x8_t _p = vld1q_f16(ptr); - float32x4_t _p_low = vcvt_f32_f16(vget_low_f16(_p)); - float32x4_t _p_high = vcvt_f32_f16(vget_high_f16(_p)); - _p_low = sigmoid_ps(_p_low); - _p_high = sigmoid_ps(_p_high); - _p = vcombine_f16(vcvt_f16_f32(_p_low), vcvt_f16_f32(_p_high)); - vst1q_f16(ptr, _p); - - ptr += 8; - } - } - - return 0; - } - if (elempack == 4) { #pragma omp parallel for num_threads(opt.num_threads) diff --git a/src/layer/arm/swish_arm.cpp b/src/layer/arm/swish_arm.cpp index 88734123c..1d44e2eb2 100644 --- a/src/layer/arm/swish_arm.cpp +++ b/src/layer/arm/swish_arm.cpp @@ -125,31 +125,6 @@ int Swish_arm::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) co int size = w * h; int elempack = bottom_top_blob.elempack; - if (elempack == 8) - { - #pragma omp parallel for num_threads(opt.num_threads) - for (int q = 0; q < channels; q++) - { - __fp16* ptr = bottom_top_blob.channel(q); - - float32x4_t _one = vdupq_n_f32(1.f); - for (int i = 0; i < size; i++) - { - float16x8_t _p = vld1q_f16(ptr); - float32x4_t _p_low = vcvt_f32_f16(vget_low_f16(_p)); - float32x4_t _p_high = vcvt_f32_f16(vget_high_f16(_p)); - _p_low = div_ps(_p_low, vaddq_f32(_one, exp_ps(vnegq_f32(_p_low)))); - _p_high = div_ps(_p_high, vaddq_f32(_one, exp_ps(vnegq_f32(_p_high)))); - _p = vcombine_f16(vcvt_f16_f32(_p_low), vcvt_f16_f32(_p_high)); - vst1q_f16(ptr, _p); - - ptr += 8; - } - } - - return 0; - } - if (elempack == 4) { #pragma omp parallel for num_threads(opt.num_threads) diff --git a/src/layer/arm/tanh_arm.cpp b/src/layer/arm/tanh_arm.cpp index ef38e6e60..f4837e5c4 100644 --- a/src/layer/arm/tanh_arm.cpp +++ b/src/layer/arm/tanh_arm.cpp @@ -122,30 +122,6 @@ int TanH_arm::forward_inplace_fp16s(Mat& bottom_top_blob, const Option& opt) con int size = w * h; int elempack = bottom_top_blob.elempack; - if (elempack == 8) - { - #pragma omp parallel for num_threads(opt.num_threads) - for (int q = 0; q < channels; q++) - { - __fp16* ptr = bottom_top_blob.channel(q); - - for (int i = 0; i < size; i++) - { - float16x8_t _p = vld1q_f16(ptr); - float32x4_t _p_low = vcvt_f32_f16(vget_low_f16(_p)); - float32x4_t _p_high = vcvt_f32_f16(vget_high_f16(_p)); - _p_low = tanh_ps(_p_low); - _p_high = tanh_ps(_p_high); - _p = vcombine_f16(vcvt_f16_f32(_p_low), vcvt_f16_f32(_p_high)); - vst1q_f16(ptr, _p); - - ptr += 8; - } - } - - return 0; - } - if (elempack == 4) { #pragma omp parallel for num_threads(opt.num_threads)