xref: /llvm-project/llvm/test/CodeGen/SPIRV/const-array-in-struct.ll (revision b0efde6db0282c0a98aec04806d7b8ba29e19a1b)
1*b0efde6dSVyacheslav Levytskyy; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2*b0efde6dSVyacheslav Levytskyy; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3*b0efde6dSVyacheslav Levytskyy
4*b0efde6dSVyacheslav Levytskyy; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
5*b0efde6dSVyacheslav Levytskyy; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
6*b0efde6dSVyacheslav Levytskyy
7*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV: %[[#IntTy:]] = OpTypeInt 32 0
8*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV: %[[#Const16:]] = OpConstant %[[#IntTy]] 16
9*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV: %[[#ArrayTy:]] = OpTypeArray %[[#IntTy]] %[[#Const16]]
10*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV: %[[#StructTy:]] = OpTypeStruct %[[#ArrayTy]]
11*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV-COUNT-16: %[[#]] = OpConstant %[[#IntTy]] {{[0-9]+}}
12*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV: %[[#ConstArray:]] = OpConstantComposite %[[#ArrayTy]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]]
13*b0efde6dSVyacheslav Levytskyy; CHECK-SPIRV: %[[#]] = OpConstantComposite %[[#StructTy]] %[[#ConstArray]]
14*b0efde6dSVyacheslav Levytskyy
15*b0efde6dSVyacheslav Levytskyy%struct_array_16i32 = type { [16 x i32] }
16*b0efde6dSVyacheslav Levytskyy
17*b0efde6dSVyacheslav Levytskyy@G = private unnamed_addr addrspace(1) constant %struct_array_16i32 { [16 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15] }, align 4
18*b0efde6dSVyacheslav Levytskyy
19*b0efde6dSVyacheslav Levytskyydefine spir_kernel void @test() {
20*b0efde6dSVyacheslav Levytskyy  ret void
21*b0efde6dSVyacheslav Levytskyy}
22