Skip to content

ESP32-S3 throws IllegalInstruction-error for dsps_dotprod_f32 due to (ASM) dsps_dotprod_f32_ae32? #988

Open
@GiorgosXou

Description

@GiorgosXou

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.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions