xref: /llvm-project/llvm/test/CodeGen/SPIRV/transcoding/builtin_calls.ll (revision 0a443f13b49b3f392461a0bb60b0146cfc4607c7)
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3
4; CHECK-SPIRV-DAG: OpDecorate %[[#Id:]] BuiltIn GlobalInvocationId
5; CHECK-SPIRV-DAG: OpDecorate %[[#Id:]] BuiltIn GlobalLinearId
6; CHECK-SPIRV:     %[[#Id:]] = OpVariable %[[#]]
7; CHECK-SPIRV:     %[[#Id:]] = OpVariable %[[#]]
8
9define spir_kernel void @f() {
10entry:
11  %0 = call spir_func i32 @_Z29__spirv_BuiltInGlobalLinearIdv()
12  %1 = call spir_func i64 @_Z33__spirv_BuiltInGlobalInvocationIdi(i32 1)
13  ret void
14}
15
16declare spir_func i32 @_Z29__spirv_BuiltInGlobalLinearIdv()
17declare spir_func i64 @_Z33__spirv_BuiltInGlobalInvocationIdi(i32)
18