21 lines · plain
1; RUN: llc -verify-machineinstrs -mtriple=spirv64-amd-amdhsa %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -mtriple=spirv64-amd-amdhsa %s -o - -filetype=obj | spirv-val %}3 4; CHECK: OpName %[[#LDS:]] "lds"5; CHECK: OpDecorate %[[#LDS]] LinkageAttributes "lds" Import6; CHECK: %[[#UINT:]] = OpTypeInt 32 07; CHECK: %[[#UINT_MAX:]] = OpConstant %[[#UINT]] 42949672958; CHECK: %[[#LDS_ARR_TY:]] = OpTypeArray %[[#UINT]] %[[#UINT_MAX]]9; CHECK: %[[#LDS_ARR_PTR_WG:]] = OpTypePointer Workgroup %[[#LDS_ARR_TY]]10; CHECK: %[[#LDS]] = OpVariable %[[#LDS_ARR_PTR_WG]] Workgroup11 12@lds = external addrspace(3) global [0 x i32]13 14define spir_kernel void @foo(ptr addrspace(4) %in, ptr addrspace(4) %out) {15entry:16 %val = load i32, ptr addrspace(4) %in17 %add = add i32 %val, 118 store i32 %add, ptr addrspace(4) %out19 ret void20}21