Describe the bug
When attempting to compile audio.cpp on Ubuntu using GCC 13, the build fails during the assembly stage. The assembler throws multiple errors stating that the vpdpbusd instruction is unsupported.
This usually happens when the compiler generates VNNI (Vector Neural Network Instructions) execution paths, but the underlying assembler (as from binutils) or the targeted architecture flags do not fully support or recognize it without specific CPU target flags (like -march=native or -mavxvnni).
Environment
- OS: Ubuntu (Linux)
- Compiler: GCC 13.0
- Target:
audiocpp_cli & audiocpp_server
How to Reproduce
Run the standard build command:
cmake -S . -B build
cmake --build build --parallel --target audiocpp_cli --target audiocpp_server
Build Logs / Error Output
tmp/ccM3KSyw.s: Assembler messages:
/tmp/ccM3KSyw.s:2810: Error: unsupported instruction `vpdpbusd'
/tmp/ccM3KSyw.s:3277: Error: unsupported instruction `vpdpbusd'
/tmp/ccM3KSyw.s:4863: Error: unsupported instruction `vpdpbusd'
/tmp/ccM3KSyw.s:5467: Error: unsupported instruction `vpdpbusd'
/tmp/ccM3KSyw.s:5785: Error: unsupported instruction `vpdpbusd'
Is there a specific CMake flag we should pass to disable VNNI extensions if the host CPU/assembler doesn't natively support them, or should a specific -march flag be enforced in the CMakeLists.txt for GCC 13? Any guidance on how to bypass this compilation block would be greatly appreciated!
Describe the bug
When attempting to compile
audio.cppon Ubuntu using GCC 13, the build fails during the assembly stage. The assembler throws multiple errors stating that thevpdpbusdinstruction is unsupported.This usually happens when the compiler generates VNNI (Vector Neural Network Instructions) execution paths, but the underlying assembler (
asfrombinutils) or the targeted architecture flags do not fully support or recognize it without specific CPU target flags (like-march=nativeor-mavxvnni).Environment
audiocpp_cli&audiocpp_serverHow to Reproduce
Run the standard build command: