[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