aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/kernels/CpuElementwiseUnaryKernel.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2021-10-05 12:56:07 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2021-10-06 12:30:14 +0000
commit1024d9f8b4d94266d7a8d7376232a68c251e3f38 (patch)
tree9bc43c33502962ffa22f8cef29d5b305b53f2464 /src/cpu/kernels/CpuElementwiseUnaryKernel.cpp
parent8b8405aec8af17b04205b60094680751abfdc94a (diff)
downloadComputeLibrary-1024d9f8b4d94266d7a8d7376232a68c251e3f38.tar.gz
Add missing ISA selection heuristics
- Fixes identification heuristics for SVE2 based kernels in CpuAdd - Adds identification heuristics for SVE to CpuElementwise Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: Id287dbd72fba81afc415d7aec74e06aae11984e3 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6369 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu/kernels/CpuElementwiseUnaryKernel.cpp')
-rw-r--r--src/cpu/kernels/CpuElementwiseUnaryKernel.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cpu/kernels/CpuElementwiseUnaryKernel.cpp b/src/cpu/kernels/CpuElementwiseUnaryKernel.cpp
index c587e18850..3573fa0815 100644
--- a/src/cpu/kernels/CpuElementwiseUnaryKernel.cpp
+++ b/src/cpu/kernels/CpuElementwiseUnaryKernel.cpp
@@ -62,17 +62,17 @@ static const ElementwiseUnaryKernel available_kernels[] =
#if defined(ARM_COMPUTE_ENABLE_SVE)
{
"sve_fp32_elementwise_unary",
- [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::F32; },
+ [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::F32 && data.ci.has_sve(); },
REGISTER_FP32_SVE(arm_compute::cpu::elementwise_sve_op<float>),
},
{
"sve_fp16_elementwise_unary",
- [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::F16; },
+ [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::F16 && data.ci.has_sve(); },
REGISTER_FP16_SVE(arm_compute::cpu::elementwise_sve_op<__fp16>),
},
{
"sve_s32_elementwise_unary",
- [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::S32; },
+ [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::S32 && data.ci.has_sve(); },
REGISTER_INTEGER_SVE(arm_compute::cpu::elementwise_sve_op<int32_t>),
},
#endif // defined(ARM_COMPUTE_ENABLE_SVE)
@@ -85,7 +85,7 @@ static const ElementwiseUnaryKernel available_kernels[] =
#if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)
{
"neon_fp16_elementwise_unary",
- [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::F16; },
+ [](const ElementwiseUnarySelectorData & data) { return data.dt == DataType::F16 && data.ci.has_fp16(); },
REGISTER_FP32_NEON(arm_compute::cpu::elementwise_op<__fp16>),
},
#endif // defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)