diff --git a/dnn/src/aarch64/matrix_mul/algos.cpp b/dnn/src/aarch64/matrix_mul/algos.cpp index 0b640d3289d7115040d8099d4905df9f70434fa4..13104c8cd942af9788640effe173197a1f8b9ed3 100644 --- a/dnn/src/aarch64/matrix_mul/algos.cpp +++ b/dnn/src/aarch64/matrix_mul/algos.cpp @@ -908,6 +908,9 @@ bool MatrixMulImpl::AlgoInt8x8x16MK4_16x12x4::preferred( return false; #else auto arch = cpuinfo_get_current_core()->uarch; +#ifdef __IN_TEE_ENV__ + arch = cpuinfo_uarch_unknown; +#endif bool little_core = arch == cpuinfo_uarch_cortex_a53 || arch == cpuinfo_uarch_cortex_a55; return little_core; @@ -986,6 +989,9 @@ bool MatrixMulImpl::AlgoInt8x8x16MK4_4x4x8::preferred( return false; #else auto arch = cpuinfo_get_current_core()->uarch; +#ifdef __IN_TEE_ENV__ + arch = cpuinfo_uarch_unknown; +#endif bool little_core = arch == cpuinfo_uarch_cortex_a53 || arch == cpuinfo_uarch_cortex_a55; return !little_core; diff --git a/dnn/src/aarch64/matrix_mul/fp32/strategy.cpp b/dnn/src/aarch64/matrix_mul/fp32/strategy.cpp index 14c1238bda2c3d837d458ba21451afe564fcb7f8..9b5d513847d98ce62bca0f85d96388c65a50981d 100644 --- a/dnn/src/aarch64/matrix_mul/fp32/strategy.cpp +++ b/dnn/src/aarch64/matrix_mul/fp32/strategy.cpp @@ -181,6 +181,9 @@ void sgemm_8x12::kern(const float* packA, const float* packB, size_t M, is_first_k); #else auto arch = cpuinfo_get_current_core()->uarch; +#ifdef __IN_TEE_ENV__ + arch = cpuinfo_uarch_unknown; +#endif if (arch == cpuinfo_uarch_cortex_a53) { sgemm_8x12_helper(packA, packB, M, N, K, C, LDC, is_first_k); @@ -274,6 +277,9 @@ void sgemm_mk4_8x12::kern(const float* packA, const float* packB, size_t M, is_first_k); #else auto arch = cpuinfo_get_current_core()->uarch; +#ifdef __IN_TEE_ENV__ + arch = cpuinfo_uarch_unknown; +#endif if (arch == cpuinfo_uarch_cortex_a53) { sgemm_mk4_8x12_helper(packA, packB, M, N, K, C, LDC, is_first_k); diff --git a/dnn/src/arm_common/conv_bias/fp32/direct_kernels/f32_direct_nchw_nchw44_kern_common.h b/dnn/src/arm_common/conv_bias/fp32/direct_kernels/f32_direct_nchw_nchw44_kern_common.h index 9184f278c3f40ee6e186458be249de564415e5b3..8090c5e5ce2c9005f365fc59cc1e299d45be1324 100644 --- a/dnn/src/arm_common/conv_bias/fp32/direct_kernels/f32_direct_nchw_nchw44_kern_common.h +++ b/dnn/src/arm_common/conv_bias/fp32/direct_kernels/f32_direct_nchw_nchw44_kern_common.h @@ -851,6 +851,10 @@ struct ConvDirectFp32NchwNchw44 { #else auto arch_tag = CpuTag::A7_TAG; #endif + +#ifdef __IN_TEE_ENV__ + arch_tag = CpuTag::DEFAULT_CPU_TAG; +#endif if (arch_tag == CpuTag::A7_TAG) { for (int oc_idx = 0; oc_idx < oc_end; oc_idx += big_oc_step) { const int weight_offset = oc_idx * ic * fh * fw;