Zero overhead loops in esp-dsp
boborjan2 opened this issue · 1 comments
- Development Kit: all ESP32
- IDF version : master
- Compiler version : 8.4 2021r2
Problem Description
This part of esp-idf suggests that there is a sporadic? (or just rare?) issue with zero overhead loops:
https://github.com/espressif/esp-idf/blob/master/components/xtensa/esp32/include/xtensa/config/core.h#L1405
That's why it's usage is turned off in gcc.
Now esp-dsp does use these loops (seemingly without issues). Can you provide us with some details in the topic? I found no further info on this erratum 572.
Thanks
Viktor
Hi @boborjan2, in ESP-IDF the zero-overhead loops are enabled, it is just the zero-overhead loop buffer is disabled.
The erratum itself says that supposedly in some cases the CPU may get an invalid instruction word from the zero-overhead loop buffer. Since we have disabled the buffer, the code can use zero-overhead loop instructions without any restrictions. Disabling the zero-overhead loop buffer has no effect on the ESP32 (or ESP32-S3) in terms of performance.