This is an archive of the discontinued LLVM Phabricator instance.

[X86] Lowering addus/subus intrinsics to native IR (Clang part)
ClosedPublic

Authored by tkrupa on May 15 2018, 10:06 AM.

Details

Summary

This is the patch that lowers x86 intrinsics to native IR
in order to enable optimizations.

Corresponding LLVM part: https://reviews.llvm.org/D46179

Previous D44786 version was reverted due to crashes caused by LLVM part. This revision includes a more optimal pattern for addus.

Diff Detail

Repository
rC Clang

Event Timeline

tkrupa created this revision.May 15 2018, 10:06 AM
tkrupa updated this revision to Diff 149417.Jun 1 2018, 2:49 AM

Added missing scalar intrinsics without rounding.

tkrupa added a comment.Jun 1 2018, 2:54 AM

Whoops, that's a wrong revision. I'll revert it shortly.

tkrupa updated this revision to Diff 149420.Jun 1 2018, 2:57 AM
tkrupa updated this revision to Diff 159461.Aug 7 2018, 12:46 AM

Removed signed intrinsics lowering due to the pattern being too complicated - instead some minor optimizations were introduced on LLVM side.

tkrupa retitled this revision from [X86] Lowering adds/addus/subs/subus intrinsics to native IR (Clang part) to [X86] Lowering addus/subus intrinsics to native IR (Clang part).Aug 9 2018, 2:16 AM
This revision is now accepted and ready to land.Aug 13 2018, 11:43 PM
This revision was automatically updated to reflect the committed changes.