summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 616519941fc..6f0b8122434 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -5946,12 +5946,9 @@ static bool getFauxShuffleMask(SDValue N, SmallVectorImpl<int> &Mask,
DAG.ComputeNumSignBits(N1) <= NumBitsPerElt)
return false;
} else {
- KnownBits Known0, Known1;
- DAG.computeKnownBits(N0, Known0);
- if (Known0.countMinLeadingZeros() < NumBitsPerElt)
- return false;
- DAG.computeKnownBits(N1, Known1);
- if (Known1.countMinLeadingZeros() < NumBitsPerElt)
+ APInt ZeroMask = APInt::getHighBitsSet(2 * NumBitsPerElt, NumBitsPerElt);
+ if (!DAG.MaskedValueIsZero(N0, ZeroMask) ||
+ !DAG.MaskedValueIsZero(N1, ZeroMask))
return false;
}
OpenPOWER on IntegriCloud