[PATCH] D128996: [LegalizeTypes] Replace vecreduce_xor/or/and with vecreduce_add/umax/umin if not legal

Bradley Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 1 08:19:54 PDT 2022


bsmith updated this revision to Diff 441698.
bsmith retitled this revision from "[LegalizeTypes] Replace vecreduce_xor/or with vecreduce_add/umax if not legal" to "[LegalizeTypes] Replace vecreduce_xor/or/and with vecreduce_add/umax/umin if not legal".
bsmith added a comment.

- Add support for i1 vecreduce_and -> vecreduce_umin.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128996

Files:
  llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/reduce-and.ll
  llvm/test/CodeGen/AArch64/reduce-or.ll
  llvm/test/CodeGen/AArch64/reduce-xor.ll
  llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
  llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D128996.441698.patch
Type: text/x-patch
Size: 17220 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220701/a8337b11/attachment.bin>


More information about the llvm-commits mailing list