[llvm] [X86] Use GFNI for LZCNT vXi8 ops (PR #141888)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 1 02:17:16 PDT 2025
================
@@ -28998,6 +28998,35 @@ static SDValue LowerVectorCTLZ(SDValue Op, const SDLoc &DL,
assert(Subtarget.hasSSSE3() && "Expected SSSE3 support for PSHUFB");
return LowerVectorCTLZInRegLUT(Op, DL, Subtarget, DAG);
}
+static SDValue LowerVectorCTLZ_GFNI(SDValue Op, SelectionDAG &DAG,
+ const X86Subtarget &Subtarget) {
+ SDLoc dl(Op);
+ MVT VT = Op.getSimpleValueType();
+ SDValue Input = Op.getOperand(0);
+
+ if (!VT.isVector() || VT.getVectorElementType() != MVT::i8)
+ return SDValue();
----------------
RKSimon wrote:
Isn't this already tested for in the call from LowerCTLZ? Maybe just assert?
https://github.com/llvm/llvm-project/pull/141888
More information about the llvm-commits
mailing list