1e5c31af7Sopenharmony_ci# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
2e5c31af7Sopenharmony_ci# modify the generating script file. Otherwise changes will be lost!
3e5c31af7Sopenharmony_ci
4e5c31af7Sopenharmony_cigroup invalid_implicit_conversions "Invalid Implicit Conversions"
5e5c31af7Sopenharmony_ci
6e5c31af7Sopenharmony_ci	case add_float_int_float
7e5c31af7Sopenharmony_ci		expect compile_fail
8e5c31af7Sopenharmony_ci		version 300 es
9e5c31af7Sopenharmony_ci
10e5c31af7Sopenharmony_ci		both ""
11e5c31af7Sopenharmony_ci			#version 300 es
12e5c31af7Sopenharmony_ci			precision mediump float;
13e5c31af7Sopenharmony_ci			precision mediump int;
14e5c31af7Sopenharmony_ci
15e5c31af7Sopenharmony_ci			${DECLARATIONS}
16e5c31af7Sopenharmony_ci
17e5c31af7Sopenharmony_ci			void main()
18e5c31af7Sopenharmony_ci			{
19e5c31af7Sopenharmony_ci				float c;
20e5c31af7Sopenharmony_ci				float a;
21e5c31af7Sopenharmony_ci				int b;
22e5c31af7Sopenharmony_ci				float c = a + b;
23e5c31af7Sopenharmony_ci			}
24e5c31af7Sopenharmony_ci		""
25e5c31af7Sopenharmony_ci	end
26e5c31af7Sopenharmony_ci	case add_float_int_int
27e5c31af7Sopenharmony_ci		expect compile_fail
28e5c31af7Sopenharmony_ci		version 300 es
29e5c31af7Sopenharmony_ci
30e5c31af7Sopenharmony_ci		both ""
31e5c31af7Sopenharmony_ci			#version 300 es
32e5c31af7Sopenharmony_ci			precision mediump float;
33e5c31af7Sopenharmony_ci			precision mediump int;
34e5c31af7Sopenharmony_ci
35e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
36e5c31af7Sopenharmony_ci
37e5c31af7Sopenharmony_ci			void main()
38e5c31af7Sopenharmony_ci			{
39e5c31af7Sopenharmony_ci				int c;
40e5c31af7Sopenharmony_ci				float a;
41e5c31af7Sopenharmony_ci				int b;
42e5c31af7Sopenharmony_ci				int c = a + b;
43e5c31af7Sopenharmony_ci			}
44e5c31af7Sopenharmony_ci		""
45e5c31af7Sopenharmony_ci	end
46e5c31af7Sopenharmony_ci	case add_float_ivec2_float
47e5c31af7Sopenharmony_ci		expect compile_fail
48e5c31af7Sopenharmony_ci		version 300 es
49e5c31af7Sopenharmony_ci
50e5c31af7Sopenharmony_ci		both ""
51e5c31af7Sopenharmony_ci			#version 300 es
52e5c31af7Sopenharmony_ci			precision mediump float;
53e5c31af7Sopenharmony_ci			precision mediump int;
54e5c31af7Sopenharmony_ci
55e5c31af7Sopenharmony_ci			${DECLARATIONS}
56e5c31af7Sopenharmony_ci
57e5c31af7Sopenharmony_ci			void main()
58e5c31af7Sopenharmony_ci			{
59e5c31af7Sopenharmony_ci				float c;
60e5c31af7Sopenharmony_ci				float a;
61e5c31af7Sopenharmony_ci				ivec2 b;
62e5c31af7Sopenharmony_ci				float c = a + b;
63e5c31af7Sopenharmony_ci			}
64e5c31af7Sopenharmony_ci		""
65e5c31af7Sopenharmony_ci	end
66e5c31af7Sopenharmony_ci	case add_float_ivec2_ivec2
67e5c31af7Sopenharmony_ci		expect compile_fail
68e5c31af7Sopenharmony_ci		version 300 es
69e5c31af7Sopenharmony_ci
70e5c31af7Sopenharmony_ci		both ""
71e5c31af7Sopenharmony_ci			#version 300 es
72e5c31af7Sopenharmony_ci			precision mediump float;
73e5c31af7Sopenharmony_ci			precision mediump int;
74e5c31af7Sopenharmony_ci
75e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
76e5c31af7Sopenharmony_ci
77e5c31af7Sopenharmony_ci			void main()
78e5c31af7Sopenharmony_ci			{
79e5c31af7Sopenharmony_ci				ivec2 c;
80e5c31af7Sopenharmony_ci				float a;
81e5c31af7Sopenharmony_ci				ivec2 b;
82e5c31af7Sopenharmony_ci				ivec2 c = a + b;
83e5c31af7Sopenharmony_ci			}
84e5c31af7Sopenharmony_ci		""
85e5c31af7Sopenharmony_ci	end
86e5c31af7Sopenharmony_ci	case add_float_ivec3_float
87e5c31af7Sopenharmony_ci		expect compile_fail
88e5c31af7Sopenharmony_ci		version 300 es
89e5c31af7Sopenharmony_ci
90e5c31af7Sopenharmony_ci		both ""
91e5c31af7Sopenharmony_ci			#version 300 es
92e5c31af7Sopenharmony_ci			precision mediump float;
93e5c31af7Sopenharmony_ci			precision mediump int;
94e5c31af7Sopenharmony_ci
95e5c31af7Sopenharmony_ci			${DECLARATIONS}
96e5c31af7Sopenharmony_ci
97e5c31af7Sopenharmony_ci			void main()
98e5c31af7Sopenharmony_ci			{
99e5c31af7Sopenharmony_ci				float c;
100e5c31af7Sopenharmony_ci				float a;
101e5c31af7Sopenharmony_ci				ivec3 b;
102e5c31af7Sopenharmony_ci				float c = a + b;
103e5c31af7Sopenharmony_ci			}
104e5c31af7Sopenharmony_ci		""
105e5c31af7Sopenharmony_ci	end
106e5c31af7Sopenharmony_ci	case add_float_ivec3_ivec3
107e5c31af7Sopenharmony_ci		expect compile_fail
108e5c31af7Sopenharmony_ci		version 300 es
109e5c31af7Sopenharmony_ci
110e5c31af7Sopenharmony_ci		both ""
111e5c31af7Sopenharmony_ci			#version 300 es
112e5c31af7Sopenharmony_ci			precision mediump float;
113e5c31af7Sopenharmony_ci			precision mediump int;
114e5c31af7Sopenharmony_ci
115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
116e5c31af7Sopenharmony_ci
117e5c31af7Sopenharmony_ci			void main()
118e5c31af7Sopenharmony_ci			{
119e5c31af7Sopenharmony_ci				ivec3 c;
120e5c31af7Sopenharmony_ci				float a;
121e5c31af7Sopenharmony_ci				ivec3 b;
122e5c31af7Sopenharmony_ci				ivec3 c = a + b;
123e5c31af7Sopenharmony_ci			}
124e5c31af7Sopenharmony_ci		""
125e5c31af7Sopenharmony_ci	end
126e5c31af7Sopenharmony_ci	case add_float_ivec4_float
127e5c31af7Sopenharmony_ci		expect compile_fail
128e5c31af7Sopenharmony_ci		version 300 es
129e5c31af7Sopenharmony_ci
130e5c31af7Sopenharmony_ci		both ""
131e5c31af7Sopenharmony_ci			#version 300 es
132e5c31af7Sopenharmony_ci			precision mediump float;
133e5c31af7Sopenharmony_ci			precision mediump int;
134e5c31af7Sopenharmony_ci
135e5c31af7Sopenharmony_ci			${DECLARATIONS}
136e5c31af7Sopenharmony_ci
137e5c31af7Sopenharmony_ci			void main()
138e5c31af7Sopenharmony_ci			{
139e5c31af7Sopenharmony_ci				float c;
140e5c31af7Sopenharmony_ci				float a;
141e5c31af7Sopenharmony_ci				ivec4 b;
142e5c31af7Sopenharmony_ci				float c = a + b;
143e5c31af7Sopenharmony_ci			}
144e5c31af7Sopenharmony_ci		""
145e5c31af7Sopenharmony_ci	end
146e5c31af7Sopenharmony_ci	case add_float_ivec4_ivec4
147e5c31af7Sopenharmony_ci		expect compile_fail
148e5c31af7Sopenharmony_ci		version 300 es
149e5c31af7Sopenharmony_ci
150e5c31af7Sopenharmony_ci		both ""
151e5c31af7Sopenharmony_ci			#version 300 es
152e5c31af7Sopenharmony_ci			precision mediump float;
153e5c31af7Sopenharmony_ci			precision mediump int;
154e5c31af7Sopenharmony_ci
155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
156e5c31af7Sopenharmony_ci
157e5c31af7Sopenharmony_ci			void main()
158e5c31af7Sopenharmony_ci			{
159e5c31af7Sopenharmony_ci				ivec4 c;
160e5c31af7Sopenharmony_ci				float a;
161e5c31af7Sopenharmony_ci				ivec4 b;
162e5c31af7Sopenharmony_ci				ivec4 c = a + b;
163e5c31af7Sopenharmony_ci			}
164e5c31af7Sopenharmony_ci		""
165e5c31af7Sopenharmony_ci	end
166e5c31af7Sopenharmony_ci	case add_vec2_int_vec2
167e5c31af7Sopenharmony_ci		expect compile_fail
168e5c31af7Sopenharmony_ci		version 300 es
169e5c31af7Sopenharmony_ci
170e5c31af7Sopenharmony_ci		both ""
171e5c31af7Sopenharmony_ci			#version 300 es
172e5c31af7Sopenharmony_ci			precision mediump float;
173e5c31af7Sopenharmony_ci			precision mediump int;
174e5c31af7Sopenharmony_ci
175e5c31af7Sopenharmony_ci			${DECLARATIONS}
176e5c31af7Sopenharmony_ci
177e5c31af7Sopenharmony_ci			void main()
178e5c31af7Sopenharmony_ci			{
179e5c31af7Sopenharmony_ci				vec2 c;
180e5c31af7Sopenharmony_ci				vec2 a;
181e5c31af7Sopenharmony_ci				int b;
182e5c31af7Sopenharmony_ci				vec2 c = a + b;
183e5c31af7Sopenharmony_ci			}
184e5c31af7Sopenharmony_ci		""
185e5c31af7Sopenharmony_ci	end
186e5c31af7Sopenharmony_ci	case add_vec2_int_int
187e5c31af7Sopenharmony_ci		expect compile_fail
188e5c31af7Sopenharmony_ci		version 300 es
189e5c31af7Sopenharmony_ci
190e5c31af7Sopenharmony_ci		both ""
191e5c31af7Sopenharmony_ci			#version 300 es
192e5c31af7Sopenharmony_ci			precision mediump float;
193e5c31af7Sopenharmony_ci			precision mediump int;
194e5c31af7Sopenharmony_ci
195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
196e5c31af7Sopenharmony_ci
197e5c31af7Sopenharmony_ci			void main()
198e5c31af7Sopenharmony_ci			{
199e5c31af7Sopenharmony_ci				int c;
200e5c31af7Sopenharmony_ci				vec2 a;
201e5c31af7Sopenharmony_ci				int b;
202e5c31af7Sopenharmony_ci				int c = a + b;
203e5c31af7Sopenharmony_ci			}
204e5c31af7Sopenharmony_ci		""
205e5c31af7Sopenharmony_ci	end
206e5c31af7Sopenharmony_ci	case add_vec2_ivec2_vec2
207e5c31af7Sopenharmony_ci		expect compile_fail
208e5c31af7Sopenharmony_ci		version 300 es
209e5c31af7Sopenharmony_ci
210e5c31af7Sopenharmony_ci		both ""
211e5c31af7Sopenharmony_ci			#version 300 es
212e5c31af7Sopenharmony_ci			precision mediump float;
213e5c31af7Sopenharmony_ci			precision mediump int;
214e5c31af7Sopenharmony_ci
215e5c31af7Sopenharmony_ci			${DECLARATIONS}
216e5c31af7Sopenharmony_ci
217e5c31af7Sopenharmony_ci			void main()
218e5c31af7Sopenharmony_ci			{
219e5c31af7Sopenharmony_ci				vec2 c;
220e5c31af7Sopenharmony_ci				vec2 a;
221e5c31af7Sopenharmony_ci				ivec2 b;
222e5c31af7Sopenharmony_ci				vec2 c = a + b;
223e5c31af7Sopenharmony_ci			}
224e5c31af7Sopenharmony_ci		""
225e5c31af7Sopenharmony_ci	end
226e5c31af7Sopenharmony_ci	case add_vec2_ivec2_ivec2
227e5c31af7Sopenharmony_ci		expect compile_fail
228e5c31af7Sopenharmony_ci		version 300 es
229e5c31af7Sopenharmony_ci
230e5c31af7Sopenharmony_ci		both ""
231e5c31af7Sopenharmony_ci			#version 300 es
232e5c31af7Sopenharmony_ci			precision mediump float;
233e5c31af7Sopenharmony_ci			precision mediump int;
234e5c31af7Sopenharmony_ci
235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
236e5c31af7Sopenharmony_ci
237e5c31af7Sopenharmony_ci			void main()
238e5c31af7Sopenharmony_ci			{
239e5c31af7Sopenharmony_ci				ivec2 c;
240e5c31af7Sopenharmony_ci				vec2 a;
241e5c31af7Sopenharmony_ci				ivec2 b;
242e5c31af7Sopenharmony_ci				ivec2 c = a + b;
243e5c31af7Sopenharmony_ci			}
244e5c31af7Sopenharmony_ci		""
245e5c31af7Sopenharmony_ci	end
246e5c31af7Sopenharmony_ci	case add_vec2_ivec3_vec2
247e5c31af7Sopenharmony_ci		expect compile_fail
248e5c31af7Sopenharmony_ci		version 300 es
249e5c31af7Sopenharmony_ci
250e5c31af7Sopenharmony_ci		both ""
251e5c31af7Sopenharmony_ci			#version 300 es
252e5c31af7Sopenharmony_ci			precision mediump float;
253e5c31af7Sopenharmony_ci			precision mediump int;
254e5c31af7Sopenharmony_ci
255e5c31af7Sopenharmony_ci			${DECLARATIONS}
256e5c31af7Sopenharmony_ci
257e5c31af7Sopenharmony_ci			void main()
258e5c31af7Sopenharmony_ci			{
259e5c31af7Sopenharmony_ci				vec2 c;
260e5c31af7Sopenharmony_ci				vec2 a;
261e5c31af7Sopenharmony_ci				ivec3 b;
262e5c31af7Sopenharmony_ci				vec2 c = a + b;
263e5c31af7Sopenharmony_ci			}
264e5c31af7Sopenharmony_ci		""
265e5c31af7Sopenharmony_ci	end
266e5c31af7Sopenharmony_ci	case add_vec2_ivec3_ivec3
267e5c31af7Sopenharmony_ci		expect compile_fail
268e5c31af7Sopenharmony_ci		version 300 es
269e5c31af7Sopenharmony_ci
270e5c31af7Sopenharmony_ci		both ""
271e5c31af7Sopenharmony_ci			#version 300 es
272e5c31af7Sopenharmony_ci			precision mediump float;
273e5c31af7Sopenharmony_ci			precision mediump int;
274e5c31af7Sopenharmony_ci
275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
276e5c31af7Sopenharmony_ci
277e5c31af7Sopenharmony_ci			void main()
278e5c31af7Sopenharmony_ci			{
279e5c31af7Sopenharmony_ci				ivec3 c;
280e5c31af7Sopenharmony_ci				vec2 a;
281e5c31af7Sopenharmony_ci				ivec3 b;
282e5c31af7Sopenharmony_ci				ivec3 c = a + b;
283e5c31af7Sopenharmony_ci			}
284e5c31af7Sopenharmony_ci		""
285e5c31af7Sopenharmony_ci	end
286e5c31af7Sopenharmony_ci	case add_vec2_ivec4_vec2
287e5c31af7Sopenharmony_ci		expect compile_fail
288e5c31af7Sopenharmony_ci		version 300 es
289e5c31af7Sopenharmony_ci
290e5c31af7Sopenharmony_ci		both ""
291e5c31af7Sopenharmony_ci			#version 300 es
292e5c31af7Sopenharmony_ci			precision mediump float;
293e5c31af7Sopenharmony_ci			precision mediump int;
294e5c31af7Sopenharmony_ci
295e5c31af7Sopenharmony_ci			${DECLARATIONS}
296e5c31af7Sopenharmony_ci
297e5c31af7Sopenharmony_ci			void main()
298e5c31af7Sopenharmony_ci			{
299e5c31af7Sopenharmony_ci				vec2 c;
300e5c31af7Sopenharmony_ci				vec2 a;
301e5c31af7Sopenharmony_ci				ivec4 b;
302e5c31af7Sopenharmony_ci				vec2 c = a + b;
303e5c31af7Sopenharmony_ci			}
304e5c31af7Sopenharmony_ci		""
305e5c31af7Sopenharmony_ci	end
306e5c31af7Sopenharmony_ci	case add_vec2_ivec4_ivec4
307e5c31af7Sopenharmony_ci		expect compile_fail
308e5c31af7Sopenharmony_ci		version 300 es
309e5c31af7Sopenharmony_ci
310e5c31af7Sopenharmony_ci		both ""
311e5c31af7Sopenharmony_ci			#version 300 es
312e5c31af7Sopenharmony_ci			precision mediump float;
313e5c31af7Sopenharmony_ci			precision mediump int;
314e5c31af7Sopenharmony_ci
315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
316e5c31af7Sopenharmony_ci
317e5c31af7Sopenharmony_ci			void main()
318e5c31af7Sopenharmony_ci			{
319e5c31af7Sopenharmony_ci				ivec4 c;
320e5c31af7Sopenharmony_ci				vec2 a;
321e5c31af7Sopenharmony_ci				ivec4 b;
322e5c31af7Sopenharmony_ci				ivec4 c = a + b;
323e5c31af7Sopenharmony_ci			}
324e5c31af7Sopenharmony_ci		""
325e5c31af7Sopenharmony_ci	end
326e5c31af7Sopenharmony_ci	case add_vec3_int_vec3
327e5c31af7Sopenharmony_ci		expect compile_fail
328e5c31af7Sopenharmony_ci		version 300 es
329e5c31af7Sopenharmony_ci
330e5c31af7Sopenharmony_ci		both ""
331e5c31af7Sopenharmony_ci			#version 300 es
332e5c31af7Sopenharmony_ci			precision mediump float;
333e5c31af7Sopenharmony_ci			precision mediump int;
334e5c31af7Sopenharmony_ci
335e5c31af7Sopenharmony_ci			${DECLARATIONS}
336e5c31af7Sopenharmony_ci
337e5c31af7Sopenharmony_ci			void main()
338e5c31af7Sopenharmony_ci			{
339e5c31af7Sopenharmony_ci				vec3 c;
340e5c31af7Sopenharmony_ci				vec3 a;
341e5c31af7Sopenharmony_ci				int b;
342e5c31af7Sopenharmony_ci				vec3 c = a + b;
343e5c31af7Sopenharmony_ci			}
344e5c31af7Sopenharmony_ci		""
345e5c31af7Sopenharmony_ci	end
346e5c31af7Sopenharmony_ci	case add_vec3_int_int
347e5c31af7Sopenharmony_ci		expect compile_fail
348e5c31af7Sopenharmony_ci		version 300 es
349e5c31af7Sopenharmony_ci
350e5c31af7Sopenharmony_ci		both ""
351e5c31af7Sopenharmony_ci			#version 300 es
352e5c31af7Sopenharmony_ci			precision mediump float;
353e5c31af7Sopenharmony_ci			precision mediump int;
354e5c31af7Sopenharmony_ci
355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
356e5c31af7Sopenharmony_ci
357e5c31af7Sopenharmony_ci			void main()
358e5c31af7Sopenharmony_ci			{
359e5c31af7Sopenharmony_ci				int c;
360e5c31af7Sopenharmony_ci				vec3 a;
361e5c31af7Sopenharmony_ci				int b;
362e5c31af7Sopenharmony_ci				int c = a + b;
363e5c31af7Sopenharmony_ci			}
364e5c31af7Sopenharmony_ci		""
365e5c31af7Sopenharmony_ci	end
366e5c31af7Sopenharmony_ci	case add_vec3_ivec2_vec3
367e5c31af7Sopenharmony_ci		expect compile_fail
368e5c31af7Sopenharmony_ci		version 300 es
369e5c31af7Sopenharmony_ci
370e5c31af7Sopenharmony_ci		both ""
371e5c31af7Sopenharmony_ci			#version 300 es
372e5c31af7Sopenharmony_ci			precision mediump float;
373e5c31af7Sopenharmony_ci			precision mediump int;
374e5c31af7Sopenharmony_ci
375e5c31af7Sopenharmony_ci			${DECLARATIONS}
376e5c31af7Sopenharmony_ci
377e5c31af7Sopenharmony_ci			void main()
378e5c31af7Sopenharmony_ci			{
379e5c31af7Sopenharmony_ci				vec3 c;
380e5c31af7Sopenharmony_ci				vec3 a;
381e5c31af7Sopenharmony_ci				ivec2 b;
382e5c31af7Sopenharmony_ci				vec3 c = a + b;
383e5c31af7Sopenharmony_ci			}
384e5c31af7Sopenharmony_ci		""
385e5c31af7Sopenharmony_ci	end
386e5c31af7Sopenharmony_ci	case add_vec3_ivec2_ivec2
387e5c31af7Sopenharmony_ci		expect compile_fail
388e5c31af7Sopenharmony_ci		version 300 es
389e5c31af7Sopenharmony_ci
390e5c31af7Sopenharmony_ci		both ""
391e5c31af7Sopenharmony_ci			#version 300 es
392e5c31af7Sopenharmony_ci			precision mediump float;
393e5c31af7Sopenharmony_ci			precision mediump int;
394e5c31af7Sopenharmony_ci
395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
396e5c31af7Sopenharmony_ci
397e5c31af7Sopenharmony_ci			void main()
398e5c31af7Sopenharmony_ci			{
399e5c31af7Sopenharmony_ci				ivec2 c;
400e5c31af7Sopenharmony_ci				vec3 a;
401e5c31af7Sopenharmony_ci				ivec2 b;
402e5c31af7Sopenharmony_ci				ivec2 c = a + b;
403e5c31af7Sopenharmony_ci			}
404e5c31af7Sopenharmony_ci		""
405e5c31af7Sopenharmony_ci	end
406e5c31af7Sopenharmony_ci	case add_vec3_ivec3_vec3
407e5c31af7Sopenharmony_ci		expect compile_fail
408e5c31af7Sopenharmony_ci		version 300 es
409e5c31af7Sopenharmony_ci
410e5c31af7Sopenharmony_ci		both ""
411e5c31af7Sopenharmony_ci			#version 300 es
412e5c31af7Sopenharmony_ci			precision mediump float;
413e5c31af7Sopenharmony_ci			precision mediump int;
414e5c31af7Sopenharmony_ci
415e5c31af7Sopenharmony_ci			${DECLARATIONS}
416e5c31af7Sopenharmony_ci
417e5c31af7Sopenharmony_ci			void main()
418e5c31af7Sopenharmony_ci			{
419e5c31af7Sopenharmony_ci				vec3 c;
420e5c31af7Sopenharmony_ci				vec3 a;
421e5c31af7Sopenharmony_ci				ivec3 b;
422e5c31af7Sopenharmony_ci				vec3 c = a + b;
423e5c31af7Sopenharmony_ci			}
424e5c31af7Sopenharmony_ci		""
425e5c31af7Sopenharmony_ci	end
426e5c31af7Sopenharmony_ci	case add_vec3_ivec3_ivec3
427e5c31af7Sopenharmony_ci		expect compile_fail
428e5c31af7Sopenharmony_ci		version 300 es
429e5c31af7Sopenharmony_ci
430e5c31af7Sopenharmony_ci		both ""
431e5c31af7Sopenharmony_ci			#version 300 es
432e5c31af7Sopenharmony_ci			precision mediump float;
433e5c31af7Sopenharmony_ci			precision mediump int;
434e5c31af7Sopenharmony_ci
435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
436e5c31af7Sopenharmony_ci
437e5c31af7Sopenharmony_ci			void main()
438e5c31af7Sopenharmony_ci			{
439e5c31af7Sopenharmony_ci				ivec3 c;
440e5c31af7Sopenharmony_ci				vec3 a;
441e5c31af7Sopenharmony_ci				ivec3 b;
442e5c31af7Sopenharmony_ci				ivec3 c = a + b;
443e5c31af7Sopenharmony_ci			}
444e5c31af7Sopenharmony_ci		""
445e5c31af7Sopenharmony_ci	end
446e5c31af7Sopenharmony_ci	case add_vec3_ivec4_vec3
447e5c31af7Sopenharmony_ci		expect compile_fail
448e5c31af7Sopenharmony_ci		version 300 es
449e5c31af7Sopenharmony_ci
450e5c31af7Sopenharmony_ci		both ""
451e5c31af7Sopenharmony_ci			#version 300 es
452e5c31af7Sopenharmony_ci			precision mediump float;
453e5c31af7Sopenharmony_ci			precision mediump int;
454e5c31af7Sopenharmony_ci
455e5c31af7Sopenharmony_ci			${DECLARATIONS}
456e5c31af7Sopenharmony_ci
457e5c31af7Sopenharmony_ci			void main()
458e5c31af7Sopenharmony_ci			{
459e5c31af7Sopenharmony_ci				vec3 c;
460e5c31af7Sopenharmony_ci				vec3 a;
461e5c31af7Sopenharmony_ci				ivec4 b;
462e5c31af7Sopenharmony_ci				vec3 c = a + b;
463e5c31af7Sopenharmony_ci			}
464e5c31af7Sopenharmony_ci		""
465e5c31af7Sopenharmony_ci	end
466e5c31af7Sopenharmony_ci	case add_vec3_ivec4_ivec4
467e5c31af7Sopenharmony_ci		expect compile_fail
468e5c31af7Sopenharmony_ci		version 300 es
469e5c31af7Sopenharmony_ci
470e5c31af7Sopenharmony_ci		both ""
471e5c31af7Sopenharmony_ci			#version 300 es
472e5c31af7Sopenharmony_ci			precision mediump float;
473e5c31af7Sopenharmony_ci			precision mediump int;
474e5c31af7Sopenharmony_ci
475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
476e5c31af7Sopenharmony_ci
477e5c31af7Sopenharmony_ci			void main()
478e5c31af7Sopenharmony_ci			{
479e5c31af7Sopenharmony_ci				ivec4 c;
480e5c31af7Sopenharmony_ci				vec3 a;
481e5c31af7Sopenharmony_ci				ivec4 b;
482e5c31af7Sopenharmony_ci				ivec4 c = a + b;
483e5c31af7Sopenharmony_ci			}
484e5c31af7Sopenharmony_ci		""
485e5c31af7Sopenharmony_ci	end
486e5c31af7Sopenharmony_ci	case add_vec4_int_vec4
487e5c31af7Sopenharmony_ci		expect compile_fail
488e5c31af7Sopenharmony_ci		version 300 es
489e5c31af7Sopenharmony_ci
490e5c31af7Sopenharmony_ci		both ""
491e5c31af7Sopenharmony_ci			#version 300 es
492e5c31af7Sopenharmony_ci			precision mediump float;
493e5c31af7Sopenharmony_ci			precision mediump int;
494e5c31af7Sopenharmony_ci
495e5c31af7Sopenharmony_ci			${DECLARATIONS}
496e5c31af7Sopenharmony_ci
497e5c31af7Sopenharmony_ci			void main()
498e5c31af7Sopenharmony_ci			{
499e5c31af7Sopenharmony_ci				vec4 c;
500e5c31af7Sopenharmony_ci				vec4 a;
501e5c31af7Sopenharmony_ci				int b;
502e5c31af7Sopenharmony_ci				vec4 c = a + b;
503e5c31af7Sopenharmony_ci			}
504e5c31af7Sopenharmony_ci		""
505e5c31af7Sopenharmony_ci	end
506e5c31af7Sopenharmony_ci	case add_vec4_int_int
507e5c31af7Sopenharmony_ci		expect compile_fail
508e5c31af7Sopenharmony_ci		version 300 es
509e5c31af7Sopenharmony_ci
510e5c31af7Sopenharmony_ci		both ""
511e5c31af7Sopenharmony_ci			#version 300 es
512e5c31af7Sopenharmony_ci			precision mediump float;
513e5c31af7Sopenharmony_ci			precision mediump int;
514e5c31af7Sopenharmony_ci
515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
516e5c31af7Sopenharmony_ci
517e5c31af7Sopenharmony_ci			void main()
518e5c31af7Sopenharmony_ci			{
519e5c31af7Sopenharmony_ci				int c;
520e5c31af7Sopenharmony_ci				vec4 a;
521e5c31af7Sopenharmony_ci				int b;
522e5c31af7Sopenharmony_ci				int c = a + b;
523e5c31af7Sopenharmony_ci			}
524e5c31af7Sopenharmony_ci		""
525e5c31af7Sopenharmony_ci	end
526e5c31af7Sopenharmony_ci	case add_vec4_ivec2_vec4
527e5c31af7Sopenharmony_ci		expect compile_fail
528e5c31af7Sopenharmony_ci		version 300 es
529e5c31af7Sopenharmony_ci
530e5c31af7Sopenharmony_ci		both ""
531e5c31af7Sopenharmony_ci			#version 300 es
532e5c31af7Sopenharmony_ci			precision mediump float;
533e5c31af7Sopenharmony_ci			precision mediump int;
534e5c31af7Sopenharmony_ci
535e5c31af7Sopenharmony_ci			${DECLARATIONS}
536e5c31af7Sopenharmony_ci
537e5c31af7Sopenharmony_ci			void main()
538e5c31af7Sopenharmony_ci			{
539e5c31af7Sopenharmony_ci				vec4 c;
540e5c31af7Sopenharmony_ci				vec4 a;
541e5c31af7Sopenharmony_ci				ivec2 b;
542e5c31af7Sopenharmony_ci				vec4 c = a + b;
543e5c31af7Sopenharmony_ci			}
544e5c31af7Sopenharmony_ci		""
545e5c31af7Sopenharmony_ci	end
546e5c31af7Sopenharmony_ci	case add_vec4_ivec2_ivec2
547e5c31af7Sopenharmony_ci		expect compile_fail
548e5c31af7Sopenharmony_ci		version 300 es
549e5c31af7Sopenharmony_ci
550e5c31af7Sopenharmony_ci		both ""
551e5c31af7Sopenharmony_ci			#version 300 es
552e5c31af7Sopenharmony_ci			precision mediump float;
553e5c31af7Sopenharmony_ci			precision mediump int;
554e5c31af7Sopenharmony_ci
555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
556e5c31af7Sopenharmony_ci
557e5c31af7Sopenharmony_ci			void main()
558e5c31af7Sopenharmony_ci			{
559e5c31af7Sopenharmony_ci				ivec2 c;
560e5c31af7Sopenharmony_ci				vec4 a;
561e5c31af7Sopenharmony_ci				ivec2 b;
562e5c31af7Sopenharmony_ci				ivec2 c = a + b;
563e5c31af7Sopenharmony_ci			}
564e5c31af7Sopenharmony_ci		""
565e5c31af7Sopenharmony_ci	end
566e5c31af7Sopenharmony_ci	case add_vec4_ivec3_vec4
567e5c31af7Sopenharmony_ci		expect compile_fail
568e5c31af7Sopenharmony_ci		version 300 es
569e5c31af7Sopenharmony_ci
570e5c31af7Sopenharmony_ci		both ""
571e5c31af7Sopenharmony_ci			#version 300 es
572e5c31af7Sopenharmony_ci			precision mediump float;
573e5c31af7Sopenharmony_ci			precision mediump int;
574e5c31af7Sopenharmony_ci
575e5c31af7Sopenharmony_ci			${DECLARATIONS}
576e5c31af7Sopenharmony_ci
577e5c31af7Sopenharmony_ci			void main()
578e5c31af7Sopenharmony_ci			{
579e5c31af7Sopenharmony_ci				vec4 c;
580e5c31af7Sopenharmony_ci				vec4 a;
581e5c31af7Sopenharmony_ci				ivec3 b;
582e5c31af7Sopenharmony_ci				vec4 c = a + b;
583e5c31af7Sopenharmony_ci			}
584e5c31af7Sopenharmony_ci		""
585e5c31af7Sopenharmony_ci	end
586e5c31af7Sopenharmony_ci	case add_vec4_ivec3_ivec3
587e5c31af7Sopenharmony_ci		expect compile_fail
588e5c31af7Sopenharmony_ci		version 300 es
589e5c31af7Sopenharmony_ci
590e5c31af7Sopenharmony_ci		both ""
591e5c31af7Sopenharmony_ci			#version 300 es
592e5c31af7Sopenharmony_ci			precision mediump float;
593e5c31af7Sopenharmony_ci			precision mediump int;
594e5c31af7Sopenharmony_ci
595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
596e5c31af7Sopenharmony_ci
597e5c31af7Sopenharmony_ci			void main()
598e5c31af7Sopenharmony_ci			{
599e5c31af7Sopenharmony_ci				ivec3 c;
600e5c31af7Sopenharmony_ci				vec4 a;
601e5c31af7Sopenharmony_ci				ivec3 b;
602e5c31af7Sopenharmony_ci				ivec3 c = a + b;
603e5c31af7Sopenharmony_ci			}
604e5c31af7Sopenharmony_ci		""
605e5c31af7Sopenharmony_ci	end
606e5c31af7Sopenharmony_ci	case add_vec4_ivec4_vec4
607e5c31af7Sopenharmony_ci		expect compile_fail
608e5c31af7Sopenharmony_ci		version 300 es
609e5c31af7Sopenharmony_ci
610e5c31af7Sopenharmony_ci		both ""
611e5c31af7Sopenharmony_ci			#version 300 es
612e5c31af7Sopenharmony_ci			precision mediump float;
613e5c31af7Sopenharmony_ci			precision mediump int;
614e5c31af7Sopenharmony_ci
615e5c31af7Sopenharmony_ci			${DECLARATIONS}
616e5c31af7Sopenharmony_ci
617e5c31af7Sopenharmony_ci			void main()
618e5c31af7Sopenharmony_ci			{
619e5c31af7Sopenharmony_ci				vec4 c;
620e5c31af7Sopenharmony_ci				vec4 a;
621e5c31af7Sopenharmony_ci				ivec4 b;
622e5c31af7Sopenharmony_ci				vec4 c = a + b;
623e5c31af7Sopenharmony_ci			}
624e5c31af7Sopenharmony_ci		""
625e5c31af7Sopenharmony_ci	end
626e5c31af7Sopenharmony_ci	case add_vec4_ivec4_ivec4
627e5c31af7Sopenharmony_ci		expect compile_fail
628e5c31af7Sopenharmony_ci		version 300 es
629e5c31af7Sopenharmony_ci
630e5c31af7Sopenharmony_ci		both ""
631e5c31af7Sopenharmony_ci			#version 300 es
632e5c31af7Sopenharmony_ci			precision mediump float;
633e5c31af7Sopenharmony_ci			precision mediump int;
634e5c31af7Sopenharmony_ci
635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
636e5c31af7Sopenharmony_ci
637e5c31af7Sopenharmony_ci			void main()
638e5c31af7Sopenharmony_ci			{
639e5c31af7Sopenharmony_ci				ivec4 c;
640e5c31af7Sopenharmony_ci				vec4 a;
641e5c31af7Sopenharmony_ci				ivec4 b;
642e5c31af7Sopenharmony_ci				ivec4 c = a + b;
643e5c31af7Sopenharmony_ci			}
644e5c31af7Sopenharmony_ci		""
645e5c31af7Sopenharmony_ci	end
646e5c31af7Sopenharmony_ci	case add_float_uint_float
647e5c31af7Sopenharmony_ci		expect compile_fail
648e5c31af7Sopenharmony_ci		version 300 es
649e5c31af7Sopenharmony_ci
650e5c31af7Sopenharmony_ci		both ""
651e5c31af7Sopenharmony_ci			#version 300 es
652e5c31af7Sopenharmony_ci			precision mediump float;
653e5c31af7Sopenharmony_ci			precision mediump int;
654e5c31af7Sopenharmony_ci
655e5c31af7Sopenharmony_ci			${DECLARATIONS}
656e5c31af7Sopenharmony_ci
657e5c31af7Sopenharmony_ci			void main()
658e5c31af7Sopenharmony_ci			{
659e5c31af7Sopenharmony_ci				float c;
660e5c31af7Sopenharmony_ci				float a;
661e5c31af7Sopenharmony_ci				uint b;
662e5c31af7Sopenharmony_ci				float c = a + b;
663e5c31af7Sopenharmony_ci			}
664e5c31af7Sopenharmony_ci		""
665e5c31af7Sopenharmony_ci	end
666e5c31af7Sopenharmony_ci	case add_float_uint_uint
667e5c31af7Sopenharmony_ci		expect compile_fail
668e5c31af7Sopenharmony_ci		version 300 es
669e5c31af7Sopenharmony_ci
670e5c31af7Sopenharmony_ci		both ""
671e5c31af7Sopenharmony_ci			#version 300 es
672e5c31af7Sopenharmony_ci			precision mediump float;
673e5c31af7Sopenharmony_ci			precision mediump int;
674e5c31af7Sopenharmony_ci
675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
676e5c31af7Sopenharmony_ci
677e5c31af7Sopenharmony_ci			void main()
678e5c31af7Sopenharmony_ci			{
679e5c31af7Sopenharmony_ci				uint c;
680e5c31af7Sopenharmony_ci				float a;
681e5c31af7Sopenharmony_ci				uint b;
682e5c31af7Sopenharmony_ci				uint c = a + b;
683e5c31af7Sopenharmony_ci			}
684e5c31af7Sopenharmony_ci		""
685e5c31af7Sopenharmony_ci	end
686e5c31af7Sopenharmony_ci	case add_float_uvec2_float
687e5c31af7Sopenharmony_ci		expect compile_fail
688e5c31af7Sopenharmony_ci		version 300 es
689e5c31af7Sopenharmony_ci
690e5c31af7Sopenharmony_ci		both ""
691e5c31af7Sopenharmony_ci			#version 300 es
692e5c31af7Sopenharmony_ci			precision mediump float;
693e5c31af7Sopenharmony_ci			precision mediump int;
694e5c31af7Sopenharmony_ci
695e5c31af7Sopenharmony_ci			${DECLARATIONS}
696e5c31af7Sopenharmony_ci
697e5c31af7Sopenharmony_ci			void main()
698e5c31af7Sopenharmony_ci			{
699e5c31af7Sopenharmony_ci				float c;
700e5c31af7Sopenharmony_ci				float a;
701e5c31af7Sopenharmony_ci				uvec2 b;
702e5c31af7Sopenharmony_ci				float c = a + b;
703e5c31af7Sopenharmony_ci			}
704e5c31af7Sopenharmony_ci		""
705e5c31af7Sopenharmony_ci	end
706e5c31af7Sopenharmony_ci	case add_float_uvec2_uvec2
707e5c31af7Sopenharmony_ci		expect compile_fail
708e5c31af7Sopenharmony_ci		version 300 es
709e5c31af7Sopenharmony_ci
710e5c31af7Sopenharmony_ci		both ""
711e5c31af7Sopenharmony_ci			#version 300 es
712e5c31af7Sopenharmony_ci			precision mediump float;
713e5c31af7Sopenharmony_ci			precision mediump int;
714e5c31af7Sopenharmony_ci
715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
716e5c31af7Sopenharmony_ci
717e5c31af7Sopenharmony_ci			void main()
718e5c31af7Sopenharmony_ci			{
719e5c31af7Sopenharmony_ci				uvec2 c;
720e5c31af7Sopenharmony_ci				float a;
721e5c31af7Sopenharmony_ci				uvec2 b;
722e5c31af7Sopenharmony_ci				uvec2 c = a + b;
723e5c31af7Sopenharmony_ci			}
724e5c31af7Sopenharmony_ci		""
725e5c31af7Sopenharmony_ci	end
726e5c31af7Sopenharmony_ci	case add_float_uvec3_float
727e5c31af7Sopenharmony_ci		expect compile_fail
728e5c31af7Sopenharmony_ci		version 300 es
729e5c31af7Sopenharmony_ci
730e5c31af7Sopenharmony_ci		both ""
731e5c31af7Sopenharmony_ci			#version 300 es
732e5c31af7Sopenharmony_ci			precision mediump float;
733e5c31af7Sopenharmony_ci			precision mediump int;
734e5c31af7Sopenharmony_ci
735e5c31af7Sopenharmony_ci			${DECLARATIONS}
736e5c31af7Sopenharmony_ci
737e5c31af7Sopenharmony_ci			void main()
738e5c31af7Sopenharmony_ci			{
739e5c31af7Sopenharmony_ci				float c;
740e5c31af7Sopenharmony_ci				float a;
741e5c31af7Sopenharmony_ci				uvec3 b;
742e5c31af7Sopenharmony_ci				float c = a + b;
743e5c31af7Sopenharmony_ci			}
744e5c31af7Sopenharmony_ci		""
745e5c31af7Sopenharmony_ci	end
746e5c31af7Sopenharmony_ci	case add_float_uvec3_uvec3
747e5c31af7Sopenharmony_ci		expect compile_fail
748e5c31af7Sopenharmony_ci		version 300 es
749e5c31af7Sopenharmony_ci
750e5c31af7Sopenharmony_ci		both ""
751e5c31af7Sopenharmony_ci			#version 300 es
752e5c31af7Sopenharmony_ci			precision mediump float;
753e5c31af7Sopenharmony_ci			precision mediump int;
754e5c31af7Sopenharmony_ci
755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
756e5c31af7Sopenharmony_ci
757e5c31af7Sopenharmony_ci			void main()
758e5c31af7Sopenharmony_ci			{
759e5c31af7Sopenharmony_ci				uvec3 c;
760e5c31af7Sopenharmony_ci				float a;
761e5c31af7Sopenharmony_ci				uvec3 b;
762e5c31af7Sopenharmony_ci				uvec3 c = a + b;
763e5c31af7Sopenharmony_ci			}
764e5c31af7Sopenharmony_ci		""
765e5c31af7Sopenharmony_ci	end
766e5c31af7Sopenharmony_ci	case add_float_uvec4_float
767e5c31af7Sopenharmony_ci		expect compile_fail
768e5c31af7Sopenharmony_ci		version 300 es
769e5c31af7Sopenharmony_ci
770e5c31af7Sopenharmony_ci		both ""
771e5c31af7Sopenharmony_ci			#version 300 es
772e5c31af7Sopenharmony_ci			precision mediump float;
773e5c31af7Sopenharmony_ci			precision mediump int;
774e5c31af7Sopenharmony_ci
775e5c31af7Sopenharmony_ci			${DECLARATIONS}
776e5c31af7Sopenharmony_ci
777e5c31af7Sopenharmony_ci			void main()
778e5c31af7Sopenharmony_ci			{
779e5c31af7Sopenharmony_ci				float c;
780e5c31af7Sopenharmony_ci				float a;
781e5c31af7Sopenharmony_ci				uvec4 b;
782e5c31af7Sopenharmony_ci				float c = a + b;
783e5c31af7Sopenharmony_ci			}
784e5c31af7Sopenharmony_ci		""
785e5c31af7Sopenharmony_ci	end
786e5c31af7Sopenharmony_ci	case add_float_uvec4_uvec4
787e5c31af7Sopenharmony_ci		expect compile_fail
788e5c31af7Sopenharmony_ci		version 300 es
789e5c31af7Sopenharmony_ci
790e5c31af7Sopenharmony_ci		both ""
791e5c31af7Sopenharmony_ci			#version 300 es
792e5c31af7Sopenharmony_ci			precision mediump float;
793e5c31af7Sopenharmony_ci			precision mediump int;
794e5c31af7Sopenharmony_ci
795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
796e5c31af7Sopenharmony_ci
797e5c31af7Sopenharmony_ci			void main()
798e5c31af7Sopenharmony_ci			{
799e5c31af7Sopenharmony_ci				uvec4 c;
800e5c31af7Sopenharmony_ci				float a;
801e5c31af7Sopenharmony_ci				uvec4 b;
802e5c31af7Sopenharmony_ci				uvec4 c = a + b;
803e5c31af7Sopenharmony_ci			}
804e5c31af7Sopenharmony_ci		""
805e5c31af7Sopenharmony_ci	end
806e5c31af7Sopenharmony_ci	case add_vec2_uint_vec2
807e5c31af7Sopenharmony_ci		expect compile_fail
808e5c31af7Sopenharmony_ci		version 300 es
809e5c31af7Sopenharmony_ci
810e5c31af7Sopenharmony_ci		both ""
811e5c31af7Sopenharmony_ci			#version 300 es
812e5c31af7Sopenharmony_ci			precision mediump float;
813e5c31af7Sopenharmony_ci			precision mediump int;
814e5c31af7Sopenharmony_ci
815e5c31af7Sopenharmony_ci			${DECLARATIONS}
816e5c31af7Sopenharmony_ci
817e5c31af7Sopenharmony_ci			void main()
818e5c31af7Sopenharmony_ci			{
819e5c31af7Sopenharmony_ci				vec2 c;
820e5c31af7Sopenharmony_ci				vec2 a;
821e5c31af7Sopenharmony_ci				uint b;
822e5c31af7Sopenharmony_ci				vec2 c = a + b;
823e5c31af7Sopenharmony_ci			}
824e5c31af7Sopenharmony_ci		""
825e5c31af7Sopenharmony_ci	end
826e5c31af7Sopenharmony_ci	case add_vec2_uint_uint
827e5c31af7Sopenharmony_ci		expect compile_fail
828e5c31af7Sopenharmony_ci		version 300 es
829e5c31af7Sopenharmony_ci
830e5c31af7Sopenharmony_ci		both ""
831e5c31af7Sopenharmony_ci			#version 300 es
832e5c31af7Sopenharmony_ci			precision mediump float;
833e5c31af7Sopenharmony_ci			precision mediump int;
834e5c31af7Sopenharmony_ci
835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
836e5c31af7Sopenharmony_ci
837e5c31af7Sopenharmony_ci			void main()
838e5c31af7Sopenharmony_ci			{
839e5c31af7Sopenharmony_ci				uint c;
840e5c31af7Sopenharmony_ci				vec2 a;
841e5c31af7Sopenharmony_ci				uint b;
842e5c31af7Sopenharmony_ci				uint c = a + b;
843e5c31af7Sopenharmony_ci			}
844e5c31af7Sopenharmony_ci		""
845e5c31af7Sopenharmony_ci	end
846e5c31af7Sopenharmony_ci	case add_vec2_uvec2_vec2
847e5c31af7Sopenharmony_ci		expect compile_fail
848e5c31af7Sopenharmony_ci		version 300 es
849e5c31af7Sopenharmony_ci
850e5c31af7Sopenharmony_ci		both ""
851e5c31af7Sopenharmony_ci			#version 300 es
852e5c31af7Sopenharmony_ci			precision mediump float;
853e5c31af7Sopenharmony_ci			precision mediump int;
854e5c31af7Sopenharmony_ci
855e5c31af7Sopenharmony_ci			${DECLARATIONS}
856e5c31af7Sopenharmony_ci
857e5c31af7Sopenharmony_ci			void main()
858e5c31af7Sopenharmony_ci			{
859e5c31af7Sopenharmony_ci				vec2 c;
860e5c31af7Sopenharmony_ci				vec2 a;
861e5c31af7Sopenharmony_ci				uvec2 b;
862e5c31af7Sopenharmony_ci				vec2 c = a + b;
863e5c31af7Sopenharmony_ci			}
864e5c31af7Sopenharmony_ci		""
865e5c31af7Sopenharmony_ci	end
866e5c31af7Sopenharmony_ci	case add_vec2_uvec2_uvec2
867e5c31af7Sopenharmony_ci		expect compile_fail
868e5c31af7Sopenharmony_ci		version 300 es
869e5c31af7Sopenharmony_ci
870e5c31af7Sopenharmony_ci		both ""
871e5c31af7Sopenharmony_ci			#version 300 es
872e5c31af7Sopenharmony_ci			precision mediump float;
873e5c31af7Sopenharmony_ci			precision mediump int;
874e5c31af7Sopenharmony_ci
875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
876e5c31af7Sopenharmony_ci
877e5c31af7Sopenharmony_ci			void main()
878e5c31af7Sopenharmony_ci			{
879e5c31af7Sopenharmony_ci				uvec2 c;
880e5c31af7Sopenharmony_ci				vec2 a;
881e5c31af7Sopenharmony_ci				uvec2 b;
882e5c31af7Sopenharmony_ci				uvec2 c = a + b;
883e5c31af7Sopenharmony_ci			}
884e5c31af7Sopenharmony_ci		""
885e5c31af7Sopenharmony_ci	end
886e5c31af7Sopenharmony_ci	case add_vec2_uvec3_vec2
887e5c31af7Sopenharmony_ci		expect compile_fail
888e5c31af7Sopenharmony_ci		version 300 es
889e5c31af7Sopenharmony_ci
890e5c31af7Sopenharmony_ci		both ""
891e5c31af7Sopenharmony_ci			#version 300 es
892e5c31af7Sopenharmony_ci			precision mediump float;
893e5c31af7Sopenharmony_ci			precision mediump int;
894e5c31af7Sopenharmony_ci
895e5c31af7Sopenharmony_ci			${DECLARATIONS}
896e5c31af7Sopenharmony_ci
897e5c31af7Sopenharmony_ci			void main()
898e5c31af7Sopenharmony_ci			{
899e5c31af7Sopenharmony_ci				vec2 c;
900e5c31af7Sopenharmony_ci				vec2 a;
901e5c31af7Sopenharmony_ci				uvec3 b;
902e5c31af7Sopenharmony_ci				vec2 c = a + b;
903e5c31af7Sopenharmony_ci			}
904e5c31af7Sopenharmony_ci		""
905e5c31af7Sopenharmony_ci	end
906e5c31af7Sopenharmony_ci	case add_vec2_uvec3_uvec3
907e5c31af7Sopenharmony_ci		expect compile_fail
908e5c31af7Sopenharmony_ci		version 300 es
909e5c31af7Sopenharmony_ci
910e5c31af7Sopenharmony_ci		both ""
911e5c31af7Sopenharmony_ci			#version 300 es
912e5c31af7Sopenharmony_ci			precision mediump float;
913e5c31af7Sopenharmony_ci			precision mediump int;
914e5c31af7Sopenharmony_ci
915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
916e5c31af7Sopenharmony_ci
917e5c31af7Sopenharmony_ci			void main()
918e5c31af7Sopenharmony_ci			{
919e5c31af7Sopenharmony_ci				uvec3 c;
920e5c31af7Sopenharmony_ci				vec2 a;
921e5c31af7Sopenharmony_ci				uvec3 b;
922e5c31af7Sopenharmony_ci				uvec3 c = a + b;
923e5c31af7Sopenharmony_ci			}
924e5c31af7Sopenharmony_ci		""
925e5c31af7Sopenharmony_ci	end
926e5c31af7Sopenharmony_ci	case add_vec2_uvec4_vec2
927e5c31af7Sopenharmony_ci		expect compile_fail
928e5c31af7Sopenharmony_ci		version 300 es
929e5c31af7Sopenharmony_ci
930e5c31af7Sopenharmony_ci		both ""
931e5c31af7Sopenharmony_ci			#version 300 es
932e5c31af7Sopenharmony_ci			precision mediump float;
933e5c31af7Sopenharmony_ci			precision mediump int;
934e5c31af7Sopenharmony_ci
935e5c31af7Sopenharmony_ci			${DECLARATIONS}
936e5c31af7Sopenharmony_ci
937e5c31af7Sopenharmony_ci			void main()
938e5c31af7Sopenharmony_ci			{
939e5c31af7Sopenharmony_ci				vec2 c;
940e5c31af7Sopenharmony_ci				vec2 a;
941e5c31af7Sopenharmony_ci				uvec4 b;
942e5c31af7Sopenharmony_ci				vec2 c = a + b;
943e5c31af7Sopenharmony_ci			}
944e5c31af7Sopenharmony_ci		""
945e5c31af7Sopenharmony_ci	end
946e5c31af7Sopenharmony_ci	case add_vec2_uvec4_uvec4
947e5c31af7Sopenharmony_ci		expect compile_fail
948e5c31af7Sopenharmony_ci		version 300 es
949e5c31af7Sopenharmony_ci
950e5c31af7Sopenharmony_ci		both ""
951e5c31af7Sopenharmony_ci			#version 300 es
952e5c31af7Sopenharmony_ci			precision mediump float;
953e5c31af7Sopenharmony_ci			precision mediump int;
954e5c31af7Sopenharmony_ci
955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
956e5c31af7Sopenharmony_ci
957e5c31af7Sopenharmony_ci			void main()
958e5c31af7Sopenharmony_ci			{
959e5c31af7Sopenharmony_ci				uvec4 c;
960e5c31af7Sopenharmony_ci				vec2 a;
961e5c31af7Sopenharmony_ci				uvec4 b;
962e5c31af7Sopenharmony_ci				uvec4 c = a + b;
963e5c31af7Sopenharmony_ci			}
964e5c31af7Sopenharmony_ci		""
965e5c31af7Sopenharmony_ci	end
966e5c31af7Sopenharmony_ci	case add_vec3_uint_vec3
967e5c31af7Sopenharmony_ci		expect compile_fail
968e5c31af7Sopenharmony_ci		version 300 es
969e5c31af7Sopenharmony_ci
970e5c31af7Sopenharmony_ci		both ""
971e5c31af7Sopenharmony_ci			#version 300 es
972e5c31af7Sopenharmony_ci			precision mediump float;
973e5c31af7Sopenharmony_ci			precision mediump int;
974e5c31af7Sopenharmony_ci
975e5c31af7Sopenharmony_ci			${DECLARATIONS}
976e5c31af7Sopenharmony_ci
977e5c31af7Sopenharmony_ci			void main()
978e5c31af7Sopenharmony_ci			{
979e5c31af7Sopenharmony_ci				vec3 c;
980e5c31af7Sopenharmony_ci				vec3 a;
981e5c31af7Sopenharmony_ci				uint b;
982e5c31af7Sopenharmony_ci				vec3 c = a + b;
983e5c31af7Sopenharmony_ci			}
984e5c31af7Sopenharmony_ci		""
985e5c31af7Sopenharmony_ci	end
986e5c31af7Sopenharmony_ci	case add_vec3_uint_uint
987e5c31af7Sopenharmony_ci		expect compile_fail
988e5c31af7Sopenharmony_ci		version 300 es
989e5c31af7Sopenharmony_ci
990e5c31af7Sopenharmony_ci		both ""
991e5c31af7Sopenharmony_ci			#version 300 es
992e5c31af7Sopenharmony_ci			precision mediump float;
993e5c31af7Sopenharmony_ci			precision mediump int;
994e5c31af7Sopenharmony_ci
995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
996e5c31af7Sopenharmony_ci
997e5c31af7Sopenharmony_ci			void main()
998e5c31af7Sopenharmony_ci			{
999e5c31af7Sopenharmony_ci				uint c;
1000e5c31af7Sopenharmony_ci				vec3 a;
1001e5c31af7Sopenharmony_ci				uint b;
1002e5c31af7Sopenharmony_ci				uint c = a + b;
1003e5c31af7Sopenharmony_ci			}
1004e5c31af7Sopenharmony_ci		""
1005e5c31af7Sopenharmony_ci	end
1006e5c31af7Sopenharmony_ci	case add_vec3_uvec2_vec3
1007e5c31af7Sopenharmony_ci		expect compile_fail
1008e5c31af7Sopenharmony_ci		version 300 es
1009e5c31af7Sopenharmony_ci
1010e5c31af7Sopenharmony_ci		both ""
1011e5c31af7Sopenharmony_ci			#version 300 es
1012e5c31af7Sopenharmony_ci			precision mediump float;
1013e5c31af7Sopenharmony_ci			precision mediump int;
1014e5c31af7Sopenharmony_ci
1015e5c31af7Sopenharmony_ci			${DECLARATIONS}
1016e5c31af7Sopenharmony_ci
1017e5c31af7Sopenharmony_ci			void main()
1018e5c31af7Sopenharmony_ci			{
1019e5c31af7Sopenharmony_ci				vec3 c;
1020e5c31af7Sopenharmony_ci				vec3 a;
1021e5c31af7Sopenharmony_ci				uvec2 b;
1022e5c31af7Sopenharmony_ci				vec3 c = a + b;
1023e5c31af7Sopenharmony_ci			}
1024e5c31af7Sopenharmony_ci		""
1025e5c31af7Sopenharmony_ci	end
1026e5c31af7Sopenharmony_ci	case add_vec3_uvec2_uvec2
1027e5c31af7Sopenharmony_ci		expect compile_fail
1028e5c31af7Sopenharmony_ci		version 300 es
1029e5c31af7Sopenharmony_ci
1030e5c31af7Sopenharmony_ci		both ""
1031e5c31af7Sopenharmony_ci			#version 300 es
1032e5c31af7Sopenharmony_ci			precision mediump float;
1033e5c31af7Sopenharmony_ci			precision mediump int;
1034e5c31af7Sopenharmony_ci
1035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1036e5c31af7Sopenharmony_ci
1037e5c31af7Sopenharmony_ci			void main()
1038e5c31af7Sopenharmony_ci			{
1039e5c31af7Sopenharmony_ci				uvec2 c;
1040e5c31af7Sopenharmony_ci				vec3 a;
1041e5c31af7Sopenharmony_ci				uvec2 b;
1042e5c31af7Sopenharmony_ci				uvec2 c = a + b;
1043e5c31af7Sopenharmony_ci			}
1044e5c31af7Sopenharmony_ci		""
1045e5c31af7Sopenharmony_ci	end
1046e5c31af7Sopenharmony_ci	case add_vec3_uvec3_vec3
1047e5c31af7Sopenharmony_ci		expect compile_fail
1048e5c31af7Sopenharmony_ci		version 300 es
1049e5c31af7Sopenharmony_ci
1050e5c31af7Sopenharmony_ci		both ""
1051e5c31af7Sopenharmony_ci			#version 300 es
1052e5c31af7Sopenharmony_ci			precision mediump float;
1053e5c31af7Sopenharmony_ci			precision mediump int;
1054e5c31af7Sopenharmony_ci
1055e5c31af7Sopenharmony_ci			${DECLARATIONS}
1056e5c31af7Sopenharmony_ci
1057e5c31af7Sopenharmony_ci			void main()
1058e5c31af7Sopenharmony_ci			{
1059e5c31af7Sopenharmony_ci				vec3 c;
1060e5c31af7Sopenharmony_ci				vec3 a;
1061e5c31af7Sopenharmony_ci				uvec3 b;
1062e5c31af7Sopenharmony_ci				vec3 c = a + b;
1063e5c31af7Sopenharmony_ci			}
1064e5c31af7Sopenharmony_ci		""
1065e5c31af7Sopenharmony_ci	end
1066e5c31af7Sopenharmony_ci	case add_vec3_uvec3_uvec3
1067e5c31af7Sopenharmony_ci		expect compile_fail
1068e5c31af7Sopenharmony_ci		version 300 es
1069e5c31af7Sopenharmony_ci
1070e5c31af7Sopenharmony_ci		both ""
1071e5c31af7Sopenharmony_ci			#version 300 es
1072e5c31af7Sopenharmony_ci			precision mediump float;
1073e5c31af7Sopenharmony_ci			precision mediump int;
1074e5c31af7Sopenharmony_ci
1075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1076e5c31af7Sopenharmony_ci
1077e5c31af7Sopenharmony_ci			void main()
1078e5c31af7Sopenharmony_ci			{
1079e5c31af7Sopenharmony_ci				uvec3 c;
1080e5c31af7Sopenharmony_ci				vec3 a;
1081e5c31af7Sopenharmony_ci				uvec3 b;
1082e5c31af7Sopenharmony_ci				uvec3 c = a + b;
1083e5c31af7Sopenharmony_ci			}
1084e5c31af7Sopenharmony_ci		""
1085e5c31af7Sopenharmony_ci	end
1086e5c31af7Sopenharmony_ci	case add_vec3_uvec4_vec3
1087e5c31af7Sopenharmony_ci		expect compile_fail
1088e5c31af7Sopenharmony_ci		version 300 es
1089e5c31af7Sopenharmony_ci
1090e5c31af7Sopenharmony_ci		both ""
1091e5c31af7Sopenharmony_ci			#version 300 es
1092e5c31af7Sopenharmony_ci			precision mediump float;
1093e5c31af7Sopenharmony_ci			precision mediump int;
1094e5c31af7Sopenharmony_ci
1095e5c31af7Sopenharmony_ci			${DECLARATIONS}
1096e5c31af7Sopenharmony_ci
1097e5c31af7Sopenharmony_ci			void main()
1098e5c31af7Sopenharmony_ci			{
1099e5c31af7Sopenharmony_ci				vec3 c;
1100e5c31af7Sopenharmony_ci				vec3 a;
1101e5c31af7Sopenharmony_ci				uvec4 b;
1102e5c31af7Sopenharmony_ci				vec3 c = a + b;
1103e5c31af7Sopenharmony_ci			}
1104e5c31af7Sopenharmony_ci		""
1105e5c31af7Sopenharmony_ci	end
1106e5c31af7Sopenharmony_ci	case add_vec3_uvec4_uvec4
1107e5c31af7Sopenharmony_ci		expect compile_fail
1108e5c31af7Sopenharmony_ci		version 300 es
1109e5c31af7Sopenharmony_ci
1110e5c31af7Sopenharmony_ci		both ""
1111e5c31af7Sopenharmony_ci			#version 300 es
1112e5c31af7Sopenharmony_ci			precision mediump float;
1113e5c31af7Sopenharmony_ci			precision mediump int;
1114e5c31af7Sopenharmony_ci
1115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1116e5c31af7Sopenharmony_ci
1117e5c31af7Sopenharmony_ci			void main()
1118e5c31af7Sopenharmony_ci			{
1119e5c31af7Sopenharmony_ci				uvec4 c;
1120e5c31af7Sopenharmony_ci				vec3 a;
1121e5c31af7Sopenharmony_ci				uvec4 b;
1122e5c31af7Sopenharmony_ci				uvec4 c = a + b;
1123e5c31af7Sopenharmony_ci			}
1124e5c31af7Sopenharmony_ci		""
1125e5c31af7Sopenharmony_ci	end
1126e5c31af7Sopenharmony_ci	case add_vec4_uint_vec4
1127e5c31af7Sopenharmony_ci		expect compile_fail
1128e5c31af7Sopenharmony_ci		version 300 es
1129e5c31af7Sopenharmony_ci
1130e5c31af7Sopenharmony_ci		both ""
1131e5c31af7Sopenharmony_ci			#version 300 es
1132e5c31af7Sopenharmony_ci			precision mediump float;
1133e5c31af7Sopenharmony_ci			precision mediump int;
1134e5c31af7Sopenharmony_ci
1135e5c31af7Sopenharmony_ci			${DECLARATIONS}
1136e5c31af7Sopenharmony_ci
1137e5c31af7Sopenharmony_ci			void main()
1138e5c31af7Sopenharmony_ci			{
1139e5c31af7Sopenharmony_ci				vec4 c;
1140e5c31af7Sopenharmony_ci				vec4 a;
1141e5c31af7Sopenharmony_ci				uint b;
1142e5c31af7Sopenharmony_ci				vec4 c = a + b;
1143e5c31af7Sopenharmony_ci			}
1144e5c31af7Sopenharmony_ci		""
1145e5c31af7Sopenharmony_ci	end
1146e5c31af7Sopenharmony_ci	case add_vec4_uint_uint
1147e5c31af7Sopenharmony_ci		expect compile_fail
1148e5c31af7Sopenharmony_ci		version 300 es
1149e5c31af7Sopenharmony_ci
1150e5c31af7Sopenharmony_ci		both ""
1151e5c31af7Sopenharmony_ci			#version 300 es
1152e5c31af7Sopenharmony_ci			precision mediump float;
1153e5c31af7Sopenharmony_ci			precision mediump int;
1154e5c31af7Sopenharmony_ci
1155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1156e5c31af7Sopenharmony_ci
1157e5c31af7Sopenharmony_ci			void main()
1158e5c31af7Sopenharmony_ci			{
1159e5c31af7Sopenharmony_ci				uint c;
1160e5c31af7Sopenharmony_ci				vec4 a;
1161e5c31af7Sopenharmony_ci				uint b;
1162e5c31af7Sopenharmony_ci				uint c = a + b;
1163e5c31af7Sopenharmony_ci			}
1164e5c31af7Sopenharmony_ci		""
1165e5c31af7Sopenharmony_ci	end
1166e5c31af7Sopenharmony_ci	case add_vec4_uvec2_vec4
1167e5c31af7Sopenharmony_ci		expect compile_fail
1168e5c31af7Sopenharmony_ci		version 300 es
1169e5c31af7Sopenharmony_ci
1170e5c31af7Sopenharmony_ci		both ""
1171e5c31af7Sopenharmony_ci			#version 300 es
1172e5c31af7Sopenharmony_ci			precision mediump float;
1173e5c31af7Sopenharmony_ci			precision mediump int;
1174e5c31af7Sopenharmony_ci
1175e5c31af7Sopenharmony_ci			${DECLARATIONS}
1176e5c31af7Sopenharmony_ci
1177e5c31af7Sopenharmony_ci			void main()
1178e5c31af7Sopenharmony_ci			{
1179e5c31af7Sopenharmony_ci				vec4 c;
1180e5c31af7Sopenharmony_ci				vec4 a;
1181e5c31af7Sopenharmony_ci				uvec2 b;
1182e5c31af7Sopenharmony_ci				vec4 c = a + b;
1183e5c31af7Sopenharmony_ci			}
1184e5c31af7Sopenharmony_ci		""
1185e5c31af7Sopenharmony_ci	end
1186e5c31af7Sopenharmony_ci	case add_vec4_uvec2_uvec2
1187e5c31af7Sopenharmony_ci		expect compile_fail
1188e5c31af7Sopenharmony_ci		version 300 es
1189e5c31af7Sopenharmony_ci
1190e5c31af7Sopenharmony_ci		both ""
1191e5c31af7Sopenharmony_ci			#version 300 es
1192e5c31af7Sopenharmony_ci			precision mediump float;
1193e5c31af7Sopenharmony_ci			precision mediump int;
1194e5c31af7Sopenharmony_ci
1195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1196e5c31af7Sopenharmony_ci
1197e5c31af7Sopenharmony_ci			void main()
1198e5c31af7Sopenharmony_ci			{
1199e5c31af7Sopenharmony_ci				uvec2 c;
1200e5c31af7Sopenharmony_ci				vec4 a;
1201e5c31af7Sopenharmony_ci				uvec2 b;
1202e5c31af7Sopenharmony_ci				uvec2 c = a + b;
1203e5c31af7Sopenharmony_ci			}
1204e5c31af7Sopenharmony_ci		""
1205e5c31af7Sopenharmony_ci	end
1206e5c31af7Sopenharmony_ci	case add_vec4_uvec3_vec4
1207e5c31af7Sopenharmony_ci		expect compile_fail
1208e5c31af7Sopenharmony_ci		version 300 es
1209e5c31af7Sopenharmony_ci
1210e5c31af7Sopenharmony_ci		both ""
1211e5c31af7Sopenharmony_ci			#version 300 es
1212e5c31af7Sopenharmony_ci			precision mediump float;
1213e5c31af7Sopenharmony_ci			precision mediump int;
1214e5c31af7Sopenharmony_ci
1215e5c31af7Sopenharmony_ci			${DECLARATIONS}
1216e5c31af7Sopenharmony_ci
1217e5c31af7Sopenharmony_ci			void main()
1218e5c31af7Sopenharmony_ci			{
1219e5c31af7Sopenharmony_ci				vec4 c;
1220e5c31af7Sopenharmony_ci				vec4 a;
1221e5c31af7Sopenharmony_ci				uvec3 b;
1222e5c31af7Sopenharmony_ci				vec4 c = a + b;
1223e5c31af7Sopenharmony_ci			}
1224e5c31af7Sopenharmony_ci		""
1225e5c31af7Sopenharmony_ci	end
1226e5c31af7Sopenharmony_ci	case add_vec4_uvec3_uvec3
1227e5c31af7Sopenharmony_ci		expect compile_fail
1228e5c31af7Sopenharmony_ci		version 300 es
1229e5c31af7Sopenharmony_ci
1230e5c31af7Sopenharmony_ci		both ""
1231e5c31af7Sopenharmony_ci			#version 300 es
1232e5c31af7Sopenharmony_ci			precision mediump float;
1233e5c31af7Sopenharmony_ci			precision mediump int;
1234e5c31af7Sopenharmony_ci
1235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1236e5c31af7Sopenharmony_ci
1237e5c31af7Sopenharmony_ci			void main()
1238e5c31af7Sopenharmony_ci			{
1239e5c31af7Sopenharmony_ci				uvec3 c;
1240e5c31af7Sopenharmony_ci				vec4 a;
1241e5c31af7Sopenharmony_ci				uvec3 b;
1242e5c31af7Sopenharmony_ci				uvec3 c = a + b;
1243e5c31af7Sopenharmony_ci			}
1244e5c31af7Sopenharmony_ci		""
1245e5c31af7Sopenharmony_ci	end
1246e5c31af7Sopenharmony_ci	case add_vec4_uvec4_vec4
1247e5c31af7Sopenharmony_ci		expect compile_fail
1248e5c31af7Sopenharmony_ci		version 300 es
1249e5c31af7Sopenharmony_ci
1250e5c31af7Sopenharmony_ci		both ""
1251e5c31af7Sopenharmony_ci			#version 300 es
1252e5c31af7Sopenharmony_ci			precision mediump float;
1253e5c31af7Sopenharmony_ci			precision mediump int;
1254e5c31af7Sopenharmony_ci
1255e5c31af7Sopenharmony_ci			${DECLARATIONS}
1256e5c31af7Sopenharmony_ci
1257e5c31af7Sopenharmony_ci			void main()
1258e5c31af7Sopenharmony_ci			{
1259e5c31af7Sopenharmony_ci				vec4 c;
1260e5c31af7Sopenharmony_ci				vec4 a;
1261e5c31af7Sopenharmony_ci				uvec4 b;
1262e5c31af7Sopenharmony_ci				vec4 c = a + b;
1263e5c31af7Sopenharmony_ci			}
1264e5c31af7Sopenharmony_ci		""
1265e5c31af7Sopenharmony_ci	end
1266e5c31af7Sopenharmony_ci	case add_vec4_uvec4_uvec4
1267e5c31af7Sopenharmony_ci		expect compile_fail
1268e5c31af7Sopenharmony_ci		version 300 es
1269e5c31af7Sopenharmony_ci
1270e5c31af7Sopenharmony_ci		both ""
1271e5c31af7Sopenharmony_ci			#version 300 es
1272e5c31af7Sopenharmony_ci			precision mediump float;
1273e5c31af7Sopenharmony_ci			precision mediump int;
1274e5c31af7Sopenharmony_ci
1275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1276e5c31af7Sopenharmony_ci
1277e5c31af7Sopenharmony_ci			void main()
1278e5c31af7Sopenharmony_ci			{
1279e5c31af7Sopenharmony_ci				uvec4 c;
1280e5c31af7Sopenharmony_ci				vec4 a;
1281e5c31af7Sopenharmony_ci				uvec4 b;
1282e5c31af7Sopenharmony_ci				uvec4 c = a + b;
1283e5c31af7Sopenharmony_ci			}
1284e5c31af7Sopenharmony_ci		""
1285e5c31af7Sopenharmony_ci	end
1286e5c31af7Sopenharmony_ci	case add_int_uint_int
1287e5c31af7Sopenharmony_ci		expect compile_fail
1288e5c31af7Sopenharmony_ci		version 300 es
1289e5c31af7Sopenharmony_ci
1290e5c31af7Sopenharmony_ci		both ""
1291e5c31af7Sopenharmony_ci			#version 300 es
1292e5c31af7Sopenharmony_ci			precision mediump float;
1293e5c31af7Sopenharmony_ci			precision mediump int;
1294e5c31af7Sopenharmony_ci
1295e5c31af7Sopenharmony_ci			${DECLARATIONS}
1296e5c31af7Sopenharmony_ci
1297e5c31af7Sopenharmony_ci			void main()
1298e5c31af7Sopenharmony_ci			{
1299e5c31af7Sopenharmony_ci				int c;
1300e5c31af7Sopenharmony_ci				int a;
1301e5c31af7Sopenharmony_ci				uint b;
1302e5c31af7Sopenharmony_ci				int c = a + b;
1303e5c31af7Sopenharmony_ci			}
1304e5c31af7Sopenharmony_ci		""
1305e5c31af7Sopenharmony_ci	end
1306e5c31af7Sopenharmony_ci	case add_int_uint_uint
1307e5c31af7Sopenharmony_ci		expect compile_fail
1308e5c31af7Sopenharmony_ci		version 300 es
1309e5c31af7Sopenharmony_ci
1310e5c31af7Sopenharmony_ci		both ""
1311e5c31af7Sopenharmony_ci			#version 300 es
1312e5c31af7Sopenharmony_ci			precision mediump float;
1313e5c31af7Sopenharmony_ci			precision mediump int;
1314e5c31af7Sopenharmony_ci
1315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1316e5c31af7Sopenharmony_ci
1317e5c31af7Sopenharmony_ci			void main()
1318e5c31af7Sopenharmony_ci			{
1319e5c31af7Sopenharmony_ci				uint c;
1320e5c31af7Sopenharmony_ci				int a;
1321e5c31af7Sopenharmony_ci				uint b;
1322e5c31af7Sopenharmony_ci				uint c = a + b;
1323e5c31af7Sopenharmony_ci			}
1324e5c31af7Sopenharmony_ci		""
1325e5c31af7Sopenharmony_ci	end
1326e5c31af7Sopenharmony_ci	case add_int_uvec2_int
1327e5c31af7Sopenharmony_ci		expect compile_fail
1328e5c31af7Sopenharmony_ci		version 300 es
1329e5c31af7Sopenharmony_ci
1330e5c31af7Sopenharmony_ci		both ""
1331e5c31af7Sopenharmony_ci			#version 300 es
1332e5c31af7Sopenharmony_ci			precision mediump float;
1333e5c31af7Sopenharmony_ci			precision mediump int;
1334e5c31af7Sopenharmony_ci
1335e5c31af7Sopenharmony_ci			${DECLARATIONS}
1336e5c31af7Sopenharmony_ci
1337e5c31af7Sopenharmony_ci			void main()
1338e5c31af7Sopenharmony_ci			{
1339e5c31af7Sopenharmony_ci				int c;
1340e5c31af7Sopenharmony_ci				int a;
1341e5c31af7Sopenharmony_ci				uvec2 b;
1342e5c31af7Sopenharmony_ci				int c = a + b;
1343e5c31af7Sopenharmony_ci			}
1344e5c31af7Sopenharmony_ci		""
1345e5c31af7Sopenharmony_ci	end
1346e5c31af7Sopenharmony_ci	case add_int_uvec2_uvec2
1347e5c31af7Sopenharmony_ci		expect compile_fail
1348e5c31af7Sopenharmony_ci		version 300 es
1349e5c31af7Sopenharmony_ci
1350e5c31af7Sopenharmony_ci		both ""
1351e5c31af7Sopenharmony_ci			#version 300 es
1352e5c31af7Sopenharmony_ci			precision mediump float;
1353e5c31af7Sopenharmony_ci			precision mediump int;
1354e5c31af7Sopenharmony_ci
1355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1356e5c31af7Sopenharmony_ci
1357e5c31af7Sopenharmony_ci			void main()
1358e5c31af7Sopenharmony_ci			{
1359e5c31af7Sopenharmony_ci				uvec2 c;
1360e5c31af7Sopenharmony_ci				int a;
1361e5c31af7Sopenharmony_ci				uvec2 b;
1362e5c31af7Sopenharmony_ci				uvec2 c = a + b;
1363e5c31af7Sopenharmony_ci			}
1364e5c31af7Sopenharmony_ci		""
1365e5c31af7Sopenharmony_ci	end
1366e5c31af7Sopenharmony_ci	case add_int_uvec3_int
1367e5c31af7Sopenharmony_ci		expect compile_fail
1368e5c31af7Sopenharmony_ci		version 300 es
1369e5c31af7Sopenharmony_ci
1370e5c31af7Sopenharmony_ci		both ""
1371e5c31af7Sopenharmony_ci			#version 300 es
1372e5c31af7Sopenharmony_ci			precision mediump float;
1373e5c31af7Sopenharmony_ci			precision mediump int;
1374e5c31af7Sopenharmony_ci
1375e5c31af7Sopenharmony_ci			${DECLARATIONS}
1376e5c31af7Sopenharmony_ci
1377e5c31af7Sopenharmony_ci			void main()
1378e5c31af7Sopenharmony_ci			{
1379e5c31af7Sopenharmony_ci				int c;
1380e5c31af7Sopenharmony_ci				int a;
1381e5c31af7Sopenharmony_ci				uvec3 b;
1382e5c31af7Sopenharmony_ci				int c = a + b;
1383e5c31af7Sopenharmony_ci			}
1384e5c31af7Sopenharmony_ci		""
1385e5c31af7Sopenharmony_ci	end
1386e5c31af7Sopenharmony_ci	case add_int_uvec3_uvec3
1387e5c31af7Sopenharmony_ci		expect compile_fail
1388e5c31af7Sopenharmony_ci		version 300 es
1389e5c31af7Sopenharmony_ci
1390e5c31af7Sopenharmony_ci		both ""
1391e5c31af7Sopenharmony_ci			#version 300 es
1392e5c31af7Sopenharmony_ci			precision mediump float;
1393e5c31af7Sopenharmony_ci			precision mediump int;
1394e5c31af7Sopenharmony_ci
1395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1396e5c31af7Sopenharmony_ci
1397e5c31af7Sopenharmony_ci			void main()
1398e5c31af7Sopenharmony_ci			{
1399e5c31af7Sopenharmony_ci				uvec3 c;
1400e5c31af7Sopenharmony_ci				int a;
1401e5c31af7Sopenharmony_ci				uvec3 b;
1402e5c31af7Sopenharmony_ci				uvec3 c = a + b;
1403e5c31af7Sopenharmony_ci			}
1404e5c31af7Sopenharmony_ci		""
1405e5c31af7Sopenharmony_ci	end
1406e5c31af7Sopenharmony_ci	case add_int_uvec4_int
1407e5c31af7Sopenharmony_ci		expect compile_fail
1408e5c31af7Sopenharmony_ci		version 300 es
1409e5c31af7Sopenharmony_ci
1410e5c31af7Sopenharmony_ci		both ""
1411e5c31af7Sopenharmony_ci			#version 300 es
1412e5c31af7Sopenharmony_ci			precision mediump float;
1413e5c31af7Sopenharmony_ci			precision mediump int;
1414e5c31af7Sopenharmony_ci
1415e5c31af7Sopenharmony_ci			${DECLARATIONS}
1416e5c31af7Sopenharmony_ci
1417e5c31af7Sopenharmony_ci			void main()
1418e5c31af7Sopenharmony_ci			{
1419e5c31af7Sopenharmony_ci				int c;
1420e5c31af7Sopenharmony_ci				int a;
1421e5c31af7Sopenharmony_ci				uvec4 b;
1422e5c31af7Sopenharmony_ci				int c = a + b;
1423e5c31af7Sopenharmony_ci			}
1424e5c31af7Sopenharmony_ci		""
1425e5c31af7Sopenharmony_ci	end
1426e5c31af7Sopenharmony_ci	case add_int_uvec4_uvec4
1427e5c31af7Sopenharmony_ci		expect compile_fail
1428e5c31af7Sopenharmony_ci		version 300 es
1429e5c31af7Sopenharmony_ci
1430e5c31af7Sopenharmony_ci		both ""
1431e5c31af7Sopenharmony_ci			#version 300 es
1432e5c31af7Sopenharmony_ci			precision mediump float;
1433e5c31af7Sopenharmony_ci			precision mediump int;
1434e5c31af7Sopenharmony_ci
1435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1436e5c31af7Sopenharmony_ci
1437e5c31af7Sopenharmony_ci			void main()
1438e5c31af7Sopenharmony_ci			{
1439e5c31af7Sopenharmony_ci				uvec4 c;
1440e5c31af7Sopenharmony_ci				int a;
1441e5c31af7Sopenharmony_ci				uvec4 b;
1442e5c31af7Sopenharmony_ci				uvec4 c = a + b;
1443e5c31af7Sopenharmony_ci			}
1444e5c31af7Sopenharmony_ci		""
1445e5c31af7Sopenharmony_ci	end
1446e5c31af7Sopenharmony_ci	case add_ivec2_uint_ivec2
1447e5c31af7Sopenharmony_ci		expect compile_fail
1448e5c31af7Sopenharmony_ci		version 300 es
1449e5c31af7Sopenharmony_ci
1450e5c31af7Sopenharmony_ci		both ""
1451e5c31af7Sopenharmony_ci			#version 300 es
1452e5c31af7Sopenharmony_ci			precision mediump float;
1453e5c31af7Sopenharmony_ci			precision mediump int;
1454e5c31af7Sopenharmony_ci
1455e5c31af7Sopenharmony_ci			${DECLARATIONS}
1456e5c31af7Sopenharmony_ci
1457e5c31af7Sopenharmony_ci			void main()
1458e5c31af7Sopenharmony_ci			{
1459e5c31af7Sopenharmony_ci				ivec2 c;
1460e5c31af7Sopenharmony_ci				ivec2 a;
1461e5c31af7Sopenharmony_ci				uint b;
1462e5c31af7Sopenharmony_ci				ivec2 c = a + b;
1463e5c31af7Sopenharmony_ci			}
1464e5c31af7Sopenharmony_ci		""
1465e5c31af7Sopenharmony_ci	end
1466e5c31af7Sopenharmony_ci	case add_ivec2_uint_uint
1467e5c31af7Sopenharmony_ci		expect compile_fail
1468e5c31af7Sopenharmony_ci		version 300 es
1469e5c31af7Sopenharmony_ci
1470e5c31af7Sopenharmony_ci		both ""
1471e5c31af7Sopenharmony_ci			#version 300 es
1472e5c31af7Sopenharmony_ci			precision mediump float;
1473e5c31af7Sopenharmony_ci			precision mediump int;
1474e5c31af7Sopenharmony_ci
1475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1476e5c31af7Sopenharmony_ci
1477e5c31af7Sopenharmony_ci			void main()
1478e5c31af7Sopenharmony_ci			{
1479e5c31af7Sopenharmony_ci				uint c;
1480e5c31af7Sopenharmony_ci				ivec2 a;
1481e5c31af7Sopenharmony_ci				uint b;
1482e5c31af7Sopenharmony_ci				uint c = a + b;
1483e5c31af7Sopenharmony_ci			}
1484e5c31af7Sopenharmony_ci		""
1485e5c31af7Sopenharmony_ci	end
1486e5c31af7Sopenharmony_ci	case add_ivec2_uvec2_ivec2
1487e5c31af7Sopenharmony_ci		expect compile_fail
1488e5c31af7Sopenharmony_ci		version 300 es
1489e5c31af7Sopenharmony_ci
1490e5c31af7Sopenharmony_ci		both ""
1491e5c31af7Sopenharmony_ci			#version 300 es
1492e5c31af7Sopenharmony_ci			precision mediump float;
1493e5c31af7Sopenharmony_ci			precision mediump int;
1494e5c31af7Sopenharmony_ci
1495e5c31af7Sopenharmony_ci			${DECLARATIONS}
1496e5c31af7Sopenharmony_ci
1497e5c31af7Sopenharmony_ci			void main()
1498e5c31af7Sopenharmony_ci			{
1499e5c31af7Sopenharmony_ci				ivec2 c;
1500e5c31af7Sopenharmony_ci				ivec2 a;
1501e5c31af7Sopenharmony_ci				uvec2 b;
1502e5c31af7Sopenharmony_ci				ivec2 c = a + b;
1503e5c31af7Sopenharmony_ci			}
1504e5c31af7Sopenharmony_ci		""
1505e5c31af7Sopenharmony_ci	end
1506e5c31af7Sopenharmony_ci	case add_ivec2_uvec2_uvec2
1507e5c31af7Sopenharmony_ci		expect compile_fail
1508e5c31af7Sopenharmony_ci		version 300 es
1509e5c31af7Sopenharmony_ci
1510e5c31af7Sopenharmony_ci		both ""
1511e5c31af7Sopenharmony_ci			#version 300 es
1512e5c31af7Sopenharmony_ci			precision mediump float;
1513e5c31af7Sopenharmony_ci			precision mediump int;
1514e5c31af7Sopenharmony_ci
1515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1516e5c31af7Sopenharmony_ci
1517e5c31af7Sopenharmony_ci			void main()
1518e5c31af7Sopenharmony_ci			{
1519e5c31af7Sopenharmony_ci				uvec2 c;
1520e5c31af7Sopenharmony_ci				ivec2 a;
1521e5c31af7Sopenharmony_ci				uvec2 b;
1522e5c31af7Sopenharmony_ci				uvec2 c = a + b;
1523e5c31af7Sopenharmony_ci			}
1524e5c31af7Sopenharmony_ci		""
1525e5c31af7Sopenharmony_ci	end
1526e5c31af7Sopenharmony_ci	case add_ivec2_uvec3_ivec2
1527e5c31af7Sopenharmony_ci		expect compile_fail
1528e5c31af7Sopenharmony_ci		version 300 es
1529e5c31af7Sopenharmony_ci
1530e5c31af7Sopenharmony_ci		both ""
1531e5c31af7Sopenharmony_ci			#version 300 es
1532e5c31af7Sopenharmony_ci			precision mediump float;
1533e5c31af7Sopenharmony_ci			precision mediump int;
1534e5c31af7Sopenharmony_ci
1535e5c31af7Sopenharmony_ci			${DECLARATIONS}
1536e5c31af7Sopenharmony_ci
1537e5c31af7Sopenharmony_ci			void main()
1538e5c31af7Sopenharmony_ci			{
1539e5c31af7Sopenharmony_ci				ivec2 c;
1540e5c31af7Sopenharmony_ci				ivec2 a;
1541e5c31af7Sopenharmony_ci				uvec3 b;
1542e5c31af7Sopenharmony_ci				ivec2 c = a + b;
1543e5c31af7Sopenharmony_ci			}
1544e5c31af7Sopenharmony_ci		""
1545e5c31af7Sopenharmony_ci	end
1546e5c31af7Sopenharmony_ci	case add_ivec2_uvec3_uvec3
1547e5c31af7Sopenharmony_ci		expect compile_fail
1548e5c31af7Sopenharmony_ci		version 300 es
1549e5c31af7Sopenharmony_ci
1550e5c31af7Sopenharmony_ci		both ""
1551e5c31af7Sopenharmony_ci			#version 300 es
1552e5c31af7Sopenharmony_ci			precision mediump float;
1553e5c31af7Sopenharmony_ci			precision mediump int;
1554e5c31af7Sopenharmony_ci
1555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1556e5c31af7Sopenharmony_ci
1557e5c31af7Sopenharmony_ci			void main()
1558e5c31af7Sopenharmony_ci			{
1559e5c31af7Sopenharmony_ci				uvec3 c;
1560e5c31af7Sopenharmony_ci				ivec2 a;
1561e5c31af7Sopenharmony_ci				uvec3 b;
1562e5c31af7Sopenharmony_ci				uvec3 c = a + b;
1563e5c31af7Sopenharmony_ci			}
1564e5c31af7Sopenharmony_ci		""
1565e5c31af7Sopenharmony_ci	end
1566e5c31af7Sopenharmony_ci	case add_ivec2_uvec4_ivec2
1567e5c31af7Sopenharmony_ci		expect compile_fail
1568e5c31af7Sopenharmony_ci		version 300 es
1569e5c31af7Sopenharmony_ci
1570e5c31af7Sopenharmony_ci		both ""
1571e5c31af7Sopenharmony_ci			#version 300 es
1572e5c31af7Sopenharmony_ci			precision mediump float;
1573e5c31af7Sopenharmony_ci			precision mediump int;
1574e5c31af7Sopenharmony_ci
1575e5c31af7Sopenharmony_ci			${DECLARATIONS}
1576e5c31af7Sopenharmony_ci
1577e5c31af7Sopenharmony_ci			void main()
1578e5c31af7Sopenharmony_ci			{
1579e5c31af7Sopenharmony_ci				ivec2 c;
1580e5c31af7Sopenharmony_ci				ivec2 a;
1581e5c31af7Sopenharmony_ci				uvec4 b;
1582e5c31af7Sopenharmony_ci				ivec2 c = a + b;
1583e5c31af7Sopenharmony_ci			}
1584e5c31af7Sopenharmony_ci		""
1585e5c31af7Sopenharmony_ci	end
1586e5c31af7Sopenharmony_ci	case add_ivec2_uvec4_uvec4
1587e5c31af7Sopenharmony_ci		expect compile_fail
1588e5c31af7Sopenharmony_ci		version 300 es
1589e5c31af7Sopenharmony_ci
1590e5c31af7Sopenharmony_ci		both ""
1591e5c31af7Sopenharmony_ci			#version 300 es
1592e5c31af7Sopenharmony_ci			precision mediump float;
1593e5c31af7Sopenharmony_ci			precision mediump int;
1594e5c31af7Sopenharmony_ci
1595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1596e5c31af7Sopenharmony_ci
1597e5c31af7Sopenharmony_ci			void main()
1598e5c31af7Sopenharmony_ci			{
1599e5c31af7Sopenharmony_ci				uvec4 c;
1600e5c31af7Sopenharmony_ci				ivec2 a;
1601e5c31af7Sopenharmony_ci				uvec4 b;
1602e5c31af7Sopenharmony_ci				uvec4 c = a + b;
1603e5c31af7Sopenharmony_ci			}
1604e5c31af7Sopenharmony_ci		""
1605e5c31af7Sopenharmony_ci	end
1606e5c31af7Sopenharmony_ci	case add_ivec3_uint_ivec3
1607e5c31af7Sopenharmony_ci		expect compile_fail
1608e5c31af7Sopenharmony_ci		version 300 es
1609e5c31af7Sopenharmony_ci
1610e5c31af7Sopenharmony_ci		both ""
1611e5c31af7Sopenharmony_ci			#version 300 es
1612e5c31af7Sopenharmony_ci			precision mediump float;
1613e5c31af7Sopenharmony_ci			precision mediump int;
1614e5c31af7Sopenharmony_ci
1615e5c31af7Sopenharmony_ci			${DECLARATIONS}
1616e5c31af7Sopenharmony_ci
1617e5c31af7Sopenharmony_ci			void main()
1618e5c31af7Sopenharmony_ci			{
1619e5c31af7Sopenharmony_ci				ivec3 c;
1620e5c31af7Sopenharmony_ci				ivec3 a;
1621e5c31af7Sopenharmony_ci				uint b;
1622e5c31af7Sopenharmony_ci				ivec3 c = a + b;
1623e5c31af7Sopenharmony_ci			}
1624e5c31af7Sopenharmony_ci		""
1625e5c31af7Sopenharmony_ci	end
1626e5c31af7Sopenharmony_ci	case add_ivec3_uint_uint
1627e5c31af7Sopenharmony_ci		expect compile_fail
1628e5c31af7Sopenharmony_ci		version 300 es
1629e5c31af7Sopenharmony_ci
1630e5c31af7Sopenharmony_ci		both ""
1631e5c31af7Sopenharmony_ci			#version 300 es
1632e5c31af7Sopenharmony_ci			precision mediump float;
1633e5c31af7Sopenharmony_ci			precision mediump int;
1634e5c31af7Sopenharmony_ci
1635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1636e5c31af7Sopenharmony_ci
1637e5c31af7Sopenharmony_ci			void main()
1638e5c31af7Sopenharmony_ci			{
1639e5c31af7Sopenharmony_ci				uint c;
1640e5c31af7Sopenharmony_ci				ivec3 a;
1641e5c31af7Sopenharmony_ci				uint b;
1642e5c31af7Sopenharmony_ci				uint c = a + b;
1643e5c31af7Sopenharmony_ci			}
1644e5c31af7Sopenharmony_ci		""
1645e5c31af7Sopenharmony_ci	end
1646e5c31af7Sopenharmony_ci	case add_ivec3_uvec2_ivec3
1647e5c31af7Sopenharmony_ci		expect compile_fail
1648e5c31af7Sopenharmony_ci		version 300 es
1649e5c31af7Sopenharmony_ci
1650e5c31af7Sopenharmony_ci		both ""
1651e5c31af7Sopenharmony_ci			#version 300 es
1652e5c31af7Sopenharmony_ci			precision mediump float;
1653e5c31af7Sopenharmony_ci			precision mediump int;
1654e5c31af7Sopenharmony_ci
1655e5c31af7Sopenharmony_ci			${DECLARATIONS}
1656e5c31af7Sopenharmony_ci
1657e5c31af7Sopenharmony_ci			void main()
1658e5c31af7Sopenharmony_ci			{
1659e5c31af7Sopenharmony_ci				ivec3 c;
1660e5c31af7Sopenharmony_ci				ivec3 a;
1661e5c31af7Sopenharmony_ci				uvec2 b;
1662e5c31af7Sopenharmony_ci				ivec3 c = a + b;
1663e5c31af7Sopenharmony_ci			}
1664e5c31af7Sopenharmony_ci		""
1665e5c31af7Sopenharmony_ci	end
1666e5c31af7Sopenharmony_ci	case add_ivec3_uvec2_uvec2
1667e5c31af7Sopenharmony_ci		expect compile_fail
1668e5c31af7Sopenharmony_ci		version 300 es
1669e5c31af7Sopenharmony_ci
1670e5c31af7Sopenharmony_ci		both ""
1671e5c31af7Sopenharmony_ci			#version 300 es
1672e5c31af7Sopenharmony_ci			precision mediump float;
1673e5c31af7Sopenharmony_ci			precision mediump int;
1674e5c31af7Sopenharmony_ci
1675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1676e5c31af7Sopenharmony_ci
1677e5c31af7Sopenharmony_ci			void main()
1678e5c31af7Sopenharmony_ci			{
1679e5c31af7Sopenharmony_ci				uvec2 c;
1680e5c31af7Sopenharmony_ci				ivec3 a;
1681e5c31af7Sopenharmony_ci				uvec2 b;
1682e5c31af7Sopenharmony_ci				uvec2 c = a + b;
1683e5c31af7Sopenharmony_ci			}
1684e5c31af7Sopenharmony_ci		""
1685e5c31af7Sopenharmony_ci	end
1686e5c31af7Sopenharmony_ci	case add_ivec3_uvec3_ivec3
1687e5c31af7Sopenharmony_ci		expect compile_fail
1688e5c31af7Sopenharmony_ci		version 300 es
1689e5c31af7Sopenharmony_ci
1690e5c31af7Sopenharmony_ci		both ""
1691e5c31af7Sopenharmony_ci			#version 300 es
1692e5c31af7Sopenharmony_ci			precision mediump float;
1693e5c31af7Sopenharmony_ci			precision mediump int;
1694e5c31af7Sopenharmony_ci
1695e5c31af7Sopenharmony_ci			${DECLARATIONS}
1696e5c31af7Sopenharmony_ci
1697e5c31af7Sopenharmony_ci			void main()
1698e5c31af7Sopenharmony_ci			{
1699e5c31af7Sopenharmony_ci				ivec3 c;
1700e5c31af7Sopenharmony_ci				ivec3 a;
1701e5c31af7Sopenharmony_ci				uvec3 b;
1702e5c31af7Sopenharmony_ci				ivec3 c = a + b;
1703e5c31af7Sopenharmony_ci			}
1704e5c31af7Sopenharmony_ci		""
1705e5c31af7Sopenharmony_ci	end
1706e5c31af7Sopenharmony_ci	case add_ivec3_uvec3_uvec3
1707e5c31af7Sopenharmony_ci		expect compile_fail
1708e5c31af7Sopenharmony_ci		version 300 es
1709e5c31af7Sopenharmony_ci
1710e5c31af7Sopenharmony_ci		both ""
1711e5c31af7Sopenharmony_ci			#version 300 es
1712e5c31af7Sopenharmony_ci			precision mediump float;
1713e5c31af7Sopenharmony_ci			precision mediump int;
1714e5c31af7Sopenharmony_ci
1715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1716e5c31af7Sopenharmony_ci
1717e5c31af7Sopenharmony_ci			void main()
1718e5c31af7Sopenharmony_ci			{
1719e5c31af7Sopenharmony_ci				uvec3 c;
1720e5c31af7Sopenharmony_ci				ivec3 a;
1721e5c31af7Sopenharmony_ci				uvec3 b;
1722e5c31af7Sopenharmony_ci				uvec3 c = a + b;
1723e5c31af7Sopenharmony_ci			}
1724e5c31af7Sopenharmony_ci		""
1725e5c31af7Sopenharmony_ci	end
1726e5c31af7Sopenharmony_ci	case add_ivec3_uvec4_ivec3
1727e5c31af7Sopenharmony_ci		expect compile_fail
1728e5c31af7Sopenharmony_ci		version 300 es
1729e5c31af7Sopenharmony_ci
1730e5c31af7Sopenharmony_ci		both ""
1731e5c31af7Sopenharmony_ci			#version 300 es
1732e5c31af7Sopenharmony_ci			precision mediump float;
1733e5c31af7Sopenharmony_ci			precision mediump int;
1734e5c31af7Sopenharmony_ci
1735e5c31af7Sopenharmony_ci			${DECLARATIONS}
1736e5c31af7Sopenharmony_ci
1737e5c31af7Sopenharmony_ci			void main()
1738e5c31af7Sopenharmony_ci			{
1739e5c31af7Sopenharmony_ci				ivec3 c;
1740e5c31af7Sopenharmony_ci				ivec3 a;
1741e5c31af7Sopenharmony_ci				uvec4 b;
1742e5c31af7Sopenharmony_ci				ivec3 c = a + b;
1743e5c31af7Sopenharmony_ci			}
1744e5c31af7Sopenharmony_ci		""
1745e5c31af7Sopenharmony_ci	end
1746e5c31af7Sopenharmony_ci	case add_ivec3_uvec4_uvec4
1747e5c31af7Sopenharmony_ci		expect compile_fail
1748e5c31af7Sopenharmony_ci		version 300 es
1749e5c31af7Sopenharmony_ci
1750e5c31af7Sopenharmony_ci		both ""
1751e5c31af7Sopenharmony_ci			#version 300 es
1752e5c31af7Sopenharmony_ci			precision mediump float;
1753e5c31af7Sopenharmony_ci			precision mediump int;
1754e5c31af7Sopenharmony_ci
1755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1756e5c31af7Sopenharmony_ci
1757e5c31af7Sopenharmony_ci			void main()
1758e5c31af7Sopenharmony_ci			{
1759e5c31af7Sopenharmony_ci				uvec4 c;
1760e5c31af7Sopenharmony_ci				ivec3 a;
1761e5c31af7Sopenharmony_ci				uvec4 b;
1762e5c31af7Sopenharmony_ci				uvec4 c = a + b;
1763e5c31af7Sopenharmony_ci			}
1764e5c31af7Sopenharmony_ci		""
1765e5c31af7Sopenharmony_ci	end
1766e5c31af7Sopenharmony_ci	case add_ivec4_uint_ivec4
1767e5c31af7Sopenharmony_ci		expect compile_fail
1768e5c31af7Sopenharmony_ci		version 300 es
1769e5c31af7Sopenharmony_ci
1770e5c31af7Sopenharmony_ci		both ""
1771e5c31af7Sopenharmony_ci			#version 300 es
1772e5c31af7Sopenharmony_ci			precision mediump float;
1773e5c31af7Sopenharmony_ci			precision mediump int;
1774e5c31af7Sopenharmony_ci
1775e5c31af7Sopenharmony_ci			${DECLARATIONS}
1776e5c31af7Sopenharmony_ci
1777e5c31af7Sopenharmony_ci			void main()
1778e5c31af7Sopenharmony_ci			{
1779e5c31af7Sopenharmony_ci				ivec4 c;
1780e5c31af7Sopenharmony_ci				ivec4 a;
1781e5c31af7Sopenharmony_ci				uint b;
1782e5c31af7Sopenharmony_ci				ivec4 c = a + b;
1783e5c31af7Sopenharmony_ci			}
1784e5c31af7Sopenharmony_ci		""
1785e5c31af7Sopenharmony_ci	end
1786e5c31af7Sopenharmony_ci	case add_ivec4_uint_uint
1787e5c31af7Sopenharmony_ci		expect compile_fail
1788e5c31af7Sopenharmony_ci		version 300 es
1789e5c31af7Sopenharmony_ci
1790e5c31af7Sopenharmony_ci		both ""
1791e5c31af7Sopenharmony_ci			#version 300 es
1792e5c31af7Sopenharmony_ci			precision mediump float;
1793e5c31af7Sopenharmony_ci			precision mediump int;
1794e5c31af7Sopenharmony_ci
1795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1796e5c31af7Sopenharmony_ci
1797e5c31af7Sopenharmony_ci			void main()
1798e5c31af7Sopenharmony_ci			{
1799e5c31af7Sopenharmony_ci				uint c;
1800e5c31af7Sopenharmony_ci				ivec4 a;
1801e5c31af7Sopenharmony_ci				uint b;
1802e5c31af7Sopenharmony_ci				uint c = a + b;
1803e5c31af7Sopenharmony_ci			}
1804e5c31af7Sopenharmony_ci		""
1805e5c31af7Sopenharmony_ci	end
1806e5c31af7Sopenharmony_ci	case add_ivec4_uvec2_ivec4
1807e5c31af7Sopenharmony_ci		expect compile_fail
1808e5c31af7Sopenharmony_ci		version 300 es
1809e5c31af7Sopenharmony_ci
1810e5c31af7Sopenharmony_ci		both ""
1811e5c31af7Sopenharmony_ci			#version 300 es
1812e5c31af7Sopenharmony_ci			precision mediump float;
1813e5c31af7Sopenharmony_ci			precision mediump int;
1814e5c31af7Sopenharmony_ci
1815e5c31af7Sopenharmony_ci			${DECLARATIONS}
1816e5c31af7Sopenharmony_ci
1817e5c31af7Sopenharmony_ci			void main()
1818e5c31af7Sopenharmony_ci			{
1819e5c31af7Sopenharmony_ci				ivec4 c;
1820e5c31af7Sopenharmony_ci				ivec4 a;
1821e5c31af7Sopenharmony_ci				uvec2 b;
1822e5c31af7Sopenharmony_ci				ivec4 c = a + b;
1823e5c31af7Sopenharmony_ci			}
1824e5c31af7Sopenharmony_ci		""
1825e5c31af7Sopenharmony_ci	end
1826e5c31af7Sopenharmony_ci	case add_ivec4_uvec2_uvec2
1827e5c31af7Sopenharmony_ci		expect compile_fail
1828e5c31af7Sopenharmony_ci		version 300 es
1829e5c31af7Sopenharmony_ci
1830e5c31af7Sopenharmony_ci		both ""
1831e5c31af7Sopenharmony_ci			#version 300 es
1832e5c31af7Sopenharmony_ci			precision mediump float;
1833e5c31af7Sopenharmony_ci			precision mediump int;
1834e5c31af7Sopenharmony_ci
1835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1836e5c31af7Sopenharmony_ci
1837e5c31af7Sopenharmony_ci			void main()
1838e5c31af7Sopenharmony_ci			{
1839e5c31af7Sopenharmony_ci				uvec2 c;
1840e5c31af7Sopenharmony_ci				ivec4 a;
1841e5c31af7Sopenharmony_ci				uvec2 b;
1842e5c31af7Sopenharmony_ci				uvec2 c = a + b;
1843e5c31af7Sopenharmony_ci			}
1844e5c31af7Sopenharmony_ci		""
1845e5c31af7Sopenharmony_ci	end
1846e5c31af7Sopenharmony_ci	case add_ivec4_uvec3_ivec4
1847e5c31af7Sopenharmony_ci		expect compile_fail
1848e5c31af7Sopenharmony_ci		version 300 es
1849e5c31af7Sopenharmony_ci
1850e5c31af7Sopenharmony_ci		both ""
1851e5c31af7Sopenharmony_ci			#version 300 es
1852e5c31af7Sopenharmony_ci			precision mediump float;
1853e5c31af7Sopenharmony_ci			precision mediump int;
1854e5c31af7Sopenharmony_ci
1855e5c31af7Sopenharmony_ci			${DECLARATIONS}
1856e5c31af7Sopenharmony_ci
1857e5c31af7Sopenharmony_ci			void main()
1858e5c31af7Sopenharmony_ci			{
1859e5c31af7Sopenharmony_ci				ivec4 c;
1860e5c31af7Sopenharmony_ci				ivec4 a;
1861e5c31af7Sopenharmony_ci				uvec3 b;
1862e5c31af7Sopenharmony_ci				ivec4 c = a + b;
1863e5c31af7Sopenharmony_ci			}
1864e5c31af7Sopenharmony_ci		""
1865e5c31af7Sopenharmony_ci	end
1866e5c31af7Sopenharmony_ci	case add_ivec4_uvec3_uvec3
1867e5c31af7Sopenharmony_ci		expect compile_fail
1868e5c31af7Sopenharmony_ci		version 300 es
1869e5c31af7Sopenharmony_ci
1870e5c31af7Sopenharmony_ci		both ""
1871e5c31af7Sopenharmony_ci			#version 300 es
1872e5c31af7Sopenharmony_ci			precision mediump float;
1873e5c31af7Sopenharmony_ci			precision mediump int;
1874e5c31af7Sopenharmony_ci
1875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1876e5c31af7Sopenharmony_ci
1877e5c31af7Sopenharmony_ci			void main()
1878e5c31af7Sopenharmony_ci			{
1879e5c31af7Sopenharmony_ci				uvec3 c;
1880e5c31af7Sopenharmony_ci				ivec4 a;
1881e5c31af7Sopenharmony_ci				uvec3 b;
1882e5c31af7Sopenharmony_ci				uvec3 c = a + b;
1883e5c31af7Sopenharmony_ci			}
1884e5c31af7Sopenharmony_ci		""
1885e5c31af7Sopenharmony_ci	end
1886e5c31af7Sopenharmony_ci	case add_ivec4_uvec4_ivec4
1887e5c31af7Sopenharmony_ci		expect compile_fail
1888e5c31af7Sopenharmony_ci		version 300 es
1889e5c31af7Sopenharmony_ci
1890e5c31af7Sopenharmony_ci		both ""
1891e5c31af7Sopenharmony_ci			#version 300 es
1892e5c31af7Sopenharmony_ci			precision mediump float;
1893e5c31af7Sopenharmony_ci			precision mediump int;
1894e5c31af7Sopenharmony_ci
1895e5c31af7Sopenharmony_ci			${DECLARATIONS}
1896e5c31af7Sopenharmony_ci
1897e5c31af7Sopenharmony_ci			void main()
1898e5c31af7Sopenharmony_ci			{
1899e5c31af7Sopenharmony_ci				ivec4 c;
1900e5c31af7Sopenharmony_ci				ivec4 a;
1901e5c31af7Sopenharmony_ci				uvec4 b;
1902e5c31af7Sopenharmony_ci				ivec4 c = a + b;
1903e5c31af7Sopenharmony_ci			}
1904e5c31af7Sopenharmony_ci		""
1905e5c31af7Sopenharmony_ci	end
1906e5c31af7Sopenharmony_ci	case add_ivec4_uvec4_uvec4
1907e5c31af7Sopenharmony_ci		expect compile_fail
1908e5c31af7Sopenharmony_ci		version 300 es
1909e5c31af7Sopenharmony_ci
1910e5c31af7Sopenharmony_ci		both ""
1911e5c31af7Sopenharmony_ci			#version 300 es
1912e5c31af7Sopenharmony_ci			precision mediump float;
1913e5c31af7Sopenharmony_ci			precision mediump int;
1914e5c31af7Sopenharmony_ci
1915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1916e5c31af7Sopenharmony_ci
1917e5c31af7Sopenharmony_ci			void main()
1918e5c31af7Sopenharmony_ci			{
1919e5c31af7Sopenharmony_ci				uvec4 c;
1920e5c31af7Sopenharmony_ci				ivec4 a;
1921e5c31af7Sopenharmony_ci				uvec4 b;
1922e5c31af7Sopenharmony_ci				uvec4 c = a + b;
1923e5c31af7Sopenharmony_ci			}
1924e5c31af7Sopenharmony_ci		""
1925e5c31af7Sopenharmony_ci	end
1926e5c31af7Sopenharmony_ci	case mul_float_int_float
1927e5c31af7Sopenharmony_ci		expect compile_fail
1928e5c31af7Sopenharmony_ci		version 300 es
1929e5c31af7Sopenharmony_ci
1930e5c31af7Sopenharmony_ci		both ""
1931e5c31af7Sopenharmony_ci			#version 300 es
1932e5c31af7Sopenharmony_ci			precision mediump float;
1933e5c31af7Sopenharmony_ci			precision mediump int;
1934e5c31af7Sopenharmony_ci
1935e5c31af7Sopenharmony_ci			${DECLARATIONS}
1936e5c31af7Sopenharmony_ci
1937e5c31af7Sopenharmony_ci			void main()
1938e5c31af7Sopenharmony_ci			{
1939e5c31af7Sopenharmony_ci				float c;
1940e5c31af7Sopenharmony_ci				float a;
1941e5c31af7Sopenharmony_ci				int b;
1942e5c31af7Sopenharmony_ci				float c = a * b;
1943e5c31af7Sopenharmony_ci			}
1944e5c31af7Sopenharmony_ci		""
1945e5c31af7Sopenharmony_ci	end
1946e5c31af7Sopenharmony_ci	case mul_float_int_int
1947e5c31af7Sopenharmony_ci		expect compile_fail
1948e5c31af7Sopenharmony_ci		version 300 es
1949e5c31af7Sopenharmony_ci
1950e5c31af7Sopenharmony_ci		both ""
1951e5c31af7Sopenharmony_ci			#version 300 es
1952e5c31af7Sopenharmony_ci			precision mediump float;
1953e5c31af7Sopenharmony_ci			precision mediump int;
1954e5c31af7Sopenharmony_ci
1955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1956e5c31af7Sopenharmony_ci
1957e5c31af7Sopenharmony_ci			void main()
1958e5c31af7Sopenharmony_ci			{
1959e5c31af7Sopenharmony_ci				int c;
1960e5c31af7Sopenharmony_ci				float a;
1961e5c31af7Sopenharmony_ci				int b;
1962e5c31af7Sopenharmony_ci				int c = a * b;
1963e5c31af7Sopenharmony_ci			}
1964e5c31af7Sopenharmony_ci		""
1965e5c31af7Sopenharmony_ci	end
1966e5c31af7Sopenharmony_ci	case mul_float_ivec2_float
1967e5c31af7Sopenharmony_ci		expect compile_fail
1968e5c31af7Sopenharmony_ci		version 300 es
1969e5c31af7Sopenharmony_ci
1970e5c31af7Sopenharmony_ci		both ""
1971e5c31af7Sopenharmony_ci			#version 300 es
1972e5c31af7Sopenharmony_ci			precision mediump float;
1973e5c31af7Sopenharmony_ci			precision mediump int;
1974e5c31af7Sopenharmony_ci
1975e5c31af7Sopenharmony_ci			${DECLARATIONS}
1976e5c31af7Sopenharmony_ci
1977e5c31af7Sopenharmony_ci			void main()
1978e5c31af7Sopenharmony_ci			{
1979e5c31af7Sopenharmony_ci				float c;
1980e5c31af7Sopenharmony_ci				float a;
1981e5c31af7Sopenharmony_ci				ivec2 b;
1982e5c31af7Sopenharmony_ci				float c = a * b;
1983e5c31af7Sopenharmony_ci			}
1984e5c31af7Sopenharmony_ci		""
1985e5c31af7Sopenharmony_ci	end
1986e5c31af7Sopenharmony_ci	case mul_float_ivec2_ivec2
1987e5c31af7Sopenharmony_ci		expect compile_fail
1988e5c31af7Sopenharmony_ci		version 300 es
1989e5c31af7Sopenharmony_ci
1990e5c31af7Sopenharmony_ci		both ""
1991e5c31af7Sopenharmony_ci			#version 300 es
1992e5c31af7Sopenharmony_ci			precision mediump float;
1993e5c31af7Sopenharmony_ci			precision mediump int;
1994e5c31af7Sopenharmony_ci
1995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
1996e5c31af7Sopenharmony_ci
1997e5c31af7Sopenharmony_ci			void main()
1998e5c31af7Sopenharmony_ci			{
1999e5c31af7Sopenharmony_ci				ivec2 c;
2000e5c31af7Sopenharmony_ci				float a;
2001e5c31af7Sopenharmony_ci				ivec2 b;
2002e5c31af7Sopenharmony_ci				ivec2 c = a * b;
2003e5c31af7Sopenharmony_ci			}
2004e5c31af7Sopenharmony_ci		""
2005e5c31af7Sopenharmony_ci	end
2006e5c31af7Sopenharmony_ci	case mul_float_ivec3_float
2007e5c31af7Sopenharmony_ci		expect compile_fail
2008e5c31af7Sopenharmony_ci		version 300 es
2009e5c31af7Sopenharmony_ci
2010e5c31af7Sopenharmony_ci		both ""
2011e5c31af7Sopenharmony_ci			#version 300 es
2012e5c31af7Sopenharmony_ci			precision mediump float;
2013e5c31af7Sopenharmony_ci			precision mediump int;
2014e5c31af7Sopenharmony_ci
2015e5c31af7Sopenharmony_ci			${DECLARATIONS}
2016e5c31af7Sopenharmony_ci
2017e5c31af7Sopenharmony_ci			void main()
2018e5c31af7Sopenharmony_ci			{
2019e5c31af7Sopenharmony_ci				float c;
2020e5c31af7Sopenharmony_ci				float a;
2021e5c31af7Sopenharmony_ci				ivec3 b;
2022e5c31af7Sopenharmony_ci				float c = a * b;
2023e5c31af7Sopenharmony_ci			}
2024e5c31af7Sopenharmony_ci		""
2025e5c31af7Sopenharmony_ci	end
2026e5c31af7Sopenharmony_ci	case mul_float_ivec3_ivec3
2027e5c31af7Sopenharmony_ci		expect compile_fail
2028e5c31af7Sopenharmony_ci		version 300 es
2029e5c31af7Sopenharmony_ci
2030e5c31af7Sopenharmony_ci		both ""
2031e5c31af7Sopenharmony_ci			#version 300 es
2032e5c31af7Sopenharmony_ci			precision mediump float;
2033e5c31af7Sopenharmony_ci			precision mediump int;
2034e5c31af7Sopenharmony_ci
2035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2036e5c31af7Sopenharmony_ci
2037e5c31af7Sopenharmony_ci			void main()
2038e5c31af7Sopenharmony_ci			{
2039e5c31af7Sopenharmony_ci				ivec3 c;
2040e5c31af7Sopenharmony_ci				float a;
2041e5c31af7Sopenharmony_ci				ivec3 b;
2042e5c31af7Sopenharmony_ci				ivec3 c = a * b;
2043e5c31af7Sopenharmony_ci			}
2044e5c31af7Sopenharmony_ci		""
2045e5c31af7Sopenharmony_ci	end
2046e5c31af7Sopenharmony_ci	case mul_float_ivec4_float
2047e5c31af7Sopenharmony_ci		expect compile_fail
2048e5c31af7Sopenharmony_ci		version 300 es
2049e5c31af7Sopenharmony_ci
2050e5c31af7Sopenharmony_ci		both ""
2051e5c31af7Sopenharmony_ci			#version 300 es
2052e5c31af7Sopenharmony_ci			precision mediump float;
2053e5c31af7Sopenharmony_ci			precision mediump int;
2054e5c31af7Sopenharmony_ci
2055e5c31af7Sopenharmony_ci			${DECLARATIONS}
2056e5c31af7Sopenharmony_ci
2057e5c31af7Sopenharmony_ci			void main()
2058e5c31af7Sopenharmony_ci			{
2059e5c31af7Sopenharmony_ci				float c;
2060e5c31af7Sopenharmony_ci				float a;
2061e5c31af7Sopenharmony_ci				ivec4 b;
2062e5c31af7Sopenharmony_ci				float c = a * b;
2063e5c31af7Sopenharmony_ci			}
2064e5c31af7Sopenharmony_ci		""
2065e5c31af7Sopenharmony_ci	end
2066e5c31af7Sopenharmony_ci	case mul_float_ivec4_ivec4
2067e5c31af7Sopenharmony_ci		expect compile_fail
2068e5c31af7Sopenharmony_ci		version 300 es
2069e5c31af7Sopenharmony_ci
2070e5c31af7Sopenharmony_ci		both ""
2071e5c31af7Sopenharmony_ci			#version 300 es
2072e5c31af7Sopenharmony_ci			precision mediump float;
2073e5c31af7Sopenharmony_ci			precision mediump int;
2074e5c31af7Sopenharmony_ci
2075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2076e5c31af7Sopenharmony_ci
2077e5c31af7Sopenharmony_ci			void main()
2078e5c31af7Sopenharmony_ci			{
2079e5c31af7Sopenharmony_ci				ivec4 c;
2080e5c31af7Sopenharmony_ci				float a;
2081e5c31af7Sopenharmony_ci				ivec4 b;
2082e5c31af7Sopenharmony_ci				ivec4 c = a * b;
2083e5c31af7Sopenharmony_ci			}
2084e5c31af7Sopenharmony_ci		""
2085e5c31af7Sopenharmony_ci	end
2086e5c31af7Sopenharmony_ci	case mul_vec2_int_vec2
2087e5c31af7Sopenharmony_ci		expect compile_fail
2088e5c31af7Sopenharmony_ci		version 300 es
2089e5c31af7Sopenharmony_ci
2090e5c31af7Sopenharmony_ci		both ""
2091e5c31af7Sopenharmony_ci			#version 300 es
2092e5c31af7Sopenharmony_ci			precision mediump float;
2093e5c31af7Sopenharmony_ci			precision mediump int;
2094e5c31af7Sopenharmony_ci
2095e5c31af7Sopenharmony_ci			${DECLARATIONS}
2096e5c31af7Sopenharmony_ci
2097e5c31af7Sopenharmony_ci			void main()
2098e5c31af7Sopenharmony_ci			{
2099e5c31af7Sopenharmony_ci				vec2 c;
2100e5c31af7Sopenharmony_ci				vec2 a;
2101e5c31af7Sopenharmony_ci				int b;
2102e5c31af7Sopenharmony_ci				vec2 c = a * b;
2103e5c31af7Sopenharmony_ci			}
2104e5c31af7Sopenharmony_ci		""
2105e5c31af7Sopenharmony_ci	end
2106e5c31af7Sopenharmony_ci	case mul_vec2_int_int
2107e5c31af7Sopenharmony_ci		expect compile_fail
2108e5c31af7Sopenharmony_ci		version 300 es
2109e5c31af7Sopenharmony_ci
2110e5c31af7Sopenharmony_ci		both ""
2111e5c31af7Sopenharmony_ci			#version 300 es
2112e5c31af7Sopenharmony_ci			precision mediump float;
2113e5c31af7Sopenharmony_ci			precision mediump int;
2114e5c31af7Sopenharmony_ci
2115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2116e5c31af7Sopenharmony_ci
2117e5c31af7Sopenharmony_ci			void main()
2118e5c31af7Sopenharmony_ci			{
2119e5c31af7Sopenharmony_ci				int c;
2120e5c31af7Sopenharmony_ci				vec2 a;
2121e5c31af7Sopenharmony_ci				int b;
2122e5c31af7Sopenharmony_ci				int c = a * b;
2123e5c31af7Sopenharmony_ci			}
2124e5c31af7Sopenharmony_ci		""
2125e5c31af7Sopenharmony_ci	end
2126e5c31af7Sopenharmony_ci	case mul_vec2_ivec2_vec2
2127e5c31af7Sopenharmony_ci		expect compile_fail
2128e5c31af7Sopenharmony_ci		version 300 es
2129e5c31af7Sopenharmony_ci
2130e5c31af7Sopenharmony_ci		both ""
2131e5c31af7Sopenharmony_ci			#version 300 es
2132e5c31af7Sopenharmony_ci			precision mediump float;
2133e5c31af7Sopenharmony_ci			precision mediump int;
2134e5c31af7Sopenharmony_ci
2135e5c31af7Sopenharmony_ci			${DECLARATIONS}
2136e5c31af7Sopenharmony_ci
2137e5c31af7Sopenharmony_ci			void main()
2138e5c31af7Sopenharmony_ci			{
2139e5c31af7Sopenharmony_ci				vec2 c;
2140e5c31af7Sopenharmony_ci				vec2 a;
2141e5c31af7Sopenharmony_ci				ivec2 b;
2142e5c31af7Sopenharmony_ci				vec2 c = a * b;
2143e5c31af7Sopenharmony_ci			}
2144e5c31af7Sopenharmony_ci		""
2145e5c31af7Sopenharmony_ci	end
2146e5c31af7Sopenharmony_ci	case mul_vec2_ivec2_ivec2
2147e5c31af7Sopenharmony_ci		expect compile_fail
2148e5c31af7Sopenharmony_ci		version 300 es
2149e5c31af7Sopenharmony_ci
2150e5c31af7Sopenharmony_ci		both ""
2151e5c31af7Sopenharmony_ci			#version 300 es
2152e5c31af7Sopenharmony_ci			precision mediump float;
2153e5c31af7Sopenharmony_ci			precision mediump int;
2154e5c31af7Sopenharmony_ci
2155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2156e5c31af7Sopenharmony_ci
2157e5c31af7Sopenharmony_ci			void main()
2158e5c31af7Sopenharmony_ci			{
2159e5c31af7Sopenharmony_ci				ivec2 c;
2160e5c31af7Sopenharmony_ci				vec2 a;
2161e5c31af7Sopenharmony_ci				ivec2 b;
2162e5c31af7Sopenharmony_ci				ivec2 c = a * b;
2163e5c31af7Sopenharmony_ci			}
2164e5c31af7Sopenharmony_ci		""
2165e5c31af7Sopenharmony_ci	end
2166e5c31af7Sopenharmony_ci	case mul_vec2_ivec3_vec2
2167e5c31af7Sopenharmony_ci		expect compile_fail
2168e5c31af7Sopenharmony_ci		version 300 es
2169e5c31af7Sopenharmony_ci
2170e5c31af7Sopenharmony_ci		both ""
2171e5c31af7Sopenharmony_ci			#version 300 es
2172e5c31af7Sopenharmony_ci			precision mediump float;
2173e5c31af7Sopenharmony_ci			precision mediump int;
2174e5c31af7Sopenharmony_ci
2175e5c31af7Sopenharmony_ci			${DECLARATIONS}
2176e5c31af7Sopenharmony_ci
2177e5c31af7Sopenharmony_ci			void main()
2178e5c31af7Sopenharmony_ci			{
2179e5c31af7Sopenharmony_ci				vec2 c;
2180e5c31af7Sopenharmony_ci				vec2 a;
2181e5c31af7Sopenharmony_ci				ivec3 b;
2182e5c31af7Sopenharmony_ci				vec2 c = a * b;
2183e5c31af7Sopenharmony_ci			}
2184e5c31af7Sopenharmony_ci		""
2185e5c31af7Sopenharmony_ci	end
2186e5c31af7Sopenharmony_ci	case mul_vec2_ivec3_ivec3
2187e5c31af7Sopenharmony_ci		expect compile_fail
2188e5c31af7Sopenharmony_ci		version 300 es
2189e5c31af7Sopenharmony_ci
2190e5c31af7Sopenharmony_ci		both ""
2191e5c31af7Sopenharmony_ci			#version 300 es
2192e5c31af7Sopenharmony_ci			precision mediump float;
2193e5c31af7Sopenharmony_ci			precision mediump int;
2194e5c31af7Sopenharmony_ci
2195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2196e5c31af7Sopenharmony_ci
2197e5c31af7Sopenharmony_ci			void main()
2198e5c31af7Sopenharmony_ci			{
2199e5c31af7Sopenharmony_ci				ivec3 c;
2200e5c31af7Sopenharmony_ci				vec2 a;
2201e5c31af7Sopenharmony_ci				ivec3 b;
2202e5c31af7Sopenharmony_ci				ivec3 c = a * b;
2203e5c31af7Sopenharmony_ci			}
2204e5c31af7Sopenharmony_ci		""
2205e5c31af7Sopenharmony_ci	end
2206e5c31af7Sopenharmony_ci	case mul_vec2_ivec4_vec2
2207e5c31af7Sopenharmony_ci		expect compile_fail
2208e5c31af7Sopenharmony_ci		version 300 es
2209e5c31af7Sopenharmony_ci
2210e5c31af7Sopenharmony_ci		both ""
2211e5c31af7Sopenharmony_ci			#version 300 es
2212e5c31af7Sopenharmony_ci			precision mediump float;
2213e5c31af7Sopenharmony_ci			precision mediump int;
2214e5c31af7Sopenharmony_ci
2215e5c31af7Sopenharmony_ci			${DECLARATIONS}
2216e5c31af7Sopenharmony_ci
2217e5c31af7Sopenharmony_ci			void main()
2218e5c31af7Sopenharmony_ci			{
2219e5c31af7Sopenharmony_ci				vec2 c;
2220e5c31af7Sopenharmony_ci				vec2 a;
2221e5c31af7Sopenharmony_ci				ivec4 b;
2222e5c31af7Sopenharmony_ci				vec2 c = a * b;
2223e5c31af7Sopenharmony_ci			}
2224e5c31af7Sopenharmony_ci		""
2225e5c31af7Sopenharmony_ci	end
2226e5c31af7Sopenharmony_ci	case mul_vec2_ivec4_ivec4
2227e5c31af7Sopenharmony_ci		expect compile_fail
2228e5c31af7Sopenharmony_ci		version 300 es
2229e5c31af7Sopenharmony_ci
2230e5c31af7Sopenharmony_ci		both ""
2231e5c31af7Sopenharmony_ci			#version 300 es
2232e5c31af7Sopenharmony_ci			precision mediump float;
2233e5c31af7Sopenharmony_ci			precision mediump int;
2234e5c31af7Sopenharmony_ci
2235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2236e5c31af7Sopenharmony_ci
2237e5c31af7Sopenharmony_ci			void main()
2238e5c31af7Sopenharmony_ci			{
2239e5c31af7Sopenharmony_ci				ivec4 c;
2240e5c31af7Sopenharmony_ci				vec2 a;
2241e5c31af7Sopenharmony_ci				ivec4 b;
2242e5c31af7Sopenharmony_ci				ivec4 c = a * b;
2243e5c31af7Sopenharmony_ci			}
2244e5c31af7Sopenharmony_ci		""
2245e5c31af7Sopenharmony_ci	end
2246e5c31af7Sopenharmony_ci	case mul_vec3_int_vec3
2247e5c31af7Sopenharmony_ci		expect compile_fail
2248e5c31af7Sopenharmony_ci		version 300 es
2249e5c31af7Sopenharmony_ci
2250e5c31af7Sopenharmony_ci		both ""
2251e5c31af7Sopenharmony_ci			#version 300 es
2252e5c31af7Sopenharmony_ci			precision mediump float;
2253e5c31af7Sopenharmony_ci			precision mediump int;
2254e5c31af7Sopenharmony_ci
2255e5c31af7Sopenharmony_ci			${DECLARATIONS}
2256e5c31af7Sopenharmony_ci
2257e5c31af7Sopenharmony_ci			void main()
2258e5c31af7Sopenharmony_ci			{
2259e5c31af7Sopenharmony_ci				vec3 c;
2260e5c31af7Sopenharmony_ci				vec3 a;
2261e5c31af7Sopenharmony_ci				int b;
2262e5c31af7Sopenharmony_ci				vec3 c = a * b;
2263e5c31af7Sopenharmony_ci			}
2264e5c31af7Sopenharmony_ci		""
2265e5c31af7Sopenharmony_ci	end
2266e5c31af7Sopenharmony_ci	case mul_vec3_int_int
2267e5c31af7Sopenharmony_ci		expect compile_fail
2268e5c31af7Sopenharmony_ci		version 300 es
2269e5c31af7Sopenharmony_ci
2270e5c31af7Sopenharmony_ci		both ""
2271e5c31af7Sopenharmony_ci			#version 300 es
2272e5c31af7Sopenharmony_ci			precision mediump float;
2273e5c31af7Sopenharmony_ci			precision mediump int;
2274e5c31af7Sopenharmony_ci
2275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2276e5c31af7Sopenharmony_ci
2277e5c31af7Sopenharmony_ci			void main()
2278e5c31af7Sopenharmony_ci			{
2279e5c31af7Sopenharmony_ci				int c;
2280e5c31af7Sopenharmony_ci				vec3 a;
2281e5c31af7Sopenharmony_ci				int b;
2282e5c31af7Sopenharmony_ci				int c = a * b;
2283e5c31af7Sopenharmony_ci			}
2284e5c31af7Sopenharmony_ci		""
2285e5c31af7Sopenharmony_ci	end
2286e5c31af7Sopenharmony_ci	case mul_vec3_ivec2_vec3
2287e5c31af7Sopenharmony_ci		expect compile_fail
2288e5c31af7Sopenharmony_ci		version 300 es
2289e5c31af7Sopenharmony_ci
2290e5c31af7Sopenharmony_ci		both ""
2291e5c31af7Sopenharmony_ci			#version 300 es
2292e5c31af7Sopenharmony_ci			precision mediump float;
2293e5c31af7Sopenharmony_ci			precision mediump int;
2294e5c31af7Sopenharmony_ci
2295e5c31af7Sopenharmony_ci			${DECLARATIONS}
2296e5c31af7Sopenharmony_ci
2297e5c31af7Sopenharmony_ci			void main()
2298e5c31af7Sopenharmony_ci			{
2299e5c31af7Sopenharmony_ci				vec3 c;
2300e5c31af7Sopenharmony_ci				vec3 a;
2301e5c31af7Sopenharmony_ci				ivec2 b;
2302e5c31af7Sopenharmony_ci				vec3 c = a * b;
2303e5c31af7Sopenharmony_ci			}
2304e5c31af7Sopenharmony_ci		""
2305e5c31af7Sopenharmony_ci	end
2306e5c31af7Sopenharmony_ci	case mul_vec3_ivec2_ivec2
2307e5c31af7Sopenharmony_ci		expect compile_fail
2308e5c31af7Sopenharmony_ci		version 300 es
2309e5c31af7Sopenharmony_ci
2310e5c31af7Sopenharmony_ci		both ""
2311e5c31af7Sopenharmony_ci			#version 300 es
2312e5c31af7Sopenharmony_ci			precision mediump float;
2313e5c31af7Sopenharmony_ci			precision mediump int;
2314e5c31af7Sopenharmony_ci
2315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2316e5c31af7Sopenharmony_ci
2317e5c31af7Sopenharmony_ci			void main()
2318e5c31af7Sopenharmony_ci			{
2319e5c31af7Sopenharmony_ci				ivec2 c;
2320e5c31af7Sopenharmony_ci				vec3 a;
2321e5c31af7Sopenharmony_ci				ivec2 b;
2322e5c31af7Sopenharmony_ci				ivec2 c = a * b;
2323e5c31af7Sopenharmony_ci			}
2324e5c31af7Sopenharmony_ci		""
2325e5c31af7Sopenharmony_ci	end
2326e5c31af7Sopenharmony_ci	case mul_vec3_ivec3_vec3
2327e5c31af7Sopenharmony_ci		expect compile_fail
2328e5c31af7Sopenharmony_ci		version 300 es
2329e5c31af7Sopenharmony_ci
2330e5c31af7Sopenharmony_ci		both ""
2331e5c31af7Sopenharmony_ci			#version 300 es
2332e5c31af7Sopenharmony_ci			precision mediump float;
2333e5c31af7Sopenharmony_ci			precision mediump int;
2334e5c31af7Sopenharmony_ci
2335e5c31af7Sopenharmony_ci			${DECLARATIONS}
2336e5c31af7Sopenharmony_ci
2337e5c31af7Sopenharmony_ci			void main()
2338e5c31af7Sopenharmony_ci			{
2339e5c31af7Sopenharmony_ci				vec3 c;
2340e5c31af7Sopenharmony_ci				vec3 a;
2341e5c31af7Sopenharmony_ci				ivec3 b;
2342e5c31af7Sopenharmony_ci				vec3 c = a * b;
2343e5c31af7Sopenharmony_ci			}
2344e5c31af7Sopenharmony_ci		""
2345e5c31af7Sopenharmony_ci	end
2346e5c31af7Sopenharmony_ci	case mul_vec3_ivec3_ivec3
2347e5c31af7Sopenharmony_ci		expect compile_fail
2348e5c31af7Sopenharmony_ci		version 300 es
2349e5c31af7Sopenharmony_ci
2350e5c31af7Sopenharmony_ci		both ""
2351e5c31af7Sopenharmony_ci			#version 300 es
2352e5c31af7Sopenharmony_ci			precision mediump float;
2353e5c31af7Sopenharmony_ci			precision mediump int;
2354e5c31af7Sopenharmony_ci
2355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2356e5c31af7Sopenharmony_ci
2357e5c31af7Sopenharmony_ci			void main()
2358e5c31af7Sopenharmony_ci			{
2359e5c31af7Sopenharmony_ci				ivec3 c;
2360e5c31af7Sopenharmony_ci				vec3 a;
2361e5c31af7Sopenharmony_ci				ivec3 b;
2362e5c31af7Sopenharmony_ci				ivec3 c = a * b;
2363e5c31af7Sopenharmony_ci			}
2364e5c31af7Sopenharmony_ci		""
2365e5c31af7Sopenharmony_ci	end
2366e5c31af7Sopenharmony_ci	case mul_vec3_ivec4_vec3
2367e5c31af7Sopenharmony_ci		expect compile_fail
2368e5c31af7Sopenharmony_ci		version 300 es
2369e5c31af7Sopenharmony_ci
2370e5c31af7Sopenharmony_ci		both ""
2371e5c31af7Sopenharmony_ci			#version 300 es
2372e5c31af7Sopenharmony_ci			precision mediump float;
2373e5c31af7Sopenharmony_ci			precision mediump int;
2374e5c31af7Sopenharmony_ci
2375e5c31af7Sopenharmony_ci			${DECLARATIONS}
2376e5c31af7Sopenharmony_ci
2377e5c31af7Sopenharmony_ci			void main()
2378e5c31af7Sopenharmony_ci			{
2379e5c31af7Sopenharmony_ci				vec3 c;
2380e5c31af7Sopenharmony_ci				vec3 a;
2381e5c31af7Sopenharmony_ci				ivec4 b;
2382e5c31af7Sopenharmony_ci				vec3 c = a * b;
2383e5c31af7Sopenharmony_ci			}
2384e5c31af7Sopenharmony_ci		""
2385e5c31af7Sopenharmony_ci	end
2386e5c31af7Sopenharmony_ci	case mul_vec3_ivec4_ivec4
2387e5c31af7Sopenharmony_ci		expect compile_fail
2388e5c31af7Sopenharmony_ci		version 300 es
2389e5c31af7Sopenharmony_ci
2390e5c31af7Sopenharmony_ci		both ""
2391e5c31af7Sopenharmony_ci			#version 300 es
2392e5c31af7Sopenharmony_ci			precision mediump float;
2393e5c31af7Sopenharmony_ci			precision mediump int;
2394e5c31af7Sopenharmony_ci
2395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2396e5c31af7Sopenharmony_ci
2397e5c31af7Sopenharmony_ci			void main()
2398e5c31af7Sopenharmony_ci			{
2399e5c31af7Sopenharmony_ci				ivec4 c;
2400e5c31af7Sopenharmony_ci				vec3 a;
2401e5c31af7Sopenharmony_ci				ivec4 b;
2402e5c31af7Sopenharmony_ci				ivec4 c = a * b;
2403e5c31af7Sopenharmony_ci			}
2404e5c31af7Sopenharmony_ci		""
2405e5c31af7Sopenharmony_ci	end
2406e5c31af7Sopenharmony_ci	case mul_vec4_int_vec4
2407e5c31af7Sopenharmony_ci		expect compile_fail
2408e5c31af7Sopenharmony_ci		version 300 es
2409e5c31af7Sopenharmony_ci
2410e5c31af7Sopenharmony_ci		both ""
2411e5c31af7Sopenharmony_ci			#version 300 es
2412e5c31af7Sopenharmony_ci			precision mediump float;
2413e5c31af7Sopenharmony_ci			precision mediump int;
2414e5c31af7Sopenharmony_ci
2415e5c31af7Sopenharmony_ci			${DECLARATIONS}
2416e5c31af7Sopenharmony_ci
2417e5c31af7Sopenharmony_ci			void main()
2418e5c31af7Sopenharmony_ci			{
2419e5c31af7Sopenharmony_ci				vec4 c;
2420e5c31af7Sopenharmony_ci				vec4 a;
2421e5c31af7Sopenharmony_ci				int b;
2422e5c31af7Sopenharmony_ci				vec4 c = a * b;
2423e5c31af7Sopenharmony_ci			}
2424e5c31af7Sopenharmony_ci		""
2425e5c31af7Sopenharmony_ci	end
2426e5c31af7Sopenharmony_ci	case mul_vec4_int_int
2427e5c31af7Sopenharmony_ci		expect compile_fail
2428e5c31af7Sopenharmony_ci		version 300 es
2429e5c31af7Sopenharmony_ci
2430e5c31af7Sopenharmony_ci		both ""
2431e5c31af7Sopenharmony_ci			#version 300 es
2432e5c31af7Sopenharmony_ci			precision mediump float;
2433e5c31af7Sopenharmony_ci			precision mediump int;
2434e5c31af7Sopenharmony_ci
2435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2436e5c31af7Sopenharmony_ci
2437e5c31af7Sopenharmony_ci			void main()
2438e5c31af7Sopenharmony_ci			{
2439e5c31af7Sopenharmony_ci				int c;
2440e5c31af7Sopenharmony_ci				vec4 a;
2441e5c31af7Sopenharmony_ci				int b;
2442e5c31af7Sopenharmony_ci				int c = a * b;
2443e5c31af7Sopenharmony_ci			}
2444e5c31af7Sopenharmony_ci		""
2445e5c31af7Sopenharmony_ci	end
2446e5c31af7Sopenharmony_ci	case mul_vec4_ivec2_vec4
2447e5c31af7Sopenharmony_ci		expect compile_fail
2448e5c31af7Sopenharmony_ci		version 300 es
2449e5c31af7Sopenharmony_ci
2450e5c31af7Sopenharmony_ci		both ""
2451e5c31af7Sopenharmony_ci			#version 300 es
2452e5c31af7Sopenharmony_ci			precision mediump float;
2453e5c31af7Sopenharmony_ci			precision mediump int;
2454e5c31af7Sopenharmony_ci
2455e5c31af7Sopenharmony_ci			${DECLARATIONS}
2456e5c31af7Sopenharmony_ci
2457e5c31af7Sopenharmony_ci			void main()
2458e5c31af7Sopenharmony_ci			{
2459e5c31af7Sopenharmony_ci				vec4 c;
2460e5c31af7Sopenharmony_ci				vec4 a;
2461e5c31af7Sopenharmony_ci				ivec2 b;
2462e5c31af7Sopenharmony_ci				vec4 c = a * b;
2463e5c31af7Sopenharmony_ci			}
2464e5c31af7Sopenharmony_ci		""
2465e5c31af7Sopenharmony_ci	end
2466e5c31af7Sopenharmony_ci	case mul_vec4_ivec2_ivec2
2467e5c31af7Sopenharmony_ci		expect compile_fail
2468e5c31af7Sopenharmony_ci		version 300 es
2469e5c31af7Sopenharmony_ci
2470e5c31af7Sopenharmony_ci		both ""
2471e5c31af7Sopenharmony_ci			#version 300 es
2472e5c31af7Sopenharmony_ci			precision mediump float;
2473e5c31af7Sopenharmony_ci			precision mediump int;
2474e5c31af7Sopenharmony_ci
2475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2476e5c31af7Sopenharmony_ci
2477e5c31af7Sopenharmony_ci			void main()
2478e5c31af7Sopenharmony_ci			{
2479e5c31af7Sopenharmony_ci				ivec2 c;
2480e5c31af7Sopenharmony_ci				vec4 a;
2481e5c31af7Sopenharmony_ci				ivec2 b;
2482e5c31af7Sopenharmony_ci				ivec2 c = a * b;
2483e5c31af7Sopenharmony_ci			}
2484e5c31af7Sopenharmony_ci		""
2485e5c31af7Sopenharmony_ci	end
2486e5c31af7Sopenharmony_ci	case mul_vec4_ivec3_vec4
2487e5c31af7Sopenharmony_ci		expect compile_fail
2488e5c31af7Sopenharmony_ci		version 300 es
2489e5c31af7Sopenharmony_ci
2490e5c31af7Sopenharmony_ci		both ""
2491e5c31af7Sopenharmony_ci			#version 300 es
2492e5c31af7Sopenharmony_ci			precision mediump float;
2493e5c31af7Sopenharmony_ci			precision mediump int;
2494e5c31af7Sopenharmony_ci
2495e5c31af7Sopenharmony_ci			${DECLARATIONS}
2496e5c31af7Sopenharmony_ci
2497e5c31af7Sopenharmony_ci			void main()
2498e5c31af7Sopenharmony_ci			{
2499e5c31af7Sopenharmony_ci				vec4 c;
2500e5c31af7Sopenharmony_ci				vec4 a;
2501e5c31af7Sopenharmony_ci				ivec3 b;
2502e5c31af7Sopenharmony_ci				vec4 c = a * b;
2503e5c31af7Sopenharmony_ci			}
2504e5c31af7Sopenharmony_ci		""
2505e5c31af7Sopenharmony_ci	end
2506e5c31af7Sopenharmony_ci	case mul_vec4_ivec3_ivec3
2507e5c31af7Sopenharmony_ci		expect compile_fail
2508e5c31af7Sopenharmony_ci		version 300 es
2509e5c31af7Sopenharmony_ci
2510e5c31af7Sopenharmony_ci		both ""
2511e5c31af7Sopenharmony_ci			#version 300 es
2512e5c31af7Sopenharmony_ci			precision mediump float;
2513e5c31af7Sopenharmony_ci			precision mediump int;
2514e5c31af7Sopenharmony_ci
2515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2516e5c31af7Sopenharmony_ci
2517e5c31af7Sopenharmony_ci			void main()
2518e5c31af7Sopenharmony_ci			{
2519e5c31af7Sopenharmony_ci				ivec3 c;
2520e5c31af7Sopenharmony_ci				vec4 a;
2521e5c31af7Sopenharmony_ci				ivec3 b;
2522e5c31af7Sopenharmony_ci				ivec3 c = a * b;
2523e5c31af7Sopenharmony_ci			}
2524e5c31af7Sopenharmony_ci		""
2525e5c31af7Sopenharmony_ci	end
2526e5c31af7Sopenharmony_ci	case mul_vec4_ivec4_vec4
2527e5c31af7Sopenharmony_ci		expect compile_fail
2528e5c31af7Sopenharmony_ci		version 300 es
2529e5c31af7Sopenharmony_ci
2530e5c31af7Sopenharmony_ci		both ""
2531e5c31af7Sopenharmony_ci			#version 300 es
2532e5c31af7Sopenharmony_ci			precision mediump float;
2533e5c31af7Sopenharmony_ci			precision mediump int;
2534e5c31af7Sopenharmony_ci
2535e5c31af7Sopenharmony_ci			${DECLARATIONS}
2536e5c31af7Sopenharmony_ci
2537e5c31af7Sopenharmony_ci			void main()
2538e5c31af7Sopenharmony_ci			{
2539e5c31af7Sopenharmony_ci				vec4 c;
2540e5c31af7Sopenharmony_ci				vec4 a;
2541e5c31af7Sopenharmony_ci				ivec4 b;
2542e5c31af7Sopenharmony_ci				vec4 c = a * b;
2543e5c31af7Sopenharmony_ci			}
2544e5c31af7Sopenharmony_ci		""
2545e5c31af7Sopenharmony_ci	end
2546e5c31af7Sopenharmony_ci	case mul_vec4_ivec4_ivec4
2547e5c31af7Sopenharmony_ci		expect compile_fail
2548e5c31af7Sopenharmony_ci		version 300 es
2549e5c31af7Sopenharmony_ci
2550e5c31af7Sopenharmony_ci		both ""
2551e5c31af7Sopenharmony_ci			#version 300 es
2552e5c31af7Sopenharmony_ci			precision mediump float;
2553e5c31af7Sopenharmony_ci			precision mediump int;
2554e5c31af7Sopenharmony_ci
2555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2556e5c31af7Sopenharmony_ci
2557e5c31af7Sopenharmony_ci			void main()
2558e5c31af7Sopenharmony_ci			{
2559e5c31af7Sopenharmony_ci				ivec4 c;
2560e5c31af7Sopenharmony_ci				vec4 a;
2561e5c31af7Sopenharmony_ci				ivec4 b;
2562e5c31af7Sopenharmony_ci				ivec4 c = a * b;
2563e5c31af7Sopenharmony_ci			}
2564e5c31af7Sopenharmony_ci		""
2565e5c31af7Sopenharmony_ci	end
2566e5c31af7Sopenharmony_ci	case mul_float_uint_float
2567e5c31af7Sopenharmony_ci		expect compile_fail
2568e5c31af7Sopenharmony_ci		version 300 es
2569e5c31af7Sopenharmony_ci
2570e5c31af7Sopenharmony_ci		both ""
2571e5c31af7Sopenharmony_ci			#version 300 es
2572e5c31af7Sopenharmony_ci			precision mediump float;
2573e5c31af7Sopenharmony_ci			precision mediump int;
2574e5c31af7Sopenharmony_ci
2575e5c31af7Sopenharmony_ci			${DECLARATIONS}
2576e5c31af7Sopenharmony_ci
2577e5c31af7Sopenharmony_ci			void main()
2578e5c31af7Sopenharmony_ci			{
2579e5c31af7Sopenharmony_ci				float c;
2580e5c31af7Sopenharmony_ci				float a;
2581e5c31af7Sopenharmony_ci				uint b;
2582e5c31af7Sopenharmony_ci				float c = a * b;
2583e5c31af7Sopenharmony_ci			}
2584e5c31af7Sopenharmony_ci		""
2585e5c31af7Sopenharmony_ci	end
2586e5c31af7Sopenharmony_ci	case mul_float_uint_uint
2587e5c31af7Sopenharmony_ci		expect compile_fail
2588e5c31af7Sopenharmony_ci		version 300 es
2589e5c31af7Sopenharmony_ci
2590e5c31af7Sopenharmony_ci		both ""
2591e5c31af7Sopenharmony_ci			#version 300 es
2592e5c31af7Sopenharmony_ci			precision mediump float;
2593e5c31af7Sopenharmony_ci			precision mediump int;
2594e5c31af7Sopenharmony_ci
2595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2596e5c31af7Sopenharmony_ci
2597e5c31af7Sopenharmony_ci			void main()
2598e5c31af7Sopenharmony_ci			{
2599e5c31af7Sopenharmony_ci				uint c;
2600e5c31af7Sopenharmony_ci				float a;
2601e5c31af7Sopenharmony_ci				uint b;
2602e5c31af7Sopenharmony_ci				uint c = a * b;
2603e5c31af7Sopenharmony_ci			}
2604e5c31af7Sopenharmony_ci		""
2605e5c31af7Sopenharmony_ci	end
2606e5c31af7Sopenharmony_ci	case mul_float_uvec2_float
2607e5c31af7Sopenharmony_ci		expect compile_fail
2608e5c31af7Sopenharmony_ci		version 300 es
2609e5c31af7Sopenharmony_ci
2610e5c31af7Sopenharmony_ci		both ""
2611e5c31af7Sopenharmony_ci			#version 300 es
2612e5c31af7Sopenharmony_ci			precision mediump float;
2613e5c31af7Sopenharmony_ci			precision mediump int;
2614e5c31af7Sopenharmony_ci
2615e5c31af7Sopenharmony_ci			${DECLARATIONS}
2616e5c31af7Sopenharmony_ci
2617e5c31af7Sopenharmony_ci			void main()
2618e5c31af7Sopenharmony_ci			{
2619e5c31af7Sopenharmony_ci				float c;
2620e5c31af7Sopenharmony_ci				float a;
2621e5c31af7Sopenharmony_ci				uvec2 b;
2622e5c31af7Sopenharmony_ci				float c = a * b;
2623e5c31af7Sopenharmony_ci			}
2624e5c31af7Sopenharmony_ci		""
2625e5c31af7Sopenharmony_ci	end
2626e5c31af7Sopenharmony_ci	case mul_float_uvec2_uvec2
2627e5c31af7Sopenharmony_ci		expect compile_fail
2628e5c31af7Sopenharmony_ci		version 300 es
2629e5c31af7Sopenharmony_ci
2630e5c31af7Sopenharmony_ci		both ""
2631e5c31af7Sopenharmony_ci			#version 300 es
2632e5c31af7Sopenharmony_ci			precision mediump float;
2633e5c31af7Sopenharmony_ci			precision mediump int;
2634e5c31af7Sopenharmony_ci
2635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2636e5c31af7Sopenharmony_ci
2637e5c31af7Sopenharmony_ci			void main()
2638e5c31af7Sopenharmony_ci			{
2639e5c31af7Sopenharmony_ci				uvec2 c;
2640e5c31af7Sopenharmony_ci				float a;
2641e5c31af7Sopenharmony_ci				uvec2 b;
2642e5c31af7Sopenharmony_ci				uvec2 c = a * b;
2643e5c31af7Sopenharmony_ci			}
2644e5c31af7Sopenharmony_ci		""
2645e5c31af7Sopenharmony_ci	end
2646e5c31af7Sopenharmony_ci	case mul_float_uvec3_float
2647e5c31af7Sopenharmony_ci		expect compile_fail
2648e5c31af7Sopenharmony_ci		version 300 es
2649e5c31af7Sopenharmony_ci
2650e5c31af7Sopenharmony_ci		both ""
2651e5c31af7Sopenharmony_ci			#version 300 es
2652e5c31af7Sopenharmony_ci			precision mediump float;
2653e5c31af7Sopenharmony_ci			precision mediump int;
2654e5c31af7Sopenharmony_ci
2655e5c31af7Sopenharmony_ci			${DECLARATIONS}
2656e5c31af7Sopenharmony_ci
2657e5c31af7Sopenharmony_ci			void main()
2658e5c31af7Sopenharmony_ci			{
2659e5c31af7Sopenharmony_ci				float c;
2660e5c31af7Sopenharmony_ci				float a;
2661e5c31af7Sopenharmony_ci				uvec3 b;
2662e5c31af7Sopenharmony_ci				float c = a * b;
2663e5c31af7Sopenharmony_ci			}
2664e5c31af7Sopenharmony_ci		""
2665e5c31af7Sopenharmony_ci	end
2666e5c31af7Sopenharmony_ci	case mul_float_uvec3_uvec3
2667e5c31af7Sopenharmony_ci		expect compile_fail
2668e5c31af7Sopenharmony_ci		version 300 es
2669e5c31af7Sopenharmony_ci
2670e5c31af7Sopenharmony_ci		both ""
2671e5c31af7Sopenharmony_ci			#version 300 es
2672e5c31af7Sopenharmony_ci			precision mediump float;
2673e5c31af7Sopenharmony_ci			precision mediump int;
2674e5c31af7Sopenharmony_ci
2675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2676e5c31af7Sopenharmony_ci
2677e5c31af7Sopenharmony_ci			void main()
2678e5c31af7Sopenharmony_ci			{
2679e5c31af7Sopenharmony_ci				uvec3 c;
2680e5c31af7Sopenharmony_ci				float a;
2681e5c31af7Sopenharmony_ci				uvec3 b;
2682e5c31af7Sopenharmony_ci				uvec3 c = a * b;
2683e5c31af7Sopenharmony_ci			}
2684e5c31af7Sopenharmony_ci		""
2685e5c31af7Sopenharmony_ci	end
2686e5c31af7Sopenharmony_ci	case mul_float_uvec4_float
2687e5c31af7Sopenharmony_ci		expect compile_fail
2688e5c31af7Sopenharmony_ci		version 300 es
2689e5c31af7Sopenharmony_ci
2690e5c31af7Sopenharmony_ci		both ""
2691e5c31af7Sopenharmony_ci			#version 300 es
2692e5c31af7Sopenharmony_ci			precision mediump float;
2693e5c31af7Sopenharmony_ci			precision mediump int;
2694e5c31af7Sopenharmony_ci
2695e5c31af7Sopenharmony_ci			${DECLARATIONS}
2696e5c31af7Sopenharmony_ci
2697e5c31af7Sopenharmony_ci			void main()
2698e5c31af7Sopenharmony_ci			{
2699e5c31af7Sopenharmony_ci				float c;
2700e5c31af7Sopenharmony_ci				float a;
2701e5c31af7Sopenharmony_ci				uvec4 b;
2702e5c31af7Sopenharmony_ci				float c = a * b;
2703e5c31af7Sopenharmony_ci			}
2704e5c31af7Sopenharmony_ci		""
2705e5c31af7Sopenharmony_ci	end
2706e5c31af7Sopenharmony_ci	case mul_float_uvec4_uvec4
2707e5c31af7Sopenharmony_ci		expect compile_fail
2708e5c31af7Sopenharmony_ci		version 300 es
2709e5c31af7Sopenharmony_ci
2710e5c31af7Sopenharmony_ci		both ""
2711e5c31af7Sopenharmony_ci			#version 300 es
2712e5c31af7Sopenharmony_ci			precision mediump float;
2713e5c31af7Sopenharmony_ci			precision mediump int;
2714e5c31af7Sopenharmony_ci
2715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2716e5c31af7Sopenharmony_ci
2717e5c31af7Sopenharmony_ci			void main()
2718e5c31af7Sopenharmony_ci			{
2719e5c31af7Sopenharmony_ci				uvec4 c;
2720e5c31af7Sopenharmony_ci				float a;
2721e5c31af7Sopenharmony_ci				uvec4 b;
2722e5c31af7Sopenharmony_ci				uvec4 c = a * b;
2723e5c31af7Sopenharmony_ci			}
2724e5c31af7Sopenharmony_ci		""
2725e5c31af7Sopenharmony_ci	end
2726e5c31af7Sopenharmony_ci	case mul_vec2_uint_vec2
2727e5c31af7Sopenharmony_ci		expect compile_fail
2728e5c31af7Sopenharmony_ci		version 300 es
2729e5c31af7Sopenharmony_ci
2730e5c31af7Sopenharmony_ci		both ""
2731e5c31af7Sopenharmony_ci			#version 300 es
2732e5c31af7Sopenharmony_ci			precision mediump float;
2733e5c31af7Sopenharmony_ci			precision mediump int;
2734e5c31af7Sopenharmony_ci
2735e5c31af7Sopenharmony_ci			${DECLARATIONS}
2736e5c31af7Sopenharmony_ci
2737e5c31af7Sopenharmony_ci			void main()
2738e5c31af7Sopenharmony_ci			{
2739e5c31af7Sopenharmony_ci				vec2 c;
2740e5c31af7Sopenharmony_ci				vec2 a;
2741e5c31af7Sopenharmony_ci				uint b;
2742e5c31af7Sopenharmony_ci				vec2 c = a * b;
2743e5c31af7Sopenharmony_ci			}
2744e5c31af7Sopenharmony_ci		""
2745e5c31af7Sopenharmony_ci	end
2746e5c31af7Sopenharmony_ci	case mul_vec2_uint_uint
2747e5c31af7Sopenharmony_ci		expect compile_fail
2748e5c31af7Sopenharmony_ci		version 300 es
2749e5c31af7Sopenharmony_ci
2750e5c31af7Sopenharmony_ci		both ""
2751e5c31af7Sopenharmony_ci			#version 300 es
2752e5c31af7Sopenharmony_ci			precision mediump float;
2753e5c31af7Sopenharmony_ci			precision mediump int;
2754e5c31af7Sopenharmony_ci
2755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2756e5c31af7Sopenharmony_ci
2757e5c31af7Sopenharmony_ci			void main()
2758e5c31af7Sopenharmony_ci			{
2759e5c31af7Sopenharmony_ci				uint c;
2760e5c31af7Sopenharmony_ci				vec2 a;
2761e5c31af7Sopenharmony_ci				uint b;
2762e5c31af7Sopenharmony_ci				uint c = a * b;
2763e5c31af7Sopenharmony_ci			}
2764e5c31af7Sopenharmony_ci		""
2765e5c31af7Sopenharmony_ci	end
2766e5c31af7Sopenharmony_ci	case mul_vec2_uvec2_vec2
2767e5c31af7Sopenharmony_ci		expect compile_fail
2768e5c31af7Sopenharmony_ci		version 300 es
2769e5c31af7Sopenharmony_ci
2770e5c31af7Sopenharmony_ci		both ""
2771e5c31af7Sopenharmony_ci			#version 300 es
2772e5c31af7Sopenharmony_ci			precision mediump float;
2773e5c31af7Sopenharmony_ci			precision mediump int;
2774e5c31af7Sopenharmony_ci
2775e5c31af7Sopenharmony_ci			${DECLARATIONS}
2776e5c31af7Sopenharmony_ci
2777e5c31af7Sopenharmony_ci			void main()
2778e5c31af7Sopenharmony_ci			{
2779e5c31af7Sopenharmony_ci				vec2 c;
2780e5c31af7Sopenharmony_ci				vec2 a;
2781e5c31af7Sopenharmony_ci				uvec2 b;
2782e5c31af7Sopenharmony_ci				vec2 c = a * b;
2783e5c31af7Sopenharmony_ci			}
2784e5c31af7Sopenharmony_ci		""
2785e5c31af7Sopenharmony_ci	end
2786e5c31af7Sopenharmony_ci	case mul_vec2_uvec2_uvec2
2787e5c31af7Sopenharmony_ci		expect compile_fail
2788e5c31af7Sopenharmony_ci		version 300 es
2789e5c31af7Sopenharmony_ci
2790e5c31af7Sopenharmony_ci		both ""
2791e5c31af7Sopenharmony_ci			#version 300 es
2792e5c31af7Sopenharmony_ci			precision mediump float;
2793e5c31af7Sopenharmony_ci			precision mediump int;
2794e5c31af7Sopenharmony_ci
2795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2796e5c31af7Sopenharmony_ci
2797e5c31af7Sopenharmony_ci			void main()
2798e5c31af7Sopenharmony_ci			{
2799e5c31af7Sopenharmony_ci				uvec2 c;
2800e5c31af7Sopenharmony_ci				vec2 a;
2801e5c31af7Sopenharmony_ci				uvec2 b;
2802e5c31af7Sopenharmony_ci				uvec2 c = a * b;
2803e5c31af7Sopenharmony_ci			}
2804e5c31af7Sopenharmony_ci		""
2805e5c31af7Sopenharmony_ci	end
2806e5c31af7Sopenharmony_ci	case mul_vec2_uvec3_vec2
2807e5c31af7Sopenharmony_ci		expect compile_fail
2808e5c31af7Sopenharmony_ci		version 300 es
2809e5c31af7Sopenharmony_ci
2810e5c31af7Sopenharmony_ci		both ""
2811e5c31af7Sopenharmony_ci			#version 300 es
2812e5c31af7Sopenharmony_ci			precision mediump float;
2813e5c31af7Sopenharmony_ci			precision mediump int;
2814e5c31af7Sopenharmony_ci
2815e5c31af7Sopenharmony_ci			${DECLARATIONS}
2816e5c31af7Sopenharmony_ci
2817e5c31af7Sopenharmony_ci			void main()
2818e5c31af7Sopenharmony_ci			{
2819e5c31af7Sopenharmony_ci				vec2 c;
2820e5c31af7Sopenharmony_ci				vec2 a;
2821e5c31af7Sopenharmony_ci				uvec3 b;
2822e5c31af7Sopenharmony_ci				vec2 c = a * b;
2823e5c31af7Sopenharmony_ci			}
2824e5c31af7Sopenharmony_ci		""
2825e5c31af7Sopenharmony_ci	end
2826e5c31af7Sopenharmony_ci	case mul_vec2_uvec3_uvec3
2827e5c31af7Sopenharmony_ci		expect compile_fail
2828e5c31af7Sopenharmony_ci		version 300 es
2829e5c31af7Sopenharmony_ci
2830e5c31af7Sopenharmony_ci		both ""
2831e5c31af7Sopenharmony_ci			#version 300 es
2832e5c31af7Sopenharmony_ci			precision mediump float;
2833e5c31af7Sopenharmony_ci			precision mediump int;
2834e5c31af7Sopenharmony_ci
2835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2836e5c31af7Sopenharmony_ci
2837e5c31af7Sopenharmony_ci			void main()
2838e5c31af7Sopenharmony_ci			{
2839e5c31af7Sopenharmony_ci				uvec3 c;
2840e5c31af7Sopenharmony_ci				vec2 a;
2841e5c31af7Sopenharmony_ci				uvec3 b;
2842e5c31af7Sopenharmony_ci				uvec3 c = a * b;
2843e5c31af7Sopenharmony_ci			}
2844e5c31af7Sopenharmony_ci		""
2845e5c31af7Sopenharmony_ci	end
2846e5c31af7Sopenharmony_ci	case mul_vec2_uvec4_vec2
2847e5c31af7Sopenharmony_ci		expect compile_fail
2848e5c31af7Sopenharmony_ci		version 300 es
2849e5c31af7Sopenharmony_ci
2850e5c31af7Sopenharmony_ci		both ""
2851e5c31af7Sopenharmony_ci			#version 300 es
2852e5c31af7Sopenharmony_ci			precision mediump float;
2853e5c31af7Sopenharmony_ci			precision mediump int;
2854e5c31af7Sopenharmony_ci
2855e5c31af7Sopenharmony_ci			${DECLARATIONS}
2856e5c31af7Sopenharmony_ci
2857e5c31af7Sopenharmony_ci			void main()
2858e5c31af7Sopenharmony_ci			{
2859e5c31af7Sopenharmony_ci				vec2 c;
2860e5c31af7Sopenharmony_ci				vec2 a;
2861e5c31af7Sopenharmony_ci				uvec4 b;
2862e5c31af7Sopenharmony_ci				vec2 c = a * b;
2863e5c31af7Sopenharmony_ci			}
2864e5c31af7Sopenharmony_ci		""
2865e5c31af7Sopenharmony_ci	end
2866e5c31af7Sopenharmony_ci	case mul_vec2_uvec4_uvec4
2867e5c31af7Sopenharmony_ci		expect compile_fail
2868e5c31af7Sopenharmony_ci		version 300 es
2869e5c31af7Sopenharmony_ci
2870e5c31af7Sopenharmony_ci		both ""
2871e5c31af7Sopenharmony_ci			#version 300 es
2872e5c31af7Sopenharmony_ci			precision mediump float;
2873e5c31af7Sopenharmony_ci			precision mediump int;
2874e5c31af7Sopenharmony_ci
2875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2876e5c31af7Sopenharmony_ci
2877e5c31af7Sopenharmony_ci			void main()
2878e5c31af7Sopenharmony_ci			{
2879e5c31af7Sopenharmony_ci				uvec4 c;
2880e5c31af7Sopenharmony_ci				vec2 a;
2881e5c31af7Sopenharmony_ci				uvec4 b;
2882e5c31af7Sopenharmony_ci				uvec4 c = a * b;
2883e5c31af7Sopenharmony_ci			}
2884e5c31af7Sopenharmony_ci		""
2885e5c31af7Sopenharmony_ci	end
2886e5c31af7Sopenharmony_ci	case mul_vec3_uint_vec3
2887e5c31af7Sopenharmony_ci		expect compile_fail
2888e5c31af7Sopenharmony_ci		version 300 es
2889e5c31af7Sopenharmony_ci
2890e5c31af7Sopenharmony_ci		both ""
2891e5c31af7Sopenharmony_ci			#version 300 es
2892e5c31af7Sopenharmony_ci			precision mediump float;
2893e5c31af7Sopenharmony_ci			precision mediump int;
2894e5c31af7Sopenharmony_ci
2895e5c31af7Sopenharmony_ci			${DECLARATIONS}
2896e5c31af7Sopenharmony_ci
2897e5c31af7Sopenharmony_ci			void main()
2898e5c31af7Sopenharmony_ci			{
2899e5c31af7Sopenharmony_ci				vec3 c;
2900e5c31af7Sopenharmony_ci				vec3 a;
2901e5c31af7Sopenharmony_ci				uint b;
2902e5c31af7Sopenharmony_ci				vec3 c = a * b;
2903e5c31af7Sopenharmony_ci			}
2904e5c31af7Sopenharmony_ci		""
2905e5c31af7Sopenharmony_ci	end
2906e5c31af7Sopenharmony_ci	case mul_vec3_uint_uint
2907e5c31af7Sopenharmony_ci		expect compile_fail
2908e5c31af7Sopenharmony_ci		version 300 es
2909e5c31af7Sopenharmony_ci
2910e5c31af7Sopenharmony_ci		both ""
2911e5c31af7Sopenharmony_ci			#version 300 es
2912e5c31af7Sopenharmony_ci			precision mediump float;
2913e5c31af7Sopenharmony_ci			precision mediump int;
2914e5c31af7Sopenharmony_ci
2915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2916e5c31af7Sopenharmony_ci
2917e5c31af7Sopenharmony_ci			void main()
2918e5c31af7Sopenharmony_ci			{
2919e5c31af7Sopenharmony_ci				uint c;
2920e5c31af7Sopenharmony_ci				vec3 a;
2921e5c31af7Sopenharmony_ci				uint b;
2922e5c31af7Sopenharmony_ci				uint c = a * b;
2923e5c31af7Sopenharmony_ci			}
2924e5c31af7Sopenharmony_ci		""
2925e5c31af7Sopenharmony_ci	end
2926e5c31af7Sopenharmony_ci	case mul_vec3_uvec2_vec3
2927e5c31af7Sopenharmony_ci		expect compile_fail
2928e5c31af7Sopenharmony_ci		version 300 es
2929e5c31af7Sopenharmony_ci
2930e5c31af7Sopenharmony_ci		both ""
2931e5c31af7Sopenharmony_ci			#version 300 es
2932e5c31af7Sopenharmony_ci			precision mediump float;
2933e5c31af7Sopenharmony_ci			precision mediump int;
2934e5c31af7Sopenharmony_ci
2935e5c31af7Sopenharmony_ci			${DECLARATIONS}
2936e5c31af7Sopenharmony_ci
2937e5c31af7Sopenharmony_ci			void main()
2938e5c31af7Sopenharmony_ci			{
2939e5c31af7Sopenharmony_ci				vec3 c;
2940e5c31af7Sopenharmony_ci				vec3 a;
2941e5c31af7Sopenharmony_ci				uvec2 b;
2942e5c31af7Sopenharmony_ci				vec3 c = a * b;
2943e5c31af7Sopenharmony_ci			}
2944e5c31af7Sopenharmony_ci		""
2945e5c31af7Sopenharmony_ci	end
2946e5c31af7Sopenharmony_ci	case mul_vec3_uvec2_uvec2
2947e5c31af7Sopenharmony_ci		expect compile_fail
2948e5c31af7Sopenharmony_ci		version 300 es
2949e5c31af7Sopenharmony_ci
2950e5c31af7Sopenharmony_ci		both ""
2951e5c31af7Sopenharmony_ci			#version 300 es
2952e5c31af7Sopenharmony_ci			precision mediump float;
2953e5c31af7Sopenharmony_ci			precision mediump int;
2954e5c31af7Sopenharmony_ci
2955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2956e5c31af7Sopenharmony_ci
2957e5c31af7Sopenharmony_ci			void main()
2958e5c31af7Sopenharmony_ci			{
2959e5c31af7Sopenharmony_ci				uvec2 c;
2960e5c31af7Sopenharmony_ci				vec3 a;
2961e5c31af7Sopenharmony_ci				uvec2 b;
2962e5c31af7Sopenharmony_ci				uvec2 c = a * b;
2963e5c31af7Sopenharmony_ci			}
2964e5c31af7Sopenharmony_ci		""
2965e5c31af7Sopenharmony_ci	end
2966e5c31af7Sopenharmony_ci	case mul_vec3_uvec3_vec3
2967e5c31af7Sopenharmony_ci		expect compile_fail
2968e5c31af7Sopenharmony_ci		version 300 es
2969e5c31af7Sopenharmony_ci
2970e5c31af7Sopenharmony_ci		both ""
2971e5c31af7Sopenharmony_ci			#version 300 es
2972e5c31af7Sopenharmony_ci			precision mediump float;
2973e5c31af7Sopenharmony_ci			precision mediump int;
2974e5c31af7Sopenharmony_ci
2975e5c31af7Sopenharmony_ci			${DECLARATIONS}
2976e5c31af7Sopenharmony_ci
2977e5c31af7Sopenharmony_ci			void main()
2978e5c31af7Sopenharmony_ci			{
2979e5c31af7Sopenharmony_ci				vec3 c;
2980e5c31af7Sopenharmony_ci				vec3 a;
2981e5c31af7Sopenharmony_ci				uvec3 b;
2982e5c31af7Sopenharmony_ci				vec3 c = a * b;
2983e5c31af7Sopenharmony_ci			}
2984e5c31af7Sopenharmony_ci		""
2985e5c31af7Sopenharmony_ci	end
2986e5c31af7Sopenharmony_ci	case mul_vec3_uvec3_uvec3
2987e5c31af7Sopenharmony_ci		expect compile_fail
2988e5c31af7Sopenharmony_ci		version 300 es
2989e5c31af7Sopenharmony_ci
2990e5c31af7Sopenharmony_ci		both ""
2991e5c31af7Sopenharmony_ci			#version 300 es
2992e5c31af7Sopenharmony_ci			precision mediump float;
2993e5c31af7Sopenharmony_ci			precision mediump int;
2994e5c31af7Sopenharmony_ci
2995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
2996e5c31af7Sopenharmony_ci
2997e5c31af7Sopenharmony_ci			void main()
2998e5c31af7Sopenharmony_ci			{
2999e5c31af7Sopenharmony_ci				uvec3 c;
3000e5c31af7Sopenharmony_ci				vec3 a;
3001e5c31af7Sopenharmony_ci				uvec3 b;
3002e5c31af7Sopenharmony_ci				uvec3 c = a * b;
3003e5c31af7Sopenharmony_ci			}
3004e5c31af7Sopenharmony_ci		""
3005e5c31af7Sopenharmony_ci	end
3006e5c31af7Sopenharmony_ci	case mul_vec3_uvec4_vec3
3007e5c31af7Sopenharmony_ci		expect compile_fail
3008e5c31af7Sopenharmony_ci		version 300 es
3009e5c31af7Sopenharmony_ci
3010e5c31af7Sopenharmony_ci		both ""
3011e5c31af7Sopenharmony_ci			#version 300 es
3012e5c31af7Sopenharmony_ci			precision mediump float;
3013e5c31af7Sopenharmony_ci			precision mediump int;
3014e5c31af7Sopenharmony_ci
3015e5c31af7Sopenharmony_ci			${DECLARATIONS}
3016e5c31af7Sopenharmony_ci
3017e5c31af7Sopenharmony_ci			void main()
3018e5c31af7Sopenharmony_ci			{
3019e5c31af7Sopenharmony_ci				vec3 c;
3020e5c31af7Sopenharmony_ci				vec3 a;
3021e5c31af7Sopenharmony_ci				uvec4 b;
3022e5c31af7Sopenharmony_ci				vec3 c = a * b;
3023e5c31af7Sopenharmony_ci			}
3024e5c31af7Sopenharmony_ci		""
3025e5c31af7Sopenharmony_ci	end
3026e5c31af7Sopenharmony_ci	case mul_vec3_uvec4_uvec4
3027e5c31af7Sopenharmony_ci		expect compile_fail
3028e5c31af7Sopenharmony_ci		version 300 es
3029e5c31af7Sopenharmony_ci
3030e5c31af7Sopenharmony_ci		both ""
3031e5c31af7Sopenharmony_ci			#version 300 es
3032e5c31af7Sopenharmony_ci			precision mediump float;
3033e5c31af7Sopenharmony_ci			precision mediump int;
3034e5c31af7Sopenharmony_ci
3035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3036e5c31af7Sopenharmony_ci
3037e5c31af7Sopenharmony_ci			void main()
3038e5c31af7Sopenharmony_ci			{
3039e5c31af7Sopenharmony_ci				uvec4 c;
3040e5c31af7Sopenharmony_ci				vec3 a;
3041e5c31af7Sopenharmony_ci				uvec4 b;
3042e5c31af7Sopenharmony_ci				uvec4 c = a * b;
3043e5c31af7Sopenharmony_ci			}
3044e5c31af7Sopenharmony_ci		""
3045e5c31af7Sopenharmony_ci	end
3046e5c31af7Sopenharmony_ci	case mul_vec4_uint_vec4
3047e5c31af7Sopenharmony_ci		expect compile_fail
3048e5c31af7Sopenharmony_ci		version 300 es
3049e5c31af7Sopenharmony_ci
3050e5c31af7Sopenharmony_ci		both ""
3051e5c31af7Sopenharmony_ci			#version 300 es
3052e5c31af7Sopenharmony_ci			precision mediump float;
3053e5c31af7Sopenharmony_ci			precision mediump int;
3054e5c31af7Sopenharmony_ci
3055e5c31af7Sopenharmony_ci			${DECLARATIONS}
3056e5c31af7Sopenharmony_ci
3057e5c31af7Sopenharmony_ci			void main()
3058e5c31af7Sopenharmony_ci			{
3059e5c31af7Sopenharmony_ci				vec4 c;
3060e5c31af7Sopenharmony_ci				vec4 a;
3061e5c31af7Sopenharmony_ci				uint b;
3062e5c31af7Sopenharmony_ci				vec4 c = a * b;
3063e5c31af7Sopenharmony_ci			}
3064e5c31af7Sopenharmony_ci		""
3065e5c31af7Sopenharmony_ci	end
3066e5c31af7Sopenharmony_ci	case mul_vec4_uint_uint
3067e5c31af7Sopenharmony_ci		expect compile_fail
3068e5c31af7Sopenharmony_ci		version 300 es
3069e5c31af7Sopenharmony_ci
3070e5c31af7Sopenharmony_ci		both ""
3071e5c31af7Sopenharmony_ci			#version 300 es
3072e5c31af7Sopenharmony_ci			precision mediump float;
3073e5c31af7Sopenharmony_ci			precision mediump int;
3074e5c31af7Sopenharmony_ci
3075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3076e5c31af7Sopenharmony_ci
3077e5c31af7Sopenharmony_ci			void main()
3078e5c31af7Sopenharmony_ci			{
3079e5c31af7Sopenharmony_ci				uint c;
3080e5c31af7Sopenharmony_ci				vec4 a;
3081e5c31af7Sopenharmony_ci				uint b;
3082e5c31af7Sopenharmony_ci				uint c = a * b;
3083e5c31af7Sopenharmony_ci			}
3084e5c31af7Sopenharmony_ci		""
3085e5c31af7Sopenharmony_ci	end
3086e5c31af7Sopenharmony_ci	case mul_vec4_uvec2_vec4
3087e5c31af7Sopenharmony_ci		expect compile_fail
3088e5c31af7Sopenharmony_ci		version 300 es
3089e5c31af7Sopenharmony_ci
3090e5c31af7Sopenharmony_ci		both ""
3091e5c31af7Sopenharmony_ci			#version 300 es
3092e5c31af7Sopenharmony_ci			precision mediump float;
3093e5c31af7Sopenharmony_ci			precision mediump int;
3094e5c31af7Sopenharmony_ci
3095e5c31af7Sopenharmony_ci			${DECLARATIONS}
3096e5c31af7Sopenharmony_ci
3097e5c31af7Sopenharmony_ci			void main()
3098e5c31af7Sopenharmony_ci			{
3099e5c31af7Sopenharmony_ci				vec4 c;
3100e5c31af7Sopenharmony_ci				vec4 a;
3101e5c31af7Sopenharmony_ci				uvec2 b;
3102e5c31af7Sopenharmony_ci				vec4 c = a * b;
3103e5c31af7Sopenharmony_ci			}
3104e5c31af7Sopenharmony_ci		""
3105e5c31af7Sopenharmony_ci	end
3106e5c31af7Sopenharmony_ci	case mul_vec4_uvec2_uvec2
3107e5c31af7Sopenharmony_ci		expect compile_fail
3108e5c31af7Sopenharmony_ci		version 300 es
3109e5c31af7Sopenharmony_ci
3110e5c31af7Sopenharmony_ci		both ""
3111e5c31af7Sopenharmony_ci			#version 300 es
3112e5c31af7Sopenharmony_ci			precision mediump float;
3113e5c31af7Sopenharmony_ci			precision mediump int;
3114e5c31af7Sopenharmony_ci
3115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3116e5c31af7Sopenharmony_ci
3117e5c31af7Sopenharmony_ci			void main()
3118e5c31af7Sopenharmony_ci			{
3119e5c31af7Sopenharmony_ci				uvec2 c;
3120e5c31af7Sopenharmony_ci				vec4 a;
3121e5c31af7Sopenharmony_ci				uvec2 b;
3122e5c31af7Sopenharmony_ci				uvec2 c = a * b;
3123e5c31af7Sopenharmony_ci			}
3124e5c31af7Sopenharmony_ci		""
3125e5c31af7Sopenharmony_ci	end
3126e5c31af7Sopenharmony_ci	case mul_vec4_uvec3_vec4
3127e5c31af7Sopenharmony_ci		expect compile_fail
3128e5c31af7Sopenharmony_ci		version 300 es
3129e5c31af7Sopenharmony_ci
3130e5c31af7Sopenharmony_ci		both ""
3131e5c31af7Sopenharmony_ci			#version 300 es
3132e5c31af7Sopenharmony_ci			precision mediump float;
3133e5c31af7Sopenharmony_ci			precision mediump int;
3134e5c31af7Sopenharmony_ci
3135e5c31af7Sopenharmony_ci			${DECLARATIONS}
3136e5c31af7Sopenharmony_ci
3137e5c31af7Sopenharmony_ci			void main()
3138e5c31af7Sopenharmony_ci			{
3139e5c31af7Sopenharmony_ci				vec4 c;
3140e5c31af7Sopenharmony_ci				vec4 a;
3141e5c31af7Sopenharmony_ci				uvec3 b;
3142e5c31af7Sopenharmony_ci				vec4 c = a * b;
3143e5c31af7Sopenharmony_ci			}
3144e5c31af7Sopenharmony_ci		""
3145e5c31af7Sopenharmony_ci	end
3146e5c31af7Sopenharmony_ci	case mul_vec4_uvec3_uvec3
3147e5c31af7Sopenharmony_ci		expect compile_fail
3148e5c31af7Sopenharmony_ci		version 300 es
3149e5c31af7Sopenharmony_ci
3150e5c31af7Sopenharmony_ci		both ""
3151e5c31af7Sopenharmony_ci			#version 300 es
3152e5c31af7Sopenharmony_ci			precision mediump float;
3153e5c31af7Sopenharmony_ci			precision mediump int;
3154e5c31af7Sopenharmony_ci
3155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3156e5c31af7Sopenharmony_ci
3157e5c31af7Sopenharmony_ci			void main()
3158e5c31af7Sopenharmony_ci			{
3159e5c31af7Sopenharmony_ci				uvec3 c;
3160e5c31af7Sopenharmony_ci				vec4 a;
3161e5c31af7Sopenharmony_ci				uvec3 b;
3162e5c31af7Sopenharmony_ci				uvec3 c = a * b;
3163e5c31af7Sopenharmony_ci			}
3164e5c31af7Sopenharmony_ci		""
3165e5c31af7Sopenharmony_ci	end
3166e5c31af7Sopenharmony_ci	case mul_vec4_uvec4_vec4
3167e5c31af7Sopenharmony_ci		expect compile_fail
3168e5c31af7Sopenharmony_ci		version 300 es
3169e5c31af7Sopenharmony_ci
3170e5c31af7Sopenharmony_ci		both ""
3171e5c31af7Sopenharmony_ci			#version 300 es
3172e5c31af7Sopenharmony_ci			precision mediump float;
3173e5c31af7Sopenharmony_ci			precision mediump int;
3174e5c31af7Sopenharmony_ci
3175e5c31af7Sopenharmony_ci			${DECLARATIONS}
3176e5c31af7Sopenharmony_ci
3177e5c31af7Sopenharmony_ci			void main()
3178e5c31af7Sopenharmony_ci			{
3179e5c31af7Sopenharmony_ci				vec4 c;
3180e5c31af7Sopenharmony_ci				vec4 a;
3181e5c31af7Sopenharmony_ci				uvec4 b;
3182e5c31af7Sopenharmony_ci				vec4 c = a * b;
3183e5c31af7Sopenharmony_ci			}
3184e5c31af7Sopenharmony_ci		""
3185e5c31af7Sopenharmony_ci	end
3186e5c31af7Sopenharmony_ci	case mul_vec4_uvec4_uvec4
3187e5c31af7Sopenharmony_ci		expect compile_fail
3188e5c31af7Sopenharmony_ci		version 300 es
3189e5c31af7Sopenharmony_ci
3190e5c31af7Sopenharmony_ci		both ""
3191e5c31af7Sopenharmony_ci			#version 300 es
3192e5c31af7Sopenharmony_ci			precision mediump float;
3193e5c31af7Sopenharmony_ci			precision mediump int;
3194e5c31af7Sopenharmony_ci
3195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3196e5c31af7Sopenharmony_ci
3197e5c31af7Sopenharmony_ci			void main()
3198e5c31af7Sopenharmony_ci			{
3199e5c31af7Sopenharmony_ci				uvec4 c;
3200e5c31af7Sopenharmony_ci				vec4 a;
3201e5c31af7Sopenharmony_ci				uvec4 b;
3202e5c31af7Sopenharmony_ci				uvec4 c = a * b;
3203e5c31af7Sopenharmony_ci			}
3204e5c31af7Sopenharmony_ci		""
3205e5c31af7Sopenharmony_ci	end
3206e5c31af7Sopenharmony_ci	case mul_int_uint_int
3207e5c31af7Sopenharmony_ci		expect compile_fail
3208e5c31af7Sopenharmony_ci		version 300 es
3209e5c31af7Sopenharmony_ci
3210e5c31af7Sopenharmony_ci		both ""
3211e5c31af7Sopenharmony_ci			#version 300 es
3212e5c31af7Sopenharmony_ci			precision mediump float;
3213e5c31af7Sopenharmony_ci			precision mediump int;
3214e5c31af7Sopenharmony_ci
3215e5c31af7Sopenharmony_ci			${DECLARATIONS}
3216e5c31af7Sopenharmony_ci
3217e5c31af7Sopenharmony_ci			void main()
3218e5c31af7Sopenharmony_ci			{
3219e5c31af7Sopenharmony_ci				int c;
3220e5c31af7Sopenharmony_ci				int a;
3221e5c31af7Sopenharmony_ci				uint b;
3222e5c31af7Sopenharmony_ci				int c = a * b;
3223e5c31af7Sopenharmony_ci			}
3224e5c31af7Sopenharmony_ci		""
3225e5c31af7Sopenharmony_ci	end
3226e5c31af7Sopenharmony_ci	case mul_int_uint_uint
3227e5c31af7Sopenharmony_ci		expect compile_fail
3228e5c31af7Sopenharmony_ci		version 300 es
3229e5c31af7Sopenharmony_ci
3230e5c31af7Sopenharmony_ci		both ""
3231e5c31af7Sopenharmony_ci			#version 300 es
3232e5c31af7Sopenharmony_ci			precision mediump float;
3233e5c31af7Sopenharmony_ci			precision mediump int;
3234e5c31af7Sopenharmony_ci
3235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3236e5c31af7Sopenharmony_ci
3237e5c31af7Sopenharmony_ci			void main()
3238e5c31af7Sopenharmony_ci			{
3239e5c31af7Sopenharmony_ci				uint c;
3240e5c31af7Sopenharmony_ci				int a;
3241e5c31af7Sopenharmony_ci				uint b;
3242e5c31af7Sopenharmony_ci				uint c = a * b;
3243e5c31af7Sopenharmony_ci			}
3244e5c31af7Sopenharmony_ci		""
3245e5c31af7Sopenharmony_ci	end
3246e5c31af7Sopenharmony_ci	case mul_int_uvec2_int
3247e5c31af7Sopenharmony_ci		expect compile_fail
3248e5c31af7Sopenharmony_ci		version 300 es
3249e5c31af7Sopenharmony_ci
3250e5c31af7Sopenharmony_ci		both ""
3251e5c31af7Sopenharmony_ci			#version 300 es
3252e5c31af7Sopenharmony_ci			precision mediump float;
3253e5c31af7Sopenharmony_ci			precision mediump int;
3254e5c31af7Sopenharmony_ci
3255e5c31af7Sopenharmony_ci			${DECLARATIONS}
3256e5c31af7Sopenharmony_ci
3257e5c31af7Sopenharmony_ci			void main()
3258e5c31af7Sopenharmony_ci			{
3259e5c31af7Sopenharmony_ci				int c;
3260e5c31af7Sopenharmony_ci				int a;
3261e5c31af7Sopenharmony_ci				uvec2 b;
3262e5c31af7Sopenharmony_ci				int c = a * b;
3263e5c31af7Sopenharmony_ci			}
3264e5c31af7Sopenharmony_ci		""
3265e5c31af7Sopenharmony_ci	end
3266e5c31af7Sopenharmony_ci	case mul_int_uvec2_uvec2
3267e5c31af7Sopenharmony_ci		expect compile_fail
3268e5c31af7Sopenharmony_ci		version 300 es
3269e5c31af7Sopenharmony_ci
3270e5c31af7Sopenharmony_ci		both ""
3271e5c31af7Sopenharmony_ci			#version 300 es
3272e5c31af7Sopenharmony_ci			precision mediump float;
3273e5c31af7Sopenharmony_ci			precision mediump int;
3274e5c31af7Sopenharmony_ci
3275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3276e5c31af7Sopenharmony_ci
3277e5c31af7Sopenharmony_ci			void main()
3278e5c31af7Sopenharmony_ci			{
3279e5c31af7Sopenharmony_ci				uvec2 c;
3280e5c31af7Sopenharmony_ci				int a;
3281e5c31af7Sopenharmony_ci				uvec2 b;
3282e5c31af7Sopenharmony_ci				uvec2 c = a * b;
3283e5c31af7Sopenharmony_ci			}
3284e5c31af7Sopenharmony_ci		""
3285e5c31af7Sopenharmony_ci	end
3286e5c31af7Sopenharmony_ci	case mul_int_uvec3_int
3287e5c31af7Sopenharmony_ci		expect compile_fail
3288e5c31af7Sopenharmony_ci		version 300 es
3289e5c31af7Sopenharmony_ci
3290e5c31af7Sopenharmony_ci		both ""
3291e5c31af7Sopenharmony_ci			#version 300 es
3292e5c31af7Sopenharmony_ci			precision mediump float;
3293e5c31af7Sopenharmony_ci			precision mediump int;
3294e5c31af7Sopenharmony_ci
3295e5c31af7Sopenharmony_ci			${DECLARATIONS}
3296e5c31af7Sopenharmony_ci
3297e5c31af7Sopenharmony_ci			void main()
3298e5c31af7Sopenharmony_ci			{
3299e5c31af7Sopenharmony_ci				int c;
3300e5c31af7Sopenharmony_ci				int a;
3301e5c31af7Sopenharmony_ci				uvec3 b;
3302e5c31af7Sopenharmony_ci				int c = a * b;
3303e5c31af7Sopenharmony_ci			}
3304e5c31af7Sopenharmony_ci		""
3305e5c31af7Sopenharmony_ci	end
3306e5c31af7Sopenharmony_ci	case mul_int_uvec3_uvec3
3307e5c31af7Sopenharmony_ci		expect compile_fail
3308e5c31af7Sopenharmony_ci		version 300 es
3309e5c31af7Sopenharmony_ci
3310e5c31af7Sopenharmony_ci		both ""
3311e5c31af7Sopenharmony_ci			#version 300 es
3312e5c31af7Sopenharmony_ci			precision mediump float;
3313e5c31af7Sopenharmony_ci			precision mediump int;
3314e5c31af7Sopenharmony_ci
3315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3316e5c31af7Sopenharmony_ci
3317e5c31af7Sopenharmony_ci			void main()
3318e5c31af7Sopenharmony_ci			{
3319e5c31af7Sopenharmony_ci				uvec3 c;
3320e5c31af7Sopenharmony_ci				int a;
3321e5c31af7Sopenharmony_ci				uvec3 b;
3322e5c31af7Sopenharmony_ci				uvec3 c = a * b;
3323e5c31af7Sopenharmony_ci			}
3324e5c31af7Sopenharmony_ci		""
3325e5c31af7Sopenharmony_ci	end
3326e5c31af7Sopenharmony_ci	case mul_int_uvec4_int
3327e5c31af7Sopenharmony_ci		expect compile_fail
3328e5c31af7Sopenharmony_ci		version 300 es
3329e5c31af7Sopenharmony_ci
3330e5c31af7Sopenharmony_ci		both ""
3331e5c31af7Sopenharmony_ci			#version 300 es
3332e5c31af7Sopenharmony_ci			precision mediump float;
3333e5c31af7Sopenharmony_ci			precision mediump int;
3334e5c31af7Sopenharmony_ci
3335e5c31af7Sopenharmony_ci			${DECLARATIONS}
3336e5c31af7Sopenharmony_ci
3337e5c31af7Sopenharmony_ci			void main()
3338e5c31af7Sopenharmony_ci			{
3339e5c31af7Sopenharmony_ci				int c;
3340e5c31af7Sopenharmony_ci				int a;
3341e5c31af7Sopenharmony_ci				uvec4 b;
3342e5c31af7Sopenharmony_ci				int c = a * b;
3343e5c31af7Sopenharmony_ci			}
3344e5c31af7Sopenharmony_ci		""
3345e5c31af7Sopenharmony_ci	end
3346e5c31af7Sopenharmony_ci	case mul_int_uvec4_uvec4
3347e5c31af7Sopenharmony_ci		expect compile_fail
3348e5c31af7Sopenharmony_ci		version 300 es
3349e5c31af7Sopenharmony_ci
3350e5c31af7Sopenharmony_ci		both ""
3351e5c31af7Sopenharmony_ci			#version 300 es
3352e5c31af7Sopenharmony_ci			precision mediump float;
3353e5c31af7Sopenharmony_ci			precision mediump int;
3354e5c31af7Sopenharmony_ci
3355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3356e5c31af7Sopenharmony_ci
3357e5c31af7Sopenharmony_ci			void main()
3358e5c31af7Sopenharmony_ci			{
3359e5c31af7Sopenharmony_ci				uvec4 c;
3360e5c31af7Sopenharmony_ci				int a;
3361e5c31af7Sopenharmony_ci				uvec4 b;
3362e5c31af7Sopenharmony_ci				uvec4 c = a * b;
3363e5c31af7Sopenharmony_ci			}
3364e5c31af7Sopenharmony_ci		""
3365e5c31af7Sopenharmony_ci	end
3366e5c31af7Sopenharmony_ci	case mul_ivec2_uint_ivec2
3367e5c31af7Sopenharmony_ci		expect compile_fail
3368e5c31af7Sopenharmony_ci		version 300 es
3369e5c31af7Sopenharmony_ci
3370e5c31af7Sopenharmony_ci		both ""
3371e5c31af7Sopenharmony_ci			#version 300 es
3372e5c31af7Sopenharmony_ci			precision mediump float;
3373e5c31af7Sopenharmony_ci			precision mediump int;
3374e5c31af7Sopenharmony_ci
3375e5c31af7Sopenharmony_ci			${DECLARATIONS}
3376e5c31af7Sopenharmony_ci
3377e5c31af7Sopenharmony_ci			void main()
3378e5c31af7Sopenharmony_ci			{
3379e5c31af7Sopenharmony_ci				ivec2 c;
3380e5c31af7Sopenharmony_ci				ivec2 a;
3381e5c31af7Sopenharmony_ci				uint b;
3382e5c31af7Sopenharmony_ci				ivec2 c = a * b;
3383e5c31af7Sopenharmony_ci			}
3384e5c31af7Sopenharmony_ci		""
3385e5c31af7Sopenharmony_ci	end
3386e5c31af7Sopenharmony_ci	case mul_ivec2_uint_uint
3387e5c31af7Sopenharmony_ci		expect compile_fail
3388e5c31af7Sopenharmony_ci		version 300 es
3389e5c31af7Sopenharmony_ci
3390e5c31af7Sopenharmony_ci		both ""
3391e5c31af7Sopenharmony_ci			#version 300 es
3392e5c31af7Sopenharmony_ci			precision mediump float;
3393e5c31af7Sopenharmony_ci			precision mediump int;
3394e5c31af7Sopenharmony_ci
3395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3396e5c31af7Sopenharmony_ci
3397e5c31af7Sopenharmony_ci			void main()
3398e5c31af7Sopenharmony_ci			{
3399e5c31af7Sopenharmony_ci				uint c;
3400e5c31af7Sopenharmony_ci				ivec2 a;
3401e5c31af7Sopenharmony_ci				uint b;
3402e5c31af7Sopenharmony_ci				uint c = a * b;
3403e5c31af7Sopenharmony_ci			}
3404e5c31af7Sopenharmony_ci		""
3405e5c31af7Sopenharmony_ci	end
3406e5c31af7Sopenharmony_ci	case mul_ivec2_uvec2_ivec2
3407e5c31af7Sopenharmony_ci		expect compile_fail
3408e5c31af7Sopenharmony_ci		version 300 es
3409e5c31af7Sopenharmony_ci
3410e5c31af7Sopenharmony_ci		both ""
3411e5c31af7Sopenharmony_ci			#version 300 es
3412e5c31af7Sopenharmony_ci			precision mediump float;
3413e5c31af7Sopenharmony_ci			precision mediump int;
3414e5c31af7Sopenharmony_ci
3415e5c31af7Sopenharmony_ci			${DECLARATIONS}
3416e5c31af7Sopenharmony_ci
3417e5c31af7Sopenharmony_ci			void main()
3418e5c31af7Sopenharmony_ci			{
3419e5c31af7Sopenharmony_ci				ivec2 c;
3420e5c31af7Sopenharmony_ci				ivec2 a;
3421e5c31af7Sopenharmony_ci				uvec2 b;
3422e5c31af7Sopenharmony_ci				ivec2 c = a * b;
3423e5c31af7Sopenharmony_ci			}
3424e5c31af7Sopenharmony_ci		""
3425e5c31af7Sopenharmony_ci	end
3426e5c31af7Sopenharmony_ci	case mul_ivec2_uvec2_uvec2
3427e5c31af7Sopenharmony_ci		expect compile_fail
3428e5c31af7Sopenharmony_ci		version 300 es
3429e5c31af7Sopenharmony_ci
3430e5c31af7Sopenharmony_ci		both ""
3431e5c31af7Sopenharmony_ci			#version 300 es
3432e5c31af7Sopenharmony_ci			precision mediump float;
3433e5c31af7Sopenharmony_ci			precision mediump int;
3434e5c31af7Sopenharmony_ci
3435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3436e5c31af7Sopenharmony_ci
3437e5c31af7Sopenharmony_ci			void main()
3438e5c31af7Sopenharmony_ci			{
3439e5c31af7Sopenharmony_ci				uvec2 c;
3440e5c31af7Sopenharmony_ci				ivec2 a;
3441e5c31af7Sopenharmony_ci				uvec2 b;
3442e5c31af7Sopenharmony_ci				uvec2 c = a * b;
3443e5c31af7Sopenharmony_ci			}
3444e5c31af7Sopenharmony_ci		""
3445e5c31af7Sopenharmony_ci	end
3446e5c31af7Sopenharmony_ci	case mul_ivec2_uvec3_ivec2
3447e5c31af7Sopenharmony_ci		expect compile_fail
3448e5c31af7Sopenharmony_ci		version 300 es
3449e5c31af7Sopenharmony_ci
3450e5c31af7Sopenharmony_ci		both ""
3451e5c31af7Sopenharmony_ci			#version 300 es
3452e5c31af7Sopenharmony_ci			precision mediump float;
3453e5c31af7Sopenharmony_ci			precision mediump int;
3454e5c31af7Sopenharmony_ci
3455e5c31af7Sopenharmony_ci			${DECLARATIONS}
3456e5c31af7Sopenharmony_ci
3457e5c31af7Sopenharmony_ci			void main()
3458e5c31af7Sopenharmony_ci			{
3459e5c31af7Sopenharmony_ci				ivec2 c;
3460e5c31af7Sopenharmony_ci				ivec2 a;
3461e5c31af7Sopenharmony_ci				uvec3 b;
3462e5c31af7Sopenharmony_ci				ivec2 c = a * b;
3463e5c31af7Sopenharmony_ci			}
3464e5c31af7Sopenharmony_ci		""
3465e5c31af7Sopenharmony_ci	end
3466e5c31af7Sopenharmony_ci	case mul_ivec2_uvec3_uvec3
3467e5c31af7Sopenharmony_ci		expect compile_fail
3468e5c31af7Sopenharmony_ci		version 300 es
3469e5c31af7Sopenharmony_ci
3470e5c31af7Sopenharmony_ci		both ""
3471e5c31af7Sopenharmony_ci			#version 300 es
3472e5c31af7Sopenharmony_ci			precision mediump float;
3473e5c31af7Sopenharmony_ci			precision mediump int;
3474e5c31af7Sopenharmony_ci
3475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3476e5c31af7Sopenharmony_ci
3477e5c31af7Sopenharmony_ci			void main()
3478e5c31af7Sopenharmony_ci			{
3479e5c31af7Sopenharmony_ci				uvec3 c;
3480e5c31af7Sopenharmony_ci				ivec2 a;
3481e5c31af7Sopenharmony_ci				uvec3 b;
3482e5c31af7Sopenharmony_ci				uvec3 c = a * b;
3483e5c31af7Sopenharmony_ci			}
3484e5c31af7Sopenharmony_ci		""
3485e5c31af7Sopenharmony_ci	end
3486e5c31af7Sopenharmony_ci	case mul_ivec2_uvec4_ivec2
3487e5c31af7Sopenharmony_ci		expect compile_fail
3488e5c31af7Sopenharmony_ci		version 300 es
3489e5c31af7Sopenharmony_ci
3490e5c31af7Sopenharmony_ci		both ""
3491e5c31af7Sopenharmony_ci			#version 300 es
3492e5c31af7Sopenharmony_ci			precision mediump float;
3493e5c31af7Sopenharmony_ci			precision mediump int;
3494e5c31af7Sopenharmony_ci
3495e5c31af7Sopenharmony_ci			${DECLARATIONS}
3496e5c31af7Sopenharmony_ci
3497e5c31af7Sopenharmony_ci			void main()
3498e5c31af7Sopenharmony_ci			{
3499e5c31af7Sopenharmony_ci				ivec2 c;
3500e5c31af7Sopenharmony_ci				ivec2 a;
3501e5c31af7Sopenharmony_ci				uvec4 b;
3502e5c31af7Sopenharmony_ci				ivec2 c = a * b;
3503e5c31af7Sopenharmony_ci			}
3504e5c31af7Sopenharmony_ci		""
3505e5c31af7Sopenharmony_ci	end
3506e5c31af7Sopenharmony_ci	case mul_ivec2_uvec4_uvec4
3507e5c31af7Sopenharmony_ci		expect compile_fail
3508e5c31af7Sopenharmony_ci		version 300 es
3509e5c31af7Sopenharmony_ci
3510e5c31af7Sopenharmony_ci		both ""
3511e5c31af7Sopenharmony_ci			#version 300 es
3512e5c31af7Sopenharmony_ci			precision mediump float;
3513e5c31af7Sopenharmony_ci			precision mediump int;
3514e5c31af7Sopenharmony_ci
3515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3516e5c31af7Sopenharmony_ci
3517e5c31af7Sopenharmony_ci			void main()
3518e5c31af7Sopenharmony_ci			{
3519e5c31af7Sopenharmony_ci				uvec4 c;
3520e5c31af7Sopenharmony_ci				ivec2 a;
3521e5c31af7Sopenharmony_ci				uvec4 b;
3522e5c31af7Sopenharmony_ci				uvec4 c = a * b;
3523e5c31af7Sopenharmony_ci			}
3524e5c31af7Sopenharmony_ci		""
3525e5c31af7Sopenharmony_ci	end
3526e5c31af7Sopenharmony_ci	case mul_ivec3_uint_ivec3
3527e5c31af7Sopenharmony_ci		expect compile_fail
3528e5c31af7Sopenharmony_ci		version 300 es
3529e5c31af7Sopenharmony_ci
3530e5c31af7Sopenharmony_ci		both ""
3531e5c31af7Sopenharmony_ci			#version 300 es
3532e5c31af7Sopenharmony_ci			precision mediump float;
3533e5c31af7Sopenharmony_ci			precision mediump int;
3534e5c31af7Sopenharmony_ci
3535e5c31af7Sopenharmony_ci			${DECLARATIONS}
3536e5c31af7Sopenharmony_ci
3537e5c31af7Sopenharmony_ci			void main()
3538e5c31af7Sopenharmony_ci			{
3539e5c31af7Sopenharmony_ci				ivec3 c;
3540e5c31af7Sopenharmony_ci				ivec3 a;
3541e5c31af7Sopenharmony_ci				uint b;
3542e5c31af7Sopenharmony_ci				ivec3 c = a * b;
3543e5c31af7Sopenharmony_ci			}
3544e5c31af7Sopenharmony_ci		""
3545e5c31af7Sopenharmony_ci	end
3546e5c31af7Sopenharmony_ci	case mul_ivec3_uint_uint
3547e5c31af7Sopenharmony_ci		expect compile_fail
3548e5c31af7Sopenharmony_ci		version 300 es
3549e5c31af7Sopenharmony_ci
3550e5c31af7Sopenharmony_ci		both ""
3551e5c31af7Sopenharmony_ci			#version 300 es
3552e5c31af7Sopenharmony_ci			precision mediump float;
3553e5c31af7Sopenharmony_ci			precision mediump int;
3554e5c31af7Sopenharmony_ci
3555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3556e5c31af7Sopenharmony_ci
3557e5c31af7Sopenharmony_ci			void main()
3558e5c31af7Sopenharmony_ci			{
3559e5c31af7Sopenharmony_ci				uint c;
3560e5c31af7Sopenharmony_ci				ivec3 a;
3561e5c31af7Sopenharmony_ci				uint b;
3562e5c31af7Sopenharmony_ci				uint c = a * b;
3563e5c31af7Sopenharmony_ci			}
3564e5c31af7Sopenharmony_ci		""
3565e5c31af7Sopenharmony_ci	end
3566e5c31af7Sopenharmony_ci	case mul_ivec3_uvec2_ivec3
3567e5c31af7Sopenharmony_ci		expect compile_fail
3568e5c31af7Sopenharmony_ci		version 300 es
3569e5c31af7Sopenharmony_ci
3570e5c31af7Sopenharmony_ci		both ""
3571e5c31af7Sopenharmony_ci			#version 300 es
3572e5c31af7Sopenharmony_ci			precision mediump float;
3573e5c31af7Sopenharmony_ci			precision mediump int;
3574e5c31af7Sopenharmony_ci
3575e5c31af7Sopenharmony_ci			${DECLARATIONS}
3576e5c31af7Sopenharmony_ci
3577e5c31af7Sopenharmony_ci			void main()
3578e5c31af7Sopenharmony_ci			{
3579e5c31af7Sopenharmony_ci				ivec3 c;
3580e5c31af7Sopenharmony_ci				ivec3 a;
3581e5c31af7Sopenharmony_ci				uvec2 b;
3582e5c31af7Sopenharmony_ci				ivec3 c = a * b;
3583e5c31af7Sopenharmony_ci			}
3584e5c31af7Sopenharmony_ci		""
3585e5c31af7Sopenharmony_ci	end
3586e5c31af7Sopenharmony_ci	case mul_ivec3_uvec2_uvec2
3587e5c31af7Sopenharmony_ci		expect compile_fail
3588e5c31af7Sopenharmony_ci		version 300 es
3589e5c31af7Sopenharmony_ci
3590e5c31af7Sopenharmony_ci		both ""
3591e5c31af7Sopenharmony_ci			#version 300 es
3592e5c31af7Sopenharmony_ci			precision mediump float;
3593e5c31af7Sopenharmony_ci			precision mediump int;
3594e5c31af7Sopenharmony_ci
3595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3596e5c31af7Sopenharmony_ci
3597e5c31af7Sopenharmony_ci			void main()
3598e5c31af7Sopenharmony_ci			{
3599e5c31af7Sopenharmony_ci				uvec2 c;
3600e5c31af7Sopenharmony_ci				ivec3 a;
3601e5c31af7Sopenharmony_ci				uvec2 b;
3602e5c31af7Sopenharmony_ci				uvec2 c = a * b;
3603e5c31af7Sopenharmony_ci			}
3604e5c31af7Sopenharmony_ci		""
3605e5c31af7Sopenharmony_ci	end
3606e5c31af7Sopenharmony_ci	case mul_ivec3_uvec3_ivec3
3607e5c31af7Sopenharmony_ci		expect compile_fail
3608e5c31af7Sopenharmony_ci		version 300 es
3609e5c31af7Sopenharmony_ci
3610e5c31af7Sopenharmony_ci		both ""
3611e5c31af7Sopenharmony_ci			#version 300 es
3612e5c31af7Sopenharmony_ci			precision mediump float;
3613e5c31af7Sopenharmony_ci			precision mediump int;
3614e5c31af7Sopenharmony_ci
3615e5c31af7Sopenharmony_ci			${DECLARATIONS}
3616e5c31af7Sopenharmony_ci
3617e5c31af7Sopenharmony_ci			void main()
3618e5c31af7Sopenharmony_ci			{
3619e5c31af7Sopenharmony_ci				ivec3 c;
3620e5c31af7Sopenharmony_ci				ivec3 a;
3621e5c31af7Sopenharmony_ci				uvec3 b;
3622e5c31af7Sopenharmony_ci				ivec3 c = a * b;
3623e5c31af7Sopenharmony_ci			}
3624e5c31af7Sopenharmony_ci		""
3625e5c31af7Sopenharmony_ci	end
3626e5c31af7Sopenharmony_ci	case mul_ivec3_uvec3_uvec3
3627e5c31af7Sopenharmony_ci		expect compile_fail
3628e5c31af7Sopenharmony_ci		version 300 es
3629e5c31af7Sopenharmony_ci
3630e5c31af7Sopenharmony_ci		both ""
3631e5c31af7Sopenharmony_ci			#version 300 es
3632e5c31af7Sopenharmony_ci			precision mediump float;
3633e5c31af7Sopenharmony_ci			precision mediump int;
3634e5c31af7Sopenharmony_ci
3635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3636e5c31af7Sopenharmony_ci
3637e5c31af7Sopenharmony_ci			void main()
3638e5c31af7Sopenharmony_ci			{
3639e5c31af7Sopenharmony_ci				uvec3 c;
3640e5c31af7Sopenharmony_ci				ivec3 a;
3641e5c31af7Sopenharmony_ci				uvec3 b;
3642e5c31af7Sopenharmony_ci				uvec3 c = a * b;
3643e5c31af7Sopenharmony_ci			}
3644e5c31af7Sopenharmony_ci		""
3645e5c31af7Sopenharmony_ci	end
3646e5c31af7Sopenharmony_ci	case mul_ivec3_uvec4_ivec3
3647e5c31af7Sopenharmony_ci		expect compile_fail
3648e5c31af7Sopenharmony_ci		version 300 es
3649e5c31af7Sopenharmony_ci
3650e5c31af7Sopenharmony_ci		both ""
3651e5c31af7Sopenharmony_ci			#version 300 es
3652e5c31af7Sopenharmony_ci			precision mediump float;
3653e5c31af7Sopenharmony_ci			precision mediump int;
3654e5c31af7Sopenharmony_ci
3655e5c31af7Sopenharmony_ci			${DECLARATIONS}
3656e5c31af7Sopenharmony_ci
3657e5c31af7Sopenharmony_ci			void main()
3658e5c31af7Sopenharmony_ci			{
3659e5c31af7Sopenharmony_ci				ivec3 c;
3660e5c31af7Sopenharmony_ci				ivec3 a;
3661e5c31af7Sopenharmony_ci				uvec4 b;
3662e5c31af7Sopenharmony_ci				ivec3 c = a * b;
3663e5c31af7Sopenharmony_ci			}
3664e5c31af7Sopenharmony_ci		""
3665e5c31af7Sopenharmony_ci	end
3666e5c31af7Sopenharmony_ci	case mul_ivec3_uvec4_uvec4
3667e5c31af7Sopenharmony_ci		expect compile_fail
3668e5c31af7Sopenharmony_ci		version 300 es
3669e5c31af7Sopenharmony_ci
3670e5c31af7Sopenharmony_ci		both ""
3671e5c31af7Sopenharmony_ci			#version 300 es
3672e5c31af7Sopenharmony_ci			precision mediump float;
3673e5c31af7Sopenharmony_ci			precision mediump int;
3674e5c31af7Sopenharmony_ci
3675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3676e5c31af7Sopenharmony_ci
3677e5c31af7Sopenharmony_ci			void main()
3678e5c31af7Sopenharmony_ci			{
3679e5c31af7Sopenharmony_ci				uvec4 c;
3680e5c31af7Sopenharmony_ci				ivec3 a;
3681e5c31af7Sopenharmony_ci				uvec4 b;
3682e5c31af7Sopenharmony_ci				uvec4 c = a * b;
3683e5c31af7Sopenharmony_ci			}
3684e5c31af7Sopenharmony_ci		""
3685e5c31af7Sopenharmony_ci	end
3686e5c31af7Sopenharmony_ci	case mul_ivec4_uint_ivec4
3687e5c31af7Sopenharmony_ci		expect compile_fail
3688e5c31af7Sopenharmony_ci		version 300 es
3689e5c31af7Sopenharmony_ci
3690e5c31af7Sopenharmony_ci		both ""
3691e5c31af7Sopenharmony_ci			#version 300 es
3692e5c31af7Sopenharmony_ci			precision mediump float;
3693e5c31af7Sopenharmony_ci			precision mediump int;
3694e5c31af7Sopenharmony_ci
3695e5c31af7Sopenharmony_ci			${DECLARATIONS}
3696e5c31af7Sopenharmony_ci
3697e5c31af7Sopenharmony_ci			void main()
3698e5c31af7Sopenharmony_ci			{
3699e5c31af7Sopenharmony_ci				ivec4 c;
3700e5c31af7Sopenharmony_ci				ivec4 a;
3701e5c31af7Sopenharmony_ci				uint b;
3702e5c31af7Sopenharmony_ci				ivec4 c = a * b;
3703e5c31af7Sopenharmony_ci			}
3704e5c31af7Sopenharmony_ci		""
3705e5c31af7Sopenharmony_ci	end
3706e5c31af7Sopenharmony_ci	case mul_ivec4_uint_uint
3707e5c31af7Sopenharmony_ci		expect compile_fail
3708e5c31af7Sopenharmony_ci		version 300 es
3709e5c31af7Sopenharmony_ci
3710e5c31af7Sopenharmony_ci		both ""
3711e5c31af7Sopenharmony_ci			#version 300 es
3712e5c31af7Sopenharmony_ci			precision mediump float;
3713e5c31af7Sopenharmony_ci			precision mediump int;
3714e5c31af7Sopenharmony_ci
3715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3716e5c31af7Sopenharmony_ci
3717e5c31af7Sopenharmony_ci			void main()
3718e5c31af7Sopenharmony_ci			{
3719e5c31af7Sopenharmony_ci				uint c;
3720e5c31af7Sopenharmony_ci				ivec4 a;
3721e5c31af7Sopenharmony_ci				uint b;
3722e5c31af7Sopenharmony_ci				uint c = a * b;
3723e5c31af7Sopenharmony_ci			}
3724e5c31af7Sopenharmony_ci		""
3725e5c31af7Sopenharmony_ci	end
3726e5c31af7Sopenharmony_ci	case mul_ivec4_uvec2_ivec4
3727e5c31af7Sopenharmony_ci		expect compile_fail
3728e5c31af7Sopenharmony_ci		version 300 es
3729e5c31af7Sopenharmony_ci
3730e5c31af7Sopenharmony_ci		both ""
3731e5c31af7Sopenharmony_ci			#version 300 es
3732e5c31af7Sopenharmony_ci			precision mediump float;
3733e5c31af7Sopenharmony_ci			precision mediump int;
3734e5c31af7Sopenharmony_ci
3735e5c31af7Sopenharmony_ci			${DECLARATIONS}
3736e5c31af7Sopenharmony_ci
3737e5c31af7Sopenharmony_ci			void main()
3738e5c31af7Sopenharmony_ci			{
3739e5c31af7Sopenharmony_ci				ivec4 c;
3740e5c31af7Sopenharmony_ci				ivec4 a;
3741e5c31af7Sopenharmony_ci				uvec2 b;
3742e5c31af7Sopenharmony_ci				ivec4 c = a * b;
3743e5c31af7Sopenharmony_ci			}
3744e5c31af7Sopenharmony_ci		""
3745e5c31af7Sopenharmony_ci	end
3746e5c31af7Sopenharmony_ci	case mul_ivec4_uvec2_uvec2
3747e5c31af7Sopenharmony_ci		expect compile_fail
3748e5c31af7Sopenharmony_ci		version 300 es
3749e5c31af7Sopenharmony_ci
3750e5c31af7Sopenharmony_ci		both ""
3751e5c31af7Sopenharmony_ci			#version 300 es
3752e5c31af7Sopenharmony_ci			precision mediump float;
3753e5c31af7Sopenharmony_ci			precision mediump int;
3754e5c31af7Sopenharmony_ci
3755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3756e5c31af7Sopenharmony_ci
3757e5c31af7Sopenharmony_ci			void main()
3758e5c31af7Sopenharmony_ci			{
3759e5c31af7Sopenharmony_ci				uvec2 c;
3760e5c31af7Sopenharmony_ci				ivec4 a;
3761e5c31af7Sopenharmony_ci				uvec2 b;
3762e5c31af7Sopenharmony_ci				uvec2 c = a * b;
3763e5c31af7Sopenharmony_ci			}
3764e5c31af7Sopenharmony_ci		""
3765e5c31af7Sopenharmony_ci	end
3766e5c31af7Sopenharmony_ci	case mul_ivec4_uvec3_ivec4
3767e5c31af7Sopenharmony_ci		expect compile_fail
3768e5c31af7Sopenharmony_ci		version 300 es
3769e5c31af7Sopenharmony_ci
3770e5c31af7Sopenharmony_ci		both ""
3771e5c31af7Sopenharmony_ci			#version 300 es
3772e5c31af7Sopenharmony_ci			precision mediump float;
3773e5c31af7Sopenharmony_ci			precision mediump int;
3774e5c31af7Sopenharmony_ci
3775e5c31af7Sopenharmony_ci			${DECLARATIONS}
3776e5c31af7Sopenharmony_ci
3777e5c31af7Sopenharmony_ci			void main()
3778e5c31af7Sopenharmony_ci			{
3779e5c31af7Sopenharmony_ci				ivec4 c;
3780e5c31af7Sopenharmony_ci				ivec4 a;
3781e5c31af7Sopenharmony_ci				uvec3 b;
3782e5c31af7Sopenharmony_ci				ivec4 c = a * b;
3783e5c31af7Sopenharmony_ci			}
3784e5c31af7Sopenharmony_ci		""
3785e5c31af7Sopenharmony_ci	end
3786e5c31af7Sopenharmony_ci	case mul_ivec4_uvec3_uvec3
3787e5c31af7Sopenharmony_ci		expect compile_fail
3788e5c31af7Sopenharmony_ci		version 300 es
3789e5c31af7Sopenharmony_ci
3790e5c31af7Sopenharmony_ci		both ""
3791e5c31af7Sopenharmony_ci			#version 300 es
3792e5c31af7Sopenharmony_ci			precision mediump float;
3793e5c31af7Sopenharmony_ci			precision mediump int;
3794e5c31af7Sopenharmony_ci
3795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3796e5c31af7Sopenharmony_ci
3797e5c31af7Sopenharmony_ci			void main()
3798e5c31af7Sopenharmony_ci			{
3799e5c31af7Sopenharmony_ci				uvec3 c;
3800e5c31af7Sopenharmony_ci				ivec4 a;
3801e5c31af7Sopenharmony_ci				uvec3 b;
3802e5c31af7Sopenharmony_ci				uvec3 c = a * b;
3803e5c31af7Sopenharmony_ci			}
3804e5c31af7Sopenharmony_ci		""
3805e5c31af7Sopenharmony_ci	end
3806e5c31af7Sopenharmony_ci	case mul_ivec4_uvec4_ivec4
3807e5c31af7Sopenharmony_ci		expect compile_fail
3808e5c31af7Sopenharmony_ci		version 300 es
3809e5c31af7Sopenharmony_ci
3810e5c31af7Sopenharmony_ci		both ""
3811e5c31af7Sopenharmony_ci			#version 300 es
3812e5c31af7Sopenharmony_ci			precision mediump float;
3813e5c31af7Sopenharmony_ci			precision mediump int;
3814e5c31af7Sopenharmony_ci
3815e5c31af7Sopenharmony_ci			${DECLARATIONS}
3816e5c31af7Sopenharmony_ci
3817e5c31af7Sopenharmony_ci			void main()
3818e5c31af7Sopenharmony_ci			{
3819e5c31af7Sopenharmony_ci				ivec4 c;
3820e5c31af7Sopenharmony_ci				ivec4 a;
3821e5c31af7Sopenharmony_ci				uvec4 b;
3822e5c31af7Sopenharmony_ci				ivec4 c = a * b;
3823e5c31af7Sopenharmony_ci			}
3824e5c31af7Sopenharmony_ci		""
3825e5c31af7Sopenharmony_ci	end
3826e5c31af7Sopenharmony_ci	case mul_ivec4_uvec4_uvec4
3827e5c31af7Sopenharmony_ci		expect compile_fail
3828e5c31af7Sopenharmony_ci		version 300 es
3829e5c31af7Sopenharmony_ci
3830e5c31af7Sopenharmony_ci		both ""
3831e5c31af7Sopenharmony_ci			#version 300 es
3832e5c31af7Sopenharmony_ci			precision mediump float;
3833e5c31af7Sopenharmony_ci			precision mediump int;
3834e5c31af7Sopenharmony_ci
3835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3836e5c31af7Sopenharmony_ci
3837e5c31af7Sopenharmony_ci			void main()
3838e5c31af7Sopenharmony_ci			{
3839e5c31af7Sopenharmony_ci				uvec4 c;
3840e5c31af7Sopenharmony_ci				ivec4 a;
3841e5c31af7Sopenharmony_ci				uvec4 b;
3842e5c31af7Sopenharmony_ci				uvec4 c = a * b;
3843e5c31af7Sopenharmony_ci			}
3844e5c31af7Sopenharmony_ci		""
3845e5c31af7Sopenharmony_ci	end
3846e5c31af7Sopenharmony_ci	case sub_float_int_float
3847e5c31af7Sopenharmony_ci		expect compile_fail
3848e5c31af7Sopenharmony_ci		version 300 es
3849e5c31af7Sopenharmony_ci
3850e5c31af7Sopenharmony_ci		both ""
3851e5c31af7Sopenharmony_ci			#version 300 es
3852e5c31af7Sopenharmony_ci			precision mediump float;
3853e5c31af7Sopenharmony_ci			precision mediump int;
3854e5c31af7Sopenharmony_ci
3855e5c31af7Sopenharmony_ci			${DECLARATIONS}
3856e5c31af7Sopenharmony_ci
3857e5c31af7Sopenharmony_ci			void main()
3858e5c31af7Sopenharmony_ci			{
3859e5c31af7Sopenharmony_ci				float c;
3860e5c31af7Sopenharmony_ci				float a;
3861e5c31af7Sopenharmony_ci				int b;
3862e5c31af7Sopenharmony_ci				float c = a - b;
3863e5c31af7Sopenharmony_ci			}
3864e5c31af7Sopenharmony_ci		""
3865e5c31af7Sopenharmony_ci	end
3866e5c31af7Sopenharmony_ci	case sub_float_int_int
3867e5c31af7Sopenharmony_ci		expect compile_fail
3868e5c31af7Sopenharmony_ci		version 300 es
3869e5c31af7Sopenharmony_ci
3870e5c31af7Sopenharmony_ci		both ""
3871e5c31af7Sopenharmony_ci			#version 300 es
3872e5c31af7Sopenharmony_ci			precision mediump float;
3873e5c31af7Sopenharmony_ci			precision mediump int;
3874e5c31af7Sopenharmony_ci
3875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3876e5c31af7Sopenharmony_ci
3877e5c31af7Sopenharmony_ci			void main()
3878e5c31af7Sopenharmony_ci			{
3879e5c31af7Sopenharmony_ci				int c;
3880e5c31af7Sopenharmony_ci				float a;
3881e5c31af7Sopenharmony_ci				int b;
3882e5c31af7Sopenharmony_ci				int c = a - b;
3883e5c31af7Sopenharmony_ci			}
3884e5c31af7Sopenharmony_ci		""
3885e5c31af7Sopenharmony_ci	end
3886e5c31af7Sopenharmony_ci	case sub_float_ivec2_float
3887e5c31af7Sopenharmony_ci		expect compile_fail
3888e5c31af7Sopenharmony_ci		version 300 es
3889e5c31af7Sopenharmony_ci
3890e5c31af7Sopenharmony_ci		both ""
3891e5c31af7Sopenharmony_ci			#version 300 es
3892e5c31af7Sopenharmony_ci			precision mediump float;
3893e5c31af7Sopenharmony_ci			precision mediump int;
3894e5c31af7Sopenharmony_ci
3895e5c31af7Sopenharmony_ci			${DECLARATIONS}
3896e5c31af7Sopenharmony_ci
3897e5c31af7Sopenharmony_ci			void main()
3898e5c31af7Sopenharmony_ci			{
3899e5c31af7Sopenharmony_ci				float c;
3900e5c31af7Sopenharmony_ci				float a;
3901e5c31af7Sopenharmony_ci				ivec2 b;
3902e5c31af7Sopenharmony_ci				float c = a - b;
3903e5c31af7Sopenharmony_ci			}
3904e5c31af7Sopenharmony_ci		""
3905e5c31af7Sopenharmony_ci	end
3906e5c31af7Sopenharmony_ci	case sub_float_ivec2_ivec2
3907e5c31af7Sopenharmony_ci		expect compile_fail
3908e5c31af7Sopenharmony_ci		version 300 es
3909e5c31af7Sopenharmony_ci
3910e5c31af7Sopenharmony_ci		both ""
3911e5c31af7Sopenharmony_ci			#version 300 es
3912e5c31af7Sopenharmony_ci			precision mediump float;
3913e5c31af7Sopenharmony_ci			precision mediump int;
3914e5c31af7Sopenharmony_ci
3915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3916e5c31af7Sopenharmony_ci
3917e5c31af7Sopenharmony_ci			void main()
3918e5c31af7Sopenharmony_ci			{
3919e5c31af7Sopenharmony_ci				ivec2 c;
3920e5c31af7Sopenharmony_ci				float a;
3921e5c31af7Sopenharmony_ci				ivec2 b;
3922e5c31af7Sopenharmony_ci				ivec2 c = a - b;
3923e5c31af7Sopenharmony_ci			}
3924e5c31af7Sopenharmony_ci		""
3925e5c31af7Sopenharmony_ci	end
3926e5c31af7Sopenharmony_ci	case sub_float_ivec3_float
3927e5c31af7Sopenharmony_ci		expect compile_fail
3928e5c31af7Sopenharmony_ci		version 300 es
3929e5c31af7Sopenharmony_ci
3930e5c31af7Sopenharmony_ci		both ""
3931e5c31af7Sopenharmony_ci			#version 300 es
3932e5c31af7Sopenharmony_ci			precision mediump float;
3933e5c31af7Sopenharmony_ci			precision mediump int;
3934e5c31af7Sopenharmony_ci
3935e5c31af7Sopenharmony_ci			${DECLARATIONS}
3936e5c31af7Sopenharmony_ci
3937e5c31af7Sopenharmony_ci			void main()
3938e5c31af7Sopenharmony_ci			{
3939e5c31af7Sopenharmony_ci				float c;
3940e5c31af7Sopenharmony_ci				float a;
3941e5c31af7Sopenharmony_ci				ivec3 b;
3942e5c31af7Sopenharmony_ci				float c = a - b;
3943e5c31af7Sopenharmony_ci			}
3944e5c31af7Sopenharmony_ci		""
3945e5c31af7Sopenharmony_ci	end
3946e5c31af7Sopenharmony_ci	case sub_float_ivec3_ivec3
3947e5c31af7Sopenharmony_ci		expect compile_fail
3948e5c31af7Sopenharmony_ci		version 300 es
3949e5c31af7Sopenharmony_ci
3950e5c31af7Sopenharmony_ci		both ""
3951e5c31af7Sopenharmony_ci			#version 300 es
3952e5c31af7Sopenharmony_ci			precision mediump float;
3953e5c31af7Sopenharmony_ci			precision mediump int;
3954e5c31af7Sopenharmony_ci
3955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3956e5c31af7Sopenharmony_ci
3957e5c31af7Sopenharmony_ci			void main()
3958e5c31af7Sopenharmony_ci			{
3959e5c31af7Sopenharmony_ci				ivec3 c;
3960e5c31af7Sopenharmony_ci				float a;
3961e5c31af7Sopenharmony_ci				ivec3 b;
3962e5c31af7Sopenharmony_ci				ivec3 c = a - b;
3963e5c31af7Sopenharmony_ci			}
3964e5c31af7Sopenharmony_ci		""
3965e5c31af7Sopenharmony_ci	end
3966e5c31af7Sopenharmony_ci	case sub_float_ivec4_float
3967e5c31af7Sopenharmony_ci		expect compile_fail
3968e5c31af7Sopenharmony_ci		version 300 es
3969e5c31af7Sopenharmony_ci
3970e5c31af7Sopenharmony_ci		both ""
3971e5c31af7Sopenharmony_ci			#version 300 es
3972e5c31af7Sopenharmony_ci			precision mediump float;
3973e5c31af7Sopenharmony_ci			precision mediump int;
3974e5c31af7Sopenharmony_ci
3975e5c31af7Sopenharmony_ci			${DECLARATIONS}
3976e5c31af7Sopenharmony_ci
3977e5c31af7Sopenharmony_ci			void main()
3978e5c31af7Sopenharmony_ci			{
3979e5c31af7Sopenharmony_ci				float c;
3980e5c31af7Sopenharmony_ci				float a;
3981e5c31af7Sopenharmony_ci				ivec4 b;
3982e5c31af7Sopenharmony_ci				float c = a - b;
3983e5c31af7Sopenharmony_ci			}
3984e5c31af7Sopenharmony_ci		""
3985e5c31af7Sopenharmony_ci	end
3986e5c31af7Sopenharmony_ci	case sub_float_ivec4_ivec4
3987e5c31af7Sopenharmony_ci		expect compile_fail
3988e5c31af7Sopenharmony_ci		version 300 es
3989e5c31af7Sopenharmony_ci
3990e5c31af7Sopenharmony_ci		both ""
3991e5c31af7Sopenharmony_ci			#version 300 es
3992e5c31af7Sopenharmony_ci			precision mediump float;
3993e5c31af7Sopenharmony_ci			precision mediump int;
3994e5c31af7Sopenharmony_ci
3995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
3996e5c31af7Sopenharmony_ci
3997e5c31af7Sopenharmony_ci			void main()
3998e5c31af7Sopenharmony_ci			{
3999e5c31af7Sopenharmony_ci				ivec4 c;
4000e5c31af7Sopenharmony_ci				float a;
4001e5c31af7Sopenharmony_ci				ivec4 b;
4002e5c31af7Sopenharmony_ci				ivec4 c = a - b;
4003e5c31af7Sopenharmony_ci			}
4004e5c31af7Sopenharmony_ci		""
4005e5c31af7Sopenharmony_ci	end
4006e5c31af7Sopenharmony_ci	case sub_vec2_int_vec2
4007e5c31af7Sopenharmony_ci		expect compile_fail
4008e5c31af7Sopenharmony_ci		version 300 es
4009e5c31af7Sopenharmony_ci
4010e5c31af7Sopenharmony_ci		both ""
4011e5c31af7Sopenharmony_ci			#version 300 es
4012e5c31af7Sopenharmony_ci			precision mediump float;
4013e5c31af7Sopenharmony_ci			precision mediump int;
4014e5c31af7Sopenharmony_ci
4015e5c31af7Sopenharmony_ci			${DECLARATIONS}
4016e5c31af7Sopenharmony_ci
4017e5c31af7Sopenharmony_ci			void main()
4018e5c31af7Sopenharmony_ci			{
4019e5c31af7Sopenharmony_ci				vec2 c;
4020e5c31af7Sopenharmony_ci				vec2 a;
4021e5c31af7Sopenharmony_ci				int b;
4022e5c31af7Sopenharmony_ci				vec2 c = a - b;
4023e5c31af7Sopenharmony_ci			}
4024e5c31af7Sopenharmony_ci		""
4025e5c31af7Sopenharmony_ci	end
4026e5c31af7Sopenharmony_ci	case sub_vec2_int_int
4027e5c31af7Sopenharmony_ci		expect compile_fail
4028e5c31af7Sopenharmony_ci		version 300 es
4029e5c31af7Sopenharmony_ci
4030e5c31af7Sopenharmony_ci		both ""
4031e5c31af7Sopenharmony_ci			#version 300 es
4032e5c31af7Sopenharmony_ci			precision mediump float;
4033e5c31af7Sopenharmony_ci			precision mediump int;
4034e5c31af7Sopenharmony_ci
4035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4036e5c31af7Sopenharmony_ci
4037e5c31af7Sopenharmony_ci			void main()
4038e5c31af7Sopenharmony_ci			{
4039e5c31af7Sopenharmony_ci				int c;
4040e5c31af7Sopenharmony_ci				vec2 a;
4041e5c31af7Sopenharmony_ci				int b;
4042e5c31af7Sopenharmony_ci				int c = a - b;
4043e5c31af7Sopenharmony_ci			}
4044e5c31af7Sopenharmony_ci		""
4045e5c31af7Sopenharmony_ci	end
4046e5c31af7Sopenharmony_ci	case sub_vec2_ivec2_vec2
4047e5c31af7Sopenharmony_ci		expect compile_fail
4048e5c31af7Sopenharmony_ci		version 300 es
4049e5c31af7Sopenharmony_ci
4050e5c31af7Sopenharmony_ci		both ""
4051e5c31af7Sopenharmony_ci			#version 300 es
4052e5c31af7Sopenharmony_ci			precision mediump float;
4053e5c31af7Sopenharmony_ci			precision mediump int;
4054e5c31af7Sopenharmony_ci
4055e5c31af7Sopenharmony_ci			${DECLARATIONS}
4056e5c31af7Sopenharmony_ci
4057e5c31af7Sopenharmony_ci			void main()
4058e5c31af7Sopenharmony_ci			{
4059e5c31af7Sopenharmony_ci				vec2 c;
4060e5c31af7Sopenharmony_ci				vec2 a;
4061e5c31af7Sopenharmony_ci				ivec2 b;
4062e5c31af7Sopenharmony_ci				vec2 c = a - b;
4063e5c31af7Sopenharmony_ci			}
4064e5c31af7Sopenharmony_ci		""
4065e5c31af7Sopenharmony_ci	end
4066e5c31af7Sopenharmony_ci	case sub_vec2_ivec2_ivec2
4067e5c31af7Sopenharmony_ci		expect compile_fail
4068e5c31af7Sopenharmony_ci		version 300 es
4069e5c31af7Sopenharmony_ci
4070e5c31af7Sopenharmony_ci		both ""
4071e5c31af7Sopenharmony_ci			#version 300 es
4072e5c31af7Sopenharmony_ci			precision mediump float;
4073e5c31af7Sopenharmony_ci			precision mediump int;
4074e5c31af7Sopenharmony_ci
4075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4076e5c31af7Sopenharmony_ci
4077e5c31af7Sopenharmony_ci			void main()
4078e5c31af7Sopenharmony_ci			{
4079e5c31af7Sopenharmony_ci				ivec2 c;
4080e5c31af7Sopenharmony_ci				vec2 a;
4081e5c31af7Sopenharmony_ci				ivec2 b;
4082e5c31af7Sopenharmony_ci				ivec2 c = a - b;
4083e5c31af7Sopenharmony_ci			}
4084e5c31af7Sopenharmony_ci		""
4085e5c31af7Sopenharmony_ci	end
4086e5c31af7Sopenharmony_ci	case sub_vec2_ivec3_vec2
4087e5c31af7Sopenharmony_ci		expect compile_fail
4088e5c31af7Sopenharmony_ci		version 300 es
4089e5c31af7Sopenharmony_ci
4090e5c31af7Sopenharmony_ci		both ""
4091e5c31af7Sopenharmony_ci			#version 300 es
4092e5c31af7Sopenharmony_ci			precision mediump float;
4093e5c31af7Sopenharmony_ci			precision mediump int;
4094e5c31af7Sopenharmony_ci
4095e5c31af7Sopenharmony_ci			${DECLARATIONS}
4096e5c31af7Sopenharmony_ci
4097e5c31af7Sopenharmony_ci			void main()
4098e5c31af7Sopenharmony_ci			{
4099e5c31af7Sopenharmony_ci				vec2 c;
4100e5c31af7Sopenharmony_ci				vec2 a;
4101e5c31af7Sopenharmony_ci				ivec3 b;
4102e5c31af7Sopenharmony_ci				vec2 c = a - b;
4103e5c31af7Sopenharmony_ci			}
4104e5c31af7Sopenharmony_ci		""
4105e5c31af7Sopenharmony_ci	end
4106e5c31af7Sopenharmony_ci	case sub_vec2_ivec3_ivec3
4107e5c31af7Sopenharmony_ci		expect compile_fail
4108e5c31af7Sopenharmony_ci		version 300 es
4109e5c31af7Sopenharmony_ci
4110e5c31af7Sopenharmony_ci		both ""
4111e5c31af7Sopenharmony_ci			#version 300 es
4112e5c31af7Sopenharmony_ci			precision mediump float;
4113e5c31af7Sopenharmony_ci			precision mediump int;
4114e5c31af7Sopenharmony_ci
4115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4116e5c31af7Sopenharmony_ci
4117e5c31af7Sopenharmony_ci			void main()
4118e5c31af7Sopenharmony_ci			{
4119e5c31af7Sopenharmony_ci				ivec3 c;
4120e5c31af7Sopenharmony_ci				vec2 a;
4121e5c31af7Sopenharmony_ci				ivec3 b;
4122e5c31af7Sopenharmony_ci				ivec3 c = a - b;
4123e5c31af7Sopenharmony_ci			}
4124e5c31af7Sopenharmony_ci		""
4125e5c31af7Sopenharmony_ci	end
4126e5c31af7Sopenharmony_ci	case sub_vec2_ivec4_vec2
4127e5c31af7Sopenharmony_ci		expect compile_fail
4128e5c31af7Sopenharmony_ci		version 300 es
4129e5c31af7Sopenharmony_ci
4130e5c31af7Sopenharmony_ci		both ""
4131e5c31af7Sopenharmony_ci			#version 300 es
4132e5c31af7Sopenharmony_ci			precision mediump float;
4133e5c31af7Sopenharmony_ci			precision mediump int;
4134e5c31af7Sopenharmony_ci
4135e5c31af7Sopenharmony_ci			${DECLARATIONS}
4136e5c31af7Sopenharmony_ci
4137e5c31af7Sopenharmony_ci			void main()
4138e5c31af7Sopenharmony_ci			{
4139e5c31af7Sopenharmony_ci				vec2 c;
4140e5c31af7Sopenharmony_ci				vec2 a;
4141e5c31af7Sopenharmony_ci				ivec4 b;
4142e5c31af7Sopenharmony_ci				vec2 c = a - b;
4143e5c31af7Sopenharmony_ci			}
4144e5c31af7Sopenharmony_ci		""
4145e5c31af7Sopenharmony_ci	end
4146e5c31af7Sopenharmony_ci	case sub_vec2_ivec4_ivec4
4147e5c31af7Sopenharmony_ci		expect compile_fail
4148e5c31af7Sopenharmony_ci		version 300 es
4149e5c31af7Sopenharmony_ci
4150e5c31af7Sopenharmony_ci		both ""
4151e5c31af7Sopenharmony_ci			#version 300 es
4152e5c31af7Sopenharmony_ci			precision mediump float;
4153e5c31af7Sopenharmony_ci			precision mediump int;
4154e5c31af7Sopenharmony_ci
4155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4156e5c31af7Sopenharmony_ci
4157e5c31af7Sopenharmony_ci			void main()
4158e5c31af7Sopenharmony_ci			{
4159e5c31af7Sopenharmony_ci				ivec4 c;
4160e5c31af7Sopenharmony_ci				vec2 a;
4161e5c31af7Sopenharmony_ci				ivec4 b;
4162e5c31af7Sopenharmony_ci				ivec4 c = a - b;
4163e5c31af7Sopenharmony_ci			}
4164e5c31af7Sopenharmony_ci		""
4165e5c31af7Sopenharmony_ci	end
4166e5c31af7Sopenharmony_ci	case sub_vec3_int_vec3
4167e5c31af7Sopenharmony_ci		expect compile_fail
4168e5c31af7Sopenharmony_ci		version 300 es
4169e5c31af7Sopenharmony_ci
4170e5c31af7Sopenharmony_ci		both ""
4171e5c31af7Sopenharmony_ci			#version 300 es
4172e5c31af7Sopenharmony_ci			precision mediump float;
4173e5c31af7Sopenharmony_ci			precision mediump int;
4174e5c31af7Sopenharmony_ci
4175e5c31af7Sopenharmony_ci			${DECLARATIONS}
4176e5c31af7Sopenharmony_ci
4177e5c31af7Sopenharmony_ci			void main()
4178e5c31af7Sopenharmony_ci			{
4179e5c31af7Sopenharmony_ci				vec3 c;
4180e5c31af7Sopenharmony_ci				vec3 a;
4181e5c31af7Sopenharmony_ci				int b;
4182e5c31af7Sopenharmony_ci				vec3 c = a - b;
4183e5c31af7Sopenharmony_ci			}
4184e5c31af7Sopenharmony_ci		""
4185e5c31af7Sopenharmony_ci	end
4186e5c31af7Sopenharmony_ci	case sub_vec3_int_int
4187e5c31af7Sopenharmony_ci		expect compile_fail
4188e5c31af7Sopenharmony_ci		version 300 es
4189e5c31af7Sopenharmony_ci
4190e5c31af7Sopenharmony_ci		both ""
4191e5c31af7Sopenharmony_ci			#version 300 es
4192e5c31af7Sopenharmony_ci			precision mediump float;
4193e5c31af7Sopenharmony_ci			precision mediump int;
4194e5c31af7Sopenharmony_ci
4195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4196e5c31af7Sopenharmony_ci
4197e5c31af7Sopenharmony_ci			void main()
4198e5c31af7Sopenharmony_ci			{
4199e5c31af7Sopenharmony_ci				int c;
4200e5c31af7Sopenharmony_ci				vec3 a;
4201e5c31af7Sopenharmony_ci				int b;
4202e5c31af7Sopenharmony_ci				int c = a - b;
4203e5c31af7Sopenharmony_ci			}
4204e5c31af7Sopenharmony_ci		""
4205e5c31af7Sopenharmony_ci	end
4206e5c31af7Sopenharmony_ci	case sub_vec3_ivec2_vec3
4207e5c31af7Sopenharmony_ci		expect compile_fail
4208e5c31af7Sopenharmony_ci		version 300 es
4209e5c31af7Sopenharmony_ci
4210e5c31af7Sopenharmony_ci		both ""
4211e5c31af7Sopenharmony_ci			#version 300 es
4212e5c31af7Sopenharmony_ci			precision mediump float;
4213e5c31af7Sopenharmony_ci			precision mediump int;
4214e5c31af7Sopenharmony_ci
4215e5c31af7Sopenharmony_ci			${DECLARATIONS}
4216e5c31af7Sopenharmony_ci
4217e5c31af7Sopenharmony_ci			void main()
4218e5c31af7Sopenharmony_ci			{
4219e5c31af7Sopenharmony_ci				vec3 c;
4220e5c31af7Sopenharmony_ci				vec3 a;
4221e5c31af7Sopenharmony_ci				ivec2 b;
4222e5c31af7Sopenharmony_ci				vec3 c = a - b;
4223e5c31af7Sopenharmony_ci			}
4224e5c31af7Sopenharmony_ci		""
4225e5c31af7Sopenharmony_ci	end
4226e5c31af7Sopenharmony_ci	case sub_vec3_ivec2_ivec2
4227e5c31af7Sopenharmony_ci		expect compile_fail
4228e5c31af7Sopenharmony_ci		version 300 es
4229e5c31af7Sopenharmony_ci
4230e5c31af7Sopenharmony_ci		both ""
4231e5c31af7Sopenharmony_ci			#version 300 es
4232e5c31af7Sopenharmony_ci			precision mediump float;
4233e5c31af7Sopenharmony_ci			precision mediump int;
4234e5c31af7Sopenharmony_ci
4235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4236e5c31af7Sopenharmony_ci
4237e5c31af7Sopenharmony_ci			void main()
4238e5c31af7Sopenharmony_ci			{
4239e5c31af7Sopenharmony_ci				ivec2 c;
4240e5c31af7Sopenharmony_ci				vec3 a;
4241e5c31af7Sopenharmony_ci				ivec2 b;
4242e5c31af7Sopenharmony_ci				ivec2 c = a - b;
4243e5c31af7Sopenharmony_ci			}
4244e5c31af7Sopenharmony_ci		""
4245e5c31af7Sopenharmony_ci	end
4246e5c31af7Sopenharmony_ci	case sub_vec3_ivec3_vec3
4247e5c31af7Sopenharmony_ci		expect compile_fail
4248e5c31af7Sopenharmony_ci		version 300 es
4249e5c31af7Sopenharmony_ci
4250e5c31af7Sopenharmony_ci		both ""
4251e5c31af7Sopenharmony_ci			#version 300 es
4252e5c31af7Sopenharmony_ci			precision mediump float;
4253e5c31af7Sopenharmony_ci			precision mediump int;
4254e5c31af7Sopenharmony_ci
4255e5c31af7Sopenharmony_ci			${DECLARATIONS}
4256e5c31af7Sopenharmony_ci
4257e5c31af7Sopenharmony_ci			void main()
4258e5c31af7Sopenharmony_ci			{
4259e5c31af7Sopenharmony_ci				vec3 c;
4260e5c31af7Sopenharmony_ci				vec3 a;
4261e5c31af7Sopenharmony_ci				ivec3 b;
4262e5c31af7Sopenharmony_ci				vec3 c = a - b;
4263e5c31af7Sopenharmony_ci			}
4264e5c31af7Sopenharmony_ci		""
4265e5c31af7Sopenharmony_ci	end
4266e5c31af7Sopenharmony_ci	case sub_vec3_ivec3_ivec3
4267e5c31af7Sopenharmony_ci		expect compile_fail
4268e5c31af7Sopenharmony_ci		version 300 es
4269e5c31af7Sopenharmony_ci
4270e5c31af7Sopenharmony_ci		both ""
4271e5c31af7Sopenharmony_ci			#version 300 es
4272e5c31af7Sopenharmony_ci			precision mediump float;
4273e5c31af7Sopenharmony_ci			precision mediump int;
4274e5c31af7Sopenharmony_ci
4275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4276e5c31af7Sopenharmony_ci
4277e5c31af7Sopenharmony_ci			void main()
4278e5c31af7Sopenharmony_ci			{
4279e5c31af7Sopenharmony_ci				ivec3 c;
4280e5c31af7Sopenharmony_ci				vec3 a;
4281e5c31af7Sopenharmony_ci				ivec3 b;
4282e5c31af7Sopenharmony_ci				ivec3 c = a - b;
4283e5c31af7Sopenharmony_ci			}
4284e5c31af7Sopenharmony_ci		""
4285e5c31af7Sopenharmony_ci	end
4286e5c31af7Sopenharmony_ci	case sub_vec3_ivec4_vec3
4287e5c31af7Sopenharmony_ci		expect compile_fail
4288e5c31af7Sopenharmony_ci		version 300 es
4289e5c31af7Sopenharmony_ci
4290e5c31af7Sopenharmony_ci		both ""
4291e5c31af7Sopenharmony_ci			#version 300 es
4292e5c31af7Sopenharmony_ci			precision mediump float;
4293e5c31af7Sopenharmony_ci			precision mediump int;
4294e5c31af7Sopenharmony_ci
4295e5c31af7Sopenharmony_ci			${DECLARATIONS}
4296e5c31af7Sopenharmony_ci
4297e5c31af7Sopenharmony_ci			void main()
4298e5c31af7Sopenharmony_ci			{
4299e5c31af7Sopenharmony_ci				vec3 c;
4300e5c31af7Sopenharmony_ci				vec3 a;
4301e5c31af7Sopenharmony_ci				ivec4 b;
4302e5c31af7Sopenharmony_ci				vec3 c = a - b;
4303e5c31af7Sopenharmony_ci			}
4304e5c31af7Sopenharmony_ci		""
4305e5c31af7Sopenharmony_ci	end
4306e5c31af7Sopenharmony_ci	case sub_vec3_ivec4_ivec4
4307e5c31af7Sopenharmony_ci		expect compile_fail
4308e5c31af7Sopenharmony_ci		version 300 es
4309e5c31af7Sopenharmony_ci
4310e5c31af7Sopenharmony_ci		both ""
4311e5c31af7Sopenharmony_ci			#version 300 es
4312e5c31af7Sopenharmony_ci			precision mediump float;
4313e5c31af7Sopenharmony_ci			precision mediump int;
4314e5c31af7Sopenharmony_ci
4315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4316e5c31af7Sopenharmony_ci
4317e5c31af7Sopenharmony_ci			void main()
4318e5c31af7Sopenharmony_ci			{
4319e5c31af7Sopenharmony_ci				ivec4 c;
4320e5c31af7Sopenharmony_ci				vec3 a;
4321e5c31af7Sopenharmony_ci				ivec4 b;
4322e5c31af7Sopenharmony_ci				ivec4 c = a - b;
4323e5c31af7Sopenharmony_ci			}
4324e5c31af7Sopenharmony_ci		""
4325e5c31af7Sopenharmony_ci	end
4326e5c31af7Sopenharmony_ci	case sub_vec4_int_vec4
4327e5c31af7Sopenharmony_ci		expect compile_fail
4328e5c31af7Sopenharmony_ci		version 300 es
4329e5c31af7Sopenharmony_ci
4330e5c31af7Sopenharmony_ci		both ""
4331e5c31af7Sopenharmony_ci			#version 300 es
4332e5c31af7Sopenharmony_ci			precision mediump float;
4333e5c31af7Sopenharmony_ci			precision mediump int;
4334e5c31af7Sopenharmony_ci
4335e5c31af7Sopenharmony_ci			${DECLARATIONS}
4336e5c31af7Sopenharmony_ci
4337e5c31af7Sopenharmony_ci			void main()
4338e5c31af7Sopenharmony_ci			{
4339e5c31af7Sopenharmony_ci				vec4 c;
4340e5c31af7Sopenharmony_ci				vec4 a;
4341e5c31af7Sopenharmony_ci				int b;
4342e5c31af7Sopenharmony_ci				vec4 c = a - b;
4343e5c31af7Sopenharmony_ci			}
4344e5c31af7Sopenharmony_ci		""
4345e5c31af7Sopenharmony_ci	end
4346e5c31af7Sopenharmony_ci	case sub_vec4_int_int
4347e5c31af7Sopenharmony_ci		expect compile_fail
4348e5c31af7Sopenharmony_ci		version 300 es
4349e5c31af7Sopenharmony_ci
4350e5c31af7Sopenharmony_ci		both ""
4351e5c31af7Sopenharmony_ci			#version 300 es
4352e5c31af7Sopenharmony_ci			precision mediump float;
4353e5c31af7Sopenharmony_ci			precision mediump int;
4354e5c31af7Sopenharmony_ci
4355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4356e5c31af7Sopenharmony_ci
4357e5c31af7Sopenharmony_ci			void main()
4358e5c31af7Sopenharmony_ci			{
4359e5c31af7Sopenharmony_ci				int c;
4360e5c31af7Sopenharmony_ci				vec4 a;
4361e5c31af7Sopenharmony_ci				int b;
4362e5c31af7Sopenharmony_ci				int c = a - b;
4363e5c31af7Sopenharmony_ci			}
4364e5c31af7Sopenharmony_ci		""
4365e5c31af7Sopenharmony_ci	end
4366e5c31af7Sopenharmony_ci	case sub_vec4_ivec2_vec4
4367e5c31af7Sopenharmony_ci		expect compile_fail
4368e5c31af7Sopenharmony_ci		version 300 es
4369e5c31af7Sopenharmony_ci
4370e5c31af7Sopenharmony_ci		both ""
4371e5c31af7Sopenharmony_ci			#version 300 es
4372e5c31af7Sopenharmony_ci			precision mediump float;
4373e5c31af7Sopenharmony_ci			precision mediump int;
4374e5c31af7Sopenharmony_ci
4375e5c31af7Sopenharmony_ci			${DECLARATIONS}
4376e5c31af7Sopenharmony_ci
4377e5c31af7Sopenharmony_ci			void main()
4378e5c31af7Sopenharmony_ci			{
4379e5c31af7Sopenharmony_ci				vec4 c;
4380e5c31af7Sopenharmony_ci				vec4 a;
4381e5c31af7Sopenharmony_ci				ivec2 b;
4382e5c31af7Sopenharmony_ci				vec4 c = a - b;
4383e5c31af7Sopenharmony_ci			}
4384e5c31af7Sopenharmony_ci		""
4385e5c31af7Sopenharmony_ci	end
4386e5c31af7Sopenharmony_ci	case sub_vec4_ivec2_ivec2
4387e5c31af7Sopenharmony_ci		expect compile_fail
4388e5c31af7Sopenharmony_ci		version 300 es
4389e5c31af7Sopenharmony_ci
4390e5c31af7Sopenharmony_ci		both ""
4391e5c31af7Sopenharmony_ci			#version 300 es
4392e5c31af7Sopenharmony_ci			precision mediump float;
4393e5c31af7Sopenharmony_ci			precision mediump int;
4394e5c31af7Sopenharmony_ci
4395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4396e5c31af7Sopenharmony_ci
4397e5c31af7Sopenharmony_ci			void main()
4398e5c31af7Sopenharmony_ci			{
4399e5c31af7Sopenharmony_ci				ivec2 c;
4400e5c31af7Sopenharmony_ci				vec4 a;
4401e5c31af7Sopenharmony_ci				ivec2 b;
4402e5c31af7Sopenharmony_ci				ivec2 c = a - b;
4403e5c31af7Sopenharmony_ci			}
4404e5c31af7Sopenharmony_ci		""
4405e5c31af7Sopenharmony_ci	end
4406e5c31af7Sopenharmony_ci	case sub_vec4_ivec3_vec4
4407e5c31af7Sopenharmony_ci		expect compile_fail
4408e5c31af7Sopenharmony_ci		version 300 es
4409e5c31af7Sopenharmony_ci
4410e5c31af7Sopenharmony_ci		both ""
4411e5c31af7Sopenharmony_ci			#version 300 es
4412e5c31af7Sopenharmony_ci			precision mediump float;
4413e5c31af7Sopenharmony_ci			precision mediump int;
4414e5c31af7Sopenharmony_ci
4415e5c31af7Sopenharmony_ci			${DECLARATIONS}
4416e5c31af7Sopenharmony_ci
4417e5c31af7Sopenharmony_ci			void main()
4418e5c31af7Sopenharmony_ci			{
4419e5c31af7Sopenharmony_ci				vec4 c;
4420e5c31af7Sopenharmony_ci				vec4 a;
4421e5c31af7Sopenharmony_ci				ivec3 b;
4422e5c31af7Sopenharmony_ci				vec4 c = a - b;
4423e5c31af7Sopenharmony_ci			}
4424e5c31af7Sopenharmony_ci		""
4425e5c31af7Sopenharmony_ci	end
4426e5c31af7Sopenharmony_ci	case sub_vec4_ivec3_ivec3
4427e5c31af7Sopenharmony_ci		expect compile_fail
4428e5c31af7Sopenharmony_ci		version 300 es
4429e5c31af7Sopenharmony_ci
4430e5c31af7Sopenharmony_ci		both ""
4431e5c31af7Sopenharmony_ci			#version 300 es
4432e5c31af7Sopenharmony_ci			precision mediump float;
4433e5c31af7Sopenharmony_ci			precision mediump int;
4434e5c31af7Sopenharmony_ci
4435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4436e5c31af7Sopenharmony_ci
4437e5c31af7Sopenharmony_ci			void main()
4438e5c31af7Sopenharmony_ci			{
4439e5c31af7Sopenharmony_ci				ivec3 c;
4440e5c31af7Sopenharmony_ci				vec4 a;
4441e5c31af7Sopenharmony_ci				ivec3 b;
4442e5c31af7Sopenharmony_ci				ivec3 c = a - b;
4443e5c31af7Sopenharmony_ci			}
4444e5c31af7Sopenharmony_ci		""
4445e5c31af7Sopenharmony_ci	end
4446e5c31af7Sopenharmony_ci	case sub_vec4_ivec4_vec4
4447e5c31af7Sopenharmony_ci		expect compile_fail
4448e5c31af7Sopenharmony_ci		version 300 es
4449e5c31af7Sopenharmony_ci
4450e5c31af7Sopenharmony_ci		both ""
4451e5c31af7Sopenharmony_ci			#version 300 es
4452e5c31af7Sopenharmony_ci			precision mediump float;
4453e5c31af7Sopenharmony_ci			precision mediump int;
4454e5c31af7Sopenharmony_ci
4455e5c31af7Sopenharmony_ci			${DECLARATIONS}
4456e5c31af7Sopenharmony_ci
4457e5c31af7Sopenharmony_ci			void main()
4458e5c31af7Sopenharmony_ci			{
4459e5c31af7Sopenharmony_ci				vec4 c;
4460e5c31af7Sopenharmony_ci				vec4 a;
4461e5c31af7Sopenharmony_ci				ivec4 b;
4462e5c31af7Sopenharmony_ci				vec4 c = a - b;
4463e5c31af7Sopenharmony_ci			}
4464e5c31af7Sopenharmony_ci		""
4465e5c31af7Sopenharmony_ci	end
4466e5c31af7Sopenharmony_ci	case sub_vec4_ivec4_ivec4
4467e5c31af7Sopenharmony_ci		expect compile_fail
4468e5c31af7Sopenharmony_ci		version 300 es
4469e5c31af7Sopenharmony_ci
4470e5c31af7Sopenharmony_ci		both ""
4471e5c31af7Sopenharmony_ci			#version 300 es
4472e5c31af7Sopenharmony_ci			precision mediump float;
4473e5c31af7Sopenharmony_ci			precision mediump int;
4474e5c31af7Sopenharmony_ci
4475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4476e5c31af7Sopenharmony_ci
4477e5c31af7Sopenharmony_ci			void main()
4478e5c31af7Sopenharmony_ci			{
4479e5c31af7Sopenharmony_ci				ivec4 c;
4480e5c31af7Sopenharmony_ci				vec4 a;
4481e5c31af7Sopenharmony_ci				ivec4 b;
4482e5c31af7Sopenharmony_ci				ivec4 c = a - b;
4483e5c31af7Sopenharmony_ci			}
4484e5c31af7Sopenharmony_ci		""
4485e5c31af7Sopenharmony_ci	end
4486e5c31af7Sopenharmony_ci	case sub_float_uint_float
4487e5c31af7Sopenharmony_ci		expect compile_fail
4488e5c31af7Sopenharmony_ci		version 300 es
4489e5c31af7Sopenharmony_ci
4490e5c31af7Sopenharmony_ci		both ""
4491e5c31af7Sopenharmony_ci			#version 300 es
4492e5c31af7Sopenharmony_ci			precision mediump float;
4493e5c31af7Sopenharmony_ci			precision mediump int;
4494e5c31af7Sopenharmony_ci
4495e5c31af7Sopenharmony_ci			${DECLARATIONS}
4496e5c31af7Sopenharmony_ci
4497e5c31af7Sopenharmony_ci			void main()
4498e5c31af7Sopenharmony_ci			{
4499e5c31af7Sopenharmony_ci				float c;
4500e5c31af7Sopenharmony_ci				float a;
4501e5c31af7Sopenharmony_ci				uint b;
4502e5c31af7Sopenharmony_ci				float c = a - b;
4503e5c31af7Sopenharmony_ci			}
4504e5c31af7Sopenharmony_ci		""
4505e5c31af7Sopenharmony_ci	end
4506e5c31af7Sopenharmony_ci	case sub_float_uint_uint
4507e5c31af7Sopenharmony_ci		expect compile_fail
4508e5c31af7Sopenharmony_ci		version 300 es
4509e5c31af7Sopenharmony_ci
4510e5c31af7Sopenharmony_ci		both ""
4511e5c31af7Sopenharmony_ci			#version 300 es
4512e5c31af7Sopenharmony_ci			precision mediump float;
4513e5c31af7Sopenharmony_ci			precision mediump int;
4514e5c31af7Sopenharmony_ci
4515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4516e5c31af7Sopenharmony_ci
4517e5c31af7Sopenharmony_ci			void main()
4518e5c31af7Sopenharmony_ci			{
4519e5c31af7Sopenharmony_ci				uint c;
4520e5c31af7Sopenharmony_ci				float a;
4521e5c31af7Sopenharmony_ci				uint b;
4522e5c31af7Sopenharmony_ci				uint c = a - b;
4523e5c31af7Sopenharmony_ci			}
4524e5c31af7Sopenharmony_ci		""
4525e5c31af7Sopenharmony_ci	end
4526e5c31af7Sopenharmony_ci	case sub_float_uvec2_float
4527e5c31af7Sopenharmony_ci		expect compile_fail
4528e5c31af7Sopenharmony_ci		version 300 es
4529e5c31af7Sopenharmony_ci
4530e5c31af7Sopenharmony_ci		both ""
4531e5c31af7Sopenharmony_ci			#version 300 es
4532e5c31af7Sopenharmony_ci			precision mediump float;
4533e5c31af7Sopenharmony_ci			precision mediump int;
4534e5c31af7Sopenharmony_ci
4535e5c31af7Sopenharmony_ci			${DECLARATIONS}
4536e5c31af7Sopenharmony_ci
4537e5c31af7Sopenharmony_ci			void main()
4538e5c31af7Sopenharmony_ci			{
4539e5c31af7Sopenharmony_ci				float c;
4540e5c31af7Sopenharmony_ci				float a;
4541e5c31af7Sopenharmony_ci				uvec2 b;
4542e5c31af7Sopenharmony_ci				float c = a - b;
4543e5c31af7Sopenharmony_ci			}
4544e5c31af7Sopenharmony_ci		""
4545e5c31af7Sopenharmony_ci	end
4546e5c31af7Sopenharmony_ci	case sub_float_uvec2_uvec2
4547e5c31af7Sopenharmony_ci		expect compile_fail
4548e5c31af7Sopenharmony_ci		version 300 es
4549e5c31af7Sopenharmony_ci
4550e5c31af7Sopenharmony_ci		both ""
4551e5c31af7Sopenharmony_ci			#version 300 es
4552e5c31af7Sopenharmony_ci			precision mediump float;
4553e5c31af7Sopenharmony_ci			precision mediump int;
4554e5c31af7Sopenharmony_ci
4555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4556e5c31af7Sopenharmony_ci
4557e5c31af7Sopenharmony_ci			void main()
4558e5c31af7Sopenharmony_ci			{
4559e5c31af7Sopenharmony_ci				uvec2 c;
4560e5c31af7Sopenharmony_ci				float a;
4561e5c31af7Sopenharmony_ci				uvec2 b;
4562e5c31af7Sopenharmony_ci				uvec2 c = a - b;
4563e5c31af7Sopenharmony_ci			}
4564e5c31af7Sopenharmony_ci		""
4565e5c31af7Sopenharmony_ci	end
4566e5c31af7Sopenharmony_ci	case sub_float_uvec3_float
4567e5c31af7Sopenharmony_ci		expect compile_fail
4568e5c31af7Sopenharmony_ci		version 300 es
4569e5c31af7Sopenharmony_ci
4570e5c31af7Sopenharmony_ci		both ""
4571e5c31af7Sopenharmony_ci			#version 300 es
4572e5c31af7Sopenharmony_ci			precision mediump float;
4573e5c31af7Sopenharmony_ci			precision mediump int;
4574e5c31af7Sopenharmony_ci
4575e5c31af7Sopenharmony_ci			${DECLARATIONS}
4576e5c31af7Sopenharmony_ci
4577e5c31af7Sopenharmony_ci			void main()
4578e5c31af7Sopenharmony_ci			{
4579e5c31af7Sopenharmony_ci				float c;
4580e5c31af7Sopenharmony_ci				float a;
4581e5c31af7Sopenharmony_ci				uvec3 b;
4582e5c31af7Sopenharmony_ci				float c = a - b;
4583e5c31af7Sopenharmony_ci			}
4584e5c31af7Sopenharmony_ci		""
4585e5c31af7Sopenharmony_ci	end
4586e5c31af7Sopenharmony_ci	case sub_float_uvec3_uvec3
4587e5c31af7Sopenharmony_ci		expect compile_fail
4588e5c31af7Sopenharmony_ci		version 300 es
4589e5c31af7Sopenharmony_ci
4590e5c31af7Sopenharmony_ci		both ""
4591e5c31af7Sopenharmony_ci			#version 300 es
4592e5c31af7Sopenharmony_ci			precision mediump float;
4593e5c31af7Sopenharmony_ci			precision mediump int;
4594e5c31af7Sopenharmony_ci
4595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4596e5c31af7Sopenharmony_ci
4597e5c31af7Sopenharmony_ci			void main()
4598e5c31af7Sopenharmony_ci			{
4599e5c31af7Sopenharmony_ci				uvec3 c;
4600e5c31af7Sopenharmony_ci				float a;
4601e5c31af7Sopenharmony_ci				uvec3 b;
4602e5c31af7Sopenharmony_ci				uvec3 c = a - b;
4603e5c31af7Sopenharmony_ci			}
4604e5c31af7Sopenharmony_ci		""
4605e5c31af7Sopenharmony_ci	end
4606e5c31af7Sopenharmony_ci	case sub_float_uvec4_float
4607e5c31af7Sopenharmony_ci		expect compile_fail
4608e5c31af7Sopenharmony_ci		version 300 es
4609e5c31af7Sopenharmony_ci
4610e5c31af7Sopenharmony_ci		both ""
4611e5c31af7Sopenharmony_ci			#version 300 es
4612e5c31af7Sopenharmony_ci			precision mediump float;
4613e5c31af7Sopenharmony_ci			precision mediump int;
4614e5c31af7Sopenharmony_ci
4615e5c31af7Sopenharmony_ci			${DECLARATIONS}
4616e5c31af7Sopenharmony_ci
4617e5c31af7Sopenharmony_ci			void main()
4618e5c31af7Sopenharmony_ci			{
4619e5c31af7Sopenharmony_ci				float c;
4620e5c31af7Sopenharmony_ci				float a;
4621e5c31af7Sopenharmony_ci				uvec4 b;
4622e5c31af7Sopenharmony_ci				float c = a - b;
4623e5c31af7Sopenharmony_ci			}
4624e5c31af7Sopenharmony_ci		""
4625e5c31af7Sopenharmony_ci	end
4626e5c31af7Sopenharmony_ci	case sub_float_uvec4_uvec4
4627e5c31af7Sopenharmony_ci		expect compile_fail
4628e5c31af7Sopenharmony_ci		version 300 es
4629e5c31af7Sopenharmony_ci
4630e5c31af7Sopenharmony_ci		both ""
4631e5c31af7Sopenharmony_ci			#version 300 es
4632e5c31af7Sopenharmony_ci			precision mediump float;
4633e5c31af7Sopenharmony_ci			precision mediump int;
4634e5c31af7Sopenharmony_ci
4635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4636e5c31af7Sopenharmony_ci
4637e5c31af7Sopenharmony_ci			void main()
4638e5c31af7Sopenharmony_ci			{
4639e5c31af7Sopenharmony_ci				uvec4 c;
4640e5c31af7Sopenharmony_ci				float a;
4641e5c31af7Sopenharmony_ci				uvec4 b;
4642e5c31af7Sopenharmony_ci				uvec4 c = a - b;
4643e5c31af7Sopenharmony_ci			}
4644e5c31af7Sopenharmony_ci		""
4645e5c31af7Sopenharmony_ci	end
4646e5c31af7Sopenharmony_ci	case sub_vec2_uint_vec2
4647e5c31af7Sopenharmony_ci		expect compile_fail
4648e5c31af7Sopenharmony_ci		version 300 es
4649e5c31af7Sopenharmony_ci
4650e5c31af7Sopenharmony_ci		both ""
4651e5c31af7Sopenharmony_ci			#version 300 es
4652e5c31af7Sopenharmony_ci			precision mediump float;
4653e5c31af7Sopenharmony_ci			precision mediump int;
4654e5c31af7Sopenharmony_ci
4655e5c31af7Sopenharmony_ci			${DECLARATIONS}
4656e5c31af7Sopenharmony_ci
4657e5c31af7Sopenharmony_ci			void main()
4658e5c31af7Sopenharmony_ci			{
4659e5c31af7Sopenharmony_ci				vec2 c;
4660e5c31af7Sopenharmony_ci				vec2 a;
4661e5c31af7Sopenharmony_ci				uint b;
4662e5c31af7Sopenharmony_ci				vec2 c = a - b;
4663e5c31af7Sopenharmony_ci			}
4664e5c31af7Sopenharmony_ci		""
4665e5c31af7Sopenharmony_ci	end
4666e5c31af7Sopenharmony_ci	case sub_vec2_uint_uint
4667e5c31af7Sopenharmony_ci		expect compile_fail
4668e5c31af7Sopenharmony_ci		version 300 es
4669e5c31af7Sopenharmony_ci
4670e5c31af7Sopenharmony_ci		both ""
4671e5c31af7Sopenharmony_ci			#version 300 es
4672e5c31af7Sopenharmony_ci			precision mediump float;
4673e5c31af7Sopenharmony_ci			precision mediump int;
4674e5c31af7Sopenharmony_ci
4675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4676e5c31af7Sopenharmony_ci
4677e5c31af7Sopenharmony_ci			void main()
4678e5c31af7Sopenharmony_ci			{
4679e5c31af7Sopenharmony_ci				uint c;
4680e5c31af7Sopenharmony_ci				vec2 a;
4681e5c31af7Sopenharmony_ci				uint b;
4682e5c31af7Sopenharmony_ci				uint c = a - b;
4683e5c31af7Sopenharmony_ci			}
4684e5c31af7Sopenharmony_ci		""
4685e5c31af7Sopenharmony_ci	end
4686e5c31af7Sopenharmony_ci	case sub_vec2_uvec2_vec2
4687e5c31af7Sopenharmony_ci		expect compile_fail
4688e5c31af7Sopenharmony_ci		version 300 es
4689e5c31af7Sopenharmony_ci
4690e5c31af7Sopenharmony_ci		both ""
4691e5c31af7Sopenharmony_ci			#version 300 es
4692e5c31af7Sopenharmony_ci			precision mediump float;
4693e5c31af7Sopenharmony_ci			precision mediump int;
4694e5c31af7Sopenharmony_ci
4695e5c31af7Sopenharmony_ci			${DECLARATIONS}
4696e5c31af7Sopenharmony_ci
4697e5c31af7Sopenharmony_ci			void main()
4698e5c31af7Sopenharmony_ci			{
4699e5c31af7Sopenharmony_ci				vec2 c;
4700e5c31af7Sopenharmony_ci				vec2 a;
4701e5c31af7Sopenharmony_ci				uvec2 b;
4702e5c31af7Sopenharmony_ci				vec2 c = a - b;
4703e5c31af7Sopenharmony_ci			}
4704e5c31af7Sopenharmony_ci		""
4705e5c31af7Sopenharmony_ci	end
4706e5c31af7Sopenharmony_ci	case sub_vec2_uvec2_uvec2
4707e5c31af7Sopenharmony_ci		expect compile_fail
4708e5c31af7Sopenharmony_ci		version 300 es
4709e5c31af7Sopenharmony_ci
4710e5c31af7Sopenharmony_ci		both ""
4711e5c31af7Sopenharmony_ci			#version 300 es
4712e5c31af7Sopenharmony_ci			precision mediump float;
4713e5c31af7Sopenharmony_ci			precision mediump int;
4714e5c31af7Sopenharmony_ci
4715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4716e5c31af7Sopenharmony_ci
4717e5c31af7Sopenharmony_ci			void main()
4718e5c31af7Sopenharmony_ci			{
4719e5c31af7Sopenharmony_ci				uvec2 c;
4720e5c31af7Sopenharmony_ci				vec2 a;
4721e5c31af7Sopenharmony_ci				uvec2 b;
4722e5c31af7Sopenharmony_ci				uvec2 c = a - b;
4723e5c31af7Sopenharmony_ci			}
4724e5c31af7Sopenharmony_ci		""
4725e5c31af7Sopenharmony_ci	end
4726e5c31af7Sopenharmony_ci	case sub_vec2_uvec3_vec2
4727e5c31af7Sopenharmony_ci		expect compile_fail
4728e5c31af7Sopenharmony_ci		version 300 es
4729e5c31af7Sopenharmony_ci
4730e5c31af7Sopenharmony_ci		both ""
4731e5c31af7Sopenharmony_ci			#version 300 es
4732e5c31af7Sopenharmony_ci			precision mediump float;
4733e5c31af7Sopenharmony_ci			precision mediump int;
4734e5c31af7Sopenharmony_ci
4735e5c31af7Sopenharmony_ci			${DECLARATIONS}
4736e5c31af7Sopenharmony_ci
4737e5c31af7Sopenharmony_ci			void main()
4738e5c31af7Sopenharmony_ci			{
4739e5c31af7Sopenharmony_ci				vec2 c;
4740e5c31af7Sopenharmony_ci				vec2 a;
4741e5c31af7Sopenharmony_ci				uvec3 b;
4742e5c31af7Sopenharmony_ci				vec2 c = a - b;
4743e5c31af7Sopenharmony_ci			}
4744e5c31af7Sopenharmony_ci		""
4745e5c31af7Sopenharmony_ci	end
4746e5c31af7Sopenharmony_ci	case sub_vec2_uvec3_uvec3
4747e5c31af7Sopenharmony_ci		expect compile_fail
4748e5c31af7Sopenharmony_ci		version 300 es
4749e5c31af7Sopenharmony_ci
4750e5c31af7Sopenharmony_ci		both ""
4751e5c31af7Sopenharmony_ci			#version 300 es
4752e5c31af7Sopenharmony_ci			precision mediump float;
4753e5c31af7Sopenharmony_ci			precision mediump int;
4754e5c31af7Sopenharmony_ci
4755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4756e5c31af7Sopenharmony_ci
4757e5c31af7Sopenharmony_ci			void main()
4758e5c31af7Sopenharmony_ci			{
4759e5c31af7Sopenharmony_ci				uvec3 c;
4760e5c31af7Sopenharmony_ci				vec2 a;
4761e5c31af7Sopenharmony_ci				uvec3 b;
4762e5c31af7Sopenharmony_ci				uvec3 c = a - b;
4763e5c31af7Sopenharmony_ci			}
4764e5c31af7Sopenharmony_ci		""
4765e5c31af7Sopenharmony_ci	end
4766e5c31af7Sopenharmony_ci	case sub_vec2_uvec4_vec2
4767e5c31af7Sopenharmony_ci		expect compile_fail
4768e5c31af7Sopenharmony_ci		version 300 es
4769e5c31af7Sopenharmony_ci
4770e5c31af7Sopenharmony_ci		both ""
4771e5c31af7Sopenharmony_ci			#version 300 es
4772e5c31af7Sopenharmony_ci			precision mediump float;
4773e5c31af7Sopenharmony_ci			precision mediump int;
4774e5c31af7Sopenharmony_ci
4775e5c31af7Sopenharmony_ci			${DECLARATIONS}
4776e5c31af7Sopenharmony_ci
4777e5c31af7Sopenharmony_ci			void main()
4778e5c31af7Sopenharmony_ci			{
4779e5c31af7Sopenharmony_ci				vec2 c;
4780e5c31af7Sopenharmony_ci				vec2 a;
4781e5c31af7Sopenharmony_ci				uvec4 b;
4782e5c31af7Sopenharmony_ci				vec2 c = a - b;
4783e5c31af7Sopenharmony_ci			}
4784e5c31af7Sopenharmony_ci		""
4785e5c31af7Sopenharmony_ci	end
4786e5c31af7Sopenharmony_ci	case sub_vec2_uvec4_uvec4
4787e5c31af7Sopenharmony_ci		expect compile_fail
4788e5c31af7Sopenharmony_ci		version 300 es
4789e5c31af7Sopenharmony_ci
4790e5c31af7Sopenharmony_ci		both ""
4791e5c31af7Sopenharmony_ci			#version 300 es
4792e5c31af7Sopenharmony_ci			precision mediump float;
4793e5c31af7Sopenharmony_ci			precision mediump int;
4794e5c31af7Sopenharmony_ci
4795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4796e5c31af7Sopenharmony_ci
4797e5c31af7Sopenharmony_ci			void main()
4798e5c31af7Sopenharmony_ci			{
4799e5c31af7Sopenharmony_ci				uvec4 c;
4800e5c31af7Sopenharmony_ci				vec2 a;
4801e5c31af7Sopenharmony_ci				uvec4 b;
4802e5c31af7Sopenharmony_ci				uvec4 c = a - b;
4803e5c31af7Sopenharmony_ci			}
4804e5c31af7Sopenharmony_ci		""
4805e5c31af7Sopenharmony_ci	end
4806e5c31af7Sopenharmony_ci	case sub_vec3_uint_vec3
4807e5c31af7Sopenharmony_ci		expect compile_fail
4808e5c31af7Sopenharmony_ci		version 300 es
4809e5c31af7Sopenharmony_ci
4810e5c31af7Sopenharmony_ci		both ""
4811e5c31af7Sopenharmony_ci			#version 300 es
4812e5c31af7Sopenharmony_ci			precision mediump float;
4813e5c31af7Sopenharmony_ci			precision mediump int;
4814e5c31af7Sopenharmony_ci
4815e5c31af7Sopenharmony_ci			${DECLARATIONS}
4816e5c31af7Sopenharmony_ci
4817e5c31af7Sopenharmony_ci			void main()
4818e5c31af7Sopenharmony_ci			{
4819e5c31af7Sopenharmony_ci				vec3 c;
4820e5c31af7Sopenharmony_ci				vec3 a;
4821e5c31af7Sopenharmony_ci				uint b;
4822e5c31af7Sopenharmony_ci				vec3 c = a - b;
4823e5c31af7Sopenharmony_ci			}
4824e5c31af7Sopenharmony_ci		""
4825e5c31af7Sopenharmony_ci	end
4826e5c31af7Sopenharmony_ci	case sub_vec3_uint_uint
4827e5c31af7Sopenharmony_ci		expect compile_fail
4828e5c31af7Sopenharmony_ci		version 300 es
4829e5c31af7Sopenharmony_ci
4830e5c31af7Sopenharmony_ci		both ""
4831e5c31af7Sopenharmony_ci			#version 300 es
4832e5c31af7Sopenharmony_ci			precision mediump float;
4833e5c31af7Sopenharmony_ci			precision mediump int;
4834e5c31af7Sopenharmony_ci
4835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4836e5c31af7Sopenharmony_ci
4837e5c31af7Sopenharmony_ci			void main()
4838e5c31af7Sopenharmony_ci			{
4839e5c31af7Sopenharmony_ci				uint c;
4840e5c31af7Sopenharmony_ci				vec3 a;
4841e5c31af7Sopenharmony_ci				uint b;
4842e5c31af7Sopenharmony_ci				uint c = a - b;
4843e5c31af7Sopenharmony_ci			}
4844e5c31af7Sopenharmony_ci		""
4845e5c31af7Sopenharmony_ci	end
4846e5c31af7Sopenharmony_ci	case sub_vec3_uvec2_vec3
4847e5c31af7Sopenharmony_ci		expect compile_fail
4848e5c31af7Sopenharmony_ci		version 300 es
4849e5c31af7Sopenharmony_ci
4850e5c31af7Sopenharmony_ci		both ""
4851e5c31af7Sopenharmony_ci			#version 300 es
4852e5c31af7Sopenharmony_ci			precision mediump float;
4853e5c31af7Sopenharmony_ci			precision mediump int;
4854e5c31af7Sopenharmony_ci
4855e5c31af7Sopenharmony_ci			${DECLARATIONS}
4856e5c31af7Sopenharmony_ci
4857e5c31af7Sopenharmony_ci			void main()
4858e5c31af7Sopenharmony_ci			{
4859e5c31af7Sopenharmony_ci				vec3 c;
4860e5c31af7Sopenharmony_ci				vec3 a;
4861e5c31af7Sopenharmony_ci				uvec2 b;
4862e5c31af7Sopenharmony_ci				vec3 c = a - b;
4863e5c31af7Sopenharmony_ci			}
4864e5c31af7Sopenharmony_ci		""
4865e5c31af7Sopenharmony_ci	end
4866e5c31af7Sopenharmony_ci	case sub_vec3_uvec2_uvec2
4867e5c31af7Sopenharmony_ci		expect compile_fail
4868e5c31af7Sopenharmony_ci		version 300 es
4869e5c31af7Sopenharmony_ci
4870e5c31af7Sopenharmony_ci		both ""
4871e5c31af7Sopenharmony_ci			#version 300 es
4872e5c31af7Sopenharmony_ci			precision mediump float;
4873e5c31af7Sopenharmony_ci			precision mediump int;
4874e5c31af7Sopenharmony_ci
4875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4876e5c31af7Sopenharmony_ci
4877e5c31af7Sopenharmony_ci			void main()
4878e5c31af7Sopenharmony_ci			{
4879e5c31af7Sopenharmony_ci				uvec2 c;
4880e5c31af7Sopenharmony_ci				vec3 a;
4881e5c31af7Sopenharmony_ci				uvec2 b;
4882e5c31af7Sopenharmony_ci				uvec2 c = a - b;
4883e5c31af7Sopenharmony_ci			}
4884e5c31af7Sopenharmony_ci		""
4885e5c31af7Sopenharmony_ci	end
4886e5c31af7Sopenharmony_ci	case sub_vec3_uvec3_vec3
4887e5c31af7Sopenharmony_ci		expect compile_fail
4888e5c31af7Sopenharmony_ci		version 300 es
4889e5c31af7Sopenharmony_ci
4890e5c31af7Sopenharmony_ci		both ""
4891e5c31af7Sopenharmony_ci			#version 300 es
4892e5c31af7Sopenharmony_ci			precision mediump float;
4893e5c31af7Sopenharmony_ci			precision mediump int;
4894e5c31af7Sopenharmony_ci
4895e5c31af7Sopenharmony_ci			${DECLARATIONS}
4896e5c31af7Sopenharmony_ci
4897e5c31af7Sopenharmony_ci			void main()
4898e5c31af7Sopenharmony_ci			{
4899e5c31af7Sopenharmony_ci				vec3 c;
4900e5c31af7Sopenharmony_ci				vec3 a;
4901e5c31af7Sopenharmony_ci				uvec3 b;
4902e5c31af7Sopenharmony_ci				vec3 c = a - b;
4903e5c31af7Sopenharmony_ci			}
4904e5c31af7Sopenharmony_ci		""
4905e5c31af7Sopenharmony_ci	end
4906e5c31af7Sopenharmony_ci	case sub_vec3_uvec3_uvec3
4907e5c31af7Sopenharmony_ci		expect compile_fail
4908e5c31af7Sopenharmony_ci		version 300 es
4909e5c31af7Sopenharmony_ci
4910e5c31af7Sopenharmony_ci		both ""
4911e5c31af7Sopenharmony_ci			#version 300 es
4912e5c31af7Sopenharmony_ci			precision mediump float;
4913e5c31af7Sopenharmony_ci			precision mediump int;
4914e5c31af7Sopenharmony_ci
4915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4916e5c31af7Sopenharmony_ci
4917e5c31af7Sopenharmony_ci			void main()
4918e5c31af7Sopenharmony_ci			{
4919e5c31af7Sopenharmony_ci				uvec3 c;
4920e5c31af7Sopenharmony_ci				vec3 a;
4921e5c31af7Sopenharmony_ci				uvec3 b;
4922e5c31af7Sopenharmony_ci				uvec3 c = a - b;
4923e5c31af7Sopenharmony_ci			}
4924e5c31af7Sopenharmony_ci		""
4925e5c31af7Sopenharmony_ci	end
4926e5c31af7Sopenharmony_ci	case sub_vec3_uvec4_vec3
4927e5c31af7Sopenharmony_ci		expect compile_fail
4928e5c31af7Sopenharmony_ci		version 300 es
4929e5c31af7Sopenharmony_ci
4930e5c31af7Sopenharmony_ci		both ""
4931e5c31af7Sopenharmony_ci			#version 300 es
4932e5c31af7Sopenharmony_ci			precision mediump float;
4933e5c31af7Sopenharmony_ci			precision mediump int;
4934e5c31af7Sopenharmony_ci
4935e5c31af7Sopenharmony_ci			${DECLARATIONS}
4936e5c31af7Sopenharmony_ci
4937e5c31af7Sopenharmony_ci			void main()
4938e5c31af7Sopenharmony_ci			{
4939e5c31af7Sopenharmony_ci				vec3 c;
4940e5c31af7Sopenharmony_ci				vec3 a;
4941e5c31af7Sopenharmony_ci				uvec4 b;
4942e5c31af7Sopenharmony_ci				vec3 c = a - b;
4943e5c31af7Sopenharmony_ci			}
4944e5c31af7Sopenharmony_ci		""
4945e5c31af7Sopenharmony_ci	end
4946e5c31af7Sopenharmony_ci	case sub_vec3_uvec4_uvec4
4947e5c31af7Sopenharmony_ci		expect compile_fail
4948e5c31af7Sopenharmony_ci		version 300 es
4949e5c31af7Sopenharmony_ci
4950e5c31af7Sopenharmony_ci		both ""
4951e5c31af7Sopenharmony_ci			#version 300 es
4952e5c31af7Sopenharmony_ci			precision mediump float;
4953e5c31af7Sopenharmony_ci			precision mediump int;
4954e5c31af7Sopenharmony_ci
4955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4956e5c31af7Sopenharmony_ci
4957e5c31af7Sopenharmony_ci			void main()
4958e5c31af7Sopenharmony_ci			{
4959e5c31af7Sopenharmony_ci				uvec4 c;
4960e5c31af7Sopenharmony_ci				vec3 a;
4961e5c31af7Sopenharmony_ci				uvec4 b;
4962e5c31af7Sopenharmony_ci				uvec4 c = a - b;
4963e5c31af7Sopenharmony_ci			}
4964e5c31af7Sopenharmony_ci		""
4965e5c31af7Sopenharmony_ci	end
4966e5c31af7Sopenharmony_ci	case sub_vec4_uint_vec4
4967e5c31af7Sopenharmony_ci		expect compile_fail
4968e5c31af7Sopenharmony_ci		version 300 es
4969e5c31af7Sopenharmony_ci
4970e5c31af7Sopenharmony_ci		both ""
4971e5c31af7Sopenharmony_ci			#version 300 es
4972e5c31af7Sopenharmony_ci			precision mediump float;
4973e5c31af7Sopenharmony_ci			precision mediump int;
4974e5c31af7Sopenharmony_ci
4975e5c31af7Sopenharmony_ci			${DECLARATIONS}
4976e5c31af7Sopenharmony_ci
4977e5c31af7Sopenharmony_ci			void main()
4978e5c31af7Sopenharmony_ci			{
4979e5c31af7Sopenharmony_ci				vec4 c;
4980e5c31af7Sopenharmony_ci				vec4 a;
4981e5c31af7Sopenharmony_ci				uint b;
4982e5c31af7Sopenharmony_ci				vec4 c = a - b;
4983e5c31af7Sopenharmony_ci			}
4984e5c31af7Sopenharmony_ci		""
4985e5c31af7Sopenharmony_ci	end
4986e5c31af7Sopenharmony_ci	case sub_vec4_uint_uint
4987e5c31af7Sopenharmony_ci		expect compile_fail
4988e5c31af7Sopenharmony_ci		version 300 es
4989e5c31af7Sopenharmony_ci
4990e5c31af7Sopenharmony_ci		both ""
4991e5c31af7Sopenharmony_ci			#version 300 es
4992e5c31af7Sopenharmony_ci			precision mediump float;
4993e5c31af7Sopenharmony_ci			precision mediump int;
4994e5c31af7Sopenharmony_ci
4995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
4996e5c31af7Sopenharmony_ci
4997e5c31af7Sopenharmony_ci			void main()
4998e5c31af7Sopenharmony_ci			{
4999e5c31af7Sopenharmony_ci				uint c;
5000e5c31af7Sopenharmony_ci				vec4 a;
5001e5c31af7Sopenharmony_ci				uint b;
5002e5c31af7Sopenharmony_ci				uint c = a - b;
5003e5c31af7Sopenharmony_ci			}
5004e5c31af7Sopenharmony_ci		""
5005e5c31af7Sopenharmony_ci	end
5006e5c31af7Sopenharmony_ci	case sub_vec4_uvec2_vec4
5007e5c31af7Sopenharmony_ci		expect compile_fail
5008e5c31af7Sopenharmony_ci		version 300 es
5009e5c31af7Sopenharmony_ci
5010e5c31af7Sopenharmony_ci		both ""
5011e5c31af7Sopenharmony_ci			#version 300 es
5012e5c31af7Sopenharmony_ci			precision mediump float;
5013e5c31af7Sopenharmony_ci			precision mediump int;
5014e5c31af7Sopenharmony_ci
5015e5c31af7Sopenharmony_ci			${DECLARATIONS}
5016e5c31af7Sopenharmony_ci
5017e5c31af7Sopenharmony_ci			void main()
5018e5c31af7Sopenharmony_ci			{
5019e5c31af7Sopenharmony_ci				vec4 c;
5020e5c31af7Sopenharmony_ci				vec4 a;
5021e5c31af7Sopenharmony_ci				uvec2 b;
5022e5c31af7Sopenharmony_ci				vec4 c = a - b;
5023e5c31af7Sopenharmony_ci			}
5024e5c31af7Sopenharmony_ci		""
5025e5c31af7Sopenharmony_ci	end
5026e5c31af7Sopenharmony_ci	case sub_vec4_uvec2_uvec2
5027e5c31af7Sopenharmony_ci		expect compile_fail
5028e5c31af7Sopenharmony_ci		version 300 es
5029e5c31af7Sopenharmony_ci
5030e5c31af7Sopenharmony_ci		both ""
5031e5c31af7Sopenharmony_ci			#version 300 es
5032e5c31af7Sopenharmony_ci			precision mediump float;
5033e5c31af7Sopenharmony_ci			precision mediump int;
5034e5c31af7Sopenharmony_ci
5035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5036e5c31af7Sopenharmony_ci
5037e5c31af7Sopenharmony_ci			void main()
5038e5c31af7Sopenharmony_ci			{
5039e5c31af7Sopenharmony_ci				uvec2 c;
5040e5c31af7Sopenharmony_ci				vec4 a;
5041e5c31af7Sopenharmony_ci				uvec2 b;
5042e5c31af7Sopenharmony_ci				uvec2 c = a - b;
5043e5c31af7Sopenharmony_ci			}
5044e5c31af7Sopenharmony_ci		""
5045e5c31af7Sopenharmony_ci	end
5046e5c31af7Sopenharmony_ci	case sub_vec4_uvec3_vec4
5047e5c31af7Sopenharmony_ci		expect compile_fail
5048e5c31af7Sopenharmony_ci		version 300 es
5049e5c31af7Sopenharmony_ci
5050e5c31af7Sopenharmony_ci		both ""
5051e5c31af7Sopenharmony_ci			#version 300 es
5052e5c31af7Sopenharmony_ci			precision mediump float;
5053e5c31af7Sopenharmony_ci			precision mediump int;
5054e5c31af7Sopenharmony_ci
5055e5c31af7Sopenharmony_ci			${DECLARATIONS}
5056e5c31af7Sopenharmony_ci
5057e5c31af7Sopenharmony_ci			void main()
5058e5c31af7Sopenharmony_ci			{
5059e5c31af7Sopenharmony_ci				vec4 c;
5060e5c31af7Sopenharmony_ci				vec4 a;
5061e5c31af7Sopenharmony_ci				uvec3 b;
5062e5c31af7Sopenharmony_ci				vec4 c = a - b;
5063e5c31af7Sopenharmony_ci			}
5064e5c31af7Sopenharmony_ci		""
5065e5c31af7Sopenharmony_ci	end
5066e5c31af7Sopenharmony_ci	case sub_vec4_uvec3_uvec3
5067e5c31af7Sopenharmony_ci		expect compile_fail
5068e5c31af7Sopenharmony_ci		version 300 es
5069e5c31af7Sopenharmony_ci
5070e5c31af7Sopenharmony_ci		both ""
5071e5c31af7Sopenharmony_ci			#version 300 es
5072e5c31af7Sopenharmony_ci			precision mediump float;
5073e5c31af7Sopenharmony_ci			precision mediump int;
5074e5c31af7Sopenharmony_ci
5075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5076e5c31af7Sopenharmony_ci
5077e5c31af7Sopenharmony_ci			void main()
5078e5c31af7Sopenharmony_ci			{
5079e5c31af7Sopenharmony_ci				uvec3 c;
5080e5c31af7Sopenharmony_ci				vec4 a;
5081e5c31af7Sopenharmony_ci				uvec3 b;
5082e5c31af7Sopenharmony_ci				uvec3 c = a - b;
5083e5c31af7Sopenharmony_ci			}
5084e5c31af7Sopenharmony_ci		""
5085e5c31af7Sopenharmony_ci	end
5086e5c31af7Sopenharmony_ci	case sub_vec4_uvec4_vec4
5087e5c31af7Sopenharmony_ci		expect compile_fail
5088e5c31af7Sopenharmony_ci		version 300 es
5089e5c31af7Sopenharmony_ci
5090e5c31af7Sopenharmony_ci		both ""
5091e5c31af7Sopenharmony_ci			#version 300 es
5092e5c31af7Sopenharmony_ci			precision mediump float;
5093e5c31af7Sopenharmony_ci			precision mediump int;
5094e5c31af7Sopenharmony_ci
5095e5c31af7Sopenharmony_ci			${DECLARATIONS}
5096e5c31af7Sopenharmony_ci
5097e5c31af7Sopenharmony_ci			void main()
5098e5c31af7Sopenharmony_ci			{
5099e5c31af7Sopenharmony_ci				vec4 c;
5100e5c31af7Sopenharmony_ci				vec4 a;
5101e5c31af7Sopenharmony_ci				uvec4 b;
5102e5c31af7Sopenharmony_ci				vec4 c = a - b;
5103e5c31af7Sopenharmony_ci			}
5104e5c31af7Sopenharmony_ci		""
5105e5c31af7Sopenharmony_ci	end
5106e5c31af7Sopenharmony_ci	case sub_vec4_uvec4_uvec4
5107e5c31af7Sopenharmony_ci		expect compile_fail
5108e5c31af7Sopenharmony_ci		version 300 es
5109e5c31af7Sopenharmony_ci
5110e5c31af7Sopenharmony_ci		both ""
5111e5c31af7Sopenharmony_ci			#version 300 es
5112e5c31af7Sopenharmony_ci			precision mediump float;
5113e5c31af7Sopenharmony_ci			precision mediump int;
5114e5c31af7Sopenharmony_ci
5115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5116e5c31af7Sopenharmony_ci
5117e5c31af7Sopenharmony_ci			void main()
5118e5c31af7Sopenharmony_ci			{
5119e5c31af7Sopenharmony_ci				uvec4 c;
5120e5c31af7Sopenharmony_ci				vec4 a;
5121e5c31af7Sopenharmony_ci				uvec4 b;
5122e5c31af7Sopenharmony_ci				uvec4 c = a - b;
5123e5c31af7Sopenharmony_ci			}
5124e5c31af7Sopenharmony_ci		""
5125e5c31af7Sopenharmony_ci	end
5126e5c31af7Sopenharmony_ci	case sub_int_uint_int
5127e5c31af7Sopenharmony_ci		expect compile_fail
5128e5c31af7Sopenharmony_ci		version 300 es
5129e5c31af7Sopenharmony_ci
5130e5c31af7Sopenharmony_ci		both ""
5131e5c31af7Sopenharmony_ci			#version 300 es
5132e5c31af7Sopenharmony_ci			precision mediump float;
5133e5c31af7Sopenharmony_ci			precision mediump int;
5134e5c31af7Sopenharmony_ci
5135e5c31af7Sopenharmony_ci			${DECLARATIONS}
5136e5c31af7Sopenharmony_ci
5137e5c31af7Sopenharmony_ci			void main()
5138e5c31af7Sopenharmony_ci			{
5139e5c31af7Sopenharmony_ci				int c;
5140e5c31af7Sopenharmony_ci				int a;
5141e5c31af7Sopenharmony_ci				uint b;
5142e5c31af7Sopenharmony_ci				int c = a - b;
5143e5c31af7Sopenharmony_ci			}
5144e5c31af7Sopenharmony_ci		""
5145e5c31af7Sopenharmony_ci	end
5146e5c31af7Sopenharmony_ci	case sub_int_uint_uint
5147e5c31af7Sopenharmony_ci		expect compile_fail
5148e5c31af7Sopenharmony_ci		version 300 es
5149e5c31af7Sopenharmony_ci
5150e5c31af7Sopenharmony_ci		both ""
5151e5c31af7Sopenharmony_ci			#version 300 es
5152e5c31af7Sopenharmony_ci			precision mediump float;
5153e5c31af7Sopenharmony_ci			precision mediump int;
5154e5c31af7Sopenharmony_ci
5155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5156e5c31af7Sopenharmony_ci
5157e5c31af7Sopenharmony_ci			void main()
5158e5c31af7Sopenharmony_ci			{
5159e5c31af7Sopenharmony_ci				uint c;
5160e5c31af7Sopenharmony_ci				int a;
5161e5c31af7Sopenharmony_ci				uint b;
5162e5c31af7Sopenharmony_ci				uint c = a - b;
5163e5c31af7Sopenharmony_ci			}
5164e5c31af7Sopenharmony_ci		""
5165e5c31af7Sopenharmony_ci	end
5166e5c31af7Sopenharmony_ci	case sub_int_uvec2_int
5167e5c31af7Sopenharmony_ci		expect compile_fail
5168e5c31af7Sopenharmony_ci		version 300 es
5169e5c31af7Sopenharmony_ci
5170e5c31af7Sopenharmony_ci		both ""
5171e5c31af7Sopenharmony_ci			#version 300 es
5172e5c31af7Sopenharmony_ci			precision mediump float;
5173e5c31af7Sopenharmony_ci			precision mediump int;
5174e5c31af7Sopenharmony_ci
5175e5c31af7Sopenharmony_ci			${DECLARATIONS}
5176e5c31af7Sopenharmony_ci
5177e5c31af7Sopenharmony_ci			void main()
5178e5c31af7Sopenharmony_ci			{
5179e5c31af7Sopenharmony_ci				int c;
5180e5c31af7Sopenharmony_ci				int a;
5181e5c31af7Sopenharmony_ci				uvec2 b;
5182e5c31af7Sopenharmony_ci				int c = a - b;
5183e5c31af7Sopenharmony_ci			}
5184e5c31af7Sopenharmony_ci		""
5185e5c31af7Sopenharmony_ci	end
5186e5c31af7Sopenharmony_ci	case sub_int_uvec2_uvec2
5187e5c31af7Sopenharmony_ci		expect compile_fail
5188e5c31af7Sopenharmony_ci		version 300 es
5189e5c31af7Sopenharmony_ci
5190e5c31af7Sopenharmony_ci		both ""
5191e5c31af7Sopenharmony_ci			#version 300 es
5192e5c31af7Sopenharmony_ci			precision mediump float;
5193e5c31af7Sopenharmony_ci			precision mediump int;
5194e5c31af7Sopenharmony_ci
5195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5196e5c31af7Sopenharmony_ci
5197e5c31af7Sopenharmony_ci			void main()
5198e5c31af7Sopenharmony_ci			{
5199e5c31af7Sopenharmony_ci				uvec2 c;
5200e5c31af7Sopenharmony_ci				int a;
5201e5c31af7Sopenharmony_ci				uvec2 b;
5202e5c31af7Sopenharmony_ci				uvec2 c = a - b;
5203e5c31af7Sopenharmony_ci			}
5204e5c31af7Sopenharmony_ci		""
5205e5c31af7Sopenharmony_ci	end
5206e5c31af7Sopenharmony_ci	case sub_int_uvec3_int
5207e5c31af7Sopenharmony_ci		expect compile_fail
5208e5c31af7Sopenharmony_ci		version 300 es
5209e5c31af7Sopenharmony_ci
5210e5c31af7Sopenharmony_ci		both ""
5211e5c31af7Sopenharmony_ci			#version 300 es
5212e5c31af7Sopenharmony_ci			precision mediump float;
5213e5c31af7Sopenharmony_ci			precision mediump int;
5214e5c31af7Sopenharmony_ci
5215e5c31af7Sopenharmony_ci			${DECLARATIONS}
5216e5c31af7Sopenharmony_ci
5217e5c31af7Sopenharmony_ci			void main()
5218e5c31af7Sopenharmony_ci			{
5219e5c31af7Sopenharmony_ci				int c;
5220e5c31af7Sopenharmony_ci				int a;
5221e5c31af7Sopenharmony_ci				uvec3 b;
5222e5c31af7Sopenharmony_ci				int c = a - b;
5223e5c31af7Sopenharmony_ci			}
5224e5c31af7Sopenharmony_ci		""
5225e5c31af7Sopenharmony_ci	end
5226e5c31af7Sopenharmony_ci	case sub_int_uvec3_uvec3
5227e5c31af7Sopenharmony_ci		expect compile_fail
5228e5c31af7Sopenharmony_ci		version 300 es
5229e5c31af7Sopenharmony_ci
5230e5c31af7Sopenharmony_ci		both ""
5231e5c31af7Sopenharmony_ci			#version 300 es
5232e5c31af7Sopenharmony_ci			precision mediump float;
5233e5c31af7Sopenharmony_ci			precision mediump int;
5234e5c31af7Sopenharmony_ci
5235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5236e5c31af7Sopenharmony_ci
5237e5c31af7Sopenharmony_ci			void main()
5238e5c31af7Sopenharmony_ci			{
5239e5c31af7Sopenharmony_ci				uvec3 c;
5240e5c31af7Sopenharmony_ci				int a;
5241e5c31af7Sopenharmony_ci				uvec3 b;
5242e5c31af7Sopenharmony_ci				uvec3 c = a - b;
5243e5c31af7Sopenharmony_ci			}
5244e5c31af7Sopenharmony_ci		""
5245e5c31af7Sopenharmony_ci	end
5246e5c31af7Sopenharmony_ci	case sub_int_uvec4_int
5247e5c31af7Sopenharmony_ci		expect compile_fail
5248e5c31af7Sopenharmony_ci		version 300 es
5249e5c31af7Sopenharmony_ci
5250e5c31af7Sopenharmony_ci		both ""
5251e5c31af7Sopenharmony_ci			#version 300 es
5252e5c31af7Sopenharmony_ci			precision mediump float;
5253e5c31af7Sopenharmony_ci			precision mediump int;
5254e5c31af7Sopenharmony_ci
5255e5c31af7Sopenharmony_ci			${DECLARATIONS}
5256e5c31af7Sopenharmony_ci
5257e5c31af7Sopenharmony_ci			void main()
5258e5c31af7Sopenharmony_ci			{
5259e5c31af7Sopenharmony_ci				int c;
5260e5c31af7Sopenharmony_ci				int a;
5261e5c31af7Sopenharmony_ci				uvec4 b;
5262e5c31af7Sopenharmony_ci				int c = a - b;
5263e5c31af7Sopenharmony_ci			}
5264e5c31af7Sopenharmony_ci		""
5265e5c31af7Sopenharmony_ci	end
5266e5c31af7Sopenharmony_ci	case sub_int_uvec4_uvec4
5267e5c31af7Sopenharmony_ci		expect compile_fail
5268e5c31af7Sopenharmony_ci		version 300 es
5269e5c31af7Sopenharmony_ci
5270e5c31af7Sopenharmony_ci		both ""
5271e5c31af7Sopenharmony_ci			#version 300 es
5272e5c31af7Sopenharmony_ci			precision mediump float;
5273e5c31af7Sopenharmony_ci			precision mediump int;
5274e5c31af7Sopenharmony_ci
5275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5276e5c31af7Sopenharmony_ci
5277e5c31af7Sopenharmony_ci			void main()
5278e5c31af7Sopenharmony_ci			{
5279e5c31af7Sopenharmony_ci				uvec4 c;
5280e5c31af7Sopenharmony_ci				int a;
5281e5c31af7Sopenharmony_ci				uvec4 b;
5282e5c31af7Sopenharmony_ci				uvec4 c = a - b;
5283e5c31af7Sopenharmony_ci			}
5284e5c31af7Sopenharmony_ci		""
5285e5c31af7Sopenharmony_ci	end
5286e5c31af7Sopenharmony_ci	case sub_ivec2_uint_ivec2
5287e5c31af7Sopenharmony_ci		expect compile_fail
5288e5c31af7Sopenharmony_ci		version 300 es
5289e5c31af7Sopenharmony_ci
5290e5c31af7Sopenharmony_ci		both ""
5291e5c31af7Sopenharmony_ci			#version 300 es
5292e5c31af7Sopenharmony_ci			precision mediump float;
5293e5c31af7Sopenharmony_ci			precision mediump int;
5294e5c31af7Sopenharmony_ci
5295e5c31af7Sopenharmony_ci			${DECLARATIONS}
5296e5c31af7Sopenharmony_ci
5297e5c31af7Sopenharmony_ci			void main()
5298e5c31af7Sopenharmony_ci			{
5299e5c31af7Sopenharmony_ci				ivec2 c;
5300e5c31af7Sopenharmony_ci				ivec2 a;
5301e5c31af7Sopenharmony_ci				uint b;
5302e5c31af7Sopenharmony_ci				ivec2 c = a - b;
5303e5c31af7Sopenharmony_ci			}
5304e5c31af7Sopenharmony_ci		""
5305e5c31af7Sopenharmony_ci	end
5306e5c31af7Sopenharmony_ci	case sub_ivec2_uint_uint
5307e5c31af7Sopenharmony_ci		expect compile_fail
5308e5c31af7Sopenharmony_ci		version 300 es
5309e5c31af7Sopenharmony_ci
5310e5c31af7Sopenharmony_ci		both ""
5311e5c31af7Sopenharmony_ci			#version 300 es
5312e5c31af7Sopenharmony_ci			precision mediump float;
5313e5c31af7Sopenharmony_ci			precision mediump int;
5314e5c31af7Sopenharmony_ci
5315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5316e5c31af7Sopenharmony_ci
5317e5c31af7Sopenharmony_ci			void main()
5318e5c31af7Sopenharmony_ci			{
5319e5c31af7Sopenharmony_ci				uint c;
5320e5c31af7Sopenharmony_ci				ivec2 a;
5321e5c31af7Sopenharmony_ci				uint b;
5322e5c31af7Sopenharmony_ci				uint c = a - b;
5323e5c31af7Sopenharmony_ci			}
5324e5c31af7Sopenharmony_ci		""
5325e5c31af7Sopenharmony_ci	end
5326e5c31af7Sopenharmony_ci	case sub_ivec2_uvec2_ivec2
5327e5c31af7Sopenharmony_ci		expect compile_fail
5328e5c31af7Sopenharmony_ci		version 300 es
5329e5c31af7Sopenharmony_ci
5330e5c31af7Sopenharmony_ci		both ""
5331e5c31af7Sopenharmony_ci			#version 300 es
5332e5c31af7Sopenharmony_ci			precision mediump float;
5333e5c31af7Sopenharmony_ci			precision mediump int;
5334e5c31af7Sopenharmony_ci
5335e5c31af7Sopenharmony_ci			${DECLARATIONS}
5336e5c31af7Sopenharmony_ci
5337e5c31af7Sopenharmony_ci			void main()
5338e5c31af7Sopenharmony_ci			{
5339e5c31af7Sopenharmony_ci				ivec2 c;
5340e5c31af7Sopenharmony_ci				ivec2 a;
5341e5c31af7Sopenharmony_ci				uvec2 b;
5342e5c31af7Sopenharmony_ci				ivec2 c = a - b;
5343e5c31af7Sopenharmony_ci			}
5344e5c31af7Sopenharmony_ci		""
5345e5c31af7Sopenharmony_ci	end
5346e5c31af7Sopenharmony_ci	case sub_ivec2_uvec2_uvec2
5347e5c31af7Sopenharmony_ci		expect compile_fail
5348e5c31af7Sopenharmony_ci		version 300 es
5349e5c31af7Sopenharmony_ci
5350e5c31af7Sopenharmony_ci		both ""
5351e5c31af7Sopenharmony_ci			#version 300 es
5352e5c31af7Sopenharmony_ci			precision mediump float;
5353e5c31af7Sopenharmony_ci			precision mediump int;
5354e5c31af7Sopenharmony_ci
5355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5356e5c31af7Sopenharmony_ci
5357e5c31af7Sopenharmony_ci			void main()
5358e5c31af7Sopenharmony_ci			{
5359e5c31af7Sopenharmony_ci				uvec2 c;
5360e5c31af7Sopenharmony_ci				ivec2 a;
5361e5c31af7Sopenharmony_ci				uvec2 b;
5362e5c31af7Sopenharmony_ci				uvec2 c = a - b;
5363e5c31af7Sopenharmony_ci			}
5364e5c31af7Sopenharmony_ci		""
5365e5c31af7Sopenharmony_ci	end
5366e5c31af7Sopenharmony_ci	case sub_ivec2_uvec3_ivec2
5367e5c31af7Sopenharmony_ci		expect compile_fail
5368e5c31af7Sopenharmony_ci		version 300 es
5369e5c31af7Sopenharmony_ci
5370e5c31af7Sopenharmony_ci		both ""
5371e5c31af7Sopenharmony_ci			#version 300 es
5372e5c31af7Sopenharmony_ci			precision mediump float;
5373e5c31af7Sopenharmony_ci			precision mediump int;
5374e5c31af7Sopenharmony_ci
5375e5c31af7Sopenharmony_ci			${DECLARATIONS}
5376e5c31af7Sopenharmony_ci
5377e5c31af7Sopenharmony_ci			void main()
5378e5c31af7Sopenharmony_ci			{
5379e5c31af7Sopenharmony_ci				ivec2 c;
5380e5c31af7Sopenharmony_ci				ivec2 a;
5381e5c31af7Sopenharmony_ci				uvec3 b;
5382e5c31af7Sopenharmony_ci				ivec2 c = a - b;
5383e5c31af7Sopenharmony_ci			}
5384e5c31af7Sopenharmony_ci		""
5385e5c31af7Sopenharmony_ci	end
5386e5c31af7Sopenharmony_ci	case sub_ivec2_uvec3_uvec3
5387e5c31af7Sopenharmony_ci		expect compile_fail
5388e5c31af7Sopenharmony_ci		version 300 es
5389e5c31af7Sopenharmony_ci
5390e5c31af7Sopenharmony_ci		both ""
5391e5c31af7Sopenharmony_ci			#version 300 es
5392e5c31af7Sopenharmony_ci			precision mediump float;
5393e5c31af7Sopenharmony_ci			precision mediump int;
5394e5c31af7Sopenharmony_ci
5395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5396e5c31af7Sopenharmony_ci
5397e5c31af7Sopenharmony_ci			void main()
5398e5c31af7Sopenharmony_ci			{
5399e5c31af7Sopenharmony_ci				uvec3 c;
5400e5c31af7Sopenharmony_ci				ivec2 a;
5401e5c31af7Sopenharmony_ci				uvec3 b;
5402e5c31af7Sopenharmony_ci				uvec3 c = a - b;
5403e5c31af7Sopenharmony_ci			}
5404e5c31af7Sopenharmony_ci		""
5405e5c31af7Sopenharmony_ci	end
5406e5c31af7Sopenharmony_ci	case sub_ivec2_uvec4_ivec2
5407e5c31af7Sopenharmony_ci		expect compile_fail
5408e5c31af7Sopenharmony_ci		version 300 es
5409e5c31af7Sopenharmony_ci
5410e5c31af7Sopenharmony_ci		both ""
5411e5c31af7Sopenharmony_ci			#version 300 es
5412e5c31af7Sopenharmony_ci			precision mediump float;
5413e5c31af7Sopenharmony_ci			precision mediump int;
5414e5c31af7Sopenharmony_ci
5415e5c31af7Sopenharmony_ci			${DECLARATIONS}
5416e5c31af7Sopenharmony_ci
5417e5c31af7Sopenharmony_ci			void main()
5418e5c31af7Sopenharmony_ci			{
5419e5c31af7Sopenharmony_ci				ivec2 c;
5420e5c31af7Sopenharmony_ci				ivec2 a;
5421e5c31af7Sopenharmony_ci				uvec4 b;
5422e5c31af7Sopenharmony_ci				ivec2 c = a - b;
5423e5c31af7Sopenharmony_ci			}
5424e5c31af7Sopenharmony_ci		""
5425e5c31af7Sopenharmony_ci	end
5426e5c31af7Sopenharmony_ci	case sub_ivec2_uvec4_uvec4
5427e5c31af7Sopenharmony_ci		expect compile_fail
5428e5c31af7Sopenharmony_ci		version 300 es
5429e5c31af7Sopenharmony_ci
5430e5c31af7Sopenharmony_ci		both ""
5431e5c31af7Sopenharmony_ci			#version 300 es
5432e5c31af7Sopenharmony_ci			precision mediump float;
5433e5c31af7Sopenharmony_ci			precision mediump int;
5434e5c31af7Sopenharmony_ci
5435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5436e5c31af7Sopenharmony_ci
5437e5c31af7Sopenharmony_ci			void main()
5438e5c31af7Sopenharmony_ci			{
5439e5c31af7Sopenharmony_ci				uvec4 c;
5440e5c31af7Sopenharmony_ci				ivec2 a;
5441e5c31af7Sopenharmony_ci				uvec4 b;
5442e5c31af7Sopenharmony_ci				uvec4 c = a - b;
5443e5c31af7Sopenharmony_ci			}
5444e5c31af7Sopenharmony_ci		""
5445e5c31af7Sopenharmony_ci	end
5446e5c31af7Sopenharmony_ci	case sub_ivec3_uint_ivec3
5447e5c31af7Sopenharmony_ci		expect compile_fail
5448e5c31af7Sopenharmony_ci		version 300 es
5449e5c31af7Sopenharmony_ci
5450e5c31af7Sopenharmony_ci		both ""
5451e5c31af7Sopenharmony_ci			#version 300 es
5452e5c31af7Sopenharmony_ci			precision mediump float;
5453e5c31af7Sopenharmony_ci			precision mediump int;
5454e5c31af7Sopenharmony_ci
5455e5c31af7Sopenharmony_ci			${DECLARATIONS}
5456e5c31af7Sopenharmony_ci
5457e5c31af7Sopenharmony_ci			void main()
5458e5c31af7Sopenharmony_ci			{
5459e5c31af7Sopenharmony_ci				ivec3 c;
5460e5c31af7Sopenharmony_ci				ivec3 a;
5461e5c31af7Sopenharmony_ci				uint b;
5462e5c31af7Sopenharmony_ci				ivec3 c = a - b;
5463e5c31af7Sopenharmony_ci			}
5464e5c31af7Sopenharmony_ci		""
5465e5c31af7Sopenharmony_ci	end
5466e5c31af7Sopenharmony_ci	case sub_ivec3_uint_uint
5467e5c31af7Sopenharmony_ci		expect compile_fail
5468e5c31af7Sopenharmony_ci		version 300 es
5469e5c31af7Sopenharmony_ci
5470e5c31af7Sopenharmony_ci		both ""
5471e5c31af7Sopenharmony_ci			#version 300 es
5472e5c31af7Sopenharmony_ci			precision mediump float;
5473e5c31af7Sopenharmony_ci			precision mediump int;
5474e5c31af7Sopenharmony_ci
5475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5476e5c31af7Sopenharmony_ci
5477e5c31af7Sopenharmony_ci			void main()
5478e5c31af7Sopenharmony_ci			{
5479e5c31af7Sopenharmony_ci				uint c;
5480e5c31af7Sopenharmony_ci				ivec3 a;
5481e5c31af7Sopenharmony_ci				uint b;
5482e5c31af7Sopenharmony_ci				uint c = a - b;
5483e5c31af7Sopenharmony_ci			}
5484e5c31af7Sopenharmony_ci		""
5485e5c31af7Sopenharmony_ci	end
5486e5c31af7Sopenharmony_ci	case sub_ivec3_uvec2_ivec3
5487e5c31af7Sopenharmony_ci		expect compile_fail
5488e5c31af7Sopenharmony_ci		version 300 es
5489e5c31af7Sopenharmony_ci
5490e5c31af7Sopenharmony_ci		both ""
5491e5c31af7Sopenharmony_ci			#version 300 es
5492e5c31af7Sopenharmony_ci			precision mediump float;
5493e5c31af7Sopenharmony_ci			precision mediump int;
5494e5c31af7Sopenharmony_ci
5495e5c31af7Sopenharmony_ci			${DECLARATIONS}
5496e5c31af7Sopenharmony_ci
5497e5c31af7Sopenharmony_ci			void main()
5498e5c31af7Sopenharmony_ci			{
5499e5c31af7Sopenharmony_ci				ivec3 c;
5500e5c31af7Sopenharmony_ci				ivec3 a;
5501e5c31af7Sopenharmony_ci				uvec2 b;
5502e5c31af7Sopenharmony_ci				ivec3 c = a - b;
5503e5c31af7Sopenharmony_ci			}
5504e5c31af7Sopenharmony_ci		""
5505e5c31af7Sopenharmony_ci	end
5506e5c31af7Sopenharmony_ci	case sub_ivec3_uvec2_uvec2
5507e5c31af7Sopenharmony_ci		expect compile_fail
5508e5c31af7Sopenharmony_ci		version 300 es
5509e5c31af7Sopenharmony_ci
5510e5c31af7Sopenharmony_ci		both ""
5511e5c31af7Sopenharmony_ci			#version 300 es
5512e5c31af7Sopenharmony_ci			precision mediump float;
5513e5c31af7Sopenharmony_ci			precision mediump int;
5514e5c31af7Sopenharmony_ci
5515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5516e5c31af7Sopenharmony_ci
5517e5c31af7Sopenharmony_ci			void main()
5518e5c31af7Sopenharmony_ci			{
5519e5c31af7Sopenharmony_ci				uvec2 c;
5520e5c31af7Sopenharmony_ci				ivec3 a;
5521e5c31af7Sopenharmony_ci				uvec2 b;
5522e5c31af7Sopenharmony_ci				uvec2 c = a - b;
5523e5c31af7Sopenharmony_ci			}
5524e5c31af7Sopenharmony_ci		""
5525e5c31af7Sopenharmony_ci	end
5526e5c31af7Sopenharmony_ci	case sub_ivec3_uvec3_ivec3
5527e5c31af7Sopenharmony_ci		expect compile_fail
5528e5c31af7Sopenharmony_ci		version 300 es
5529e5c31af7Sopenharmony_ci
5530e5c31af7Sopenharmony_ci		both ""
5531e5c31af7Sopenharmony_ci			#version 300 es
5532e5c31af7Sopenharmony_ci			precision mediump float;
5533e5c31af7Sopenharmony_ci			precision mediump int;
5534e5c31af7Sopenharmony_ci
5535e5c31af7Sopenharmony_ci			${DECLARATIONS}
5536e5c31af7Sopenharmony_ci
5537e5c31af7Sopenharmony_ci			void main()
5538e5c31af7Sopenharmony_ci			{
5539e5c31af7Sopenharmony_ci				ivec3 c;
5540e5c31af7Sopenharmony_ci				ivec3 a;
5541e5c31af7Sopenharmony_ci				uvec3 b;
5542e5c31af7Sopenharmony_ci				ivec3 c = a - b;
5543e5c31af7Sopenharmony_ci			}
5544e5c31af7Sopenharmony_ci		""
5545e5c31af7Sopenharmony_ci	end
5546e5c31af7Sopenharmony_ci	case sub_ivec3_uvec3_uvec3
5547e5c31af7Sopenharmony_ci		expect compile_fail
5548e5c31af7Sopenharmony_ci		version 300 es
5549e5c31af7Sopenharmony_ci
5550e5c31af7Sopenharmony_ci		both ""
5551e5c31af7Sopenharmony_ci			#version 300 es
5552e5c31af7Sopenharmony_ci			precision mediump float;
5553e5c31af7Sopenharmony_ci			precision mediump int;
5554e5c31af7Sopenharmony_ci
5555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5556e5c31af7Sopenharmony_ci
5557e5c31af7Sopenharmony_ci			void main()
5558e5c31af7Sopenharmony_ci			{
5559e5c31af7Sopenharmony_ci				uvec3 c;
5560e5c31af7Sopenharmony_ci				ivec3 a;
5561e5c31af7Sopenharmony_ci				uvec3 b;
5562e5c31af7Sopenharmony_ci				uvec3 c = a - b;
5563e5c31af7Sopenharmony_ci			}
5564e5c31af7Sopenharmony_ci		""
5565e5c31af7Sopenharmony_ci	end
5566e5c31af7Sopenharmony_ci	case sub_ivec3_uvec4_ivec3
5567e5c31af7Sopenharmony_ci		expect compile_fail
5568e5c31af7Sopenharmony_ci		version 300 es
5569e5c31af7Sopenharmony_ci
5570e5c31af7Sopenharmony_ci		both ""
5571e5c31af7Sopenharmony_ci			#version 300 es
5572e5c31af7Sopenharmony_ci			precision mediump float;
5573e5c31af7Sopenharmony_ci			precision mediump int;
5574e5c31af7Sopenharmony_ci
5575e5c31af7Sopenharmony_ci			${DECLARATIONS}
5576e5c31af7Sopenharmony_ci
5577e5c31af7Sopenharmony_ci			void main()
5578e5c31af7Sopenharmony_ci			{
5579e5c31af7Sopenharmony_ci				ivec3 c;
5580e5c31af7Sopenharmony_ci				ivec3 a;
5581e5c31af7Sopenharmony_ci				uvec4 b;
5582e5c31af7Sopenharmony_ci				ivec3 c = a - b;
5583e5c31af7Sopenharmony_ci			}
5584e5c31af7Sopenharmony_ci		""
5585e5c31af7Sopenharmony_ci	end
5586e5c31af7Sopenharmony_ci	case sub_ivec3_uvec4_uvec4
5587e5c31af7Sopenharmony_ci		expect compile_fail
5588e5c31af7Sopenharmony_ci		version 300 es
5589e5c31af7Sopenharmony_ci
5590e5c31af7Sopenharmony_ci		both ""
5591e5c31af7Sopenharmony_ci			#version 300 es
5592e5c31af7Sopenharmony_ci			precision mediump float;
5593e5c31af7Sopenharmony_ci			precision mediump int;
5594e5c31af7Sopenharmony_ci
5595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5596e5c31af7Sopenharmony_ci
5597e5c31af7Sopenharmony_ci			void main()
5598e5c31af7Sopenharmony_ci			{
5599e5c31af7Sopenharmony_ci				uvec4 c;
5600e5c31af7Sopenharmony_ci				ivec3 a;
5601e5c31af7Sopenharmony_ci				uvec4 b;
5602e5c31af7Sopenharmony_ci				uvec4 c = a - b;
5603e5c31af7Sopenharmony_ci			}
5604e5c31af7Sopenharmony_ci		""
5605e5c31af7Sopenharmony_ci	end
5606e5c31af7Sopenharmony_ci	case sub_ivec4_uint_ivec4
5607e5c31af7Sopenharmony_ci		expect compile_fail
5608e5c31af7Sopenharmony_ci		version 300 es
5609e5c31af7Sopenharmony_ci
5610e5c31af7Sopenharmony_ci		both ""
5611e5c31af7Sopenharmony_ci			#version 300 es
5612e5c31af7Sopenharmony_ci			precision mediump float;
5613e5c31af7Sopenharmony_ci			precision mediump int;
5614e5c31af7Sopenharmony_ci
5615e5c31af7Sopenharmony_ci			${DECLARATIONS}
5616e5c31af7Sopenharmony_ci
5617e5c31af7Sopenharmony_ci			void main()
5618e5c31af7Sopenharmony_ci			{
5619e5c31af7Sopenharmony_ci				ivec4 c;
5620e5c31af7Sopenharmony_ci				ivec4 a;
5621e5c31af7Sopenharmony_ci				uint b;
5622e5c31af7Sopenharmony_ci				ivec4 c = a - b;
5623e5c31af7Sopenharmony_ci			}
5624e5c31af7Sopenharmony_ci		""
5625e5c31af7Sopenharmony_ci	end
5626e5c31af7Sopenharmony_ci	case sub_ivec4_uint_uint
5627e5c31af7Sopenharmony_ci		expect compile_fail
5628e5c31af7Sopenharmony_ci		version 300 es
5629e5c31af7Sopenharmony_ci
5630e5c31af7Sopenharmony_ci		both ""
5631e5c31af7Sopenharmony_ci			#version 300 es
5632e5c31af7Sopenharmony_ci			precision mediump float;
5633e5c31af7Sopenharmony_ci			precision mediump int;
5634e5c31af7Sopenharmony_ci
5635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5636e5c31af7Sopenharmony_ci
5637e5c31af7Sopenharmony_ci			void main()
5638e5c31af7Sopenharmony_ci			{
5639e5c31af7Sopenharmony_ci				uint c;
5640e5c31af7Sopenharmony_ci				ivec4 a;
5641e5c31af7Sopenharmony_ci				uint b;
5642e5c31af7Sopenharmony_ci				uint c = a - b;
5643e5c31af7Sopenharmony_ci			}
5644e5c31af7Sopenharmony_ci		""
5645e5c31af7Sopenharmony_ci	end
5646e5c31af7Sopenharmony_ci	case sub_ivec4_uvec2_ivec4
5647e5c31af7Sopenharmony_ci		expect compile_fail
5648e5c31af7Sopenharmony_ci		version 300 es
5649e5c31af7Sopenharmony_ci
5650e5c31af7Sopenharmony_ci		both ""
5651e5c31af7Sopenharmony_ci			#version 300 es
5652e5c31af7Sopenharmony_ci			precision mediump float;
5653e5c31af7Sopenharmony_ci			precision mediump int;
5654e5c31af7Sopenharmony_ci
5655e5c31af7Sopenharmony_ci			${DECLARATIONS}
5656e5c31af7Sopenharmony_ci
5657e5c31af7Sopenharmony_ci			void main()
5658e5c31af7Sopenharmony_ci			{
5659e5c31af7Sopenharmony_ci				ivec4 c;
5660e5c31af7Sopenharmony_ci				ivec4 a;
5661e5c31af7Sopenharmony_ci				uvec2 b;
5662e5c31af7Sopenharmony_ci				ivec4 c = a - b;
5663e5c31af7Sopenharmony_ci			}
5664e5c31af7Sopenharmony_ci		""
5665e5c31af7Sopenharmony_ci	end
5666e5c31af7Sopenharmony_ci	case sub_ivec4_uvec2_uvec2
5667e5c31af7Sopenharmony_ci		expect compile_fail
5668e5c31af7Sopenharmony_ci		version 300 es
5669e5c31af7Sopenharmony_ci
5670e5c31af7Sopenharmony_ci		both ""
5671e5c31af7Sopenharmony_ci			#version 300 es
5672e5c31af7Sopenharmony_ci			precision mediump float;
5673e5c31af7Sopenharmony_ci			precision mediump int;
5674e5c31af7Sopenharmony_ci
5675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5676e5c31af7Sopenharmony_ci
5677e5c31af7Sopenharmony_ci			void main()
5678e5c31af7Sopenharmony_ci			{
5679e5c31af7Sopenharmony_ci				uvec2 c;
5680e5c31af7Sopenharmony_ci				ivec4 a;
5681e5c31af7Sopenharmony_ci				uvec2 b;
5682e5c31af7Sopenharmony_ci				uvec2 c = a - b;
5683e5c31af7Sopenharmony_ci			}
5684e5c31af7Sopenharmony_ci		""
5685e5c31af7Sopenharmony_ci	end
5686e5c31af7Sopenharmony_ci	case sub_ivec4_uvec3_ivec4
5687e5c31af7Sopenharmony_ci		expect compile_fail
5688e5c31af7Sopenharmony_ci		version 300 es
5689e5c31af7Sopenharmony_ci
5690e5c31af7Sopenharmony_ci		both ""
5691e5c31af7Sopenharmony_ci			#version 300 es
5692e5c31af7Sopenharmony_ci			precision mediump float;
5693e5c31af7Sopenharmony_ci			precision mediump int;
5694e5c31af7Sopenharmony_ci
5695e5c31af7Sopenharmony_ci			${DECLARATIONS}
5696e5c31af7Sopenharmony_ci
5697e5c31af7Sopenharmony_ci			void main()
5698e5c31af7Sopenharmony_ci			{
5699e5c31af7Sopenharmony_ci				ivec4 c;
5700e5c31af7Sopenharmony_ci				ivec4 a;
5701e5c31af7Sopenharmony_ci				uvec3 b;
5702e5c31af7Sopenharmony_ci				ivec4 c = a - b;
5703e5c31af7Sopenharmony_ci			}
5704e5c31af7Sopenharmony_ci		""
5705e5c31af7Sopenharmony_ci	end
5706e5c31af7Sopenharmony_ci	case sub_ivec4_uvec3_uvec3
5707e5c31af7Sopenharmony_ci		expect compile_fail
5708e5c31af7Sopenharmony_ci		version 300 es
5709e5c31af7Sopenharmony_ci
5710e5c31af7Sopenharmony_ci		both ""
5711e5c31af7Sopenharmony_ci			#version 300 es
5712e5c31af7Sopenharmony_ci			precision mediump float;
5713e5c31af7Sopenharmony_ci			precision mediump int;
5714e5c31af7Sopenharmony_ci
5715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5716e5c31af7Sopenharmony_ci
5717e5c31af7Sopenharmony_ci			void main()
5718e5c31af7Sopenharmony_ci			{
5719e5c31af7Sopenharmony_ci				uvec3 c;
5720e5c31af7Sopenharmony_ci				ivec4 a;
5721e5c31af7Sopenharmony_ci				uvec3 b;
5722e5c31af7Sopenharmony_ci				uvec3 c = a - b;
5723e5c31af7Sopenharmony_ci			}
5724e5c31af7Sopenharmony_ci		""
5725e5c31af7Sopenharmony_ci	end
5726e5c31af7Sopenharmony_ci	case sub_ivec4_uvec4_ivec4
5727e5c31af7Sopenharmony_ci		expect compile_fail
5728e5c31af7Sopenharmony_ci		version 300 es
5729e5c31af7Sopenharmony_ci
5730e5c31af7Sopenharmony_ci		both ""
5731e5c31af7Sopenharmony_ci			#version 300 es
5732e5c31af7Sopenharmony_ci			precision mediump float;
5733e5c31af7Sopenharmony_ci			precision mediump int;
5734e5c31af7Sopenharmony_ci
5735e5c31af7Sopenharmony_ci			${DECLARATIONS}
5736e5c31af7Sopenharmony_ci
5737e5c31af7Sopenharmony_ci			void main()
5738e5c31af7Sopenharmony_ci			{
5739e5c31af7Sopenharmony_ci				ivec4 c;
5740e5c31af7Sopenharmony_ci				ivec4 a;
5741e5c31af7Sopenharmony_ci				uvec4 b;
5742e5c31af7Sopenharmony_ci				ivec4 c = a - b;
5743e5c31af7Sopenharmony_ci			}
5744e5c31af7Sopenharmony_ci		""
5745e5c31af7Sopenharmony_ci	end
5746e5c31af7Sopenharmony_ci	case sub_ivec4_uvec4_uvec4
5747e5c31af7Sopenharmony_ci		expect compile_fail
5748e5c31af7Sopenharmony_ci		version 300 es
5749e5c31af7Sopenharmony_ci
5750e5c31af7Sopenharmony_ci		both ""
5751e5c31af7Sopenharmony_ci			#version 300 es
5752e5c31af7Sopenharmony_ci			precision mediump float;
5753e5c31af7Sopenharmony_ci			precision mediump int;
5754e5c31af7Sopenharmony_ci
5755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5756e5c31af7Sopenharmony_ci
5757e5c31af7Sopenharmony_ci			void main()
5758e5c31af7Sopenharmony_ci			{
5759e5c31af7Sopenharmony_ci				uvec4 c;
5760e5c31af7Sopenharmony_ci				ivec4 a;
5761e5c31af7Sopenharmony_ci				uvec4 b;
5762e5c31af7Sopenharmony_ci				uvec4 c = a - b;
5763e5c31af7Sopenharmony_ci			}
5764e5c31af7Sopenharmony_ci		""
5765e5c31af7Sopenharmony_ci	end
5766e5c31af7Sopenharmony_ci	case div_float_int_float
5767e5c31af7Sopenharmony_ci		expect compile_fail
5768e5c31af7Sopenharmony_ci		version 300 es
5769e5c31af7Sopenharmony_ci
5770e5c31af7Sopenharmony_ci		both ""
5771e5c31af7Sopenharmony_ci			#version 300 es
5772e5c31af7Sopenharmony_ci			precision mediump float;
5773e5c31af7Sopenharmony_ci			precision mediump int;
5774e5c31af7Sopenharmony_ci
5775e5c31af7Sopenharmony_ci			${DECLARATIONS}
5776e5c31af7Sopenharmony_ci
5777e5c31af7Sopenharmony_ci			void main()
5778e5c31af7Sopenharmony_ci			{
5779e5c31af7Sopenharmony_ci				float c;
5780e5c31af7Sopenharmony_ci				float a;
5781e5c31af7Sopenharmony_ci				int b;
5782e5c31af7Sopenharmony_ci				float c = a / b;
5783e5c31af7Sopenharmony_ci			}
5784e5c31af7Sopenharmony_ci		""
5785e5c31af7Sopenharmony_ci	end
5786e5c31af7Sopenharmony_ci	case div_float_int_int
5787e5c31af7Sopenharmony_ci		expect compile_fail
5788e5c31af7Sopenharmony_ci		version 300 es
5789e5c31af7Sopenharmony_ci
5790e5c31af7Sopenharmony_ci		both ""
5791e5c31af7Sopenharmony_ci			#version 300 es
5792e5c31af7Sopenharmony_ci			precision mediump float;
5793e5c31af7Sopenharmony_ci			precision mediump int;
5794e5c31af7Sopenharmony_ci
5795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5796e5c31af7Sopenharmony_ci
5797e5c31af7Sopenharmony_ci			void main()
5798e5c31af7Sopenharmony_ci			{
5799e5c31af7Sopenharmony_ci				int c;
5800e5c31af7Sopenharmony_ci				float a;
5801e5c31af7Sopenharmony_ci				int b;
5802e5c31af7Sopenharmony_ci				int c = a / b;
5803e5c31af7Sopenharmony_ci			}
5804e5c31af7Sopenharmony_ci		""
5805e5c31af7Sopenharmony_ci	end
5806e5c31af7Sopenharmony_ci	case div_float_ivec2_float
5807e5c31af7Sopenharmony_ci		expect compile_fail
5808e5c31af7Sopenharmony_ci		version 300 es
5809e5c31af7Sopenharmony_ci
5810e5c31af7Sopenharmony_ci		both ""
5811e5c31af7Sopenharmony_ci			#version 300 es
5812e5c31af7Sopenharmony_ci			precision mediump float;
5813e5c31af7Sopenharmony_ci			precision mediump int;
5814e5c31af7Sopenharmony_ci
5815e5c31af7Sopenharmony_ci			${DECLARATIONS}
5816e5c31af7Sopenharmony_ci
5817e5c31af7Sopenharmony_ci			void main()
5818e5c31af7Sopenharmony_ci			{
5819e5c31af7Sopenharmony_ci				float c;
5820e5c31af7Sopenharmony_ci				float a;
5821e5c31af7Sopenharmony_ci				ivec2 b;
5822e5c31af7Sopenharmony_ci				float c = a / b;
5823e5c31af7Sopenharmony_ci			}
5824e5c31af7Sopenharmony_ci		""
5825e5c31af7Sopenharmony_ci	end
5826e5c31af7Sopenharmony_ci	case div_float_ivec2_ivec2
5827e5c31af7Sopenharmony_ci		expect compile_fail
5828e5c31af7Sopenharmony_ci		version 300 es
5829e5c31af7Sopenharmony_ci
5830e5c31af7Sopenharmony_ci		both ""
5831e5c31af7Sopenharmony_ci			#version 300 es
5832e5c31af7Sopenharmony_ci			precision mediump float;
5833e5c31af7Sopenharmony_ci			precision mediump int;
5834e5c31af7Sopenharmony_ci
5835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5836e5c31af7Sopenharmony_ci
5837e5c31af7Sopenharmony_ci			void main()
5838e5c31af7Sopenharmony_ci			{
5839e5c31af7Sopenharmony_ci				ivec2 c;
5840e5c31af7Sopenharmony_ci				float a;
5841e5c31af7Sopenharmony_ci				ivec2 b;
5842e5c31af7Sopenharmony_ci				ivec2 c = a / b;
5843e5c31af7Sopenharmony_ci			}
5844e5c31af7Sopenharmony_ci		""
5845e5c31af7Sopenharmony_ci	end
5846e5c31af7Sopenharmony_ci	case div_float_ivec3_float
5847e5c31af7Sopenharmony_ci		expect compile_fail
5848e5c31af7Sopenharmony_ci		version 300 es
5849e5c31af7Sopenharmony_ci
5850e5c31af7Sopenharmony_ci		both ""
5851e5c31af7Sopenharmony_ci			#version 300 es
5852e5c31af7Sopenharmony_ci			precision mediump float;
5853e5c31af7Sopenharmony_ci			precision mediump int;
5854e5c31af7Sopenharmony_ci
5855e5c31af7Sopenharmony_ci			${DECLARATIONS}
5856e5c31af7Sopenharmony_ci
5857e5c31af7Sopenharmony_ci			void main()
5858e5c31af7Sopenharmony_ci			{
5859e5c31af7Sopenharmony_ci				float c;
5860e5c31af7Sopenharmony_ci				float a;
5861e5c31af7Sopenharmony_ci				ivec3 b;
5862e5c31af7Sopenharmony_ci				float c = a / b;
5863e5c31af7Sopenharmony_ci			}
5864e5c31af7Sopenharmony_ci		""
5865e5c31af7Sopenharmony_ci	end
5866e5c31af7Sopenharmony_ci	case div_float_ivec3_ivec3
5867e5c31af7Sopenharmony_ci		expect compile_fail
5868e5c31af7Sopenharmony_ci		version 300 es
5869e5c31af7Sopenharmony_ci
5870e5c31af7Sopenharmony_ci		both ""
5871e5c31af7Sopenharmony_ci			#version 300 es
5872e5c31af7Sopenharmony_ci			precision mediump float;
5873e5c31af7Sopenharmony_ci			precision mediump int;
5874e5c31af7Sopenharmony_ci
5875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5876e5c31af7Sopenharmony_ci
5877e5c31af7Sopenharmony_ci			void main()
5878e5c31af7Sopenharmony_ci			{
5879e5c31af7Sopenharmony_ci				ivec3 c;
5880e5c31af7Sopenharmony_ci				float a;
5881e5c31af7Sopenharmony_ci				ivec3 b;
5882e5c31af7Sopenharmony_ci				ivec3 c = a / b;
5883e5c31af7Sopenharmony_ci			}
5884e5c31af7Sopenharmony_ci		""
5885e5c31af7Sopenharmony_ci	end
5886e5c31af7Sopenharmony_ci	case div_float_ivec4_float
5887e5c31af7Sopenharmony_ci		expect compile_fail
5888e5c31af7Sopenharmony_ci		version 300 es
5889e5c31af7Sopenharmony_ci
5890e5c31af7Sopenharmony_ci		both ""
5891e5c31af7Sopenharmony_ci			#version 300 es
5892e5c31af7Sopenharmony_ci			precision mediump float;
5893e5c31af7Sopenharmony_ci			precision mediump int;
5894e5c31af7Sopenharmony_ci
5895e5c31af7Sopenharmony_ci			${DECLARATIONS}
5896e5c31af7Sopenharmony_ci
5897e5c31af7Sopenharmony_ci			void main()
5898e5c31af7Sopenharmony_ci			{
5899e5c31af7Sopenharmony_ci				float c;
5900e5c31af7Sopenharmony_ci				float a;
5901e5c31af7Sopenharmony_ci				ivec4 b;
5902e5c31af7Sopenharmony_ci				float c = a / b;
5903e5c31af7Sopenharmony_ci			}
5904e5c31af7Sopenharmony_ci		""
5905e5c31af7Sopenharmony_ci	end
5906e5c31af7Sopenharmony_ci	case div_float_ivec4_ivec4
5907e5c31af7Sopenharmony_ci		expect compile_fail
5908e5c31af7Sopenharmony_ci		version 300 es
5909e5c31af7Sopenharmony_ci
5910e5c31af7Sopenharmony_ci		both ""
5911e5c31af7Sopenharmony_ci			#version 300 es
5912e5c31af7Sopenharmony_ci			precision mediump float;
5913e5c31af7Sopenharmony_ci			precision mediump int;
5914e5c31af7Sopenharmony_ci
5915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5916e5c31af7Sopenharmony_ci
5917e5c31af7Sopenharmony_ci			void main()
5918e5c31af7Sopenharmony_ci			{
5919e5c31af7Sopenharmony_ci				ivec4 c;
5920e5c31af7Sopenharmony_ci				float a;
5921e5c31af7Sopenharmony_ci				ivec4 b;
5922e5c31af7Sopenharmony_ci				ivec4 c = a / b;
5923e5c31af7Sopenharmony_ci			}
5924e5c31af7Sopenharmony_ci		""
5925e5c31af7Sopenharmony_ci	end
5926e5c31af7Sopenharmony_ci	case div_vec2_int_vec2
5927e5c31af7Sopenharmony_ci		expect compile_fail
5928e5c31af7Sopenharmony_ci		version 300 es
5929e5c31af7Sopenharmony_ci
5930e5c31af7Sopenharmony_ci		both ""
5931e5c31af7Sopenharmony_ci			#version 300 es
5932e5c31af7Sopenharmony_ci			precision mediump float;
5933e5c31af7Sopenharmony_ci			precision mediump int;
5934e5c31af7Sopenharmony_ci
5935e5c31af7Sopenharmony_ci			${DECLARATIONS}
5936e5c31af7Sopenharmony_ci
5937e5c31af7Sopenharmony_ci			void main()
5938e5c31af7Sopenharmony_ci			{
5939e5c31af7Sopenharmony_ci				vec2 c;
5940e5c31af7Sopenharmony_ci				vec2 a;
5941e5c31af7Sopenharmony_ci				int b;
5942e5c31af7Sopenharmony_ci				vec2 c = a / b;
5943e5c31af7Sopenharmony_ci			}
5944e5c31af7Sopenharmony_ci		""
5945e5c31af7Sopenharmony_ci	end
5946e5c31af7Sopenharmony_ci	case div_vec2_int_int
5947e5c31af7Sopenharmony_ci		expect compile_fail
5948e5c31af7Sopenharmony_ci		version 300 es
5949e5c31af7Sopenharmony_ci
5950e5c31af7Sopenharmony_ci		both ""
5951e5c31af7Sopenharmony_ci			#version 300 es
5952e5c31af7Sopenharmony_ci			precision mediump float;
5953e5c31af7Sopenharmony_ci			precision mediump int;
5954e5c31af7Sopenharmony_ci
5955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5956e5c31af7Sopenharmony_ci
5957e5c31af7Sopenharmony_ci			void main()
5958e5c31af7Sopenharmony_ci			{
5959e5c31af7Sopenharmony_ci				int c;
5960e5c31af7Sopenharmony_ci				vec2 a;
5961e5c31af7Sopenharmony_ci				int b;
5962e5c31af7Sopenharmony_ci				int c = a / b;
5963e5c31af7Sopenharmony_ci			}
5964e5c31af7Sopenharmony_ci		""
5965e5c31af7Sopenharmony_ci	end
5966e5c31af7Sopenharmony_ci	case div_vec2_ivec2_vec2
5967e5c31af7Sopenharmony_ci		expect compile_fail
5968e5c31af7Sopenharmony_ci		version 300 es
5969e5c31af7Sopenharmony_ci
5970e5c31af7Sopenharmony_ci		both ""
5971e5c31af7Sopenharmony_ci			#version 300 es
5972e5c31af7Sopenharmony_ci			precision mediump float;
5973e5c31af7Sopenharmony_ci			precision mediump int;
5974e5c31af7Sopenharmony_ci
5975e5c31af7Sopenharmony_ci			${DECLARATIONS}
5976e5c31af7Sopenharmony_ci
5977e5c31af7Sopenharmony_ci			void main()
5978e5c31af7Sopenharmony_ci			{
5979e5c31af7Sopenharmony_ci				vec2 c;
5980e5c31af7Sopenharmony_ci				vec2 a;
5981e5c31af7Sopenharmony_ci				ivec2 b;
5982e5c31af7Sopenharmony_ci				vec2 c = a / b;
5983e5c31af7Sopenharmony_ci			}
5984e5c31af7Sopenharmony_ci		""
5985e5c31af7Sopenharmony_ci	end
5986e5c31af7Sopenharmony_ci	case div_vec2_ivec2_ivec2
5987e5c31af7Sopenharmony_ci		expect compile_fail
5988e5c31af7Sopenharmony_ci		version 300 es
5989e5c31af7Sopenharmony_ci
5990e5c31af7Sopenharmony_ci		both ""
5991e5c31af7Sopenharmony_ci			#version 300 es
5992e5c31af7Sopenharmony_ci			precision mediump float;
5993e5c31af7Sopenharmony_ci			precision mediump int;
5994e5c31af7Sopenharmony_ci
5995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
5996e5c31af7Sopenharmony_ci
5997e5c31af7Sopenharmony_ci			void main()
5998e5c31af7Sopenharmony_ci			{
5999e5c31af7Sopenharmony_ci				ivec2 c;
6000e5c31af7Sopenharmony_ci				vec2 a;
6001e5c31af7Sopenharmony_ci				ivec2 b;
6002e5c31af7Sopenharmony_ci				ivec2 c = a / b;
6003e5c31af7Sopenharmony_ci			}
6004e5c31af7Sopenharmony_ci		""
6005e5c31af7Sopenharmony_ci	end
6006e5c31af7Sopenharmony_ci	case div_vec2_ivec3_vec2
6007e5c31af7Sopenharmony_ci		expect compile_fail
6008e5c31af7Sopenharmony_ci		version 300 es
6009e5c31af7Sopenharmony_ci
6010e5c31af7Sopenharmony_ci		both ""
6011e5c31af7Sopenharmony_ci			#version 300 es
6012e5c31af7Sopenharmony_ci			precision mediump float;
6013e5c31af7Sopenharmony_ci			precision mediump int;
6014e5c31af7Sopenharmony_ci
6015e5c31af7Sopenharmony_ci			${DECLARATIONS}
6016e5c31af7Sopenharmony_ci
6017e5c31af7Sopenharmony_ci			void main()
6018e5c31af7Sopenharmony_ci			{
6019e5c31af7Sopenharmony_ci				vec2 c;
6020e5c31af7Sopenharmony_ci				vec2 a;
6021e5c31af7Sopenharmony_ci				ivec3 b;
6022e5c31af7Sopenharmony_ci				vec2 c = a / b;
6023e5c31af7Sopenharmony_ci			}
6024e5c31af7Sopenharmony_ci		""
6025e5c31af7Sopenharmony_ci	end
6026e5c31af7Sopenharmony_ci	case div_vec2_ivec3_ivec3
6027e5c31af7Sopenharmony_ci		expect compile_fail
6028e5c31af7Sopenharmony_ci		version 300 es
6029e5c31af7Sopenharmony_ci
6030e5c31af7Sopenharmony_ci		both ""
6031e5c31af7Sopenharmony_ci			#version 300 es
6032e5c31af7Sopenharmony_ci			precision mediump float;
6033e5c31af7Sopenharmony_ci			precision mediump int;
6034e5c31af7Sopenharmony_ci
6035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6036e5c31af7Sopenharmony_ci
6037e5c31af7Sopenharmony_ci			void main()
6038e5c31af7Sopenharmony_ci			{
6039e5c31af7Sopenharmony_ci				ivec3 c;
6040e5c31af7Sopenharmony_ci				vec2 a;
6041e5c31af7Sopenharmony_ci				ivec3 b;
6042e5c31af7Sopenharmony_ci				ivec3 c = a / b;
6043e5c31af7Sopenharmony_ci			}
6044e5c31af7Sopenharmony_ci		""
6045e5c31af7Sopenharmony_ci	end
6046e5c31af7Sopenharmony_ci	case div_vec2_ivec4_vec2
6047e5c31af7Sopenharmony_ci		expect compile_fail
6048e5c31af7Sopenharmony_ci		version 300 es
6049e5c31af7Sopenharmony_ci
6050e5c31af7Sopenharmony_ci		both ""
6051e5c31af7Sopenharmony_ci			#version 300 es
6052e5c31af7Sopenharmony_ci			precision mediump float;
6053e5c31af7Sopenharmony_ci			precision mediump int;
6054e5c31af7Sopenharmony_ci
6055e5c31af7Sopenharmony_ci			${DECLARATIONS}
6056e5c31af7Sopenharmony_ci
6057e5c31af7Sopenharmony_ci			void main()
6058e5c31af7Sopenharmony_ci			{
6059e5c31af7Sopenharmony_ci				vec2 c;
6060e5c31af7Sopenharmony_ci				vec2 a;
6061e5c31af7Sopenharmony_ci				ivec4 b;
6062e5c31af7Sopenharmony_ci				vec2 c = a / b;
6063e5c31af7Sopenharmony_ci			}
6064e5c31af7Sopenharmony_ci		""
6065e5c31af7Sopenharmony_ci	end
6066e5c31af7Sopenharmony_ci	case div_vec2_ivec4_ivec4
6067e5c31af7Sopenharmony_ci		expect compile_fail
6068e5c31af7Sopenharmony_ci		version 300 es
6069e5c31af7Sopenharmony_ci
6070e5c31af7Sopenharmony_ci		both ""
6071e5c31af7Sopenharmony_ci			#version 300 es
6072e5c31af7Sopenharmony_ci			precision mediump float;
6073e5c31af7Sopenharmony_ci			precision mediump int;
6074e5c31af7Sopenharmony_ci
6075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6076e5c31af7Sopenharmony_ci
6077e5c31af7Sopenharmony_ci			void main()
6078e5c31af7Sopenharmony_ci			{
6079e5c31af7Sopenharmony_ci				ivec4 c;
6080e5c31af7Sopenharmony_ci				vec2 a;
6081e5c31af7Sopenharmony_ci				ivec4 b;
6082e5c31af7Sopenharmony_ci				ivec4 c = a / b;
6083e5c31af7Sopenharmony_ci			}
6084e5c31af7Sopenharmony_ci		""
6085e5c31af7Sopenharmony_ci	end
6086e5c31af7Sopenharmony_ci	case div_vec3_int_vec3
6087e5c31af7Sopenharmony_ci		expect compile_fail
6088e5c31af7Sopenharmony_ci		version 300 es
6089e5c31af7Sopenharmony_ci
6090e5c31af7Sopenharmony_ci		both ""
6091e5c31af7Sopenharmony_ci			#version 300 es
6092e5c31af7Sopenharmony_ci			precision mediump float;
6093e5c31af7Sopenharmony_ci			precision mediump int;
6094e5c31af7Sopenharmony_ci
6095e5c31af7Sopenharmony_ci			${DECLARATIONS}
6096e5c31af7Sopenharmony_ci
6097e5c31af7Sopenharmony_ci			void main()
6098e5c31af7Sopenharmony_ci			{
6099e5c31af7Sopenharmony_ci				vec3 c;
6100e5c31af7Sopenharmony_ci				vec3 a;
6101e5c31af7Sopenharmony_ci				int b;
6102e5c31af7Sopenharmony_ci				vec3 c = a / b;
6103e5c31af7Sopenharmony_ci			}
6104e5c31af7Sopenharmony_ci		""
6105e5c31af7Sopenharmony_ci	end
6106e5c31af7Sopenharmony_ci	case div_vec3_int_int
6107e5c31af7Sopenharmony_ci		expect compile_fail
6108e5c31af7Sopenharmony_ci		version 300 es
6109e5c31af7Sopenharmony_ci
6110e5c31af7Sopenharmony_ci		both ""
6111e5c31af7Sopenharmony_ci			#version 300 es
6112e5c31af7Sopenharmony_ci			precision mediump float;
6113e5c31af7Sopenharmony_ci			precision mediump int;
6114e5c31af7Sopenharmony_ci
6115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6116e5c31af7Sopenharmony_ci
6117e5c31af7Sopenharmony_ci			void main()
6118e5c31af7Sopenharmony_ci			{
6119e5c31af7Sopenharmony_ci				int c;
6120e5c31af7Sopenharmony_ci				vec3 a;
6121e5c31af7Sopenharmony_ci				int b;
6122e5c31af7Sopenharmony_ci				int c = a / b;
6123e5c31af7Sopenharmony_ci			}
6124e5c31af7Sopenharmony_ci		""
6125e5c31af7Sopenharmony_ci	end
6126e5c31af7Sopenharmony_ci	case div_vec3_ivec2_vec3
6127e5c31af7Sopenharmony_ci		expect compile_fail
6128e5c31af7Sopenharmony_ci		version 300 es
6129e5c31af7Sopenharmony_ci
6130e5c31af7Sopenharmony_ci		both ""
6131e5c31af7Sopenharmony_ci			#version 300 es
6132e5c31af7Sopenharmony_ci			precision mediump float;
6133e5c31af7Sopenharmony_ci			precision mediump int;
6134e5c31af7Sopenharmony_ci
6135e5c31af7Sopenharmony_ci			${DECLARATIONS}
6136e5c31af7Sopenharmony_ci
6137e5c31af7Sopenharmony_ci			void main()
6138e5c31af7Sopenharmony_ci			{
6139e5c31af7Sopenharmony_ci				vec3 c;
6140e5c31af7Sopenharmony_ci				vec3 a;
6141e5c31af7Sopenharmony_ci				ivec2 b;
6142e5c31af7Sopenharmony_ci				vec3 c = a / b;
6143e5c31af7Sopenharmony_ci			}
6144e5c31af7Sopenharmony_ci		""
6145e5c31af7Sopenharmony_ci	end
6146e5c31af7Sopenharmony_ci	case div_vec3_ivec2_ivec2
6147e5c31af7Sopenharmony_ci		expect compile_fail
6148e5c31af7Sopenharmony_ci		version 300 es
6149e5c31af7Sopenharmony_ci
6150e5c31af7Sopenharmony_ci		both ""
6151e5c31af7Sopenharmony_ci			#version 300 es
6152e5c31af7Sopenharmony_ci			precision mediump float;
6153e5c31af7Sopenharmony_ci			precision mediump int;
6154e5c31af7Sopenharmony_ci
6155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6156e5c31af7Sopenharmony_ci
6157e5c31af7Sopenharmony_ci			void main()
6158e5c31af7Sopenharmony_ci			{
6159e5c31af7Sopenharmony_ci				ivec2 c;
6160e5c31af7Sopenharmony_ci				vec3 a;
6161e5c31af7Sopenharmony_ci				ivec2 b;
6162e5c31af7Sopenharmony_ci				ivec2 c = a / b;
6163e5c31af7Sopenharmony_ci			}
6164e5c31af7Sopenharmony_ci		""
6165e5c31af7Sopenharmony_ci	end
6166e5c31af7Sopenharmony_ci	case div_vec3_ivec3_vec3
6167e5c31af7Sopenharmony_ci		expect compile_fail
6168e5c31af7Sopenharmony_ci		version 300 es
6169e5c31af7Sopenharmony_ci
6170e5c31af7Sopenharmony_ci		both ""
6171e5c31af7Sopenharmony_ci			#version 300 es
6172e5c31af7Sopenharmony_ci			precision mediump float;
6173e5c31af7Sopenharmony_ci			precision mediump int;
6174e5c31af7Sopenharmony_ci
6175e5c31af7Sopenharmony_ci			${DECLARATIONS}
6176e5c31af7Sopenharmony_ci
6177e5c31af7Sopenharmony_ci			void main()
6178e5c31af7Sopenharmony_ci			{
6179e5c31af7Sopenharmony_ci				vec3 c;
6180e5c31af7Sopenharmony_ci				vec3 a;
6181e5c31af7Sopenharmony_ci				ivec3 b;
6182e5c31af7Sopenharmony_ci				vec3 c = a / b;
6183e5c31af7Sopenharmony_ci			}
6184e5c31af7Sopenharmony_ci		""
6185e5c31af7Sopenharmony_ci	end
6186e5c31af7Sopenharmony_ci	case div_vec3_ivec3_ivec3
6187e5c31af7Sopenharmony_ci		expect compile_fail
6188e5c31af7Sopenharmony_ci		version 300 es
6189e5c31af7Sopenharmony_ci
6190e5c31af7Sopenharmony_ci		both ""
6191e5c31af7Sopenharmony_ci			#version 300 es
6192e5c31af7Sopenharmony_ci			precision mediump float;
6193e5c31af7Sopenharmony_ci			precision mediump int;
6194e5c31af7Sopenharmony_ci
6195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6196e5c31af7Sopenharmony_ci
6197e5c31af7Sopenharmony_ci			void main()
6198e5c31af7Sopenharmony_ci			{
6199e5c31af7Sopenharmony_ci				ivec3 c;
6200e5c31af7Sopenharmony_ci				vec3 a;
6201e5c31af7Sopenharmony_ci				ivec3 b;
6202e5c31af7Sopenharmony_ci				ivec3 c = a / b;
6203e5c31af7Sopenharmony_ci			}
6204e5c31af7Sopenharmony_ci		""
6205e5c31af7Sopenharmony_ci	end
6206e5c31af7Sopenharmony_ci	case div_vec3_ivec4_vec3
6207e5c31af7Sopenharmony_ci		expect compile_fail
6208e5c31af7Sopenharmony_ci		version 300 es
6209e5c31af7Sopenharmony_ci
6210e5c31af7Sopenharmony_ci		both ""
6211e5c31af7Sopenharmony_ci			#version 300 es
6212e5c31af7Sopenharmony_ci			precision mediump float;
6213e5c31af7Sopenharmony_ci			precision mediump int;
6214e5c31af7Sopenharmony_ci
6215e5c31af7Sopenharmony_ci			${DECLARATIONS}
6216e5c31af7Sopenharmony_ci
6217e5c31af7Sopenharmony_ci			void main()
6218e5c31af7Sopenharmony_ci			{
6219e5c31af7Sopenharmony_ci				vec3 c;
6220e5c31af7Sopenharmony_ci				vec3 a;
6221e5c31af7Sopenharmony_ci				ivec4 b;
6222e5c31af7Sopenharmony_ci				vec3 c = a / b;
6223e5c31af7Sopenharmony_ci			}
6224e5c31af7Sopenharmony_ci		""
6225e5c31af7Sopenharmony_ci	end
6226e5c31af7Sopenharmony_ci	case div_vec3_ivec4_ivec4
6227e5c31af7Sopenharmony_ci		expect compile_fail
6228e5c31af7Sopenharmony_ci		version 300 es
6229e5c31af7Sopenharmony_ci
6230e5c31af7Sopenharmony_ci		both ""
6231e5c31af7Sopenharmony_ci			#version 300 es
6232e5c31af7Sopenharmony_ci			precision mediump float;
6233e5c31af7Sopenharmony_ci			precision mediump int;
6234e5c31af7Sopenharmony_ci
6235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6236e5c31af7Sopenharmony_ci
6237e5c31af7Sopenharmony_ci			void main()
6238e5c31af7Sopenharmony_ci			{
6239e5c31af7Sopenharmony_ci				ivec4 c;
6240e5c31af7Sopenharmony_ci				vec3 a;
6241e5c31af7Sopenharmony_ci				ivec4 b;
6242e5c31af7Sopenharmony_ci				ivec4 c = a / b;
6243e5c31af7Sopenharmony_ci			}
6244e5c31af7Sopenharmony_ci		""
6245e5c31af7Sopenharmony_ci	end
6246e5c31af7Sopenharmony_ci	case div_vec4_int_vec4
6247e5c31af7Sopenharmony_ci		expect compile_fail
6248e5c31af7Sopenharmony_ci		version 300 es
6249e5c31af7Sopenharmony_ci
6250e5c31af7Sopenharmony_ci		both ""
6251e5c31af7Sopenharmony_ci			#version 300 es
6252e5c31af7Sopenharmony_ci			precision mediump float;
6253e5c31af7Sopenharmony_ci			precision mediump int;
6254e5c31af7Sopenharmony_ci
6255e5c31af7Sopenharmony_ci			${DECLARATIONS}
6256e5c31af7Sopenharmony_ci
6257e5c31af7Sopenharmony_ci			void main()
6258e5c31af7Sopenharmony_ci			{
6259e5c31af7Sopenharmony_ci				vec4 c;
6260e5c31af7Sopenharmony_ci				vec4 a;
6261e5c31af7Sopenharmony_ci				int b;
6262e5c31af7Sopenharmony_ci				vec4 c = a / b;
6263e5c31af7Sopenharmony_ci			}
6264e5c31af7Sopenharmony_ci		""
6265e5c31af7Sopenharmony_ci	end
6266e5c31af7Sopenharmony_ci	case div_vec4_int_int
6267e5c31af7Sopenharmony_ci		expect compile_fail
6268e5c31af7Sopenharmony_ci		version 300 es
6269e5c31af7Sopenharmony_ci
6270e5c31af7Sopenharmony_ci		both ""
6271e5c31af7Sopenharmony_ci			#version 300 es
6272e5c31af7Sopenharmony_ci			precision mediump float;
6273e5c31af7Sopenharmony_ci			precision mediump int;
6274e5c31af7Sopenharmony_ci
6275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6276e5c31af7Sopenharmony_ci
6277e5c31af7Sopenharmony_ci			void main()
6278e5c31af7Sopenharmony_ci			{
6279e5c31af7Sopenharmony_ci				int c;
6280e5c31af7Sopenharmony_ci				vec4 a;
6281e5c31af7Sopenharmony_ci				int b;
6282e5c31af7Sopenharmony_ci				int c = a / b;
6283e5c31af7Sopenharmony_ci			}
6284e5c31af7Sopenharmony_ci		""
6285e5c31af7Sopenharmony_ci	end
6286e5c31af7Sopenharmony_ci	case div_vec4_ivec2_vec4
6287e5c31af7Sopenharmony_ci		expect compile_fail
6288e5c31af7Sopenharmony_ci		version 300 es
6289e5c31af7Sopenharmony_ci
6290e5c31af7Sopenharmony_ci		both ""
6291e5c31af7Sopenharmony_ci			#version 300 es
6292e5c31af7Sopenharmony_ci			precision mediump float;
6293e5c31af7Sopenharmony_ci			precision mediump int;
6294e5c31af7Sopenharmony_ci
6295e5c31af7Sopenharmony_ci			${DECLARATIONS}
6296e5c31af7Sopenharmony_ci
6297e5c31af7Sopenharmony_ci			void main()
6298e5c31af7Sopenharmony_ci			{
6299e5c31af7Sopenharmony_ci				vec4 c;
6300e5c31af7Sopenharmony_ci				vec4 a;
6301e5c31af7Sopenharmony_ci				ivec2 b;
6302e5c31af7Sopenharmony_ci				vec4 c = a / b;
6303e5c31af7Sopenharmony_ci			}
6304e5c31af7Sopenharmony_ci		""
6305e5c31af7Sopenharmony_ci	end
6306e5c31af7Sopenharmony_ci	case div_vec4_ivec2_ivec2
6307e5c31af7Sopenharmony_ci		expect compile_fail
6308e5c31af7Sopenharmony_ci		version 300 es
6309e5c31af7Sopenharmony_ci
6310e5c31af7Sopenharmony_ci		both ""
6311e5c31af7Sopenharmony_ci			#version 300 es
6312e5c31af7Sopenharmony_ci			precision mediump float;
6313e5c31af7Sopenharmony_ci			precision mediump int;
6314e5c31af7Sopenharmony_ci
6315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6316e5c31af7Sopenharmony_ci
6317e5c31af7Sopenharmony_ci			void main()
6318e5c31af7Sopenharmony_ci			{
6319e5c31af7Sopenharmony_ci				ivec2 c;
6320e5c31af7Sopenharmony_ci				vec4 a;
6321e5c31af7Sopenharmony_ci				ivec2 b;
6322e5c31af7Sopenharmony_ci				ivec2 c = a / b;
6323e5c31af7Sopenharmony_ci			}
6324e5c31af7Sopenharmony_ci		""
6325e5c31af7Sopenharmony_ci	end
6326e5c31af7Sopenharmony_ci	case div_vec4_ivec3_vec4
6327e5c31af7Sopenharmony_ci		expect compile_fail
6328e5c31af7Sopenharmony_ci		version 300 es
6329e5c31af7Sopenharmony_ci
6330e5c31af7Sopenharmony_ci		both ""
6331e5c31af7Sopenharmony_ci			#version 300 es
6332e5c31af7Sopenharmony_ci			precision mediump float;
6333e5c31af7Sopenharmony_ci			precision mediump int;
6334e5c31af7Sopenharmony_ci
6335e5c31af7Sopenharmony_ci			${DECLARATIONS}
6336e5c31af7Sopenharmony_ci
6337e5c31af7Sopenharmony_ci			void main()
6338e5c31af7Sopenharmony_ci			{
6339e5c31af7Sopenharmony_ci				vec4 c;
6340e5c31af7Sopenharmony_ci				vec4 a;
6341e5c31af7Sopenharmony_ci				ivec3 b;
6342e5c31af7Sopenharmony_ci				vec4 c = a / b;
6343e5c31af7Sopenharmony_ci			}
6344e5c31af7Sopenharmony_ci		""
6345e5c31af7Sopenharmony_ci	end
6346e5c31af7Sopenharmony_ci	case div_vec4_ivec3_ivec3
6347e5c31af7Sopenharmony_ci		expect compile_fail
6348e5c31af7Sopenharmony_ci		version 300 es
6349e5c31af7Sopenharmony_ci
6350e5c31af7Sopenharmony_ci		both ""
6351e5c31af7Sopenharmony_ci			#version 300 es
6352e5c31af7Sopenharmony_ci			precision mediump float;
6353e5c31af7Sopenharmony_ci			precision mediump int;
6354e5c31af7Sopenharmony_ci
6355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6356e5c31af7Sopenharmony_ci
6357e5c31af7Sopenharmony_ci			void main()
6358e5c31af7Sopenharmony_ci			{
6359e5c31af7Sopenharmony_ci				ivec3 c;
6360e5c31af7Sopenharmony_ci				vec4 a;
6361e5c31af7Sopenharmony_ci				ivec3 b;
6362e5c31af7Sopenharmony_ci				ivec3 c = a / b;
6363e5c31af7Sopenharmony_ci			}
6364e5c31af7Sopenharmony_ci		""
6365e5c31af7Sopenharmony_ci	end
6366e5c31af7Sopenharmony_ci	case div_vec4_ivec4_vec4
6367e5c31af7Sopenharmony_ci		expect compile_fail
6368e5c31af7Sopenharmony_ci		version 300 es
6369e5c31af7Sopenharmony_ci
6370e5c31af7Sopenharmony_ci		both ""
6371e5c31af7Sopenharmony_ci			#version 300 es
6372e5c31af7Sopenharmony_ci			precision mediump float;
6373e5c31af7Sopenharmony_ci			precision mediump int;
6374e5c31af7Sopenharmony_ci
6375e5c31af7Sopenharmony_ci			${DECLARATIONS}
6376e5c31af7Sopenharmony_ci
6377e5c31af7Sopenharmony_ci			void main()
6378e5c31af7Sopenharmony_ci			{
6379e5c31af7Sopenharmony_ci				vec4 c;
6380e5c31af7Sopenharmony_ci				vec4 a;
6381e5c31af7Sopenharmony_ci				ivec4 b;
6382e5c31af7Sopenharmony_ci				vec4 c = a / b;
6383e5c31af7Sopenharmony_ci			}
6384e5c31af7Sopenharmony_ci		""
6385e5c31af7Sopenharmony_ci	end
6386e5c31af7Sopenharmony_ci	case div_vec4_ivec4_ivec4
6387e5c31af7Sopenharmony_ci		expect compile_fail
6388e5c31af7Sopenharmony_ci		version 300 es
6389e5c31af7Sopenharmony_ci
6390e5c31af7Sopenharmony_ci		both ""
6391e5c31af7Sopenharmony_ci			#version 300 es
6392e5c31af7Sopenharmony_ci			precision mediump float;
6393e5c31af7Sopenharmony_ci			precision mediump int;
6394e5c31af7Sopenharmony_ci
6395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6396e5c31af7Sopenharmony_ci
6397e5c31af7Sopenharmony_ci			void main()
6398e5c31af7Sopenharmony_ci			{
6399e5c31af7Sopenharmony_ci				ivec4 c;
6400e5c31af7Sopenharmony_ci				vec4 a;
6401e5c31af7Sopenharmony_ci				ivec4 b;
6402e5c31af7Sopenharmony_ci				ivec4 c = a / b;
6403e5c31af7Sopenharmony_ci			}
6404e5c31af7Sopenharmony_ci		""
6405e5c31af7Sopenharmony_ci	end
6406e5c31af7Sopenharmony_ci	case div_float_uint_float
6407e5c31af7Sopenharmony_ci		expect compile_fail
6408e5c31af7Sopenharmony_ci		version 300 es
6409e5c31af7Sopenharmony_ci
6410e5c31af7Sopenharmony_ci		both ""
6411e5c31af7Sopenharmony_ci			#version 300 es
6412e5c31af7Sopenharmony_ci			precision mediump float;
6413e5c31af7Sopenharmony_ci			precision mediump int;
6414e5c31af7Sopenharmony_ci
6415e5c31af7Sopenharmony_ci			${DECLARATIONS}
6416e5c31af7Sopenharmony_ci
6417e5c31af7Sopenharmony_ci			void main()
6418e5c31af7Sopenharmony_ci			{
6419e5c31af7Sopenharmony_ci				float c;
6420e5c31af7Sopenharmony_ci				float a;
6421e5c31af7Sopenharmony_ci				uint b;
6422e5c31af7Sopenharmony_ci				float c = a / b;
6423e5c31af7Sopenharmony_ci			}
6424e5c31af7Sopenharmony_ci		""
6425e5c31af7Sopenharmony_ci	end
6426e5c31af7Sopenharmony_ci	case div_float_uint_uint
6427e5c31af7Sopenharmony_ci		expect compile_fail
6428e5c31af7Sopenharmony_ci		version 300 es
6429e5c31af7Sopenharmony_ci
6430e5c31af7Sopenharmony_ci		both ""
6431e5c31af7Sopenharmony_ci			#version 300 es
6432e5c31af7Sopenharmony_ci			precision mediump float;
6433e5c31af7Sopenharmony_ci			precision mediump int;
6434e5c31af7Sopenharmony_ci
6435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6436e5c31af7Sopenharmony_ci
6437e5c31af7Sopenharmony_ci			void main()
6438e5c31af7Sopenharmony_ci			{
6439e5c31af7Sopenharmony_ci				uint c;
6440e5c31af7Sopenharmony_ci				float a;
6441e5c31af7Sopenharmony_ci				uint b;
6442e5c31af7Sopenharmony_ci				uint c = a / b;
6443e5c31af7Sopenharmony_ci			}
6444e5c31af7Sopenharmony_ci		""
6445e5c31af7Sopenharmony_ci	end
6446e5c31af7Sopenharmony_ci	case div_float_uvec2_float
6447e5c31af7Sopenharmony_ci		expect compile_fail
6448e5c31af7Sopenharmony_ci		version 300 es
6449e5c31af7Sopenharmony_ci
6450e5c31af7Sopenharmony_ci		both ""
6451e5c31af7Sopenharmony_ci			#version 300 es
6452e5c31af7Sopenharmony_ci			precision mediump float;
6453e5c31af7Sopenharmony_ci			precision mediump int;
6454e5c31af7Sopenharmony_ci
6455e5c31af7Sopenharmony_ci			${DECLARATIONS}
6456e5c31af7Sopenharmony_ci
6457e5c31af7Sopenharmony_ci			void main()
6458e5c31af7Sopenharmony_ci			{
6459e5c31af7Sopenharmony_ci				float c;
6460e5c31af7Sopenharmony_ci				float a;
6461e5c31af7Sopenharmony_ci				uvec2 b;
6462e5c31af7Sopenharmony_ci				float c = a / b;
6463e5c31af7Sopenharmony_ci			}
6464e5c31af7Sopenharmony_ci		""
6465e5c31af7Sopenharmony_ci	end
6466e5c31af7Sopenharmony_ci	case div_float_uvec2_uvec2
6467e5c31af7Sopenharmony_ci		expect compile_fail
6468e5c31af7Sopenharmony_ci		version 300 es
6469e5c31af7Sopenharmony_ci
6470e5c31af7Sopenharmony_ci		both ""
6471e5c31af7Sopenharmony_ci			#version 300 es
6472e5c31af7Sopenharmony_ci			precision mediump float;
6473e5c31af7Sopenharmony_ci			precision mediump int;
6474e5c31af7Sopenharmony_ci
6475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6476e5c31af7Sopenharmony_ci
6477e5c31af7Sopenharmony_ci			void main()
6478e5c31af7Sopenharmony_ci			{
6479e5c31af7Sopenharmony_ci				uvec2 c;
6480e5c31af7Sopenharmony_ci				float a;
6481e5c31af7Sopenharmony_ci				uvec2 b;
6482e5c31af7Sopenharmony_ci				uvec2 c = a / b;
6483e5c31af7Sopenharmony_ci			}
6484e5c31af7Sopenharmony_ci		""
6485e5c31af7Sopenharmony_ci	end
6486e5c31af7Sopenharmony_ci	case div_float_uvec3_float
6487e5c31af7Sopenharmony_ci		expect compile_fail
6488e5c31af7Sopenharmony_ci		version 300 es
6489e5c31af7Sopenharmony_ci
6490e5c31af7Sopenharmony_ci		both ""
6491e5c31af7Sopenharmony_ci			#version 300 es
6492e5c31af7Sopenharmony_ci			precision mediump float;
6493e5c31af7Sopenharmony_ci			precision mediump int;
6494e5c31af7Sopenharmony_ci
6495e5c31af7Sopenharmony_ci			${DECLARATIONS}
6496e5c31af7Sopenharmony_ci
6497e5c31af7Sopenharmony_ci			void main()
6498e5c31af7Sopenharmony_ci			{
6499e5c31af7Sopenharmony_ci				float c;
6500e5c31af7Sopenharmony_ci				float a;
6501e5c31af7Sopenharmony_ci				uvec3 b;
6502e5c31af7Sopenharmony_ci				float c = a / b;
6503e5c31af7Sopenharmony_ci			}
6504e5c31af7Sopenharmony_ci		""
6505e5c31af7Sopenharmony_ci	end
6506e5c31af7Sopenharmony_ci	case div_float_uvec3_uvec3
6507e5c31af7Sopenharmony_ci		expect compile_fail
6508e5c31af7Sopenharmony_ci		version 300 es
6509e5c31af7Sopenharmony_ci
6510e5c31af7Sopenharmony_ci		both ""
6511e5c31af7Sopenharmony_ci			#version 300 es
6512e5c31af7Sopenharmony_ci			precision mediump float;
6513e5c31af7Sopenharmony_ci			precision mediump int;
6514e5c31af7Sopenharmony_ci
6515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6516e5c31af7Sopenharmony_ci
6517e5c31af7Sopenharmony_ci			void main()
6518e5c31af7Sopenharmony_ci			{
6519e5c31af7Sopenharmony_ci				uvec3 c;
6520e5c31af7Sopenharmony_ci				float a;
6521e5c31af7Sopenharmony_ci				uvec3 b;
6522e5c31af7Sopenharmony_ci				uvec3 c = a / b;
6523e5c31af7Sopenharmony_ci			}
6524e5c31af7Sopenharmony_ci		""
6525e5c31af7Sopenharmony_ci	end
6526e5c31af7Sopenharmony_ci	case div_float_uvec4_float
6527e5c31af7Sopenharmony_ci		expect compile_fail
6528e5c31af7Sopenharmony_ci		version 300 es
6529e5c31af7Sopenharmony_ci
6530e5c31af7Sopenharmony_ci		both ""
6531e5c31af7Sopenharmony_ci			#version 300 es
6532e5c31af7Sopenharmony_ci			precision mediump float;
6533e5c31af7Sopenharmony_ci			precision mediump int;
6534e5c31af7Sopenharmony_ci
6535e5c31af7Sopenharmony_ci			${DECLARATIONS}
6536e5c31af7Sopenharmony_ci
6537e5c31af7Sopenharmony_ci			void main()
6538e5c31af7Sopenharmony_ci			{
6539e5c31af7Sopenharmony_ci				float c;
6540e5c31af7Sopenharmony_ci				float a;
6541e5c31af7Sopenharmony_ci				uvec4 b;
6542e5c31af7Sopenharmony_ci				float c = a / b;
6543e5c31af7Sopenharmony_ci			}
6544e5c31af7Sopenharmony_ci		""
6545e5c31af7Sopenharmony_ci	end
6546e5c31af7Sopenharmony_ci	case div_float_uvec4_uvec4
6547e5c31af7Sopenharmony_ci		expect compile_fail
6548e5c31af7Sopenharmony_ci		version 300 es
6549e5c31af7Sopenharmony_ci
6550e5c31af7Sopenharmony_ci		both ""
6551e5c31af7Sopenharmony_ci			#version 300 es
6552e5c31af7Sopenharmony_ci			precision mediump float;
6553e5c31af7Sopenharmony_ci			precision mediump int;
6554e5c31af7Sopenharmony_ci
6555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6556e5c31af7Sopenharmony_ci
6557e5c31af7Sopenharmony_ci			void main()
6558e5c31af7Sopenharmony_ci			{
6559e5c31af7Sopenharmony_ci				uvec4 c;
6560e5c31af7Sopenharmony_ci				float a;
6561e5c31af7Sopenharmony_ci				uvec4 b;
6562e5c31af7Sopenharmony_ci				uvec4 c = a / b;
6563e5c31af7Sopenharmony_ci			}
6564e5c31af7Sopenharmony_ci		""
6565e5c31af7Sopenharmony_ci	end
6566e5c31af7Sopenharmony_ci	case div_vec2_uint_vec2
6567e5c31af7Sopenharmony_ci		expect compile_fail
6568e5c31af7Sopenharmony_ci		version 300 es
6569e5c31af7Sopenharmony_ci
6570e5c31af7Sopenharmony_ci		both ""
6571e5c31af7Sopenharmony_ci			#version 300 es
6572e5c31af7Sopenharmony_ci			precision mediump float;
6573e5c31af7Sopenharmony_ci			precision mediump int;
6574e5c31af7Sopenharmony_ci
6575e5c31af7Sopenharmony_ci			${DECLARATIONS}
6576e5c31af7Sopenharmony_ci
6577e5c31af7Sopenharmony_ci			void main()
6578e5c31af7Sopenharmony_ci			{
6579e5c31af7Sopenharmony_ci				vec2 c;
6580e5c31af7Sopenharmony_ci				vec2 a;
6581e5c31af7Sopenharmony_ci				uint b;
6582e5c31af7Sopenharmony_ci				vec2 c = a / b;
6583e5c31af7Sopenharmony_ci			}
6584e5c31af7Sopenharmony_ci		""
6585e5c31af7Sopenharmony_ci	end
6586e5c31af7Sopenharmony_ci	case div_vec2_uint_uint
6587e5c31af7Sopenharmony_ci		expect compile_fail
6588e5c31af7Sopenharmony_ci		version 300 es
6589e5c31af7Sopenharmony_ci
6590e5c31af7Sopenharmony_ci		both ""
6591e5c31af7Sopenharmony_ci			#version 300 es
6592e5c31af7Sopenharmony_ci			precision mediump float;
6593e5c31af7Sopenharmony_ci			precision mediump int;
6594e5c31af7Sopenharmony_ci
6595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6596e5c31af7Sopenharmony_ci
6597e5c31af7Sopenharmony_ci			void main()
6598e5c31af7Sopenharmony_ci			{
6599e5c31af7Sopenharmony_ci				uint c;
6600e5c31af7Sopenharmony_ci				vec2 a;
6601e5c31af7Sopenharmony_ci				uint b;
6602e5c31af7Sopenharmony_ci				uint c = a / b;
6603e5c31af7Sopenharmony_ci			}
6604e5c31af7Sopenharmony_ci		""
6605e5c31af7Sopenharmony_ci	end
6606e5c31af7Sopenharmony_ci	case div_vec2_uvec2_vec2
6607e5c31af7Sopenharmony_ci		expect compile_fail
6608e5c31af7Sopenharmony_ci		version 300 es
6609e5c31af7Sopenharmony_ci
6610e5c31af7Sopenharmony_ci		both ""
6611e5c31af7Sopenharmony_ci			#version 300 es
6612e5c31af7Sopenharmony_ci			precision mediump float;
6613e5c31af7Sopenharmony_ci			precision mediump int;
6614e5c31af7Sopenharmony_ci
6615e5c31af7Sopenharmony_ci			${DECLARATIONS}
6616e5c31af7Sopenharmony_ci
6617e5c31af7Sopenharmony_ci			void main()
6618e5c31af7Sopenharmony_ci			{
6619e5c31af7Sopenharmony_ci				vec2 c;
6620e5c31af7Sopenharmony_ci				vec2 a;
6621e5c31af7Sopenharmony_ci				uvec2 b;
6622e5c31af7Sopenharmony_ci				vec2 c = a / b;
6623e5c31af7Sopenharmony_ci			}
6624e5c31af7Sopenharmony_ci		""
6625e5c31af7Sopenharmony_ci	end
6626e5c31af7Sopenharmony_ci	case div_vec2_uvec2_uvec2
6627e5c31af7Sopenharmony_ci		expect compile_fail
6628e5c31af7Sopenharmony_ci		version 300 es
6629e5c31af7Sopenharmony_ci
6630e5c31af7Sopenharmony_ci		both ""
6631e5c31af7Sopenharmony_ci			#version 300 es
6632e5c31af7Sopenharmony_ci			precision mediump float;
6633e5c31af7Sopenharmony_ci			precision mediump int;
6634e5c31af7Sopenharmony_ci
6635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6636e5c31af7Sopenharmony_ci
6637e5c31af7Sopenharmony_ci			void main()
6638e5c31af7Sopenharmony_ci			{
6639e5c31af7Sopenharmony_ci				uvec2 c;
6640e5c31af7Sopenharmony_ci				vec2 a;
6641e5c31af7Sopenharmony_ci				uvec2 b;
6642e5c31af7Sopenharmony_ci				uvec2 c = a / b;
6643e5c31af7Sopenharmony_ci			}
6644e5c31af7Sopenharmony_ci		""
6645e5c31af7Sopenharmony_ci	end
6646e5c31af7Sopenharmony_ci	case div_vec2_uvec3_vec2
6647e5c31af7Sopenharmony_ci		expect compile_fail
6648e5c31af7Sopenharmony_ci		version 300 es
6649e5c31af7Sopenharmony_ci
6650e5c31af7Sopenharmony_ci		both ""
6651e5c31af7Sopenharmony_ci			#version 300 es
6652e5c31af7Sopenharmony_ci			precision mediump float;
6653e5c31af7Sopenharmony_ci			precision mediump int;
6654e5c31af7Sopenharmony_ci
6655e5c31af7Sopenharmony_ci			${DECLARATIONS}
6656e5c31af7Sopenharmony_ci
6657e5c31af7Sopenharmony_ci			void main()
6658e5c31af7Sopenharmony_ci			{
6659e5c31af7Sopenharmony_ci				vec2 c;
6660e5c31af7Sopenharmony_ci				vec2 a;
6661e5c31af7Sopenharmony_ci				uvec3 b;
6662e5c31af7Sopenharmony_ci				vec2 c = a / b;
6663e5c31af7Sopenharmony_ci			}
6664e5c31af7Sopenharmony_ci		""
6665e5c31af7Sopenharmony_ci	end
6666e5c31af7Sopenharmony_ci	case div_vec2_uvec3_uvec3
6667e5c31af7Sopenharmony_ci		expect compile_fail
6668e5c31af7Sopenharmony_ci		version 300 es
6669e5c31af7Sopenharmony_ci
6670e5c31af7Sopenharmony_ci		both ""
6671e5c31af7Sopenharmony_ci			#version 300 es
6672e5c31af7Sopenharmony_ci			precision mediump float;
6673e5c31af7Sopenharmony_ci			precision mediump int;
6674e5c31af7Sopenharmony_ci
6675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6676e5c31af7Sopenharmony_ci
6677e5c31af7Sopenharmony_ci			void main()
6678e5c31af7Sopenharmony_ci			{
6679e5c31af7Sopenharmony_ci				uvec3 c;
6680e5c31af7Sopenharmony_ci				vec2 a;
6681e5c31af7Sopenharmony_ci				uvec3 b;
6682e5c31af7Sopenharmony_ci				uvec3 c = a / b;
6683e5c31af7Sopenharmony_ci			}
6684e5c31af7Sopenharmony_ci		""
6685e5c31af7Sopenharmony_ci	end
6686e5c31af7Sopenharmony_ci	case div_vec2_uvec4_vec2
6687e5c31af7Sopenharmony_ci		expect compile_fail
6688e5c31af7Sopenharmony_ci		version 300 es
6689e5c31af7Sopenharmony_ci
6690e5c31af7Sopenharmony_ci		both ""
6691e5c31af7Sopenharmony_ci			#version 300 es
6692e5c31af7Sopenharmony_ci			precision mediump float;
6693e5c31af7Sopenharmony_ci			precision mediump int;
6694e5c31af7Sopenharmony_ci
6695e5c31af7Sopenharmony_ci			${DECLARATIONS}
6696e5c31af7Sopenharmony_ci
6697e5c31af7Sopenharmony_ci			void main()
6698e5c31af7Sopenharmony_ci			{
6699e5c31af7Sopenharmony_ci				vec2 c;
6700e5c31af7Sopenharmony_ci				vec2 a;
6701e5c31af7Sopenharmony_ci				uvec4 b;
6702e5c31af7Sopenharmony_ci				vec2 c = a / b;
6703e5c31af7Sopenharmony_ci			}
6704e5c31af7Sopenharmony_ci		""
6705e5c31af7Sopenharmony_ci	end
6706e5c31af7Sopenharmony_ci	case div_vec2_uvec4_uvec4
6707e5c31af7Sopenharmony_ci		expect compile_fail
6708e5c31af7Sopenharmony_ci		version 300 es
6709e5c31af7Sopenharmony_ci
6710e5c31af7Sopenharmony_ci		both ""
6711e5c31af7Sopenharmony_ci			#version 300 es
6712e5c31af7Sopenharmony_ci			precision mediump float;
6713e5c31af7Sopenharmony_ci			precision mediump int;
6714e5c31af7Sopenharmony_ci
6715e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6716e5c31af7Sopenharmony_ci
6717e5c31af7Sopenharmony_ci			void main()
6718e5c31af7Sopenharmony_ci			{
6719e5c31af7Sopenharmony_ci				uvec4 c;
6720e5c31af7Sopenharmony_ci				vec2 a;
6721e5c31af7Sopenharmony_ci				uvec4 b;
6722e5c31af7Sopenharmony_ci				uvec4 c = a / b;
6723e5c31af7Sopenharmony_ci			}
6724e5c31af7Sopenharmony_ci		""
6725e5c31af7Sopenharmony_ci	end
6726e5c31af7Sopenharmony_ci	case div_vec3_uint_vec3
6727e5c31af7Sopenharmony_ci		expect compile_fail
6728e5c31af7Sopenharmony_ci		version 300 es
6729e5c31af7Sopenharmony_ci
6730e5c31af7Sopenharmony_ci		both ""
6731e5c31af7Sopenharmony_ci			#version 300 es
6732e5c31af7Sopenharmony_ci			precision mediump float;
6733e5c31af7Sopenharmony_ci			precision mediump int;
6734e5c31af7Sopenharmony_ci
6735e5c31af7Sopenharmony_ci			${DECLARATIONS}
6736e5c31af7Sopenharmony_ci
6737e5c31af7Sopenharmony_ci			void main()
6738e5c31af7Sopenharmony_ci			{
6739e5c31af7Sopenharmony_ci				vec3 c;
6740e5c31af7Sopenharmony_ci				vec3 a;
6741e5c31af7Sopenharmony_ci				uint b;
6742e5c31af7Sopenharmony_ci				vec3 c = a / b;
6743e5c31af7Sopenharmony_ci			}
6744e5c31af7Sopenharmony_ci		""
6745e5c31af7Sopenharmony_ci	end
6746e5c31af7Sopenharmony_ci	case div_vec3_uint_uint
6747e5c31af7Sopenharmony_ci		expect compile_fail
6748e5c31af7Sopenharmony_ci		version 300 es
6749e5c31af7Sopenharmony_ci
6750e5c31af7Sopenharmony_ci		both ""
6751e5c31af7Sopenharmony_ci			#version 300 es
6752e5c31af7Sopenharmony_ci			precision mediump float;
6753e5c31af7Sopenharmony_ci			precision mediump int;
6754e5c31af7Sopenharmony_ci
6755e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6756e5c31af7Sopenharmony_ci
6757e5c31af7Sopenharmony_ci			void main()
6758e5c31af7Sopenharmony_ci			{
6759e5c31af7Sopenharmony_ci				uint c;
6760e5c31af7Sopenharmony_ci				vec3 a;
6761e5c31af7Sopenharmony_ci				uint b;
6762e5c31af7Sopenharmony_ci				uint c = a / b;
6763e5c31af7Sopenharmony_ci			}
6764e5c31af7Sopenharmony_ci		""
6765e5c31af7Sopenharmony_ci	end
6766e5c31af7Sopenharmony_ci	case div_vec3_uvec2_vec3
6767e5c31af7Sopenharmony_ci		expect compile_fail
6768e5c31af7Sopenharmony_ci		version 300 es
6769e5c31af7Sopenharmony_ci
6770e5c31af7Sopenharmony_ci		both ""
6771e5c31af7Sopenharmony_ci			#version 300 es
6772e5c31af7Sopenharmony_ci			precision mediump float;
6773e5c31af7Sopenharmony_ci			precision mediump int;
6774e5c31af7Sopenharmony_ci
6775e5c31af7Sopenharmony_ci			${DECLARATIONS}
6776e5c31af7Sopenharmony_ci
6777e5c31af7Sopenharmony_ci			void main()
6778e5c31af7Sopenharmony_ci			{
6779e5c31af7Sopenharmony_ci				vec3 c;
6780e5c31af7Sopenharmony_ci				vec3 a;
6781e5c31af7Sopenharmony_ci				uvec2 b;
6782e5c31af7Sopenharmony_ci				vec3 c = a / b;
6783e5c31af7Sopenharmony_ci			}
6784e5c31af7Sopenharmony_ci		""
6785e5c31af7Sopenharmony_ci	end
6786e5c31af7Sopenharmony_ci	case div_vec3_uvec2_uvec2
6787e5c31af7Sopenharmony_ci		expect compile_fail
6788e5c31af7Sopenharmony_ci		version 300 es
6789e5c31af7Sopenharmony_ci
6790e5c31af7Sopenharmony_ci		both ""
6791e5c31af7Sopenharmony_ci			#version 300 es
6792e5c31af7Sopenharmony_ci			precision mediump float;
6793e5c31af7Sopenharmony_ci			precision mediump int;
6794e5c31af7Sopenharmony_ci
6795e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6796e5c31af7Sopenharmony_ci
6797e5c31af7Sopenharmony_ci			void main()
6798e5c31af7Sopenharmony_ci			{
6799e5c31af7Sopenharmony_ci				uvec2 c;
6800e5c31af7Sopenharmony_ci				vec3 a;
6801e5c31af7Sopenharmony_ci				uvec2 b;
6802e5c31af7Sopenharmony_ci				uvec2 c = a / b;
6803e5c31af7Sopenharmony_ci			}
6804e5c31af7Sopenharmony_ci		""
6805e5c31af7Sopenharmony_ci	end
6806e5c31af7Sopenharmony_ci	case div_vec3_uvec3_vec3
6807e5c31af7Sopenharmony_ci		expect compile_fail
6808e5c31af7Sopenharmony_ci		version 300 es
6809e5c31af7Sopenharmony_ci
6810e5c31af7Sopenharmony_ci		both ""
6811e5c31af7Sopenharmony_ci			#version 300 es
6812e5c31af7Sopenharmony_ci			precision mediump float;
6813e5c31af7Sopenharmony_ci			precision mediump int;
6814e5c31af7Sopenharmony_ci
6815e5c31af7Sopenharmony_ci			${DECLARATIONS}
6816e5c31af7Sopenharmony_ci
6817e5c31af7Sopenharmony_ci			void main()
6818e5c31af7Sopenharmony_ci			{
6819e5c31af7Sopenharmony_ci				vec3 c;
6820e5c31af7Sopenharmony_ci				vec3 a;
6821e5c31af7Sopenharmony_ci				uvec3 b;
6822e5c31af7Sopenharmony_ci				vec3 c = a / b;
6823e5c31af7Sopenharmony_ci			}
6824e5c31af7Sopenharmony_ci		""
6825e5c31af7Sopenharmony_ci	end
6826e5c31af7Sopenharmony_ci	case div_vec3_uvec3_uvec3
6827e5c31af7Sopenharmony_ci		expect compile_fail
6828e5c31af7Sopenharmony_ci		version 300 es
6829e5c31af7Sopenharmony_ci
6830e5c31af7Sopenharmony_ci		both ""
6831e5c31af7Sopenharmony_ci			#version 300 es
6832e5c31af7Sopenharmony_ci			precision mediump float;
6833e5c31af7Sopenharmony_ci			precision mediump int;
6834e5c31af7Sopenharmony_ci
6835e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6836e5c31af7Sopenharmony_ci
6837e5c31af7Sopenharmony_ci			void main()
6838e5c31af7Sopenharmony_ci			{
6839e5c31af7Sopenharmony_ci				uvec3 c;
6840e5c31af7Sopenharmony_ci				vec3 a;
6841e5c31af7Sopenharmony_ci				uvec3 b;
6842e5c31af7Sopenharmony_ci				uvec3 c = a / b;
6843e5c31af7Sopenharmony_ci			}
6844e5c31af7Sopenharmony_ci		""
6845e5c31af7Sopenharmony_ci	end
6846e5c31af7Sopenharmony_ci	case div_vec3_uvec4_vec3
6847e5c31af7Sopenharmony_ci		expect compile_fail
6848e5c31af7Sopenharmony_ci		version 300 es
6849e5c31af7Sopenharmony_ci
6850e5c31af7Sopenharmony_ci		both ""
6851e5c31af7Sopenharmony_ci			#version 300 es
6852e5c31af7Sopenharmony_ci			precision mediump float;
6853e5c31af7Sopenharmony_ci			precision mediump int;
6854e5c31af7Sopenharmony_ci
6855e5c31af7Sopenharmony_ci			${DECLARATIONS}
6856e5c31af7Sopenharmony_ci
6857e5c31af7Sopenharmony_ci			void main()
6858e5c31af7Sopenharmony_ci			{
6859e5c31af7Sopenharmony_ci				vec3 c;
6860e5c31af7Sopenharmony_ci				vec3 a;
6861e5c31af7Sopenharmony_ci				uvec4 b;
6862e5c31af7Sopenharmony_ci				vec3 c = a / b;
6863e5c31af7Sopenharmony_ci			}
6864e5c31af7Sopenharmony_ci		""
6865e5c31af7Sopenharmony_ci	end
6866e5c31af7Sopenharmony_ci	case div_vec3_uvec4_uvec4
6867e5c31af7Sopenharmony_ci		expect compile_fail
6868e5c31af7Sopenharmony_ci		version 300 es
6869e5c31af7Sopenharmony_ci
6870e5c31af7Sopenharmony_ci		both ""
6871e5c31af7Sopenharmony_ci			#version 300 es
6872e5c31af7Sopenharmony_ci			precision mediump float;
6873e5c31af7Sopenharmony_ci			precision mediump int;
6874e5c31af7Sopenharmony_ci
6875e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6876e5c31af7Sopenharmony_ci
6877e5c31af7Sopenharmony_ci			void main()
6878e5c31af7Sopenharmony_ci			{
6879e5c31af7Sopenharmony_ci				uvec4 c;
6880e5c31af7Sopenharmony_ci				vec3 a;
6881e5c31af7Sopenharmony_ci				uvec4 b;
6882e5c31af7Sopenharmony_ci				uvec4 c = a / b;
6883e5c31af7Sopenharmony_ci			}
6884e5c31af7Sopenharmony_ci		""
6885e5c31af7Sopenharmony_ci	end
6886e5c31af7Sopenharmony_ci	case div_vec4_uint_vec4
6887e5c31af7Sopenharmony_ci		expect compile_fail
6888e5c31af7Sopenharmony_ci		version 300 es
6889e5c31af7Sopenharmony_ci
6890e5c31af7Sopenharmony_ci		both ""
6891e5c31af7Sopenharmony_ci			#version 300 es
6892e5c31af7Sopenharmony_ci			precision mediump float;
6893e5c31af7Sopenharmony_ci			precision mediump int;
6894e5c31af7Sopenharmony_ci
6895e5c31af7Sopenharmony_ci			${DECLARATIONS}
6896e5c31af7Sopenharmony_ci
6897e5c31af7Sopenharmony_ci			void main()
6898e5c31af7Sopenharmony_ci			{
6899e5c31af7Sopenharmony_ci				vec4 c;
6900e5c31af7Sopenharmony_ci				vec4 a;
6901e5c31af7Sopenharmony_ci				uint b;
6902e5c31af7Sopenharmony_ci				vec4 c = a / b;
6903e5c31af7Sopenharmony_ci			}
6904e5c31af7Sopenharmony_ci		""
6905e5c31af7Sopenharmony_ci	end
6906e5c31af7Sopenharmony_ci	case div_vec4_uint_uint
6907e5c31af7Sopenharmony_ci		expect compile_fail
6908e5c31af7Sopenharmony_ci		version 300 es
6909e5c31af7Sopenharmony_ci
6910e5c31af7Sopenharmony_ci		both ""
6911e5c31af7Sopenharmony_ci			#version 300 es
6912e5c31af7Sopenharmony_ci			precision mediump float;
6913e5c31af7Sopenharmony_ci			precision mediump int;
6914e5c31af7Sopenharmony_ci
6915e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6916e5c31af7Sopenharmony_ci
6917e5c31af7Sopenharmony_ci			void main()
6918e5c31af7Sopenharmony_ci			{
6919e5c31af7Sopenharmony_ci				uint c;
6920e5c31af7Sopenharmony_ci				vec4 a;
6921e5c31af7Sopenharmony_ci				uint b;
6922e5c31af7Sopenharmony_ci				uint c = a / b;
6923e5c31af7Sopenharmony_ci			}
6924e5c31af7Sopenharmony_ci		""
6925e5c31af7Sopenharmony_ci	end
6926e5c31af7Sopenharmony_ci	case div_vec4_uvec2_vec4
6927e5c31af7Sopenharmony_ci		expect compile_fail
6928e5c31af7Sopenharmony_ci		version 300 es
6929e5c31af7Sopenharmony_ci
6930e5c31af7Sopenharmony_ci		both ""
6931e5c31af7Sopenharmony_ci			#version 300 es
6932e5c31af7Sopenharmony_ci			precision mediump float;
6933e5c31af7Sopenharmony_ci			precision mediump int;
6934e5c31af7Sopenharmony_ci
6935e5c31af7Sopenharmony_ci			${DECLARATIONS}
6936e5c31af7Sopenharmony_ci
6937e5c31af7Sopenharmony_ci			void main()
6938e5c31af7Sopenharmony_ci			{
6939e5c31af7Sopenharmony_ci				vec4 c;
6940e5c31af7Sopenharmony_ci				vec4 a;
6941e5c31af7Sopenharmony_ci				uvec2 b;
6942e5c31af7Sopenharmony_ci				vec4 c = a / b;
6943e5c31af7Sopenharmony_ci			}
6944e5c31af7Sopenharmony_ci		""
6945e5c31af7Sopenharmony_ci	end
6946e5c31af7Sopenharmony_ci	case div_vec4_uvec2_uvec2
6947e5c31af7Sopenharmony_ci		expect compile_fail
6948e5c31af7Sopenharmony_ci		version 300 es
6949e5c31af7Sopenharmony_ci
6950e5c31af7Sopenharmony_ci		both ""
6951e5c31af7Sopenharmony_ci			#version 300 es
6952e5c31af7Sopenharmony_ci			precision mediump float;
6953e5c31af7Sopenharmony_ci			precision mediump int;
6954e5c31af7Sopenharmony_ci
6955e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6956e5c31af7Sopenharmony_ci
6957e5c31af7Sopenharmony_ci			void main()
6958e5c31af7Sopenharmony_ci			{
6959e5c31af7Sopenharmony_ci				uvec2 c;
6960e5c31af7Sopenharmony_ci				vec4 a;
6961e5c31af7Sopenharmony_ci				uvec2 b;
6962e5c31af7Sopenharmony_ci				uvec2 c = a / b;
6963e5c31af7Sopenharmony_ci			}
6964e5c31af7Sopenharmony_ci		""
6965e5c31af7Sopenharmony_ci	end
6966e5c31af7Sopenharmony_ci	case div_vec4_uvec3_vec4
6967e5c31af7Sopenharmony_ci		expect compile_fail
6968e5c31af7Sopenharmony_ci		version 300 es
6969e5c31af7Sopenharmony_ci
6970e5c31af7Sopenharmony_ci		both ""
6971e5c31af7Sopenharmony_ci			#version 300 es
6972e5c31af7Sopenharmony_ci			precision mediump float;
6973e5c31af7Sopenharmony_ci			precision mediump int;
6974e5c31af7Sopenharmony_ci
6975e5c31af7Sopenharmony_ci			${DECLARATIONS}
6976e5c31af7Sopenharmony_ci
6977e5c31af7Sopenharmony_ci			void main()
6978e5c31af7Sopenharmony_ci			{
6979e5c31af7Sopenharmony_ci				vec4 c;
6980e5c31af7Sopenharmony_ci				vec4 a;
6981e5c31af7Sopenharmony_ci				uvec3 b;
6982e5c31af7Sopenharmony_ci				vec4 c = a / b;
6983e5c31af7Sopenharmony_ci			}
6984e5c31af7Sopenharmony_ci		""
6985e5c31af7Sopenharmony_ci	end
6986e5c31af7Sopenharmony_ci	case div_vec4_uvec3_uvec3
6987e5c31af7Sopenharmony_ci		expect compile_fail
6988e5c31af7Sopenharmony_ci		version 300 es
6989e5c31af7Sopenharmony_ci
6990e5c31af7Sopenharmony_ci		both ""
6991e5c31af7Sopenharmony_ci			#version 300 es
6992e5c31af7Sopenharmony_ci			precision mediump float;
6993e5c31af7Sopenharmony_ci			precision mediump int;
6994e5c31af7Sopenharmony_ci
6995e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
6996e5c31af7Sopenharmony_ci
6997e5c31af7Sopenharmony_ci			void main()
6998e5c31af7Sopenharmony_ci			{
6999e5c31af7Sopenharmony_ci				uvec3 c;
7000e5c31af7Sopenharmony_ci				vec4 a;
7001e5c31af7Sopenharmony_ci				uvec3 b;
7002e5c31af7Sopenharmony_ci				uvec3 c = a / b;
7003e5c31af7Sopenharmony_ci			}
7004e5c31af7Sopenharmony_ci		""
7005e5c31af7Sopenharmony_ci	end
7006e5c31af7Sopenharmony_ci	case div_vec4_uvec4_vec4
7007e5c31af7Sopenharmony_ci		expect compile_fail
7008e5c31af7Sopenharmony_ci		version 300 es
7009e5c31af7Sopenharmony_ci
7010e5c31af7Sopenharmony_ci		both ""
7011e5c31af7Sopenharmony_ci			#version 300 es
7012e5c31af7Sopenharmony_ci			precision mediump float;
7013e5c31af7Sopenharmony_ci			precision mediump int;
7014e5c31af7Sopenharmony_ci
7015e5c31af7Sopenharmony_ci			${DECLARATIONS}
7016e5c31af7Sopenharmony_ci
7017e5c31af7Sopenharmony_ci			void main()
7018e5c31af7Sopenharmony_ci			{
7019e5c31af7Sopenharmony_ci				vec4 c;
7020e5c31af7Sopenharmony_ci				vec4 a;
7021e5c31af7Sopenharmony_ci				uvec4 b;
7022e5c31af7Sopenharmony_ci				vec4 c = a / b;
7023e5c31af7Sopenharmony_ci			}
7024e5c31af7Sopenharmony_ci		""
7025e5c31af7Sopenharmony_ci	end
7026e5c31af7Sopenharmony_ci	case div_vec4_uvec4_uvec4
7027e5c31af7Sopenharmony_ci		expect compile_fail
7028e5c31af7Sopenharmony_ci		version 300 es
7029e5c31af7Sopenharmony_ci
7030e5c31af7Sopenharmony_ci		both ""
7031e5c31af7Sopenharmony_ci			#version 300 es
7032e5c31af7Sopenharmony_ci			precision mediump float;
7033e5c31af7Sopenharmony_ci			precision mediump int;
7034e5c31af7Sopenharmony_ci
7035e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7036e5c31af7Sopenharmony_ci
7037e5c31af7Sopenharmony_ci			void main()
7038e5c31af7Sopenharmony_ci			{
7039e5c31af7Sopenharmony_ci				uvec4 c;
7040e5c31af7Sopenharmony_ci				vec4 a;
7041e5c31af7Sopenharmony_ci				uvec4 b;
7042e5c31af7Sopenharmony_ci				uvec4 c = a / b;
7043e5c31af7Sopenharmony_ci			}
7044e5c31af7Sopenharmony_ci		""
7045e5c31af7Sopenharmony_ci	end
7046e5c31af7Sopenharmony_ci	case div_int_uint_int
7047e5c31af7Sopenharmony_ci		expect compile_fail
7048e5c31af7Sopenharmony_ci		version 300 es
7049e5c31af7Sopenharmony_ci
7050e5c31af7Sopenharmony_ci		both ""
7051e5c31af7Sopenharmony_ci			#version 300 es
7052e5c31af7Sopenharmony_ci			precision mediump float;
7053e5c31af7Sopenharmony_ci			precision mediump int;
7054e5c31af7Sopenharmony_ci
7055e5c31af7Sopenharmony_ci			${DECLARATIONS}
7056e5c31af7Sopenharmony_ci
7057e5c31af7Sopenharmony_ci			void main()
7058e5c31af7Sopenharmony_ci			{
7059e5c31af7Sopenharmony_ci				int c;
7060e5c31af7Sopenharmony_ci				int a;
7061e5c31af7Sopenharmony_ci				uint b;
7062e5c31af7Sopenharmony_ci				int c = a / b;
7063e5c31af7Sopenharmony_ci			}
7064e5c31af7Sopenharmony_ci		""
7065e5c31af7Sopenharmony_ci	end
7066e5c31af7Sopenharmony_ci	case div_int_uint_uint
7067e5c31af7Sopenharmony_ci		expect compile_fail
7068e5c31af7Sopenharmony_ci		version 300 es
7069e5c31af7Sopenharmony_ci
7070e5c31af7Sopenharmony_ci		both ""
7071e5c31af7Sopenharmony_ci			#version 300 es
7072e5c31af7Sopenharmony_ci			precision mediump float;
7073e5c31af7Sopenharmony_ci			precision mediump int;
7074e5c31af7Sopenharmony_ci
7075e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7076e5c31af7Sopenharmony_ci
7077e5c31af7Sopenharmony_ci			void main()
7078e5c31af7Sopenharmony_ci			{
7079e5c31af7Sopenharmony_ci				uint c;
7080e5c31af7Sopenharmony_ci				int a;
7081e5c31af7Sopenharmony_ci				uint b;
7082e5c31af7Sopenharmony_ci				uint c = a / b;
7083e5c31af7Sopenharmony_ci			}
7084e5c31af7Sopenharmony_ci		""
7085e5c31af7Sopenharmony_ci	end
7086e5c31af7Sopenharmony_ci	case div_int_uvec2_int
7087e5c31af7Sopenharmony_ci		expect compile_fail
7088e5c31af7Sopenharmony_ci		version 300 es
7089e5c31af7Sopenharmony_ci
7090e5c31af7Sopenharmony_ci		both ""
7091e5c31af7Sopenharmony_ci			#version 300 es
7092e5c31af7Sopenharmony_ci			precision mediump float;
7093e5c31af7Sopenharmony_ci			precision mediump int;
7094e5c31af7Sopenharmony_ci
7095e5c31af7Sopenharmony_ci			${DECLARATIONS}
7096e5c31af7Sopenharmony_ci
7097e5c31af7Sopenharmony_ci			void main()
7098e5c31af7Sopenharmony_ci			{
7099e5c31af7Sopenharmony_ci				int c;
7100e5c31af7Sopenharmony_ci				int a;
7101e5c31af7Sopenharmony_ci				uvec2 b;
7102e5c31af7Sopenharmony_ci				int c = a / b;
7103e5c31af7Sopenharmony_ci			}
7104e5c31af7Sopenharmony_ci		""
7105e5c31af7Sopenharmony_ci	end
7106e5c31af7Sopenharmony_ci	case div_int_uvec2_uvec2
7107e5c31af7Sopenharmony_ci		expect compile_fail
7108e5c31af7Sopenharmony_ci		version 300 es
7109e5c31af7Sopenharmony_ci
7110e5c31af7Sopenharmony_ci		both ""
7111e5c31af7Sopenharmony_ci			#version 300 es
7112e5c31af7Sopenharmony_ci			precision mediump float;
7113e5c31af7Sopenharmony_ci			precision mediump int;
7114e5c31af7Sopenharmony_ci
7115e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7116e5c31af7Sopenharmony_ci
7117e5c31af7Sopenharmony_ci			void main()
7118e5c31af7Sopenharmony_ci			{
7119e5c31af7Sopenharmony_ci				uvec2 c;
7120e5c31af7Sopenharmony_ci				int a;
7121e5c31af7Sopenharmony_ci				uvec2 b;
7122e5c31af7Sopenharmony_ci				uvec2 c = a / b;
7123e5c31af7Sopenharmony_ci			}
7124e5c31af7Sopenharmony_ci		""
7125e5c31af7Sopenharmony_ci	end
7126e5c31af7Sopenharmony_ci	case div_int_uvec3_int
7127e5c31af7Sopenharmony_ci		expect compile_fail
7128e5c31af7Sopenharmony_ci		version 300 es
7129e5c31af7Sopenharmony_ci
7130e5c31af7Sopenharmony_ci		both ""
7131e5c31af7Sopenharmony_ci			#version 300 es
7132e5c31af7Sopenharmony_ci			precision mediump float;
7133e5c31af7Sopenharmony_ci			precision mediump int;
7134e5c31af7Sopenharmony_ci
7135e5c31af7Sopenharmony_ci			${DECLARATIONS}
7136e5c31af7Sopenharmony_ci
7137e5c31af7Sopenharmony_ci			void main()
7138e5c31af7Sopenharmony_ci			{
7139e5c31af7Sopenharmony_ci				int c;
7140e5c31af7Sopenharmony_ci				int a;
7141e5c31af7Sopenharmony_ci				uvec3 b;
7142e5c31af7Sopenharmony_ci				int c = a / b;
7143e5c31af7Sopenharmony_ci			}
7144e5c31af7Sopenharmony_ci		""
7145e5c31af7Sopenharmony_ci	end
7146e5c31af7Sopenharmony_ci	case div_int_uvec3_uvec3
7147e5c31af7Sopenharmony_ci		expect compile_fail
7148e5c31af7Sopenharmony_ci		version 300 es
7149e5c31af7Sopenharmony_ci
7150e5c31af7Sopenharmony_ci		both ""
7151e5c31af7Sopenharmony_ci			#version 300 es
7152e5c31af7Sopenharmony_ci			precision mediump float;
7153e5c31af7Sopenharmony_ci			precision mediump int;
7154e5c31af7Sopenharmony_ci
7155e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7156e5c31af7Sopenharmony_ci
7157e5c31af7Sopenharmony_ci			void main()
7158e5c31af7Sopenharmony_ci			{
7159e5c31af7Sopenharmony_ci				uvec3 c;
7160e5c31af7Sopenharmony_ci				int a;
7161e5c31af7Sopenharmony_ci				uvec3 b;
7162e5c31af7Sopenharmony_ci				uvec3 c = a / b;
7163e5c31af7Sopenharmony_ci			}
7164e5c31af7Sopenharmony_ci		""
7165e5c31af7Sopenharmony_ci	end
7166e5c31af7Sopenharmony_ci	case div_int_uvec4_int
7167e5c31af7Sopenharmony_ci		expect compile_fail
7168e5c31af7Sopenharmony_ci		version 300 es
7169e5c31af7Sopenharmony_ci
7170e5c31af7Sopenharmony_ci		both ""
7171e5c31af7Sopenharmony_ci			#version 300 es
7172e5c31af7Sopenharmony_ci			precision mediump float;
7173e5c31af7Sopenharmony_ci			precision mediump int;
7174e5c31af7Sopenharmony_ci
7175e5c31af7Sopenharmony_ci			${DECLARATIONS}
7176e5c31af7Sopenharmony_ci
7177e5c31af7Sopenharmony_ci			void main()
7178e5c31af7Sopenharmony_ci			{
7179e5c31af7Sopenharmony_ci				int c;
7180e5c31af7Sopenharmony_ci				int a;
7181e5c31af7Sopenharmony_ci				uvec4 b;
7182e5c31af7Sopenharmony_ci				int c = a / b;
7183e5c31af7Sopenharmony_ci			}
7184e5c31af7Sopenharmony_ci		""
7185e5c31af7Sopenharmony_ci	end
7186e5c31af7Sopenharmony_ci	case div_int_uvec4_uvec4
7187e5c31af7Sopenharmony_ci		expect compile_fail
7188e5c31af7Sopenharmony_ci		version 300 es
7189e5c31af7Sopenharmony_ci
7190e5c31af7Sopenharmony_ci		both ""
7191e5c31af7Sopenharmony_ci			#version 300 es
7192e5c31af7Sopenharmony_ci			precision mediump float;
7193e5c31af7Sopenharmony_ci			precision mediump int;
7194e5c31af7Sopenharmony_ci
7195e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7196e5c31af7Sopenharmony_ci
7197e5c31af7Sopenharmony_ci			void main()
7198e5c31af7Sopenharmony_ci			{
7199e5c31af7Sopenharmony_ci				uvec4 c;
7200e5c31af7Sopenharmony_ci				int a;
7201e5c31af7Sopenharmony_ci				uvec4 b;
7202e5c31af7Sopenharmony_ci				uvec4 c = a / b;
7203e5c31af7Sopenharmony_ci			}
7204e5c31af7Sopenharmony_ci		""
7205e5c31af7Sopenharmony_ci	end
7206e5c31af7Sopenharmony_ci	case div_ivec2_uint_ivec2
7207e5c31af7Sopenharmony_ci		expect compile_fail
7208e5c31af7Sopenharmony_ci		version 300 es
7209e5c31af7Sopenharmony_ci
7210e5c31af7Sopenharmony_ci		both ""
7211e5c31af7Sopenharmony_ci			#version 300 es
7212e5c31af7Sopenharmony_ci			precision mediump float;
7213e5c31af7Sopenharmony_ci			precision mediump int;
7214e5c31af7Sopenharmony_ci
7215e5c31af7Sopenharmony_ci			${DECLARATIONS}
7216e5c31af7Sopenharmony_ci
7217e5c31af7Sopenharmony_ci			void main()
7218e5c31af7Sopenharmony_ci			{
7219e5c31af7Sopenharmony_ci				ivec2 c;
7220e5c31af7Sopenharmony_ci				ivec2 a;
7221e5c31af7Sopenharmony_ci				uint b;
7222e5c31af7Sopenharmony_ci				ivec2 c = a / b;
7223e5c31af7Sopenharmony_ci			}
7224e5c31af7Sopenharmony_ci		""
7225e5c31af7Sopenharmony_ci	end
7226e5c31af7Sopenharmony_ci	case div_ivec2_uint_uint
7227e5c31af7Sopenharmony_ci		expect compile_fail
7228e5c31af7Sopenharmony_ci		version 300 es
7229e5c31af7Sopenharmony_ci
7230e5c31af7Sopenharmony_ci		both ""
7231e5c31af7Sopenharmony_ci			#version 300 es
7232e5c31af7Sopenharmony_ci			precision mediump float;
7233e5c31af7Sopenharmony_ci			precision mediump int;
7234e5c31af7Sopenharmony_ci
7235e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7236e5c31af7Sopenharmony_ci
7237e5c31af7Sopenharmony_ci			void main()
7238e5c31af7Sopenharmony_ci			{
7239e5c31af7Sopenharmony_ci				uint c;
7240e5c31af7Sopenharmony_ci				ivec2 a;
7241e5c31af7Sopenharmony_ci				uint b;
7242e5c31af7Sopenharmony_ci				uint c = a / b;
7243e5c31af7Sopenharmony_ci			}
7244e5c31af7Sopenharmony_ci		""
7245e5c31af7Sopenharmony_ci	end
7246e5c31af7Sopenharmony_ci	case div_ivec2_uvec2_ivec2
7247e5c31af7Sopenharmony_ci		expect compile_fail
7248e5c31af7Sopenharmony_ci		version 300 es
7249e5c31af7Sopenharmony_ci
7250e5c31af7Sopenharmony_ci		both ""
7251e5c31af7Sopenharmony_ci			#version 300 es
7252e5c31af7Sopenharmony_ci			precision mediump float;
7253e5c31af7Sopenharmony_ci			precision mediump int;
7254e5c31af7Sopenharmony_ci
7255e5c31af7Sopenharmony_ci			${DECLARATIONS}
7256e5c31af7Sopenharmony_ci
7257e5c31af7Sopenharmony_ci			void main()
7258e5c31af7Sopenharmony_ci			{
7259e5c31af7Sopenharmony_ci				ivec2 c;
7260e5c31af7Sopenharmony_ci				ivec2 a;
7261e5c31af7Sopenharmony_ci				uvec2 b;
7262e5c31af7Sopenharmony_ci				ivec2 c = a / b;
7263e5c31af7Sopenharmony_ci			}
7264e5c31af7Sopenharmony_ci		""
7265e5c31af7Sopenharmony_ci	end
7266e5c31af7Sopenharmony_ci	case div_ivec2_uvec2_uvec2
7267e5c31af7Sopenharmony_ci		expect compile_fail
7268e5c31af7Sopenharmony_ci		version 300 es
7269e5c31af7Sopenharmony_ci
7270e5c31af7Sopenharmony_ci		both ""
7271e5c31af7Sopenharmony_ci			#version 300 es
7272e5c31af7Sopenharmony_ci			precision mediump float;
7273e5c31af7Sopenharmony_ci			precision mediump int;
7274e5c31af7Sopenharmony_ci
7275e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7276e5c31af7Sopenharmony_ci
7277e5c31af7Sopenharmony_ci			void main()
7278e5c31af7Sopenharmony_ci			{
7279e5c31af7Sopenharmony_ci				uvec2 c;
7280e5c31af7Sopenharmony_ci				ivec2 a;
7281e5c31af7Sopenharmony_ci				uvec2 b;
7282e5c31af7Sopenharmony_ci				uvec2 c = a / b;
7283e5c31af7Sopenharmony_ci			}
7284e5c31af7Sopenharmony_ci		""
7285e5c31af7Sopenharmony_ci	end
7286e5c31af7Sopenharmony_ci	case div_ivec2_uvec3_ivec2
7287e5c31af7Sopenharmony_ci		expect compile_fail
7288e5c31af7Sopenharmony_ci		version 300 es
7289e5c31af7Sopenharmony_ci
7290e5c31af7Sopenharmony_ci		both ""
7291e5c31af7Sopenharmony_ci			#version 300 es
7292e5c31af7Sopenharmony_ci			precision mediump float;
7293e5c31af7Sopenharmony_ci			precision mediump int;
7294e5c31af7Sopenharmony_ci
7295e5c31af7Sopenharmony_ci			${DECLARATIONS}
7296e5c31af7Sopenharmony_ci
7297e5c31af7Sopenharmony_ci			void main()
7298e5c31af7Sopenharmony_ci			{
7299e5c31af7Sopenharmony_ci				ivec2 c;
7300e5c31af7Sopenharmony_ci				ivec2 a;
7301e5c31af7Sopenharmony_ci				uvec3 b;
7302e5c31af7Sopenharmony_ci				ivec2 c = a / b;
7303e5c31af7Sopenharmony_ci			}
7304e5c31af7Sopenharmony_ci		""
7305e5c31af7Sopenharmony_ci	end
7306e5c31af7Sopenharmony_ci	case div_ivec2_uvec3_uvec3
7307e5c31af7Sopenharmony_ci		expect compile_fail
7308e5c31af7Sopenharmony_ci		version 300 es
7309e5c31af7Sopenharmony_ci
7310e5c31af7Sopenharmony_ci		both ""
7311e5c31af7Sopenharmony_ci			#version 300 es
7312e5c31af7Sopenharmony_ci			precision mediump float;
7313e5c31af7Sopenharmony_ci			precision mediump int;
7314e5c31af7Sopenharmony_ci
7315e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7316e5c31af7Sopenharmony_ci
7317e5c31af7Sopenharmony_ci			void main()
7318e5c31af7Sopenharmony_ci			{
7319e5c31af7Sopenharmony_ci				uvec3 c;
7320e5c31af7Sopenharmony_ci				ivec2 a;
7321e5c31af7Sopenharmony_ci				uvec3 b;
7322e5c31af7Sopenharmony_ci				uvec3 c = a / b;
7323e5c31af7Sopenharmony_ci			}
7324e5c31af7Sopenharmony_ci		""
7325e5c31af7Sopenharmony_ci	end
7326e5c31af7Sopenharmony_ci	case div_ivec2_uvec4_ivec2
7327e5c31af7Sopenharmony_ci		expect compile_fail
7328e5c31af7Sopenharmony_ci		version 300 es
7329e5c31af7Sopenharmony_ci
7330e5c31af7Sopenharmony_ci		both ""
7331e5c31af7Sopenharmony_ci			#version 300 es
7332e5c31af7Sopenharmony_ci			precision mediump float;
7333e5c31af7Sopenharmony_ci			precision mediump int;
7334e5c31af7Sopenharmony_ci
7335e5c31af7Sopenharmony_ci			${DECLARATIONS}
7336e5c31af7Sopenharmony_ci
7337e5c31af7Sopenharmony_ci			void main()
7338e5c31af7Sopenharmony_ci			{
7339e5c31af7Sopenharmony_ci				ivec2 c;
7340e5c31af7Sopenharmony_ci				ivec2 a;
7341e5c31af7Sopenharmony_ci				uvec4 b;
7342e5c31af7Sopenharmony_ci				ivec2 c = a / b;
7343e5c31af7Sopenharmony_ci			}
7344e5c31af7Sopenharmony_ci		""
7345e5c31af7Sopenharmony_ci	end
7346e5c31af7Sopenharmony_ci	case div_ivec2_uvec4_uvec4
7347e5c31af7Sopenharmony_ci		expect compile_fail
7348e5c31af7Sopenharmony_ci		version 300 es
7349e5c31af7Sopenharmony_ci
7350e5c31af7Sopenharmony_ci		both ""
7351e5c31af7Sopenharmony_ci			#version 300 es
7352e5c31af7Sopenharmony_ci			precision mediump float;
7353e5c31af7Sopenharmony_ci			precision mediump int;
7354e5c31af7Sopenharmony_ci
7355e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7356e5c31af7Sopenharmony_ci
7357e5c31af7Sopenharmony_ci			void main()
7358e5c31af7Sopenharmony_ci			{
7359e5c31af7Sopenharmony_ci				uvec4 c;
7360e5c31af7Sopenharmony_ci				ivec2 a;
7361e5c31af7Sopenharmony_ci				uvec4 b;
7362e5c31af7Sopenharmony_ci				uvec4 c = a / b;
7363e5c31af7Sopenharmony_ci			}
7364e5c31af7Sopenharmony_ci		""
7365e5c31af7Sopenharmony_ci	end
7366e5c31af7Sopenharmony_ci	case div_ivec3_uint_ivec3
7367e5c31af7Sopenharmony_ci		expect compile_fail
7368e5c31af7Sopenharmony_ci		version 300 es
7369e5c31af7Sopenharmony_ci
7370e5c31af7Sopenharmony_ci		both ""
7371e5c31af7Sopenharmony_ci			#version 300 es
7372e5c31af7Sopenharmony_ci			precision mediump float;
7373e5c31af7Sopenharmony_ci			precision mediump int;
7374e5c31af7Sopenharmony_ci
7375e5c31af7Sopenharmony_ci			${DECLARATIONS}
7376e5c31af7Sopenharmony_ci
7377e5c31af7Sopenharmony_ci			void main()
7378e5c31af7Sopenharmony_ci			{
7379e5c31af7Sopenharmony_ci				ivec3 c;
7380e5c31af7Sopenharmony_ci				ivec3 a;
7381e5c31af7Sopenharmony_ci				uint b;
7382e5c31af7Sopenharmony_ci				ivec3 c = a / b;
7383e5c31af7Sopenharmony_ci			}
7384e5c31af7Sopenharmony_ci		""
7385e5c31af7Sopenharmony_ci	end
7386e5c31af7Sopenharmony_ci	case div_ivec3_uint_uint
7387e5c31af7Sopenharmony_ci		expect compile_fail
7388e5c31af7Sopenharmony_ci		version 300 es
7389e5c31af7Sopenharmony_ci
7390e5c31af7Sopenharmony_ci		both ""
7391e5c31af7Sopenharmony_ci			#version 300 es
7392e5c31af7Sopenharmony_ci			precision mediump float;
7393e5c31af7Sopenharmony_ci			precision mediump int;
7394e5c31af7Sopenharmony_ci
7395e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7396e5c31af7Sopenharmony_ci
7397e5c31af7Sopenharmony_ci			void main()
7398e5c31af7Sopenharmony_ci			{
7399e5c31af7Sopenharmony_ci				uint c;
7400e5c31af7Sopenharmony_ci				ivec3 a;
7401e5c31af7Sopenharmony_ci				uint b;
7402e5c31af7Sopenharmony_ci				uint c = a / b;
7403e5c31af7Sopenharmony_ci			}
7404e5c31af7Sopenharmony_ci		""
7405e5c31af7Sopenharmony_ci	end
7406e5c31af7Sopenharmony_ci	case div_ivec3_uvec2_ivec3
7407e5c31af7Sopenharmony_ci		expect compile_fail
7408e5c31af7Sopenharmony_ci		version 300 es
7409e5c31af7Sopenharmony_ci
7410e5c31af7Sopenharmony_ci		both ""
7411e5c31af7Sopenharmony_ci			#version 300 es
7412e5c31af7Sopenharmony_ci			precision mediump float;
7413e5c31af7Sopenharmony_ci			precision mediump int;
7414e5c31af7Sopenharmony_ci
7415e5c31af7Sopenharmony_ci			${DECLARATIONS}
7416e5c31af7Sopenharmony_ci
7417e5c31af7Sopenharmony_ci			void main()
7418e5c31af7Sopenharmony_ci			{
7419e5c31af7Sopenharmony_ci				ivec3 c;
7420e5c31af7Sopenharmony_ci				ivec3 a;
7421e5c31af7Sopenharmony_ci				uvec2 b;
7422e5c31af7Sopenharmony_ci				ivec3 c = a / b;
7423e5c31af7Sopenharmony_ci			}
7424e5c31af7Sopenharmony_ci		""
7425e5c31af7Sopenharmony_ci	end
7426e5c31af7Sopenharmony_ci	case div_ivec3_uvec2_uvec2
7427e5c31af7Sopenharmony_ci		expect compile_fail
7428e5c31af7Sopenharmony_ci		version 300 es
7429e5c31af7Sopenharmony_ci
7430e5c31af7Sopenharmony_ci		both ""
7431e5c31af7Sopenharmony_ci			#version 300 es
7432e5c31af7Sopenharmony_ci			precision mediump float;
7433e5c31af7Sopenharmony_ci			precision mediump int;
7434e5c31af7Sopenharmony_ci
7435e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7436e5c31af7Sopenharmony_ci
7437e5c31af7Sopenharmony_ci			void main()
7438e5c31af7Sopenharmony_ci			{
7439e5c31af7Sopenharmony_ci				uvec2 c;
7440e5c31af7Sopenharmony_ci				ivec3 a;
7441e5c31af7Sopenharmony_ci				uvec2 b;
7442e5c31af7Sopenharmony_ci				uvec2 c = a / b;
7443e5c31af7Sopenharmony_ci			}
7444e5c31af7Sopenharmony_ci		""
7445e5c31af7Sopenharmony_ci	end
7446e5c31af7Sopenharmony_ci	case div_ivec3_uvec3_ivec3
7447e5c31af7Sopenharmony_ci		expect compile_fail
7448e5c31af7Sopenharmony_ci		version 300 es
7449e5c31af7Sopenharmony_ci
7450e5c31af7Sopenharmony_ci		both ""
7451e5c31af7Sopenharmony_ci			#version 300 es
7452e5c31af7Sopenharmony_ci			precision mediump float;
7453e5c31af7Sopenharmony_ci			precision mediump int;
7454e5c31af7Sopenharmony_ci
7455e5c31af7Sopenharmony_ci			${DECLARATIONS}
7456e5c31af7Sopenharmony_ci
7457e5c31af7Sopenharmony_ci			void main()
7458e5c31af7Sopenharmony_ci			{
7459e5c31af7Sopenharmony_ci				ivec3 c;
7460e5c31af7Sopenharmony_ci				ivec3 a;
7461e5c31af7Sopenharmony_ci				uvec3 b;
7462e5c31af7Sopenharmony_ci				ivec3 c = a / b;
7463e5c31af7Sopenharmony_ci			}
7464e5c31af7Sopenharmony_ci		""
7465e5c31af7Sopenharmony_ci	end
7466e5c31af7Sopenharmony_ci	case div_ivec3_uvec3_uvec3
7467e5c31af7Sopenharmony_ci		expect compile_fail
7468e5c31af7Sopenharmony_ci		version 300 es
7469e5c31af7Sopenharmony_ci
7470e5c31af7Sopenharmony_ci		both ""
7471e5c31af7Sopenharmony_ci			#version 300 es
7472e5c31af7Sopenharmony_ci			precision mediump float;
7473e5c31af7Sopenharmony_ci			precision mediump int;
7474e5c31af7Sopenharmony_ci
7475e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7476e5c31af7Sopenharmony_ci
7477e5c31af7Sopenharmony_ci			void main()
7478e5c31af7Sopenharmony_ci			{
7479e5c31af7Sopenharmony_ci				uvec3 c;
7480e5c31af7Sopenharmony_ci				ivec3 a;
7481e5c31af7Sopenharmony_ci				uvec3 b;
7482e5c31af7Sopenharmony_ci				uvec3 c = a / b;
7483e5c31af7Sopenharmony_ci			}
7484e5c31af7Sopenharmony_ci		""
7485e5c31af7Sopenharmony_ci	end
7486e5c31af7Sopenharmony_ci	case div_ivec3_uvec4_ivec3
7487e5c31af7Sopenharmony_ci		expect compile_fail
7488e5c31af7Sopenharmony_ci		version 300 es
7489e5c31af7Sopenharmony_ci
7490e5c31af7Sopenharmony_ci		both ""
7491e5c31af7Sopenharmony_ci			#version 300 es
7492e5c31af7Sopenharmony_ci			precision mediump float;
7493e5c31af7Sopenharmony_ci			precision mediump int;
7494e5c31af7Sopenharmony_ci
7495e5c31af7Sopenharmony_ci			${DECLARATIONS}
7496e5c31af7Sopenharmony_ci
7497e5c31af7Sopenharmony_ci			void main()
7498e5c31af7Sopenharmony_ci			{
7499e5c31af7Sopenharmony_ci				ivec3 c;
7500e5c31af7Sopenharmony_ci				ivec3 a;
7501e5c31af7Sopenharmony_ci				uvec4 b;
7502e5c31af7Sopenharmony_ci				ivec3 c = a / b;
7503e5c31af7Sopenharmony_ci			}
7504e5c31af7Sopenharmony_ci		""
7505e5c31af7Sopenharmony_ci	end
7506e5c31af7Sopenharmony_ci	case div_ivec3_uvec4_uvec4
7507e5c31af7Sopenharmony_ci		expect compile_fail
7508e5c31af7Sopenharmony_ci		version 300 es
7509e5c31af7Sopenharmony_ci
7510e5c31af7Sopenharmony_ci		both ""
7511e5c31af7Sopenharmony_ci			#version 300 es
7512e5c31af7Sopenharmony_ci			precision mediump float;
7513e5c31af7Sopenharmony_ci			precision mediump int;
7514e5c31af7Sopenharmony_ci
7515e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7516e5c31af7Sopenharmony_ci
7517e5c31af7Sopenharmony_ci			void main()
7518e5c31af7Sopenharmony_ci			{
7519e5c31af7Sopenharmony_ci				uvec4 c;
7520e5c31af7Sopenharmony_ci				ivec3 a;
7521e5c31af7Sopenharmony_ci				uvec4 b;
7522e5c31af7Sopenharmony_ci				uvec4 c = a / b;
7523e5c31af7Sopenharmony_ci			}
7524e5c31af7Sopenharmony_ci		""
7525e5c31af7Sopenharmony_ci	end
7526e5c31af7Sopenharmony_ci	case div_ivec4_uint_ivec4
7527e5c31af7Sopenharmony_ci		expect compile_fail
7528e5c31af7Sopenharmony_ci		version 300 es
7529e5c31af7Sopenharmony_ci
7530e5c31af7Sopenharmony_ci		both ""
7531e5c31af7Sopenharmony_ci			#version 300 es
7532e5c31af7Sopenharmony_ci			precision mediump float;
7533e5c31af7Sopenharmony_ci			precision mediump int;
7534e5c31af7Sopenharmony_ci
7535e5c31af7Sopenharmony_ci			${DECLARATIONS}
7536e5c31af7Sopenharmony_ci
7537e5c31af7Sopenharmony_ci			void main()
7538e5c31af7Sopenharmony_ci			{
7539e5c31af7Sopenharmony_ci				ivec4 c;
7540e5c31af7Sopenharmony_ci				ivec4 a;
7541e5c31af7Sopenharmony_ci				uint b;
7542e5c31af7Sopenharmony_ci				ivec4 c = a / b;
7543e5c31af7Sopenharmony_ci			}
7544e5c31af7Sopenharmony_ci		""
7545e5c31af7Sopenharmony_ci	end
7546e5c31af7Sopenharmony_ci	case div_ivec4_uint_uint
7547e5c31af7Sopenharmony_ci		expect compile_fail
7548e5c31af7Sopenharmony_ci		version 300 es
7549e5c31af7Sopenharmony_ci
7550e5c31af7Sopenharmony_ci		both ""
7551e5c31af7Sopenharmony_ci			#version 300 es
7552e5c31af7Sopenharmony_ci			precision mediump float;
7553e5c31af7Sopenharmony_ci			precision mediump int;
7554e5c31af7Sopenharmony_ci
7555e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7556e5c31af7Sopenharmony_ci
7557e5c31af7Sopenharmony_ci			void main()
7558e5c31af7Sopenharmony_ci			{
7559e5c31af7Sopenharmony_ci				uint c;
7560e5c31af7Sopenharmony_ci				ivec4 a;
7561e5c31af7Sopenharmony_ci				uint b;
7562e5c31af7Sopenharmony_ci				uint c = a / b;
7563e5c31af7Sopenharmony_ci			}
7564e5c31af7Sopenharmony_ci		""
7565e5c31af7Sopenharmony_ci	end
7566e5c31af7Sopenharmony_ci	case div_ivec4_uvec2_ivec4
7567e5c31af7Sopenharmony_ci		expect compile_fail
7568e5c31af7Sopenharmony_ci		version 300 es
7569e5c31af7Sopenharmony_ci
7570e5c31af7Sopenharmony_ci		both ""
7571e5c31af7Sopenharmony_ci			#version 300 es
7572e5c31af7Sopenharmony_ci			precision mediump float;
7573e5c31af7Sopenharmony_ci			precision mediump int;
7574e5c31af7Sopenharmony_ci
7575e5c31af7Sopenharmony_ci			${DECLARATIONS}
7576e5c31af7Sopenharmony_ci
7577e5c31af7Sopenharmony_ci			void main()
7578e5c31af7Sopenharmony_ci			{
7579e5c31af7Sopenharmony_ci				ivec4 c;
7580e5c31af7Sopenharmony_ci				ivec4 a;
7581e5c31af7Sopenharmony_ci				uvec2 b;
7582e5c31af7Sopenharmony_ci				ivec4 c = a / b;
7583e5c31af7Sopenharmony_ci			}
7584e5c31af7Sopenharmony_ci		""
7585e5c31af7Sopenharmony_ci	end
7586e5c31af7Sopenharmony_ci	case div_ivec4_uvec2_uvec2
7587e5c31af7Sopenharmony_ci		expect compile_fail
7588e5c31af7Sopenharmony_ci		version 300 es
7589e5c31af7Sopenharmony_ci
7590e5c31af7Sopenharmony_ci		both ""
7591e5c31af7Sopenharmony_ci			#version 300 es
7592e5c31af7Sopenharmony_ci			precision mediump float;
7593e5c31af7Sopenharmony_ci			precision mediump int;
7594e5c31af7Sopenharmony_ci
7595e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7596e5c31af7Sopenharmony_ci
7597e5c31af7Sopenharmony_ci			void main()
7598e5c31af7Sopenharmony_ci			{
7599e5c31af7Sopenharmony_ci				uvec2 c;
7600e5c31af7Sopenharmony_ci				ivec4 a;
7601e5c31af7Sopenharmony_ci				uvec2 b;
7602e5c31af7Sopenharmony_ci				uvec2 c = a / b;
7603e5c31af7Sopenharmony_ci			}
7604e5c31af7Sopenharmony_ci		""
7605e5c31af7Sopenharmony_ci	end
7606e5c31af7Sopenharmony_ci	case div_ivec4_uvec3_ivec4
7607e5c31af7Sopenharmony_ci		expect compile_fail
7608e5c31af7Sopenharmony_ci		version 300 es
7609e5c31af7Sopenharmony_ci
7610e5c31af7Sopenharmony_ci		both ""
7611e5c31af7Sopenharmony_ci			#version 300 es
7612e5c31af7Sopenharmony_ci			precision mediump float;
7613e5c31af7Sopenharmony_ci			precision mediump int;
7614e5c31af7Sopenharmony_ci
7615e5c31af7Sopenharmony_ci			${DECLARATIONS}
7616e5c31af7Sopenharmony_ci
7617e5c31af7Sopenharmony_ci			void main()
7618e5c31af7Sopenharmony_ci			{
7619e5c31af7Sopenharmony_ci				ivec4 c;
7620e5c31af7Sopenharmony_ci				ivec4 a;
7621e5c31af7Sopenharmony_ci				uvec3 b;
7622e5c31af7Sopenharmony_ci				ivec4 c = a / b;
7623e5c31af7Sopenharmony_ci			}
7624e5c31af7Sopenharmony_ci		""
7625e5c31af7Sopenharmony_ci	end
7626e5c31af7Sopenharmony_ci	case div_ivec4_uvec3_uvec3
7627e5c31af7Sopenharmony_ci		expect compile_fail
7628e5c31af7Sopenharmony_ci		version 300 es
7629e5c31af7Sopenharmony_ci
7630e5c31af7Sopenharmony_ci		both ""
7631e5c31af7Sopenharmony_ci			#version 300 es
7632e5c31af7Sopenharmony_ci			precision mediump float;
7633e5c31af7Sopenharmony_ci			precision mediump int;
7634e5c31af7Sopenharmony_ci
7635e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7636e5c31af7Sopenharmony_ci
7637e5c31af7Sopenharmony_ci			void main()
7638e5c31af7Sopenharmony_ci			{
7639e5c31af7Sopenharmony_ci				uvec3 c;
7640e5c31af7Sopenharmony_ci				ivec4 a;
7641e5c31af7Sopenharmony_ci				uvec3 b;
7642e5c31af7Sopenharmony_ci				uvec3 c = a / b;
7643e5c31af7Sopenharmony_ci			}
7644e5c31af7Sopenharmony_ci		""
7645e5c31af7Sopenharmony_ci	end
7646e5c31af7Sopenharmony_ci	case div_ivec4_uvec4_ivec4
7647e5c31af7Sopenharmony_ci		expect compile_fail
7648e5c31af7Sopenharmony_ci		version 300 es
7649e5c31af7Sopenharmony_ci
7650e5c31af7Sopenharmony_ci		both ""
7651e5c31af7Sopenharmony_ci			#version 300 es
7652e5c31af7Sopenharmony_ci			precision mediump float;
7653e5c31af7Sopenharmony_ci			precision mediump int;
7654e5c31af7Sopenharmony_ci
7655e5c31af7Sopenharmony_ci			${DECLARATIONS}
7656e5c31af7Sopenharmony_ci
7657e5c31af7Sopenharmony_ci			void main()
7658e5c31af7Sopenharmony_ci			{
7659e5c31af7Sopenharmony_ci				ivec4 c;
7660e5c31af7Sopenharmony_ci				ivec4 a;
7661e5c31af7Sopenharmony_ci				uvec4 b;
7662e5c31af7Sopenharmony_ci				ivec4 c = a / b;
7663e5c31af7Sopenharmony_ci			}
7664e5c31af7Sopenharmony_ci		""
7665e5c31af7Sopenharmony_ci	end
7666e5c31af7Sopenharmony_ci	case div_ivec4_uvec4_uvec4
7667e5c31af7Sopenharmony_ci		expect compile_fail
7668e5c31af7Sopenharmony_ci		version 300 es
7669e5c31af7Sopenharmony_ci
7670e5c31af7Sopenharmony_ci		both ""
7671e5c31af7Sopenharmony_ci			#version 300 es
7672e5c31af7Sopenharmony_ci			precision mediump float;
7673e5c31af7Sopenharmony_ci			precision mediump int;
7674e5c31af7Sopenharmony_ci
7675e5c31af7Sopenharmony_ci			 ${DECLARATIONS}
7676e5c31af7Sopenharmony_ci
7677e5c31af7Sopenharmony_ci			void main()
7678e5c31af7Sopenharmony_ci			{
7679e5c31af7Sopenharmony_ci				uvec4 c;
7680e5c31af7Sopenharmony_ci				ivec4 a;
7681e5c31af7Sopenharmony_ci				uvec4 b;
7682e5c31af7Sopenharmony_ci				uvec4 c = a / b;
7683e5c31af7Sopenharmony_ci			}
7684e5c31af7Sopenharmony_ci		""
7685e5c31af7Sopenharmony_ci	end
7686e5c31af7Sopenharmony_ci
7687e5c31af7Sopenharmony_ciend # invalid_implicit_conversions
7688