[llvm] 4f17d75 - [X86] LowerVectorAllZero - early out if the type size is not pow2. NFC.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 23 02:42:59 PDT 2023


Author: Simon Pilgrim
Date: 2023-03-23T09:42:45Z
New Revision: 4f17d75b24ee3f75fb9755461c04a73ed2f018f8

URL: https://github.com/llvm/llvm-project/commit/4f17d75b24ee3f75fb9755461c04a73ed2f018f8
DIFF: https://github.com/llvm/llvm-project/commit/4f17d75b24ee3f75fb9755461c04a73ed2f018f8.diff

LOG: [X86] LowerVectorAllZero - early out if the type size is not pow2. NFC.

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 6cf359d6d217a..e828fe4b9dd15 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -24167,6 +24167,10 @@ static SDValue LowerVectorAllZero(const SDLoc &DL, SDValue V, ISD::CondCode CC,
     return SDValue();
   }
 
+  // Quit if not convertable to legal scalar or 128/256-bit vector.
+  if (!llvm::has_single_bit<uint32_t>(VT.getSizeInBits()))
+    return SDValue();
+
   assert((CC == ISD::SETEQ || CC == ISD::SETNE) && "Unsupported ISD::CondCode");
   X86CC = (CC == ISD::SETEQ ? X86::COND_E : X86::COND_NE);
 
@@ -24188,10 +24192,6 @@ static SDValue LowerVectorAllZero(const SDLoc &DL, SDValue V, ISD::CondCode CC,
                        DAG.getConstant(0, DL, IntVT));
   }
 
-  // Quit if not splittable to 128/256-bit vector.
-  if (!llvm::has_single_bit<uint32_t>(VT.getSizeInBits()))
-    return SDValue();
-
   // Split down to 128/256-bit vector.
   unsigned TestSize = Subtarget.hasAVX() ? 256 : 128;
   while (VT.getSizeInBits() > TestSize) {


        


More information about the llvm-commits mailing list