| ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s |
| ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %} |
| |
| ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s |
| ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} |
| |
| ; CHECK: OpDecorate %[[#Id:]] BuiltIn GlobalInvocationId |
| ; CHECK: %[[#Id]] = OpVariable %[[#]] CrossWorkgroup |
| |
| @__spirv_BuiltInGlobalInvocationId = external dso_local local_unnamed_addr addrspace(1) constant <3 x i64>, align 32 |
| |
| define spir_kernel void @f() { |
| entry: |
| %0 = load i64, ptr addrspace(1) @__spirv_BuiltInGlobalInvocationId, align 32 |
| ret void |
| } |