[PATCH] D76077: [ARM] Add __bf16 as new Bfloat16 C Type

Ties Stuij via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 1 08:00:49 PDT 2020


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

In D76077#2066323 <https://reviews.llvm.org/D76077#2066323>, @SjoerdMeijer wrote:

> Can you summarise where we are? I.e.,
>
> - float-abi=soft doesn't work. But what is the problem? Are we not simply passing i16s, is that not what we are supposed to do?


At the moment when going through the GCC compatibility driver (standard interface), we get `__bf16 is not supported on this target`.
When using -cc1, we can pass `-mfloat-abi=soft`, we can compile source-code that contains `__bf16`, and we can also compile neon intrinsics in general. It looks like we just ignore soft was passed and instead we use the hard float-abi. For intrinsics we should error.

In general we pass i32's btw, not i16's. Also for `__fp16`.

> Can you also update the description of this patch, I got totally confused by:
> 
> - "introduces an opaque, storage-only C-type __bf16, which does not introduce a new LLVM IR type, but maps it to either i16 or half type."

willdo


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76077





More information about the cfe-commits mailing list