Skip to content

[Bug] Build failure on Ubuntu with GCC 13: Error: unsupported instruction vpdpbusd #31

Description

@hanksgggggg

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!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions