[PATCH] D99152: [AMX] Prototype for vector and amx bitcast.
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 23 01:49:12 PDT 2021
lebedev.ri requested changes to this revision.
lebedev.ri added a comment.
This revision now requires changes to proceed.
In D99152#2643821 <https://reviews.llvm.org/D99152#2643821>, @LuoYuanke wrote:
> @lebedev.ri, this patch is mainly for discussing the approach that Florian proposed, so I didn't polish my code. Nevertheless your comments for amx_cast.c is right.
> For __tile_loadd() is to load a 2d tile from memory. There is an extra parameter stride. As I explain in llvm-dev, it load each row from memory to tile register and then base += stride. So the data is not contiguous in memory.
Aha. Finally. So i was right and you are hiding a bug.
Bitcast is a red herring.
You should not be producing a plain load, that is a miscompile already.
You should be either ideally producing LLVM IR's native tile load instruction (is there one? i thought),
or introduce `@llvm.x86.vector.amx.load` and produce it instead.
Full stop. I'm going to block any further AMX patches until this is addressed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99152/new/
https://reviews.llvm.org/D99152
More information about the llvm-commits
mailing list