[PATCH] D125193: [SVE] Enable use of 32bit gather/scatter indices for fixed length vectors
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 9 08:41:40 PDT 2022
david-arm added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:4563
+ // Indices cannot be smaller than the main data type.
+ if (IndexVT.getScalarSizeInBits() < DataVT.getScalarSizeInBits())
+ return false;
----------------
It feels like we may have been missing a SVE test before for the case when IndexVT=<vscale x 4 x i32> and DataVT=<vscale x 4 x i64>. This is a hole that you've fixed, but no tests broke. :)
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:4568
+ // element container type, which would violate the previous clause.
+ return DataVT.isFixedLengthVector() || DataVT.getVectorMinNumElements() > 2;
}
----------------
Given we can have types such as <vscale x 3 x > is it worth changing this to
DataVT.getVectorMinNumElements() >= 4
I guess such types will be widened to the next power of 2, but it looks like we might call this before legalisation?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125193/new/
https://reviews.llvm.org/D125193
More information about the llvm-commits
mailing list