@@ -120,7 +120,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
120
120
// CHECK: cir.case(default, []) {
121
121
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
122
122
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
123
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = relaxed, failure = relaxed) : (!s32i, !cir.bool)
123
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = relaxed, failure = relaxed) align(4) : (!s32i, !cir.bool)
124
124
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
125
125
// CHECK: cir.if %[[succeeded]] {
126
126
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -131,7 +131,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
131
131
// CHECK: cir.case(anyof, [#cir.int<1> : !s32i, #cir.int<2> : !s32i]) {
132
132
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
133
133
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
134
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = relaxed, failure = acquire) : (!s32i, !cir.bool)
134
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = relaxed, failure = acquire) align(4) : (!s32i, !cir.bool)
135
135
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
136
136
// CHECK: cir.if %[[succeeded]] {
137
137
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -142,7 +142,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
142
142
// CHECK: cir.case(equal, [#cir.int<5> : !s32i]) {
143
143
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
144
144
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
145
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = relaxed, failure = seq_cst) : (!s32i, !cir.bool)
145
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = relaxed, failure = seq_cst) align(4) : (!s32i, !cir.bool)
146
146
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
147
147
// CHECK: cir.if %[[succeeded]] {
148
148
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -158,7 +158,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
158
158
// CHECK: cir.case(default, []) {
159
159
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
160
160
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
161
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acquire, failure = relaxed) : (!s32i, !cir.bool)
161
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acquire, failure = relaxed) align(4) : (!s32i, !cir.bool)
162
162
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
163
163
// CHECK: cir.if %[[succeeded]] {
164
164
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -169,7 +169,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
169
169
// CHECK: cir.case(anyof, [#cir.int<1> : !s32i, #cir.int<2> : !s32i]) {
170
170
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
171
171
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
172
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acquire, failure = acquire) : (!s32i, !cir.bool)
172
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acquire, failure = acquire) align(4) : (!s32i, !cir.bool)
173
173
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
174
174
// CHECK: cir.if %[[succeeded]] {
175
175
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -180,7 +180,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
180
180
// CHECK: cir.case(equal, [#cir.int<5> : !s32i]) {
181
181
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
182
182
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
183
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acquire, failure = seq_cst) : (!s32i, !cir.bool)
183
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acquire, failure = seq_cst) align(4) : (!s32i, !cir.bool)
184
184
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
185
185
// CHECK: cir.if %[[succeeded]] {
186
186
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -196,7 +196,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
196
196
// CHECK: cir.case(default, []) {
197
197
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
198
198
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
199
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = release, failure = relaxed) : (!s32i, !cir.bool)
199
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = release, failure = relaxed) align(4) : (!s32i, !cir.bool)
200
200
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
201
201
// CHECK: cir.if %[[succeeded]] {
202
202
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -207,7 +207,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
207
207
// CHECK: cir.case(anyof, [#cir.int<1> : !s32i, #cir.int<2> : !s32i]) {
208
208
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
209
209
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
210
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = release, failure = acquire) : (!s32i, !cir.bool)
210
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = release, failure = acquire) align(4) : (!s32i, !cir.bool)
211
211
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
212
212
// CHECK: cir.if %[[succeeded]] {
213
213
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -218,7 +218,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
218
218
// CHECK: cir.case(equal, [#cir.int<5> : !s32i]) {
219
219
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
220
220
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
221
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = release, failure = seq_cst) : (!s32i, !cir.bool)
221
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = release, failure = seq_cst) align(4) : (!s32i, !cir.bool)
222
222
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
223
223
// CHECK: cir.if %[[succeeded]] {
224
224
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -234,7 +234,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
234
234
// CHECK: cir.case(default, []) {
235
235
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
236
236
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
237
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acq_rel, failure = relaxed) : (!s32i, !cir.bool)
237
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acq_rel, failure = relaxed) align(4) : (!s32i, !cir.bool)
238
238
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
239
239
// CHECK: cir.if %[[succeeded]] {
240
240
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -245,7 +245,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
245
245
// CHECK: cir.case(anyof, [#cir.int<1> : !s32i, #cir.int<2> : !s32i]) {
246
246
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
247
247
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
248
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acq_rel, failure = acquire) : (!s32i, !cir.bool)
248
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acq_rel, failure = acquire) align(4) : (!s32i, !cir.bool)
249
249
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
250
250
// CHECK: cir.if %[[succeeded]] {
251
251
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -256,7 +256,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
256
256
// CHECK: cir.case(equal, [#cir.int<5> : !s32i]) {
257
257
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
258
258
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
259
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acq_rel, failure = seq_cst) : (!s32i, !cir.bool)
259
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = acq_rel, failure = seq_cst) align(4) : (!s32i, !cir.bool)
260
260
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
261
261
// CHECK: cir.if %[[succeeded]] {
262
262
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -272,7 +272,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
272
272
// CHECK: cir.case(default, []) {
273
273
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
274
274
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
275
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = seq_cst, failure = relaxed) : (!s32i, !cir.bool)
275
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = seq_cst, failure = relaxed) align(4) : (!s32i, !cir.bool)
276
276
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
277
277
// CHECK: cir.if %[[succeeded]] {
278
278
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -283,7 +283,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
283
283
// CHECK: cir.case(anyof, [#cir.int<1> : !s32i, #cir.int<2> : !s32i]) {
284
284
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
285
285
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
286
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = seq_cst, failure = acquire) : (!s32i, !cir.bool)
286
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = seq_cst, failure = acquire) align(4) : (!s32i, !cir.bool)
287
287
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
288
288
// CHECK: cir.if %[[succeeded]] {
289
289
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
@@ -294,7 +294,7 @@ bool atomic_compare_exchange_n(int* ptr, int* expected,
294
294
// CHECK: cir.case(equal, [#cir.int<5> : !s32i]) {
295
295
// CHECK: %[[expected:.*]] = cir.load %[[expected_addr]] : !cir.ptr<!s32i>, !s32i
296
296
// CHECK: %[[desired:.*]] = cir.load %[[desired_var]] : !cir.ptr<!s32i>, !s32i
297
- // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = seq_cst, failure = seq_cst) : (!s32i, !cir.bool)
297
+ // CHECK: %old, %cmp = cir.atomic.cmp_xchg(%[[ptr]] : !cir.ptr<!s32i>, %[[expected]] : !s32i, %[[desired]] : !s32i, success = seq_cst, failure = seq_cst) align(4) : (!s32i, !cir.bool)
298
298
// CHECK: %[[succeeded:.*]] = cir.unary(not, %cmp) : !cir.bool, !cir.bool
299
299
// CHECK: cir.if %[[succeeded]] {
300
300
// CHECK: cir.store %old, %[[expected_addr]] : !s32i, !cir.ptr<!s32i>
0 commit comments