[llvm] 747214e - [X86] getFauxShuffleMask - OR(BITCAST(SHUFFLE()),BITCAST(SHUFFLE())) patterns should return bitcasted source values (#134993)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 9 04:54:19 PDT 2025
Author: Simon Pilgrim
Date: 2025-04-09T12:54:16+01:00
New Revision: 747214e59be67ec1088de2f9db5d46607bb59565
URL: https://github.com/llvm/llvm-project/commit/747214e59be67ec1088de2f9db5d46607bb59565
DIFF: https://github.com/llvm/llvm-project/commit/747214e59be67ec1088de2f9db5d46607bb59565.diff
LOG: [X86] getFauxShuffleMask - OR(BITCAST(SHUFFLE()),BITCAST(SHUFFLE())) patterns should return bitcasted source values (#134993)
Noticed while investigating #133947 regressions - if we peek through
bitcasts we can lose track of oneuse/combined nodes in shuffle combining
Currently the same codegen as combineX86ShufflesRecursively still peeks
through the bitcasts itself, but we will soon handle this consistently
as another part of #133947
Added:
Modified:
llvm/lib/Target/X86/X86ISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 11bea60d941ff..a3c423270f44a 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -6155,8 +6155,8 @@ static bool getFauxShuffleMask(SDValue N, const APInt &DemandedElts,
else
return false;
}
- Ops.push_back(N0);
- Ops.push_back(N1);
+ Ops.push_back(N.getOperand(0));
+ Ops.push_back(N.getOperand(1));
return true;
}
case ISD::CONCAT_VECTORS: {
More information about the llvm-commits
mailing list