aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp')
-rw-r--r--llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp11
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;