Merge commit 4bb2416d42eb from llvm-project (by Jessica Clarke):
[builtins][AArch64] Implement _sync out-of-line atomics Whilst Clang does not use these, recent GCC does, and so on systems such as FreeBSD that wish to use compiler-rt as the system runtime library but also wish to support building programs with GCC these interfaces are needed. This is a light adaptation of the code committed to GCC by Sebastian Pop <spop@amazon.com>, relicensed with permission for use in compiler-rt. Fixes https://github.com/llvm/llvm-project/issues/63483 Reviewed By: sebpop, MaskRay Differential Revision: https://reviews.llvm.org/D158536
Reviewed by: dim
Approved by: re (gjb)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D41716
(cherry picked from commit 8524dc53fd4c6b79d75b82cb82f3ac72fc25e85f)
(cherry picked from commit 2f269a3532b279a215d527ef67949ff020476e8c)