[all-commits] [llvm/llvm-project] 34033a: [PowerPC] Skip combine for vector_shuffles when tw...
Amy Kwan via All-commits
all-commits at lists.llvm.org
Wed Jun 15 12:12:49 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 34033a84b8b9a07917ffc73af05e857c7b4cfa33
https://github.com/llvm/llvm-project/commit/34033a84b8b9a07917ffc73af05e857c7b4cfa33
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2022-06-15 (Wed, 15 Jun 2022)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
A llvm/test/CodeGen/PowerPC/scalar_to_vector_shuffle.ll
Log Message:
-----------
[PowerPC] Skip combine for vector_shuffles when two scalar_to_vector nodes are different vector types.
Currently in `combineVectorShuffle()`, we update the shuffle mask if either
input vector comes from a scalar_to_vector, and we keep the respective input
vectors in its permuted form by producing PPCISD::SCALAR_TO_VECTOR_PERMUTED.
However, it is possible that we end up in a situation where both input vectors
to the vector_shuffle are scalar_to_vector, and are different vector types.
In situations like this, the shuffle mask is updated incorrectly as the current
code assumes both scalar_to_vector inputs are the same vector type.
This patch skips the combines for vector_shuffle if both input vectors are
scalar_to_vector, and if they are of different vector types. A follow up patch
will focus on fixing this issue afterwards, in order to correctly update the
shuffle mask.
Differential Revision: https://reviews.llvm.org/D127818
More information about the All-commits
mailing list