File tree Expand file tree Collapse file tree 15 files changed +1509
-5
lines changed
asm/riscv32imac-unknown-none-elf Expand file tree Collapse file tree 15 files changed +1509
-5
lines changed Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change
1
+ asm_test::atomic_memcpy_load_align16::acquire:
2
+ lw a7, 24(a1)
3
+ lw t0, 20(a1)
4
+ lw a5, 16(a1)
5
+ lw a2, 12(a1)
6
+ lw a3, 8(a1)
7
+ lw a4, 4(a1)
8
+ lw a1, 0(a1)
9
+ sw a1, 0(a0)
10
+ sw a4, 4(a0)
11
+ sw a3, 8(a0)
12
+ sw a2, 12(a0)
13
+ sw a5, 16(a0)
14
+ sw t0, 20(a0)
15
+ sw a7, 24(a0)
16
+ sw a6, 28(a0)
17
+ fence r, rw
18
+ ret
19
+ asm_test::atomic_memcpy_load_align16::read_volatile_acquire_fence:
20
+ lw a7, 24(a1)
21
+ lw t0, 20(a1)
22
+ lw a5, 16(a1)
23
+ lw a2, 12(a1)
24
+ lw a3, 8(a1)
25
+ lw a4, 4(a1)
26
+ lw a1, 0(a1)
27
+ sw a1, 0(a0)
28
+ sw a4, 4(a0)
29
+ sw a3, 8(a0)
30
+ sw a2, 12(a0)
31
+ sw a5, 16(a0)
32
+ sw t0, 20(a0)
33
+ sw a7, 24(a0)
34
+ sw a6, 28(a0)
35
+ fence r, rw
36
+ ret
Original file line number Diff line number Diff line change
1
+ asm_test::atomic_memcpy_load_align2::acquire:
2
+ sw ra, 44(sp)
3
+ andi a2, a1, 3
4
+ beqz a2, .LBB4_2
5
+ lh a2, 0(a1)
6
+ sh a2, 12(sp)
7
+ lw a2, 2(a1)
8
+ sh a2, 14(sp)
9
+ srli a2, a2, 16
10
+ sh a2, 16(sp)
11
+ lw a2, 6(a1)
12
+ sh a2, 18(sp)
13
+ srli a2, a2, 16
14
+ sh a2, 20(sp)
15
+ lw a2, 10(a1)
16
+ sh a2, 22(sp)
17
+ srli a2, a2, 16
18
+ sh a2, 24(sp)
19
+ lw a2, 14(a1)
20
+ sh a2, 26(sp)
21
+ srli a2, a2, 16
22
+ sh a2, 28(sp)
23
+ lw a2, 18(a1)
24
+ sh a2, 30(sp)
25
+ srli a2, a2, 16
26
+ sh a2, 32(sp)
27
+ lw a2, 22(a1)
28
+ sh a2, 34(sp)
29
+ srli a2, a2, 16
30
+ sh a2, 36(sp)
31
+ lw a2, 26(a1)
32
+ sh a2, 38(sp)
33
+ srli a2, a2, 16
34
+ sh a2, 40(sp)
35
+ lh a1, 30(a1)
36
+ sh a1, 42(sp)
37
+ j .LBB4_3
38
+ .LBB4_2:
39
+ lw a2, 0(a1)
40
+ sw a2, 12(sp)
41
+ lw a2, 4(a1)
42
+ sw a2, 16(sp)
43
+ lw a2, 8(a1)
44
+ sw a2, 20(sp)
45
+ lw a2, 12(a1)
46
+ sw a2, 24(sp)
47
+ lw a2, 16(a1)
48
+ sw a2, 28(sp)
49
+ lw a2, 20(a1)
50
+ sw a2, 32(sp)
51
+ lw a2, 24(a1)
52
+ sw a2, 36(sp)
53
+ lw a1, 28(a1)
54
+ sw a1, 40(sp)
55
+ .LBB4_3:
56
+ addi a1, sp, 12
57
+ addi a2, zero, 32
58
+ call memcpy@plt
59
+ fence r, rw
60
+ lw ra, 44(sp)
61
+ addi sp, sp, 48
62
+ ret
63
+ .LBB6_2:
64
+ lw a1, 32(sp)
65
+ sw a1, 0(a0)
66
+ lw a1, 36(sp)
67
+ sw a1, 4(a0)
68
+ lw a1, 40(sp)
69
+ sw a1, 8(a0)
70
+ lw a1, 44(sp)
71
+ sw a1, 12(a0)
72
+ lw a1, 48(sp)
73
+ sw a1, 16(a0)
74
+ lw a1, 52(sp)
75
+ sw a1, 20(a0)
76
+ lw a1, 56(sp)
77
+ sw a1, 24(a0)
78
+ lw a1, 60(sp)
79
+ sw a1, 28(a0)
80
+ addi sp, sp, 64
81
+ ret
82
+ asm_test::atomic_memcpy_load_align2::read_volatile_acquire_fence:
83
+ sw s0, 12(sp)
84
+ sw s1, 8(sp)
85
+ lh a6, 30(a1)
86
+ lh a7, 28(a1)
87
+ lh t0, 26(a1)
88
+ lh t1, 24(a1)
89
+ lh t2, 22(a1)
90
+ lh t3, 20(a1)
91
+ lh t4, 18(a1)
92
+ lh t5, 16(a1)
93
+ lh t6, 14(a1)
94
+ lh a3, 12(a1)
95
+ lh a4, 10(a1)
96
+ lh a5, 8(a1)
97
+ lh a2, 6(a1)
98
+ lh s0, 4(a1)
99
+ lh s1, 2(a1)
100
+ lh a1, 0(a1)
101
+ sh a1, 0(a0)
102
+ sh s1, 2(a0)
103
+ sh s0, 4(a0)
104
+ sh a2, 6(a0)
105
+ sh a5, 8(a0)
106
+ sh a4, 10(a0)
107
+ sh a3, 12(a0)
108
+ sh t6, 14(a0)
109
+ sh t5, 16(a0)
110
+ sh t4, 18(a0)
111
+ sh t3, 20(a0)
112
+ sh t2, 22(a0)
113
+ sh t1, 24(a0)
114
+ sh t0, 26(a0)
115
+ sh a7, 28(a0)
116
+ sh a6, 30(a0)
117
+ fence r, rw
118
+ lw s1, 8(sp)
119
+ lw s0, 12(sp)
120
+ addi sp, sp, 16
121
+ ret
122
+ .LBB6_2:
123
+ lw a1, 32(sp)
124
+ sw a1, 0(a0)
125
+ lw a1, 36(sp)
126
+ sw a1, 4(a0)
127
+ lw a1, 40(sp)
128
+ sw a1, 8(a0)
129
+ lw a1, 44(sp)
130
+ sw a1, 12(a0)
131
+ lw a1, 48(sp)
132
+ sw a1, 16(a0)
133
+ lw a1, 52(sp)
134
+ sw a1, 20(a0)
135
+ lw a1, 56(sp)
136
+ sw a1, 24(a0)
137
+ lw a1, 60(sp)
138
+ sw a1, 28(a0)
139
+ addi sp, sp, 64
140
+ ret
Original file line number Diff line number Diff line change
1
+ asm_test::atomic_memcpy_load_align4::acquire:
2
+ lw a7, 24(a1)
3
+ lw t0, 20(a1)
4
+ lw a5, 16(a1)
5
+ lw a2, 12(a1)
6
+ lw a3, 8(a1)
7
+ lw a4, 4(a1)
8
+ lw a1, 0(a1)
9
+ sw a1, 0(a0)
10
+ sw a4, 4(a0)
11
+ sw a3, 8(a0)
12
+ sw a2, 12(a0)
13
+ sw a5, 16(a0)
14
+ sw t0, 20(a0)
15
+ sw a7, 24(a0)
16
+ sw a6, 28(a0)
17
+ fence r, rw
18
+ ret
19
+ asm_test::atomic_memcpy_load_align4::read_volatile_acquire_fence:
20
+ lw a7, 24(a1)
21
+ lw t0, 20(a1)
22
+ lw a5, 16(a1)
23
+ lw a2, 12(a1)
24
+ lw a3, 8(a1)
25
+ lw a4, 4(a1)
26
+ lw a1, 0(a1)
27
+ sw a1, 0(a0)
28
+ sw a4, 4(a0)
29
+ sw a3, 8(a0)
30
+ sw a2, 12(a0)
31
+ sw a5, 16(a0)
32
+ sw t0, 20(a0)
33
+ sw a7, 24(a0)
34
+ sw a6, 28(a0)
35
+ fence r, rw
36
+ ret
Original file line number Diff line number Diff line change
1
+ asm_test::atomic_memcpy_load_align8::acquire:
2
+ lw a7, 24(a1)
3
+ lw t0, 20(a1)
4
+ lw a5, 16(a1)
5
+ lw a2, 12(a1)
6
+ lw a3, 8(a1)
7
+ lw a4, 4(a1)
8
+ lw a1, 0(a1)
9
+ sw a1, 0(a0)
10
+ sw a4, 4(a0)
11
+ sw a3, 8(a0)
12
+ sw a2, 12(a0)
13
+ sw a5, 16(a0)
14
+ sw t0, 20(a0)
15
+ sw a7, 24(a0)
16
+ sw a6, 28(a0)
17
+ fence r, rw
18
+ ret
19
+ asm_test::atomic_memcpy_load_align8::read_volatile_acquire_fence:
20
+ lw a7, 24(a1)
21
+ lw t0, 20(a1)
22
+ lw a5, 16(a1)
23
+ lw a2, 12(a1)
24
+ lw a3, 8(a1)
25
+ lw a4, 4(a1)
26
+ lw a1, 0(a1)
27
+ sw a1, 0(a0)
28
+ sw a4, 4(a0)
29
+ sw a3, 8(a0)
30
+ sw a2, 12(a0)
31
+ sw a5, 16(a0)
32
+ sw t0, 20(a0)
33
+ sw a7, 24(a0)
34
+ sw a6, 28(a0)
35
+ fence r, rw
36
+ ret
You can’t perform that action at this time.
0 commit comments