[Mlir-commits] [mlir] 50143b8 - [mlir][SPIR-V] Add SPIRVToLLVM conversions for CL copysign and fmod ops (#205993)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Jul 10 02:52:52 PDT 2026
Author: Arseniy Obolenskiy
Date: 2026-07-10T11:52:48+02:00
New Revision: 50143b877dffdb9016e50fb541806eb59c261b10
URL: https://github.com/llvm/llvm-project/commit/50143b877dffdb9016e50fb541806eb59c261b10
DIFF: https://github.com/llvm/llvm-project/commit/50143b877dffdb9016e50fb541806eb59c261b10.diff
LOG: [mlir][SPIR-V] Add SPIRVToLLVM conversions for CL copysign and fmod ops (#205993)
Added:
Modified:
mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
Removed:
################################################################################
diff --git a/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp b/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
index fdde3352c040b..0822c44c10f1d 100644
--- a/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+++ b/mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
@@ -2085,6 +2085,8 @@ void mlir::populateSPIRVToLLVMConversionPatterns(
DirectConversionPattern<spirv::CLAtan2Op, LLVM::ATan2Op>,
DirectConversionPattern<spirv::CLSqrtOp, LLVM::SqrtOp>,
DirectConversionPattern<spirv::CLTruncOp, LLVM::FTruncOp>,
+ DirectConversionPattern<spirv::CLCopysignOp, LLVM::CopySignOp>,
+ DirectConversionPattern<spirv::CLFmodOp, LLVM::FRemOp>,
DirectConversionPattern<spirv::CLSMaxOp, LLVM::SMaxOp>,
DirectConversionPattern<spirv::CLSMinOp, LLVM::SMinOp>,
DirectConversionPattern<spirv::CLUMaxOp, LLVM::UMaxOp>,
diff --git a/mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir b/mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
index a986be42a5437..e6fed930268d4 100644
--- a/mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
+++ b/mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
@@ -69,6 +69,10 @@ spirv.func @cl_binary_float(%arg0: f32, %arg1: f32) "None" {
%2 = spirv.CL.fmax %arg0, %arg1 : f32
// CHECK: llvm.intr.minnum(%{{.*}}, %{{.*}}) : (f32, f32) -> f32
%3 = spirv.CL.fmin %arg0, %arg1 : f32
+ // CHECK: llvm.intr.copysign(%{{.*}}, %{{.*}}) : (f32, f32) -> f32
+ %4 = spirv.CL.copysign %arg0, %arg1 : f32
+ // CHECK: llvm.frem %{{.*}}, %{{.*}} : f32
+ %5 = spirv.CL.fmod %arg0, %arg1 : f32
spirv.Return
}
More information about the Mlir-commits
mailing list