diff options
Diffstat (limited to 'llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp')
-rw-r--r-- | llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp index 8ba163e..b1e5e43 100644 --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp @@ -1799,6 +1799,17 @@ void addInstrRequirements(const MachineInstr &MI, Reqs.addCapability(SPIRV::Capability::LongCompositesINTEL); break; } + case SPIRV::OpBitwiseFunctionINTEL: { + if (!ST.canUseExtension( + SPIRV::Extension::SPV_INTEL_ternary_bitwise_function)) + report_fatal_error( + "OpBitwiseFunctionINTEL instruction requires the following SPIR-V " + "extension: SPV_INTEL_ternary_bitwise_function", + false); + Reqs.addExtension(SPIRV::Extension::SPV_INTEL_ternary_bitwise_function); + Reqs.addCapability(SPIRV::Capability::TernaryBitwiseFunctionINTEL); + break; + } default: break; |