Home
last modified time | relevance | path

Searched refs:cmpxchg (Results 1 – 25 of 236) sorted by relevance

12345678910

/llvm-project-15.0.7/llvm/test/Bitcode/
H A Dcmpxchg-upgrade.ll4 ; cmpxchg-upgrade.ll.bc was produced by running a version of llvm-as from just
8 cmpxchg i32* %addr, i32 42, i32 0 monotonic
9 ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 monotonic monotonic
11 cmpxchg i32* %addr, i32 42, i32 0 acquire
12 ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 acquire acquire
14 cmpxchg i32* %addr, i32 42, i32 0 release
15 ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 release monotonic
17 cmpxchg i32* %addr, i32 42, i32 0 acq_rel
18 ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 acq_rel acquire
20 cmpxchg i32* %addr, i32 42, i32 0 seq_cst
[all …]
H A Datomic.ll5 cmpxchg i32* %addr, i32 %desired, i32 %new seq_cst seq_cst
6 ; CHECK: cmpxchg i32* %addr, i32 %desired, i32 %new seq_cst seq_cst
8 cmpxchg volatile i32* %addr, i32 %desired, i32 %new seq_cst monotonic
9 ; CHECK: cmpxchg volatile i32* %addr, i32 %desired, i32 %new seq_cst monotonic
11 cmpxchg weak i32* %addr, i32 %desired, i32 %new acq_rel acquire
12 ; CHECK: cmpxchg weak i32* %addr, i32 %desired, i32 %new acq_rel acquire
14 …cmpxchg weak volatile i32* %addr, i32 %desired, i32 %new syncscope("singlethread") release monoton…
15 …; CHECK: cmpxchg weak volatile i32* %addr, i32 %desired, i32 %new syncscope("singlethread") releas…
H A DmemInstructions.3.2.ll223 define void @cmpxchg(i32* %ptr,i32 %cmp,i32 %new){
229 %res1 = cmpxchg i32* %ptr, i32 %cmp, i32 %new monotonic monotonic
233 %res2 = cmpxchg volatile i32* %ptr, i32 %cmp, i32 %new monotonic monotonic
246 %res5 = cmpxchg i32* %ptr, i32 %cmp, i32 %new acquire acquire
250 %res6 = cmpxchg volatile i32* %ptr, i32 %cmp, i32 %new acquire acquire
263 %res9 = cmpxchg i32* %ptr, i32 %cmp, i32 %new release monotonic
267 %res10 = cmpxchg volatile i32* %ptr, i32 %cmp, i32 %new release monotonic
280 %res13 = cmpxchg i32* %ptr, i32 %cmp, i32 %new acq_rel acquire
284 %res14 = cmpxchg volatile i32* %ptr, i32 %cmp, i32 %new acq_rel acquire
297 %res17 = cmpxchg i32* %ptr, i32 %cmp, i32 %new seq_cst seq_cst
[all …]
H A Datomic-no-syncscope.ll10 ; CHECK: cmpxchg i32* %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
11 ; CHECK: cmpxchg volatile i32* %x, i32 0, i32 1 acq_rel acquire
12 ; CHECK: cmpxchg i32* %x, i32 42, i32 0 acq_rel monotonic
13 ; CHECK: cmpxchg weak i32* %x, i32 13, i32 0 seq_cst monotonic
H A Duse-list-order2.ll43 %cmpxchg.0 = cmpxchg i32* %word, i32 0, i32 2 monotonic monotonic
44 %cmpxchg.1 = cmpxchg i32* %word, i32 0, i32 2 acq_rel monotonic
H A Dweak-cmpxchg-upgrade.ll4 ; cmpxchg-upgrade.ll.bc was produced by running a version of llvm-as from just
8 ; CHECK: [[TMP:%.*]] = cmpxchg i32* %addr, i32 %old, i32 %new seq_cst monotonic
10 %val = cmpxchg i32* %addr, i32 %old, i32 %new seq_cst monotonic
/llvm-project-15.0.7/llvm/test/Transforms/AtomicExpand/SPARC/
H A Dpartword.ll28 ; CHECK: br label %partword.cmpxchg.loop
29 ; CHECK:partword.cmpxchg.loop:
36 ; CHECK: br i1 %15, label %partword.cmpxchg.end, label %partword.cmpxchg.failure
37 ; CHECK:partword.cmpxchg.failure:
40 ; CHECK: br i1 %17, label %partword.cmpxchg.loop, label %partword.cmpxchg.end
41 ; CHECK:partword.cmpxchg.end:
74 ; CHECK:partword.cmpxchg.loop:
81 ; CHECK: br i1 %15, label %partword.cmpxchg.end, label %partword.cmpxchg.failure
82 ; CHECK:partword.cmpxchg.failure:
85 ; CHECK: br i1 %17, label %partword.cmpxchg.loop, label %partword.cmpxchg.end
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/WebAssembly/
H A Datomic-mem-consistency.ll142 ; Ternary RMW instruction: cmpxchg
150 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
160 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
170 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
180 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
190 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
200 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
210 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
220 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
230 ; CHECK: i32.atomic.rmw.cmpxchg $push0=, 0($0), $1, $2{{$}}
[all …]
/llvm-project-15.0.7/llvm/test/Assembler/
H A Datomic.ll18 ; CHECK: cmpxchg i32* %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
19 cmpxchg i32* %x, i32 1, i32 0 syncscope("singlethread") monotonic monotonic
20 ; CHECK: cmpxchg i32* %x, i32 1, i32 0 syncscope("workitem") monotonic monotonic
21 cmpxchg i32* %x, i32 1, i32 0 syncscope("workitem") monotonic monotonic
22 ; CHECK: cmpxchg volatile i32* %x, i32 0, i32 1 acq_rel acquire
23 cmpxchg volatile i32* %x, i32 0, i32 1 acq_rel acquire
24 ; CHECK: cmpxchg i32* %x, i32 42, i32 0 acq_rel monotonic
25 cmpxchg i32* %x, i32 42, i32 0 acq_rel monotonic
26 ; CHECK: cmpxchg weak i32* %x, i32 13, i32 0 seq_cst monotonic
27 cmpxchg weak i32* %x, i32 13, i32 0 seq_cst monotonic
/llvm-project-15.0.7/llvm/test/CodeGen/SPIRV/
H A DAtomicCompareExchange.ll31 %1 = cmpxchg i32* %ptr, i32 %comparator, i32 %0 seq_cst acquire
33 br i1 %2, label %cmpxchg.continue, label %cmpxchg.store_expected
35 cmpxchg.store_expected: ; preds = %entry
38 br label %cmpxchg.continue
40 cmpxchg.continue: ; preds = %cmpxchg.store_expected, %entry
57 %0 = cmpxchg i32* %ptr, i32 128, i32 456 seq_cst acquire
/llvm-project-15.0.7/llvm/test/CodeGen/SystemZ/
H A Dcmpxchg-03.ll10 %pair = cmpxchg i32 *%src, i32 %cmp, i32 %swap seq_cst seq_cst
21 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
32 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
43 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
56 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
67 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
78 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
91 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
104 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
118 %pair = cmpxchg i32 *%ptr, i32 %cmp, i32 %swap seq_cst seq_cst
[all …]
H A Dcmpxchg-04.ll10 %pairval = cmpxchg i64 *%src, i64 %cmp, i64 %swap seq_cst seq_cst
21 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 %swap seq_cst seq_cst
34 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 %swap seq_cst seq_cst
45 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 %swap seq_cst seq_cst
56 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 %swap seq_cst seq_cst
69 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 %swap seq_cst seq_cst
82 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 %swap seq_cst seq_cst
93 %pairval = cmpxchg i64 *%ptr, i64 1001, i64 %swap seq_cst seq_cst
104 %pairval = cmpxchg i64 *%ptr, i64 %cmp, i64 1002 seq_cst seq_cst
117 %pairval = cmpxchg i64 *%src, i64 %cmp, i64 %swap seq_cst seq_cst
[all …]
H A Dcmpxchg-06.ll16 %pairval = cmpxchg i128 *%src, i128 %cmp, i128 %swap seq_cst seq_cst
27 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 %swap seq_cst seq_cst
40 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 %swap seq_cst seq_cst
51 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 %swap seq_cst seq_cst
62 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 %swap seq_cst seq_cst
75 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 %swap seq_cst seq_cst
88 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 %swap seq_cst seq_cst
99 %pairval = cmpxchg i128 *%ptr, i128 1001, i128 %swap seq_cst seq_cst
110 %pairval = cmpxchg i128 *%ptr, i128 %cmp, i128 1002 seq_cst seq_cst
127 %pairval = cmpxchg i128 *%src, i128 %cmp, i128 %swap seq_cst seq_cst
[all …]
H A Dcmpxchg-05.ll1 ; Test proper extension of 8-bit/16-bit cmpxchg.
13 %cx = cmpxchg i8* %0, i8 %1, i8 %2 seq_cst seq_cst
26 %cx = cmpxchg i16* %0, i16 %1, i16 %2 seq_cst seq_cst
39 %cx = cmpxchg i8* %0, i8 %1, i8 %2 seq_cst seq_cst
52 %cx = cmpxchg i16* %0, i16 %1, i16 %2 seq_cst seq_cst
/llvm-project-15.0.7/llvm/test/Transforms/InstCombine/
H A Dselect-cmpxchg.ll5 ; CHECK-NEXT: %tmp0 = cmpxchg i64* %ptr, i64 %compare, i64 %new_value seq_cst seq_cst
9 %tmp0 = cmpxchg i64* %ptr, i64 %compare, i64 %new_value seq_cst seq_cst
18 ; CHECK-NEXT: %tmp0 = cmpxchg i64* %ptr, i64 %compare, i64 %new_value seq_cst seq_cst
21 %tmp0 = cmpxchg i64* %ptr, i64 %compare, i64 %new_value seq_cst seq_cst
30 ; CHECK-NEXT: %tmp0 = cmpxchg i64* %ptr, i64 %compare, i64 %new_value acq_rel monotonic
33 %tmp0 = cmpxchg i64* %ptr, i64 %compare, i64 %new_value acq_rel monotonic
/llvm-project-15.0.7/llvm/test/Transforms/AtomicExpand/X86/
H A Dexpand-atomic-non-integer.ll87 ; CHECK: %3 = cmpxchg i64* %1, i64 0, i64 %2 seq_cst monotonic
93 cmpxchg i8** %ptr, i8* null, i8* %v seq_cst monotonic
101 ; CHECK: %3 = cmpxchg i64* %1, i64 0, i64 %2 release monotonic
107 cmpxchg i8** %ptr, i8* null, i8* %v release monotonic
115 ; CHECK: %3 = cmpxchg i64* %1, i64 0, i64 %2 seq_cst seq_cst
121 cmpxchg i8** %ptr, i8* null, i8* %v seq_cst seq_cst
129 ; CHECK: %3 = cmpxchg weak i64* %1, i64 0, i64 %2 seq_cst seq_cst
135 cmpxchg weak i8** %ptr, i8* null, i8* %v seq_cst seq_cst
143 ; CHECK: %3 = cmpxchg volatile i64* %1, i64 0, i64 %2 seq_cst seq_cst
149 cmpxchg volatile i8** %ptr, i8* null, i8* %v seq_cst seq_cst
[all …]
/llvm-project-15.0.7/llvm/test/Instrumentation/HWAddressSanitizer/X86/
H A Datomic.ll22 define void @cmpxchg(i64* %ptr, i64 %compare_to, i64 %new_value) sanitize_hwaddress {
23 ; CHECK-LABEL: @cmpxchg(
28 ; CHECK: cmpxchg i64* %ptr, i64 %compare_to, i64 %new_value seq_cst seq_cst
32 %0 = cmpxchg i64* %ptr, i64 %compare_to, i64 %new_value seq_cst seq_cst
/llvm-project-15.0.7/llvm/test/Instrumentation/HWAddressSanitizer/
H A Datomic.ll20 define void @cmpxchg(i64* %ptr, i64 %compare_to, i64 %new_value) sanitize_hwaddress {
21 ; CHECK-LABEL: @cmpxchg(
24 ; CHECK: cmpxchg i64* %ptr, i64 %compare_to, i64 %new_value seq_cst seq_cst
28 %0 = cmpxchg i64* %ptr, i64 %compare_to, i64 %new_value seq_cst seq_cst
/llvm-project-15.0.7/clang/test/CodeGenOpenCL/
H A Datomic-ops.cl275 // CHECK: cmpxchg {{.*}} monotonic acquire, align 4
279 // CHECK: cmpxchg {{.*}} monotonic seq_cst, align 4
283 // CHECK: cmpxchg {{.*}} acquire monotonic, align 4
287 // CHECK: cmpxchg {{.*}} acquire acquire, align 4
291 // CHECK: cmpxchg {{.*}} acquire seq_cst, align 4
299 // CHECK: cmpxchg {{.*}} release acquire, align 4
303 // CHECK: cmpxchg {{.*}} release seq_cst, align 4
311 // CHECK: cmpxchg {{.*}} acq_rel acquire, align 4
315 // CHECK: cmpxchg {{.*}} acq_rel seq_cst, align 4
323 // CHECK: cmpxchg {{.*}} seq_cst acquire, align 4
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/X86/
H A Dcmpxchg-i1.ll9 %pair = cmpxchg ptr %addr, i32 %desired, i32 %new seq_cst seq_cst
20 %pair = cmpxchg ptr %addr, i64 %desired, i64 %new seq_cst seq_cst
39 %pair = cmpxchg ptr %addr, i32 %desired, i32 %new seq_cst seq_cst
51 %pair = cmpxchg ptr %addr, i32 %desired, i32 %new seq_cst seq_cst
77 %pair = cmpxchg ptr %addr, i32 %old, i32 %new seq_cst seq_cst
H A D2010-10-08-cmpxchg8b.ll4 ; On i386, i64 cmpxchg is lowered during legalize types to extract the
12 ; Note that this case requires a loop around the cmpxchg to force
20 %pair = cmpxchg ptr %ptr, i64 0, i64 1 monotonic monotonic
/llvm-project-15.0.7/llvm/test/CodeGen/Hexagon/
H A Dpartword-cmpxchg.ll7 %v0 = cmpxchg i8* %a0, i8 0, i8 1 seq_cst seq_cst
16 %v0 = cmpxchg i16* %a0, i16 0, i16 1 seq_cst seq_cst
25 %v0 = cmpxchg i32* %a0, i32 0, i32 1 seq_cst seq_cst
/llvm-project-15.0.7/llvm/test/CodeGen/AArch64/
H A Dcmpxchg-idioms.ll8 ; CHECK-NEXT: LBB0_1: ; %cmpxchg.start
13 ; CHECK-NEXT: ; %bb.2: ; %cmpxchg.trystore
20 ; CHECK-NEXT: LBB0_4: ; %cmpxchg.nostore
57 ; CHECK-NEXT: LBB1_1: ; %cmpxchg.start
62 ; CHECK-NEXT: ; %bb.2: ; %cmpxchg.trystore
70 ; CHECK-NEXT: LBB1_4: ; %cmpxchg.nostore
105 ; CHECK-NEXT: LBB2_1: ; %cmpxchg.start
110 ; CHECK-NEXT: ; %bb.2: ; %cmpxchg.trystore
116 ; CHECK-NEXT: LBB2_4: ; %cmpxchg.nostore
181 ; CHECK-NEXT: LBB3_1: ; %cmpxchg.start
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/CSKY/
H A Datomic-cmpxchg.ll27 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val monotonic monotonic
53 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val acquire monotonic
79 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val acquire acquire
105 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val release monotonic
131 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val release acquire
157 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val acq_rel monotonic
183 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val acq_rel acquire
209 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val seq_cst monotonic
235 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val seq_cst acquire
261 %res = cmpxchg i8* %ptr, i8 %cmp, i8 %val seq_cst seq_cst
[all …]
/llvm-project-15.0.7/llvm/test/Instrumentation/ThreadSanitizer/
H A Datomic.ll352 cmpxchg i8* %a, i8 0, i8 1 monotonic acquire, !dbg !7
353 cmpxchg i8* %a, i8 0, i8 1 monotonic seq_cst, !dbg !7
363 cmpxchg i8* %a, i8 0, i8 1 acquire monotonic, !dbg !7
364 cmpxchg i8* %a, i8 0, i8 1 acquire acquire, !dbg !7
365 cmpxchg i8* %a, i8 0, i8 1 acquire seq_cst, !dbg !7
376 cmpxchg i8* %a, i8 0, i8 1 release acquire, !dbg !7
377 cmpxchg i8* %a, i8 0, i8 1 release seq_cst, !dbg !7
388 cmpxchg i8* %a, i8 0, i8 1 acq_rel acquire, !dbg !7
389 cmpxchg i8* %a, i8 0, i8 1 acq_rel seq_cst, !dbg !7
400 cmpxchg i8* %a, i8 0, i8 1 seq_cst acquire, !dbg !7
[all …]

12345678910