[llvm] [SPIR-V] Add lowering for G_FEXP10 (PR #182466)
Juan Manuel Martinez CaamaƱo via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 20 03:49:30 PST 2026
================
@@ -1370,6 +1388,54 @@ bool SPIRVInstructionSelector::selectExtInst(Register ResVReg,
}
return false;
}
+
+bool SPIRVInstructionSelector::selectExtInstWithSrcs(
+ Register ResVReg, SPIRVTypeInst ResType, MachineInstr &I,
+ std::vector<Register> SrcRegs, GL::GLSLExtInst GLInst) const {
+ ExtInstList ExtInsts = {{SPIRV::InstructionSet::GLSL_std_450, GLInst}};
+ return selectExtInstWithSrcs(ResVReg, ResType, I, SrcRegs, ExtInsts);
+}
+
+bool SPIRVInstructionSelector::selectExtInstWithSrcs(
+ Register ResVReg, SPIRVTypeInst ResType, MachineInstr &I,
+ std::vector<Register> SrcRegs, CL::OpenCLExtInst CLInst) const {
+ ExtInstList ExtInsts = {{SPIRV::InstructionSet::OpenCL_std, CLInst}};
+ return selectExtInstWithSrcs(ResVReg, ResType, I, SrcRegs, ExtInsts);
+}
+
+bool SPIRVInstructionSelector::selectExtInstWithSrcs(
+ Register ResVReg, SPIRVTypeInst ResType, MachineInstr &I,
+ std::vector<Register> SrcRegs, CL::OpenCLExtInst CLInst,
+ GL::GLSLExtInst GLInst) const {
+ ExtInstList ExtInsts = {{SPIRV::InstructionSet::OpenCL_std, CLInst},
+ {SPIRV::InstructionSet::GLSL_std_450, GLInst}};
+ return selectExtInstWithSrcs(ResVReg, ResType, I, SrcRegs, ExtInsts);
+}
+
+bool SPIRVInstructionSelector::selectExtInstWithSrcs(
+ Register ResVReg, SPIRVTypeInst ResType, MachineInstr &I,
+ std::vector<Register> SrcRegs, const ExtInstList &Insts) const {
+ for (const auto &Ex : Insts) {
+ SPIRV::InstructionSet::InstructionSet Set = Ex.first;
+ if (STI.canUseExtInstSet(Set)) {
----------------
jmmartinez wrote:
Prefer using continue to reduce indentation.
```cpp
for() {
...
if(!STI.canUseExtInstSet(Set))
continue;
}
```
https://github.com/llvm/llvm-project/pull/182466
More information about the llvm-commits
mailing list