This is an archive of the discontinued LLVM Phabricator instance.

[SLPVectorize] Add support for fmaximum/fminimum reduction
ClosedPublic

Authored by anna on Jul 4 2023, 2:10 PM.

Details

Summary

This patch adds support for vectorized reduction of maximum/minimum intrinsics
which are under the appropriate reduction kind.

Added relevant tests for reduction.

Diff Detail

Event Timeline

anna created this revision.Jul 4 2023, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 4 2023, 2:10 PM
anna requested review of this revision.Jul 4 2023, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 4 2023, 2:10 PM
anna added a comment.Jul 4 2023, 2:12 PM

Will precommit the tests (regular vectorized code will have no difference, just the reduction ones will be vectorized with this patch).

ABataev added inline comments.Jul 4 2023, 4:01 PM
llvm/test/Transforms/SLPVectorizer/X86/fmaximum-fminimum.ll
202
  1. Fix this messages, remove unused check tags
  2. Create a separate patch with the test.
anna marked an inline comment as done.Jul 12 2023, 9:09 AM
anna added inline comments.
llvm/test/Transforms/SLPVectorizer/X86/fmaximum-fminimum.ll
202

These CHECK lines are generated by the auto generator. I've removed these and separate patch is created for the tests.

anna updated this revision to Diff 539625.Jul 12 2023, 10:18 AM
anna marked an inline comment as done.

rebased over test in D155096

This revision is now accepted and ready to land.Jul 12 2023, 10:22 AM
This revision was landed with ongoing or failed builds.Jul 12 2023, 12:23 PM
This revision was automatically updated to reflect the committed changes.