[all-commits] [llvm/llvm-project] 5420fc: [AArch64][SVE][InstCombine] Unpack of a splat vect...
Usman Nadeem via All-commits
all-commits at lists.llvm.org
Mon Aug 9 15:00:23 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5420fc4a279bdd07cada4b607846ef0e9d184a13
https://github.com/llvm/llvm-project/commit/5420fc4a279bdd07cada4b607846ef0e9d184a13
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2021-08-09 (Mon, 09 Aug 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-unpkhi-unpklo.ll
Log Message:
-----------
[AArch64][SVE][InstCombine] Unpack of a splat vector -> Scalar extend
Replace vector unpack operation with a scalar extend operation.
unpack(splat(X)) --> splat(extend(X))
If we have both, unpkhi and unpklo, for the same vector then we may
save a register in some cases, e.g:
Hi = unpkhi (splat(X))
Lo = unpklo(splat(X))
--> Hi = Lo = splat(extend(X))
Differential Revision: https://reviews.llvm.org/D106929
Change-Id: I77c5c201131e3a50de1cdccbdcf84420f5b2244b
More information about the All-commits
mailing list