[PATCH] D145485: [IR] Generalize interleave/deinterleave intrinsics to factors > 2

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 7 03:39:06 PST 2023


luke added inline comments.


================
Comment at: llvm/docs/LangRef.rst:17791
+      declare {<vscale x 4 x i32>, <vscale x 4 x i32>}  @llvm.experimental.vector.deinterleave.nxv4i32.nxv8i32(<vscale x 8 x i32> %vec1)
+      declare {<vscale x 2 x i16>, <vscale x 2 x i16>, <vscale x 2 x i16>, <vscale x 2 x i16>}  @llvm.experimental.vector.deinterleave.nxv2i16.nxv8i16(<vscale x 8 x i32> %vec1)
 
----------------
Even though there is really only overloaded type in this intrinsic, I've suffixed the result type as well to disambiguate the various interleave factors:
e.g. a deinterleave of <vscale x 8 x i32> could either decompose to 2 x <vscale x 4 x i32> or 4 x <vscale x 2 x i32>, and we need separate declarations for them.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D145485



More information about the llvm-commits mailing list