DSP Welcomes Open Source - Xtensa HIFI DSP Support in Clang1
summary
Clang gains support for the Xtensa HiFi DSP extension, reusing an ESP32 Clang core port and adding vector data types and 800 built-ins to generate HiFi instructions, with glue assembler handling VLIW slot packing (1–5 slots, up to 10 encodings). Implementation treats fractional vectors as opaque and adds Boolean-register calling conventions; it compiles Sound Open Firmware binaries so CI can build firmware for multi‑core DSPs running a few hundred MHz with a few MB RAM. Upstreaming stalls on nonstandard vector semantics and hidden side‑effects.
AI-written summary · about
chapters (15)
- 0:00Intro
- 1:23Semihalf partners
- 1:53Linux Audio Stack
- 4:58Xtensa Architecture
- 8:59Xtensa HIFI Registers
- 12:32Programming the Xtensa DSP
- 14:57Xtensa Compiler ecosystem
- 16:23HIFI-Clang Project Goals
- 17:47Clang Toolchain Architecture
- 20:14Vector Data Types
- 26:33Boolean Data types
- 32:11Hidden Side Effects
- 35:03What Could Possibly Go Wrong?
- 36:04Summary of key challenges
- 37:57Compilers 101
related talks
32mRunning Zephyr RTOS on Cadence® Tensilica® HiFi 4 DSP
13mDSP2JS - A C++ framework for the development of in-browser DSPs
56m“Towards Heterogeneous Programming in C++"
09mLightning Talk: RISC-V and AI: How an Open-Standards ISA Underpins Portability f...
01h 09mC++20 on Xilinx FPGA with SYCL for Vitis
24mOpen Acceleration for RISC-V – Portability, Performance and Partners...
01h 01mTake Advantage of All the MIPS - SYCL & C++
20mRISC-V Goes BIG
