aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-10-09 18:48:37 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:55:45 +0000
commit67d94d29c154a376d12e582421323c1d250da20c (patch)
treeaa027540d7b90a8797f3a93e56bf5fa5d4d77443 /src
parentaf7e60026f74a7cbb2156862f72508fd9147ea56 (diff)
downloadComputeLibrary-67d94d29c154a376d12e582421323c1d250da20c.tar.gz
COMPMID-1451: Fix compilation issues under gcc 8
Change-Id: I05d3447336ee0bf330e2a0c58fc6904be1db8f83 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/152626 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/NEON/kernels/NENonLinearFilterKernel.cpp7
-rw-r--r--src/core/NEON/kernels/NENormalizationLayerKernel.cpp5
-rw-r--r--src/core/NEON/kernels/arm_gemm/merges/a64_merge_int32_12x8.hpp2
3 files changed, 8 insertions, 6 deletions
diff --git a/src/core/NEON/kernels/NENonLinearFilterKernel.cpp b/src/core/NEON/kernels/NENonLinearFilterKernel.cpp
index a6e2b00302..52dbe26f42 100644
--- a/src/core/NEON/kernels/NENonLinearFilterKernel.cpp
+++ b/src/core/NEON/kernels/NENonLinearFilterKernel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -887,9 +887,12 @@ void NENonLinearFilterKernel::non_linear_filter_generic(const Window &win)
input_ptrs[k_row_half + i] = _input->buffer() + _input->info()->offset_element_in_bytes(Coordinates(-k_col_half, i));
}
+ std::array<uint8_t, mask_size> vals{ {} };
+
execute_window_loop(win, [&](const Coordinates & id)
{
- std::array<uint8_t, mask_size> vals{ {} };
+ // Clear array
+ std::fill(std::begin(vals), std::end(vals), 0);
size_t v = 0;
size_t m = 0;
diff --git a/src/core/NEON/kernels/NENormalizationLayerKernel.cpp b/src/core/NEON/kernels/NENormalizationLayerKernel.cpp
index fe6b69c455..febc75944f 100644
--- a/src/core/NEON/kernels/NENormalizationLayerKernel.cpp
+++ b/src/core/NEON/kernels/NENormalizationLayerKernel.cpp
@@ -195,7 +195,6 @@ void NENormalizationLayerKernel::normalize_float(const Window &window)
// We account padding across X only and we iterate over rows
const int min_left = (dim == 2) ? 0 : -static_cast<int>(border_size().left);
const int max_right = (dim == 2) ? total_size : total_size + border_size().left;
- const int min_top = 0;
const int max_bottom = _input->info()->dimension(dim_y) - 1;
if(dt == DataType::F32)
@@ -209,7 +208,7 @@ void NENormalizationLayerKernel::normalize_float(const Window &window)
// Get range to normalize
const int current_row = do_2D_norm ? id[dim_y] : 0;
const int current_slice = id[dim];
- const int first_row = do_2D_norm ? std::max(current_row - radius, min_top) : 0;
+ const int first_row = do_2D_norm ? std::max(current_row - radius, 0) : 0;
const int last_row = do_2D_norm ? std::min(current_row + radius, max_bottom) : 0;
const int first_slice = std::max(current_slice - radius, min_left);
const int last_slice = std::min(current_slice + radius, max_right);
@@ -246,7 +245,7 @@ void NENormalizationLayerKernel::normalize_float(const Window &window)
// Get range to normalize
const int current_row = do_2D_norm ? id[dim_y] : 0;
const int current_slice = id[dim];
- const int first_row = do_2D_norm ? std::max(current_row - radius, min_top) : 0;
+ const int first_row = do_2D_norm ? std::max(current_row - radius, 0) : 0;
const int last_row = do_2D_norm ? std::min(current_row + radius, max_bottom) : 0;
const int first_slice = std::max(current_slice - radius, min_left);
const int last_slice = std::min(current_slice + radius, max_right);
diff --git a/src/core/NEON/kernels/arm_gemm/merges/a64_merge_int32_12x8.hpp b/src/core/NEON/kernels/arm_gemm/merges/a64_merge_int32_12x8.hpp
index ee32ce7630..35d4cc5d73 100644
--- a/src/core/NEON/kernels/arm_gemm/merges/a64_merge_int32_12x8.hpp
+++ b/src/core/NEON/kernels/arm_gemm/merges/a64_merge_int32_12x8.hpp
@@ -273,7 +273,7 @@ inline void MergeResults<12, 8, false>(int32_t *out, const int32_t *in, const in
template<>
inline void MergeResults<12, 8>(uint32_t *out, const uint32_t *in, const int ldout, const int y0, const int ymax, const int x0, const int xmax, const uint32_t alpha, const uint32_t beta) {
// Since the above code uses only MUL and MLA instructions discard the "unsignedness" and proceed safely.
- MergeResults<12, 8>(reinterpret_cast<int32_t*>(out), reinterpret_cast<const int32_t*>(in), ldout, y0, ymax, x0, xmax, static_cast<const int32_t>(alpha), static_cast<const int32_t>(beta));
+ MergeResults<12, 8>(reinterpret_cast<int32_t*>(out), reinterpret_cast<const int32_t*>(in), ldout, y0, ymax, x0, xmax, static_cast<int32_t>(alpha), static_cast<int32_t>(beta));
}
#endif // __aarch64__