[llvm] [X86] Fold concat(PCMP*(), PCMP*()) -> CMPPS(concat, concat) on AVX1 targets (PR #95915)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 27 03:02:57 PDT 2024


================
@@ -56111,11 +56133,50 @@ static SDValue combineConcatVectorOps(const SDLoc &DL, MVT VT,
       break;
     case X86ISD::PCMPEQ:
     case X86ISD::PCMPGT:
-      if (!IsSplat && VT.is256BitVector() && Subtarget.hasInt256() &&
+      if (!IsSplat && VT.is256BitVector() &&
----------------
RKSimon wrote:

Yes w2e want to avoid splats - a single VPCMPEQ/GT op + VINSERTF128 is always going to be preferable to a VINSERTF128+VCVTDQ2PS+VCMPPS

https://github.com/llvm/llvm-project/pull/95915


More information about the llvm-commits mailing list