[PATCH] D111165: [AArch64][SVE] Add fixed type lowering for EXTRACT_SUBVECTOR
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 11 08:54:59 PDT 2021
paulwalker-arm accepted this revision.
paulwalker-arm added inline comments.
This revision is now accepted and ready to land.
================
Comment at: llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll:61-67
+; VBITS_EQ_256-LABEL: extract_subvector_v64i8:
+; VBITS_EQ_256: // %bb.0:
+; VBITS_EQ_256-NEXT: ptrue p0.b, vl32
+; VBITS_EQ_256-NEXT: mov w8, #32
+; VBITS_EQ_256-NEXT: ld1b { z0.b }, p0/z, [x0, x8]
+; VBITS_EQ_256-NEXT: st1b { z0.b }, p0, [x1]
+; VBITS_EQ_256-NEXT: ret
----------------
bsmith wrote:
> paulwalker-arm wrote:
> > There's a few tests like this that I suspect are not really exercising the extract_subvector logic. Within sve-fixed-length-subvector.ll you'll see I hit a similar issue along with how I worked round it. Essentially for all the tests you want to ensure the call to experimental.vector.extract is within it's own block.
> I'm not actually sure there is anything we can do about this, putting this in it's own block doesn't help. The operand to extract_subvector is not a legal type, hence the legalizer is splitting the operand before we get to try and lower it (which is what we want), which ends up just discarding the extract_subvector.
I see what you mean.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111165/new/
https://reviews.llvm.org/D111165
More information about the llvm-commits
mailing list