This is an archive of the discontinued LLVM Phabricator instance.

[Clang] Add lowering for _C complex arithmetic to complex intrinsics.
Needs ReviewPublic

Authored by jcranmer-intel on Feb 8 2022, 2:18 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

This adds a new guard flag, -fuse-complex-intrinsics, that is defaulted to on
for the x86/x86-64 platforms, as they can be lowered to complex intrinsics
through the entire pipeline correctly. Other platforms could be added, but it
requires auditing their support correctly in the backend, and I don't have as
much familiarity with their ABIs as I do for x86/x86-64. Help would be
appreciated.

Future patches will build on top of this support to enable more complex limited
range support, but only when lowering to intrinsics.

Depends on D119288

Diff Detail