[PATCH] D110253: [SelectionDAG] Make WidenVecRes_EXTRACT_SUBVECTOR work for scalable vectors.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 22 07:21:16 PDT 2021


sdesmalen created this revision.
Herald added subscribers: ecnelises, hiraditya.
sdesmalen requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The legalizer handles this by breaking up an EXTRACT_SUBVECTOR into
smaller parts, and combines those together, padding the result with
UNDEF vectors, e.g.

  nxv6i64 extract_subvector(nxv12i64, 6)
  <->
  nxv8i64 concat(
    nxv2i64 extract_subvector(nxv16i64, 6)
    nxv2i64 extract_subvector(nxv16i64, 8)
    nxv2i64 extract_subvector(nxv16i64, 10)
    nxv2i64 undef)


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D110253

Files:
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110253.374227.patch
Type: text/x-patch
Size: 12241 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210922/7369cc96/attachment.bin>


More information about the llvm-commits mailing list