From e417ff1d9fde119a238582a3b1feb914edd95c38 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Tue, 28 Jun 2022 19:46:42 +0100 Subject: Fix build errors on armv8.6 SVE2 with NDK 23 and 24 Extensive use of templates resulted in a compiler crash on NDK 23 and 24. This rework solves the issue and also reduces the library size by 101Kb. Resolves: COMPMID-5384 Change-Id: I9c5c68c5e36f236b0891e44d25478743417fb16d Signed-off-by: Michalis Spyrou Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7871 Reviewed-by: Gunes Bayir Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Benchmark: Arm Jenkins --- src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp') diff --git a/src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp b/src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp index 8f7e27184b..c313fc6e04 100644 --- a/src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp +++ b/src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp @@ -31,7 +31,7 @@ namespace cpu template void sve_s32_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_arithmetic_op(in1, in2, out, window); + return elementwise_arithmetic_op(in1, in2, out, op, window); } template void sve_s32_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s32_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -45,7 +45,7 @@ template void sve_s32_elementwise_binary(const ITens template void sve_s16_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_arithmetic_op(in1, in2, out, window); + return elementwise_arithmetic_op(in1, in2, out, op, window); } template void sve_s16_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s16_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -59,7 +59,7 @@ template void sve_s16_elementwise_binary(const ITens template void sve_u8_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_comparison_op(in1, in2, out, window); + return elementwise_comparison_op(in1, in2, out, op, window); } template void sve_u8_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_u8_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -71,7 +71,7 @@ template void sve_u8_comparison_elementwise_binary void sve_s16_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_comparison_op(in1, in2, out, window); + return elementwise_comparison_op(in1, in2, out, op, window); } template void sve_s16_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s16_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -83,7 +83,7 @@ template void sve_s16_comparison_elementwise_binary void sve_s32_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_comparison_op(in1, in2, out, window); + return elementwise_comparison_op(in1, in2, out, op, window); } template void sve_s32_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s32_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); -- cgit v1.2.1