1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint GLCompute %4 "main"
5               OpExecutionMode %4 LocalSize 1 1 1
6               OpSource ESSL 310
7               OpName %4 "main"
8               OpName %7 "BufferIn"
9               OpMemberName %7 0 "i"
10               OpName %9 ""
11               OpName %23 "BufferOut"
12               OpMemberName %23 0 "o"
13               OpName %25 ""
14               OpMemberDecorate %7 0 Offset 0
15               OpDecorate %7 Block
16               OpDecorate %9 DescriptorSet 0
17               OpDecorate %9 Binding 0
18               OpMemberDecorate %23 0 Offset 0
19               OpDecorate %23 BufferBlock
20               OpDecorate %25 DescriptorSet 0
21               OpDecorate %25 Binding 1
22          %2 = OpTypeVoid
23          %3 = OpTypeFunction %2
24          %6 = OpTypeInt 32 0
25          %7 = OpTypeStruct %6
26          %8 = OpTypePointer Uniform %7
27          %9 = OpVariable %8 Uniform
28         %10 = OpTypeInt 32 1
29         %11 = OpConstant %10 0
30         %12 = OpTypePointer Uniform %6
31         %23 = OpTypeStruct %6
32         %24 = OpTypePointer Uniform %23
33         %25 = OpVariable %24 Uniform
34         %28 = OpConstant %10 1
35         %34 = OpConstant %6 2
36         %52 = OpConstant %6 1
37          %4 = OpFunction %2 None %3
38          %5 = OpLabel
39         %13 = OpAccessChain %12 %9 %11
40         %14 = OpLoad %6 %13
41               OpSelectionMerge %22 None
42               OpSwitch %14 %21 0 %15 1 %16 2 %17 3 %18 4 %19 5 %20
43         %17 = OpLabel
44         %35 = OpAccessChain %12 %25 %11
45         %36 = OpLoad %6 %35
46         %37 = OpIMul %6 %36 %34
47         %38 = OpAccessChain %12 %25 %11
48               OpStore %38 %37
49               OpBranch %22
50         %18 = OpLabel
51         %40 = OpAccessChain %12 %25 %11
52         %41 = OpLoad %6 %40
53         %42 = OpUDiv %6 %41 %34
54         %43 = OpAccessChain %12 %25 %11
55               OpStore %43 %42
56               OpBranch %22
57         %21 = OpLabel
58         %54 = OpAccessChain %12 %25 %11
59         %55 = OpLoad %6 %54
60         %56 = OpIAdd %6 %55 %34
61         %57 = OpAccessChain %12 %25 %11
62               OpStore %57 %56
63               OpBranch %22
64         %20 = OpLabel
65         %53 = OpAccessChain %12 %25 %11
66               OpStore %53 %52
67               OpBranch %21
68         %15 = OpLabel
69         %26 = OpAccessChain %12 %25 %11
70         %27 = OpLoad %6 %26
71         %29 = OpIAdd %6 %27 %28
72               OpStore %26 %29
73               OpBranch %22
74         %19 = OpLabel
75         %45 = OpAccessChain %12 %25 %11
76         %46 = OpLoad %6 %45
77         %47 = OpAccessChain %12 %25 %11
78         %48 = OpLoad %6 %47
79         %49 = OpIMul %6 %46 %48
80         %50 = OpAccessChain %12 %25 %11
81               OpStore %50 %49
82               OpBranch %22
83         %16 = OpLabel
84         %31 = OpAccessChain %12 %25 %11
85         %32 = OpLoad %6 %31
86         %33 = OpISub %6 %32 %28
87               OpStore %31 %33
88               OpBranch %17
89         %22 = OpLabel
90               OpReturn
91               OpFunctionEnd
92