Lines Matching defs:spirv
19 using namespace mlir::spirv::AttrNames;
21 namespace mlir::spirv {
25 spirv::Scope scope =
27 ->getAttrOfType<spirv::ScopeAttr>(
30 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
60 // spirv.GroupBroadcast
64 spirv::Scope scope = getExecutionScope();
65 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
78 // spirv.GroupNonUniformBallotOp
82 spirv::Scope scope = getExecutionScope();
83 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
90 // spirv.GroupNonUniformBallotFindLSBOp
94 spirv::Scope scope = getExecutionScope();
95 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
102 // spirv.GroupNonUniformBallotFindLSBOp
106 spirv::Scope scope = getExecutionScope();
107 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
114 // spirv.GroupNonUniformBroadcast
118 spirv::Scope scope = getExecutionScope();
119 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
124 auto targetEnv = spirv::getDefaultTargetEnv(getContext());
125 if (auto spirvModule = (*this)->getParentOfType<spirv::ModuleOp>())
126 targetEnv = spirv::lookupTargetEnvOrDefault(spirvModule);
128 if (targetEnv.getVersion() < spirv::Version::V_1_5) {
130 if (!idOp || !isa<spirv::ConstantOp, // for normal constant
131 spirv::ReferenceOfOp>(idOp)) // for spec constant
139 // spirv.GroupNonUniformShuffle*
144 spirv::Scope scope = op.getExecutionScope();
145 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
168 // spirv.GroupNonUniformElectOp
172 spirv::Scope scope = getExecutionScope();
173 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
180 // spirv.GroupNonUniformFAddOp
188 // spirv.GroupNonUniformFMaxOp
196 // spirv.GroupNonUniformFMinOp
204 // spirv.GroupNonUniformFMulOp
212 // spirv.GroupNonUniformIAddOp
220 // spirv.GroupNonUniformIMulOp
228 // spirv.GroupNonUniformSMaxOp
236 // spirv.GroupNonUniformSMinOp
244 // spirv.GroupNonUniformUMaxOp
252 // spirv.GroupNonUniformUMinOp
260 // spirv.GroupNonUniformBitwiseAnd
268 // spirv.GroupNonUniformBitwiseOr
276 // spirv.GroupNonUniformBitwiseXor
284 // spirv.GroupNonUniformLogicalAnd
292 // spirv.GroupNonUniformLogicalOr
300 // spirv.GroupNonUniformLogicalXor
313 spirv::Scope scope = op.getExecutionScope();
314 if (scope != spirv::Scope::Workgroup && scope != spirv::Scope::Subgroup)
340 } // namespace mlir::spirv