| /llvm-project-15.0.7/mlir/test/Target/SPIRV/ |
| H A D | atomic-ops.mlir | 10 // CHECK: spv.AtomicIAdd "Workgroup" "Acquire" %{{.*}}, %{{.*}} : !spv.ptr<i32, Workgroup> 11 %2 = spv.AtomicIAdd "Workgroup" "Acquire" %ptr, %value : !spv.ptr<i32, Workgroup> 12 // CHECK: spv.AtomicIDecrement "Workgroup" "Acquire" %{{.*}} : !spv.ptr<i32, Workgroup> 13 %3 = spv.AtomicIDecrement "Workgroup" "Acquire" %ptr : !spv.ptr<i32, Workgroup> 16 // CHECK: spv.AtomicISub "Workgroup" "Acquire" %{{.*}}, %{{.*}} : !spv.ptr<i32, Workgroup> 17 %5 = spv.AtomicISub "Workgroup" "Acquire" %ptr, %value : !spv.ptr<i32, Workgroup> 18 // CHECK: spv.AtomicOr "Workgroup" "AcquireRelease" %{{.*}}, %{{.*}} : !spv.ptr<i32, Workgroup> 19 %6 = spv.AtomicOr "Workgroup" "AcquireRelease" %ptr, %value : !spv.ptr<i32, Workgroup> 29 %11 = spv.AtomicXor "Workgroup" "AcquireRelease" %ptr, %value : !spv.ptr<i32, Workgroup> 33 %13 = spv.AtomicExchange "Workgroup" "Release" %ptr, %value: !spv.ptr<i32, Workgroup> [all …]
|
| H A D | non-uniform-ops.mlir | 7 %0 = spv.GroupNonUniformBallot Workgroup %predicate : vector<4xi32> 21 // CHECK: %{{.+}} = spv.GroupNonUniformElect Workgroup : i1 22 %0 = spv.GroupNonUniformElect Workgroup : i1 29 %0 = spv.GroupNonUniformFAdd "Workgroup" "Reduce" %val : f32 36 %0 = spv.GroupNonUniformFMax "Workgroup" "Reduce" %val : f32 43 %0 = spv.GroupNonUniformFMin "Workgroup" "Reduce" %val : f32 50 %0 = spv.GroupNonUniformFMul "Workgroup" "Reduce" %val : f32 57 %0 = spv.GroupNonUniformIAdd "Workgroup" "Reduce" %val : i32 72 %0 = spv.GroupNonUniformIMul "Workgroup" "Reduce" %val : i32 79 %0 = spv.GroupNonUniformSMax "Workgroup" "Reduce" %val : i32 [all …]
|
| H A D | barrier-ops.mlir | 15 // CHECK: spv.ControlBarrier Device, Workgroup, "Release|UniformMemory" 16 spv.ControlBarrier Device, Workgroup, "Release|UniformMemory" 20 // CHECK: spv.ControlBarrier Workgroup, Invocation, "AcquireRelease|UniformMemory" 21 spv.ControlBarrier Workgroup, Invocation, "AcquireRelease|UniformMemory"
|
| H A D | group-ops.mlir | 12 // CHECK: spv.GroupBroadcast Workgroup %{{.*}}, %{{.*}} : f32, i32 13 %0 = spv.GroupBroadcast Workgroup %value, %localid : f32, i32 18 // CHECK: spv.GroupBroadcast Workgroup %{{.*}}, %{{.*}} : f32, vector<3xi32> 19 %0 = spv.GroupBroadcast Workgroup %value, %localid : f32, vector<3xi32>
|
| H A D | cooperative-matrix-ops.mlir | 6 …NV {{%.*}}, {{%.*}}, {{%.*}} : !spv.ptr<i32, StorageBuffer> as !spv.coopmatrix<16x8xi32, Workgroup> 7 …trixLoadNV %ptr, %stride, %b : !spv.ptr<i32, StorageBuffer> as !spv.coopmatrix<16x8xi32, Workgroup> 19 ….ptr<i32, StorageBuffer>, %stride : i32, %m : !spv.coopmatrix<16x8xi32, Workgroup>, %b : i1) "None… 20 …reNV {{%.*}}, {{%.*}}, {{%.*}} : !spv.ptr<i32, StorageBuffer>, !spv.coopmatrix<16x8xi32, Workgroup> 21 …xStoreNV %ptr, %m, %stride, %b : !spv.ptr<i32, StorageBuffer>, !spv.coopmatrix<16x8xi32, Workgroup>
|
| H A D | debug.mlir | 14 spv.func @atomic(%ptr: !spv.ptr<i32, Workgroup>, %value: i32, %comparator: i32) "None" { 16 %1 = spv.AtomicAnd "Device" "None" %ptr, %value : !spv.ptr<i32, Workgroup> 42 %0 = spv.GroupNonUniformFAdd "Workgroup" "Reduce" %val : f32
|
| /llvm-project-15.0.7/mlir/test/Dialect/SPIRV/IR/ |
| H A D | non-uniform-ops.mlir | 9 %0 = spv.GroupNonUniformBallot Workgroup %predicate : vector<4xi32> 76 // CHECK: %{{.+}} = spv.GroupNonUniformElect Workgroup : i1 77 %0 = spv.GroupNonUniformElect Workgroup : i1 98 %0 = spv.GroupNonUniformFAdd "Workgroup" "Reduce" %val : f32 117 %0 = spv.GroupNonUniformFMul "Workgroup" "Reduce" %val : f32 138 %0 = spv.GroupNonUniformFMax "Workgroup" "Reduce" %val : f32 151 %0 = spv.GroupNonUniformFMin "Workgroup" "Reduce" %val : f32 164 %0 = spv.GroupNonUniformIAdd "Workgroup" "Reduce" %val : i32 218 %0 = spv.GroupNonUniformIMul "Workgroup" "Reduce" %val : i32 239 %0 = spv.GroupNonUniformSMax "Workgroup" "Reduce" %val : i32 [all …]
|
| H A D | atomic-ops.mlir | 45 … CHECK: spv.AtomicCompareExchange "Workgroup" "Release" "Acquire" %{{.*}}, %{{.*}}, %{{.*}} : !spv… 46 …%0 = spv.AtomicCompareExchange "Workgroup" "Release" "Acquire" %ptr, %value, %comparator: !spv.ptr… 81 …CK: spv.AtomicCompareExchangeWeak "Workgroup" "Release" "Acquire" %{{.*}}, %{{.*}}, %{{.*}} : !spv… 82 …%0 = spv.AtomicCompareExchangeWeak "Workgroup" "Release" "Acquire" %ptr, %value, %comparator: !spv… 116 func.func @atomic_exchange(%ptr: !spv.ptr<i32, Workgroup>, %value: i32) -> i32 { 117 // CHECK: spv.AtomicExchange "Workgroup" "Release" %{{.*}}, %{{.*}} : !spv.ptr<i32, Workgroup> 118 %0 = spv.AtomicExchange "Workgroup" "Release" %ptr, %value: !spv.ptr<i32, Workgroup> 124 func.func @atomic_exchange(%ptr: !spv.ptr<i32, Workgroup>, %value: i64) -> i32 { 132 func.func @atomic_exchange(%ptr: !spv.ptr<i64, Workgroup>, %value: i32) -> i32 { 156 %0 = spv.AtomicIDecrement "Workgroup" "None" %ptr : !spv.ptr<i32, StorageBuffer> [all …]
|
| H A D | barrier-ops.mlir | 8 // CHECK: spv.ControlBarrier Workgroup, Device, "Acquire|UniformMemory" 9 spv.ControlBarrier Workgroup, Device, "Acquire|UniformMemory" 37 // CHECK: spv.MemoryBarrier Workgroup, Acquire 38 spv.MemoryBarrier Workgroup, Acquire
|
| H A D | target-env.mlir | 37 func.func @cmp_exchange_weak_suitable_version_capabilities(%ptr: !spv.ptr<i32, Workgroup>, %value: … 40 // CHECK: spv.AtomicCompareExchangeWeak "Workgroup" "AcquireRelease|AtomicCounterMemory" "Acquire" 41 …ic_compare_exchange_weak_op"(%ptr, %value, %comparator): (!spv.ptr<i32, Workgroup>, i32, i32) -> (… 46 func.func @cmp_exchange_weak_unsupported_version(%ptr: !spv.ptr<i32, Workgroup>, %value: i32, %comp… 50 …ic_compare_exchange_weak_op"(%ptr, %value, %comparator): (!spv.ptr<i32, Workgroup>, i32, i32) -> (… 62 // CHECK: spv.GroupNonUniformBallot Workgroup 81 func.func @cmp_exchange_weak_missing_capability_kernel(%ptr: !spv.ptr<i32, Workgroup>, %value: i32,… 85 …ic_compare_exchange_weak_op"(%ptr, %value, %comparator): (!spv.ptr<i32, Workgroup>, i32, i32) -> (… 90 func.func @cmp_exchange_weak_missing_capability_atomic_storage(%ptr: !spv.ptr<i32, Workgroup>, %val… 94 …ic_compare_exchange_weak_op"(%ptr, %value, %comparator): (!spv.ptr<i32, Workgroup>, i32, i32) -> (…
|
| H A D | availability.mlir | 14 func.func @atomic_compare_exchange_weak(%ptr: !spv.ptr<i32, Workgroup>, %value: i32, %comparator: i… 19 …%0 = spv.AtomicCompareExchangeWeak "Workgroup" "Release" "Acquire" %ptr, %value, %comparator: !spv… 29 %0 = spv.GroupNonUniformBallot Workgroup %predicate : vector<4xi32>
|
| H A D | group-ops.mlir | 20 // CHECK: spv.GroupBroadcast Workgroup %{{.*}}, %{{.*}} : f32, i32 21 %0 = spv.GroupBroadcast Workgroup %value, %localid : f32, i32 28 // CHECK: spv.GroupBroadcast Workgroup %{{.*}}, %{{.*}} : f32, vector<3xi32> 29 %0 = spv.GroupBroadcast Workgroup %value, %localid : f32, vector<3xi32> 44 // expected-error @+1 {{execution scope must be 'Workgroup' or 'Subgroup'}}
|
| H A D | cooperative-matrix-ops.mlir | 5 …NV {{%.*}}, {{%.*}}, {{%.*}} : !spv.ptr<i32, StorageBuffer> as !spv.coopmatrix<16x8xi32, Workgroup> 6 …trixLoadNV %ptr, %stride, %b : !spv.ptr<i32, StorageBuffer> as !spv.coopmatrix<16x8xi32, Workgroup> 26 ….ptr<i32, StorageBuffer>, %stride : i32, %m : !spv.coopmatrix<8x16xi32, Workgroup>, %b : i1) "None… 27 …reNV {{%.*}}, {{%.*}}, {{%.*}} : !spv.ptr<i32, StorageBuffer>, !spv.coopmatrix<8x16xi32, Workgroup> 28 …xStoreNV %ptr, %m, %stride, %b : !spv.ptr<i32, StorageBuffer>, !spv.coopmatrix<8x16xi32, Workgroup> 130 …a : !spv.coopmatrix<8x16xi32, Subgroup>, %b : !spv.coopmatrix<16x8xi32, Workgroup>, %c : !spv.coop… 132 …%b, %c : !spv.coopmatrix<8x16xi32, Subgroup>, !spv.coopmatrix<16x8xi32, Workgroup> -> !spv.coopmat… 155 …// expected-error @+1 {{Pointer storage class must be Workgroup, StorageBuffer or PhysicalStorageB…
|
| /llvm-project-15.0.7/mlir/test/Conversion/MemRefToSPIRV/ |
| H A D | alloc.mlir | 16 … CHECK: spv.GlobalVariable @[[VAR:.+]] : !spv.ptr<!spv.struct<(!spv.array<20 x f32>)>, Workgroup> 21 // CHECK: %[[VAL:.+]] = spv.Load "Workgroup" %[[LOADPTR]] : f32 23 // CHECK: spv.Store "Workgroup" %[[STOREPTR]], %[[VAL]] : f32 43 // CHECK-SAME: !spv.ptr<!spv.struct<(!spv.array<10 x i32>)>, Workgroup> 48 // CHECK: %{{.+}} = spv.Load "Workgroup" %[[PTR]] : i32 51 … CHECK: %{{.+}} = spv.AtomicAnd "Workgroup" "AcquireRelease" %[[PTR]], %{{.+}} : !spv.ptr<… 52 …/ CHECK: %{{.+}} = spv.AtomicOr "Workgroup" "AcquireRelease" %[[PTR]], %{{.+}} : !spv.ptr<… 70 // CHECK-SAME: !spv.ptr<!spv.struct<(!spv.array<6 x i32>)>, Workgroup> 72 // CHECK-SAME: !spv.ptr<!spv.struct<(!spv.array<20 x f32>)>, Workgroup> 90 // CHECK-SAME: !spv.ptr<!spv.struct<(!spv.array<2 x vector<2xi32>>)>, Workgroup> [all …]
|
| /llvm-project-15.0.7/mlir/include/mlir/Dialect/SPIRV/IR/ |
| H A D | SPIRVNonUniformOps.td | 59 scope ::= `"Workgroup"` | `"Subgroup"` 120 scope ::= `"Workgroup"` | `"Subgroup"` 179 scope ::= `"Workgroup"` | `"Subgroup"` 238 scope ::= `"Workgroup"` | `"Subgroup"` 298 scope ::= `"Workgroup"` | `"Subgroup"` 358 scope ::= `"Workgroup"` | `"Subgroup"` 415 scope ::= `"Workgroup"` | `"Subgroup"` 470 scope ::= `"Workgroup"` | `"Subgroup"` 525 scope ::= `"Workgroup"` | `"Subgroup"` 582 scope ::= `"Workgroup"` | `"Subgroup"` [all …]
|
| H A D | SPIRVBarrierOps.td | 31 When Execution is Workgroup or larger, behavior is undefined if this 57 scope ::= `"CrossDevice"` | `"Device"` | `"Workgroup"` | ... 67 spv.ControlBarrier "Workgroup", "Device", "Acquire|UniformMemory" 110 scope ::= `"CrossDevice"` | `"Device"` | `"Workgroup"` | ...
|
| H A D | SPIRVCooperativeMatrixOps.td | 74 be Workgroup, StorageBuffer, or (if SPV_EXT_physical_storage_buffer is 114 : !spv.ptr<i32, StorageBuffer> as !spv.coopmatrix<i32, Workgroup, 16, 8> 221 be Workgroup, StorageBuffer, or (if SPV_EXT_physical_storage_buffer is 250 !spv.ptr<i32, StorageBuffer>, !spv.coopmatrix<Workgroup, i32, 16, 8>
|
| H A D | SPIRVGroupOps.td | 37 Execution must be Workgroup or Subgroup Scope. 48 scope ::= `"Workgroup"` | `"Subgroup"` 66 %1 = spv.GroupBroadcast "Workgroup" %vector_value, %vector_localid :
|
| /llvm-project-15.0.7/clang/include/clang/Basic/ |
| H A D | SyncScope.h | 165 Workgroup = 3, enumerator 179 case Workgroup: in map() 198 static_cast<unsigned>(Workgroup), static_cast<unsigned>(Agent), in getRuntimeValues()
|
| /llvm-project-15.0.7/llvm/test/CodeGen/SPIRV/constant/ |
| H A D | global-constants.ll | 26 ; CHECK-DAG: [[PTR_TO_INT_AS3:%.+]] = OpTypePointer Workgroup [[INT]] 34 ; CHECK-DAG: [[GV3:%.+]] = OpVariable [[PTR_TO_INT_AS3]] Workgroup [[CST_AS3]]
|
| H A D | local-null-constants.ll | 26 ; CHECK-DAG: [[PTR_AS3:%.+]] = OpTypePointer Workgroup [[INT]]
|
| /llvm-project-15.0.7/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVUtils.cpp | 145 case SPIRV::StorageClass::Workgroup: in storageClassToAddressSpace() 165 return SPIRV::StorageClass::Workgroup; in addressSpaceToStorageClass() 180 case SPIRV::StorageClass::Workgroup: in getMemSemanticsForStorageClass()
|
| /llvm-project-15.0.7/mlir/test/lib/Dialect/SPIRV/ |
| H A D | TestAvailability.cpp | 187 op, value.getType(), ptr, spirv::Scope::Workgroup, in matchAndRewrite() 218 op, op->getResult(0).getType(), spirv::Scope::Workgroup, predicate); in matchAndRewrite()
|
| /llvm-project-15.0.7/llvm/test/CodeGen/SPIRV/transcoding/ |
| H A D | DecorationMaxByteOffset.ll | 8 ; CHECK-SPIRV: %[[#CHAR_PTR_T:]] = OpTypePointer Workgroup %[[#CHAR_T]]
|
| /llvm-project-15.0.7/mlir/test/Conversion/GPUToSPIRV/ |
| H A D | simple.mlir | 115 // CHECK: spv.ControlBarrier Workgroup, Workgroup, "AcquireRelease|WorkgroupMemory"
|