diff --git a/dnn/src/arm_common/elemwise/binary/algo.h b/dnn/src/arm_common/elemwise/binary/algo.h index d270dddedddc065b575f007ba1f2746bb7367629..6daddc216f168db6f8c84182dee3f5751e6f2e86 100644 --- a/dnn/src/arm_common/elemwise/binary/algo.h +++ b/dnn/src/arm_common/elemwise/binary/algo.h @@ -11,7 +11,7 @@ namespace arm_common { } \ const char* name() const override { \ if (m_name.empty()) { \ - m_name = ssprintf("Elemwise::AlgoBinaryCase" #case); \ + m_name = ssprintf("Elemwise::AlgoBinaryCaseArmCommon" #case); \ } \ return m_name.c_str(); \ } \ diff --git a/dnn/src/fallback/elemwise/opr_impl.cpp b/dnn/src/fallback/elemwise/opr_impl.cpp index 9af9b40bdfa16f4c0841dda5963b3050d32d4bcb..12276a794f6e8a44c6f8ebf9bc2c6c7580fd26bb 100644 --- a/dnn/src/fallback/elemwise/opr_impl.cpp +++ b/dnn/src/fallback/elemwise/opr_impl.cpp @@ -267,16 +267,6 @@ ElemwiseImpl::KernParam ElemwiseImpl::make_kern_param(ElemwiseImpl* opr) { return kern_param; } - if (is_vector(src0.layout) && is_broadcasted_3dim_like(src1.layout, binfo)) { - kern_param.broad_cast_type = BcastType::VEC_BCASTX0X; - return kern_param; - } - - if (is_vector(src1.layout) && is_broadcasted_3dim_like(src0.layout, binfo)) { - kern_param.broad_cast_type = BcastType::BCASTX0X_VEC; - return kern_param; - } - if (is_legal_layout_for_nhwc(src1.layout) && is_NHWC_broadcasted_channel_like(src0.layout, binfo)) { kern_param.broad_cast_type = BcastType::BCAST111C_VEC; @@ -302,6 +292,16 @@ ElemwiseImpl::KernParam ElemwiseImpl::make_kern_param(ElemwiseImpl* opr) { kern_param.broad_cast_type = BcastType::BCAST101xX_VEC; return kern_param; } + + if (is_vector(src0.layout) && is_broadcasted_3dim_like(src1.layout, binfo)) { + kern_param.broad_cast_type = BcastType::VEC_BCASTX0X; + return kern_param; + } + + if (is_vector(src1.layout) && is_broadcasted_3dim_like(src0.layout, binfo)) { + kern_param.broad_cast_type = BcastType::BCASTX0X_VEC; + return kern_param; + } } else if (opr->m_src->size() == 1) { kern_param.broad_cast_type = BcastType::VEC; kern_param.unary_elparam = opr->make_elemwise_op_param<1>();