[llvm] [RISCV][CodeGen] Add initial vzip codegen support (PR #194548)

Pengcheng Wang via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 28 03:06:58 PDT 2026


================
@@ -150,8 +159,30 @@ def SDT_RISCVVecBinOp_VL : SDTypeProfile<1, 5, [SDTCisSameAs<0, 1>,
 let HasPassthruOp = true, HasMaskOp = true in {
 def vpaire_vl  : RVSDNode<"VPAIRE_VL", SDT_RISCVVecBinOp_VL>;
 def vpairo_vl  : RVSDNode<"VPAIRO_VL", SDT_RISCVVecBinOp_VL>;
+def vzip_vl    : RVSDNode<"VZIP_VL", SDT_RISCVZip_VL>;
 } // HasPassthruOp = true, HasMaskOp = true
 
+multiclass VPatVZIP<SDPatternOperator vop, string instruction_name> {
+  foreach VtiToWti = AllZvzipVectors in {
+    defvar vti = VtiToWti.Vti;
+    defvar wti = VtiToWti.Wti;
+    let Predicates = !listconcat([HasStdExtZvzip], GetVTypePredicates<vti>.Predicates) in {
+      def : Pat<(wti.Vector (vop
----------------
wangpc-pp wrote:

Use `VPatBinaryVL_V`?

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


More information about the llvm-commits mailing list