[llvm] Support for i8/i16 for bitreverse using GFNI. (PR #88625)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 13 08:25:40 PDT 2024


================
@@ -1501,6 +1503,13 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
     setOperationAction(ISD::TRUNCATE,          MVT::v32i32, Custom);
     setOperationAction(ISD::TRUNCATE,          MVT::v32i64, Custom);
 
+    if (Subtarget.hasGFNI()) {
+      setOperationAction(ISD::BITREVERSE, MVT::i8, Custom);
+      setOperationAction(ISD::BITREVERSE, MVT::i16, Custom);
+      setOperationAction(ISD::BITREVERSE, MVT::i32, Custom);
+      setOperationAction(ISD::BITREVERSE, MVT::i64, Custom);
+    }
----------------
RKSimon wrote:

You can drop this (I moved it to SSSE3 after your patch to support Tremont)

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


More information about the llvm-commits mailing list