[PATCH] D136919: [X86][RFC] Change mangle name of __bf16 from u6__bf16 to DF16b

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 3 12:28:03 PDT 2022


aaron.ballman added reviewers: clang-vendors, rjmccall.
aaron.ballman added a subscriber: rjmccall.
aaron.ballman added a comment.

Adding clang-vendors because of the potential ABI break concerns and @rjmccall for the Itanium ABI questions specifically.

In D136919#3904925 <https://reviews.llvm.org/D136919#3904925>, @RKSimon wrote:

> What are the rules on this? Do we just handle this as an ABI breaking change and document it in the release notes - or do we need to provide any auto-upgrade path (with a warning?)?

I don't know that we have hard and fast rules for this, we usually handle it on a case by case basis. If users are relying on the existing mangling, we may want to provide an ABI compat check so users can get the old mangling behavior. We definitely need to add a release note calling this change out, and we should probably also announce it on discourse once the changes land.



================
Comment at: clang/lib/Basic/Targets/X86.h:413
 
-  const char *getBFloat16Mangling() const override { return "u6__bf16"; };
+  const char *getBFloat16Mangling() const override { return "DF16b"; };
 };
----------------
This does not appear to match the Itanium ABI (https://itanium-cxx-abi.github.io/cxx-abi/abi.html):
```
 ::= DF <number> _ # ISO/IEC TS 18661 binary floating point type _FloatN (N bits)
```
it's missing the underscore after the number of bits. Is there a proposal in front of the Itanium ABI group to add this form with `b` instead of an underscore?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136919/new/

https://reviews.llvm.org/D136919



More information about the cfe-commits mailing list