[llvm] [X86] Fold shift into GF2P8AFFINEQB instruction (PR #180019)

Abhiram Jampani via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 14 06:45:07 PST 2026


================
@@ -29291,12 +29240,44 @@ uint64_t getGFNICtrlImm(unsigned Opcode, unsigned Amt = 0) {
   llvm_unreachable("Unsupported GFNI opcode");
 }
 
-// Generate a GFNI gf2p8affine bitmask for vXi8 bitreverse/shift/rotate.
-SDValue getGFNICtrlMask(unsigned Opcode, SelectionDAG &DAG, const SDLoc &DL,
-                        MVT VT, unsigned Amt = 0) {
+// Extract the 64-bit matrix constant from a BUILD_VECTOR node.
+// For vectors larger than 64-bit, the 8-byte matrix is repeated.
+// Returns std::nullopt if the node is not a constant BUILD_VECTOR.
+static std::optional<uint64_t> extractGF2Matrix(SDValue MatrixOp) {
----------------
Abhiramjampani wrote:

Updated

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


More information about the llvm-commits mailing list