Commit | Line | Data |
---|---|---|
fd65497d PW |
1 | /* Atomic 64-byte load/store instructions. */ |
2 | .arch armv8.7-a+ls64 | |
3 | ||
4 | /* Single-copy Atomic 64-byte Load. */ | |
5 | ld64b x0, [x1] | |
8edca81e PW |
6 | ld64b x2, [x1] |
7 | ld64b x4, [x1] | |
8 | ld64b x6, [x1] | |
9 | ld64b x8, [x1] | |
10 | ld64b x10, [x1] | |
11 | ld64b x12, [x1] | |
12 | ld64b x14, [x1] | |
fd65497d | 13 | ld64b x16, [x1] |
8edca81e PW |
14 | ld64b x18, [x1] |
15 | ld64b x20, [x1] | |
16 | ld64b x22, [x1] | |
fd65497d PW |
17 | |
18 | /* Single-copy Atomic 64-byte Store without Return. */ | |
19 | st64b x0, [x1] | |
8edca81e PW |
20 | st64b x2, [x1] |
21 | st64b x4, [x1] | |
22 | st64b x6, [x1] | |
23 | st64b x8, [x1] | |
24 | st64b x10, [x1] | |
25 | st64b x12, [x1] | |
26 | st64b x14, [x1] | |
fd65497d | 27 | st64b x16, [x1] |
8edca81e PW |
28 | st64b x18, [x1] |
29 | st64b x20, [x1] | |
30 | st64b x22, [x1] | |
fd65497d PW |
31 | |
32 | /* Single-copy Atomic 64-byte Store with Return. */ | |
8edca81e PW |
33 | st64bv x1, x0, [x2] |
34 | st64bv x0, x2, [x2] | |
35 | st64bv x0, x4, [x2] | |
36 | st64bv x0, x6, [x2] | |
37 | st64bv x0, x8, [x2] | |
38 | st64bv x0, x10, [x2] | |
39 | st64bv x0, x12, [x2] | |
40 | st64bv x0, x14, [x2] | |
41 | st64bv x0, x16, [x2] | |
42 | st64bv x0, x18, [x2] | |
43 | st64bv x0, x20, [x2] | |
44 | st64bv x0, x22, [x2] | |
fd65497d PW |
45 | |
46 | /* Single-copy Atomic 64-byte EL0 Store with Return. */ | |
8edca81e PW |
47 | st64bv0 x1, x0, [x2] |
48 | st64bv0 x0, x2, [x2] | |
49 | st64bv0 x0, x4, [x2] | |
50 | st64bv0 x0, x6, [x2] | |
51 | st64bv0 x0, x8, [x2] | |
52 | st64bv0 x0, x10, [x2] | |
53 | st64bv0 x0, x12, [x2] | |
54 | st64bv0 x0, x14, [x2] | |
55 | st64bv0 x0, x16, [x2] | |
56 | st64bv0 x0, x18, [x2] | |
57 | st64bv0 x0, x20, [x2] | |
58 | st64bv0 x0, x22, [x2] | |
4a3e3e22 PW |
59 | |
60 | .arch armv8-a | |
61 | /* Accelerator Data system register. */ | |
62 | mrs x0, accdata_el1 | |
63 | msr accdata_el1, x0 |