fix extension
[nginx.git] / nginx / src / os / unix / ngx_sunpro_sparc64.il
1 /
2 / Copyright (C) Igor Sysoev
3 /
4
5
6 /  "casa   [%o2] 0x80, %o1, %o0"  and
7 /  "casxa  [%o2] 0x80, %o1, %o0"  do the following:
8 /
9 /       if ([%o2] == %o1) {
10 /           swap(%o0, [%o2]);
11 /       } else {
12 /           %o0 = [%o2];
13 /       }
14
15
16 / ngx_atomic_uint_t ngx_casa(ngx_atomic_uint_t set, ngx_atomic_uint_t old,
17 /      ngx_atomic_t *lock);
18 /
19 / the arguments are passed in the %o0, %o1, %o2
20 / the result is returned in the %o0
21
22         .inline ngx_casa,0
23         casa    [%o2] 0x80, %o1, %o0
24         .end
25
26
27 / ngx_atomic_uint_t ngx_casxa(ngx_atomic_uint_t set, ngx_atomic_uint_t old,
28 /      ngx_atomic_t *lock);
29 /
30 / the arguments are passed in the %o0, %o1, %o2
31 / the result is returned in the %o0
32
33         .inline ngx_casxa,0
34         casxa   [%o2] 0x80, %o1, %o0
35         .end