stuij marked an inline comment as done.
stuij added inline comments.

================
Comment at: clang/docs/LanguageExtensions.rst:518
+Clang supports three half-precision (16-bit) floating point types: ``__fp16``,
+``_Float16`` and ``__bf16``.  These types are supported in all language modes.
 
----------------
SjoerdMeijer wrote:
> stuij wrote:
> > SjoerdMeijer wrote:
> > > Not my field of expertise, and sorry if I've missed this somewhere, but 
> > > was wondering if this (i.e. all language modes) means we need C++ name 
> > > mangling support for bfloat? In the AArch64 backend I saw this:
> > > 
> > >   getBFloat16Mangling() const override { return "u6__bf16"; }
> > > 
> > > But that's something else I guess, and I was guessing a 2 letter mangling 
> > > needs to be added here?
> > > 
> > > https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-builtin
> > Yes, we need name-mangling support, and yes that method you mentioned does 
> > that. There's one for AArch32 as well. And yes we have documented it in the 
> > 'C++ ABI for the latest Arm Architecture' docs:
> > 
> > aarch32: https://developer.arm.com/docs/ihi0041/latest
> > aarch64: https://developer.arm.com/docs/ihi0059/latest
> But does that mean that for other targets this is not (yet) supported?
Currently bfloat is a vendor-extended type, hence the 'u' prefix. So to me it 
would make sense that backends should implement their own naming, as there's no 
guarantee that the naming scheme chosen for Arm is compatible with all backends.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76077



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to