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