diff options
author | Pablo Marquez Tello <pablo.tello@arm.com> | 2021-05-27 15:07:29 +0100 |
---|---|---|
committer | Pablo Marquez Tello <pablo.tello@arm.com> | 2021-06-02 09:05:39 +0000 |
commit | 760b494acdd6c0184e15b86e40256b27d6312b7a (patch) | |
tree | a3c557dbe8153fc1cd0a6158747a105991a203eb /src/core/NEON | |
parent | 9fc3be6250964a2da74cb7a05cf8e352a896ac80 (diff) | |
download | ComputeLibrary-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')
-rw-r--r-- | src/core/NEON/kernels/arm_conv/pooling/kernels/a64_s8_nhwc_avg_generic_depthfirst/generic.cpp | 8 |
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__( |