aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels
diff options
context:
space:
mode:
authorPablo Marquez Tello <pablo.tello@arm.com>2021-05-27 15:07:29 +0100
committerPablo Marquez Tello <pablo.tello@arm.com>2021-06-02 09:05:39 +0000
commit760b494acdd6c0184e15b86e40256b27d6312b7a (patch)
treea3c557dbe8153fc1cd0a6158747a105991a203eb /src/core/NEON/kernels
parent9fc3be6250964a2da74cb7a05cf8e352a896ac80 (diff)
downloadComputeLibrary-760b494acdd6c0184e15b86e40256b27d6312b7a.tar.gz
Fixed the compiler warning -Werror=type-limits
* Comparison is always false due to limited range of data type. * rescale_value is truncated to int32_t and then is compared agains (1ll <<31) which will be always false * Resolves MLCE-508 Change-Id: I8dfd04b16beb5c2c3994eb817ed7a992fb63ed31 Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5741 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Manuel Bottini <manuel.bottini@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels')
-rw-r--r--src/core/NEON/kernels/arm_conv/pooling/kernels/a64_s8_nhwc_avg_generic_depthfirst/generic.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/NEON/kernels/arm_conv/pooling/kernels/a64_s8_nhwc_avg_generic_depthfirst/generic.cpp b/src/core/NEON/kernels/arm_conv/pooling/kernels/a64_s8_nhwc_avg_generic_depthfirst/generic.cpp
index 5d7391dc26..405ae66755 100644
--- a/src/core/NEON/kernels/arm_conv/pooling/kernels/a64_s8_nhwc_avg_generic_depthfirst/generic.cpp
+++ b/src/core/NEON/kernels/arm_conv/pooling/kernels/a64_s8_nhwc_avg_generic_depthfirst/generic.cpp
@@ -83,13 +83,13 @@ void a64_s8_nhwc_avg_generic_depthfirst_impl(
shift_value--;
f_rescale_value *= 2.0f;
}
-
- rescale_value = static_cast<int32_t>(round(f_rescale_value * static_cast<float>(1ll << 31)));
- if (static_cast<int64_t>(rescale_value) == (1ll << 31))
+ int64_t large_rescale_value = round(f_rescale_value * static_cast<float>(1ll << 31));
+ if (large_rescale_value == (1ll << 31))
{
shift_value++;
- rescale_value >>= 1;
+ large_rescale_value >>= 1;
}
+ rescale_value = static_cast<int32_t>(large_rescale_value);
}
__asm__ __volatile__(