[PATCH] D71672: [AArch64] match splat of bitcasted extract subvector to DUPLANE
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 18 13:32:07 PST 2019
efriedma added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7045
// to make a vector of the same size as this SHUFFLE. We can ignore the
// extract entirely, and canonicalise the concat using WidenVector.
+ unsigned VTEltBitWidth = VT.getScalarSizeInBits();
----------------
Can you fix the comments here, so each of these transforms has its own comment briefly explaining what it does?
`V1.getOperand(0).getScalarValueSizeInBits() % VTEltBitWidth == 0` seems overly restrictive. I guess you have to enforce that the EXTRACT_SUBVECTOR index is appropriately aligned, but it would be okay to allow, for example, `<16 x i8>` with index 8. Maybe translate the EXTRACT_SUBVECTOR index to a byte offset, then divide by the element size of the result? That should also make the logic a little easier to follow.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71672/new/
https://reviews.llvm.org/D71672
More information about the llvm-commits
mailing list