1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s 2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} 3 4; CHECK: %[[#FLOAT32:]] = OpTypeFloat 32 5; CHECK: %[[#PTR:]] = OpTypePointer CrossWorkgroup %[[#FLOAT32]] 6; CHECK: %[[#ARG:]] = OpFunctionParameter %[[#PTR]] 7; CHECK: %[[#GEP:]] = OpInBoundsPtrAccessChain %[[#PTR]] %[[#ARG]] %[[#]] 8; CHECK: %[[#]] = OpLoad %[[#FLOAT32]] %[[#GEP]] Aligned 4 9 10define spir_kernel void @test1(ptr addrspace(1) %arg1) !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_type_qual !4 { 11 %a = getelementptr inbounds float, ptr addrspace(1) %arg1, i64 1 12 %b = load float, ptr addrspace(1) %a, align 4 13 ret void 14} 15 16!1 = !{i32 1} 17!2 = !{!"none"} 18!3 = !{!"float*"} 19!4 = !{!""} 20