Преглед изворни кода

Corrected issue #57

Problem with arm_scale_q15 and q31.

Reorganized a little the cmsis build scripts for the test framework.
Christophe Favergeon пре 3 година
родитељ
комит
9eb4e92e74
31 измењених фајлова са 919 додато и 254 уклоњено
  1. 17 6
      Source/BasicMathFunctions/arm_scale_q15.c
  2. 6 1
      Source/BasicMathFunctions/arm_scale_q31.c
  3. 19 6
      Source/BasicMathFunctions/arm_scale_q7.c
  4. 3 0
      Testing/cmsis_build/.gitignore
  5. 21 0
      Testing/cmsis_build/RTE/_test.Release_VHT_M7_UNROLLED/RTE_Components.h
  6. 49 0
      Testing/cmsis_build/boot.clayer.yml
  7. 14 0
      Testing/cmsis_build/build.bat
  8. 0 13
      Testing/cmsis_build/build.sh
  9. 3 0
      Testing/cmsis_build/buildsolution.bat
  10. 0 2
      Testing/cmsis_build/buildsolution.sh
  11. 30 0
      Testing/cmsis_build/check.bat
  12. 40 0
      Testing/cmsis_build/dsp.clayer.yml
  13. 7 7
      Testing/cmsis_build/runarmds.bat
  14. 31 29
      Testing/cmsis_build/runkeil.bat
  15. 41 15
      Testing/cmsis_build/test.Release+FVP_A5Neon.cprj
  16. 41 15
      Testing/cmsis_build/test.Release+FVP_A7Neon.cprj
  17. 41 15
      Testing/cmsis_build/test.Release+FVP_A9Neon.cprj
  18. 40 12
      Testing/cmsis_build/test.Release+FVP_M55.cprj
  19. 33 5
      Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj
  20. 33 5
      Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj
  21. 40 12
      Testing/cmsis_build/test.Release+VHT_M0P.cprj
  22. 40 12
      Testing/cmsis_build/test.Release+VHT_M23.cprj
  23. 40 12
      Testing/cmsis_build/test.Release+VHT_M3.cprj
  24. 40 12
      Testing/cmsis_build/test.Release+VHT_M33.cprj
  25. 40 12
      Testing/cmsis_build/test.Release+VHT_M4.cprj
  26. 40 12
      Testing/cmsis_build/test.Release+VHT_M7.cprj
  27. 188 0
      Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj
  28. 11 47
      Testing/cmsis_build/test.cproject.yml
  29. 6 1
      Testing/cmsis_build/testac6.csolution.yml
  30. 1 2
      Testing/cmsis_build/testgcc.csolution.yml
  31. 4 1
      Testing/processResult.py

+ 17 - 6
Source/BasicMathFunctions/arm_scale_q15.c

