This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][RCPC3] Add Neon intrinsics for LDAP1 and STL1
ClosedPublic

Authored by pratlucas on Jun 16 2023, 5:52 AM.

Details

Summary

This adds new intrisics to support the LDAP1 and STL1 Advanced SIMD
(Neon) instructions introduced as part of FEAT_LRCPC3.
The new intrinsics vldap1(q)_lane/vstl1(q)_lane generate IR code
similar to the existing vld1(q)_lane/st1(q)_lane ones, but capturing
the difference in the atomic release/acquire memory model.

The LLVM code generation changes to ensure that this instruction pair
is lowered to the correct LDAP1/STL1 instructions will be covered in a
separate commit.

Based on a patch by Sam Elliott.

Diff Detail

Event Timeline

pratlucas created this revision.Jun 16 2023, 5:52 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 16 2023, 5:52 AM
pratlucas requested review of this revision.Jun 16 2023, 5:52 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 16 2023, 5:52 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
tmatheson accepted this revision.Jun 19 2023, 7:24 AM
clang/lib/CodeGen/CGBuiltin.cpp
6795
This revision is now accepted and ready to land.Jun 19 2023, 7:24 AM
tmatheson retitled this revision from [AArch64][RCPC3] Add Neon intrinsics for LDAP1 and STL2 to [AArch64][RCPC3] Add Neon intrinsics for LDAP1 and STL1.Jun 19 2023, 7:33 AM
This revision was landed with ongoing or failed builds.Jul 7 2023, 4:32 AM
This revision was automatically updated to reflect the committed changes.