blob: 9de8a974363f1206f458d2a8afd9c74c5a3e681e [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 51
; Schema: 0
OpCapability Shader
%33 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
OpExecutionMode %unused_entry_point LocalSize 1 1 1
OpName %counter "counter"
OpName %foo "foo"
OpName %bar "bar"
OpName %main "main"
OpMemberName %S 0 "a"
OpName %S "S"
OpName %x "x"
OpName %x "p"
OpName %unused_entry_point "unused_entry_point"
OpDecorate %_arr_v4int_uint_4 ArrayStride 16
OpMemberDecorate %S 0 Offset 0
%int = OpTypeInt 32 1
%_ptr_Private_int = OpTypePointer Private %int
%4 = OpConstantNull %int
%counter = OpVariable %_ptr_Private_int Private %4
%6 = OpTypeFunction %int
%int_1 = OpConstant %int 1
%int_2 = OpConstant %int 2
%void = OpTypeVoid
%20 = OpTypeFunction %void
%v4int = OpTypeVector %int 4
%uint = OpTypeInt 32 0
%uint_4 = OpConstant %uint 4
%_arr_v4int_uint_4 = OpTypeArray %v4int %uint_4
%S = OpTypeStruct %_arr_v4int_uint_4
%_ptr_Function_S = OpTypePointer Function %S
%29 = OpConstantNull %S
%uint_3 = OpConstant %uint 3
%_ptr_Function_v4int = OpTypePointer Function %v4int
%uint_0 = OpConstant %uint 0
%_ptr_Function_int = OpTypePointer Function %int
%int_5 = OpConstant %int 5
%foo = OpFunction %int None %6
%7 = OpLabel
%8 = OpLoad %int %counter None
%9 = OpIAdd %int %8 %int_1
OpStore %counter %9 None
%11 = OpLoad %int %counter None
OpReturnValue %11
OpFunctionEnd
%bar = OpFunction %int None %6
%13 = OpLabel
%14 = OpLoad %int %counter None
%15 = OpIAdd %int %14 %int_2
OpStore %counter %15 None
%17 = OpLoad %int %counter None
OpReturnValue %17
OpFunctionEnd
%main = OpFunction %void None %20
%21 = OpLabel
%x = OpVariable %_ptr_Function_S Function
OpStore %x %29
%30 = OpFunctionCall %int %foo
%31 = OpBitcast %uint %30
%32 = OpExtInst %uint %33 UMin %31 %uint_3
%35 = OpAccessChain %_ptr_Function_v4int %x %uint_0 %32
%38 = OpFunctionCall %int %bar
%39 = OpBitcast %uint %38
%40 = OpExtInst %uint %33 UMin %39 %uint_3
%41 = OpAccessChain %_ptr_Function_int %35 %40
%43 = OpLoad %int %41 None
%44 = OpIAdd %int %43 %int_5
%46 = OpBitcast %uint %38
%47 = OpExtInst %uint %33 UMin %46 %uint_3
%48 = OpAccessChain %_ptr_Function_int %35 %47
OpStore %48 %44 None
OpReturn
OpFunctionEnd
%unused_entry_point = OpFunction %void None %20
%50 = OpLabel
OpReturn
OpFunctionEnd