[llvm] [X86] Use GFNI for vXi8 shifts/rotates (PR #89115)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 18 06:13:47 PDT 2024


================
@@ -31345,7 +31392,8 @@ static SDValue LowerBITREVERSE(SDValue Op, const X86Subtarget &Subtarget,
   // If we have GFNI, we can use GF2P8AFFINEQB to reverse the bits.
   if (Subtarget.hasGFNI()) {
     MVT MatrixVT = MVT::getVectorVT(MVT::i64, NumElts / 8);
-    SDValue Matrix = DAG.getConstant(0x8040201008040201ULL, DL, MatrixVT);
+    SDValue Matrix =
+        DAG.getConstant(getGFNICtrlImm(ISD::BITREVERSE), DL, MatrixVT);
----------------
RKSimon wrote:

This shouldn't be necessary - if we've managed to call LowerBITREVERSE with `Op.getOpcode() != ISD::BITREVERSE` then we have bigger problems.

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


More information about the llvm-commits mailing list