xref: /llvm-project/llvm/test/CodeGen/SPIRV/pointers/load-addressspace.ll (revision 67d3ef74b31e1517d4f679e754cc2b3041c95901)
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:  %[[#INT8:]] = OpTypeInt 8 0
5; CHECK:  %[[#PTR1:]] = OpTypePointer CrossWorkgroup %[[#INT8]]
6; CHECK:  %[[#PTR2:]] = OpTypePointer UniformConstant %[[#INT8]]
7; CHECK:  %[[#FNP1:]] = OpFunctionParameter %[[#PTR1]]
8; CHECK:  %[[#FNP2:]] = OpFunctionParameter %[[#PTR2]]
9; CHECK:  %[[#]] = OpLoad %[[#INT8]] %[[#FNP1]] Aligned 1
10; CHECK:  %[[#]] = OpLoad %[[#INT8]] %[[#FNP2]] Aligned 1
11
12define spir_kernel void @foo(ptr addrspace(1) %a, ptr addrspace(2) %b) {
13entry:
14  %c = load i8, ptr addrspace(1) %a
15  %d = load i8, ptr addrspace(2) %b
16  ret void
17}
18