[llvm] 95f9edd - [X86] combineSetCCMOVMSK - use APInt::getLowBitsSet to create bitmask. NFC.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 4 09:02:06 PST 2022
Author: Simon Pilgrim
Date: 2022-01-04T16:56:44Z
New Revision: 95f9eddbbcffa77685d0fd2e781521acb5d21ae4
URL: https://github.com/llvm/llvm-project/commit/95f9eddbbcffa77685d0fd2e781521acb5d21ae4
DIFF: https://github.com/llvm/llvm-project/commit/95f9eddbbcffa77685d0fd2e781521acb5d21ae4.diff
LOG: [X86] combineSetCCMOVMSK - use APInt::getLowBitsSet to create bitmask. NFC.
SelectionDAG::getConstant creates an APInt internally anyway, and getLowBitsSet helps assert for legal bitwidths. Plus it silences static analyzer out-of-bounds shift warnings.
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 7d14ed79e1a9..ab61a0a51598 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -44117,7 +44117,7 @@ static SDValue combineSetCCMOVMSK(SDValue EFLAGS, X86::CondCode &CC,
BCNumEltBits > NumEltBits &&
DAG.ComputeNumSignBits(BC) > (BCNumEltBits - NumEltBits)) {
SDLoc DL(EFLAGS);
- unsigned CmpMask = IsAnyOf ? 0 : ((1 << BCNumElts) - 1);
+ APInt CmpMask = APInt::getLowBitsSet(32, IsAnyOf ? 0 : BCNumElts);
return DAG.getNode(X86ISD::CMP, DL, MVT::i32,
DAG.getNode(X86ISD::MOVMSK, DL, MVT::i32, BC),
DAG.getConstant(CmpMask, DL, MVT::i32));
More information about the llvm-commits
mailing list