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 %constVal "constVal"
15cb93a386Sopenharmony_ciOpName %expectedA "expectedA"
16cb93a386Sopenharmony_ciOpName %expectedB "expectedB"
17cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
19cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
20cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
21cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32
26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
27cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
28cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
29cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
30cb93a386Sopenharmony_ciOpDecorate %constVal RelaxedPrecision
31cb93a386Sopenharmony_ciOpDecorate %31 RelaxedPrecision
32cb93a386Sopenharmony_ciOpDecorate %expectedA RelaxedPrecision
33cb93a386Sopenharmony_ciOpDecorate %35 RelaxedPrecision
34cb93a386Sopenharmony_ciOpDecorate %expectedB RelaxedPrecision
35cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision
36cb93a386Sopenharmony_ciOpDecorate %39 RelaxedPrecision
37cb93a386Sopenharmony_ciOpDecorate %40 RelaxedPrecision
38cb93a386Sopenharmony_ciOpDecorate %44 RelaxedPrecision
39cb93a386Sopenharmony_ciOpDecorate %45 RelaxedPrecision
40cb93a386Sopenharmony_ciOpDecorate %53 RelaxedPrecision
41cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision
42cb93a386Sopenharmony_ciOpDecorate %55 RelaxedPrecision
43cb93a386Sopenharmony_ciOpDecorate %62 RelaxedPrecision
44cb93a386Sopenharmony_ciOpDecorate %69 RelaxedPrecision
45cb93a386Sopenharmony_ciOpDecorate %70 RelaxedPrecision
46cb93a386Sopenharmony_ciOpDecorate %75 RelaxedPrecision
47cb93a386Sopenharmony_ciOpDecorate %76 RelaxedPrecision
48cb93a386Sopenharmony_ciOpDecorate %82 RelaxedPrecision
49cb93a386Sopenharmony_ciOpDecorate %83 RelaxedPrecision
50cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision
51cb93a386Sopenharmony_ciOpDecorate %100 RelaxedPrecision
52cb93a386Sopenharmony_ciOpDecorate %101 RelaxedPrecision
53cb93a386Sopenharmony_ciOpDecorate %104 RelaxedPrecision
54cb93a386Sopenharmony_ciOpDecorate %105 RelaxedPrecision
55cb93a386Sopenharmony_ciOpDecorate %106 RelaxedPrecision
56cb93a386Sopenharmony_ciOpDecorate %107 RelaxedPrecision
57cb93a386Sopenharmony_ciOpDecorate %114 RelaxedPrecision
58cb93a386Sopenharmony_ciOpDecorate %115 RelaxedPrecision
59cb93a386Sopenharmony_ciOpDecorate %116 RelaxedPrecision
60cb93a386Sopenharmony_ciOpDecorate %118 RelaxedPrecision
61cb93a386Sopenharmony_ciOpDecorate %119 RelaxedPrecision
62cb93a386Sopenharmony_ciOpDecorate %120 RelaxedPrecision
63cb93a386Sopenharmony_ciOpDecorate %121 RelaxedPrecision
64cb93a386Sopenharmony_ciOpDecorate %122 RelaxedPrecision
65cb93a386Sopenharmony_ciOpDecorate %123 RelaxedPrecision
66cb93a386Sopenharmony_ciOpDecorate %131 RelaxedPrecision
67cb93a386Sopenharmony_ciOpDecorate %132 RelaxedPrecision
68cb93a386Sopenharmony_ciOpDecorate %133 RelaxedPrecision
69cb93a386Sopenharmony_ciOpDecorate %135 RelaxedPrecision
70cb93a386Sopenharmony_ciOpDecorate %136 RelaxedPrecision
71cb93a386Sopenharmony_ciOpDecorate %137 RelaxedPrecision
72cb93a386Sopenharmony_ciOpDecorate %138 RelaxedPrecision
73cb93a386Sopenharmony_ciOpDecorate %139 RelaxedPrecision
74cb93a386Sopenharmony_ciOpDecorate %140 RelaxedPrecision
75cb93a386Sopenharmony_ciOpDecorate %148 RelaxedPrecision
76cb93a386Sopenharmony_ciOpDecorate %149 RelaxedPrecision
77cb93a386Sopenharmony_ciOpDecorate %150 RelaxedPrecision
78cb93a386Sopenharmony_ciOpDecorate %152 RelaxedPrecision
79cb93a386Sopenharmony_ciOpDecorate %153 RelaxedPrecision
80cb93a386Sopenharmony_ciOpDecorate %154 RelaxedPrecision
81cb93a386Sopenharmony_ciOpDecorate %155 RelaxedPrecision
82cb93a386Sopenharmony_ciOpDecorate %156 RelaxedPrecision
83cb93a386Sopenharmony_ciOpDecorate %162 RelaxedPrecision
84cb93a386Sopenharmony_ciOpDecorate %163 RelaxedPrecision
85cb93a386Sopenharmony_ciOpDecorate %168 RelaxedPrecision
86cb93a386Sopenharmony_ciOpDecorate %169 RelaxedPrecision
87cb93a386Sopenharmony_ciOpDecorate %170 RelaxedPrecision
88cb93a386Sopenharmony_ciOpDecorate %176 RelaxedPrecision
89cb93a386Sopenharmony_ciOpDecorate %177 RelaxedPrecision
90cb93a386Sopenharmony_ciOpDecorate %178 RelaxedPrecision
91cb93a386Sopenharmony_ciOpDecorate %184 RelaxedPrecision
92cb93a386Sopenharmony_ciOpDecorate %192 RelaxedPrecision
93cb93a386Sopenharmony_ciOpDecorate %193 RelaxedPrecision
94cb93a386Sopenharmony_ciOpDecorate %195 RelaxedPrecision
95cb93a386Sopenharmony_ciOpDecorate %196 RelaxedPrecision
96cb93a386Sopenharmony_ciOpDecorate %197 RelaxedPrecision
97cb93a386Sopenharmony_ciOpDecorate %198 RelaxedPrecision
98cb93a386Sopenharmony_ciOpDecorate %205 RelaxedPrecision
99cb93a386Sopenharmony_ciOpDecorate %206 RelaxedPrecision
100cb93a386Sopenharmony_ciOpDecorate %208 RelaxedPrecision
101cb93a386Sopenharmony_ciOpDecorate %209 RelaxedPrecision
102cb93a386Sopenharmony_ciOpDecorate %210 RelaxedPrecision
103cb93a386Sopenharmony_ciOpDecorate %211 RelaxedPrecision
104cb93a386Sopenharmony_ciOpDecorate %219 RelaxedPrecision
105cb93a386Sopenharmony_ciOpDecorate %220 RelaxedPrecision
106cb93a386Sopenharmony_ciOpDecorate %222 RelaxedPrecision
107cb93a386Sopenharmony_ciOpDecorate %223 RelaxedPrecision
108cb93a386Sopenharmony_ciOpDecorate %224 RelaxedPrecision
109cb93a386Sopenharmony_ciOpDecorate %225 RelaxedPrecision
110cb93a386Sopenharmony_ciOpDecorate %233 RelaxedPrecision
111cb93a386Sopenharmony_ciOpDecorate %235 RelaxedPrecision
112cb93a386Sopenharmony_ciOpDecorate %236 RelaxedPrecision
113cb93a386Sopenharmony_ciOpDecorate %237 RelaxedPrecision
114cb93a386Sopenharmony_ciOpDecorate %246 RelaxedPrecision
115cb93a386Sopenharmony_ciOpDecorate %248 RelaxedPrecision
116cb93a386Sopenharmony_ciOpDecorate %249 RelaxedPrecision
117cb93a386Sopenharmony_ci%float = OpTypeFloat 32
118cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
119cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
120cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
121cb93a386Sopenharmony_ci%bool = OpTypeBool
122cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
123cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
124cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
125cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
126cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
127cb93a386Sopenharmony_ci%void = OpTypeVoid
128cb93a386Sopenharmony_ci%15 = OpTypeFunction %void
129cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
130cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
131cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0
132cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
133cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float
134cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
135cb93a386Sopenharmony_ci%float_n1_25 = OpConstant %float -1.25
136cb93a386Sopenharmony_ci%float_0_75 = OpConstant %float 0.75
137cb93a386Sopenharmony_ci%float_2_25 = OpConstant %float 2.25
138cb93a386Sopenharmony_ci%31 = OpConstantComposite %v4float %float_n1_25 %float_0 %float_0_75 %float_2_25
139cb93a386Sopenharmony_ci%float_0_84375 = OpConstant %float 0.84375
140cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1
141cb93a386Sopenharmony_ci%35 = OpConstantComposite %v4float %float_0 %float_0 %float_0_84375 %float_1
142cb93a386Sopenharmony_ci%37 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1
143cb93a386Sopenharmony_ci%false = OpConstantFalse %bool
144cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2
145cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3
146cb93a386Sopenharmony_ci%53 = OpConstantComposite %v3float %float_0 %float_0 %float_0_84375
147cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3
148cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4
149cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
150cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
151cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2
152cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
153cb93a386Sopenharmony_ci%121 = OpConstantComposite %v2float %float_n1_25 %float_0
154cb93a386Sopenharmony_ci%138 = OpConstantComposite %v3float %float_n1_25 %float_0 %float_0_75
155cb93a386Sopenharmony_ci%168 = OpConstantComposite %v2float %float_1 %float_0
156cb93a386Sopenharmony_ci%176 = OpConstantComposite %v3float %float_1 %float_0 %float_1
157cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15
158cb93a386Sopenharmony_ci%16 = OpLabel
159cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function
160cb93a386Sopenharmony_ciOpStore %20 %19
161cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20
162cb93a386Sopenharmony_ciOpStore %sk_FragColor %22
163cb93a386Sopenharmony_ciOpReturn
164cb93a386Sopenharmony_ciOpFunctionEnd
165cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23
166cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float
167cb93a386Sopenharmony_ci%25 = OpLabel
168cb93a386Sopenharmony_ci%constVal = OpVariable %_ptr_Function_v4float Function
169cb93a386Sopenharmony_ci%expectedA = OpVariable %_ptr_Function_v4float Function
170cb93a386Sopenharmony_ci%expectedB = OpVariable %_ptr_Function_v4float Function
171cb93a386Sopenharmony_ci%241 = OpVariable %_ptr_Function_v4float Function
172cb93a386Sopenharmony_ciOpStore %constVal %31
173cb93a386Sopenharmony_ciOpStore %expectedA %35
174cb93a386Sopenharmony_ciOpStore %expectedB %37
175cb93a386Sopenharmony_ci%39 = OpLoad %v4float %expectedA
176cb93a386Sopenharmony_ci%40 = OpCompositeExtract %float %39 0
177cb93a386Sopenharmony_ci%41 = OpFOrdEqual %bool %float_0 %40
178cb93a386Sopenharmony_ciOpSelectionMerge %43 None
179cb93a386Sopenharmony_ciOpBranchConditional %41 %42 %43
180cb93a386Sopenharmony_ci%42 = OpLabel
181cb93a386Sopenharmony_ci%44 = OpLoad %v4float %expectedA
182cb93a386Sopenharmony_ci%45 = OpVectorShuffle %v2float %44 %44 0 1
183cb93a386Sopenharmony_ci%46 = OpFOrdEqual %v2bool %19 %45
184cb93a386Sopenharmony_ci%48 = OpAll %bool %46
185cb93a386Sopenharmony_ciOpBranch %43
186cb93a386Sopenharmony_ci%43 = OpLabel
187cb93a386Sopenharmony_ci%49 = OpPhi %bool %false %25 %48 %42
188cb93a386Sopenharmony_ciOpSelectionMerge %51 None
189cb93a386Sopenharmony_ciOpBranchConditional %49 %50 %51
190cb93a386Sopenharmony_ci%50 = OpLabel
191cb93a386Sopenharmony_ci%54 = OpLoad %v4float %expectedA
192cb93a386Sopenharmony_ci%55 = OpVectorShuffle %v3float %54 %54 0 1 2
193cb93a386Sopenharmony_ci%56 = OpFOrdEqual %v3bool %53 %55
194cb93a386Sopenharmony_ci%58 = OpAll %bool %56
195cb93a386Sopenharmony_ciOpBranch %51
196cb93a386Sopenharmony_ci%51 = OpLabel
197cb93a386Sopenharmony_ci%59 = OpPhi %bool %false %43 %58 %50
198cb93a386Sopenharmony_ciOpSelectionMerge %61 None
199cb93a386Sopenharmony_ciOpBranchConditional %59 %60 %61
200cb93a386Sopenharmony_ci%60 = OpLabel
201cb93a386Sopenharmony_ci%62 = OpLoad %v4float %expectedA
202cb93a386Sopenharmony_ci%63 = OpFOrdEqual %v4bool %35 %62
203cb93a386Sopenharmony_ci%65 = OpAll %bool %63
204cb93a386Sopenharmony_ciOpBranch %61
205cb93a386Sopenharmony_ci%61 = OpLabel
206cb93a386Sopenharmony_ci%66 = OpPhi %bool %false %51 %65 %60
207cb93a386Sopenharmony_ciOpSelectionMerge %68 None
208cb93a386Sopenharmony_ciOpBranchConditional %66 %67 %68
209cb93a386Sopenharmony_ci%67 = OpLabel
210cb93a386Sopenharmony_ci%69 = OpLoad %v4float %expectedA
211cb93a386Sopenharmony_ci%70 = OpCompositeExtract %float %69 0
212cb93a386Sopenharmony_ci%71 = OpFOrdEqual %bool %float_0 %70
213cb93a386Sopenharmony_ciOpBranch %68
214cb93a386Sopenharmony_ci%68 = OpLabel
215cb93a386Sopenharmony_ci%72 = OpPhi %bool %false %61 %71 %67
216cb93a386Sopenharmony_ciOpSelectionMerge %74 None
217cb93a386Sopenharmony_ciOpBranchConditional %72 %73 %74
218cb93a386Sopenharmony_ci%73 = OpLabel
219cb93a386Sopenharmony_ci%75 = OpLoad %v4float %expectedA
220cb93a386Sopenharmony_ci%76 = OpVectorShuffle %v2float %75 %75 0 1
221cb93a386Sopenharmony_ci%77 = OpFOrdEqual %v2bool %19 %76
222cb93a386Sopenharmony_ci%78 = OpAll %bool %77
223cb93a386Sopenharmony_ciOpBranch %74
224cb93a386Sopenharmony_ci%74 = OpLabel
225cb93a386Sopenharmony_ci%79 = OpPhi %bool %false %68 %78 %73
226cb93a386Sopenharmony_ciOpSelectionMerge %81 None
227cb93a386Sopenharmony_ciOpBranchConditional %79 %80 %81
228cb93a386Sopenharmony_ci%80 = OpLabel
229cb93a386Sopenharmony_ci%82 = OpLoad %v4float %expectedA
230cb93a386Sopenharmony_ci%83 = OpVectorShuffle %v3float %82 %82 0 1 2
231cb93a386Sopenharmony_ci%84 = OpFOrdEqual %v3bool %53 %83
232cb93a386Sopenharmony_ci%85 = OpAll %bool %84
233cb93a386Sopenharmony_ciOpBranch %81
234cb93a386Sopenharmony_ci%81 = OpLabel
235cb93a386Sopenharmony_ci%86 = OpPhi %bool %false %74 %85 %80
236cb93a386Sopenharmony_ciOpSelectionMerge %88 None
237cb93a386Sopenharmony_ciOpBranchConditional %86 %87 %88
238cb93a386Sopenharmony_ci%87 = OpLabel
239cb93a386Sopenharmony_ci%89 = OpLoad %v4float %expectedA
240cb93a386Sopenharmony_ci%90 = OpFOrdEqual %v4bool %35 %89
241cb93a386Sopenharmony_ci%91 = OpAll %bool %90
242cb93a386Sopenharmony_ciOpBranch %88
243cb93a386Sopenharmony_ci%88 = OpLabel
244cb93a386Sopenharmony_ci%92 = OpPhi %bool %false %81 %91 %87
245cb93a386Sopenharmony_ciOpSelectionMerge %94 None
246cb93a386Sopenharmony_ciOpBranchConditional %92 %93 %94
247cb93a386Sopenharmony_ci%93 = OpLabel
248cb93a386Sopenharmony_ci%96 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
249cb93a386Sopenharmony_ci%100 = OpLoad %v4float %96
250cb93a386Sopenharmony_ci%101 = OpCompositeExtract %float %100 1
251cb93a386Sopenharmony_ci%102 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
252cb93a386Sopenharmony_ci%104 = OpLoad %v4float %102
253cb93a386Sopenharmony_ci%105 = OpCompositeExtract %float %104 1
254cb93a386Sopenharmony_ci%95 = OpExtInst %float %1 SmoothStep %101 %105 %float_n1_25
255cb93a386Sopenharmony_ci%106 = OpLoad %v4float %expectedA
256cb93a386Sopenharmony_ci%107 = OpCompositeExtract %float %106 0
257cb93a386Sopenharmony_ci%108 = OpFOrdEqual %bool %95 %107
258cb93a386Sopenharmony_ciOpBranch %94
259cb93a386Sopenharmony_ci%94 = OpLabel
260cb93a386Sopenharmony_ci%109 = OpPhi %bool %false %88 %108 %93
261cb93a386Sopenharmony_ciOpSelectionMerge %111 None
262cb93a386Sopenharmony_ciOpBranchConditional %109 %110 %111
263cb93a386Sopenharmony_ci%110 = OpLabel
264cb93a386Sopenharmony_ci%113 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
265cb93a386Sopenharmony_ci%114 = OpLoad %v4float %113
266cb93a386Sopenharmony_ci%115 = OpCompositeExtract %float %114 1
267cb93a386Sopenharmony_ci%116 = OpCompositeConstruct %v2float %115 %115
268cb93a386Sopenharmony_ci%117 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
269cb93a386Sopenharmony_ci%118 = OpLoad %v4float %117
270cb93a386Sopenharmony_ci%119 = OpCompositeExtract %float %118 1
271cb93a386Sopenharmony_ci%120 = OpCompositeConstruct %v2float %119 %119
272cb93a386Sopenharmony_ci%112 = OpExtInst %v2float %1 SmoothStep %116 %120 %121
273cb93a386Sopenharmony_ci%122 = OpLoad %v4float %expectedA
274cb93a386Sopenharmony_ci%123 = OpVectorShuffle %v2float %122 %122 0 1
275cb93a386Sopenharmony_ci%124 = OpFOrdEqual %v2bool %112 %123
276cb93a386Sopenharmony_ci%125 = OpAll %bool %124
277cb93a386Sopenharmony_ciOpBranch %111
278cb93a386Sopenharmony_ci%111 = OpLabel
279cb93a386Sopenharmony_ci%126 = OpPhi %bool %false %94 %125 %110
280cb93a386Sopenharmony_ciOpSelectionMerge %128 None
281cb93a386Sopenharmony_ciOpBranchConditional %126 %127 %128
282cb93a386Sopenharmony_ci%127 = OpLabel
283cb93a386Sopenharmony_ci%130 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
284cb93a386Sopenharmony_ci%131 = OpLoad %v4float %130
285cb93a386Sopenharmony_ci%132 = OpCompositeExtract %float %131 1
286cb93a386Sopenharmony_ci%133 = OpCompositeConstruct %v3float %132 %132 %132
287cb93a386Sopenharmony_ci%134 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
288cb93a386Sopenharmony_ci%135 = OpLoad %v4float %134
289cb93a386Sopenharmony_ci%136 = OpCompositeExtract %float %135 1
290cb93a386Sopenharmony_ci%137 = OpCompositeConstruct %v3float %136 %136 %136
291cb93a386Sopenharmony_ci%129 = OpExtInst %v3float %1 SmoothStep %133 %137 %138
292cb93a386Sopenharmony_ci%139 = OpLoad %v4float %expectedA
293cb93a386Sopenharmony_ci%140 = OpVectorShuffle %v3float %139 %139 0 1 2
294cb93a386Sopenharmony_ci%141 = OpFOrdEqual %v3bool %129 %140
295cb93a386Sopenharmony_ci%142 = OpAll %bool %141
296cb93a386Sopenharmony_ciOpBranch %128
297cb93a386Sopenharmony_ci%128 = OpLabel
298cb93a386Sopenharmony_ci%143 = OpPhi %bool %false %111 %142 %127
299cb93a386Sopenharmony_ciOpSelectionMerge %145 None
300cb93a386Sopenharmony_ciOpBranchConditional %143 %144 %145
301cb93a386Sopenharmony_ci%144 = OpLabel
302cb93a386Sopenharmony_ci%147 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
303cb93a386Sopenharmony_ci%148 = OpLoad %v4float %147
304cb93a386Sopenharmony_ci%149 = OpCompositeExtract %float %148 1
305cb93a386Sopenharmony_ci%150 = OpCompositeConstruct %v4float %149 %149 %149 %149
306cb93a386Sopenharmony_ci%151 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
307cb93a386Sopenharmony_ci%152 = OpLoad %v4float %151
308cb93a386Sopenharmony_ci%153 = OpCompositeExtract %float %152 1
309cb93a386Sopenharmony_ci%154 = OpCompositeConstruct %v4float %153 %153 %153 %153
310cb93a386Sopenharmony_ci%155 = OpLoad %v4float %constVal
311cb93a386Sopenharmony_ci%146 = OpExtInst %v4float %1 SmoothStep %150 %154 %155
312cb93a386Sopenharmony_ci%156 = OpLoad %v4float %expectedA
313cb93a386Sopenharmony_ci%157 = OpFOrdEqual %v4bool %146 %156
314cb93a386Sopenharmony_ci%158 = OpAll %bool %157
315cb93a386Sopenharmony_ciOpBranch %145
316cb93a386Sopenharmony_ci%145 = OpLabel
317cb93a386Sopenharmony_ci%159 = OpPhi %bool %false %128 %158 %144
318cb93a386Sopenharmony_ciOpSelectionMerge %161 None
319cb93a386Sopenharmony_ciOpBranchConditional %159 %160 %161
320cb93a386Sopenharmony_ci%160 = OpLabel
321cb93a386Sopenharmony_ci%162 = OpLoad %v4float %expectedB
322cb93a386Sopenharmony_ci%163 = OpCompositeExtract %float %162 0
323cb93a386Sopenharmony_ci%164 = OpFOrdEqual %bool %float_1 %163
324cb93a386Sopenharmony_ciOpBranch %161
325cb93a386Sopenharmony_ci%161 = OpLabel
326cb93a386Sopenharmony_ci%165 = OpPhi %bool %false %145 %164 %160
327cb93a386Sopenharmony_ciOpSelectionMerge %167 None
328cb93a386Sopenharmony_ciOpBranchConditional %165 %166 %167
329cb93a386Sopenharmony_ci%166 = OpLabel
330cb93a386Sopenharmony_ci%169 = OpLoad %v4float %expectedB
331cb93a386Sopenharmony_ci%170 = OpVectorShuffle %v2float %169 %169 0 1
332cb93a386Sopenharmony_ci%171 = OpFOrdEqual %v2bool %168 %170
333cb93a386Sopenharmony_ci%172 = OpAll %bool %171
334cb93a386Sopenharmony_ciOpBranch %167
335cb93a386Sopenharmony_ci%167 = OpLabel
336cb93a386Sopenharmony_ci%173 = OpPhi %bool %false %161 %172 %166
337cb93a386Sopenharmony_ciOpSelectionMerge %175 None
338cb93a386Sopenharmony_ciOpBranchConditional %173 %174 %175
339cb93a386Sopenharmony_ci%174 = OpLabel
340cb93a386Sopenharmony_ci%177 = OpLoad %v4float %expectedB
341cb93a386Sopenharmony_ci%178 = OpVectorShuffle %v3float %177 %177 0 1 2
342cb93a386Sopenharmony_ci%179 = OpFOrdEqual %v3bool %176 %178
343cb93a386Sopenharmony_ci%180 = OpAll %bool %179
344cb93a386Sopenharmony_ciOpBranch %175
345cb93a386Sopenharmony_ci%175 = OpLabel
346cb93a386Sopenharmony_ci%181 = OpPhi %bool %false %167 %180 %174
347cb93a386Sopenharmony_ciOpSelectionMerge %183 None
348cb93a386Sopenharmony_ciOpBranchConditional %181 %182 %183
349cb93a386Sopenharmony_ci%182 = OpLabel
350cb93a386Sopenharmony_ci%184 = OpLoad %v4float %expectedB
351cb93a386Sopenharmony_ci%185 = OpFOrdEqual %v4bool %37 %184
352cb93a386Sopenharmony_ci%186 = OpAll %bool %185
353cb93a386Sopenharmony_ciOpBranch %183
354cb93a386Sopenharmony_ci%183 = OpLabel
355cb93a386Sopenharmony_ci%187 = OpPhi %bool %false %175 %186 %182
356cb93a386Sopenharmony_ciOpSelectionMerge %189 None
357cb93a386Sopenharmony_ciOpBranchConditional %187 %188 %189
358cb93a386Sopenharmony_ci%188 = OpLabel
359cb93a386Sopenharmony_ci%191 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
360cb93a386Sopenharmony_ci%192 = OpLoad %v4float %191
361cb93a386Sopenharmony_ci%193 = OpCompositeExtract %float %192 0
362cb93a386Sopenharmony_ci%194 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
363cb93a386Sopenharmony_ci%195 = OpLoad %v4float %194
364cb93a386Sopenharmony_ci%196 = OpCompositeExtract %float %195 0
365cb93a386Sopenharmony_ci%190 = OpExtInst %float %1 SmoothStep %193 %196 %float_n1_25
366cb93a386Sopenharmony_ci%197 = OpLoad %v4float %expectedB
367cb93a386Sopenharmony_ci%198 = OpCompositeExtract %float %197 0
368cb93a386Sopenharmony_ci%199 = OpFOrdEqual %bool %190 %198
369cb93a386Sopenharmony_ciOpBranch %189
370cb93a386Sopenharmony_ci%189 = OpLabel
371cb93a386Sopenharmony_ci%200 = OpPhi %bool %false %183 %199 %188
372cb93a386Sopenharmony_ciOpSelectionMerge %202 None
373cb93a386Sopenharmony_ciOpBranchConditional %200 %201 %202
374cb93a386Sopenharmony_ci%201 = OpLabel
375cb93a386Sopenharmony_ci%204 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
376cb93a386Sopenharmony_ci%205 = OpLoad %v4float %204
377cb93a386Sopenharmony_ci%206 = OpVectorShuffle %v2float %205 %205 0 1
378cb93a386Sopenharmony_ci%207 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
379cb93a386Sopenharmony_ci%208 = OpLoad %v4float %207
380cb93a386Sopenharmony_ci%209 = OpVectorShuffle %v2float %208 %208 0 1
381cb93a386Sopenharmony_ci%203 = OpExtInst %v2float %1 SmoothStep %206 %209 %121
382cb93a386Sopenharmony_ci%210 = OpLoad %v4float %expectedB
383cb93a386Sopenharmony_ci%211 = OpVectorShuffle %v2float %210 %210 0 1
384cb93a386Sopenharmony_ci%212 = OpFOrdEqual %v2bool %203 %211
385cb93a386Sopenharmony_ci%213 = OpAll %bool %212
386cb93a386Sopenharmony_ciOpBranch %202
387cb93a386Sopenharmony_ci%202 = OpLabel
388cb93a386Sopenharmony_ci%214 = OpPhi %bool %false %189 %213 %201
389cb93a386Sopenharmony_ciOpSelectionMerge %216 None
390cb93a386Sopenharmony_ciOpBranchConditional %214 %215 %216
391cb93a386Sopenharmony_ci%215 = OpLabel
392cb93a386Sopenharmony_ci%218 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
393cb93a386Sopenharmony_ci%219 = OpLoad %v4float %218
394cb93a386Sopenharmony_ci%220 = OpVectorShuffle %v3float %219 %219 0 1 2
395cb93a386Sopenharmony_ci%221 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
396cb93a386Sopenharmony_ci%222 = OpLoad %v4float %221
397cb93a386Sopenharmony_ci%223 = OpVectorShuffle %v3float %222 %222 0 1 2
398cb93a386Sopenharmony_ci%217 = OpExtInst %v3float %1 SmoothStep %220 %223 %138
399cb93a386Sopenharmony_ci%224 = OpLoad %v4float %expectedB
400cb93a386Sopenharmony_ci%225 = OpVectorShuffle %v3float %224 %224 0 1 2
401cb93a386Sopenharmony_ci%226 = OpFOrdEqual %v3bool %217 %225
402cb93a386Sopenharmony_ci%227 = OpAll %bool %226
403cb93a386Sopenharmony_ciOpBranch %216
404cb93a386Sopenharmony_ci%216 = OpLabel
405cb93a386Sopenharmony_ci%228 = OpPhi %bool %false %202 %227 %215
406cb93a386Sopenharmony_ciOpSelectionMerge %230 None
407cb93a386Sopenharmony_ciOpBranchConditional %228 %229 %230
408cb93a386Sopenharmony_ci%229 = OpLabel
409cb93a386Sopenharmony_ci%232 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
410cb93a386Sopenharmony_ci%233 = OpLoad %v4float %232
411cb93a386Sopenharmony_ci%234 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
412cb93a386Sopenharmony_ci%235 = OpLoad %v4float %234
413cb93a386Sopenharmony_ci%236 = OpLoad %v4float %constVal
414cb93a386Sopenharmony_ci%231 = OpExtInst %v4float %1 SmoothStep %233 %235 %236
415cb93a386Sopenharmony_ci%237 = OpLoad %v4float %expectedB
416cb93a386Sopenharmony_ci%238 = OpFOrdEqual %v4bool %231 %237
417cb93a386Sopenharmony_ci%239 = OpAll %bool %238
418cb93a386Sopenharmony_ciOpBranch %230
419cb93a386Sopenharmony_ci%230 = OpLabel
420cb93a386Sopenharmony_ci%240 = OpPhi %bool %false %216 %239 %229
421cb93a386Sopenharmony_ciOpSelectionMerge %244 None
422cb93a386Sopenharmony_ciOpBranchConditional %240 %242 %243
423cb93a386Sopenharmony_ci%242 = OpLabel
424cb93a386Sopenharmony_ci%245 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
425cb93a386Sopenharmony_ci%246 = OpLoad %v4float %245
426cb93a386Sopenharmony_ciOpStore %241 %246
427cb93a386Sopenharmony_ciOpBranch %244
428cb93a386Sopenharmony_ci%243 = OpLabel
429cb93a386Sopenharmony_ci%247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
430cb93a386Sopenharmony_ci%248 = OpLoad %v4float %247
431cb93a386Sopenharmony_ciOpStore %241 %248
432cb93a386Sopenharmony_ciOpBranch %244
433cb93a386Sopenharmony_ci%244 = OpLabel
434cb93a386Sopenharmony_ci%249 = OpLoad %v4float %241
435cb93a386Sopenharmony_ciOpReturnValue %249
436cb93a386Sopenharmony_ciOpFunctionEnd
437