[Mlir-commits] [mlir] [mlir][SPIR-V] Convert math.atan2 to GL atan2 (PR #201928)
Arseniy Obolenskiy
llvmlistbot at llvm.org
Fri Jun 5 13:03:01 PDT 2026
https://github.com/aobolensk created https://github.com/llvm/llvm-project/pull/201928
None
>From bbcb89172a3aa2044321e37a0c34c0668bae2515 Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Fri, 5 Jun 2026 22:01:33 +0200
Subject: [PATCH] [mlir][SPIR-V] Convert math.atan2 to GL atan2
---
mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp | 1 +
.../Conversion/MathToSPIRV/math-to-gl-spirv.mlir | 14 ++++++++++++++
2 files changed, 15 insertions(+)
diff --git a/mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp b/mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
index 5353fb64fb443..533b85dbc7e96 100644
--- a/mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
+++ b/mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
@@ -619,6 +619,7 @@ void populateMathToSPIRVPatterns(const SPIRVTypeConverter &typeConverter,
CheckedElementwiseOpPattern<math::AbsFOp, spirv::GLFAbsOp>,
CheckedElementwiseOpPattern<math::AbsIOp, spirv::GLSAbsOp>,
CheckedElementwiseOpPattern<math::AtanOp, spirv::GLAtanOp>,
+ CheckedElementwiseOpPattern<math::Atan2Op, spirv::GLAtan2Op>,
CheckedElementwiseOpPattern<math::CeilOp, spirv::GLCeilOp>,
CheckedElementwiseOpPattern<math::ClampFOp, spirv::GLFClampOp>,
CheckedElementwiseOpPattern<math::CosOp, spirv::GLCosOp>,
diff --git a/mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir b/mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
index e7d7dec521999..b8d0b5dead3b4 100644
--- a/mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
+++ b/mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
@@ -139,6 +139,20 @@ func.func @float32_ternary_vector(%a: vector<4xf32>, %b: vector<4xf32>,
return
}
+// CHECK-LABEL: @float32_binary_scalar
+func.func @float32_binary_scalar(%lhs: f32, %rhs: f32) {
+ // CHECK: spirv.GL.Atan2 %{{.*}}, %{{.*}} : f32
+ %0 = math.atan2 %lhs, %rhs : f32
+ return
+}
+
+// CHECK-LABEL: @float32_binary_vector
+func.func @float32_binary_vector(%lhs: vector<3xf32>, %rhs: vector<3xf32>) {
+ // CHECK: spirv.GL.Atan2 %{{.*}}, %{{.*}} : vector<3xf32>
+ %0 = math.atan2 %lhs, %rhs : vector<3xf32>
+ return
+}
+
// CHECK-LABEL: @float32_clamp_scalar
func.func @float32_clamp_scalar(%value: f32, %min: f32, %max: f32) {
// CHECK: spirv.GL.FClamp %{{.*}}, %{{.*}}, %{{.*}} : f32
More information about the Mlir-commits
mailing list