1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
| ; RUN: llvm-mc -triple aarch64-apple-ios -mattr=+lse %s | FileCheck %s
; CHECK: ldaddab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldaddah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldadda w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldadda x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldaddab w3, wzr, [x5]
ldaddah w5, wzr, [x0]
ldadda w7, wzr, [x5]
ldadda x9, xzr, [sp]
; CHECK: ldaddalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldaddalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldaddal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldaddal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldaddalb w3, wzr, [x5]
ldaddalh w5, wzr, [x0]
ldaddal w7, wzr, [x5]
ldaddal x9, xzr, [sp]
; CHECK: ldclrab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldclrah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldclra w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldclra x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldclrab w3, wzr, [x5]
ldclrah w5, wzr, [x0]
ldclra w7, wzr, [x5]
ldclra x9, xzr, [sp]
; CHECK: ldclralb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldclralh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldclral w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldclral x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldclralb w3, wzr, [x5]
ldclralh w5, wzr, [x0]
ldclral w7, wzr, [x5]
ldclral x9, xzr, [sp]
; CHECK: ldeorab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldeorah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldeora w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldeora x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldeorab w3, wzr, [x5]
ldeorah w5, wzr, [x0]
ldeora w7, wzr, [x5]
ldeora x9, xzr, [sp]
; CHECK: ldeoralb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldeoralh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldeoral w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldeoral x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldeoralb w3, wzr, [x5]
ldeoralh w5, wzr, [x0]
ldeoral w7, wzr, [x5]
ldeoral x9, xzr, [sp]
; CHECK: ldsetab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsetah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldseta w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldseta x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldsetab w3, wzr, [x5]
ldsetah w5, wzr, [x0]
ldseta w7, wzr, [x5]
ldseta x9, xzr, [sp]
; CHECK: ldsetalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsetalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldsetal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsetal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldsetalb w3, wzr, [x5]
ldsetalh w5, wzr, [x0]
ldsetal w7, wzr, [x5]
ldsetal x9, xzr, [sp]
; CHECK: ldsmaxab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsmaxah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldsmaxa w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsmaxa x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldsmaxab w3, wzr, [x5]
ldsmaxah w5, wzr, [x0]
ldsmaxa w7, wzr, [x5]
ldsmaxa x9, xzr, [sp]
; CHECK: ldsmaxalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsmaxalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldsmaxal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsmaxal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldsmaxalb w3, wzr, [x5]
ldsmaxalh w5, wzr, [x0]
ldsmaxal w7, wzr, [x5]
ldsmaxal x9, xzr, [sp]
; CHECK: ldsminab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsminah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldsmina w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsmina x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldsminab w3, wzr, [x5]
ldsminah w5, wzr, [x0]
ldsmina w7, wzr, [x5]
ldsmina x9, xzr, [sp]
; CHECK: ldsminalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsminalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldsminal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldsminal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldsminalb w3, wzr, [x5]
ldsminalh w5, wzr, [x0]
ldsminal w7, wzr, [x5]
ldsminal x9, xzr, [sp]
; CHECK: ldumaxab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldumaxah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldumaxa w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldumaxa x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldumaxab w3, wzr, [x5]
ldumaxah w5, wzr, [x0]
ldumaxa w7, wzr, [x5]
ldumaxa x9, xzr, [sp]
; CHECK: ldumaxalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldumaxalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldumaxal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldumaxal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
ldumaxalb w3, wzr, [x5]
ldumaxalh w5, wzr, [x0]
ldumaxal w7, wzr, [x5]
ldumaxal x9, xzr, [sp]
; CHECK: lduminab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: lduminah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: ldumina w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: ldumina x9, xzr, [sp] ; acquire semantics dropped since destination is zero
lduminab w3, wzr, [x5]
lduminah w5, wzr, [x0]
ldumina w7, wzr, [x5]
ldumina x9, xzr, [sp]
; CHECK: lduminalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: lduminalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: lduminal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: lduminal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
lduminalb w3, wzr, [x5]
lduminalh w5, wzr, [x0]
lduminal w7, wzr, [x5]
lduminal x9, xzr, [sp]
; CHECK: swpab w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: swpah w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: swpa w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: swpa x9, xzr, [sp] ; acquire semantics dropped since destination is zero
swpab w3, wzr, [x5]
swpah w5, wzr, [x0]
swpa w7, wzr, [x5]
swpa x9, xzr, [sp]
; CHECK: swpalb w3, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: swpalh w5, wzr, [x0] ; acquire semantics dropped since destination is zero
; CHECK: swpal w7, wzr, [x5] ; acquire semantics dropped since destination is zero
; CHECK: swpal x9, xzr, [sp] ; acquire semantics dropped since destination is zero
swpalb w3, wzr, [x5]
swpalh w5, wzr, [x0]
swpal w7, wzr, [x5]
swpal x9, xzr, [sp]
; CHECK: ldaddal xzr, x3, [x0]{{$}}
; CHECK: ldeora wzr, w7, [x5]{{$}}
; CHECK: ldsminb w5, w9, [sp]{{$}}
ldaddal xzr, x3, [x0]
ldeora wzr, w7, [x5]
ldsminb w5, w9, [sp]
; CAS instructions aren't affected.
; CHECK: casab w3, wzr, [x5]{{$}}
; CHECK: casah w5, wzr, [x0]{{$}}
; CHECK: casa w7, wzr, [x5]{{$}}
; CHECK: casa x9, xzr, [sp]{{$}}
casab w3, wzr, [x5]
casah w5, wzr, [x0]
casa w7, wzr, [x5]
casa x9, xzr, [sp]
; CHECK: casalb w3, wzr, [x5]{{$}}
; CHECK: casalh w5, wzr, [x0]{{$}}
; CHECK: casal w7, wzr, [x5]{{$}}
; CHECK: casal x9, xzr, [sp]{{$}}
casalb w3, wzr, [x5]
casalh w5, wzr, [x0]
casal w7, wzr, [x5]
casal x9, xzr, [sp]
|