https://github.com/momchil-velikov created https://github.com/llvm/llvm-project/pull/124968
Fixes #124907 >From e490f9684aa8784299a9195a195433270f2cec79 Mon Sep 17 00:00:00 2001 From: Momchil Velikov <momchil.veli...@arm.com> Date: Wed, 29 Jan 2025 18:31:18 +0000 Subject: [PATCH] [AArch64] Add MSVC mangling for the __mfp8 type --- clang/lib/AST/MicrosoftMangle.cpp | 5 +++++ clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp index edeeaeaa9ae17c..42b735ccf4a2ce 100644 --- a/clang/lib/AST/MicrosoftMangle.cpp +++ b/clang/lib/AST/MicrosoftMangle.cpp @@ -2792,6 +2792,10 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers, mangleArtificialTagType(TagTypeKind::Struct, "__bf16", {"__clang"}); break; + case BuiltinType::MFloat8: + mangleArtificialTagType(TagTypeKind::Struct, "__mfp8", {"__clang"}); + break; + #define WASM_REF_TYPE(InternalName, MangledName, Id, SingletonId, AS) \ case BuiltinType::Id: \ mangleArtificialTagType(TagTypeKind::Struct, MangledName); \ @@ -2808,6 +2812,7 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers, #define SVE_TYPE(Name, Id, SingletonId) \ case BuiltinType::Id: +#define SVE_SCALAR_TYPE(Name, MangledName, Id, SingletonId, Bits) #include "clang/Basic/AArch64SVEACLETypes.def" #define PPC_VECTOR_TYPE(Name, Id, Size) \ case BuiltinType::Id: diff --git a/clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp b/clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp new file mode 100644 index 00000000000000..b5fd9171ad81a9 --- /dev/null +++ b/clang/test/CodeGenCXX/aarch64-ms-mangle-mfp8.cpp @@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -triple aarch64-windows-msvc -emit-llvm -o - %s | FileCheck %s + +typedef __mfp8 mf8; +typedef __attribute__((neon_vector_type(8))) __mfp8 mf8x8_t; +typedef __attribute__((neon_vector_type(16))) __mfp8 mf8x16_t; + +// CHECK: "?f@@YAXU__mfp8@__clang@@@Z" +void f(mf8 v) {} + +// CHECK: "?f@@YAXT?$__vector@U__mfp8@__clang@@$07@__clang@@@Z" +void f(mf8x8_t v) {} + +// CHECK: "?f@@YAXT?$__vector@U__mfp8@__clang@@$0BA@@__clang@@@Z" +void f(mf8x16_t v) {} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits