[X86] canonicalizeShuffleWithBinOps - add TODO for X86ISD::ANDNP bitwise handling

Its just as safe to move shuffles across X86ISD::ANDNP as any other logical bitop, they just tend to appear too late to matter.

Noticed while triaging D127115 regressions.
This commit is contained in:
Simon Pilgrim 2022-06-09 12:18:14 +01:00
parent abcf1496ad
commit 1a02db9882
1 changed files with 1 additions and 0 deletions

View File

@ -39186,6 +39186,7 @@ static SDValue canonicalizeShuffleWithBinOps(SDValue N, SelectionDAG &DAG,
auto IsSafeToMoveShuffle = [ShuffleVT](SDValue Op, unsigned BinOp) {
// Ensure we only shuffle whole vector src elements, unless its a logical
// binops where we can more aggressively move shuffles from dst to src.
// TODO: Add X86ISD::ANDNP handling with test coverage.
return BinOp == ISD::AND || BinOp == ISD::OR || BinOp == ISD::XOR ||
(Op.getScalarValueSizeInBits() <= ShuffleVT.getScalarSizeInBits());
};