From 68be1c9043828b21c4acd7745d6ab8a2f418d901 Mon Sep 17 00:00:00 2001 From: Christophe Favergeon Date: Mon, 20 Apr 2020 08:21:54 +0200 Subject: [PATCH] CMSIS-DSP: Added automatic detection of MVE support. --- Include/arm_math.h | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/Include/arm_math.h b/Include/arm_math.h index 390b47d4..0b263ed7 100644 --- a/Include/arm_math.h +++ b/Include/arm_math.h @@ -398,13 +398,33 @@ extern "C" #include #endif -#if defined (ARM_MATH_HELIUM) - #define ARM_MATH_MVEF +#if __ARM_FEATURE_MVE + #if !defined(ARM_MATH_MVEI) + #define ARM_MATH_MVEI + #endif +#endif + +#if (__ARM_FEATURE_MVE & 2) + #if !defined(ARM_MATH_MVEF) + #define ARM_MATH_MVEF + #endif + #if !defined(ARM_MATH_FLOAT16) + #define ARM_MATH_FLOAT16 + #endif #endif -#if defined (ARM_MATH_MVEF) - #define ARM_MATH_MVEI - #define ARM_MATH_FLOAT16 +#if defined (ARM_MATH_HELIUM) + #if !defined(ARM_MATH_MVEF) + #define ARM_MATH_MVEF + #endif + + #if !defined(ARM_MATH_MVEI) + #define ARM_MATH_MVEI + #endif + + #if !defined(ARM_MATH_FLOAT16) + #define ARM_MATH_FLOAT16 + #endif #endif #if defined (ARM_MATH_HELIUM) || defined(ARM_MATH_MVEF) || defined(ARM_MATH_MVEI) @@ -438,7 +458,7 @@ extern "C" * This is not fully supported on ARM AC5. */ -#if !defined( __CC_ARM ) && !defined (ARM_MATH_HELIUM) && !defined(ARM_MATH_MVEF) && !defined(ARM_MATH_MVEI) +#if !defined( __CC_ARM ) && !(__ARM_FEATURE_MVE & 2) typedef __fp16 float16_t; #endif