[PATCH] D99152: [AMX] Prototype for vector and amx bitcast.

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 29 03:21:10 PDT 2021


lebedev.ri added a comment.

In D99152#2655274 <https://reviews.llvm.org/D99152#2655274>, @fhahn wrote:

> In D99152#2649520 <https://reviews.llvm.org/D99152#2649520>, @LuoYuanke wrote:
>
>> In D99152#2647681 <https://reviews.llvm.org/D99152#2647681>, @fhahn wrote:
>>
>>> I can't see any `load <256 x i32>` in the linked example, just a store. Could you check the example?
>>
>> I create another example at https://gcc.godbolt.org/z/v6od5ceEz. In bar() function, you can see the `load <256 x i32>*` in the IR. The bar() function is actually buggy code, because tilec is not initialized by amx intrinsics. We want user call amx intrinsic to load/store tile explicitly. Ideally front-end can detect the issue and report error.
>
> Thanks AFAIK in those cases the conversion intrinsic makes sense to use, because you effectively need to convert between 2 types in a non-trivial way. @lebedev.ri WDYT?

I'm not sure. I think first and foremost the `load`/`store` miscompile should be addressed.
I think the rest is confusing because it seems to me that the only reason why that `bitcast`
is needed is not correctness reason, but as an opaque optimization barrier.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99152



More information about the cfe-commits mailing list