diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2022-06-28 19:46:42 +0100 |
---|---|---|
committer | Michalis Spyrou <michalis.spyrou@arm.com> | 2022-07-04 16:00:54 +0000 |
commit | e417ff1d9fde119a238582a3b1feb914edd95c38 (patch) | |
tree | 7fe8c97e277931bd7d40ce1c98d13851daba0939 /src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp | |
parent | 84a0941cf5bdaffc6127d4cae2e949e6e9109e4a (diff) | |
download | ComputeLibrary-e417ff1d9fde119a238582a3b1feb914edd95c38.tar.gz |
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 <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7871
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp')
-rw-r--r-- | src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
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 <ArithmeticOperation op> void sve_s32_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_arithmetic_op<op, int32_t>(in1, in2, out, window); + return elementwise_arithmetic_op<int32_t>(in1, in2, out, op, window); } template void sve_s32_elementwise_binary<ArithmeticOperation::ADD>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s32_elementwise_binary<ArithmeticOperation::SUB>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -45,7 +45,7 @@ template void sve_s32_elementwise_binary<ArithmeticOperation::PRELU>(const ITens template <ArithmeticOperation op> void sve_s16_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_arithmetic_op<op, int16_t>(in1, in2, out, window); + return elementwise_arithmetic_op<int16_t>(in1, in2, out, op, window); } template void sve_s16_elementwise_binary<ArithmeticOperation::ADD>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s16_elementwise_binary<ArithmeticOperation::SUB>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -59,7 +59,7 @@ template void sve_s16_elementwise_binary<ArithmeticOperation::PRELU>(const ITens template <ComparisonOperation op> void sve_u8_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_comparison_op<op, uint8_t>(in1, in2, out, window); + return elementwise_comparison_op<uint8_t>(in1, in2, out, op, window); } template void sve_u8_comparison_elementwise_binary<ComparisonOperation::Equal>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_u8_comparison_elementwise_binary<ComparisonOperation::NotEqual>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -71,7 +71,7 @@ template void sve_u8_comparison_elementwise_binary<ComparisonOperation::LessEqua template <ComparisonOperation op> void sve_s16_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_comparison_op<op, int16_t>(in1, in2, out, window); + return elementwise_comparison_op<int16_t>(in1, in2, out, op, window); } template void sve_s16_comparison_elementwise_binary<ComparisonOperation::Equal>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s16_comparison_elementwise_binary<ComparisonOperation::NotEqual>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); @@ -83,7 +83,7 @@ template void sve_s16_comparison_elementwise_binary<ComparisonOperation::LessEqu template <ComparisonOperation op> void sve_s32_comparison_elementwise_binary(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window) { - return elementwise_comparison_op<op, int32_t>(in1, in2, out, window); + return elementwise_comparison_op<int32_t>(in1, in2, out, op, window); } template void sve_s32_comparison_elementwise_binary<ComparisonOperation::Equal>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); template void sve_s32_comparison_elementwise_binary<ComparisonOperation::NotEqual>(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window); |