[Mlir-commits] [mlir] d9b03ef - [mlir][StandardToSPIRV] Add support for lowering math.powf to SPIR-V.

Hanhan Wang llvmlistbot at llvm.org
Tue Apr 13 22:37:14 PDT 2021


Author: Hanhan Wang
Date: 2021-04-13T22:36:47-07:00
New Revision: d9b03ef2e899719bb6cbffa738b9c76d45f45cf5

URL: https://github.com/llvm/llvm-project/commit/d9b03ef2e899719bb6cbffa738b9c76d45f45cf5
DIFF: https://github.com/llvm/llvm-project/commit/d9b03ef2e899719bb6cbffa738b9c76d45f45cf5.diff

LOG: [mlir][StandardToSPIRV] Add support for lowering math.powf to SPIR-V.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D100403

Added: 
    

Modified: 
    mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
    mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp b/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
index 7dea6e87d1053..0196a21f4a699 100644
--- a/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
+++ b/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
@@ -1266,6 +1266,7 @@ void populateStandardToSPIRVPatterns(SPIRVTypeConverter &typeConverter,
       UnaryAndBinaryOpPattern<math::ExpOp, spirv::GLSLExpOp>,
       UnaryAndBinaryOpPattern<math::LogOp, spirv::GLSLLogOp>,
       UnaryAndBinaryOpPattern<math::RsqrtOp, spirv::GLSLInverseSqrtOp>,
+      UnaryAndBinaryOpPattern<math::PowFOp, spirv::GLSLPowOp>,
       UnaryAndBinaryOpPattern<math::SinOp, spirv::GLSLSinOp>,
       UnaryAndBinaryOpPattern<math::SqrtOp, spirv::GLSLSqrtOp>,
       UnaryAndBinaryOpPattern<math::TanhOp, spirv::GLSLTanhOp>,

diff  --git a/mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir b/mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
index 82157e0c99737..0148a0731dc9d 100644
--- a/mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
+++ b/mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
@@ -81,6 +81,8 @@ func @float32_binary_scalar(%lhs: f32, %rhs: f32) {
   %3 = divf %lhs, %rhs: f32
   // CHECK: spv.FRem %{{.*}}, %{{.*}}: f32
   %4 = remf %lhs, %rhs: f32
+  // CHECK: spv.GLSL.Pow %{{.*}}: f32
+  %5 = math.powf %lhs, %rhs : f32
   return
 }
 


        


More information about the Mlir-commits mailing list