xref: /llvm-project/mlir/test/Dialect/GPU/module-to-binary-rocdl.mlir (revision 7ed96b1c0d9751efcf72591b36edd11a3ea97284)
1// REQUIRES: host-supports-amdgpu
2// RUN: mlir-opt %s --gpu-module-to-binary="format=llvm" | FileCheck %s
3// RUN: mlir-opt %s --gpu-module-to-binary="format=isa" | FileCheck %s -check-prefix=CHECK-ISA
4
5module attributes {gpu.container_module} {
6  // CHECK-LABEL:gpu.binary @kernel_module1
7  // CHECK:[#gpu.object<#rocdl.target<chip = "gfx90a">, offload = "{{.*}}">]
8  gpu.module @kernel_module1 [#rocdl.target<chip = "gfx90a">] {
9    llvm.func @kernel(%arg0: i32, %arg1: !llvm.ptr,
10        %arg2: !llvm.ptr, %arg3: i64, %arg4: i64,
11        %arg5: i64) attributes {gpu.kernel} {
12      llvm.return
13    }
14  }
15
16  // CHECK-LABEL:gpu.binary @kernel_module2
17  // CHECK-ISA:[#gpu.object<#rocdl.target<flags = {fast}>, assembly = "{{.*}}">, #gpu.object<#rocdl.target, assembly = "{{.*}}">]
18  gpu.module @kernel_module2 [#rocdl.target<flags = {fast}>, #rocdl.target] {
19    llvm.func @kernel(%arg0: i32, %arg1: !llvm.ptr,
20        %arg2: !llvm.ptr, %arg3: i64, %arg4: i64,
21        %arg5: i64) attributes {gpu.kernel} {
22      llvm.return
23    }
24  }
25}
26