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