|
1 |
| -119734787 65536 393230 32 0 |
| 1 | +119734787 65536 393230 33 0 |
2 | 2 | 2 Capability Addresses
|
3 | 3 | 2 Capability Kernel
|
4 | 4 | 5 ExtInstImport 1 "OpenCL.std"
|
5 | 5 | 3 MemoryModel 2 2
|
6 | 6 | 8 EntryPoint 6 6 "test_atomic_global"
|
7 |
| -13 String 31 "kernel_arg_type.test_atomic_global.int*," |
| 7 | +13 String 32 "kernel_arg_type.test_atomic_global.int*," |
8 | 8 | 3 Source 3 102000
|
9 | 9 | 3 Name 7 "dst"
|
10 | 10 | 4 Name 8 "object"
|
|
18 | 18 | 2 TypeVoid 2
|
19 | 19 | 4 TypePointer 4 5 3
|
20 | 20 | 7 TypeFunction 5 2 4 4 4 3
|
21 |
| -2 TypeBool 29 |
| 21 | +2 TypeBool 30 |
22 | 22 |
|
23 | 23 |
|
24 | 24 | 5 Function 2 6 0 5
|
|
40 | 40 | 7 AtomicXor 3 24 7 13 14 13
|
41 | 41 | 7 AtomicAnd 3 25 7 13 14 13
|
42 | 42 | 9 AtomicCompareExchange 3 26 7 13 14 14 13 17
|
43 |
| -7 AtomicExchange 3 27 7 13 14 13 |
44 |
| -6 AtomicLoad 3 28 8 13 14 |
| 43 | +9 AtomicCompareExchangeWeak 3 27 7 13 14 14 13 17 |
| 44 | +7 AtomicExchange 3 28 7 13 14 13 |
| 45 | +6 AtomicLoad 3 29 8 13 14 |
45 | 46 | 5 AtomicStore 8 13 14 10
|
46 |
| -6 AtomicFlagTestAndSet 29 30 8 13 14 |
| 47 | +6 AtomicFlagTestAndSet 30 31 8 13 14 |
47 | 48 | 4 AtomicFlagClear 8 13 14
|
48 | 49 | 1 Return
|
49 | 50 |
|
|
66 | 67 | ; CHECK-LLVM-12: call spir_func i32 @_Z9atomic_orPU3AS1Vii(i32 addrspace(1)* %dst, i32 1) [[attr]]
|
67 | 68 | ; CHECK-LLVM-12: call spir_func i32 @_Z10atomic_xorPU3AS1Vii(i32 addrspace(1)* %dst, i32 1) [[attr]]
|
68 | 69 | ; CHECK-LLVM-12: call spir_func i32 @_Z10atomic_andPU3AS1Vii(i32 addrspace(1)* %dst, i32 1) [[attr]]
|
69 |
| -; CHECK-LLVM-12: call spir_func i32 @_Z14atomic_cmpxchgPU3AS1Viii(i32 addrspace(1)* %dst, i32 0, i32 1) [[attr]] |
| 70 | +; CHECK-LLVM-12-COUNT-2: call spir_func i32 @_Z14atomic_cmpxchgPU3AS1Viii(i32 addrspace(1)* %dst, i32 0, i32 1) [[attr]] |
70 | 71 | ; CHECK-LLVM-12: call spir_func i32 @_Z11atomic_xchgPU3AS1Vii(i32 addrspace(1)* %dst, i32 1) [[attr]]
|
71 | 72 | ; CHECK-LLVM-12: call spir_func i32 @_Z10atomic_addPU3AS1Vii(i32 addrspace(1)* %object, i32 0) [[attr]]
|
72 | 73 | ; CHECK-LLVM-12: call spir_func i32 @_Z11atomic_xchgPU3AS1Vii(i32 addrspace(1)* %object, i32 %desired) [[attr]]
|
|
89 | 90 | ; CHECK-LLVM-20: call spir_func i32 @_Z25atomic_fetch_xor_explicitPU3AS4VU7_Atomicii12memory_order12memory_scope(i32 addrspace(4)* %dst.as9, i32 1, i32 5, i32 2) [[attr]]
|
90 | 91 | ; CHECK-LLVM-20: call spir_func i32 @_Z25atomic_fetch_and_explicitPU3AS4VU7_Atomicii12memory_order12memory_scope(i32 addrspace(4)* %dst.as10, i32 1, i32 5, i32 2) [[attr]]
|
91 | 92 | ; CHECK-LLVM-20: call spir_func i1 @_Z39atomic_compare_exchange_strong_explicitPU3AS4VU7_AtomiciPU3AS4ii12memory_orderS4_12memory_scope(i32 addrspace(4)* %dst.as11, i32 addrspace(4)* %expected12.as, i32 1, i32 5, i32 5, i32 2) [[attr]]
|
92 |
| -; CHECK-LLVM-20: call spir_func i32 @_Z24atomic_exchange_explicitPU3AS4VU7_Atomicii12memory_order12memory_scope(i32 addrspace(4)* %dst.as13, i32 1, i32 5, i32 2) [[attr]] |
| 93 | +; CHECK-LLVM-20: call spir_func i1 @_Z39atomic_compare_exchange_strong_explicitPU3AS4VU7_AtomiciPU3AS4ii12memory_orderS4_12memory_scope(i32 addrspace(4)* %dst.as13, i32 addrspace(4)* %expected14.as, i32 1, i32 5, i32 5, i32 2) [[attr]] |
| 94 | +; CHECK-LLVM-20: call spir_func i32 @_Z24atomic_exchange_explicitPU3AS4VU7_Atomicii12memory_order12memory_scope(i32 addrspace(4)* %dst.as15, i32 1, i32 5, i32 2) [[attr]] |
93 | 95 | ; CHECK-LLVM-20: call spir_func i32 @_Z20atomic_load_explicitPU3AS4VU7_Atomici12memory_order12memory_scope(i32 addrspace(4)* %object.as, i32 5, i32 2) [[attr]]
|
94 |
| -; CHECK-LLVM-20: call spir_func void @_Z21atomic_store_explicitPU3AS4VU7_Atomicii12memory_order12memory_scope(i32 addrspace(4)* %object.as14, i32 %desired, i32 5, i32 2) [[attr]] |
95 |
| -; CHECK-LLVM-20: call spir_func i1 @_Z33atomic_flag_test_and_set_explicitPU3AS4VU7_Atomici12memory_order12memory_scope(i32 addrspace(4)* %object.as15, i32 5, i32 2) [[attr]] |
96 |
| -; CHECK-LLVM-20: call spir_func void @_Z26atomic_flag_clear_explicitPU3AS4VU7_Atomici12memory_order12memory_scope(i32 addrspace(4)* %object.as16, i32 5, i32 2) [[attr]] |
| 96 | +; CHECK-LLVM-20: call spir_func void @_Z21atomic_store_explicitPU3AS4VU7_Atomicii12memory_order12memory_scope(i32 addrspace(4)* %object.as16, i32 %desired, i32 5, i32 2) [[attr]] |
| 97 | +; CHECK-LLVM-20: call spir_func i1 @_Z33atomic_flag_test_and_set_explicitPU3AS4VU7_Atomici12memory_order12memory_scope(i32 addrspace(4)* %object.as17, i32 5, i32 2) [[attr]] |
| 98 | +; CHECK-LLVM-20: call spir_func void @_Z26atomic_flag_clear_explicitPU3AS4VU7_Atomici12memory_order12memory_scope(i32 addrspace(4)* %object.as18, i32 5, i32 2) [[attr]] |
97 | 99 |
|
98 | 100 | ; RUN: llvm-spirv -r %t1.spv -o %t2.bc --spirv-target-env="SPV-IR"
|
99 | 101 | ; RUN: llvm-dis < %t2.bc | FileCheck %s --check-prefix=CHECK-LLVM-SPV-IR
|
|
0 commit comments