xref: /aosp_15_r20/external/skia/tests/sksl/shared/SwizzleOpt.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker               OpCapability Shader
2*c8dee2aaSAndroid Build Coastguard Worker          %1 = OpExtInstImport "GLSL.std.450"
3*c8dee2aaSAndroid Build Coastguard Worker               OpMemoryModel Logical GLSL450
4*c8dee2aaSAndroid Build Coastguard Worker               OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor
5*c8dee2aaSAndroid Build Coastguard Worker               OpExecutionMode %_entrypoint_v OriginUpperLeft
6*c8dee2aaSAndroid Build Coastguard Worker               OpName %sk_FragColor "sk_FragColor"
7*c8dee2aaSAndroid Build Coastguard Worker               OpName %_UniformBuffer "_UniformBuffer"
8*c8dee2aaSAndroid Build Coastguard Worker               OpMemberName %_UniformBuffer 0 "colorRed"
9*c8dee2aaSAndroid Build Coastguard Worker               OpMemberName %_UniformBuffer 1 "colorGreen"
10*c8dee2aaSAndroid Build Coastguard Worker               OpMemberName %_UniformBuffer 2 "testInputs"
11*c8dee2aaSAndroid Build Coastguard Worker               OpName %_entrypoint_v "_entrypoint_v"
12*c8dee2aaSAndroid Build Coastguard Worker               OpName %fn_hh4 "fn_hh4"
13*c8dee2aaSAndroid Build Coastguard Worker               OpName %x "x"
14*c8dee2aaSAndroid Build Coastguard Worker               OpName %main "main"
15*c8dee2aaSAndroid Build Coastguard Worker               OpName %v "v"
16*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %sk_FragColor RelaxedPrecision
17*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %sk_FragColor Location 0
18*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %sk_FragColor Index 0
19*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 0 Offset 0
20*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 1 Offset 16
22*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 2 Offset 32
24*c8dee2aaSAndroid Build Coastguard Worker               OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %_UniformBuffer Block
26*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %8 Binding 0
27*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %8 DescriptorSet 0
28*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %38 RelaxedPrecision
29*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %39 RelaxedPrecision
30*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %v RelaxedPrecision
31*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %48 RelaxedPrecision
32*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %49 RelaxedPrecision
33*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %51 RelaxedPrecision
34*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %52 RelaxedPrecision
35*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %53 RelaxedPrecision
36*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %54 RelaxedPrecision
37*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %55 RelaxedPrecision
38*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %56 RelaxedPrecision
39*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %57 RelaxedPrecision
40*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %58 RelaxedPrecision
41*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %60 RelaxedPrecision
42*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %61 RelaxedPrecision
43*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %62 RelaxedPrecision
44*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %63 RelaxedPrecision
45*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %64 RelaxedPrecision
46*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %65 RelaxedPrecision
47*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %66 RelaxedPrecision
48*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %67 RelaxedPrecision
49*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %68 RelaxedPrecision
50*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %69 RelaxedPrecision
51*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %70 RelaxedPrecision
52*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %71 RelaxedPrecision
53*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %72 RelaxedPrecision
54*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %77 RelaxedPrecision
55*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %78 RelaxedPrecision
56*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %81 RelaxedPrecision
57*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %82 RelaxedPrecision
58*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %85 RelaxedPrecision
59*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %88 RelaxedPrecision
60*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %91 RelaxedPrecision
61*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %92 RelaxedPrecision
62*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %95 RelaxedPrecision
63*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %96 RelaxedPrecision
64*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %102 RelaxedPrecision
65*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %103 RelaxedPrecision
66*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %104 RelaxedPrecision
67*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %105 RelaxedPrecision
68*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %106 RelaxedPrecision
69*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %107 RelaxedPrecision
70*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %109 RelaxedPrecision
71*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %110 RelaxedPrecision
72*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %112 RelaxedPrecision
73*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %113 RelaxedPrecision
74*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %114 RelaxedPrecision
75*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %115 RelaxedPrecision
76*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %116 RelaxedPrecision
77*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %117 RelaxedPrecision
78*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %118 RelaxedPrecision
79*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %119 RelaxedPrecision
80*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %120 RelaxedPrecision
81*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %121 RelaxedPrecision
82*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %122 RelaxedPrecision
83*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %123 RelaxedPrecision
84*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %124 RelaxedPrecision
85*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %125 RelaxedPrecision
86*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %126 RelaxedPrecision
87*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %127 RelaxedPrecision
88*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %137 RelaxedPrecision
89*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %139 RelaxedPrecision
90*c8dee2aaSAndroid Build Coastguard Worker               OpDecorate %140 RelaxedPrecision
91*c8dee2aaSAndroid Build Coastguard Worker      %float = OpTypeFloat 32
92*c8dee2aaSAndroid Build Coastguard Worker    %v4float = OpTypeVector %float 4
93*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Output_v4float = OpTypePointer Output %v4float
94*c8dee2aaSAndroid Build Coastguard Worker%sk_FragColor = OpVariable %_ptr_Output_v4float Output
95*c8dee2aaSAndroid Build Coastguard Worker%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
96*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
97*c8dee2aaSAndroid Build Coastguard Worker          %8 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
98*c8dee2aaSAndroid Build Coastguard Worker       %void = OpTypeVoid
99*c8dee2aaSAndroid Build Coastguard Worker         %13 = OpTypeFunction %void
100*c8dee2aaSAndroid Build Coastguard Worker    %float_0 = OpConstant %float 0
101*c8dee2aaSAndroid Build Coastguard Worker    %v2float = OpTypeVector %float 2
102*c8dee2aaSAndroid Build Coastguard Worker         %17 = OpConstantComposite %v2float %float_0 %float_0
103*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v2float = OpTypePointer Function %v2float
104*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_v4float = OpTypePointer Function %v4float
105*c8dee2aaSAndroid Build Coastguard Worker         %22 = OpTypeFunction %float %_ptr_Function_v4float
106*c8dee2aaSAndroid Build Coastguard Worker        %int = OpTypeInt 32 1
107*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Function_int = OpTypePointer Function %int
108*c8dee2aaSAndroid Build Coastguard Worker      %int_1 = OpConstant %int 1
109*c8dee2aaSAndroid Build Coastguard Worker      %int_2 = OpConstant %int 2
110*c8dee2aaSAndroid Build Coastguard Worker       %bool = OpTypeBool
111*c8dee2aaSAndroid Build Coastguard Worker         %42 = OpTypeFunction %v4float %_ptr_Function_v2float
112*c8dee2aaSAndroid Build Coastguard Worker%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
113*c8dee2aaSAndroid Build Coastguard Worker    %v3float = OpTypeVector %float 3
114*c8dee2aaSAndroid Build Coastguard Worker    %float_1 = OpConstant %float 1
115*c8dee2aaSAndroid Build Coastguard Worker  %float_123 = OpConstant %float 123
116*c8dee2aaSAndroid Build Coastguard Worker  %float_456 = OpConstant %float 456
117*c8dee2aaSAndroid Build Coastguard Worker    %float_2 = OpConstant %float 2
118*c8dee2aaSAndroid Build Coastguard Worker    %float_3 = OpConstant %float 3
119*c8dee2aaSAndroid Build Coastguard Worker         %99 = OpConstantComposite %v4float %float_1 %float_1 %float_2 %float_3
120*c8dee2aaSAndroid Build Coastguard Worker      %int_0 = OpConstant %int 0
121*c8dee2aaSAndroid Build Coastguard Worker        %128 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
122*c8dee2aaSAndroid Build Coastguard Worker     %v4bool = OpTypeVector %bool 4
123*c8dee2aaSAndroid Build Coastguard Worker%_entrypoint_v = OpFunction %void None %13
124*c8dee2aaSAndroid Build Coastguard Worker         %14 = OpLabel
125*c8dee2aaSAndroid Build Coastguard Worker         %18 = OpVariable %_ptr_Function_v2float Function
126*c8dee2aaSAndroid Build Coastguard Worker               OpStore %18 %17
127*c8dee2aaSAndroid Build Coastguard Worker         %20 = OpFunctionCall %v4float %main %18
128*c8dee2aaSAndroid Build Coastguard Worker               OpStore %sk_FragColor %20
129*c8dee2aaSAndroid Build Coastguard Worker               OpReturn
130*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
131*c8dee2aaSAndroid Build Coastguard Worker     %fn_hh4 = OpFunction %float None %22
132*c8dee2aaSAndroid Build Coastguard Worker         %23 = OpFunctionParameter %_ptr_Function_v4float
133*c8dee2aaSAndroid Build Coastguard Worker         %24 = OpLabel
134*c8dee2aaSAndroid Build Coastguard Worker          %x = OpVariable %_ptr_Function_int Function
135*c8dee2aaSAndroid Build Coastguard Worker               OpStore %x %int_1
136*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %29
137*c8dee2aaSAndroid Build Coastguard Worker         %29 = OpLabel
138*c8dee2aaSAndroid Build Coastguard Worker               OpLoopMerge %33 %32 None
139*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %30
140*c8dee2aaSAndroid Build Coastguard Worker         %30 = OpLabel
141*c8dee2aaSAndroid Build Coastguard Worker         %34 = OpLoad %int %x
142*c8dee2aaSAndroid Build Coastguard Worker         %36 = OpSLessThanEqual %bool %34 %int_2
143*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %36 %31 %33
144*c8dee2aaSAndroid Build Coastguard Worker         %31 = OpLabel
145*c8dee2aaSAndroid Build Coastguard Worker         %38 = OpLoad %v4float %23
146*c8dee2aaSAndroid Build Coastguard Worker         %39 = OpCompositeExtract %float %38 0
147*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %39
148*c8dee2aaSAndroid Build Coastguard Worker         %32 = OpLabel
149*c8dee2aaSAndroid Build Coastguard Worker         %40 = OpLoad %int %x
150*c8dee2aaSAndroid Build Coastguard Worker         %41 = OpIAdd %int %40 %int_1
151*c8dee2aaSAndroid Build Coastguard Worker               OpStore %x %41
152*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %29
153*c8dee2aaSAndroid Build Coastguard Worker         %33 = OpLabel
154*c8dee2aaSAndroid Build Coastguard Worker               OpUnreachable
155*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
156*c8dee2aaSAndroid Build Coastguard Worker       %main = OpFunction %v4float None %42
157*c8dee2aaSAndroid Build Coastguard Worker         %43 = OpFunctionParameter %_ptr_Function_v2float
158*c8dee2aaSAndroid Build Coastguard Worker         %44 = OpLabel
159*c8dee2aaSAndroid Build Coastguard Worker          %v = OpVariable %_ptr_Function_v4float Function
160*c8dee2aaSAndroid Build Coastguard Worker         %73 = OpVariable %_ptr_Function_v4float Function
161*c8dee2aaSAndroid Build Coastguard Worker         %79 = OpVariable %_ptr_Function_v4float Function
162*c8dee2aaSAndroid Build Coastguard Worker         %83 = OpVariable %_ptr_Function_v4float Function
163*c8dee2aaSAndroid Build Coastguard Worker         %86 = OpVariable %_ptr_Function_v4float Function
164*c8dee2aaSAndroid Build Coastguard Worker         %89 = OpVariable %_ptr_Function_v4float Function
165*c8dee2aaSAndroid Build Coastguard Worker         %93 = OpVariable %_ptr_Function_v4float Function
166*c8dee2aaSAndroid Build Coastguard Worker        %132 = OpVariable %_ptr_Function_v4float Function
167*c8dee2aaSAndroid Build Coastguard Worker         %46 = OpAccessChain %_ptr_Uniform_v4float %8 %int_2
168*c8dee2aaSAndroid Build Coastguard Worker         %48 = OpLoad %v4float %46
169*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %48
170*c8dee2aaSAndroid Build Coastguard Worker         %49 = OpVectorShuffle %v3float %48 %48 2 1 0
171*c8dee2aaSAndroid Build Coastguard Worker         %51 = OpCompositeExtract %float %49 0
172*c8dee2aaSAndroid Build Coastguard Worker         %52 = OpCompositeExtract %float %49 1
173*c8dee2aaSAndroid Build Coastguard Worker         %53 = OpCompositeExtract %float %49 2
174*c8dee2aaSAndroid Build Coastguard Worker         %54 = OpCompositeConstruct %v4float %float_0 %51 %52 %53
175*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %54
176*c8dee2aaSAndroid Build Coastguard Worker         %55 = OpVectorShuffle %v2float %54 %54 0 3
177*c8dee2aaSAndroid Build Coastguard Worker         %56 = OpCompositeExtract %float %55 0
178*c8dee2aaSAndroid Build Coastguard Worker         %57 = OpCompositeExtract %float %55 1
179*c8dee2aaSAndroid Build Coastguard Worker         %58 = OpCompositeConstruct %v4float %float_0 %float_0 %56 %57
180*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %58
181*c8dee2aaSAndroid Build Coastguard Worker         %60 = OpVectorShuffle %v2float %58 %58 3 0
182*c8dee2aaSAndroid Build Coastguard Worker         %61 = OpCompositeExtract %float %60 0
183*c8dee2aaSAndroid Build Coastguard Worker         %62 = OpCompositeExtract %float %60 1
184*c8dee2aaSAndroid Build Coastguard Worker         %63 = OpCompositeConstruct %v4float %float_1 %float_1 %61 %62
185*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %63
186*c8dee2aaSAndroid Build Coastguard Worker         %64 = OpVectorShuffle %v2float %63 %63 2 1
187*c8dee2aaSAndroid Build Coastguard Worker         %65 = OpCompositeExtract %float %64 0
188*c8dee2aaSAndroid Build Coastguard Worker         %66 = OpCompositeExtract %float %64 1
189*c8dee2aaSAndroid Build Coastguard Worker         %67 = OpCompositeConstruct %v4float %65 %66 %float_1 %float_1
190*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %67
191*c8dee2aaSAndroid Build Coastguard Worker         %68 = OpVectorShuffle %v2float %67 %67 0 0
192*c8dee2aaSAndroid Build Coastguard Worker         %69 = OpCompositeExtract %float %68 0
193*c8dee2aaSAndroid Build Coastguard Worker         %70 = OpCompositeExtract %float %68 1
194*c8dee2aaSAndroid Build Coastguard Worker         %71 = OpCompositeConstruct %v4float %69 %70 %float_1 %float_1
195*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %71
196*c8dee2aaSAndroid Build Coastguard Worker         %72 = OpVectorShuffle %v4float %71 %71 3 2 3 2
197*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %72
198*c8dee2aaSAndroid Build Coastguard Worker               OpStore %73 %72
199*c8dee2aaSAndroid Build Coastguard Worker         %74 = OpFunctionCall %float %fn_hh4 %73
200*c8dee2aaSAndroid Build Coastguard Worker         %77 = OpCompositeConstruct %v3float %74 %float_123 %float_456
201*c8dee2aaSAndroid Build Coastguard Worker         %78 = OpVectorShuffle %v4float %77 %77 1 1 2 2
202*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %78
203*c8dee2aaSAndroid Build Coastguard Worker               OpStore %79 %78
204*c8dee2aaSAndroid Build Coastguard Worker         %80 = OpFunctionCall %float %fn_hh4 %79
205*c8dee2aaSAndroid Build Coastguard Worker         %81 = OpCompositeConstruct %v3float %80 %float_123 %float_456
206*c8dee2aaSAndroid Build Coastguard Worker         %82 = OpVectorShuffle %v4float %81 %81 1 1 2 2
207*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %82
208*c8dee2aaSAndroid Build Coastguard Worker               OpStore %83 %82
209*c8dee2aaSAndroid Build Coastguard Worker         %84 = OpFunctionCall %float %fn_hh4 %83
210*c8dee2aaSAndroid Build Coastguard Worker         %85 = OpCompositeConstruct %v4float %float_123 %float_456 %float_456 %84
211*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %85
212*c8dee2aaSAndroid Build Coastguard Worker               OpStore %86 %85
213*c8dee2aaSAndroid Build Coastguard Worker         %87 = OpFunctionCall %float %fn_hh4 %86
214*c8dee2aaSAndroid Build Coastguard Worker         %88 = OpCompositeConstruct %v4float %float_123 %float_456 %float_456 %87
215*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %88
216*c8dee2aaSAndroid Build Coastguard Worker               OpStore %89 %88
217*c8dee2aaSAndroid Build Coastguard Worker         %90 = OpFunctionCall %float %fn_hh4 %89
218*c8dee2aaSAndroid Build Coastguard Worker         %91 = OpCompositeConstruct %v3float %90 %float_123 %float_456
219*c8dee2aaSAndroid Build Coastguard Worker         %92 = OpVectorShuffle %v4float %91 %91 1 0 0 2
220*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %92
221*c8dee2aaSAndroid Build Coastguard Worker               OpStore %93 %92
222*c8dee2aaSAndroid Build Coastguard Worker         %94 = OpFunctionCall %float %fn_hh4 %93
223*c8dee2aaSAndroid Build Coastguard Worker         %95 = OpCompositeConstruct %v3float %94 %float_123 %float_456
224*c8dee2aaSAndroid Build Coastguard Worker         %96 = OpVectorShuffle %v4float %95 %95 1 0 0 2
225*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %96
226*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %99
227*c8dee2aaSAndroid Build Coastguard Worker        %100 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0
228*c8dee2aaSAndroid Build Coastguard Worker        %102 = OpLoad %v4float %100
229*c8dee2aaSAndroid Build Coastguard Worker        %103 = OpVectorShuffle %v3float %102 %102 0 1 2
230*c8dee2aaSAndroid Build Coastguard Worker        %104 = OpCompositeExtract %float %103 0
231*c8dee2aaSAndroid Build Coastguard Worker        %105 = OpCompositeExtract %float %103 1
232*c8dee2aaSAndroid Build Coastguard Worker        %106 = OpCompositeExtract %float %103 2
233*c8dee2aaSAndroid Build Coastguard Worker        %107 = OpCompositeConstruct %v4float %104 %105 %106 %float_1
234*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %107
235*c8dee2aaSAndroid Build Coastguard Worker        %108 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0
236*c8dee2aaSAndroid Build Coastguard Worker        %109 = OpLoad %v4float %108
237*c8dee2aaSAndroid Build Coastguard Worker        %110 = OpCompositeExtract %float %109 0
238*c8dee2aaSAndroid Build Coastguard Worker        %111 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0
239*c8dee2aaSAndroid Build Coastguard Worker        %112 = OpLoad %v4float %111
240*c8dee2aaSAndroid Build Coastguard Worker        %113 = OpVectorShuffle %v2float %112 %112 1 2
241*c8dee2aaSAndroid Build Coastguard Worker        %114 = OpCompositeExtract %float %113 0
242*c8dee2aaSAndroid Build Coastguard Worker        %115 = OpCompositeExtract %float %113 1
243*c8dee2aaSAndroid Build Coastguard Worker        %116 = OpCompositeConstruct %v4float %110 %float_1 %114 %115
244*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %116
245*c8dee2aaSAndroid Build Coastguard Worker        %117 = OpLoad %v4float %v
246*c8dee2aaSAndroid Build Coastguard Worker        %118 = OpVectorShuffle %v4float %117 %116 7 6 5 4
247*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %118
248*c8dee2aaSAndroid Build Coastguard Worker        %119 = OpVectorShuffle %v2float %118 %118 1 2
249*c8dee2aaSAndroid Build Coastguard Worker        %120 = OpLoad %v4float %v
250*c8dee2aaSAndroid Build Coastguard Worker        %121 = OpVectorShuffle %v4float %120 %119 4 1 2 5
251*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %121
252*c8dee2aaSAndroid Build Coastguard Worker        %122 = OpVectorShuffle %v2float %121 %121 3 3
253*c8dee2aaSAndroid Build Coastguard Worker        %123 = OpCompositeExtract %float %122 0
254*c8dee2aaSAndroid Build Coastguard Worker        %124 = OpCompositeExtract %float %122 1
255*c8dee2aaSAndroid Build Coastguard Worker        %125 = OpCompositeConstruct %v3float %123 %124 %float_1
256*c8dee2aaSAndroid Build Coastguard Worker        %126 = OpLoad %v4float %v
257*c8dee2aaSAndroid Build Coastguard Worker        %127 = OpVectorShuffle %v4float %126 %125 6 5 4 3
258*c8dee2aaSAndroid Build Coastguard Worker               OpStore %v %127
259*c8dee2aaSAndroid Build Coastguard Worker        %129 = OpFOrdEqual %v4bool %127 %128
260*c8dee2aaSAndroid Build Coastguard Worker        %131 = OpAll %bool %129
261*c8dee2aaSAndroid Build Coastguard Worker               OpSelectionMerge %135 None
262*c8dee2aaSAndroid Build Coastguard Worker               OpBranchConditional %131 %133 %134
263*c8dee2aaSAndroid Build Coastguard Worker        %133 = OpLabel
264*c8dee2aaSAndroid Build Coastguard Worker        %136 = OpAccessChain %_ptr_Uniform_v4float %8 %int_1
265*c8dee2aaSAndroid Build Coastguard Worker        %137 = OpLoad %v4float %136
266*c8dee2aaSAndroid Build Coastguard Worker               OpStore %132 %137
267*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %135
268*c8dee2aaSAndroid Build Coastguard Worker        %134 = OpLabel
269*c8dee2aaSAndroid Build Coastguard Worker        %138 = OpAccessChain %_ptr_Uniform_v4float %8 %int_0
270*c8dee2aaSAndroid Build Coastguard Worker        %139 = OpLoad %v4float %138
271*c8dee2aaSAndroid Build Coastguard Worker               OpStore %132 %139
272*c8dee2aaSAndroid Build Coastguard Worker               OpBranch %135
273*c8dee2aaSAndroid Build Coastguard Worker        %135 = OpLabel
274*c8dee2aaSAndroid Build Coastguard Worker        %140 = OpLoad %v4float %132
275*c8dee2aaSAndroid Build Coastguard Worker               OpReturnValue %140
276*c8dee2aaSAndroid Build Coastguard Worker               OpFunctionEnd
277