xref: /llvm-project/llvm/test/CodeGen/SPIRV/pointers/PtrCast-null-in-OpSpecConstantOp.ll (revision 83c1d003118a2cb8136fe49e2ec43958c93d9d6b)
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
2; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3
4; CHECK-DAG: %[[Array:.*]] = OpTypeArray %[[#]] %[[#]]
5; CHECK-DAG: %[[Struct:.*]] = OpTypeStruct %[[Array]]
6; CHECK-DAG: %[[Zero:.*]] = OpTypeInt 64 0
7; CHECK-DAG: %[[Null:.*]] = OpConstantNull %[[Zero]]
8; CHECK-DAG: %[[R:.*]] = OpConstantComposite %[[Array]] %[[Null]]
9; CHECK-DAG: %[[#]] = OpConstantComposite %[[Struct]] %[[R]]
10
11@G1 = addrspace(1) constant { [1 x ptr addrspace(4)] } { [1 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr null to ptr addrspace(4))] }
12@G2 = addrspace(1) constant { [1 x ptr addrspace(4)] } { [1 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr addrspace(1) null to ptr addrspace(4))] }
13
14define void @foo() {
15entry:
16  ret void
17}
18