[PATCH] D120571: [CGP, AArch64] Replace zexts with shuffle that can be lowered using tbl.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 8 07:34:26 PDT 2022


fhahn updated this revision to Diff 458736.
fhahn added a comment.

Rebase & ping.

This is a major update over the original version. The interface has been changed to a `optimizeExtendOrTruncateConversion` helper, which is able to apply the optimization directly. This was needed because I will also soon share follow-up patches that lower truncates using tbl4. For that we need to able to generate code using NEON intrinsics, which is why it is convenient to also implement the actual transform in the backend specific parts.

It also address @SjoerdMeijer's comment to skip this transform when optimizing for size.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120571

Files:
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/test/CodeGen/AArch64/vselect-ext.ll
  llvm/test/CodeGen/AArch64/zext-to-tbl.ll
  llvm/test/Transforms/CodeGenPrepare/AArch64/zext-to-shuffle.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120571.458736.patch
Type: text/x-patch
Size: 22963 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220908/0757e37a/attachment.bin>


More information about the llvm-commits mailing list