forked from OSchip/llvm-project
36 lines
1.3 KiB
MLIR
36 lines
1.3 KiB
MLIR
// RUN: mlir-translate -mlir-to-rocdlir %s | FileCheck %s
|
|
|
|
llvm.func @rocdl_special_regs() -> !llvm.i32 {
|
|
// CHECK-LABEL: rocdl_special_regs
|
|
// CHECK: call i32 @llvm.amdgcn.workitem.id.x()
|
|
%1 = rocdl.workitem.id.x : !llvm.i32
|
|
// CHECK: call i32 @llvm.amdgcn.workitem.id.y()
|
|
%2 = rocdl.workitem.id.y : !llvm.i32
|
|
// CHECK: call i32 @llvm.amdgcn.workitem.id.z()
|
|
%3 = rocdl.workitem.id.z : !llvm.i32
|
|
// CHECK: call i32 @llvm.amdgcn.workgroup.id.x()
|
|
%4 = rocdl.workgroup.id.x : !llvm.i32
|
|
// CHECK: call i32 @llvm.amdgcn.workgroup.id.y()
|
|
%5 = rocdl.workgroup.id.y : !llvm.i32
|
|
// CHECK: call i32 @llvm.amdgcn.workgroup.id.z()
|
|
%6 = rocdl.workgroup.id.z : !llvm.i32
|
|
// CHECK: call i64 @__ockl_get_local_size(i32 0)
|
|
%7 = rocdl.workgroup.dim.x : !llvm.i64
|
|
// CHECK: call i64 @__ockl_get_local_size(i32 1)
|
|
%8 = rocdl.workgroup.dim.y : !llvm.i64
|
|
// CHECK: call i64 @__ockl_get_local_size(i32 2)
|
|
%9 = rocdl.workgroup.dim.z : !llvm.i64
|
|
// CHECK: call i64 @__ockl_get_global_size(i32 0)
|
|
%10 = rocdl.grid.dim.x : !llvm.i64
|
|
// CHECK: call i64 @__ockl_get_global_size(i32 1)
|
|
%11 = rocdl.grid.dim.y : !llvm.i64
|
|
// CHECK: call i64 @__ockl_get_global_size(i32 2)
|
|
%12 = rocdl.grid.dim.z : !llvm.i64
|
|
llvm.return %1 : !llvm.i32
|
|
}
|
|
|
|
llvm.func @kernel_func() attributes {gpu.kernel} {
|
|
// CHECK-LABEL: amdgpu_kernel void @kernel_func
|
|
llvm.return
|
|
}
|