1cb93a386Sopenharmony_ciOpCapability Shader
2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450"
3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450
4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft
6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor"
7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise"
8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer"
9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "testInputs"
10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorGreen"
11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "colorRed"
12cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v"
13cb93a386Sopenharmony_ciOpName %main "main"
14cb93a386Sopenharmony_ciOpName %expectedA "expectedA"
15cb93a386Sopenharmony_ciOpName %clampLow "clampLow"
16cb93a386Sopenharmony_ciOpName %expectedB "expectedB"
17cb93a386Sopenharmony_ciOpName %clampHigh "clampHigh"
18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
19cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
20cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
21cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32
27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
28cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
29cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
30cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
31cb93a386Sopenharmony_ciOpDecorate %expectedA RelaxedPrecision
32cb93a386Sopenharmony_ciOpDecorate %31 RelaxedPrecision
33cb93a386Sopenharmony_ciOpDecorate %clampLow RelaxedPrecision
34cb93a386Sopenharmony_ciOpDecorate %34 RelaxedPrecision
35cb93a386Sopenharmony_ciOpDecorate %expectedB RelaxedPrecision
36cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision
37cb93a386Sopenharmony_ciOpDecorate %clampHigh RelaxedPrecision
38cb93a386Sopenharmony_ciOpDecorate %42 RelaxedPrecision
39cb93a386Sopenharmony_ciOpDecorate %49 RelaxedPrecision
40cb93a386Sopenharmony_ciOpDecorate %50 RelaxedPrecision
41cb93a386Sopenharmony_ciOpDecorate %51 RelaxedPrecision
42cb93a386Sopenharmony_ciOpDecorate %52 RelaxedPrecision
43cb93a386Sopenharmony_ciOpDecorate %58 RelaxedPrecision
44cb93a386Sopenharmony_ciOpDecorate %59 RelaxedPrecision
45cb93a386Sopenharmony_ciOpDecorate %60 RelaxedPrecision
46cb93a386Sopenharmony_ciOpDecorate %61 RelaxedPrecision
47cb93a386Sopenharmony_ciOpDecorate %62 RelaxedPrecision
48cb93a386Sopenharmony_ciOpDecorate %63 RelaxedPrecision
49cb93a386Sopenharmony_ciOpDecorate %72 RelaxedPrecision
50cb93a386Sopenharmony_ciOpDecorate %73 RelaxedPrecision
51cb93a386Sopenharmony_ciOpDecorate %75 RelaxedPrecision
52cb93a386Sopenharmony_ciOpDecorate %76 RelaxedPrecision
53cb93a386Sopenharmony_ciOpDecorate %77 RelaxedPrecision
54cb93a386Sopenharmony_ciOpDecorate %78 RelaxedPrecision
55cb93a386Sopenharmony_ciOpDecorate %87 RelaxedPrecision
56cb93a386Sopenharmony_ciOpDecorate %88 RelaxedPrecision
57cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision
58cb93a386Sopenharmony_ciOpDecorate %90 RelaxedPrecision
59cb93a386Sopenharmony_ciOpDecorate %97 RelaxedPrecision
60cb93a386Sopenharmony_ciOpDecorate %98 RelaxedPrecision
61cb93a386Sopenharmony_ciOpDecorate %103 RelaxedPrecision
62cb93a386Sopenharmony_ciOpDecorate %104 RelaxedPrecision
63cb93a386Sopenharmony_ciOpDecorate %105 RelaxedPrecision
64cb93a386Sopenharmony_ciOpDecorate %111 RelaxedPrecision
65cb93a386Sopenharmony_ciOpDecorate %112 RelaxedPrecision
66cb93a386Sopenharmony_ciOpDecorate %113 RelaxedPrecision
67cb93a386Sopenharmony_ciOpDecorate %119 RelaxedPrecision
68cb93a386Sopenharmony_ciOpDecorate %127 RelaxedPrecision
69cb93a386Sopenharmony_ciOpDecorate %128 RelaxedPrecision
70cb93a386Sopenharmony_ciOpDecorate %129 RelaxedPrecision
71cb93a386Sopenharmony_ciOpDecorate %130 RelaxedPrecision
72cb93a386Sopenharmony_ciOpDecorate %137 RelaxedPrecision
73cb93a386Sopenharmony_ciOpDecorate %138 RelaxedPrecision
74cb93a386Sopenharmony_ciOpDecorate %139 RelaxedPrecision
75cb93a386Sopenharmony_ciOpDecorate %140 RelaxedPrecision
76cb93a386Sopenharmony_ciOpDecorate %141 RelaxedPrecision
77cb93a386Sopenharmony_ciOpDecorate %142 RelaxedPrecision
78cb93a386Sopenharmony_ciOpDecorate %150 RelaxedPrecision
79cb93a386Sopenharmony_ciOpDecorate %151 RelaxedPrecision
80cb93a386Sopenharmony_ciOpDecorate %152 RelaxedPrecision
81cb93a386Sopenharmony_ciOpDecorate %153 RelaxedPrecision
82cb93a386Sopenharmony_ciOpDecorate %154 RelaxedPrecision
83cb93a386Sopenharmony_ciOpDecorate %155 RelaxedPrecision
84cb93a386Sopenharmony_ciOpDecorate %163 RelaxedPrecision
85cb93a386Sopenharmony_ciOpDecorate %164 RelaxedPrecision
86cb93a386Sopenharmony_ciOpDecorate %165 RelaxedPrecision
87cb93a386Sopenharmony_ciOpDecorate %166 RelaxedPrecision
88cb93a386Sopenharmony_ciOpDecorate %172 RelaxedPrecision
89cb93a386Sopenharmony_ciOpDecorate %173 RelaxedPrecision
90cb93a386Sopenharmony_ciOpDecorate %178 RelaxedPrecision
91cb93a386Sopenharmony_ciOpDecorate %179 RelaxedPrecision
92cb93a386Sopenharmony_ciOpDecorate %185 RelaxedPrecision
93cb93a386Sopenharmony_ciOpDecorate %186 RelaxedPrecision
94cb93a386Sopenharmony_ciOpDecorate %187 RelaxedPrecision
95cb93a386Sopenharmony_ciOpDecorate %193 RelaxedPrecision
96cb93a386Sopenharmony_ciOpDecorate %203 RelaxedPrecision
97cb93a386Sopenharmony_ciOpDecorate %206 RelaxedPrecision
98cb93a386Sopenharmony_ciOpDecorate %207 RelaxedPrecision
99cb93a386Sopenharmony_ci%float = OpTypeFloat 32
100cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
101cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
102cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
103cb93a386Sopenharmony_ci%bool = OpTypeBool
104cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
105cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
106cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
107cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
108cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
109cb93a386Sopenharmony_ci%void = OpTypeVoid
110cb93a386Sopenharmony_ci%15 = OpTypeFunction %void
111cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
112cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
113cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0
114cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
115cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float
116cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
117cb93a386Sopenharmony_ci%float_n1 = OpConstant %float -1
118cb93a386Sopenharmony_ci%float_0_75 = OpConstant %float 0.75
119cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1
120cb93a386Sopenharmony_ci%31 = OpConstantComposite %v4float %float_n1 %float_0 %float_0_75 %float_1
121cb93a386Sopenharmony_ci%float_n2 = OpConstant %float -2
122cb93a386Sopenharmony_ci%34 = OpConstantComposite %v4float %float_n1 %float_n2 %float_n2 %float_1
123cb93a386Sopenharmony_ci%float_0_5 = OpConstant %float 0.5
124cb93a386Sopenharmony_ci%float_2_25 = OpConstant %float 2.25
125cb93a386Sopenharmony_ci%38 = OpConstantComposite %v4float %float_n1 %float_0 %float_0_5 %float_2_25
126cb93a386Sopenharmony_ci%float_2 = OpConstant %float 2
127cb93a386Sopenharmony_ci%float_3 = OpConstant %float 3
128cb93a386Sopenharmony_ci%42 = OpConstantComposite %v4float %float_1 %float_2 %float_0_5 %float_3
129cb93a386Sopenharmony_ci%false = OpConstantFalse %bool
130cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
131cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
132cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
133cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2
134cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3
135cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3
136cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4
137cb93a386Sopenharmony_ci%103 = OpConstantComposite %v2float %float_n1 %float_0
138cb93a386Sopenharmony_ci%111 = OpConstantComposite %v3float %float_n1 %float_0 %float_0_75
139cb93a386Sopenharmony_ci%139 = OpConstantComposite %v2float %float_n1 %float_n2
140cb93a386Sopenharmony_ci%140 = OpConstantComposite %v2float %float_1 %float_2
141cb93a386Sopenharmony_ci%152 = OpConstantComposite %v3float %float_n1 %float_n2 %float_n2
142cb93a386Sopenharmony_ci%153 = OpConstantComposite %v3float %float_1 %float_2 %float_0_5
143cb93a386Sopenharmony_ci%185 = OpConstantComposite %v3float %float_n1 %float_0 %float_0_5
144cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
145cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2
146cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15
147cb93a386Sopenharmony_ci%16 = OpLabel
148cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function
149cb93a386Sopenharmony_ciOpStore %20 %19
150cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20
151cb93a386Sopenharmony_ciOpStore %sk_FragColor %22
152cb93a386Sopenharmony_ciOpReturn
153cb93a386Sopenharmony_ciOpFunctionEnd
154cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23
155cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float
156cb93a386Sopenharmony_ci%25 = OpLabel
157cb93a386Sopenharmony_ci%expectedA = OpVariable %_ptr_Function_v4float Function
158cb93a386Sopenharmony_ci%clampLow = OpVariable %_ptr_Function_v4float Function
159cb93a386Sopenharmony_ci%expectedB = OpVariable %_ptr_Function_v4float Function
160cb93a386Sopenharmony_ci%clampHigh = OpVariable %_ptr_Function_v4float Function
161cb93a386Sopenharmony_ci%197 = OpVariable %_ptr_Function_v4float Function
162cb93a386Sopenharmony_ciOpStore %expectedA %31
163cb93a386Sopenharmony_ciOpStore %clampLow %34
164cb93a386Sopenharmony_ciOpStore %expectedB %38
165cb93a386Sopenharmony_ciOpStore %clampHigh %42
166cb93a386Sopenharmony_ci%45 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
167cb93a386Sopenharmony_ci%49 = OpLoad %v4float %45
168cb93a386Sopenharmony_ci%50 = OpCompositeExtract %float %49 0
169cb93a386Sopenharmony_ci%44 = OpExtInst %float %1 FClamp %50 %float_n1 %float_1
170cb93a386Sopenharmony_ci%51 = OpLoad %v4float %expectedA
171cb93a386Sopenharmony_ci%52 = OpCompositeExtract %float %51 0
172cb93a386Sopenharmony_ci%53 = OpFOrdEqual %bool %44 %52
173cb93a386Sopenharmony_ciOpSelectionMerge %55 None
174cb93a386Sopenharmony_ciOpBranchConditional %53 %54 %55
175cb93a386Sopenharmony_ci%54 = OpLabel
176cb93a386Sopenharmony_ci%57 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
177cb93a386Sopenharmony_ci%58 = OpLoad %v4float %57
178cb93a386Sopenharmony_ci%59 = OpVectorShuffle %v2float %58 %58 0 1
179cb93a386Sopenharmony_ci%60 = OpCompositeConstruct %v2float %float_n1 %float_n1
180cb93a386Sopenharmony_ci%61 = OpCompositeConstruct %v2float %float_1 %float_1
181cb93a386Sopenharmony_ci%56 = OpExtInst %v2float %1 FClamp %59 %60 %61
182cb93a386Sopenharmony_ci%62 = OpLoad %v4float %expectedA
183cb93a386Sopenharmony_ci%63 = OpVectorShuffle %v2float %62 %62 0 1
184cb93a386Sopenharmony_ci%64 = OpFOrdEqual %v2bool %56 %63
185cb93a386Sopenharmony_ci%66 = OpAll %bool %64
186cb93a386Sopenharmony_ciOpBranch %55
187cb93a386Sopenharmony_ci%55 = OpLabel
188cb93a386Sopenharmony_ci%67 = OpPhi %bool %false %25 %66 %54
189cb93a386Sopenharmony_ciOpSelectionMerge %69 None
190cb93a386Sopenharmony_ciOpBranchConditional %67 %68 %69
191cb93a386Sopenharmony_ci%68 = OpLabel
192cb93a386Sopenharmony_ci%71 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
193cb93a386Sopenharmony_ci%72 = OpLoad %v4float %71
194cb93a386Sopenharmony_ci%73 = OpVectorShuffle %v3float %72 %72 0 1 2
195cb93a386Sopenharmony_ci%75 = OpCompositeConstruct %v3float %float_n1 %float_n1 %float_n1
196cb93a386Sopenharmony_ci%76 = OpCompositeConstruct %v3float %float_1 %float_1 %float_1
197cb93a386Sopenharmony_ci%70 = OpExtInst %v3float %1 FClamp %73 %75 %76
198cb93a386Sopenharmony_ci%77 = OpLoad %v4float %expectedA
199cb93a386Sopenharmony_ci%78 = OpVectorShuffle %v3float %77 %77 0 1 2
200cb93a386Sopenharmony_ci%79 = OpFOrdEqual %v3bool %70 %78
201cb93a386Sopenharmony_ci%81 = OpAll %bool %79
202cb93a386Sopenharmony_ciOpBranch %69
203cb93a386Sopenharmony_ci%69 = OpLabel
204cb93a386Sopenharmony_ci%82 = OpPhi %bool %false %55 %81 %68
205cb93a386Sopenharmony_ciOpSelectionMerge %84 None
206cb93a386Sopenharmony_ciOpBranchConditional %82 %83 %84
207cb93a386Sopenharmony_ci%83 = OpLabel
208cb93a386Sopenharmony_ci%86 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
209cb93a386Sopenharmony_ci%87 = OpLoad %v4float %86
210cb93a386Sopenharmony_ci%88 = OpCompositeConstruct %v4float %float_n1 %float_n1 %float_n1 %float_n1
211cb93a386Sopenharmony_ci%89 = OpCompositeConstruct %v4float %float_1 %float_1 %float_1 %float_1
212cb93a386Sopenharmony_ci%85 = OpExtInst %v4float %1 FClamp %87 %88 %89
213cb93a386Sopenharmony_ci%90 = OpLoad %v4float %expectedA
214cb93a386Sopenharmony_ci%91 = OpFOrdEqual %v4bool %85 %90
215cb93a386Sopenharmony_ci%93 = OpAll %bool %91
216cb93a386Sopenharmony_ciOpBranch %84
217cb93a386Sopenharmony_ci%84 = OpLabel
218cb93a386Sopenharmony_ci%94 = OpPhi %bool %false %69 %93 %83
219cb93a386Sopenharmony_ciOpSelectionMerge %96 None
220cb93a386Sopenharmony_ciOpBranchConditional %94 %95 %96
221cb93a386Sopenharmony_ci%95 = OpLabel
222cb93a386Sopenharmony_ci%97 = OpLoad %v4float %expectedA
223cb93a386Sopenharmony_ci%98 = OpCompositeExtract %float %97 0
224cb93a386Sopenharmony_ci%99 = OpFOrdEqual %bool %float_n1 %98
225cb93a386Sopenharmony_ciOpBranch %96
226cb93a386Sopenharmony_ci%96 = OpLabel
227cb93a386Sopenharmony_ci%100 = OpPhi %bool %false %84 %99 %95
228cb93a386Sopenharmony_ciOpSelectionMerge %102 None
229cb93a386Sopenharmony_ciOpBranchConditional %100 %101 %102
230cb93a386Sopenharmony_ci%101 = OpLabel
231cb93a386Sopenharmony_ci%104 = OpLoad %v4float %expectedA
232cb93a386Sopenharmony_ci%105 = OpVectorShuffle %v2float %104 %104 0 1
233cb93a386Sopenharmony_ci%106 = OpFOrdEqual %v2bool %103 %105
234cb93a386Sopenharmony_ci%107 = OpAll %bool %106
235cb93a386Sopenharmony_ciOpBranch %102
236cb93a386Sopenharmony_ci%102 = OpLabel
237cb93a386Sopenharmony_ci%108 = OpPhi %bool %false %96 %107 %101
238cb93a386Sopenharmony_ciOpSelectionMerge %110 None
239cb93a386Sopenharmony_ciOpBranchConditional %108 %109 %110
240cb93a386Sopenharmony_ci%109 = OpLabel
241cb93a386Sopenharmony_ci%112 = OpLoad %v4float %expectedA
242cb93a386Sopenharmony_ci%113 = OpVectorShuffle %v3float %112 %112 0 1 2
243cb93a386Sopenharmony_ci%114 = OpFOrdEqual %v3bool %111 %113
244cb93a386Sopenharmony_ci%115 = OpAll %bool %114
245cb93a386Sopenharmony_ciOpBranch %110
246cb93a386Sopenharmony_ci%110 = OpLabel
247cb93a386Sopenharmony_ci%116 = OpPhi %bool %false %102 %115 %109
248cb93a386Sopenharmony_ciOpSelectionMerge %118 None
249cb93a386Sopenharmony_ciOpBranchConditional %116 %117 %118
250cb93a386Sopenharmony_ci%117 = OpLabel
251cb93a386Sopenharmony_ci%119 = OpLoad %v4float %expectedA
252cb93a386Sopenharmony_ci%120 = OpFOrdEqual %v4bool %31 %119
253cb93a386Sopenharmony_ci%121 = OpAll %bool %120
254cb93a386Sopenharmony_ciOpBranch %118
255cb93a386Sopenharmony_ci%118 = OpLabel
256cb93a386Sopenharmony_ci%122 = OpPhi %bool %false %110 %121 %117
257cb93a386Sopenharmony_ciOpSelectionMerge %124 None
258cb93a386Sopenharmony_ciOpBranchConditional %122 %123 %124
259cb93a386Sopenharmony_ci%123 = OpLabel
260cb93a386Sopenharmony_ci%126 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
261cb93a386Sopenharmony_ci%127 = OpLoad %v4float %126
262cb93a386Sopenharmony_ci%128 = OpCompositeExtract %float %127 0
263cb93a386Sopenharmony_ci%125 = OpExtInst %float %1 FClamp %128 %float_n1 %float_1
264cb93a386Sopenharmony_ci%129 = OpLoad %v4float %expectedB
265cb93a386Sopenharmony_ci%130 = OpCompositeExtract %float %129 0
266cb93a386Sopenharmony_ci%131 = OpFOrdEqual %bool %125 %130
267cb93a386Sopenharmony_ciOpBranch %124
268cb93a386Sopenharmony_ci%124 = OpLabel
269cb93a386Sopenharmony_ci%132 = OpPhi %bool %false %118 %131 %123
270cb93a386Sopenharmony_ciOpSelectionMerge %134 None
271cb93a386Sopenharmony_ciOpBranchConditional %132 %133 %134
272cb93a386Sopenharmony_ci%133 = OpLabel
273cb93a386Sopenharmony_ci%136 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
274cb93a386Sopenharmony_ci%137 = OpLoad %v4float %136
275cb93a386Sopenharmony_ci%138 = OpVectorShuffle %v2float %137 %137 0 1
276cb93a386Sopenharmony_ci%135 = OpExtInst %v2float %1 FClamp %138 %139 %140
277cb93a386Sopenharmony_ci%141 = OpLoad %v4float %expectedB
278cb93a386Sopenharmony_ci%142 = OpVectorShuffle %v2float %141 %141 0 1
279cb93a386Sopenharmony_ci%143 = OpFOrdEqual %v2bool %135 %142
280cb93a386Sopenharmony_ci%144 = OpAll %bool %143
281cb93a386Sopenharmony_ciOpBranch %134
282cb93a386Sopenharmony_ci%134 = OpLabel
283cb93a386Sopenharmony_ci%145 = OpPhi %bool %false %124 %144 %133
284cb93a386Sopenharmony_ciOpSelectionMerge %147 None
285cb93a386Sopenharmony_ciOpBranchConditional %145 %146 %147
286cb93a386Sopenharmony_ci%146 = OpLabel
287cb93a386Sopenharmony_ci%149 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
288cb93a386Sopenharmony_ci%150 = OpLoad %v4float %149
289cb93a386Sopenharmony_ci%151 = OpVectorShuffle %v3float %150 %150 0 1 2
290cb93a386Sopenharmony_ci%148 = OpExtInst %v3float %1 FClamp %151 %152 %153
291cb93a386Sopenharmony_ci%154 = OpLoad %v4float %expectedB
292cb93a386Sopenharmony_ci%155 = OpVectorShuffle %v3float %154 %154 0 1 2
293cb93a386Sopenharmony_ci%156 = OpFOrdEqual %v3bool %148 %155
294cb93a386Sopenharmony_ci%157 = OpAll %bool %156
295cb93a386Sopenharmony_ciOpBranch %147
296cb93a386Sopenharmony_ci%147 = OpLabel
297cb93a386Sopenharmony_ci%158 = OpPhi %bool %false %134 %157 %146
298cb93a386Sopenharmony_ciOpSelectionMerge %160 None
299cb93a386Sopenharmony_ciOpBranchConditional %158 %159 %160
300cb93a386Sopenharmony_ci%159 = OpLabel
301cb93a386Sopenharmony_ci%162 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
302cb93a386Sopenharmony_ci%163 = OpLoad %v4float %162
303cb93a386Sopenharmony_ci%164 = OpLoad %v4float %clampLow
304cb93a386Sopenharmony_ci%165 = OpLoad %v4float %clampHigh
305cb93a386Sopenharmony_ci%161 = OpExtInst %v4float %1 FClamp %163 %164 %165
306cb93a386Sopenharmony_ci%166 = OpLoad %v4float %expectedB
307cb93a386Sopenharmony_ci%167 = OpFOrdEqual %v4bool %161 %166
308cb93a386Sopenharmony_ci%168 = OpAll %bool %167
309cb93a386Sopenharmony_ciOpBranch %160
310cb93a386Sopenharmony_ci%160 = OpLabel
311cb93a386Sopenharmony_ci%169 = OpPhi %bool %false %147 %168 %159
312cb93a386Sopenharmony_ciOpSelectionMerge %171 None
313cb93a386Sopenharmony_ciOpBranchConditional %169 %170 %171
314cb93a386Sopenharmony_ci%170 = OpLabel
315cb93a386Sopenharmony_ci%172 = OpLoad %v4float %expectedB
316cb93a386Sopenharmony_ci%173 = OpCompositeExtract %float %172 0
317cb93a386Sopenharmony_ci%174 = OpFOrdEqual %bool %float_n1 %173
318cb93a386Sopenharmony_ciOpBranch %171
319cb93a386Sopenharmony_ci%171 = OpLabel
320cb93a386Sopenharmony_ci%175 = OpPhi %bool %false %160 %174 %170
321cb93a386Sopenharmony_ciOpSelectionMerge %177 None
322cb93a386Sopenharmony_ciOpBranchConditional %175 %176 %177
323cb93a386Sopenharmony_ci%176 = OpLabel
324cb93a386Sopenharmony_ci%178 = OpLoad %v4float %expectedB
325cb93a386Sopenharmony_ci%179 = OpVectorShuffle %v2float %178 %178 0 1
326cb93a386Sopenharmony_ci%180 = OpFOrdEqual %v2bool %103 %179
327cb93a386Sopenharmony_ci%181 = OpAll %bool %180
328cb93a386Sopenharmony_ciOpBranch %177
329cb93a386Sopenharmony_ci%177 = OpLabel
330cb93a386Sopenharmony_ci%182 = OpPhi %bool %false %171 %181 %176
331cb93a386Sopenharmony_ciOpSelectionMerge %184 None
332cb93a386Sopenharmony_ciOpBranchConditional %182 %183 %184
333cb93a386Sopenharmony_ci%183 = OpLabel
334cb93a386Sopenharmony_ci%186 = OpLoad %v4float %expectedB
335cb93a386Sopenharmony_ci%187 = OpVectorShuffle %v3float %186 %186 0 1 2
336cb93a386Sopenharmony_ci%188 = OpFOrdEqual %v3bool %185 %187
337cb93a386Sopenharmony_ci%189 = OpAll %bool %188
338cb93a386Sopenharmony_ciOpBranch %184
339cb93a386Sopenharmony_ci%184 = OpLabel
340cb93a386Sopenharmony_ci%190 = OpPhi %bool %false %177 %189 %183
341cb93a386Sopenharmony_ciOpSelectionMerge %192 None
342cb93a386Sopenharmony_ciOpBranchConditional %190 %191 %192
343cb93a386Sopenharmony_ci%191 = OpLabel
344cb93a386Sopenharmony_ci%193 = OpLoad %v4float %expectedB
345cb93a386Sopenharmony_ci%194 = OpFOrdEqual %v4bool %38 %193
346cb93a386Sopenharmony_ci%195 = OpAll %bool %194
347cb93a386Sopenharmony_ciOpBranch %192
348cb93a386Sopenharmony_ci%192 = OpLabel
349cb93a386Sopenharmony_ci%196 = OpPhi %bool %false %184 %195 %191
350cb93a386Sopenharmony_ciOpSelectionMerge %200 None
351cb93a386Sopenharmony_ciOpBranchConditional %196 %198 %199
352cb93a386Sopenharmony_ci%198 = OpLabel
353cb93a386Sopenharmony_ci%201 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
354cb93a386Sopenharmony_ci%203 = OpLoad %v4float %201
355cb93a386Sopenharmony_ciOpStore %197 %203
356cb93a386Sopenharmony_ciOpBranch %200
357cb93a386Sopenharmony_ci%199 = OpLabel
358cb93a386Sopenharmony_ci%204 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
359cb93a386Sopenharmony_ci%206 = OpLoad %v4float %204
360cb93a386Sopenharmony_ciOpStore %197 %206
361cb93a386Sopenharmony_ciOpBranch %200
362cb93a386Sopenharmony_ci%200 = OpLabel
363cb93a386Sopenharmony_ci%207 = OpLoad %v4float %197
364cb93a386Sopenharmony_ciOpReturnValue %207
365cb93a386Sopenharmony_ciOpFunctionEnd
366