[PATCH] D128665: [AArch64] Make nxv1i1 types a legal type for SVE.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 1 05:57:25 PDT 2022


paulwalker-arm accepted this revision.
paulwalker-arm added a comment.

One potential nit but otherwise this and the other i1 work is looking really good.



================
Comment at: llvm/lib/Target/AArch64/AArch64CallingConvention.td:87-88
            CCAssignToReg<[P0, P1, P2, P3]>>,
-  CCIfType<[nxv2i1, nxv4i1, nxv8i1, nxv16i1],
+  CCIfType<[nxv1i1, nxv2i1, nxv4i1, nxv8i1, nxv16i1],
            CCPassIndirect<i64>>,
 
----------------
This is not relevant to this patch just observational.

For my own education do you know what this means? If I was to guess I'd say "we can pass such parameter types through memory"? If correct then I believe we only support nxv16i1 types when going throw memory.




================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:6205
   def : SVE_1_Op_Pat<nxv2i1, op, nxv4i1,  !cast<Instruction>(NAME)>;
+  def : SVE_1_Op_Pat<nxv1i1, op, nxv2i1,  !cast<Instruction>(NAME)>;
 }
----------------
Do we still need this change?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128665



More information about the llvm-commits mailing list