ARM: implement __sync_fetch_and_* operations
commit11d04ee709db1aff256f904e384aae0d9ac24447
authorTim Northover <tnorthover@apple.com>
Tue, 4 Mar 2014 10:10:17 +0000 (4 10:10 +0000)
committerTim Northover <tnorthover@apple.com>
Tue, 4 Mar 2014 10:10:17 +0000 (4 10:10 +0000)
tree92794e4eaee7c799b7b79b29a9adcc9625e6ddac
parent5ad91b8305eac34b7d9a777a7a3c2b098de0fedf
ARM: implement __sync_fetch_and_* operations

Since these are primarily useful for deeply embedded targets where code size is
very important, they are each in a separate file making use of infrastructure
in sync-ops.h. This allows a linker to include just the functions that are
actually used.

rdar://problem/14736665

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202812 91177308-0d34-0410-b5e6-96231b3b80d8
24 files changed:
lib/builtins/CMakeLists.txt
lib/builtins/arm/Makefile.mk
lib/builtins/arm/sync-ops.h [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_add_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_add_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_and_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_and_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_max_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_max_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_min_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_min_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_nand_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_nand_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_or_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_or_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_sub_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_sub_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_umax_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_umax_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_umin_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_umin_8.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_xor_4.S [new file with mode: 0644]
lib/builtins/arm/sync_fetch_and_xor_8.S [new file with mode: 0644]
make/platform/clang_macho_embedded.mk