craig.topper added a comment.

In D120395#3340891 <https://reviews.llvm.org/D120395#3340891>, @andrew.w.kaylor 
wrote:

> In D120395#3340496 <https://reviews.llvm.org/D120395#3340496>, @pengfei wrote:
>
>> Update LangRef. We use `i16` type to represent bfloat16.
>
> Why are we using i16 to represent bfloat16? The bfloat type is better.

These intrinsics pre-date the existence of the bfloat type in LLVM. To use 
bfloat we have to make __bf16 a legal type in C. This means we need to support 
loads, stores, and arguments of that type. I think that would create bunch of 
backend complexity because we don't have could 16-bit load/store support to XMM 
registers. I think we only have load that inserts into a specific element. It's 
doable, but I'm not sure what we gain from it.



================
Comment at: clang/lib/Headers/avx512bf16intrin.h:22
+///    format type. Define through structure to explicitly prohibit any
+///    arithmatic operations.
+typedef struct __bfloat16_s {
----------------
arithmatic -> arithmetic


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120395

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

Reply via email to