[PATCH] D88191: [AArch64][GlobalISel] Use custom legalization for G_TRUNC for v8i8 vectors

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 24 07:54:23 PDT 2020


aemerson added inline comments.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp:722-727
+  // Similar to how operand splitting is done in SelectiondDAG, we can handle
+  // %res(v8s8) = G_TRUNC %in(v8s32) by generating:
+  //   %inlo(<4x s32>), %inhi(<4 x s32>) = G_UNMERGE %in(<8 x s32>)
+  //   %lo16(<4 x s16>) = G_TRUNC %inlo
+  //   %hi16(<4 x s16>) = G_TRUNC %inhi
+  //   %in16(<8 x s16>) = G_CONCAT_VECTORS %lo16, %hi16
----------------
arsenm wrote:
> I don't think there's anything really custom here
Do you have a suggestion of where this could live? narrowScalar?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88191



More information about the llvm-commits mailing list