Skip to content

Commit

Permalink
updated cfft_f32 with CM85 / slothy optimized radix-4 loops
Browse files Browse the repository at this point in the history
  • Loading branch information
FabKlein committed Mar 3, 2023
1 parent 538ffca commit 817bb57
Show file tree
Hide file tree
Showing 4 changed files with 413 additions and 199 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
![CMSIS](http://www.keil.com/pack/doc/CMSIS/General/html/CMSIS_Logo_Final.png)


[CMSIS-DSP](https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/DSP) with ARMv8.1M **Helium** assembly
[CMSIS-DSP](https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/DSP) with **Helium** and **Neon** assembly


Single-precision DF1 Biquad processing function

- This version allows boosting F32 DF1 Biquad performance when using compilers having suboptimal Helium intrinsic code generation and can be sustitued to CMSIS DSP intrinsic variant.
- It also provide efficient Neon Implementations
- Helium and Neon functions have respectively _mve and _neon prefix
- This version allows boosting DF1 Biquad performance when using compilers having suboptimal Helium intrinsic code generation and can be sustitued to CMSIS DSP intrinsic variant.
- Efficient Neon Implementations are also provided. In order cores should use ASM variants while out of order cores can rely on intrinsic variant.
- Helium and Neon functions have respectively *_mve* and *_neon* prefix

[see API details](https://www.keil.com/pack/doc/CMSIS/DSP/html/group__BiquadCascadeDF1.html)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,8 @@ This version allows boosting CFFT F32 performance when using compilers having su
arm-none-eabi-gcc -DUSE_ASM -mcpu=cortex-m55 -O3 -mfloat-abi=hard -flax-vector-conversions -c arm_cfft_f32.c -o arm_cfft_f32.o -I$(CMSIS5ROOT)/CMSIS/DSP/PrivateInclude/ -I $(CMSIS5ROOT)/CMSIS/DSP/Include/ -I $(CMSIS5ROOT)/CMSIS/Core/Include/
```

- Arm Compiler 6.19 or above example (CM85 build)

```cpp
armclang -target arm-arm-none-eabi -mthumb -std=gnu99 -mcpu=cortex-m85 -Ofast -mfloat-abi=hard -DUSE_ASM -DARM_CM85_OPT -c arm_cfft_f32.c -o arm_cfft_f32.o -I$(CMSIS5ROOT)/CMSIS/DSP/PrivateInclude/ -I $(CMSIS5ROOT)/CMSIS/DSP/Include/ -I $(CMSIS5ROOT)/CMSIS/Core/Include/
```
Loading

0 comments on commit 817bb57

Please sign in to comment.