@@ -65,7 +65,7 @@ void arm_scale_q15(
     uint32_t  blkCnt;           /* loop counters */
     q15x8_t vecSrc;
     q15x8_t vecDst;
-
+    q31x4_t low, high;
 
     /* Compute 8 outputs at a time */
     blkCnt = blockSize >> 3;
@@ -77,8 +77,14 @@ void arm_scale_q15(
          * Scale the input and then store the result in the destination buffer.
          */
         vecSrc = vld1q(pSrc);
-        vecDst = vmulhq(vecSrc, vdupq_n_s16(scaleFract));
-        vecDst = vqshlq_r(vecDst, shift + 1);
+        low = vmullbq_int(vecSrc, vdupq_n_s16(scaleFract));
+        low = vqshlq_r(low, shift);
+        vecDst = vqshrnbq_n_s32(vecDst,low,15);
+
+        high = vmulltq_int(vecSrc, vdupq_n_s16(scaleFract));
+        high = vqshlq_r(high, shift);
+        vecDst = vqshrntq_n_s32(vecDst,high,15);
+
         vst1q(pDst, vecDst);
         /*
          * Decrement the blockSize loop counter
@@ -96,10 +102,15 @@ void arm_scale_q15(
     blkCnt = blockSize & 7;
     if (blkCnt > 0U)
     {
-        mve_pred16_t p0 = vctp16q(blkCnt);;
+        mve_pred16_t p0 = vctp16q(blkCnt);
         vecSrc = vld1q(pSrc);
-        vecDst = vmulhq(vecSrc, vdupq_n_s16(scaleFract));
-        vecDst = vqshlq_r(vecDst, shift + 1);
+        low = vmullbq_int(vecSrc, vdupq_n_s16(scaleFract));
+        low = vqshlq_r(low, shift);
+        vecDst = vqshrnbq_n_s32(vecDst,low,15);
+
+        high = vmulltq_int(vecSrc, vdupq_n_s16(scaleFract));
+        high = vqshlq_r(high, shift);
+        vecDst = vqshrntq_n_s32(vecDst,high,15);
         vstrhq_p(pDst, vecDst, p0);
     }
 

+ 6 - 1
Source/BasicMathFunctions/arm_scale_q31.c

@@ -48,7 +48,12 @@
 
   @par           Scaling and Overflow Behavior
                    The input data <code>*pSrc</code> and <code>scaleFract</code> are in 1.31 format.
-                   These are multiplied to yield a 2.62 intermediate result and this is shifted with saturation to 1.31 format.
+                   These are multiplied to yield a 2.62 intermediate result and this is shifted 
+                   with saturation to 1.31 format.
+                   There is an intermediate shift by 32 to go from the
+                   2.62 to 1.31 format. 
+                   The shift argument is applied on the 1.31 result and not to the intermediate
+                   2.62 format. 
  */
 
 #if defined(ARM_MATH_MVEI) && !defined(ARM_MATH_AUTOVECTORIZE)

+ 19 - 6
Source/BasicMathFunctions/arm_scale_q7.c

@@ -55,7 +55,6 @@
 
 #include "arm_helium_utils.h"
 
-
 void arm_scale_q7(
     const q7_t * pSrc,
     q7_t   scaleFract,
@@ -66,6 +65,7 @@ void arm_scale_q7(
     uint32_t  blkCnt;           /* loop counters */
     q7x16_t vecSrc;
     q7x16_t vecDst;
+    q15x8_t low, high;
 
 
     /* Compute 16 outputs at a time */
@@ -78,8 +78,14 @@ void arm_scale_q7(
          * Scale the input and then store the result in the destination buffer.
          */
         vecSrc = vld1q(pSrc);
-        vecDst = vmulhq(vecSrc, vdupq_n_s8(scaleFract));
-        vecDst = vqshlq_r(vecDst, shift + 1);
+
+        low = vmullbq_int(vecSrc, vdupq_n_s8(scaleFract));
+        low = vqshlq_r(low, shift);
+        vecDst = vqshrnbq_n_s16(vecDst,low,7);
+        high = vmulltq_int(vecSrc, vdupq_n_s8(scaleFract));
+        high = vqshlq_r(high, shift);
+        vecDst = vqshrntq_n_s16(vecDst,high,7);
+
         vst1q(pDst, vecDst);
         /*
          * Decrement the blockSize loop counter
@@ -99,9 +105,16 @@ void arm_scale_q7(
     {
         mve_pred16_t p0 = vctp8q(blkCnt);
         vecSrc = vld1q(pSrc);
-        vecDst = vmulhq(vecSrc, vdupq_n_s8(scaleFract));
-        vecDst = vqshlq_r(vecDst, shift + 1);
-        vstrbq_p(pDst, vecDst, p0);
+        low = vmullbq_int_s8(vecSrc, vdupq_n_s8(scaleFract));
+        low = vqshlq_r(low, shift);
+        vecDst = vqshrnbq_n_s16(vecDst,low,7);
+
+        high = vmulltq_int_s8(vecSrc, vdupq_n_s8(scaleFract));
+        high = vqshlq_r(high, shift);
+        vecDst = vqshrntq_n_s16(vecDst,high,7);
+
+        /* narrowing & merge */
+        vstrbq_p_s8(pDst, vecDst, p0);
     }
 
 }

+ 3 - 0
Testing/cmsis_build/.gitignore

@@ -0,0 +1,3 @@
+out/
+results*.txt
+*.html

+ 21 - 0
Testing/cmsis_build/RTE/_test.Release_VHT_M7_UNROLLED/RTE_Components.h

@@ -0,0 +1,21 @@
+
+/*
+ * Auto generated Run-Time-Environment Configuration File
+ *      *** Do not modify ! ***
+ *
+ * Project: 'test.Release+VHT_M7_UNROLLED' 
+ * Target:  'test.Release+VHT_M7_UNROLLED' 
+ */
+
+#ifndef RTE_COMPONENTS_H
+#define RTE_COMPONENTS_H
+
+
+/*
+ * Define the Device Header File: 
+ */
+#define CMSIS_device_header "ARMCM7_DP.h"
+
+
+
+#endif /* RTE_COMPONENTS_H */

+ 49 - 0
Testing/cmsis_build/boot.clayer.yml

@@ -0,0 +1,49 @@
+layer:  
+  # name: boot
+  description: Boot code for Virtual Hardware
+
+  
+
+  components:
+    - component: Device:Startup&C Startup
+      not-for-type: 
+        - +VHT-Corstone-300 
+        - +VHT-Corstone-310
+        - +FVP_A5Neon
+        - +FVP_A7Neon
+        - +FVP_A9Neon
+    - component: Device:Startup
+      for-type: 
+        - +FVP_A5Neon
+        - +FVP_A7Neon
+        - +FVP_A9Neon
+    - component: Device:IRQ Controller
+      for-type: 
+        - +FVP_A5Neon
+        - +FVP_A7Neon
+        - +FVP_A9Neon
+    - component: Device:OS Tick
+      for-type: 
+        - +FVP_A5Neon
+        - +FVP_A7Neon
+        - +FVP_A9Neon
+    - component: ARM::Device:Definition
+      for-type: 
+        - +VHT-Corstone-300 
+        - +VHT-Corstone-310
+    - component: ARM::Device:Startup&Baremetal
+      for-type: 
+        - +VHT-Corstone-300 
+        - +VHT-Corstone-310
+    - component: ARM::Native Driver:Timeout
+      for-type: 
+        - +VHT-Corstone-300 
+        - +VHT-Corstone-310
+    - component: ARM::Native Driver:SysCounter
+      for-type: 
+        - +VHT-Corstone-300 
+        - +VHT-Corstone-310
+    - component: ARM::Native Driver:SysTimer
+      for-type: 
+        - +VHT-Corstone-300 
+        - +VHT-Corstone-310

+ 14 - 0
Testing/cmsis_build/build.bat

@@ -0,0 +1,14 @@
+ECHO OFF
+cbuild "test.Release+VHT_M0P.cprj"  
+cbuild "test.Release+VHT_M23.cprj"  
+cbuild "test.Release+VHT_M3.cprj" 
+cbuild "test.Release+VHT_M4.cprj" 
+cbuild "test.Release+VHT_M7.cprj"  
+cbuild "test.Release+VHT_M7_UNROLLED.cprj"  
+cbuild "test.Release+VHT_M33.cprj" 
+cbuild "test.Release+VHT-Corstone-300.cprj" 
+cbuild "test.Release+VHT-Corstone-310.cprj"  
+cbuild "test.Release+FVP_M55.cprj" 
+REM cbuild "test.Release+FVP_A5Neon.cprj"  
+REM cbuild "test.Release+FVP_A7Neon.cprj"  
+REM cbuild "test.Release+FVP_A9Neon.cprj"  

+ 0 - 13
Testing/cmsis_build/build.sh

@@ -1,13 +0,0 @@
-# cbuild "test.Release+VHT_M0P.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+VHT_M23.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+VHT_M3.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+VHT_M4.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+VHT_M7.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+VHT_M33.cprj" --outdir=Objects --intdir=Tmp
-cbuild "test.Release+VHT-Corstone-300.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+VHT-Corstone-310.cprj"  --outdir=Objects --intdir=Tmp
-# cbuild "test.Release+FVP_M55.cprj"  --outdir=Objects --intdir=Tmp
-
-#cbuild "test.Release+FVP_A5Neon.cprj"  --outdir=Objects --intdir=Tmp
-#cbuild "test.Release+FVP_A7Neon.cprj"  --outdir=Objects --intdir=Tmp
-#cbuild "test.Release+FVP_A9Neon.cprj"  --outdir=Objects --intdir=Tmp

+ 3 - 0
Testing/cmsis_build/buildsolution.bat

@@ -0,0 +1,3 @@
+ECHO OFF
+csolution convert -s testac6.csolution.yml
+REM csolution convert -s testgcc.csolution.yml

+ 0 - 2
Testing/cmsis_build/buildsolution.sh

@@ -1,2 +0,0 @@
-csolution convert -s test.csolution_ac6.yml
-csolution convert -s test.csolution_gcc.yml

+ 30 - 0
Testing/cmsis_build/check.bat

@@ -0,0 +1,30 @@
+ECHO OFF
+ECHO "M0P"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m0p.txt -html > m0p.html
+
+ECHO "M23"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m23.txt -html > m23.html
+
+ECHO "M3"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m3.txt  -html  > m3.html
+
+ECHO "M4"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m4.txt -html > m4.html
+
+ECHO "M7"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m7.txt -html > m7.html
+
+ECHO "M7 unrolled"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m7_unrolled.txt -html > m7_unrolled.html
+
+ECHO "M33"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_m33.txt -html > m33.html
+
+ECHO "CS300"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_cs300.txt     -html   > cs300.html
+
+ECHO "CS300 U55"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_cs300_u55.txt   -html > cs300_u55.html
+
+ECHO "CS310"
+python ..\processResult.py  -f ..\Output.pickle -e -r results_cs310.txt  -html > cs310.html

+ 40 - 0
Testing/cmsis_build/dsp.clayer.yml

@@ -0,0 +1,40 @@
+layer:  
+  description: CMSIS-DSP
+
+
+  add-path:
+    - ../../Include 
+    - ../../PrivateInclude
+
+  groups:
+    - group: CMSIS-DSP
+      files:
+        - file: ../../Source/BasicMathFunctions/BasicMathFunctions.c
+        - file: ../../Source/BasicMathFunctions/BasicMathFunctionsF16.c
+        - file: ../../Source/DistanceFunctions/DistanceFunctions.c
+        - file: ../../Source/DistanceFunctions/DistanceFunctionsF16.c
+        - file: ../../Source/MatrixFunctions/MatrixFunctions.c
+        - file: ../../Source/MatrixFunctions/MatrixFunctionsF16.c
+        - file: ../../Source/BayesFunctions/BayesFunctions.c
+        - file: ../../Source/BayesFunctions/BayesFunctionsF16.c
+        - file: ../../Source/FastMathFunctions/FastMathFunctions.c
+        - file: ../../Source/FastMathFunctions/FastMathFunctionsF16.c
+        - file: ../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c
+        - file: ../../Source/StatisticsFunctions/StatisticsFunctions.c
+        - file: ../../Source/StatisticsFunctions/StatisticsFunctionsF16.c
+        - file: ../../Source/CommonTables/CommonTables.c
+        - file: ../../Source/CommonTables/CommonTablesF16.c
+        - file: ../../Source/FilteringFunctions/FilteringFunctions.c
+        - file: ../../Source/FilteringFunctions/FilteringFunctionsF16.c
+        - file: ../../Source/SupportFunctions/SupportFunctions.c
+        - file: ../../Source/SupportFunctions/SupportFunctionsF16.c
+        - file: ../../Source/ComplexMathFunctions/ComplexMathFunctions.c
+        - file: ../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c
+        - file: ../../Source/SVMFunctions/SVMFunctions.c
+        - file: ../../Source/SVMFunctions/SVMFunctionsF16.c
+        - file: ../../Source/InterpolationFunctions/InterpolationFunctions.c
+        - file: ../../Source/InterpolationFunctions/InterpolationFunctionsF16.c
+        - file: ../../Source/TransformFunctions/TransformFunctions.c
+        - file: ../../Source/TransformFunctions/TransformFunctionsF16.c
+        - file: ../../Source/ControllerFunctions/ControllerFunctions.c
+     

+ 7 - 7
Testing/cmsis_build/runarmds.bat

@@ -1,11 +1,11 @@
-REM "C:\Program Files\ARM\Development Studio 2022.0\bin\FVP_VE_Cortex-A5x1.exe" ^
-REM     -f configs/ARMCA5neon_config.txt ^
-REM     Objects\test.Release+FVP_A5Neon.axf
+"C:\Program Files\ARM\Development Studio 2022.0\bin\FVP_VE_Cortex-A5x1.exe" ^
+    -f configs/ARMCA5neon_config.txt ^
+    Objects\test.Release+FVP_A5Neon.axf > results_a5.txt
 
-REM "C:\Program Files\ARM\Development Studio 2022.0\bin\FVP_VE_Cortex-A7x1.exe" ^
-REM     -f configs/ARMCA7neon_config.txt ^
-REM     Objects\test.Release+FVP_A7Neon.axf
+"C:\Program Files\ARM\Development Studio 2022.0\bin\FVP_VE_Cortex-A7x1.exe" ^
+    -f configs/ARMCA7neon_config.txt ^
+    Objects\test.Release+FVP_A7Neon.axf > results_a7.txt
 
 "C:\Program Files\ARM\Development Studio 2022.0\bin\FVP_VE_Cortex-A9x1.exe" ^
     -f configs/ARMCA9neon_config.txt ^
-    Objects\test.Release+FVP_A9Neon.axf
+    Objects\test.Release+FVP_A9Neon.axf > results_a9.txt

+ 31 - 29
Testing/cmsis_build/runkeil.bat

@@ -1,40 +1,42 @@
-REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M0plus.exe ^
-REM    -f configs/ARM_VHT_MPS2_M0plus_config.txt ^
-REM    Objects\test.Release+VHT_M0P.axf 
+ECHO OFF
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M0plus.exe ^
+   -f configs/ARM_VHT_MPS2_M0plus_config.txt ^
+   out\test\VHT_M0P\Release\test.Release+VHT_M0P.axf > results_m0p.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M23.exe ^
-REM    -f configs/ARM_VHT_MPS2_M23_config.txt ^
-REM    Objects\test.Release+VHT_M23.axf 
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M23.exe ^
+   -f configs/ARM_VHT_MPS2_M23_config.txt ^
+   out\test\VHT_M23\Release\test.Release+VHT_M23.axf > results_m23.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M3.exe ^
-REM    -f configs/ARM_VHT_MPS2_M3_config.txt ^
-REM    Objects\test.Release+VHT_M3.axf 
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M3.exe ^
+   -f configs/ARM_VHT_MPS2_M3_config.txt ^
+   out\test\VHT_M3\Release\test.Release+VHT_M3.axf > results_m3.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M4.exe ^
-REM    -f configs/ARM_VHT_MPS2_M4FP_config.txt ^
-REM    Objects\test.Release+VHT_M4.axf 
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M4.exe ^
+   -f configs/ARM_VHT_MPS2_M4FP_config.txt ^
+   out\test\VHT_M4\Release\test.Release+VHT_M4.axf > results_m4.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M7.exe ^
-REM    -f configs/ARM_VHT_MPS2_M7DP_config.txt ^
-REM    Objects\test.Release+VHT_M7.axf 
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M7.exe ^
+   -f configs/ARM_VHT_MPS2_M7DP_config.txt ^
+   out\test\VHT_M7\Release\test.Release+VHT_M7.axf > results_m7.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M33.exe ^
-REM    -f configs/ARM_VHT_MPS2_M33_DSP_FP_config.txt ^
-REM    -a cpu0="Objects\test.Release+VHT_M33.axf" 
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M7.exe ^
+   -f configs/ARM_VHT_MPS2_M7DP_config.txt ^
+   out\test\VHT_M7_UNROLLED\Release\test.Release+VHT_M7_UNROLLED.axf > results_m7_unrolled.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_MPS3_Corstone_SSE-300.exe ^
-REM   -f configs/ARM_VHT_Corstone_300_config.txt ^
-REM   -a cpu0="Objects\test.Release+VHT-Corstone-300.axf" 
 
+C:\Keil_v5\ARM\VHT\VHT_MPS2_Cortex-M33.exe ^
+   -f configs/ARM_VHT_MPS2_M33_DSP_FP_config.txt ^
+   -a cpu0="out\test\VHT_M33\Release\test.Release+VHT_M33.axf" > results_m33.txt
+
+C:\Keil_v5\ARM\VHT\VHT_MPS3_Corstone_SSE-300.exe ^
+  -f configs/ARM_VHT_Corstone_300_config.txt ^
+  -a cpu0="out\test\VHT-Corstone-300\Release\test.Release+VHT-Corstone-300.axf" > results_cs300.txt
 
-REM C:\Keil_v5\ARM\VHT\VHT_Corstone_SSE-310.exe ^
-REM   -f configs/ARM_VHT_Corstone_310_config.txt ^
-REM   -a cpu0="Objects\test.Release+VHT-Corstone-310.axf" 
+
+C:\Keil_v5\ARM\VHT\VHT_Corstone_SSE-310.exe ^
+  -f configs/ARM_VHT_Corstone_310_config.txt ^
+  -a cpu0="out\test\VHT-Corstone-310\Release\test.Release+VHT-Corstone-310.axf" > results_cs310.txt
 
 C:\Keil_v5\ARM\VHT\VHT_Corstone_SSE-300_Ethos-U55.exe ^
   -f configs/ARM_VHT_Corstone_300_config.txt ^
-  -a cpu0="Objects\test.Release+VHT-Corstone-300.axf" 
-
-REM C:\Keil_v5\ARM\FVP\MPS2_Cortex-M\FVP_MPS2_Cortex-M55_MDK.exe ^
-REM    -f configs/ARM_VHT_MPS2_M55_config.txt ^
-REM    Objects\test.Release+FVP_M55.axf 
+  -a cpu0="out\test\VHT-Corstone-300\Release\test.Release+VHT-Corstone-300.axf" > results_cs300_u55.txt

+ 41 - 15
Testing/cmsis_build/test.Release+FVP_A5Neon.cprj

@@ -1,42 +1,38 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:02" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="DP_FPU" Dname="ARMCA5" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+FVP_A5Neon_IntDir/" name="test.Release+FVP_A5Neon" outdir="test.Release+FVP_A5Neon_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCA5/ARMCA5.ld"/>
+    <output intdir="tmp/test/FVP_A5Neon/Release" name="test.Release+FVP_A5Neon" outdir="out/test/FVP_A5Neon/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCA5/ARMCA5.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXA</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="1.2.1"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0">
-      <defines>ARM_MATH_NEON;DISABLEFLOAT16</defines>
-    </component>
     <component Cclass="Device" Cgroup="IRQ Controller" Csub="GIC" Cvendor="ARM" Cversion="1.0.1"/>
     <component Cclass="Device" Cgroup="OS Tick" Csub="Private Timer" Cvendor="ARM" Cversion="1.0.2"/>
     <component Cclass="Device" Cgroup="Startup" Cvendor="ARM" Cversion="1.0.1">
       <file attr="config" category="header" name="Device/ARM/ARMCA5/Config/mem_ARMCA5.h" version="1.1.0"/>
       <file attr="config" category="header" name="Device/ARM/ARMCA5/Config/system_ARMCA5.h" version="1.0.0"/>
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCA5/Source/GCC/ARMCA5.ld" version="1.0.0"/>
-      <file attr="config" category="sourceC" name="Device/ARM/ARMCA5/Source/GCC/startup_ARMCA5.c" version="1.0.1"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCA5/Source/AC6/ARMCA5.sct" version="1.0.0"/>
+      <file attr="config" category="sourceC" name="Device/ARM/ARMCA5/Source/AC6/startup_ARMCA5.c" version="1.0.1"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCA5/Source/mmu_ARMCA5.c" version="1.2.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCA5/Source/system_ARMCA5.c" version="1.0.1"/>
     </component>
@@ -162,6 +158,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 41 - 15
Testing/cmsis_build/test.Release+FVP_A7Neon.cprj

@@ -1,42 +1,38 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:02" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="DP_FPU" Dname="ARMCA7" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+FVP_A7Neon_IntDir/" name="test.Release+FVP_A7Neon" outdir="test.Release+FVP_A7Neon_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCA7/ARMCA7.ld"/>
+    <output intdir="tmp/test/FVP_A7Neon/Release" name="test.Release+FVP_A7Neon" outdir="out/test/FVP_A7Neon/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCA7/ARMCA7.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXA</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="1.2.1"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0">
-      <defines>ARM_MATH_NEON;DISABLEFLOAT16</defines>
-    </component>
     <component Cclass="Device" Cgroup="IRQ Controller" Csub="GIC" Cvendor="ARM" Cversion="1.0.1"/>
     <component Cclass="Device" Cgroup="OS Tick" Csub="Generic Physical Timer" Cvendor="ARM" Cversion="1.0.1"/>
     <component Cclass="Device" Cgroup="Startup" Cvendor="ARM" Cversion="1.0.1">
       <file attr="config" category="header" name="Device/ARM/ARMCA7/Config/mem_ARMCA7.h" version="1.1.0"/>
       <file attr="config" category="header" name="Device/ARM/ARMCA7/Config/system_ARMCA7.h" version="1.0.0"/>
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCA7/Source/GCC/ARMCA7.ld" version="1.0.0"/>
-      <file attr="config" category="sourceC" name="Device/ARM/ARMCA7/Source/GCC/startup_ARMCA7.c" version="1.0.1"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCA7/Source/AC6/ARMCA7.sct" version="1.0.0"/>
+      <file attr="config" category="sourceC" name="Device/ARM/ARMCA7/Source/AC6/startup_ARMCA7.c" version="1.0.1"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCA7/Source/mmu_ARMCA7.c" version="1.2.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCA7/Source/system_ARMCA7.c" version="1.0.1"/>
     </component>
@@ -162,6 +158,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 41 - 15
Testing/cmsis_build/test.Release+FVP_A9Neon.cprj

@@ -1,42 +1,38 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="DP_FPU" Dname="ARMCA9" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+FVP_A9Neon_IntDir/" name="test.Release+FVP_A9Neon" outdir="test.Release+FVP_A9Neon_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCA9/ARMCA9.ld"/>
+    <output intdir="tmp/test/FVP_A9Neon/Release" name="test.Release+FVP_A9Neon" outdir="out/test/FVP_A9Neon/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCA9/ARMCA9.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXA</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="1.2.1"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0">
-      <defines>ARM_MATH_AUTOVECTORIZE;DISABLEFLOAT16</defines>
-    </component>
     <component Cclass="Device" Cgroup="IRQ Controller" Csub="GIC" Cvendor="ARM" Cversion="1.0.1"/>
     <component Cclass="Device" Cgroup="OS Tick" Csub="Private Timer" Cvendor="ARM" Cversion="1.0.2"/>
     <component Cclass="Device" Cgroup="Startup" Cvendor="ARM" Cversion="1.0.2">
       <file attr="config" category="header" name="Device/ARM/ARMCA9/Config/mem_ARMCA9.h" version="1.1.0"/>
       <file attr="config" category="header" name="Device/ARM/ARMCA9/Config/system_ARMCA9.h" version="1.0.0"/>
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCA9/Source/GCC/ARMCA9.ld" version="1.0.0"/>
-      <file attr="config" category="sourceC" name="Device/ARM/ARMCA9/Source/GCC/startup_ARMCA9.c" version="1.0.1"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCA9/Source/AC6/ARMCA9.sct" version="1.0.0"/>
+      <file attr="config" category="sourceC" name="Device/ARM/ARMCA9/Source/AC6/startup_ARMCA9.c" version="1.0.1"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCA9/Source/mmu_ARMCA9.c" version="1.2.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCA9/Source/system_ARMCA9.c" version="1.0.1"/>
     </component>
@@ -162,6 +158,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+FVP_M55.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Ddsp="DSP" Dfpu="DP_FPU" Dmve="FP_MVE" Dname="ARMCM55" Dsecure="Non-secure" Dtz="TZ" Dvendor="ARM:82">
-    <output intdir="test.Release+FVP_M55_IntDir/" name="test.Release+FVP_M55" outdir="test.Release+FVP_M55_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM55/gcc_arm.ld"/>
+    <output intdir="tmp/test/FVP_M55/Release" name="test.Release+FVP_M55" outdir="out/test/FVP_M55/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM55/ARMCM55_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="1.1.0">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM55/Source/GCC/gcc_arm.ld" version="2.2.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM55/Source/ARM/ARMCM55_ac6.sct" version="1.1.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM55/Source/startup_ARMCM55.c" version="1.1.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM55/Source/system_ARMCM55.c" version="1.1.0"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 33 - 5
Testing/cmsis_build/test.Release+VHT-Corstone-300.cprj

@@ -1,13 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:01" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
     <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
     <package name="V2M_MPS3_SSE_300_BSP" vendor="ARM" version="1.3.0:1.3.0"/>
   </packages>
@@ -17,18 +16,17 @@
   </compilers>
 
   <target Ddsp="DSP" Dfpu="DP_FPU" Dmve="FP_MVE" Dname="SSE-300-MPS3" Dsecure="Non-secure" Dtz="TZ" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT-Corstone-300_IntDir/" name="test.Release+VHT-Corstone-300" outdir="test.Release+VHT-Corstone-300_OutDir/" type="exe"/>
+    <output intdir="tmp/test/VHT-Corstone-300/Release" name="test.Release+VHT-Corstone-300" outdir="out/test/VHT-Corstone-300/Release" rtedir="RTE" type="exe"/>
     <asflags add="-masm=auto" compiler="AC6"/>
     <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
     <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
     <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/SSE-300-MPS3/fvp_sse300_mps3_s.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Definition" Cvendor="ARM" Cversion="1.2.0">
       <file attr="config" category="header" name="Board/Platform/platform_base_address.h" version="1.1.2"/>
     </component>
@@ -168,6 +166,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 33 - 5
Testing/cmsis_build/test.Release+VHT-Corstone-310.cprj

@@ -1,13 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:01" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
     <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
     <package name="V2M_MPS3_SSE_310_BSP" vendor="ARM" version="1.0.0:1.0.0"/>
   </packages>
@@ -17,18 +16,17 @@
   </compilers>
 
   <target Ddsp="DSP" Dfpu="DP_FPU" Dmve="FP_MVE" Dname="SSE-310-MPS3" Dsecure="Non-secure" Dtz="TZ" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT-Corstone-310_IntDir/" name="test.Release+VHT-Corstone-310" outdir="test.Release+VHT-Corstone-310_OutDir/" type="exe"/>
+    <output intdir="tmp/test/VHT-Corstone-310/Release" name="test.Release+VHT-Corstone-310" outdir="out/test/VHT-Corstone-310/Release" rtedir="RTE" type="exe"/>
     <asflags add="-masm=auto" compiler="AC6"/>
     <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
     <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
     <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/SSE-310-MPS3/corstone310_mps3_s.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Definition" Cvendor="ARM" Cversion="1.0.0">
       <file attr="config" category="header" name="Board/Platform/platform_base_address.h" version="1.0.0"/>
     </component>
@@ -168,6 +166,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+VHT_M0P.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="NO_FPU" Dname="ARMCM0P" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT_M0P_IntDir/" name="test.Release+VHT_M0P" outdir="test.Release+VHT_M0P_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM0P/gcc_arm.ld"/>
+    <output intdir="tmp/test/VHT_M0P/Release" name="test.Release+VHT_M0P" outdir="out/test/VHT_M0P/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM0P/ARMCM0plus_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.0.3">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM0plus/Source/GCC/gcc_arm.ld" version="2.1.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM0plus/Source/ARM/ARMCM0plus_ac6.sct" version="1.0.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM0plus/Source/startup_ARMCM0plus.c" version="2.0.3"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM0plus/Source/system_ARMCM0plus.c" version="1.0.0"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+VHT_M23.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="NO_FPU" Dname="ARMCM23" Dsecure="Non-secure" Dtz="NO_TZ" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT_M23_IntDir/" name="test.Release+VHT_M23" outdir="test.Release+VHT_M23_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM23/gcc_arm.ld"/>
+    <output intdir="tmp/test/VHT_M23/Release" name="test.Release+VHT_M23" outdir="out/test/VHT_M23/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM23/ARMCM23_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.1.0">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM23/Source/GCC/gcc_arm.ld" version="2.2.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM23/Source/ARM/ARMCM23_ac6.sct" version="1.1.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM23/Source/startup_ARMCM23.c" version="2.1.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM23/Source/system_ARMCM23.c" version="1.0.1"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+VHT_M3.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="NO_FPU" Dname="ARMCM3" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT_M3_IntDir/" name="test.Release+VHT_M3" outdir="test.Release+VHT_M3_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM3/gcc_arm.ld"/>
+    <output intdir="tmp/test/VHT_M3/Release" name="test.Release+VHT_M3" outdir="out/test/VHT_M3/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM3/ARMCM3_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.0.3">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM3/Source/GCC/gcc_arm.ld" version="2.1.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM3/Source/ARM/ARMCM3_ac6.sct" version="1.0.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM3/Source/startup_ARMCM3.c" version="2.0.3"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM3/Source/system_ARMCM3.c" version="1.0.1"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+VHT_M33.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Ddsp="DSP" Dfpu="SP_FPU" Dname="ARMCM33_DSP_FP" Dsecure="Non-secure" Dtz="NO_TZ" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT_M33_IntDir/" name="test.Release+VHT_M33" outdir="test.Release+VHT_M33_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM33_DSP_FP/gcc_arm.ld"/>
+    <output intdir="tmp/test/VHT_M33/Release" name="test.Release+VHT_M33" outdir="out/test/VHT_M33/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM33_DSP_FP/ARMCM33_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.1.0">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM33/Source/GCC/gcc_arm.ld" version="2.2.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM33/Source/ARM/ARMCM33_ac6.sct" version="1.1.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM33/Source/startup_ARMCM33.c" version="2.1.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM33/Source/system_ARMCM33.c" version="1.0.1"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+VHT_M4.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="SP_FPU" Dname="ARMCM4_FP" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT_M4_IntDir/" name="test.Release+VHT_M4" outdir="test.Release+VHT_M4_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM4_FP/gcc_arm.ld"/>
+    <output intdir="tmp/test/VHT_M4/Release" name="test.Release+VHT_M4" outdir="out/test/VHT_M4/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM4_FP/ARMCM4_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.0.3">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld" version="2.1.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM4/Source/ARM/ARMCM4_ac6.sct" version="1.0.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM4/Source/startup_ARMCM4.c" version="2.0.3"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM4/Source/system_ARMCM4.c" version="1.0.1"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 40 - 12
Testing/cmsis_build/test.Release+VHT_M7.cprj

@@ -1,35 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
-  <created timestamp="2022-08-03T08:32:03" tool="csolution 0.9.6"/>
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
 
   <info isLayer="false">
     <description>Automatically generated project</description>
   </info>
 
   <packages>
-    <package name="CMSIS-DSP" vendor="ARM" version="1.11.0:1.11.0"/>
-    <package name="CMSIS" vendor="ARM" version="5.9.1:5.9.1"/>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
   </packages>
 
   <compilers>
-    <compiler name="GCC" version="10.2.1"/>
+    <compiler name="AC6" version="6.18.0"/>
   </compilers>
 
   <target Dfpu="DP_FPU" Dname="ARMCM7_DP" Dsecure="Non-secure" Dvendor="ARM:82">
-    <output intdir="test.Release+VHT_M7_IntDir/" name="test.Release+VHT_M7" outdir="test.Release+VHT_M7_OutDir/" type="exe"/>
-    <asflags add="-masm=auto" compiler="GCC"/>
-    <cflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections -std=c11 -Ofast -ffast-math  -flax-vector-conversions" compiler="GCC"/>
-    <cxxflags add="-ffunction-sections -mfp16-format=ieee -fdata-sections  -std=c++11 -Ofast -ffast-math  -flax-vector-conversions -Wno-unused-parameter" compiler="GCC"/>
-    <ldflags add="--specs=nano.specs --specs=rdimon.specs --entry=Reset_Handler -Wl,--gc-sections" compiler="GCC" file="RTE/Device/ARMCM7_DP/gcc_arm.ld"/>
+    <output intdir="tmp/test/VHT_M7/Release" name="test.Release+VHT_M7" outdir="out/test/VHT_M7/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct"/>
     <defines>EMBEDDED;NORMALFVP;CORTEXM</defines>
-    <includes>../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
   </target>
 
   <components>
     <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
-    <component Cclass="CMSIS" Cgroup="DSP" Cvariant="Source" Cvendor="ARM" Cversion="1.11.0"/>
     <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.0.3">
-      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM7/Source/GCC/gcc_arm.ld" version="2.1.0"/>
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct" version="1.0.0"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM7/Source/startup_ARMCM7.c" version="2.0.3"/>
       <file attr="config" category="sourceC" name="Device/ARM/ARMCM7/Source/system_ARMCM7.c" version="1.0.1"/>
     </component>
@@ -155,6 +153,36 @@
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
       <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
     </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
   </files>
 </cprj>
 

+ 188 - 0
Testing/cmsis_build/test.Release+VHT_M7_UNROLLED.cprj

@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<cprj schemaVersion="1.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CPRJ.xsd">
+  <created timestamp="2022-10-21T07:15:38" tool="csolution 1.1.0"/>
+
+  <info isLayer="false">
+    <description>Automatically generated project</description>
+  </info>
+
+  <packages>
+    <package name="CMSIS" vendor="ARM" version="5.9.0:5.9.0"/>
+  </packages>
+
+  <compilers>
+    <compiler name="AC6" version="6.18.0"/>
+  </compilers>
+
+  <target Dfpu="DP_FPU" Dname="ARMCM7_DP" Dsecure="Non-secure" Dvendor="ARM:82">
+    <output intdir="tmp/test/VHT_M7_UNROLLED/Release" name="test.Release+VHT_M7_UNROLLED" outdir="out/test/VHT_M7_UNROLLED/Release" rtedir="RTE" type="exe"/>
+    <asflags add="-masm=auto" compiler="AC6"/>
+    <cflags add="-std=c11 -Ofast -ffast-math" compiler="AC6"/>
+    <cxxflags add="-std=c++11 -Ofast -ffast-math" compiler="AC6"/>
+    <ldflags add="--entry=Reset_Handler --info=summarysizes --info=sizes --info=totals --info=unused --info=veneers" compiler="AC6" file="RTE/Device/ARMCM7_DP/ARMCM7_ac6.sct"/>
+    <defines>EMBEDDED;NORMALFVP;CORTEXM;ARM_MATH_LOOPUNROLL</defines>
+    <includes>../../Include;../../PrivateInclude;../FrameworkInclude;../GeneratedInclude;../Include/Tests</includes>
+  </target>
+
+  <components>
+    <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0"/>
+    <component Cclass="Device" Cgroup="Startup" Cvariant="C Startup" Cvendor="ARM" Cversion="2.0.3">
+      <file attr="config" category="linkerScript" name="Device/ARM/ARMCM7/Source/ARM/ARMCM7_ac6.sct" version="1.0.0"/>
+      <file attr="config" category="sourceC" name="Device/ARM/ARMCM7/Source/startup_ARMCM7.c" version="2.0.3"/>
+      <file attr="config" category="sourceC" name="Device/ARM/ARMCM7/Source/system_ARMCM7.c" version="1.0.1"/>
+    </component>
+  </components>
+
+  <files>
+    <group name="App">
+      <file category="sourceCpp" name="../main.cpp"/>
+      <file category="sourceC" name="../patterndata.c"/>
+      <file category="sourceCpp" name="../testmain.cpp"/>
+    </group>
+    <group name="TestFramework">
+      <file category="sourceCpp" name="../FrameworkSource/ArrayMemory.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/Calibrate.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/Error.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/FPGA.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/Generators.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/IORunner.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/Pattern.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/PatternMgr.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/Test.cpp"/>
+      <file category="sourceCpp" name="../FrameworkSource/Timing.cpp"/>
+    </group>
+    <group name="GeneratedConfig">
+      <file category="sourceCpp" name="../GeneratedSource/TestDesc.cpp"/>
+    </group>
+    <group name="Tests">
+      <file category="sourceCpp" name="../Source/Tests/BasicTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BasicTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BasicTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BasicTestsQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BasicTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BasicTestsQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BayesF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BayesF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BinaryTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BinaryTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BinaryTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BinaryTestsQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BinaryTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BinaryTestsQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BIQUADF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BIQUADF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BIQUADF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BIQUADQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/BIQUADQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ComplexTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ComplexTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ComplexTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ComplexTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ComplexTestsQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DECIMF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DECIMQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DECIMQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DistanceTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DistanceTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DistanceTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/DistanceTestsU32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ExampleCategoryF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ExampleCategoryQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ExampleCategoryQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/ExampleCategoryQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FastMathF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FastMathF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FastMathF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FastMathQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FastMathQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FastMathQ63.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FIRF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FIRF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FIRF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FIRQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FIRQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/FIRQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/InterpolationTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/InterpolationTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/InterpolationTestsQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/InterpolationTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/InterpolationTestsQ31.cpp"/>
+      <file category="sourceC" name="../Source/Tests/mfccdata.c"/>
+      <file category="sourceC" name="../Source/Tests/mfccdata_f16.c"/>
+      <file category="sourceCpp" name="../Source/Tests/MFCCF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MFCCF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MFCCQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MFCCQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MISCF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MISCF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MISCF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MISCQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MISCQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/MISCQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/QuaternionTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/StatsTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/StatsTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/StatsTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/StatsTestsQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/StatsTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/StatsTestsQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportBarTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportBarTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportTestsQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SupportTestsQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SVMF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/SVMF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformCF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformCF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformCF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformCQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformCQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformRF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformRF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformRF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformRQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/TransformRQ31.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/UnaryTestsF16.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/UnaryTestsF32.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/UnaryTestsF64.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ7.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ15.cpp"/>
+      <file category="sourceCpp" name="../Source/Tests/UnaryTestsQ31.cpp"/>
+    </group>
+    <group name="CMSIS-DSP">
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/BasicMathFunctions/BasicMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctions.c"/>
+      <file category="sourceC" name="../../Source/DistanceFunctions/DistanceFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctions.c"/>
+      <file category="sourceC" name="../../Source/MatrixFunctions/MatrixFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctions.c"/>
+      <file category="sourceC" name="../../Source/BayesFunctions/BayesFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/FastMathFunctions/FastMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/QuaternionMathFunctions/QuaternionMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctions.c"/>
+      <file category="sourceC" name="../../Source/StatisticsFunctions/StatisticsFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTables.c"/>
+      <file category="sourceC" name="../../Source/CommonTables/CommonTablesF16.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctions.c"/>
+      <file category="sourceC" name="../../Source/FilteringFunctions/FilteringFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctions.c"/>
+      <file category="sourceC" name="../../Source/SupportFunctions/SupportFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctions.c"/>
+      <file category="sourceC" name="../../Source/ComplexMathFunctions/ComplexMathFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctions.c"/>
+      <file category="sourceC" name="../../Source/SVMFunctions/SVMFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctions.c"/>
+      <file category="sourceC" name="../../Source/InterpolationFunctions/InterpolationFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctions.c"/>
+      <file category="sourceC" name="../../Source/TransformFunctions/TransformFunctionsF16.c"/>
+      <file category="sourceC" name="../../Source/ControllerFunctions/ControllerFunctions.c"/>
+    </group>
+  </files>
+</cprj>
+

+ 11 - 47
Testing/cmsis_build/test.cproject.yml

@@ -120,16 +120,19 @@ project:
         - file: ../Source/Tests/UnaryTestsQ15.cpp
         - file: ../Source/Tests/UnaryTestsQ31.cpp
 
-  components:
-    - component: ARM::CMSIS:CORE
-    - component: ARM::CMSIS:DSP&Source@1.11.0
+  # A CMSIS-DSP Layer is used to be able to build
+  # and test with the current source version
+  # without requring to install a CMSIS Pack
+  layers:
+    - layer: boot.clayer.yml 
+    - layer: dsp.clayer.yml 
       not-for-type: 
         - +FVP_A5Neon
         - +FVP_A7Neon
         - +FVP_A9Neon
     # CMSIS-DSP cannot be built with Neon intrinsics for A9
     # because of lack of Fused MAC on A9
-    - component: ARM::CMSIS:DSP&Source@1.11.0
+    - layer: dsp.clayer.yml 
       defines:
         - ARM_MATH_NEON
         - DISABLEFLOAT16
@@ -138,52 +141,13 @@ project:
         - +FVP_A7Neon
     # On A9, CMSIS-DSP is built with auto-vectorization
     # but no use of Neon intrinsics
-    - component: ARM::CMSIS:DSP&Source@1.11.0
+    - layer: dsp.clayer.yml 
       defines:
         - ARM_MATH_AUTOVECTORIZE
         - DISABLEFLOAT16
       for-type: 
         - +FVP_A9Neon
-    - component: Device:Startup&C Startup
-      not-for-type: 
-        - +VHT-Corstone-300 
-        - +VHT-Corstone-310
-        - +FVP_A5Neon
-        - +FVP_A7Neon
-        - +FVP_A9Neon
-    - component: Device:Startup
-      for-type: 
-        - +FVP_A5Neon
-        - +FVP_A7Neon
-        - +FVP_A9Neon
-    - component: Device:IRQ Controller
-      for-type: 
-        - +FVP_A5Neon
-        - +FVP_A7Neon
-        - +FVP_A9Neon
-    - component: Device:OS Tick
-      for-type: 
-        - +FVP_A5Neon
-        - +FVP_A7Neon
-        - +FVP_A9Neon
-    - component: ARM::Device:Definition
-      for-type: 
-        - +VHT-Corstone-300 
-        - +VHT-Corstone-310
-    - component: ARM::Device:Startup&Baremetal
-      for-type: 
-        - +VHT-Corstone-300 
-        - +VHT-Corstone-310
-    - component: ARM::Native Driver:Timeout
-      for-type: 
-        - +VHT-Corstone-300 
-        - +VHT-Corstone-310
-    - component: ARM::Native Driver:SysCounter
-      for-type: 
-        - +VHT-Corstone-300 
-        - +VHT-Corstone-310
-    - component: ARM::Native Driver:SysTimer
-      for-type: 
-        - +VHT-Corstone-300 
-        - +VHT-Corstone-310
 
+  components:
+    - component: ARM::CMSIS:CORE
+    

+ 6 - 1
Testing/cmsis_build/test.csolution_ac6.yml → Testing/cmsis_build/testac6.csolution.yml

@@ -27,7 +27,6 @@ solution:
       - NORMALFVP
 
   packs:
-    - pack: ARM::CMSIS-DSP@1.11.0
     - pack: ARM::CMSIS@5.9.0
     - pack: ARM::V2M_MPS3_SSE_300_BSP@1.3.0
     - pack: ARM::V2M_MPS3_SSE_310_BSP@1.0.0
@@ -59,6 +58,12 @@ solution:
       defines:
         - CORTEXM
 
+    - type: VHT_M7_UNROLLED
+      device: ARMCM7_DP
+      defines:
+        - CORTEXM
+        - ARM_MATH_LOOPUNROLL
+
     - type: VHT_M4
       device: ARMCM4_FP
       defines:

+ 1 - 2
Testing/cmsis_build/test.csolution_gcc.yml → Testing/cmsis_build/testgcc.csolution.yml

@@ -22,8 +22,7 @@ solution:
       - NORMALFVP
 
   packs:
-    - pack: ARM::CMSIS-DSP@1.11.0
-    - pack: ARM::CMSIS@5.9.1
+    - pack: ARM::CMSIS@5.9.0
     - pack: ARM::V2M_MPS3_SSE_300_BSP@1.3.0
     - pack: ARM::V2M_MPS3_SSE_310_BSP@1.0.0
     - pack: Keil::ARM_Compiler@1.7.2

+ 4 - 1
Testing/processResult.py

@@ -168,7 +168,10 @@ class HTMLFormatter:
                 print("<td>%s</td>\n" % (params))
              else:
                 print("<td></td>\n")
-             print("<td>%d</td>" % cycles)
+             if (cycles > 0):
+                print("<td>%d</td>" % cycles)
+             else:
+                print("<td>NA</td>")
              print("</tr>")
 
              if passed != 1: