diff --git a/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp b/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp --- a/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp +++ b/mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp @@ -50,16 +50,16 @@ GPUIndexIntrinsicOpLowering>( converter); - patterns.insert>(converter, "_ocml_fabs_f32", - "_ocml_fabs_f64"); - patterns.insert>(converter, "_ocml_ceil_f32", - "_ocml_ceil_f64"); - patterns.insert>(converter, "_ocml_cos_f32", - "_ocml_cos_f64"); - patterns.insert>(converter, "_ocml_exp_f32", - "_ocml_exp_f64"); - patterns.insert>(converter, "_ocml_tanh_f32", - "_ocml_tanh_f64"); + patterns.insert>(converter, "__ocml_fabs_f32", + "__ocml_fabs_f64"); + patterns.insert>(converter, "__ocml_ceil_f32", + "__ocml_ceil_f64"); + patterns.insert>(converter, "__ocml_cos_f32", + "__ocml_cos_f64"); + patterns.insert>(converter, "__ocml_exp_f32", + "__ocml_exp_f64"); + patterns.insert>(converter, "__ocml_tanh_f32", + "__ocml_tanh_f64"); ConversionTarget target(getContext()); target.addLegalDialect(); diff --git a/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir b/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir --- a/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir +++ b/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir @@ -39,14 +39,14 @@ // ----- gpu.module @kernel_module { - // CHECK: llvm.func @_ocml_fabs_f32(!llvm.float) -> !llvm.float - // CHECK: llvm.func @_ocml_fabs_f64(!llvm.double) -> !llvm.double + // CHECK: llvm.func @__ocml_fabs_f32(!llvm.float) -> !llvm.float + // CHECK: llvm.func @__ocml_fabs_f64(!llvm.double) -> !llvm.double // CHECK-LABEL: func @gpu_fabs func @gpu_fabs(%arg_f32 : f32, %arg_f64 : f64) { %result32 = std.absf %arg_f32 : f32 - // CHECK: llvm.call @_ocml_fabs_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_fabs_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result64 = std.absf %arg_f64 : f64 - // CHECK: llvm.call @_ocml_fabs_f64(%{{.*}}) : (!llvm.double) -> !llvm.double + // CHECK: llvm.call @__ocml_fabs_f64(%{{.*}}) : (!llvm.double) -> !llvm.double std.return } } @@ -54,14 +54,14 @@ // ----- gpu.module @kernel_module { - // CHECK: llvm.func @_ocml_ceil_f32(!llvm.float) -> !llvm.float - // CHECK: llvm.func @_ocml_ceil_f64(!llvm.double) -> !llvm.double + // CHECK: llvm.func @__ocml_ceil_f32(!llvm.float) -> !llvm.float + // CHECK: llvm.func @__ocml_ceil_f64(!llvm.double) -> !llvm.double // CHECK-LABEL: func @gpu_ceil func @gpu_ceil(%arg_f32 : f32, %arg_f64 : f64) { %result32 = std.ceilf %arg_f32 : f32 - // CHECK: llvm.call @_ocml_ceil_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_ceil_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result64 = std.ceilf %arg_f64 : f64 - // CHECK: llvm.call @_ocml_ceil_f64(%{{.*}}) : (!llvm.double) -> !llvm.double + // CHECK: llvm.call @__ocml_ceil_f64(%{{.*}}) : (!llvm.double) -> !llvm.double std.return } } @@ -69,14 +69,14 @@ // ----- gpu.module @kernel_module { - // CHECK: llvm.func @_ocml_cos_f32(!llvm.float) -> !llvm.float - // CHECK: llvm.func @_ocml_cos_f64(!llvm.double) -> !llvm.double + // CHECK: llvm.func @__ocml_cos_f32(!llvm.float) -> !llvm.float + // CHECK: llvm.func @__ocml_cos_f64(!llvm.double) -> !llvm.double // CHECK-LABEL: func @gpu_cos func @gpu_cos(%arg_f32 : f32, %arg_f64 : f64) { %result32 = std.cos %arg_f32 : f32 - // CHECK: llvm.call @_ocml_cos_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_cos_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result64 = std.cos %arg_f64 : f64 - // CHECK: llvm.call @_ocml_cos_f64(%{{.*}}) : (!llvm.double) -> !llvm.double + // CHECK: llvm.call @__ocml_cos_f64(%{{.*}}) : (!llvm.double) -> !llvm.double std.return } } @@ -84,30 +84,30 @@ // ----- gpu.module @kernel_module { - // CHECK: llvm.func @_ocml_tanh_f32(!llvm.float) -> !llvm.float - // CHECK: llvm.func @_ocml_tanh_f64(!llvm.double) -> !llvm.double + // CHECK: llvm.func @__ocml_tanh_f32(!llvm.float) -> !llvm.float + // CHECK: llvm.func @__ocml_tanh_f64(!llvm.double) -> !llvm.double // CHECK-LABEL: func @gpu_tanh func @gpu_tanh(%arg_f32 : f32, %arg_f64 : f64) { %result32 = std.tanh %arg_f32 : f32 - // CHECK: llvm.call @_ocml_tanh_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_tanh_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result64 = std.tanh %arg_f64 : f64 - // CHECK: llvm.call @_ocml_tanh_f64(%{{.*}}) : (!llvm.double) -> !llvm.double + // CHECK: llvm.call @__ocml_tanh_f64(%{{.*}}) : (!llvm.double) -> !llvm.double std.return } } // ----- gpu.module @kernel_module { - // CHECK: llvm.func @_ocml_exp_f32(!llvm.float) -> !llvm.float - // CHECK: llvm.func @_ocml_exp_f64(!llvm.double) -> !llvm.double + // CHECK: llvm.func @__ocml_exp_f32(!llvm.float) -> !llvm.float + // CHECK: llvm.func @__ocml_exp_f64(!llvm.double) -> !llvm.double // CHECK-LABEL: func @gpu_exp func @gpu_exp(%arg_f32 : f32, %arg_f64 : f64) { %exp_f32 = std.exp %arg_f32 : f32 - // CHECK: llvm.call @_ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result_f32 = std.exp %exp_f32 : f32 - // CHECK: llvm.call @_ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result64 = std.exp %arg_f64 : f64 - // CHECK: llvm.call @_ocml_exp_f64(%{{.*}}) : (!llvm.double) -> !llvm.double + // CHECK: llvm.call @__ocml_exp_f64(%{{.*}}) : (!llvm.double) -> !llvm.double std.return } } @@ -119,16 +119,16 @@ gpu.module @kernel_module { "test.symbol_scope"() ({ // CHECK: test.symbol_scope - // CHECK: llvm.func @_ocml_exp_f32(!llvm.float) -> !llvm.float - // CHECK: llvm.func @_ocml_exp_f64(!llvm.double) -> !llvm.double + // CHECK: llvm.func @__ocml_exp_f32(!llvm.float) -> !llvm.float + // CHECK: llvm.func @__ocml_exp_f64(!llvm.double) -> !llvm.double // CHECK-LABEL: func @gpu_exp func @gpu_exp(%arg_f32 : f32, %arg_f64 : f64) { %exp_f32 = std.exp %arg_f32 : f32 - // CHECK: llvm.call @_ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result_f32 = std.exp %exp_f32 : f32 - // CHECK: llvm.call @_ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float + // CHECK: llvm.call @__ocml_exp_f32(%{{.*}}) : (!llvm.float) -> !llvm.float %result64 = std.exp %arg_f64 : f64 - // CHECK: llvm.call @_ocml_exp_f64(%{{.*}}) : (!llvm.double) -> !llvm.double + // CHECK: llvm.call @__ocml_exp_f64(%{{.*}}) : (!llvm.double) -> !llvm.double std.return } "test.finish" () : () -> ()