blob: b672c814d75c76dd0c46e965d35404ea0c979175 [file]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 77
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %main "main"
OpExecutionMode %main LocalSize 1 1 1
OpName %main "main"
OpName %x "x"
OpMemberName %S1 0 "a"
OpMemberName %S1 1 "b"
OpMemberName %S1 2 "c"
OpMemberName %S1 3 "d"
OpName %S1 "S1"
OpName %empty "empty"
OpName %nonempty "nonempty"
OpName %nonempty_with_expr "nonempty_with_expr"
OpMemberName %S3 0 "g"
OpMemberName %S3 1 "h"
OpMemberName %S2 0 "e"
OpMemberName %S2 1 "f"
OpName %S2 "S2"
OpMemberName %S3 2 "i"
OpName %S3 "S3"
OpName %nested_empty "nested_empty"
OpName %nested_nonempty "nested_nonempty"
OpName %nested_nonempty_with_expr "nested_nonempty_with_expr"
OpName %subexpr_empty "subexpr_empty"
OpName %subexpr_nonempty "subexpr_nonempty"
OpName %subexpr_nonempty_with_expr "subexpr_nonempty_with_expr"
OpName %empty "subexpr_nested_empty"
OpName %subexpr_nested_nonempty "subexpr_nested_nonempty"
OpName %subexpr_nested_nonempty_with_expr "subexpr_nested_nonempty_with_expr"
OpMemberName %T 0 "a"
OpName %T "T"
OpName %aosoa_empty "aosoa_empty"
OpName %aosoa_nonempty "aosoa_nonempty"
OpName %aosoa_nonempty_with_expr "aosoa_nonempty_with_expr"
%void = OpTypeVoid
%3 = OpTypeFunction %void
%int = OpTypeInt 32 1
%x = OpConstant %int 42
%S1 = OpTypeStruct %int %int %int %int
%empty = OpConstantNull %S1
%int_1 = OpConstant %int 1
%subexpr_nonempty = OpConstant %int 2
%int_3 = OpConstant %int 3
%int_4 = OpConstant %int 4
%nonempty = OpConstantComposite %S1 %int_1 %subexpr_nonempty %int_3 %int_4
%uint = OpTypeInt 32 0
%S2 = OpTypeStruct %int %S1
%S3 = OpTypeStruct %int %S1 %S2
%nested_empty = OpConstantNull %S3
%int_5 = OpConstant %int 5
%subexpr_nested_nonempty = OpConstantComposite %S1 %subexpr_nonempty %int_3 %int_4 %int_5
%int_6 = OpConstant %int 6
%int_7 = OpConstant %int 7
%int_8 = OpConstant %int 8
%int_9 = OpConstant %int 9
%int_10 = OpConstant %int 10
%29 = OpConstantComposite %S1 %int_7 %int_8 %int_9 %int_10
%27 = OpConstantComposite %S2 %int_6 %29
%nested_nonempty = OpConstantComposite %S3 %int_1 %subexpr_nested_nonempty %27
%subexpr_empty = OpConstant %int 0
%uint_2 = OpConstant %uint 2
%_arr_int_uint_2 = OpTypeArray %int %uint_2
%T = OpTypeStruct %_arr_int_uint_2
%_arr_T_uint_2 = OpTypeArray %T %uint_2
%aosoa_empty = OpConstantNull %_arr_T_uint_2
%65 = OpConstantComposite %_arr_int_uint_2 %int_1 %subexpr_nonempty
%64 = OpConstantComposite %T %65
%67 = OpConstantComposite %_arr_int_uint_2 %int_3 %int_4
%66 = OpConstantComposite %T %67
%aosoa_nonempty = OpConstantComposite %_arr_T_uint_2 %64 %66
%main = OpFunction %void None %3
%4 = OpLabel
%15 = OpBitcast %uint %x
%16 = OpBitcast %uint %int_1
%17 = OpIAdd %uint %15 %16
%18 = OpBitcast %int %17
%19 = OpCompositeExtract %int %nonempty 3
%nonempty_with_expr = OpCompositeConstruct %S1 %int_1 %x %18 %19
%34 = OpBitcast %uint %x
%35 = OpBitcast %uint %int_1
%36 = OpIAdd %uint %34 %35
%37 = OpBitcast %int %36
%38 = OpCompositeExtract %int %nested_nonempty 2 1 3
%39 = OpCompositeConstruct %S1 %subexpr_nonempty %x %37 %38
%40 = OpCompositeConstruct %S2 %int_6 %nonempty
%nested_nonempty_with_expr = OpCompositeConstruct %S3 %int_1 %39 %40
%43 = OpBitcast %uint %x
%44 = OpBitcast %uint %int_1
%45 = OpIAdd %uint %43 %44
%46 = OpBitcast %int %45
%47 = OpCompositeExtract %int %nonempty 3
%48 = OpCompositeConstruct %S1 %int_1 %x %46 %47
%subexpr_nonempty_with_expr = OpCompositeExtract %int %48 2
%50 = OpBitcast %uint %x
%51 = OpBitcast %uint %int_1
%52 = OpIAdd %uint %50 %51
%53 = OpBitcast %int %52
%54 = OpCompositeExtract %int %nested_nonempty 2 1 3
%55 = OpCompositeConstruct %S1 %subexpr_nonempty %x %53 %54
%56 = OpCompositeConstruct %S2 %int_1 %55
%subexpr_nested_nonempty_with_expr = OpCompositeExtract %S1 %56 1
%68 = OpCompositeExtract %int %aosoa_nonempty 0 0 0
%69 = OpBitcast %uint %68
%70 = OpBitcast %uint %int_1
%71 = OpIAdd %uint %69 %70
%72 = OpBitcast %int %71
%73 = OpCompositeConstruct %_arr_int_uint_2 %int_1 %72
%74 = OpCompositeConstruct %T %73
%75 = OpCompositeExtract %T %aosoa_nonempty 1
%aosoa_nonempty_with_expr = OpCompositeConstruct %_arr_T_uint_2 %74 %75
OpReturn
OpFunctionEnd