From 490bf2e8e87999c6e5a32bd734595cb2906c7c57 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Fri, 29 Sep 2017 11:24:55 +0100 Subject: COMPMID-417 Fix bare metal build for armv7a Change-Id: I566a41061b75c3a1dad5374fcdc84372e6cfbe89 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89670 Tested-by: Kaizen Reviewed-by: Anthony Barbier --- arm_compute/core/NEON/kernels/NELKTrackerKernel.h | 4 ++-- src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp | 2 +- src/core/NEON/kernels/NEFillBorderKernel.cpp | 2 +- src/core/NEON/kernels/NEFillInnerBorderKernel.cpp | 2 +- src/core/NEON/kernels/NELKTrackerKernel.cpp | 9 +++++---- src/core/NEON/kernels/NENormalizationLayerKernel.cpp | 2 +- src/runtime/NEON/functions/NECannyEdge.cpp | 2 +- src/runtime/NEON/functions/NEDepthConcatenate.cpp | 2 +- src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp | 2 +- src/runtime/NEON/functions/NEIntegralImage.cpp | 2 +- src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp | 4 ++-- src/runtime/NEON/functions/NEPoolingLayer.cpp | 2 +- src/runtime/NEON/functions/NEReductionOperation.cpp | 2 +- 13 files changed, 19 insertions(+), 18 deletions(-) diff --git a/arm_compute/core/NEON/kernels/NELKTrackerKernel.h b/arm_compute/core/NEON/kernels/NELKTrackerKernel.h index 6cd351fea7..f65a6c24ea 100644 --- a/arm_compute/core/NEON/kernels/NELKTrackerKernel.h +++ b/arm_compute/core/NEON/kernels/NELKTrackerKernel.h @@ -109,7 +109,7 @@ private: * * @return Values A11, A12, A22 */ - std::tuple compute_spatial_gradient_matrix(const NELKInternalKeypoint &keypoint, int *bilinear_ix, int *bilinear_iy); + std::tuple compute_spatial_gradient_matrix(const NELKInternalKeypoint &keypoint, int32_t *bilinear_ix, int32_t *bilinear_iy); /** Compute the vector A^T * b, i.e. -sum(I_d * I_t) for d in {x,y} * * @param[in] old_keypoint Old keypoint for which gradient is computed @@ -119,7 +119,7 @@ private: * * @return Values b1, b2 */ - std::pair compute_image_mismatch_vector(const NELKInternalKeypoint &old_keypoint, const NELKInternalKeypoint &new_keypoint, const int *bilinear_ix, const int *bilinear_iy); + std::pair compute_image_mismatch_vector(const NELKInternalKeypoint &old_keypoint, const NELKInternalKeypoint &new_keypoint, const int32_t *bilinear_ix, const int32_t *bilinear_iy); const ITensor *_input_old; const ITensor *_input_new; diff --git a/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp b/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp index c8e11133bd..2766d698d9 100644 --- a/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp +++ b/src/core/NEON/kernels/NEDirectConvolutionLayerKernel.cpp @@ -203,7 +203,7 @@ inline void internal_vst1q(qint16_t *p, const qint16x8_t &v) vst1q_qs16(p, v); } -inline void internal_vst1q(int *p, const qint32x4x2_t &v) +inline void internal_vst1q(int32_t *p, const qint32x4x2_t &v) { vst1q_s32(p, v.val[0]); vst1q_s32(p + 4, v.val[1]); diff --git a/src/core/NEON/kernels/NEFillBorderKernel.cpp b/src/core/NEON/kernels/NEFillBorderKernel.cpp index 9505a2520f..593a529c3f 100644 --- a/src/core/NEON/kernels/NEFillBorderKernel.cpp +++ b/src/core/NEON/kernels/NEFillBorderKernel.cpp @@ -99,7 +99,7 @@ class Coordinates; } // namespace arm_compute NEFillBorderKernel::NEFillBorderKernel() - : _tensor(nullptr), _border_size(0), _mode(BorderMode::UNDEFINED), _constant_border_value(0) + : _tensor(nullptr), _border_size(0), _mode(BorderMode::UNDEFINED), _constant_border_value(static_cast(0.f)) { } diff --git a/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp b/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp index 017e259ca4..d1cff6f62d 100644 --- a/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp +++ b/src/core/NEON/kernels/NEFillInnerBorderKernel.cpp @@ -42,7 +42,7 @@ class Coordinates; } // namespace arm_compute NEFillInnerBorderKernel::NEFillInnerBorderKernel() - : _tensor(nullptr), _border_size(0), _constant_border_value(0) + : _tensor(nullptr), _border_size(0), _constant_border_value(static_cast(0.f)) { } diff --git a/src/core/NEON/kernels/NELKTrackerKernel.cpp b/src/core/NEON/kernels/NELKTrackerKernel.cpp index 6fac7975df..004ecd07ef 100644 --- a/src/core/NEON/kernels/NELKTrackerKernel.cpp +++ b/src/core/NEON/kernels/NELKTrackerKernel.cpp @@ -130,7 +130,7 @@ void NELKTrackerKernel::init_keypoints(int start, int end) } } -std::tuple NELKTrackerKernel::compute_spatial_gradient_matrix(const NELKInternalKeypoint &keypoint, int *bilinear_ix, int *bilinear_iy) +std::tuple NELKTrackerKernel::compute_spatial_gradient_matrix(const NELKInternalKeypoint &keypoint, int32_t *bilinear_ix, int32_t *bilinear_iy) { int iA11 = 0; int iA12 = 0; @@ -218,7 +218,8 @@ std::tuple NELKTrackerKernel::compute_spatial_gradient_matrix(con return std::make_tuple(iA11, iA12, iA22); } -std::pair NELKTrackerKernel::compute_image_mismatch_vector(const NELKInternalKeypoint &old_keypoint, const NELKInternalKeypoint &new_keypoint, const int *bilinear_ix, const int *bilinear_iy) +std::pair NELKTrackerKernel::compute_image_mismatch_vector(const NELKInternalKeypoint &old_keypoint, const NELKInternalKeypoint &new_keypoint, const int32_t *bilinear_ix, + const int32_t *bilinear_iy) { int ib1 = 0; int ib2 = 0; @@ -402,8 +403,8 @@ void NELKTrackerKernel::run(const Window &window, const ThreadInfo &info) init_keypoints(list_start, list_end); const int buffer_size = _window_dimension * _window_dimension; - int bilinear_ix[buffer_size]; - int bilinear_iy[buffer_size]; + int32_t bilinear_ix[buffer_size]; + int32_t bilinear_iy[buffer_size]; const int half_window = _window_dimension / 2; diff --git a/src/core/NEON/kernels/NENormalizationLayerKernel.cpp b/src/core/NEON/kernels/NENormalizationLayerKernel.cpp index fc3f5f2fab..d6d26e2d12 100644 --- a/src/core/NEON/kernels/NENormalizationLayerKernel.cpp +++ b/src/core/NEON/kernels/NENormalizationLayerKernel.cpp @@ -61,7 +61,7 @@ void NENormalizationLayerKernel::configure(const ITensor *input, const ITensor * ARM_COMPUTE_ERROR_ON_VALUE_NOT_REPRESENTABLE_IN_FIXED_POINT(norm_info.scale_coeff(), input); } - const unsigned int border_width = (norm_info.type() == NormType::CROSS_MAP) ? 0 : std::min(norm_info.norm_size() / 2, 3U); + const unsigned int border_width = (norm_info.type() == NormType::CROSS_MAP) ? 0 : std::min(norm_info.norm_size() / 2, 3U); _input = input; _input_squared = input_squared; diff --git a/src/runtime/NEON/functions/NECannyEdge.cpp b/src/runtime/NEON/functions/NECannyEdge.cpp index 9be1df6ea4..c27ff2f935 100644 --- a/src/runtime/NEON/functions/NECannyEdge.cpp +++ b/src/runtime/NEON/functions/NECannyEdge.cpp @@ -162,7 +162,7 @@ void NECannyEdge::configure(ITensor *input, ITensor *output, int32_t upper_thr, _edge_trace.configure(&_nonmax, output); // Fill border with "No edge" to stop recursion in edge trace - _border_edge_trace.configure(&_nonmax, _edge_trace.border_size(), BorderMode::CONSTANT, 0); + _border_edge_trace.configure(&_nonmax, _edge_trace.border_size(), BorderMode::CONSTANT, static_cast(0.f)); // Allocate intermediate tensors _nonmax.allocator()->allocate(); diff --git a/src/runtime/NEON/functions/NEDepthConcatenate.cpp b/src/runtime/NEON/functions/NEDepthConcatenate.cpp index ddf7e90faa..90eee4f45f 100644 --- a/src/runtime/NEON/functions/NEDepthConcatenate.cpp +++ b/src/runtime/NEON/functions/NEDepthConcatenate.cpp @@ -52,7 +52,7 @@ void NEDepthConcatenate::configure(std::vector inputs_vector, ITensor for(unsigned int i = 0; i < _num_inputs; ++i) { _concat_kernels_vector[i].configure(inputs_vector.at(i), depth_offset, output); - _border_handlers_vector[i].configure(inputs_vector.at(i), _concat_kernels_vector[i].border_size(), BorderMode::CONSTANT, PixelValue(0)); + _border_handlers_vector[i].configure(inputs_vector.at(i), _concat_kernels_vector[i].border_size(), BorderMode::CONSTANT, PixelValue(static_cast(0.f))); depth_offset += inputs_vector.at(i)->info()->dimension(2); } diff --git a/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp b/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp index b831a6a7be..52a4cc158f 100644 --- a/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp +++ b/src/runtime/NEON/functions/NEDirectConvolutionLayer.cpp @@ -82,7 +82,7 @@ void NEDirectConvolutionLayer::configure(ITensor *input, const ITensor *weights, } // Add zero padding XY - _input_border_handler.configure(input, _conv_kernel.border_size(), BorderMode::CONSTANT, PixelValue(0)); + _input_border_handler.configure(input, _conv_kernel.border_size(), BorderMode::CONSTANT, PixelValue(static_cast(0.f))); } void NEDirectConvolutionLayer::run() diff --git a/src/runtime/NEON/functions/NEIntegralImage.cpp b/src/runtime/NEON/functions/NEIntegralImage.cpp index 2e94ed5f9a..fa8aaeb5dd 100644 --- a/src/runtime/NEON/functions/NEIntegralImage.cpp +++ b/src/runtime/NEON/functions/NEIntegralImage.cpp @@ -36,5 +36,5 @@ void NEIntegralImage::configure(const ITensor *input, ITensor *output) auto k = arm_compute::support::cpp14::make_unique(); k->configure(input, output); _kernel = std::move(k); - _border_handler.configure(output, _kernel->border_size(), BorderMode::CONSTANT, 0); + _border_handler.configure(output, _kernel->border_size(), BorderMode::CONSTANT, static_cast(0.f)); } diff --git a/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp b/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp index 3b59820d09..0854c9d16c 100644 --- a/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp +++ b/src/runtime/NEON/functions/NENonMaximaSuppression3x3.cpp @@ -38,10 +38,10 @@ void NENonMaximaSuppression3x3::configure(ITensor *input, ITensor *output, Borde if(border_mode != BorderMode::UNDEFINED) { - _border_handler.configure(input, BorderSize(1), BorderMode::CONSTANT, 0); + _border_handler.configure(input, BorderSize(1), BorderMode::CONSTANT, static_cast(0.f)); } else { - _border_handler.configure(input, BorderSize(1), BorderMode::UNDEFINED, 0); + _border_handler.configure(input, BorderSize(1), BorderMode::UNDEFINED, static_cast(0.f)); } } diff --git a/src/runtime/NEON/functions/NEPoolingLayer.cpp b/src/runtime/NEON/functions/NEPoolingLayer.cpp index 4c4e11f7db..de04f36961 100644 --- a/src/runtime/NEON/functions/NEPoolingLayer.cpp +++ b/src/runtime/NEON/functions/NEPoolingLayer.cpp @@ -37,5 +37,5 @@ void NEPoolingLayer::configure(ITensor *input, ITensor *output, const PoolingLay // Configure border depending on operation required BorderMode border_mode = (pool_info.pool_type() == PoolingType::MAX) ? BorderMode::REPLICATE : BorderMode::CONSTANT; - _border_handler.configure(input, _kernel->border_size(), border_mode, PixelValue(0)); + _border_handler.configure(input, _kernel->border_size(), border_mode, PixelValue(static_cast(0.f))); } diff --git a/src/runtime/NEON/functions/NEReductionOperation.cpp b/src/runtime/NEON/functions/NEReductionOperation.cpp index 45c3e5dbc9..f1a9145f74 100644 --- a/src/runtime/NEON/functions/NEReductionOperation.cpp +++ b/src/runtime/NEON/functions/NEReductionOperation.cpp @@ -74,7 +74,7 @@ void NEReductionOperation::configure(ITensor *input, ITensor *output, unsigned i // Configure fill border kernel BorderSize fill_border_size = (axis == 0) ? _reduction_kernel.border_size() : BorderSize(); BorderMode fill_border_mode = reduction_operation_border_mode(op); - _fill_border_kernel.configure(input, fill_border_size, fill_border_mode, PixelValue(0)); + _fill_border_kernel.configure(input, fill_border_size, fill_border_mode, PixelValue(static_cast(0.f))); } void NEReductionOperation::run() -- cgit v1.2.1