[all-commits] [llvm/llvm-project] 85bbc0: [AArch64][SVE][InstCombine] Move last{a, b} before ...
Usman Nadeem via All-commits
all-commits at lists.llvm.org
Mon Aug 9 14:51:55 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 85bbc05154ba400b99045ade2864526a887e81aa
https://github.com/llvm/llvm-project/commit/85bbc05154ba400b99045ade2864526a887e81aa
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2021-08-09 (Mon, 09 Aug 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-lasta-lastb.ll
Log Message:
-----------
[AArch64][SVE][InstCombine] Move last{a,b} before binop if one operand is a splat value
Move the last{a,b} operation to the vector operand of the binary instruction if
the binop's operand is a splat value. This essentially converts the binop
to a scalar operation.
Example:
// If x and/or y is a splat value:
lastX (binop (x, y)) --> binop(lastX(x), lastX(y))
Differential Revision: https://reviews.llvm.org/D106932
Change-Id: I93ff5302f9a7972405ee0d3854cf115f072e99c0
More information about the All-commits
mailing list