[PATCH] D98981: [SLP] allow matching integer min/max intrinsics as reduction ops

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 26 11:48:23 PDT 2021


spatel updated this revision to Diff 333602.
spatel added a reviewer: mkazantsev.
spatel added a comment.

Patch updated:
This version includes a change to create min/max intrinsics only if we started by matching min/max intrinsics. We continue to create cmp+select if the original code matched that pattern. This avoids the crashing seen in PR49730. Hopefully, we can remove all of the select matching/creation after we canonicalize to the intrinsics.

We could pull the new part of this patch into an NFC-preliminary commit, but I could not find a way to show a test difference from that part alone.


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

https://reviews.llvm.org/D98981

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
  llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
  llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98981.333602.patch
Type: text/x-patch
Size: 27951 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210326/c445c05e/attachment.bin>


More information about the llvm-commits mailing list