wokwi-features
wokwi-features copied to clipboard
ESP32-S3 throws `IllegalInstruction`-error for `dsps_dotprod_f32` due to (ASM) `dsps_dotprod_f32_ae32`?
Describe the bug
Based on this macro-condition dsps_dotprod_f32 defaults to dsps_dotprod_f32_ae32 for ESP32-S3. However, (despite the fact that it compiles) it throws IllegalInstruction-error in log, therefore it doesn't work. Unfortunately, I don't have an ESP32-S3 to verify this 100%, but as far as I understand this should be a wokwi issue.
To Reproduce Just test this wokwi example here:
#include "esp_dsp.h"
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-S3!");
float x[] = {1,2,3,4};
float y[] = {5,4,3,2};
float dest = 1;
dsps_dotprod_f32(x, y, &dest, 4); // FAILS (ASM)
// dsps_dotprod_f32_ae32(x, y, &dest, 4); // FAILS (ASM)
// dsps_dotprod_f32_ansi(x, y, &dest, 4); // WORKS (C-CODE)
Serial.println(dest);
}
void loop() {}
Expected behavior
Based on this example, dsps_dotprod_f32 should work just like the ...ansi-version works without any error.
Environment (please complete the following information):
- OS: Arch Linux
- Browser: Ungoogled-chromium
- Version: -
Additional context As said, unfortunately: I don't have an ESP32-S3 to verify this 100% (an order I had never came), but as far as I understand this should be a wokwi issue.