The patch supports vp.gather/scatter by allowing addresses being pointer vectors.
And then we just need to check each active pointer element of those pointer vectors.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Time | Test | |
---|---|---|
60,030 ms | x64 debian > MLIR.Examples/standalone::test.toy |
Event Timeline
Rebase. Do we have api to get the alignment of pointer vector?
IR document say we could set aligment information to pointer vector like,
%r = call <8 x i8> @llvm.vp.gather.v8i8.v8p0(<8 x ptr> align 8 %ptrs, <8 x i1> %mask, i32 %evl)
But the often used api getPointerAlignment() needs Value has pointer type.
There should be a getPointerAlignment in VPIntrinsic class that checks for an attribute.
There should be a getPointerAlignment in VPIntrinsic class that checks for an attribute.
Thank you. It works.
LGTM
It is very odd to have support for vp.scatter/gather, but not the plan masked form thereof. Can you post a patch which adds support for those as well?
Can you post a patch which adds support for those as well?
Sure. I will support it right away.