27 lines · plain
1; RUN: llc -O0 -verify-machineinstrs -mtriple=spirv-vulkan-unknown %s -o - | FileCheck %s2 3; FIXME(138268): Alignment decoration is emitted.4; FIXME: %if spirv-tools %{ llc -O0 -mtriple=spirv-vulkan-unknown %s -o - -filetype=obj | spirv-val %}5 6; CHECK-DAG: OpDecorate %[[#WorkgroupId:]] BuiltIn WorkgroupId7 8; CHECK-DAG: %[[#uint:]] = OpTypeInt 32 09; CHECK-DAG: %[[#uint_0:]] = OpConstant %[[#uint]] 010; CHECK-DAG: %[[#v3uint:]] = OpTypeVector %[[#uint]] 311; CHECK-DAG: %[[#ptr_Input_uint:]] = OpTypePointer Input %[[#uint]]12; CHECK-DAG: %[[#ptr_Input_v3uint:]] = OpTypePointer Input %[[#v3uint]]13; CHECK-DAG: %[[#WorkgroupId:]] = OpVariable %[[#ptr_Input_v3uint]] Input14@var = external local_unnamed_addr addrspace(7) externally_initialized constant <3 x i32>, align 16, !spirv.Decorations !015 16define i32 @foo() {17entry:18; CHECK: %[[#ptr:]] = OpAccessChain %[[#ptr_Input_uint]] %[[#WorkgroupId]] %[[#uint_0]]19; CHECK: %[[#res:]] = OpLoad %[[#uint]] %[[#ptr]] Aligned 1620; CHECK: OpReturnValue %[[#res]]21 %0 = load i32, ptr addrspace(7) @var, align 1622 ret i32 %023}24 25!0 = !{!1}26!1 = !{i32 11, i32 26}27