summaryrefslogtreecommitdiffstats
path: root/mlir/test/Conversion/GPUToROCDL
diff options
context:
space:
mode:
authorJulian Gross <julian.gross@dfki.de>2020-01-09 09:52:50 +0100
committerJulian Gross <julian.gross@dfki.de>2020-01-13 17:10:54 +0100
commit202ab273e6eca134b69882f100c666fcd3affbcf (patch)
tree2edb29eab3d9aabb02936ed00ed446704ea8b048 /mlir/test/Conversion/GPUToROCDL
parent6b686703e63f0e992438ce445cbe4b3e78b94ea4 (diff)
downloadbcm5719-llvm-202ab273e6eca134b69882f100c666fcd3affbcf.tar.gz
bcm5719-llvm-202ab273e6eca134b69882f100c666fcd3affbcf.zip
[mlir] Added missing GPU lowering ops.
Summary: This diff adds missing GPU lowering ops to MLIR. Reviewers: herhut, pifon2a, ftynse Tags: #pre-merge_beta_testing, #llvm Differential Revision: https://reviews.llvm.org/D72439
Diffstat (limited to 'mlir/test/Conversion/GPUToROCDL')
-rw-r--r--mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir45
1 files changed, 45 insertions, 0 deletions
diff --git a/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir b/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
index f803266ad28..372fe2784c3 100644
--- a/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
+++ b/mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
@@ -39,6 +39,51 @@ module attributes {gpu.kernel_module} {
// -----
module attributes {gpu.kernel_module} {
+ // 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
+ %result64 = std.absf %arg_f64 : f64
+ // CHECK: llvm.call @_ocml_fabs_f64(%{{.*}}) : (!llvm.double) -> !llvm.double
+ std.return
+ }
+}
+
+// -----
+
+module attributes {gpu.kernel_module} {
+ // 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
+ %result64 = std.ceilf %arg_f64 : f64
+ // CHECK: llvm.call @_ocml_ceil_f64(%{{.*}}) : (!llvm.double) -> !llvm.double
+ std.return
+ }
+}
+
+// -----
+
+module attributes {gpu.kernel_module} {
+ // 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
+ %result64 = std.cos %arg_f64 : f64
+ // CHECK: llvm.call @_ocml_cos_f64(%{{.*}}) : (!llvm.double) -> !llvm.double
+ std.return
+ }
+}
+
+// -----
+
+module attributes {gpu.kernel_module} {
// 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
OpenPOWER on IntegriCloud