DSP: Integrate CMSIS-DSP 1.9.0 (CMSIS 5.8.0)
This commit integrates the updated CMSIS 1.9.0 (part of CMSIS 5.8.0
release) to the Zephyr build system.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
GitOrigin-RevId: b0612c97c1401feeb4160add6462c3627fe90fc7
Change-Id: I7108d4f94ba9ca6e4e9cbe2495eade56dc497677
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/cmsis/+/3197385
Tested-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
diff --git a/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt b/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt
index e9fee3e..fbe1c0d 100644
--- a/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -15,6 +15,10 @@
arm_and_u8.c
arm_and_u16.c
arm_and_u32.c
+ arm_clip_f32.c
+ arm_clip_q7.c
+ arm_clip_q15.c
+ arm_clip_q31.c
arm_dot_prod_f32.c
arm_dot_prod_q7.c
arm_dot_prod_q15.c
@@ -52,3 +56,15 @@
arm_xor_u16.c
arm_xor_u32.c
)
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_abs_f16.c
+ arm_add_f16.c
+ arm_clip_f16.c
+ arm_dot_prod_f16.c
+ arm_mult_f16.c
+ arm_negate_f16.c
+ arm_offset_f16.c
+ arm_scale_f16.c
+ arm_sub_f16.c
+ )
diff --git a/CMSIS/DSP/Source/BayesFunctions/CMakeLists.txt b/CMSIS/DSP/Source/BayesFunctions/CMakeLists.txt
index c497589..0fa74e7 100644
--- a/CMSIS/DSP/Source/BayesFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/BayesFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -6,3 +6,7 @@
zephyr_library_sources(
arm_gaussian_naive_bayes_predict_f32.c
)
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_gaussian_naive_bayes_predict_f16.c
+ )
diff --git a/CMSIS/DSP/Source/CMakeLists.txt b/CMSIS/DSP/Source/CMakeLists.txt
index 93553d9..66ef06b 100644
--- a/CMSIS/DSP/Source/CMakeLists.txt
+++ b/CMSIS/DSP/Source/CMakeLists.txt
@@ -1,15 +1,13 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
# Global Feature Definitions
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_NEON ARM_MATH_NEON)
-zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_HELIUM ARM_MATH_HELIUM)
-zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_MVEF ARM_MATH_MVEF)
-zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_MVEI ARM_MATH_MVEI)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_LOOPUNROLL ARM_MATH_LOOPUNROLL)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_ROUNDING ARM_MATH_ROUNDING)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_MATRIXCHECK ARM_MATH_MATRIX_CHECK)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_AUTOVECTORIZE ARM_MATH_AUTOVECTORIZE)
+zephyr_compile_definitions_ifndef(CONFIG_CMSIS_DSP_FLOAT16 DISABLEFLOAT16)
# Table Definitions
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES ARM_DSP_CONFIG_TABLES)
@@ -35,6 +33,34 @@
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15 ARM_TABLE_FAST_SQRT_Q15_MVE)
endif()
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_16 ARM_TABLE_TWIDDLECOEF_F16_16)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_16 ARM_TABLE_BITREVIDX_FLT_16)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_16 ARM_TABLE_BITREVIDX_FXT_16)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_32 ARM_TABLE_TWIDDLECOEF_F16_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_32 ARM_TABLE_BITREVIDX_FLT_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_32 ARM_TABLE_BITREVIDX_FXT_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_64 ARM_TABLE_TWIDDLECOEF_F16_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_64 ARM_TABLE_BITREVIDX_FLT_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_64 ARM_TABLE_BITREVIDX_FXT_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_128 ARM_TABLE_TWIDDLECOEF_F16_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_128 ARM_TABLE_BITREVIDX_FLT_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_128 ARM_TABLE_BITREVIDX_FXT_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_256 ARM_TABLE_TWIDDLECOEF_F16_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_256 ARM_TABLE_BITREVIDX_FLT_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_256 ARM_TABLE_BITREVIDX_FXT_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_512 ARM_TABLE_TWIDDLECOEF_F16_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_512 ARM_TABLE_BITREVIDX_FLT_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_512 ARM_TABLE_BITREVIDX_FXT_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_1024 ARM_TABLE_TWIDDLECOEF_F16_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_1024 ARM_TABLE_BITREVIDX_FLT_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_1024 ARM_TABLE_BITREVIDX_FXT_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_2048 ARM_TABLE_TWIDDLECOEF_F16_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_2048 ARM_TABLE_BITREVIDX_FLT_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_2048 ARM_TABLE_BITREVIDX_FXT_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_4096 ARM_TABLE_TWIDDLECOEF_F16_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_4096 ARM_TABLE_BITREVIDX_FLT_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F16_4096 ARM_TABLE_BITREVIDX_FXT_4096)
+
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F32_16 ARM_TABLE_TWIDDLECOEF_F32_16)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F32_32 ARM_TABLE_TWIDDLECOEF_F32_32)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_F32_64 ARM_TABLE_TWIDDLECOEF_F32_64)
@@ -124,6 +150,16 @@
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_4096 ARM_TABLE_TWIDDLECOEF_Q15_4096)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_Q15_4096 ARM_TABLE_BITREVIDX_FXT_4096)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX4_Q31 ARM_TABLE_TWIDDLECOEF_Q31_4096)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX4_Q31 ARM_TABLE_BITREV_1024)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX2_Q31 ARM_TABLE_TWIDDLECOEF_Q31_4096)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX2_Q31 ARM_TABLE_BITREV_1024)
+
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX4_Q15 ARM_TABLE_TWIDDLECOEF_Q15_4096)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX4_Q15 ARM_TABLE_BITREV_1024)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX2_Q15 ARM_TABLE_TWIDDLECOEF_Q15_4096)
+zephyr_compile_definitions_ifdef(CMSIS_DSP_TABLES_CFFT_RADIX2_Q15 ARM_TABLE_BITREV_1024)
+
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_32 ARM_TABLE_TWIDDLECOEF_F64_16)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_32 ARM_TABLE_BITREVIDX_FLT64_16)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_32 ARM_TABLE_TWIDDLECOEF_RFFT_F64_32)
@@ -174,6 +210,39 @@
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_4096 ARM_TABLE_BITREVIDX_FLT_2048)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F32_4096 ARM_TABLE_TWIDDLECOEF_RFFT_F32_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_32 ARM_TABLE_TWIDDLECOEF_F16_16)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_32 ARM_TABLE_BITREVIDX_FLT_16)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_32 ARM_TABLE_BITREVIDX_FXT_16)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_32 ARM_TABLE_TWIDDLECOEF_RFFT_F16_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_64 ARM_TABLE_TWIDDLECOEF_F16_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_64 ARM_TABLE_BITREVIDX_FLT_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_64 ARM_TABLE_BITREVIDX_FXT_32)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_64 ARM_TABLE_TWIDDLECOEF_RFFT_F16_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_128 ARM_TABLE_TWIDDLECOEF_F16_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_128 ARM_TABLE_BITREVIDX_FLT_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_128 ARM_TABLE_BITREVIDX_FXT_64)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_128 ARM_TABLE_TWIDDLECOEF_RFFT_F16_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_256 ARM_TABLE_TWIDDLECOEF_F16_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_256 ARM_TABLE_BITREVIDX_FLT_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_256 ARM_TABLE_BITREVIDX_FXT_128)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_256 ARM_TABLE_TWIDDLECOEF_RFFT_F16_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_512 ARM_TABLE_TWIDDLECOEF_F16_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_512 ARM_TABLE_BITREVIDX_FLT_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_512 ARM_TABLE_BITREVIDX_FXT_256)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_512 ARM_TABLE_TWIDDLECOEF_RFFT_F16_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_1024 ARM_TABLE_TWIDDLECOEF_F16_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_1024 ARM_TABLE_BITREVIDX_FLT_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_1024 ARM_TABLE_BITREVIDX_FXT_512)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_1024 ARM_TABLE_TWIDDLECOEF_RFFT_F16_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_2048 ARM_TABLE_TWIDDLECOEF_F16_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_2048 ARM_TABLE_BITREVIDX_FLT_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_2048 ARM_TABLE_BITREVIDX_FXT_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_2048 ARM_TABLE_TWIDDLECOEF_RFFT_F16_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_4096 ARM_TABLE_TWIDDLECOEF_F16_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_4096 ARM_TABLE_BITREVIDX_FLT_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_4096 ARM_TABLE_BITREVIDX_FXT_2048)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_4096 ARM_TABLE_TWIDDLECOEF_RFFT_F16_4096)
+
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F32_128 ARM_TABLE_REALCOEF_F32)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F32_128 ARM_TABLE_BITREV_1024)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F32_128 ARM_TABLE_TWIDDLECOEF_F32_4096)
@@ -187,6 +256,15 @@
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F32_8192 ARM_TABLE_BITREV_1024)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F32_8192 ARM_TABLE_TWIDDLECOEF_F32_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_128 ARM_TABLE_BITREV_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_128 ARM_TABLE_TWIDDLECOEF_F16_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_512 ARM_TABLE_BITREV_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_512 ARM_TABLE_TWIDDLECOEF_F16_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_2048 ARM_TABLE_BITREV_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_2048 ARM_TABLE_TWIDDLECOEF_F16_4096)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_8192 ARM_TABLE_BITREV_1024)
+zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_F16_8192 ARM_TABLE_TWIDDLECOEF_F16_4096)
+
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_32 ARM_TABLE_REALCOEF_Q31)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_32 ARM_TABLE_TWIDDLECOEF_Q31_16)
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_32 ARM_TABLE_BITREVIDX_FXT_16)
@@ -295,16 +373,18 @@
zephyr_compile_definitions_ifdef(CONFIG_CMSIS_DSP_TABLES_DCT4_Q15_8192 ARM_TABLE_TWIDDLECOEF_Q15_4096)
# CMSIS-DSP Components
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_BASICMATH BasicMathFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_COMPLEXMATH ComplexMathFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_CONTROLLER ControllerFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_FASTMATH FastMathFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_FILTERING FilteringFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_MATRIX MatrixFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_STATISTICS StatisticsFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_SUPPORT SupportFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_TRANSFORM TransformFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_SVM SVMFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_BAYES BayesFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_DISTANCE DistanceFunctions)
-add_subdirectory_ifdef(CONFIG_CMSIS_DSP_TABLES CommonTables)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_BASICMATH BasicMathFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_COMPLEXMATH ComplexMathFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_CONTROLLER ControllerFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_FASTMATH FastMathFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_FILTERING FilteringFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_INTERPOLATION InterpolationFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_MATRIX MatrixFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_QUATERNIONMATH QuaternionMathFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_STATISTICS StatisticsFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_SUPPORT SupportFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_TRANSFORM TransformFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_SVM SVMFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_BAYES BayesFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_DISTANCE DistanceFunctions)
+add_subdirectory_ifdef(CONFIG_CMSIS_DSP_TABLES CommonTables)
diff --git a/CMSIS/DSP/Source/CommonTables/CMakeLists.txt b/CMSIS/DSP/Source/CommonTables/CMakeLists.txt
index 17c0aed..1664793 100644
--- a/CMSIS/DSP/Source/CommonTables/CMakeLists.txt
+++ b/CMSIS/DSP/Source/CommonTables/CMakeLists.txt
@@ -1,10 +1,13 @@
-# Copyright (c) 2019 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
zephyr_library_sources(
arm_common_tables.c
+ arm_common_tables_f16.c
arm_const_structs.c
+ arm_const_structs_f16.c
arm_mve_tables.c
+ arm_mve_tables_f16.c
)
diff --git a/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt b/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt
index 2e0d03a..8d4b805 100644
--- a/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -11,6 +11,8 @@
arm_cmplx_dot_prod_q15.c
arm_cmplx_dot_prod_q31.c
arm_cmplx_mag_f32.c
+ arm_cmplx_mag_q15.c
+ arm_cmplx_mag_q31.c
arm_cmplx_mag_squared_f32.c
arm_cmplx_mag_squared_q15.c
arm_cmplx_mag_squared_q31.c
@@ -22,5 +24,14 @@
arm_cmplx_mult_real_q31.c
)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_cmplx_conj_f16.c
+ arm_cmplx_dot_prod_f16.c
+ arm_cmplx_mag_f16.c
+ arm_cmplx_mag_squared_f16.c
+ arm_cmplx_mult_cmplx_f16.c
+ arm_cmplx_mult_real_f16.c
+ )
+
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q31 arm_cmplx_mag_q31.c)
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_CMPLX_MAG_Q15 arm_cmplx_mag_q15.c)
diff --git a/CMSIS/DSP/Source/DistanceFunctions/CMakeLists.txt b/CMSIS/DSP/Source/DistanceFunctions/CMakeLists.txt
index 887b943..5a8645a 100644
--- a/CMSIS/DSP/Source/DistanceFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/DistanceFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -25,3 +25,15 @@
arm_sokalsneath_distance.c
arm_yule_distance.c
)
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_braycurtis_distance_f16.c
+ arm_canberra_distance_f16.c
+ arm_chebyshev_distance_f16.c
+ arm_cityblock_distance_f16.c
+ arm_correlation_distance_f16.c
+ arm_cosine_distance_f16.c
+ arm_euclidean_distance_f16.c
+ arm_jensenshannon_distance_f16.c
+ arm_minkowski_distance_f16.c
+ )
diff --git a/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt b/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt
index 3ce2ef6..8ecd610 100644
--- a/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt
@@ -1,15 +1,22 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
zephyr_library_sources(
+ arm_divide_q15.c
arm_sqrt_q15.c
arm_sqrt_q31.c
arm_vexp_f32.c
arm_vlog_f32.c
)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_vexp_f16.c
+ arm_vinverse_f16.c
+ arm_vlog_f16.c
+ )
+
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_COS_F32 arm_cos_f32.c)
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_COS_Q31 arm_cos_q31.c)
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_COS_Q15 arm_cos_q15.c)
diff --git a/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt b/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt
index 3fb5a45..51fb227 100644
--- a/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -91,6 +91,8 @@
arm_iir_lattice_init_q31.c
arm_iir_lattice_q15.c
arm_iir_lattice_q31.c
+ arm_levinson_durbin_f32.c
+ arm_levinson_durbin_q31.c
arm_lms_f32.c
arm_lms_init_f32.c
arm_lms_init_q15.c
@@ -103,5 +105,18 @@
arm_lms_q31.c
)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_biquad_cascade_df1_f16.c
+ arm_biquad_cascade_df1_init_f16.c
+ arm_biquad_cascade_df2T_f16.c
+ arm_biquad_cascade_df2T_init_f16.c
+ arm_biquad_cascade_stereo_df2T_f16.c
+ arm_biquad_cascade_stereo_df2T_init_f16.c
+ arm_correlate_f16.c
+ arm_fir_f16.c
+ arm_fir_init_f16.c
+ arm_levinson_durbin_f16.c
+ )
+
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_LMS_NORM_Q31 arm_lms_norm_init_q31.c)
zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_ARM_LMS_NORM_Q15 arm_lms_norm_init_q15.c)
diff --git a/CMSIS/DSP/Source/InterpolationFunctions/CMakeLists.txt b/CMSIS/DSP/Source/InterpolationFunctions/CMakeLists.txt
new file mode 100644
index 0000000..bbcfc08
--- /dev/null
+++ b/CMSIS/DSP/Source/InterpolationFunctions/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
+# SPDX-License-Identifier: Apache-2.0
+
+zephyr_library()
+
+zephyr_library_sources(
+ arm_bilinear_interp_f32.c
+ arm_bilinear_interp_q15.c
+ arm_bilinear_interp_q31.c
+ arm_bilinear_interp_q7.c
+ arm_linear_interp_f32.c
+ arm_linear_interp_q15.c
+ arm_linear_interp_q31.c
+ arm_linear_interp_q7.c
+ arm_spline_interp_f32.c
+ arm_spline_interp_init_f32.c
+ )
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_bilinear_interp_f16.c
+ arm_linear_interp_f16.c
+ )
diff --git a/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt b/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt
index f84a9d2..2965c88 100644
--- a/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -7,26 +7,62 @@
arm_mat_add_f32.c
arm_mat_add_q15.c
arm_mat_add_q31.c
+ arm_mat_cholesky_f32.c
+ arm_mat_cholesky_f64.c
arm_mat_cmplx_mult_f32.c
arm_mat_cmplx_mult_q15.c
arm_mat_cmplx_mult_q31.c
+ arm_mat_cmplx_trans_f32.c
+ arm_mat_cmplx_trans_q15.c
+ arm_mat_cmplx_trans_q31.c
arm_mat_init_f32.c
arm_mat_init_q15.c
arm_mat_init_q31.c
arm_mat_inverse_f32.c
arm_mat_inverse_f64.c
+ arm_mat_ldlt_f32.c
+ arm_mat_ldlt_f64.c
arm_mat_mult_f32.c
+ arm_mat_mult_f64.c
arm_mat_mult_fast_q15.c
arm_mat_mult_fast_q31.c
+ arm_mat_mult_q7.c
arm_mat_mult_q15.c
arm_mat_mult_q31.c
arm_mat_scale_f32.c
arm_mat_scale_q15.c
arm_mat_scale_q31.c
+ arm_mat_solve_lower_triangular_f32.c
+ arm_mat_solve_lower_triangular_f64.c
+ arm_mat_solve_upper_triangular_f32.c
+ arm_mat_solve_upper_triangular_f64.c
arm_mat_sub_f32.c
+ arm_mat_sub_f64.c
arm_mat_sub_q15.c
arm_mat_sub_q31.c
arm_mat_trans_f32.c
+ arm_mat_trans_f64.c
+ arm_mat_trans_q7.c
arm_mat_trans_q15.c
arm_mat_trans_q31.c
+ arm_mat_vec_mult_f32.c
+ arm_mat_vec_mult_q7.c
+ arm_mat_vec_mult_q15.c
+ arm_mat_vec_mult_q31.c
+ )
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_mat_add_f16.c
+ arm_mat_cholesky_f16.c
+ arm_mat_cmplx_mult_f16.c
+ arm_mat_cmplx_trans_f16.c
+ arm_mat_init_f16.c
+ arm_mat_inverse_f16.c
+ arm_mat_mult_f16.c
+ arm_mat_scale_f16.c
+ arm_mat_solve_lower_triangular_f16.c
+ arm_mat_solve_upper_triangular_f16.c
+ arm_mat_sub_f16.c
+ arm_mat_trans_f16.c
+ arm_mat_vec_mult_f16.c
)
diff --git a/CMSIS/DSP/Source/QuaternionMathFunctions/CMakeLists.txt b/CMSIS/DSP/Source/QuaternionMathFunctions/CMakeLists.txt
new file mode 100644
index 0000000..7d5e619
--- /dev/null
+++ b/CMSIS/DSP/Source/QuaternionMathFunctions/CMakeLists.txt
@@ -0,0 +1,15 @@
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
+# SPDX-License-Identifier: Apache-2.0
+
+zephyr_library()
+
+zephyr_library_sources(
+ arm_quaternion_conjugate_f32.c
+ arm_quaternion_inverse_f32.c
+ arm_quaternion_norm_f32.c
+ arm_quaternion_normalize_f32.c
+ arm_quaternion_product_f32.c
+ arm_quaternion_product_single_f32.c
+ arm_quaternion2rotation_f32.c
+ arm_rotation2quaternion_f32.c
+ )
diff --git a/CMSIS/DSP/Source/SVMFunctions/CMakeLists.txt b/CMSIS/DSP/Source/SVMFunctions/CMakeLists.txt
index fdf42bb..4f68030 100644
--- a/CMSIS/DSP/Source/SVMFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/SVMFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -13,3 +13,14 @@
arm_svm_sigmoid_init_f32.c
arm_svm_sigmoid_predict_f32.c
)
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_svm_linear_init_f16.c
+ arm_svm_linear_predict_f16.c
+ arm_svm_polynomial_init_f16.c
+ arm_svm_polynomial_predict_f16.c
+ arm_svm_rbf_init_f16.c
+ arm_svm_rbf_predict_f16.c
+ arm_svm_sigmoid_init_f16.c
+ arm_svm_sigmoid_predict_f16.c
+ )
diff --git a/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt b/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt
index 5ce9c23..3aec6a2 100644
--- a/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt
@@ -1,9 +1,17 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
zephyr_library_sources(
+ arm_absmax_f32.c
+ arm_absmax_q15.c
+ arm_absmax_q31.c
+ arm_absmax_q7.c
+ arm_absmin_f32.c
+ arm_absmin_q15.c
+ arm_absmin_q31.c
+ arm_absmin_q7.c
arm_entropy_f32.c
arm_entropy_f64.c
arm_kullback_leibler_f32.c
@@ -37,3 +45,20 @@
arm_var_q15.c
arm_var_q31.c
)
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_absmax_f16.c
+ arm_absmin_f16.c
+ arm_entropy_f16.c
+ arm_kullback_leibler_f16.c
+ arm_logsumexp_dot_prod_f16.c
+ arm_logsumexp_f16.c
+ arm_max_f16.c
+ arm_max_no_idx_f16.c
+ arm_mean_f16.c
+ arm_min_f16.c
+ arm_power_f16.c
+ arm_rms_f16.c
+ arm_std_f16.c
+ arm_var_f16.c
+ )
diff --git a/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt b/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt
index 098fe58..a9b52fa 100644
--- a/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -35,7 +35,16 @@
arm_selection_sort_f32.c
arm_sort_f32.c
arm_sort_init_f32.c
- arm_spline_interp_f32.c
- arm_spline_interp_init_f32.c
arm_weighted_sum_f32.c
)
+
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_barycenter_f16.c
+ arm_copy_f16.c
+ arm_f16_to_float.c
+ arm_f16_to_q15.c
+ arm_fill_f16.c
+ arm_float_to_f16.c
+ arm_q15_to_f16.c
+ arm_weighted_sum_f16.c
+ )
diff --git a/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt b/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt
index ac57ca8..f357c7e 100644
--- a/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
+# Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
# SPDX-License-Identifier: Apache-2.0
zephyr_library()
@@ -13,6 +13,10 @@
# arm_bitreversal2.S
)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_bitreversal_f16.c
+ )
+
if(
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_16 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_F64_32 OR
@@ -55,6 +59,27 @@
endif()
if(
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_16 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_32 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_64 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_128 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_256 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_512 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_1024 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_2048 OR
+ CONFIG_CMSIS_DSP_TABLES_CFFT_F16_4096
+ )
+
+ zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_cfft_radix2_f16.c
+ arm_cfft_radix4_f16.c
+ arm_cfft_f16.c
+ arm_cfft_init_f16.c
+ )
+
+endif()
+
+if(
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_16 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_32 OR
CONFIG_CMSIS_DSP_TABLES_CFFT_Q31_64 OR
@@ -96,14 +121,10 @@
endif()
-if(CONFIG_CMSIS_DSP_TABLES_ALL_FFT)
-
- zephyr_library_sources(
- arm_cfft_radix2_init_q15.c
- arm_cfft_radix2_init_q31.c
- )
-
-endif()
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_RADIX4_Q31 arm_cfft_radix4_init_q31.c)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_RADIX4_Q15 arm_cfft_radix4_init_q15.c)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_RADIX2_Q31 arm_cfft_radix2_init_q31.c)
+zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_TABLES_CFFT_RADIX2_Q15 arm_cfft_radix2_init_q15.c)
if(
CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F64_32 OR
@@ -145,6 +166,27 @@
endif()
if(
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_32 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_64 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_128 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_256 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_512 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_1024 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_2048 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_FAST_F16_4096
+ )
+
+ zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_rfft_fast_f16.c
+ arm_rfft_fast_init_f16.c
+ arm_cfft_f16.c
+ arm_cfft_init_f16.c
+ arm_cfft_radix8_f16.c
+ )
+
+endif()
+
+if(
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_128 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_512 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_F32_2048 OR
@@ -161,6 +203,20 @@
endif()
if(
+ CONFIG_CMSIS_DSP_TABLES_RFFT_F16_128 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_F16_512 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_F16_2048 OR
+ CONFIG_CMSIS_DSP_TABLES_RFFT_F16_8192
+ )
+
+ zephyr_library_sources_ifdef(CONFIG_CMSIS_DSP_FLOAT16
+ arm_cfft_radix4_init_f16.c
+ arm_cfft_radix4_f16.c
+ )
+
+endif()
+
+if(
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_32 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_64 OR
CONFIG_CMSIS_DSP_TABLES_RFFT_Q31_128 OR
@@ -264,11 +320,3 @@
)
endif()
-
-if(CONFIG_CMSIS_DSP_WRAPPER)
-
- zephyr_library_sources(
- arm_cfft_radix2_init_f32.c
- )
-
-endif()