[PATCH] D100882: [AArch64] Improve vector reverse lowering
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 21 04:36:58 PDT 2021
sdesmalen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:9038
+ if (V1.getValueType() == VT &&
+ ((VT.getVectorNumElements() == 8 && VT.getScalarSizeInBits() == 16) ||
----------------
dmgreen wrote:
> sdesmalen wrote:
> > nit: Is this condition necessary?
> >
> > I know for LLVM IR nodes the result type doesn't necessarily have the same number of elements as the source vectors (but instead equals the number of elements in the mask), but is the same true for VECTOR_SHUFFLE?
> >
> > The reason for asking is that I see in ISDOpcodes that it says:
> > /// VECTOR_SHUFFLE(VEC1, VEC2) - Returns a vector, of the same type as
> > /// VEC1/VEC2.
> Yeah, I added it as an additional safety check. It didn't alter any of the test cases I had, but I figured it was better safe than sorry.
>
> I can remove it though, if it is guaranteed that they will already match in size.
I think the sizes are supposed to be the same, looking at `SelectionDAGBuilder::visitShuffleVector` there is code that ensures the sizes match. To be sure, maybe you can add an assert instead?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D100882/new/
https://reviews.llvm.org/D100882
More information about the llvm-commits
mailing list