macos: ldd does not exit, use otool instead
[tinycc.git] / lib / fetch_and_add_arm.S
blob773128b15e8ccbc66ea9d0645c1bff9e16d0ee44
1         .text
2         .align  2
3         .global fetch_and_add_arm
4         .type   fetch_and_add_arm, %function
5 fetch_and_add_arm:
6 #ifdef __TINYC__
7         .int 0xee070fba
8         .int 0xe1903f9f
9         .int 0xe0833001
10         .int 0xe1802f93
11         .int 0xe3520000
12         .int 0x1afffffa
13         .int 0xee070fba
14         .int 0xe12fff1e
15 #else
16         .arch armv6
18         mcr     p15, 0, r0, c7, c10, 5
19 .L0:
20         ldrex   r3, [r0]
21         add     r3, r3, r1
22         strex   r2, r3, [r0]
23         cmp     r2, #0
24         bne     .L0
25         mcr     p15, 0, r0, c7, c10, 5
26         bx      lr
27 #endif
28         .size   fetch_and_add_arm, .-fetch_and_add_arm