Lines Matching full:capability
38 static cl::list<SPIRV::Capability::Capability>
43 cl::values(clEnumValN(SPIRV::Capability::Shader, "Shader",
44 "SPIR-V Shader capability")));
47 SmallSet<SPIRV::Capability::Capability, 4> S;
102 // capability needs to be declared to use the feature." However, one in getSymbolicOperandRequirements()
103 // capability may be preferred over another. We use command line in getSymbolicOperandRequirements()
118 // capability requirements, use the list of extensions (if the subtarget in getSymbolicOperandRequirements()
305 auto Cap = SPIRV::Capability::Capability(MI.getOperand(0).getImm()); in processDefInstrs()
575 LLVM_DEBUG(dbgs() << "Capability not supported: " in checkSatisfiable()
605 const Capability::Capability ToRemove, in removeCapabilityIf()
606 const Capability::Capability IfPresent) { in removeCapabilityIf()
630 addAvailableCaps({Capability::Addresses, Capability::Float16Buffer, in initAvailableCapabilitiesForOpenCL()
631 Capability::Int16, Capability::Int8, Capability::Kernel, in initAvailableCapabilitiesForOpenCL()
632 Capability::Linkage, Capability::Vector16, in initAvailableCapabilitiesForOpenCL()
633 Capability::Groups, Capability::GenericPointer, in initAvailableCapabilitiesForOpenCL()
634 Capability::Shader}); in initAvailableCapabilitiesForOpenCL()
636 addAvailableCaps({Capability::Int64, Capability::Int64Atomics}); in initAvailableCapabilitiesForOpenCL()
638 addAvailableCaps({Capability::ImageBasic, Capability::LiteralSampler, in initAvailableCapabilitiesForOpenCL()
639 Capability::Image1D, Capability::SampledBuffer, in initAvailableCapabilitiesForOpenCL()
640 Capability::ImageBuffer}); in initAvailableCapabilitiesForOpenCL()
642 addAvailableCaps({Capability::ImageReadWrite}); in initAvailableCapabilitiesForOpenCL()
646 addAvailableCaps({Capability::SubgroupDispatch, Capability::PipeStorage}); in initAvailableCapabilitiesForOpenCL()
648 addAvailableCaps({Capability::GroupNonUniform, in initAvailableCapabilitiesForOpenCL()
649 Capability::GroupNonUniformVote, in initAvailableCapabilitiesForOpenCL()
650 Capability::GroupNonUniformArithmetic, in initAvailableCapabilitiesForOpenCL()
651 Capability::GroupNonUniformBallot, in initAvailableCapabilitiesForOpenCL()
652 Capability::GroupNonUniformClustered, in initAvailableCapabilitiesForOpenCL()
653 Capability::GroupNonUniformShuffle, in initAvailableCapabilitiesForOpenCL()
654 Capability::GroupNonUniformShuffleRelative}); in initAvailableCapabilitiesForOpenCL()
656 addAvailableCaps({Capability::DenormPreserve, Capability::DenormFlushToZero, in initAvailableCapabilitiesForOpenCL()
657 Capability::SignedZeroInfNanPreserve, in initAvailableCapabilitiesForOpenCL()
658 Capability::RoundingModeRTE, in initAvailableCapabilitiesForOpenCL()
659 Capability::RoundingModeRTZ}); in initAvailableCapabilitiesForOpenCL()
661 addAvailableCaps({Capability::Float16, Capability::Float64}); in initAvailableCapabilitiesForOpenCL()
675 addAvailableCaps({Capability::Shader, Capability::Linkage}); in initAvailableCapabilitiesForVulkan()
678 addAvailableCaps({Capability::Int16, Capability::Int64, Capability::Float16, in initAvailableCapabilitiesForVulkan()
679 Capability::Float64, Capability::GroupNonUniform}); in initAvailableCapabilitiesForVulkan()
737 Reqs.addRequirements(NoSampler ? SPIRV::Capability::Image1D in addOpTypeImageReqs()
738 : SPIRV::Capability::Sampled1D); in addOpTypeImageReqs()
742 Reqs.addRequirements(SPIRV::Capability::ImageMSArray); in addOpTypeImageReqs()
745 Reqs.addRequirements(SPIRV::Capability::Shader); in addOpTypeImageReqs()
747 Reqs.addRequirements(NoSampler ? SPIRV::Capability::ImageCubeArray in addOpTypeImageReqs()
748 : SPIRV::Capability::SampledCubeArray); in addOpTypeImageReqs()
751 Reqs.addRequirements(NoSampler ? SPIRV::Capability::ImageRect in addOpTypeImageReqs()
752 : SPIRV::Capability::SampledRect); in addOpTypeImageReqs()
755 Reqs.addRequirements(NoSampler ? SPIRV::Capability::ImageBuffer in addOpTypeImageReqs()
756 : SPIRV::Capability::SampledBuffer); in addOpTypeImageReqs()
759 Reqs.addRequirements(SPIRV::Capability::InputAttachment); in addOpTypeImageReqs()
767 Reqs.addRequirements(SPIRV::Capability::ImageReadWrite); in addOpTypeImageReqs()
769 Reqs.addRequirements(SPIRV::Capability::ImageBasic); in addOpTypeImageReqs()
799 Reqs.addCapability(SPIRV::Capability::AtomicFloat16AddEXT); in AddAtomicFloatRequirements()
802 Reqs.addCapability(SPIRV::Capability::AtomicFloat32AddEXT); in AddAtomicFloatRequirements()
805 Reqs.addCapability(SPIRV::Capability::AtomicFloat64AddEXT); in AddAtomicFloatRequirements()
818 Reqs.addCapability(SPIRV::Capability::AtomicFloat16MinMaxEXT); in AddAtomicFloatRequirements()
821 Reqs.addCapability(SPIRV::Capability::AtomicFloat32MinMaxEXT); in AddAtomicFloatRequirements()
824 Reqs.addCapability(SPIRV::Capability::AtomicFloat64MinMaxEXT); in AddAtomicFloatRequirements()
860 Reqs.addCapability(SPIRV::Capability::Matrix); in addInstrRequirements()
865 Reqs.addCapability(SPIRV::Capability::Int64); in addInstrRequirements()
867 Reqs.addCapability(SPIRV::Capability::Int16); in addInstrRequirements()
869 Reqs.addCapability(SPIRV::Capability::Int8); in addInstrRequirements()
875 Reqs.addCapability(SPIRV::Capability::Float64); in addInstrRequirements()
877 Reqs.addCapability(SPIRV::Capability::Float16); in addInstrRequirements()
883 Reqs.addCapability(SPIRV::Capability::Vector16); in addInstrRequirements()
891 // capability. in addInstrRequirements()
899 Reqs.addCapability(SPIRV::Capability::Float16Buffer); in addInstrRequirements()
907 Reqs.addCapability(SPIRV::Capability::Shader); in addInstrRequirements()
911 Reqs.addCapability(SPIRV::Capability::BitInstructions); in addInstrRequirements()
914 Reqs.addCapability(SPIRV::Capability::Shader); in addInstrRequirements()
918 Reqs.addCapability(SPIRV::Capability::Kernel); in addInstrRequirements()
922 Reqs.addCapability(SPIRV::Capability::Pipes); in addInstrRequirements()
927 Reqs.addCapability(SPIRV::Capability::DeviceEnqueue); in addInstrRequirements()
939 Reqs.addCapability(SPIRV::Capability::Addresses); in addInstrRequirements()
942 Reqs.addCapability(SPIRV::Capability::LiteralSampler); in addInstrRequirements()
948 Reqs.addCapability(SPIRV::Capability::ImageBasic); in addInstrRequirements()
952 Reqs.addCapability(SPIRV::Capability::Addresses); in addInstrRequirements()
983 Reqs.addCapability(SPIRV::Capability::Int64Atomics); in addInstrRequirements()
1009 Reqs.addCapability(SPIRV::Capability::Kernel); in addInstrRequirements()
1010 Reqs.addCapability(SPIRV::Capability::GroupNonUniformArithmetic); in addInstrRequirements()
1011 Reqs.addCapability(SPIRV::Capability::GroupNonUniformBallot); in addInstrRequirements()
1014 Reqs.addCapability(SPIRV::Capability::GroupNonUniformClustered); in addInstrRequirements()
1019 Reqs.addCapability(SPIRV::Capability::GroupNonUniformPartitionedNV); in addInstrRequirements()
1026 Reqs.addCapability(SPIRV::Capability::GroupNonUniformShuffle); in addInstrRequirements()
1030 Reqs.addCapability(SPIRV::Capability::GroupNonUniformShuffleRelative); in addInstrRequirements()
1043 Reqs.addCapability(SPIRV::Capability::Groups); in addInstrRequirements()
1046 Reqs.addCapability(SPIRV::Capability::GroupNonUniform); in addInstrRequirements()
1051 Reqs.addCapability(SPIRV::Capability::GroupNonUniformVote); in addInstrRequirements()
1061 Reqs.addCapability(SPIRV::Capability::GroupNonUniformBallot); in addInstrRequirements()
1069 Reqs.addCapability(SPIRV::Capability::SubgroupShuffleINTEL); in addInstrRequirements()
1076 Reqs.addCapability(SPIRV::Capability::SubgroupBufferBlockIOINTEL); in addInstrRequirements()
1083 Reqs.addCapability(SPIRV::Capability::SubgroupImageBlockIOINTEL); in addInstrRequirements()
1090 Reqs.addCapability(SPIRV::Capability::ExpectAssumeKHR); in addInstrRequirements()
1097 Reqs.addCapability(SPIRV::Capability::USMStorageClassesINTEL); in addInstrRequirements()
1103 Reqs.addCapability(SPIRV::Capability::FunctionPointersINTEL); in addInstrRequirements()
1112 Reqs.addCapability(SPIRV::Capability::GroupNonUniformRotateKHR); in addInstrRequirements()
1113 Reqs.addCapability(SPIRV::Capability::GroupNonUniform); in addInstrRequirements()
1126 Reqs.addCapability(SPIRV::Capability::GroupUniformArithmeticKHR); in addInstrRequirements()
1135 Reqs.addCapability(SPIRV::Capability::ShaderClockKHR); in addInstrRequirements()
1140 Reqs.addCapability(SPIRV::Capability::FunctionPointersINTEL); in addInstrRequirements()
1152 Reqs.addCapability(SPIRV::Capability::BFloat16ConversionINTEL); in addInstrRequirements()
1160 Reqs.addCapability(SPIRV::Capability::VariableLengthArrayINTEL); in addInstrRequirements()
1168 Reqs.addCapability(SPIRV::Capability::AsmINTEL); in addInstrRequirements()
1178 Reqs.addCapability(SPIRV::Capability::CooperativeMatrixKHR); in addInstrRequirements()
1184 // If we require capability Shader, then we can remove the requirement for in addInstrRequirements()
1185 // the BitInstructions capability, since Shader is a superset capability in addInstrRequirements()
1187 Reqs.removeCapabilityIf(SPIRV::Capability::BitInstructions, in addInstrRequirements()
1188 SPIRV::Capability::Shader); in addInstrRequirements()
1264 MAI.Reqs.addCapability(SPIRV::Capability::OptNoneINTEL); in collectReqs()
1361 // If there are no entry points, we need the Linkage capability. in runOnModule()
1363 MAI.Reqs.addCapability(SPIRV::Capability::Linkage); in runOnModule()