[all-commits] [llvm/llvm-project] cd89f5: [SVE][CodeGen] Legalisation of truncate for scalab...
kmclaughlin-arm via All-commits
all-commits at lists.llvm.org
Thu Sep 10 03:39:00 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: cd89f5c91b4bad90278a59865fc06a75211589a1
https://github.com/llvm/llvm-project/commit/cd89f5c91b4bad90278a59865fc06a75211589a1
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2020-09-10 (Thu, 10 Sep 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-split-trunc.ll
Log Message:
-----------
[SVE][CodeGen] Legalisation of truncate for scalable vectors
Truncating from an illegal SVE type to a legal type, e.g.
`trunc <vscale x 4 x i64> %in to <vscale x 4 x i32>`
fails after PromoteIntOp_CONCAT_VECTORS attempts to
create a BUILD_VECTOR.
This patch changes the promote function to create a sequence of
INSERT_SUBVECTORs if the return type is scalable, and replaces
these with UNPK+UZP1 for AArch64.
Reviewed By: paulwalker-arm
Differential Revision: https://reviews.llvm.org/D86548
More information about the All-commits
mailing list