[PATCH] D136172: [AArch64]SME2 Multi vector Sel Load and Store instructions

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 8 07:54:04 PST 2022


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:3635-3636
+// SME2 Multi-vector - SVE Select
+class sme2_sel_vector_vg24<bits<2> sz, RegisterOperand vector_ty,
+                           string mnemonic>
+    : I<(outs vector_ty:$Zd),
----------------
Please can you pass in `op0:op1:op2` into this class then use `{0, 1, 0, 0, 0, 0}` and `{?, 0, ?, 0, ?, 0}` accordingly?


================
Comment at: llvm/lib/Target/AArch64/SMEInstrFormats.td:3724-3735
+class sme2_ld_vector_vg4_multi_scalar_scalar<bits<2> msz, bit n,
+                                             RegisterOperand multi_vector_ty,
+                                             RegisterOperand gpr_ty,
+                                             string mnemonic>
+  : sme2_ld_vector_vg24_multi_scalar_scalar<msz, n, multi_vector_ty, gpr_ty,
+                                            mnemonic> {
+   bits<3> Zt;
----------------
I'm going to surprise/annoy you here but there's more going on here than I typically like.  Do you mind not having the vg24 base classes for the LD1/ST1 instructions in this patch and just have the vg2/vg4 classes fully define `Inst`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136172/new/

https://reviews.llvm.org/D136172



More information about the llvm-commits mailing list