Fix netbsd build
[tinycc.git] / lib / fetch_and_add_arm64.S
blob5795db5979f41d9866e20f02f9ff8639063d371f
1         .text
2         .align  2
3         .global fetch_and_add_arm64
4         .type   fetch_and_add_arm64, %function
5 fetch_and_add_arm64:
6 #ifdef __TINYC__
7         .int 0x885f7c02
8         .int 0x0b010042
9         .int 0x8803fc02
10         .int 0x35ffffa3
11         .int 0xd5033bbf
12         .int 0xd65f03c0
13 #else
14         ldxr    w2, [x0]
15         add     w2, w2, w1
16         stlxr   w3, w2, [x0]
17         cbnz    w3, fetch_and_add_arm64
18         dmb     ish
19         ret
20 #endif
22         .size   fetch_and_add_arm64, .-fetch_and_add_arm64