This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Restore builtins and intrinsics for pmin/pmax
ClosedPublic

Authored by tlively on Aug 19 2021, 9:53 AM.

Details

Summary

Partially reverts 85157c007903, which had removed these builtins and intrinsics
in favor of normal codegen patterns. It turns out that it is possible for the
patterns to be split over multiple basic blocks, however, which means that DAG
ISel is not able to select them to the pmin/pmax instructions. To make sure the
SIMD intrinsics generate the correct instructions in these cases, reintroduce
the clang builtins and corresponding LLVM intrinsics, but also keep the normal
pattern matching as well.

Diff Detail

Event Timeline

tlively created this revision.Aug 19 2021, 9:53 AM
tlively requested review of this revision.Aug 19 2021, 9:53 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptAug 19 2021, 9:53 AM
aheejin accepted this revision.Aug 19 2021, 10:43 PM
This revision is now accepted and ready to land.Aug 19 2021, 10:43 PM