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