| /llvm-project-15.0.7/llvm/test/Bitcode/ |
| H A D | cmpxchg-upgrade.ll | 4 ; 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 D | atomic.ll | 5 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 D | memInstructions.3.2.ll | 223 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 D | atomic-no-syncscope.ll | 10 ; 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 D | use-list-order2.ll | 43 %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 D | weak-cmpxchg-upgrade.ll | 4 ; 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 D | partword.ll | 28 ; 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 D | atomic-mem-consistency.ll | 142 ; 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 D | atomic.ll | 18 ; 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 D | AtomicCompareExchange.ll | 31 %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 D | cmpxchg-03.ll | 10 %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 D | cmpxchg-04.ll | 10 %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 D | cmpxchg-06.ll | 16 %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 D | cmpxchg-05.ll | 1 ; 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 D | select-cmpxchg.ll | 5 ; 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 D | expand-atomic-non-integer.ll | 87 ; 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 D | atomic.ll | 22 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 D | atomic.ll | 20 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 D | atomic-ops.cl | 275 // 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 D | cmpxchg-i1.ll | 9 %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 D | 2010-10-08-cmpxchg8b.ll | 4 ; 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 D | partword-cmpxchg.ll | 7 %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 D | cmpxchg-idioms.ll | 8 ; 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 D | atomic-cmpxchg.ll | 27 %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 D | atomic.ll | 352 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 …]
|