diff --git a/mindspore/lite/src/runtime/kernel/arm/fp16/arithmetic_fp16.cc b/mindspore/lite/src/runtime/kernel/arm/fp16/arithmetic_fp16.cc index 8d2e44d402..c32a210743 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp16/arithmetic_fp16.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp16/arithmetic_fp16.cc @@ -104,6 +104,7 @@ int ArithmeticFP16CPUKernel::Init() { arithmetic_run_ = ElementSubFp16; break; } + break; case PrimitiveType_Div: switch (arithmeticParameter_->activation_type_) { case schema::ActivationType_RELU: @@ -116,32 +117,46 @@ int ArithmeticFP16CPUKernel::Init() { arithmetic_run_ = ElementDivFp16; break; } + break; case PrimitiveType_FloorMod: arithmetic_run_ = ElementFloorModFp16; + break; case PrimitiveType_FloorDiv: arithmetic_run_ = ElementFloorDivFp16; + break; case PrimitiveType_LogicalAnd: arithmetic_run_ = ElementLogicalAndFp16; + break; case PrimitiveType_LogicalOr: arithmetic_run_ = ElementLogicalOrFp16; + break; case PrimitiveType_SquaredDifference: arithmetic_run_ = ElementSquaredDifferenceFp16; + break; case PrimitiveType_Maximum: arithmetic_run_ = ElementMaximumFp16; + break; case PrimitiveType_Minimum: arithmetic_run_ = ElementMinimumFp16; + break; case PrimitiveType_NotEqual: arithmetic_run_ = ElementNotEqualFp16; + break; case PrimitiveType_Equal: arithmetic_run_ = ElementEqualFp16; + break; case PrimitiveType_Less: arithmetic_run_ = ElementLessFp16; + break; case PrimitiveType_LessEqual: arithmetic_run_ = ElementLessEqual; + break; case PrimitiveType_Greater: arithmetic_run_ = ElementGreaterFp16; + break; case PrimitiveType_GreaterEqual: arithmetic_run_ = ElementGreaterEqualFp16; + break; default: MS_LOG(ERROR) << "Error Operator type " << op_parameter_->type_; arithmetic_run_ = nullptr; @@ -219,42 +234,55 @@ int ArithmeticFP16CPUKernel::ReSize() { case PrimitiveType_FloorMod: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptFloorModFp16; + break; case PrimitiveType_FloorDiv: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptFloorDivFp16; + break; case PrimitiveType_LogicalAnd: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptLogicalAndFp16; + break; case PrimitiveType_LogicalOr: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptLogicalOrFp16; + break; case PrimitiveType_SquaredDifference: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptSquaredDifferenceFp16; + break; case PrimitiveType_Maximum: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptMaximumFp16; + break; case PrimitiveType_Minimum: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptMinimumFp16; + break; case PrimitiveType_NotEqual: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptNotEqualFp16; + break; case PrimitiveType_Equal: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptEqualFp16; + break; case PrimitiveType_Less: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptLessFp16; + break; case PrimitiveType_LessEqual: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptLessEqualFp16; + break; case PrimitiveType_Greater: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptGreaterFp16; + break; case PrimitiveType_GreaterEqual: arithmeticParameter_->broadcasting_ = false; arithmetic_opt_run_ = ElementOptGreaterEqualFp16; + break; default: break; }