[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