[PATCH] D105591: [AArch64][SelectionDAG] Support passing/returning scalable vectors with unusual types.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 7 13:54:13 PDT 2021
efriedma created this revision.
efriedma added reviewers: sdesmalen, paulwalker-arm, DylanFleming-arm, david-arm, craig.topper.
Herald added subscribers: ecnelises, danielkiss, hiraditya, kristof.beyls.
efriedma requested review of this revision.
Herald added a project: LLVM.
This adds handling for two cases:
1. A scalable vector where the element type is promoted.
2. A scalable vector where the element count is odd (or more generally, not divisble by the element count of the part type).
(Some element types still don't work; for example, <vscale x 2 x i128>, or <vscale x 2 x fp128>.)
The change to SplitVecRes_INSERT_SUBVECTOR needs to be considered in the context of the discussion of "widening" a scalable vector.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D105591
Files:
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105591.357068.patch
Type: text/x-patch
Size: 10989 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210707/5a4592ca/attachment.bin>
More information about the llvm-commits
mailing list