[mlir][gpu] Add support for lowering math.erf to __nv_erf (#79848)
This commit is contained in:
parent
d9f1791a0a
commit
0039a2ff4f
@ -367,6 +367,7 @@ void mlir::populateGpuToNVVMConversionPatterns(LLVMTypeConverter &converter,
|
||||
populateOpPatterns<math::CeilOp>(converter, patterns, "__nv_ceilf",
|
||||
"__nv_ceil");
|
||||
populateOpPatterns<math::CosOp>(converter, patterns, "__nv_cosf", "__nv_cos");
|
||||
populateOpPatterns<math::ErfOp>(converter, patterns, "__nv_erff", "__nv_erf");
|
||||
populateOpPatterns<math::ExpOp>(converter, patterns, "__nv_expf", "__nv_exp");
|
||||
populateOpPatterns<math::Exp2Op>(converter, patterns, "__nv_exp2f",
|
||||
"__nv_exp2");
|
||||
|
@ -627,6 +627,19 @@ gpu.module @test_module_31 {
|
||||
}
|
||||
}
|
||||
|
||||
gpu.module @test_module_32 {
|
||||
// CHECK: llvm.func @__nv_erff(f32) -> f32
|
||||
// CHECK: llvm.func @__nv_erf(f64) -> f64
|
||||
// CHECK-LABEL: func @gpu_erf
|
||||
func.func @gpu_erf(%arg_f32 : f32, %arg_f64 : f64) -> (f32, f64) {
|
||||
%result32 = math.erf %arg_f32 : f32
|
||||
// CHECK: llvm.call @__nv_erff(%{{.*}}) : (f32) -> f32
|
||||
%result64 = math.erf %arg_f64 : f64
|
||||
// CHECK: llvm.call @__nv_erf(%{{.*}}) : (f64) -> f64
|
||||
func.return %result32, %result64 : f32, f64
|
||||
}
|
||||
}
|
||||
|
||||
gpu.module @gpumodule {
|
||||
// CHECK-LABEL: func @kernel_with_block_size()
|
||||
// CHECK: attributes {gpu.kernel, gpu.known_block_size = array<i32: 128, 1, 1>, nvvm.kernel, nvvm.maxntid = array<i32: 128, 1, 1>}
|
||||
|
Loading…
x
Reference in New Issue
Block a user