From 5edbd1c5dce43b66f30c903797a91e39369c5b62 Mon Sep 17 00:00:00 2001 From: Ioan-Cristian Szabo Date: Mon, 13 Nov 2017 13:34:08 +0000 Subject: COMPMID-556: Add support to build arm64-v8.2-a for Android platform (clang compiler) Change-Id: Ibb779dd3a8d10786da6d8f70590e654e14654d7b Reviewed-on: http://mpd-gerrit.cambridge.arm.com/95530 Tested-by: Kaizen Reviewed-by: Pablo Tello --- arm_compute/core/NEON/kernels/NEAccumulateKernel.h | 6 +++--- arm_compute/core/NEON/kernels/NEActivationLayerKernel.h | 8 ++++---- arm_compute/core/NEON/kernels/NEBox3x3Kernel.h | 6 +++--- arm_compute/core/NEON/kernels/NECannyEdgeKernel.h | 6 +++--- arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h | 6 +++--- arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h | 6 +++--- arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h | 6 +++--- .../core/NEON/kernels/convolution/NEDirectConvolutionDetail.h | 4 ++-- 8 files changed, 24 insertions(+), 24 deletions(-) (limited to 'arm_compute/core/NEON/kernels') diff --git a/arm_compute/core/NEON/kernels/NEAccumulateKernel.h b/arm_compute/core/NEON/kernels/NEAccumulateKernel.h index d6ad0be03e..fa8a3be92f 100644 --- a/arm_compute/core/NEON/kernels/NEAccumulateKernel.h +++ b/arm_compute/core/NEON/kernels/NEAccumulateKernel.h @@ -80,7 +80,7 @@ protected: float _alpha; }; -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** Interface for the accumulate weighted kernel using F16 */ class NEAccumulateWeightedFP16Kernel : public NEAccumulateWeightedKernel { @@ -88,9 +88,9 @@ public: // Inherited methods overridden: void run(const Window &window, const ThreadInfo &info) override; }; -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ using NEAccumulateWeightedFP16Kernel = NEAccumulateWeightedKernel; -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ /** Interface for the accumulate squared kernel * diff --git a/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h b/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h index e70dd454df..a3fd3feb58 100644 --- a/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h +++ b/arm_compute/core/NEON/kernels/NEActivationLayerKernel.h @@ -27,9 +27,9 @@ #include "arm_compute/core/FixedPoint.h" #include "arm_compute/core/NEON/INEKernel.h" -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC #include -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ namespace arm_compute { @@ -76,14 +76,14 @@ private: */ template typename std::enable_if::value, void>::type activation(const Window &window); -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** Function to apply an activation function on a tensor. * * @param[in] window Region on which to execute the kernel */ template typename std::enable_if::value, void>::type activation(const Window &window); -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ /** Function to apply an activation function on a tensor. * * @param[in] window Region on which to execute the kernel diff --git a/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h b/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h index a53e4d77f7..29248f6538 100644 --- a/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h +++ b/arm_compute/core/NEON/kernels/NEBox3x3Kernel.h @@ -46,7 +46,7 @@ public: BorderSize border_size() const override; }; -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** NEON kernel to perform a Box 3x3 filter using F16 simd */ class NEBox3x3FP16Kernel : public NEBox3x3Kernel @@ -55,8 +55,8 @@ public: // Inherited methods overridden: void run(const Window &window, const ThreadInfo &info) override; }; -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ using NEBox3x3FP16Kernel = NEBox3x3Kernel; -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } // namespace arm_compute #endif /*__ARM_COMPUTE_NEBOX3x3KERNEL_H__ */ diff --git a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h index 4f1a1f32dc..a57c3894b1 100644 --- a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h +++ b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h @@ -81,7 +81,7 @@ protected: ITensor *_phase; /**< Destination tensor - Quantized phase */ }; -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** NEON kernel to perform Gradient computation */ class NEGradientFP16Kernel : public NEGradientKernel @@ -90,9 +90,9 @@ public: // Inherited methods overriden: void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase, int32_t norm_type) override; }; -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ using NEGradientFP16Kernel = NEGradientKernel; -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ /** NEON kernel to perform Non-Maxima suppression for Canny Edge. * diff --git a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h index cfa5220c4d..c3c37e4d24 100644 --- a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h +++ b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h @@ -99,7 +99,7 @@ private: HarrisScoreFunction *_func; }; -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** Interface for the accumulate Weighted kernel using F16 */ template class NEHarrisScoreFP16Kernel : public INEHarrisScoreKernel @@ -118,9 +118,9 @@ private: /** Harris Score function to use for the particular image types passed to configure() */ HarrisScoreFunction *_func; }; -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ template using NEHarrisScoreFP16Kernel = NEHarrisScoreKernel; -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } // namespace arm_compute #endif /* __ARM_COMPUTE_NEHARRISCORNERSKERNEL_H__ */ diff --git a/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h b/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h index fba8d8dd39..46b2a8ddb4 100644 --- a/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h +++ b/arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h @@ -94,7 +94,7 @@ private: ITensor *_phase; /**< Output - Phase */ }; -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** Template interface for the kernel to compute magnitude and phase */ template class NEMagnitudePhaseFP16Kernel : public INEKernel @@ -156,9 +156,9 @@ private: ITensor *_magnitude; /**< Output - Magnitude */ ITensor *_phase; /**< Output - Phase */ }; -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ template using NEMagnitudePhaseFP16Kernel = NEMagnitudePhaseKernel; -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } // namespace arm_compute #endif /* __ARM_COMPUTE_NEMAGNITUDEPHASEKERNEL_H__ */ diff --git a/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h b/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h index f47b487c91..da8aecff5c 100644 --- a/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h +++ b/arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h @@ -78,7 +78,7 @@ protected: ITensor *_output; /**< Destination tensor */ }; -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** NEON kernel to perform Non-Maxima suppression 3x3 with intermediate results in F16 if the input data type is F32 */ class NENonMaximaSuppression3x3FP16Kernel : public NENonMaximaSuppression3x3Kernel @@ -92,8 +92,8 @@ public: */ void configure(const ITensor *input, ITensor *output, bool border_undefined); }; -#else /* ARM_COMPUTE_AARCH64_V8_2 */ +#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ using NENonMaximaSuppression3x3FP16Kernel = NENonMaximaSuppression3x3Kernel; -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } // namespace arm_compute #endif /* _ARM_COMPUTE_NENONMAXIMASUPPRESSION3x3KERNEL_H__ */ diff --git a/arm_compute/core/NEON/kernels/convolution/NEDirectConvolutionDetail.h b/arm_compute/core/NEON/kernels/convolution/NEDirectConvolutionDetail.h index aac70b0a81..657bcd63d0 100644 --- a/arm_compute/core/NEON/kernels/convolution/NEDirectConvolutionDetail.h +++ b/arm_compute/core/NEON/kernels/convolution/NEDirectConvolutionDetail.h @@ -315,7 +315,7 @@ inline void store_results<3>(qint16_t *buffer, const qint16x8x2_t &values) vst1_qs16(buffer, vget_low_s16(values.val[0])); } -#ifdef ARM_COMPUTE_AARCH64_V8_2 +#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** Loads a 3x3 matrix as a row (float16_t). * * @param[in] ptr Pointer to a float 3x3 matrix. @@ -455,7 +455,7 @@ inline void store_results<3>(float16_t *buffer, const float16x8x2_t &values) { vst1_f16(buffer, vget_low_f16(values.val[0])); } -#endif /* ARM_COMPUTE_AARCH64_V8_2 */ +#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ /** Get the number of elements processed on 3x3 convolution. * -- cgit v1.2.1