[PATCH] D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`

Kan Shengchen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 16 00:00:29 PDT 2022


skan added a comment.

In D120395#3365622 <https://reviews.llvm.org/D120395#3365622>, @craig.topper wrote:

>> So at this point we have these options:
>>
>> 1. Make the `__m[128|256|512]bh` types aliases of `__m[128|256|512]i`
>> 2. Deprecate the `__m[128|256|512]bh` types and replace them with `__m[128|256|512]i`
>> 3. Add load/store/insert/extract intrinsics for the `__bfloat16` type
>>
>> Of these, I'd prefer the third option because both of the first two require the an overloaded use of the vector-integer type. I already don't like that we use the same type for any size integer vector. Using it for BF16 vectors just seems wrong.
>
> The third option also needs bitcast intrinsics to/from the same sized ps/pd/i type. We have similar casts between the other 3 types already.

If we'd like to not conflict with future bf16 ABI, the second option is the right direction.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120395



More information about the cfe-commits mailing list