This is an archive of the discontinued LLVM Phabricator instance.

[ARM,CDE] Implement GPR CDE intrinsics
ClosedPublic

Authored by miyuki on Mar 17 2020, 9:58 AM.

Details

Summary

This change implements ACLE CDE intrinsics that translate to
instructions working with general-purpose registers.

The specification is available at
https://static.docs.arm.com/101028/0010/ACLE_2019Q4_release-0010.pdf

Each ACLE intrinsic gets a corresponding LLVM IR intrinsic (because
they have distinct function prototypes). Dual-register operands are
represented as pairs of i32 values. Because of this the instruction
selection for these intrinsics cannot be represented as TableGen
patterns and requires custom C++ code.

Diff Detail

Event Timeline

miyuki created this revision.Mar 17 2020, 9:58 AM
miyuki updated this revision to Diff 250848.Mar 17 2020, 11:56 AM

Fixed formatting and a clang-tidy warning. Not renaming SelectCDE_CXxD (as clang-tidy suggests) for consistency with other Select* methods.

This revision is now accepted and ready to land.Mar 20 2020, 5:51 AM
This revision was automatically updated to reflect the committed changes.