[all-commits] [llvm/llvm-project] 6709b1: [SelectionDAG] Make WidenVecRes_EXTRACT_SUBVECTOR ...
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Wed Sep 29 03:56:51 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6709b193ea254edf3670a60e1efb3223f199c662
https://github.com/llvm/llvm-project/commit/6709b193ea254edf3670a60e1efb3223f199c662
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2021-09-29 (Wed, 29 Sep 2021)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
Log Message:
-----------
[SelectionDAG] Make WidenVecRes_EXTRACT_SUBVECTOR work for scalable vectors.
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)
Reviewed By: frasercrmck, david-arm
Differential Revision: https://reviews.llvm.org/D110253
More information about the All-commits
mailing list