| ; SPIR-V | 
 | ; Version: 1.3 | 
 | ; Generator: Google Tint Compiler; 0 | 
 | ; Bound: 45 | 
 | ; Schema: 0 | 
 |                OpCapability Shader | 
 |                OpMemoryModel Logical GLSL450 | 
 |                OpEntryPoint GLCompute %unused_entry_point "unused_entry_point" | 
 |                OpExecutionMode %unused_entry_point LocalSize 1 1 1 | 
 |                OpName %a "a" | 
 |                OpName %b "b" | 
 |                OpName %c "c" | 
 |                OpName %unused_entry_point "unused_entry_point" | 
 |                OpName %tint_div "tint_div" | 
 |                OpName %lhs "lhs" | 
 |                OpName %rhs "rhs" | 
 |                OpName %foo "foo" | 
 |         %int = OpTypeInt 32 1 | 
 | %_ptr_Workgroup_int = OpTypePointer Workgroup %int | 
 |           %a = OpVariable %_ptr_Workgroup_int Workgroup | 
 |       %float = OpTypeFloat 32 | 
 |     %v4float = OpTypeVector %float 4 | 
 | %_ptr_Workgroup_v4float = OpTypePointer Workgroup %v4float | 
 |           %b = OpVariable %_ptr_Workgroup_v4float Workgroup | 
 |     %v2float = OpTypeVector %float 2 | 
 | %mat2v2float = OpTypeMatrix %v2float 2 | 
 | %_ptr_Workgroup_mat2v2float = OpTypePointer Workgroup %mat2v2float | 
 |           %c = OpVariable %_ptr_Workgroup_mat2v2float Workgroup | 
 |        %void = OpTypeVoid | 
 |          %12 = OpTypeFunction %void | 
 |          %16 = OpTypeFunction %int %int %int | 
 |          %22 = OpConstantNull %int | 
 |        %bool = OpTypeBool | 
 | %int_n2147483648 = OpConstant %int -2147483648 | 
 |      %int_n1 = OpConstant %int -1 | 
 |       %int_1 = OpConstant %int 1 | 
 |       %int_2 = OpConstant %int 2 | 
 | %mat4v4float = OpTypeMatrix %v4float 4 | 
 |          %40 = OpConstantNull %mat4v4float | 
 |     %float_2 = OpConstant %float 2 | 
 | %unused_entry_point = OpFunction %void None %12 | 
 |          %15 = OpLabel | 
 |                OpReturn | 
 |                OpFunctionEnd | 
 |    %tint_div = OpFunction %int None %16 | 
 |         %lhs = OpFunctionParameter %int | 
 |         %rhs = OpFunctionParameter %int | 
 |          %20 = OpLabel | 
 |          %23 = OpIEqual %bool %rhs %22 | 
 |          %26 = OpIEqual %bool %lhs %int_n2147483648 | 
 |          %28 = OpIEqual %bool %rhs %int_n1 | 
 |          %29 = OpLogicalAnd %bool %26 %28 | 
 |          %30 = OpLogicalOr %bool %23 %29 | 
 |          %21 = OpSelect %int %30 %int_1 %rhs | 
 |          %32 = OpSDiv %int %lhs %21 | 
 |                OpReturnValue %32 | 
 |                OpFunctionEnd | 
 |         %foo = OpFunction %void None %12 | 
 |          %34 = OpLabel | 
 |          %36 = OpLoad %int %a | 
 |          %35 = OpFunctionCall %int %tint_div %36 %int_2 | 
 |                OpStore %a %35 | 
 |          %38 = OpLoad %v4float %b | 
 |          %41 = OpVectorTimesMatrix %v4float %38 %40 | 
 |                OpStore %b %41 | 
 |          %42 = OpLoad %mat2v2float %c | 
 |          %44 = OpMatrixTimesScalar %mat2v2float %42 %float_2 | 
 |                OpStore %c %44 | 
 |                OpReturn | 
 |                OpFunctionEnd |