[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
Wed Sep 23 16:31:37 PDT 2020


aemerson created this revision.
aemerson added a reviewer: paquette.
aemerson added a project: LLVM.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls, rovka.
aemerson requested review of this revision.

Truncating to v8i8 is a case where we want to split the source but also generate intermediate truncates to reduce the size of the source vector before truncating down to v8i8. This implements the same strategy as what SelectionDAG does, but I'm not certain where if anywhere in generic code it should live.

Use it for legalization of v8s8 = G_ICMP v8s32.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D88191

Files:
  llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
  llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
  llvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-icmp.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88191.293894.patch
Type: text/x-patch
Size: 8393 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200923/b6012a64/attachment.bin>


More information about the llvm-commits mailing list