llvm/llvm-project

[AArch64] Add support for MSVC-style mangling for SVE

Closed

#196,170 opened on May 6, 2026

 (5 comments) (0 reactions) (0 assignees)C++ (10,782 forks)batch import
backend:AArch64clang:codegengood first issue

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (Avg merge 1d 2h) (1,000 merged PRs in 30d)

Description

The latest MSVC release candidate has support for SVE, and with it a set of new SVE mangling patterns. We should mangle like MSVC instead of using the manglings we invented before (in #141887).

Example code:

#include <arm_sve.h>
void f(svint32_t x) {}

Latest MSVC produces the mangled symbol ?f@@YAX$$_CD@Z.

The relevant code is in MicrosoftCXXNameMangler::mangleType; replace the existing code which does #include "clang/Basic/AArch64ACLETypes.def".

(As a followup, we should also add demangling support in llvm/lib/Demangle/MicrosoftDemangle.cpp.)

Contributor guide