1#include "macros.inc"
2
3test_suite exclusive
4
5
6
7test exclusive_nowrite
8 movi a2, 0x29
9 wsr a2, atomctl
10 clrex
11 movi a2, 1f
12 movi a3, 1
13 s32ex a3, a2
14 getex a3
15 assert eqi, a3, 0
16 l32i a3, a2, 0
17 assert eqi, a3, 3
18
19.data
20.align 4
211:
22 .word 3
23.text
24test_end
25
26test exclusive_write
27 movi a2, 0x29
28 wsr a2, atomctl
29 movi a2, 1f
30 l32ex a3, a2
31 assert eqi, a3, 3
32 movi a3, 2
33 s32ex a3, a2
34 getex a3
35 assert eqi, a3, 1
36 l32i a3, a2, 0
37 assert eqi, a3, 2
38
39.data
40.align 4
411:
42 .word 3
43.text
44test_end
45
46#endif
47
48test_suite_end
49