1b8e80941Smrg
2b8e80941Smrg#include "nir.h"
3b8e80941Smrg
4b8e80941Smrgnir_op
5b8e80941Smrgnir_type_conversion_op(nir_alu_type src, nir_alu_type dst, nir_rounding_mode rnd)
6b8e80941Smrg{
7b8e80941Smrg   nir_alu_type src_base = (nir_alu_type) nir_alu_type_get_base_type(src);
8b8e80941Smrg   nir_alu_type dst_base = (nir_alu_type) nir_alu_type_get_base_type(dst);
9b8e80941Smrg   unsigned src_bit_size = nir_alu_type_get_type_size(src);
10b8e80941Smrg   unsigned dst_bit_size = nir_alu_type_get_type_size(dst);
11b8e80941Smrg
12b8e80941Smrg   if (src == dst && src_base == nir_type_float) {
13b8e80941Smrg      return nir_op_fmov;
14b8e80941Smrg   } else if (src == dst && src_base == nir_type_bool) {
15b8e80941Smrg      return nir_op_imov;
16b8e80941Smrg   } else if ((src_base == nir_type_int || src_base == nir_type_uint) &&
17b8e80941Smrg              (dst_base == nir_type_int || dst_base == nir_type_uint) &&
18b8e80941Smrg              src_bit_size == dst_bit_size) {
19b8e80941Smrg      /* Integer <-> integer conversions with the same bit-size on both
20b8e80941Smrg       * ends are just no-op moves.
21b8e80941Smrg       */
22b8e80941Smrg      return nir_op_imov;
23b8e80941Smrg   }
24b8e80941Smrg
25b8e80941Smrg   switch (src_base) {
26b8e80941Smrg      case nir_type_int:
27b8e80941Smrg         switch (dst_base) {
28b8e80941Smrg            case nir_type_int:
29b8e80941Smrg            case nir_type_uint:
30b8e80941Smrg
31b8e80941Smrg               switch (dst_bit_size) {
32b8e80941Smrg                  case 1:
33b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
34b8e80941Smrg                     return nir_op_i2i1;
35b8e80941Smrg                  case 8:
36b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
37b8e80941Smrg                     return nir_op_i2i8;
38b8e80941Smrg                  case 16:
39b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
40b8e80941Smrg                     return nir_op_i2i16;
41b8e80941Smrg                  case 32:
42b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
43b8e80941Smrg                     return nir_op_i2i32;
44b8e80941Smrg                  case 64:
45b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
46b8e80941Smrg                     return nir_op_i2i64;
47b8e80941Smrg                  default:
48b8e80941Smrg                     unreachable("Invalid nir alu bit size");
49b8e80941Smrg               }
50b8e80941Smrg            case nir_type_float:
51b8e80941Smrg               switch (dst_bit_size) {
52b8e80941Smrg                  case 16:
53b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
54b8e80941Smrg                     return nir_op_i2f16;
55b8e80941Smrg                  case 32:
56b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
57b8e80941Smrg                     return nir_op_i2f32;
58b8e80941Smrg                  case 64:
59b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
60b8e80941Smrg                     return nir_op_i2f64;
61b8e80941Smrg                  default:
62b8e80941Smrg                     unreachable("Invalid nir alu bit size");
63b8e80941Smrg               }
64b8e80941Smrg            case nir_type_bool:
65b8e80941Smrg               switch (dst_bit_size) {
66b8e80941Smrg                  case 1:
67b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
68b8e80941Smrg                     return nir_op_i2b1;
69b8e80941Smrg                  case 32:
70b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
71b8e80941Smrg                     return nir_op_i2b32;
72b8e80941Smrg                  default:
73b8e80941Smrg                     unreachable("Invalid nir alu bit size");
74b8e80941Smrg               }
75b8e80941Smrg            default:
76b8e80941Smrg               unreachable("Invalid nir alu base type");
77b8e80941Smrg         }
78b8e80941Smrg      case nir_type_uint:
79b8e80941Smrg         switch (dst_base) {
80b8e80941Smrg            case nir_type_int:
81b8e80941Smrg            case nir_type_uint:
82b8e80941Smrg
83b8e80941Smrg               switch (dst_bit_size) {
84b8e80941Smrg                  case 1:
85b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
86b8e80941Smrg                     return nir_op_u2u1;
87b8e80941Smrg                  case 8:
88b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
89b8e80941Smrg                     return nir_op_u2u8;
90b8e80941Smrg                  case 16:
91b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
92b8e80941Smrg                     return nir_op_u2u16;
93b8e80941Smrg                  case 32:
94b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
95b8e80941Smrg                     return nir_op_u2u32;
96b8e80941Smrg                  case 64:
97b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
98b8e80941Smrg                     return nir_op_u2u64;
99b8e80941Smrg                  default:
100b8e80941Smrg                     unreachable("Invalid nir alu bit size");
101b8e80941Smrg               }
102b8e80941Smrg            case nir_type_float:
103b8e80941Smrg               switch (dst_bit_size) {
104b8e80941Smrg                  case 16:
105b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
106b8e80941Smrg                     return nir_op_u2f16;
107b8e80941Smrg                  case 32:
108b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
109b8e80941Smrg                     return nir_op_u2f32;
110b8e80941Smrg                  case 64:
111b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
112b8e80941Smrg                     return nir_op_u2f64;
113b8e80941Smrg                  default:
114b8e80941Smrg                     unreachable("Invalid nir alu bit size");
115b8e80941Smrg               }
116b8e80941Smrg            case nir_type_bool:
117b8e80941Smrg
118b8e80941Smrg               switch (dst_bit_size) {
119b8e80941Smrg                  case 1:
120b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
121b8e80941Smrg                     return nir_op_i2b1;
122b8e80941Smrg                  case 32:
123b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
124b8e80941Smrg                     return nir_op_i2b32;
125b8e80941Smrg                  default:
126b8e80941Smrg                     unreachable("Invalid nir alu bit size");
127b8e80941Smrg               }
128b8e80941Smrg            default:
129b8e80941Smrg               unreachable("Invalid nir alu base type");
130b8e80941Smrg         }
131b8e80941Smrg      case nir_type_float:
132b8e80941Smrg         switch (dst_base) {
133b8e80941Smrg            case nir_type_int:
134b8e80941Smrg               switch (dst_bit_size) {
135b8e80941Smrg                  case 1:
136b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
137b8e80941Smrg                     return nir_op_f2i1;
138b8e80941Smrg                  case 8:
139b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
140b8e80941Smrg                     return nir_op_f2i8;
141b8e80941Smrg                  case 16:
142b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
143b8e80941Smrg                     return nir_op_f2i16;
144b8e80941Smrg                  case 32:
145b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
146b8e80941Smrg                     return nir_op_f2i32;
147b8e80941Smrg                  case 64:
148b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
149b8e80941Smrg                     return nir_op_f2i64;
150b8e80941Smrg                  default:
151b8e80941Smrg                     unreachable("Invalid nir alu bit size");
152b8e80941Smrg               }
153b8e80941Smrg            case nir_type_uint:
154b8e80941Smrg               switch (dst_bit_size) {
155b8e80941Smrg                  case 1:
156b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
157b8e80941Smrg                     return nir_op_f2u1;
158b8e80941Smrg                  case 8:
159b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
160b8e80941Smrg                     return nir_op_f2u8;
161b8e80941Smrg                  case 16:
162b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
163b8e80941Smrg                     return nir_op_f2u16;
164b8e80941Smrg                  case 32:
165b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
166b8e80941Smrg                     return nir_op_f2u32;
167b8e80941Smrg                  case 64:
168b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
169b8e80941Smrg                     return nir_op_f2u64;
170b8e80941Smrg                  default:
171b8e80941Smrg                     unreachable("Invalid nir alu bit size");
172b8e80941Smrg               }
173b8e80941Smrg            case nir_type_float:
174b8e80941Smrg               switch (dst_bit_size) {
175b8e80941Smrg                  case 16:
176b8e80941Smrg                     switch(rnd) {
177b8e80941Smrg                        case nir_rounding_mode_rtne:
178b8e80941Smrg                           return nir_op_f2f16_rtne;
179b8e80941Smrg                        case nir_rounding_mode_rtz:
180b8e80941Smrg                           return nir_op_f2f16_rtz;
181b8e80941Smrg                        case nir_rounding_mode_undef:
182b8e80941Smrg                           return nir_op_f2f16;
183b8e80941Smrg                        default:
184b8e80941Smrg                           unreachable("Invalid 16-bit nir rounding mode");
185b8e80941Smrg                     }
186b8e80941Smrg                  case 32:
187b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
188b8e80941Smrg                     return nir_op_f2f32;
189b8e80941Smrg                  case 64:
190b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
191b8e80941Smrg                     return nir_op_f2f64;
192b8e80941Smrg                  default:
193b8e80941Smrg                     unreachable("Invalid nir alu bit size");
194b8e80941Smrg               }
195b8e80941Smrg            case nir_type_bool:
196b8e80941Smrg               switch (dst_bit_size) {
197b8e80941Smrg                  case 1:
198b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
199b8e80941Smrg                     return nir_op_f2b1;
200b8e80941Smrg                  case 32:
201b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
202b8e80941Smrg                     return nir_op_f2b32;
203b8e80941Smrg                  default:
204b8e80941Smrg                     unreachable("Invalid nir alu bit size");
205b8e80941Smrg               }
206b8e80941Smrg            default:
207b8e80941Smrg               unreachable("Invalid nir alu base type");
208b8e80941Smrg         }
209b8e80941Smrg      case nir_type_bool:
210b8e80941Smrg         switch (dst_base) {
211b8e80941Smrg            case nir_type_int:
212b8e80941Smrg            case nir_type_uint:
213b8e80941Smrg
214b8e80941Smrg               switch (dst_bit_size) {
215b8e80941Smrg                  case 1:
216b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
217b8e80941Smrg                     return nir_op_b2i1;
218b8e80941Smrg                  case 8:
219b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
220b8e80941Smrg                     return nir_op_b2i8;
221b8e80941Smrg                  case 16:
222b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
223b8e80941Smrg                     return nir_op_b2i16;
224b8e80941Smrg                  case 32:
225b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
226b8e80941Smrg                     return nir_op_b2i32;
227b8e80941Smrg                  case 64:
228b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
229b8e80941Smrg                     return nir_op_b2i64;
230b8e80941Smrg                  default:
231b8e80941Smrg                     unreachable("Invalid nir alu bit size");
232b8e80941Smrg               }
233b8e80941Smrg            case nir_type_float:
234b8e80941Smrg               switch (dst_bit_size) {
235b8e80941Smrg                  case 16:
236b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
237b8e80941Smrg                     return nir_op_b2f16;
238b8e80941Smrg                  case 32:
239b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
240b8e80941Smrg                     return nir_op_b2f32;
241b8e80941Smrg                  case 64:
242b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
243b8e80941Smrg                     return nir_op_b2f64;
244b8e80941Smrg                  default:
245b8e80941Smrg                     unreachable("Invalid nir alu bit size");
246b8e80941Smrg               }
247b8e80941Smrg            case nir_type_bool:
248b8e80941Smrg
249b8e80941Smrg               switch (dst_bit_size) {
250b8e80941Smrg                  case 1:
251b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
252b8e80941Smrg                     return nir_op_b2i1;
253b8e80941Smrg                  case 8:
254b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
255b8e80941Smrg                     return nir_op_b2i8;
256b8e80941Smrg                  case 16:
257b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
258b8e80941Smrg                     return nir_op_b2i16;
259b8e80941Smrg                  case 32:
260b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
261b8e80941Smrg                     return nir_op_b2i32;
262b8e80941Smrg                  case 64:
263b8e80941Smrg                     assert(rnd == nir_rounding_mode_undef);
264b8e80941Smrg                     return nir_op_b2i64;
265b8e80941Smrg                  default:
266b8e80941Smrg                     unreachable("Invalid nir alu bit size");
267b8e80941Smrg               }
268b8e80941Smrg            default:
269b8e80941Smrg               unreachable("Invalid nir alu base type");
270b8e80941Smrg         }
271b8e80941Smrg      default:
272b8e80941Smrg         unreachable("Invalid nir alu base type");
273b8e80941Smrg   }
274b8e80941Smrg}
275b8e80941Smrg
276b8e80941Smrgconst nir_op_info nir_op_infos[nir_num_opcodes] = {
277b8e80941Smrg{
278b8e80941Smrg   .name = "b2f16",
279b8e80941Smrg   .num_inputs = 1,
280b8e80941Smrg   .output_size = 0,
281b8e80941Smrg   .output_type = nir_type_float16,
282b8e80941Smrg   .input_sizes = {
283b8e80941Smrg      0
284b8e80941Smrg   },
285b8e80941Smrg   .input_types = {
286b8e80941Smrg      nir_type_bool
287b8e80941Smrg   },
288b8e80941Smrg   .is_conversion = true,
289b8e80941Smrg   .algebraic_properties =
290b8e80941Smrg      0
291b8e80941Smrg},
292b8e80941Smrg{
293b8e80941Smrg   .name = "b2f32",
294b8e80941Smrg   .num_inputs = 1,
295b8e80941Smrg   .output_size = 0,
296b8e80941Smrg   .output_type = nir_type_float32,
297b8e80941Smrg   .input_sizes = {
298b8e80941Smrg      0
299b8e80941Smrg   },
300b8e80941Smrg   .input_types = {
301b8e80941Smrg      nir_type_bool
302b8e80941Smrg   },
303b8e80941Smrg   .is_conversion = true,
304b8e80941Smrg   .algebraic_properties =
305b8e80941Smrg      0
306b8e80941Smrg},
307b8e80941Smrg{
308b8e80941Smrg   .name = "b2f64",
309b8e80941Smrg   .num_inputs = 1,
310b8e80941Smrg   .output_size = 0,
311b8e80941Smrg   .output_type = nir_type_float64,
312b8e80941Smrg   .input_sizes = {
313b8e80941Smrg      0
314b8e80941Smrg   },
315b8e80941Smrg   .input_types = {
316b8e80941Smrg      nir_type_bool
317b8e80941Smrg   },
318b8e80941Smrg   .is_conversion = true,
319b8e80941Smrg   .algebraic_properties =
320b8e80941Smrg      0
321b8e80941Smrg},
322b8e80941Smrg{
323b8e80941Smrg   .name = "b2i1",
324b8e80941Smrg   .num_inputs = 1,
325b8e80941Smrg   .output_size = 0,
326b8e80941Smrg   .output_type = nir_type_int1,
327b8e80941Smrg   .input_sizes = {
328b8e80941Smrg      0
329b8e80941Smrg   },
330b8e80941Smrg   .input_types = {
331b8e80941Smrg      nir_type_bool
332b8e80941Smrg   },
333b8e80941Smrg   .is_conversion = true,
334b8e80941Smrg   .algebraic_properties =
335b8e80941Smrg      0
336b8e80941Smrg},
337b8e80941Smrg{
338b8e80941Smrg   .name = "b2i16",
339b8e80941Smrg   .num_inputs = 1,
340b8e80941Smrg   .output_size = 0,
341b8e80941Smrg   .output_type = nir_type_int16,
342b8e80941Smrg   .input_sizes = {
343b8e80941Smrg      0
344b8e80941Smrg   },
345b8e80941Smrg   .input_types = {
346b8e80941Smrg      nir_type_bool
347b8e80941Smrg   },
348b8e80941Smrg   .is_conversion = true,
349b8e80941Smrg   .algebraic_properties =
350b8e80941Smrg      0
351b8e80941Smrg},
352b8e80941Smrg{
353b8e80941Smrg   .name = "b2i32",
354b8e80941Smrg   .num_inputs = 1,
355b8e80941Smrg   .output_size = 0,
356b8e80941Smrg   .output_type = nir_type_int32,
357b8e80941Smrg   .input_sizes = {
358b8e80941Smrg      0
359b8e80941Smrg   },
360b8e80941Smrg   .input_types = {
361b8e80941Smrg      nir_type_bool
362b8e80941Smrg   },
363b8e80941Smrg   .is_conversion = true,
364b8e80941Smrg   .algebraic_properties =
365b8e80941Smrg      0
366b8e80941Smrg},
367b8e80941Smrg{
368b8e80941Smrg   .name = "b2i64",
369b8e80941Smrg   .num_inputs = 1,
370b8e80941Smrg   .output_size = 0,
371b8e80941Smrg   .output_type = nir_type_int64,
372b8e80941Smrg   .input_sizes = {
373b8e80941Smrg      0
374b8e80941Smrg   },
375b8e80941Smrg   .input_types = {
376b8e80941Smrg      nir_type_bool
377b8e80941Smrg   },
378b8e80941Smrg   .is_conversion = true,
379b8e80941Smrg   .algebraic_properties =
380b8e80941Smrg      0
381b8e80941Smrg},
382b8e80941Smrg{
383b8e80941Smrg   .name = "b2i8",
384b8e80941Smrg   .num_inputs = 1,
385b8e80941Smrg   .output_size = 0,
386b8e80941Smrg   .output_type = nir_type_int8,
387b8e80941Smrg   .input_sizes = {
388b8e80941Smrg      0
389b8e80941Smrg   },
390b8e80941Smrg   .input_types = {
391b8e80941Smrg      nir_type_bool
392b8e80941Smrg   },
393b8e80941Smrg   .is_conversion = true,
394b8e80941Smrg   .algebraic_properties =
395b8e80941Smrg      0
396b8e80941Smrg},
397b8e80941Smrg{
398b8e80941Smrg   .name = "b32all_fequal2",
399b8e80941Smrg   .num_inputs = 2,
400b8e80941Smrg   .output_size = 1,
401b8e80941Smrg   .output_type = nir_type_bool32,
402b8e80941Smrg   .input_sizes = {
403b8e80941Smrg      2, 2
404b8e80941Smrg   },
405b8e80941Smrg   .input_types = {
406b8e80941Smrg      nir_type_float, nir_type_float
407b8e80941Smrg   },
408b8e80941Smrg   .is_conversion = false,
409b8e80941Smrg   .algebraic_properties =
410b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
411b8e80941Smrg},
412b8e80941Smrg{
413b8e80941Smrg   .name = "b32all_fequal3",
414b8e80941Smrg   .num_inputs = 2,
415b8e80941Smrg   .output_size = 1,
416b8e80941Smrg   .output_type = nir_type_bool32,
417b8e80941Smrg   .input_sizes = {
418b8e80941Smrg      3, 3
419b8e80941Smrg   },
420b8e80941Smrg   .input_types = {
421b8e80941Smrg      nir_type_float, nir_type_float
422b8e80941Smrg   },
423b8e80941Smrg   .is_conversion = false,
424b8e80941Smrg   .algebraic_properties =
425b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
426b8e80941Smrg},
427b8e80941Smrg{
428b8e80941Smrg   .name = "b32all_fequal4",
429b8e80941Smrg   .num_inputs = 2,
430b8e80941Smrg   .output_size = 1,
431b8e80941Smrg   .output_type = nir_type_bool32,
432b8e80941Smrg   .input_sizes = {
433b8e80941Smrg      4, 4
434b8e80941Smrg   },
435b8e80941Smrg   .input_types = {
436b8e80941Smrg      nir_type_float, nir_type_float
437b8e80941Smrg   },
438b8e80941Smrg   .is_conversion = false,
439b8e80941Smrg   .algebraic_properties =
440b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
441b8e80941Smrg},
442b8e80941Smrg{
443b8e80941Smrg   .name = "b32all_iequal2",
444b8e80941Smrg   .num_inputs = 2,
445b8e80941Smrg   .output_size = 1,
446b8e80941Smrg   .output_type = nir_type_bool32,
447b8e80941Smrg   .input_sizes = {
448b8e80941Smrg      2, 2
449b8e80941Smrg   },
450b8e80941Smrg   .input_types = {
451b8e80941Smrg      nir_type_int, nir_type_int
452b8e80941Smrg   },
453b8e80941Smrg   .is_conversion = false,
454b8e80941Smrg   .algebraic_properties =
455b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
456b8e80941Smrg},
457b8e80941Smrg{
458b8e80941Smrg   .name = "b32all_iequal3",
459b8e80941Smrg   .num_inputs = 2,
460b8e80941Smrg   .output_size = 1,
461b8e80941Smrg   .output_type = nir_type_bool32,
462b8e80941Smrg   .input_sizes = {
463b8e80941Smrg      3, 3
464b8e80941Smrg   },
465b8e80941Smrg   .input_types = {
466b8e80941Smrg      nir_type_int, nir_type_int
467b8e80941Smrg   },
468b8e80941Smrg   .is_conversion = false,
469b8e80941Smrg   .algebraic_properties =
470b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
471b8e80941Smrg},
472b8e80941Smrg{
473b8e80941Smrg   .name = "b32all_iequal4",
474b8e80941Smrg   .num_inputs = 2,
475b8e80941Smrg   .output_size = 1,
476b8e80941Smrg   .output_type = nir_type_bool32,
477b8e80941Smrg   .input_sizes = {
478b8e80941Smrg      4, 4
479b8e80941Smrg   },
480b8e80941Smrg   .input_types = {
481b8e80941Smrg      nir_type_int, nir_type_int
482b8e80941Smrg   },
483b8e80941Smrg   .is_conversion = false,
484b8e80941Smrg   .algebraic_properties =
485b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
486b8e80941Smrg},
487b8e80941Smrg{
488b8e80941Smrg   .name = "b32any_fnequal2",
489b8e80941Smrg   .num_inputs = 2,
490b8e80941Smrg   .output_size = 1,
491b8e80941Smrg   .output_type = nir_type_bool32,
492b8e80941Smrg   .input_sizes = {
493b8e80941Smrg      2, 2
494b8e80941Smrg   },
495b8e80941Smrg   .input_types = {
496b8e80941Smrg      nir_type_float, nir_type_float
497b8e80941Smrg   },
498b8e80941Smrg   .is_conversion = false,
499b8e80941Smrg   .algebraic_properties =
500b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
501b8e80941Smrg},
502b8e80941Smrg{
503b8e80941Smrg   .name = "b32any_fnequal3",
504b8e80941Smrg   .num_inputs = 2,
505b8e80941Smrg   .output_size = 1,
506b8e80941Smrg   .output_type = nir_type_bool32,
507b8e80941Smrg   .input_sizes = {
508b8e80941Smrg      3, 3
509b8e80941Smrg   },
510b8e80941Smrg   .input_types = {
511b8e80941Smrg      nir_type_float, nir_type_float
512b8e80941Smrg   },
513b8e80941Smrg   .is_conversion = false,
514b8e80941Smrg   .algebraic_properties =
515b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
516b8e80941Smrg},
517b8e80941Smrg{
518b8e80941Smrg   .name = "b32any_fnequal4",
519b8e80941Smrg   .num_inputs = 2,
520b8e80941Smrg   .output_size = 1,
521b8e80941Smrg   .output_type = nir_type_bool32,
522b8e80941Smrg   .input_sizes = {
523b8e80941Smrg      4, 4
524b8e80941Smrg   },
525b8e80941Smrg   .input_types = {
526b8e80941Smrg      nir_type_float, nir_type_float
527b8e80941Smrg   },
528b8e80941Smrg   .is_conversion = false,
529b8e80941Smrg   .algebraic_properties =
530b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
531b8e80941Smrg},
532b8e80941Smrg{
533b8e80941Smrg   .name = "b32any_inequal2",
534b8e80941Smrg   .num_inputs = 2,
535b8e80941Smrg   .output_size = 1,
536b8e80941Smrg   .output_type = nir_type_bool32,
537b8e80941Smrg   .input_sizes = {
538b8e80941Smrg      2, 2
539b8e80941Smrg   },
540b8e80941Smrg   .input_types = {
541b8e80941Smrg      nir_type_int, nir_type_int
542b8e80941Smrg   },
543b8e80941Smrg   .is_conversion = false,
544b8e80941Smrg   .algebraic_properties =
545b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
546b8e80941Smrg},
547b8e80941Smrg{
548b8e80941Smrg   .name = "b32any_inequal3",
549b8e80941Smrg   .num_inputs = 2,
550b8e80941Smrg   .output_size = 1,
551b8e80941Smrg   .output_type = nir_type_bool32,
552b8e80941Smrg   .input_sizes = {
553b8e80941Smrg      3, 3
554b8e80941Smrg   },
555b8e80941Smrg   .input_types = {
556b8e80941Smrg      nir_type_int, nir_type_int
557b8e80941Smrg   },
558b8e80941Smrg   .is_conversion = false,
559b8e80941Smrg   .algebraic_properties =
560b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
561b8e80941Smrg},
562b8e80941Smrg{
563b8e80941Smrg   .name = "b32any_inequal4",
564b8e80941Smrg   .num_inputs = 2,
565b8e80941Smrg   .output_size = 1,
566b8e80941Smrg   .output_type = nir_type_bool32,
567b8e80941Smrg   .input_sizes = {
568b8e80941Smrg      4, 4
569b8e80941Smrg   },
570b8e80941Smrg   .input_types = {
571b8e80941Smrg      nir_type_int, nir_type_int
572b8e80941Smrg   },
573b8e80941Smrg   .is_conversion = false,
574b8e80941Smrg   .algebraic_properties =
575b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
576b8e80941Smrg},
577b8e80941Smrg{
578b8e80941Smrg   .name = "b32csel",
579b8e80941Smrg   .num_inputs = 3,
580b8e80941Smrg   .output_size = 0,
581b8e80941Smrg   .output_type = nir_type_uint,
582b8e80941Smrg   .input_sizes = {
583b8e80941Smrg      0, 0, 0
584b8e80941Smrg   },
585b8e80941Smrg   .input_types = {
586b8e80941Smrg      nir_type_bool32, nir_type_uint, nir_type_uint
587b8e80941Smrg   },
588b8e80941Smrg   .is_conversion = false,
589b8e80941Smrg   .algebraic_properties =
590b8e80941Smrg      0
591b8e80941Smrg},
592b8e80941Smrg{
593b8e80941Smrg   .name = "ball_fequal2",
594b8e80941Smrg   .num_inputs = 2,
595b8e80941Smrg   .output_size = 1,
596b8e80941Smrg   .output_type = nir_type_bool1,
597b8e80941Smrg   .input_sizes = {
598b8e80941Smrg      2, 2
599b8e80941Smrg   },
600b8e80941Smrg   .input_types = {
601b8e80941Smrg      nir_type_float, nir_type_float
602b8e80941Smrg   },
603b8e80941Smrg   .is_conversion = false,
604b8e80941Smrg   .algebraic_properties =
605b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
606b8e80941Smrg},
607b8e80941Smrg{
608b8e80941Smrg   .name = "ball_fequal3",
609b8e80941Smrg   .num_inputs = 2,
610b8e80941Smrg   .output_size = 1,
611b8e80941Smrg   .output_type = nir_type_bool1,
612b8e80941Smrg   .input_sizes = {
613b8e80941Smrg      3, 3
614b8e80941Smrg   },
615b8e80941Smrg   .input_types = {
616b8e80941Smrg      nir_type_float, nir_type_float
617b8e80941Smrg   },
618b8e80941Smrg   .is_conversion = false,
619b8e80941Smrg   .algebraic_properties =
620b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
621b8e80941Smrg},
622b8e80941Smrg{
623b8e80941Smrg   .name = "ball_fequal4",
624b8e80941Smrg   .num_inputs = 2,
625b8e80941Smrg   .output_size = 1,
626b8e80941Smrg   .output_type = nir_type_bool1,
627b8e80941Smrg   .input_sizes = {
628b8e80941Smrg      4, 4
629b8e80941Smrg   },
630b8e80941Smrg   .input_types = {
631b8e80941Smrg      nir_type_float, nir_type_float
632b8e80941Smrg   },
633b8e80941Smrg   .is_conversion = false,
634b8e80941Smrg   .algebraic_properties =
635b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
636b8e80941Smrg},
637b8e80941Smrg{
638b8e80941Smrg   .name = "ball_iequal2",
639b8e80941Smrg   .num_inputs = 2,
640b8e80941Smrg   .output_size = 1,
641b8e80941Smrg   .output_type = nir_type_bool1,
642b8e80941Smrg   .input_sizes = {
643b8e80941Smrg      2, 2
644b8e80941Smrg   },
645b8e80941Smrg   .input_types = {
646b8e80941Smrg      nir_type_int, nir_type_int
647b8e80941Smrg   },
648b8e80941Smrg   .is_conversion = false,
649b8e80941Smrg   .algebraic_properties =
650b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
651b8e80941Smrg},
652b8e80941Smrg{
653b8e80941Smrg   .name = "ball_iequal3",
654b8e80941Smrg   .num_inputs = 2,
655b8e80941Smrg   .output_size = 1,
656b8e80941Smrg   .output_type = nir_type_bool1,
657b8e80941Smrg   .input_sizes = {
658b8e80941Smrg      3, 3
659b8e80941Smrg   },
660b8e80941Smrg   .input_types = {
661b8e80941Smrg      nir_type_int, nir_type_int
662b8e80941Smrg   },
663b8e80941Smrg   .is_conversion = false,
664b8e80941Smrg   .algebraic_properties =
665b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
666b8e80941Smrg},
667b8e80941Smrg{
668b8e80941Smrg   .name = "ball_iequal4",
669b8e80941Smrg   .num_inputs = 2,
670b8e80941Smrg   .output_size = 1,
671b8e80941Smrg   .output_type = nir_type_bool1,
672b8e80941Smrg   .input_sizes = {
673b8e80941Smrg      4, 4
674b8e80941Smrg   },
675b8e80941Smrg   .input_types = {
676b8e80941Smrg      nir_type_int, nir_type_int
677b8e80941Smrg   },
678b8e80941Smrg   .is_conversion = false,
679b8e80941Smrg   .algebraic_properties =
680b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
681b8e80941Smrg},
682b8e80941Smrg{
683b8e80941Smrg   .name = "bany_fnequal2",
684b8e80941Smrg   .num_inputs = 2,
685b8e80941Smrg   .output_size = 1,
686b8e80941Smrg   .output_type = nir_type_bool1,
687b8e80941Smrg   .input_sizes = {
688b8e80941Smrg      2, 2
689b8e80941Smrg   },
690b8e80941Smrg   .input_types = {
691b8e80941Smrg      nir_type_float, nir_type_float
692b8e80941Smrg   },
693b8e80941Smrg   .is_conversion = false,
694b8e80941Smrg   .algebraic_properties =
695b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
696b8e80941Smrg},
697b8e80941Smrg{
698b8e80941Smrg   .name = "bany_fnequal3",
699b8e80941Smrg   .num_inputs = 2,
700b8e80941Smrg   .output_size = 1,
701b8e80941Smrg   .output_type = nir_type_bool1,
702b8e80941Smrg   .input_sizes = {
703b8e80941Smrg      3, 3
704b8e80941Smrg   },
705b8e80941Smrg   .input_types = {
706b8e80941Smrg      nir_type_float, nir_type_float
707b8e80941Smrg   },
708b8e80941Smrg   .is_conversion = false,
709b8e80941Smrg   .algebraic_properties =
710b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
711b8e80941Smrg},
712b8e80941Smrg{
713b8e80941Smrg   .name = "bany_fnequal4",
714b8e80941Smrg   .num_inputs = 2,
715b8e80941Smrg   .output_size = 1,
716b8e80941Smrg   .output_type = nir_type_bool1,
717b8e80941Smrg   .input_sizes = {
718b8e80941Smrg      4, 4
719b8e80941Smrg   },
720b8e80941Smrg   .input_types = {
721b8e80941Smrg      nir_type_float, nir_type_float
722b8e80941Smrg   },
723b8e80941Smrg   .is_conversion = false,
724b8e80941Smrg   .algebraic_properties =
725b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
726b8e80941Smrg},
727b8e80941Smrg{
728b8e80941Smrg   .name = "bany_inequal2",
729b8e80941Smrg   .num_inputs = 2,
730b8e80941Smrg   .output_size = 1,
731b8e80941Smrg   .output_type = nir_type_bool1,
732b8e80941Smrg   .input_sizes = {
733b8e80941Smrg      2, 2
734b8e80941Smrg   },
735b8e80941Smrg   .input_types = {
736b8e80941Smrg      nir_type_int, nir_type_int
737b8e80941Smrg   },
738b8e80941Smrg   .is_conversion = false,
739b8e80941Smrg   .algebraic_properties =
740b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
741b8e80941Smrg},
742b8e80941Smrg{
743b8e80941Smrg   .name = "bany_inequal3",
744b8e80941Smrg   .num_inputs = 2,
745b8e80941Smrg   .output_size = 1,
746b8e80941Smrg   .output_type = nir_type_bool1,
747b8e80941Smrg   .input_sizes = {
748b8e80941Smrg      3, 3
749b8e80941Smrg   },
750b8e80941Smrg   .input_types = {
751b8e80941Smrg      nir_type_int, nir_type_int
752b8e80941Smrg   },
753b8e80941Smrg   .is_conversion = false,
754b8e80941Smrg   .algebraic_properties =
755b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
756b8e80941Smrg},
757b8e80941Smrg{
758b8e80941Smrg   .name = "bany_inequal4",
759b8e80941Smrg   .num_inputs = 2,
760b8e80941Smrg   .output_size = 1,
761b8e80941Smrg   .output_type = nir_type_bool1,
762b8e80941Smrg   .input_sizes = {
763b8e80941Smrg      4, 4
764b8e80941Smrg   },
765b8e80941Smrg   .input_types = {
766b8e80941Smrg      nir_type_int, nir_type_int
767b8e80941Smrg   },
768b8e80941Smrg   .is_conversion = false,
769b8e80941Smrg   .algebraic_properties =
770b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
771b8e80941Smrg},
772b8e80941Smrg{
773b8e80941Smrg   .name = "bcsel",
774b8e80941Smrg   .num_inputs = 3,
775b8e80941Smrg   .output_size = 0,
776b8e80941Smrg   .output_type = nir_type_uint,
777b8e80941Smrg   .input_sizes = {
778b8e80941Smrg      0, 0, 0
779b8e80941Smrg   },
780b8e80941Smrg   .input_types = {
781b8e80941Smrg      nir_type_bool1, nir_type_uint, nir_type_uint
782b8e80941Smrg   },
783b8e80941Smrg   .is_conversion = false,
784b8e80941Smrg   .algebraic_properties =
785b8e80941Smrg      0
786b8e80941Smrg},
787b8e80941Smrg{
788b8e80941Smrg   .name = "bfi",
789b8e80941Smrg   .num_inputs = 3,
790b8e80941Smrg   .output_size = 0,
791b8e80941Smrg   .output_type = nir_type_uint32,
792b8e80941Smrg   .input_sizes = {
793b8e80941Smrg      0, 0, 0
794b8e80941Smrg   },
795b8e80941Smrg   .input_types = {
796b8e80941Smrg      nir_type_uint32, nir_type_uint32, nir_type_uint32
797b8e80941Smrg   },
798b8e80941Smrg   .is_conversion = false,
799b8e80941Smrg   .algebraic_properties =
800b8e80941Smrg      0
801b8e80941Smrg},
802b8e80941Smrg{
803b8e80941Smrg   .name = "bfm",
804b8e80941Smrg   .num_inputs = 2,
805b8e80941Smrg   .output_size = 0,
806b8e80941Smrg   .output_type = nir_type_uint32,
807b8e80941Smrg   .input_sizes = {
808b8e80941Smrg      0, 0
809b8e80941Smrg   },
810b8e80941Smrg   .input_types = {
811b8e80941Smrg      nir_type_int32, nir_type_int32
812b8e80941Smrg   },
813b8e80941Smrg   .is_conversion = false,
814b8e80941Smrg   .algebraic_properties =
815b8e80941Smrg      0
816b8e80941Smrg},
817b8e80941Smrg{
818b8e80941Smrg   .name = "bit_count",
819b8e80941Smrg   .num_inputs = 1,
820b8e80941Smrg   .output_size = 0,
821b8e80941Smrg   .output_type = nir_type_uint32,
822b8e80941Smrg   .input_sizes = {
823b8e80941Smrg      0
824b8e80941Smrg   },
825b8e80941Smrg   .input_types = {
826b8e80941Smrg      nir_type_uint
827b8e80941Smrg   },
828b8e80941Smrg   .is_conversion = false,
829b8e80941Smrg   .algebraic_properties =
830b8e80941Smrg      0
831b8e80941Smrg},
832b8e80941Smrg{
833b8e80941Smrg   .name = "bitfield_insert",
834b8e80941Smrg   .num_inputs = 4,
835b8e80941Smrg   .output_size = 0,
836b8e80941Smrg   .output_type = nir_type_uint32,
837b8e80941Smrg   .input_sizes = {
838b8e80941Smrg      0, 0, 0, 0
839b8e80941Smrg   },
840b8e80941Smrg   .input_types = {
841b8e80941Smrg      nir_type_uint32, nir_type_uint32, nir_type_int32, nir_type_int32
842b8e80941Smrg   },
843b8e80941Smrg   .is_conversion = false,
844b8e80941Smrg   .algebraic_properties =
845b8e80941Smrg      0
846b8e80941Smrg},
847b8e80941Smrg{
848b8e80941Smrg   .name = "bitfield_reverse",
849b8e80941Smrg   .num_inputs = 1,
850b8e80941Smrg   .output_size = 0,
851b8e80941Smrg   .output_type = nir_type_uint32,
852b8e80941Smrg   .input_sizes = {
853b8e80941Smrg      0
854b8e80941Smrg   },
855b8e80941Smrg   .input_types = {
856b8e80941Smrg      nir_type_uint32
857b8e80941Smrg   },
858b8e80941Smrg   .is_conversion = false,
859b8e80941Smrg   .algebraic_properties =
860b8e80941Smrg      0
861b8e80941Smrg},
862b8e80941Smrg{
863b8e80941Smrg   .name = "cube_face_coord",
864b8e80941Smrg   .num_inputs = 1,
865b8e80941Smrg   .output_size = 2,
866b8e80941Smrg   .output_type = nir_type_float32,
867b8e80941Smrg   .input_sizes = {
868b8e80941Smrg      3
869b8e80941Smrg   },
870b8e80941Smrg   .input_types = {
871b8e80941Smrg      nir_type_float32
872b8e80941Smrg   },
873b8e80941Smrg   .is_conversion = false,
874b8e80941Smrg   .algebraic_properties =
875b8e80941Smrg      0
876b8e80941Smrg},
877b8e80941Smrg{
878b8e80941Smrg   .name = "cube_face_index",
879b8e80941Smrg   .num_inputs = 1,
880b8e80941Smrg   .output_size = 1,
881b8e80941Smrg   .output_type = nir_type_float32,
882b8e80941Smrg   .input_sizes = {
883b8e80941Smrg      3
884b8e80941Smrg   },
885b8e80941Smrg   .input_types = {
886b8e80941Smrg      nir_type_float32
887b8e80941Smrg   },
888b8e80941Smrg   .is_conversion = false,
889b8e80941Smrg   .algebraic_properties =
890b8e80941Smrg      0
891b8e80941Smrg},
892b8e80941Smrg{
893b8e80941Smrg   .name = "extract_i16",
894b8e80941Smrg   .num_inputs = 2,
895b8e80941Smrg   .output_size = 0,
896b8e80941Smrg   .output_type = nir_type_int,
897b8e80941Smrg   .input_sizes = {
898b8e80941Smrg      0, 0
899b8e80941Smrg   },
900b8e80941Smrg   .input_types = {
901b8e80941Smrg      nir_type_int, nir_type_int
902b8e80941Smrg   },
903b8e80941Smrg   .is_conversion = false,
904b8e80941Smrg   .algebraic_properties =
905b8e80941Smrg      0
906b8e80941Smrg},
907b8e80941Smrg{
908b8e80941Smrg   .name = "extract_i8",
909b8e80941Smrg   .num_inputs = 2,
910b8e80941Smrg   .output_size = 0,
911b8e80941Smrg   .output_type = nir_type_int,
912b8e80941Smrg   .input_sizes = {
913b8e80941Smrg      0, 0
914b8e80941Smrg   },
915b8e80941Smrg   .input_types = {
916b8e80941Smrg      nir_type_int, nir_type_int
917b8e80941Smrg   },
918b8e80941Smrg   .is_conversion = false,
919b8e80941Smrg   .algebraic_properties =
920b8e80941Smrg      0
921b8e80941Smrg},
922b8e80941Smrg{
923b8e80941Smrg   .name = "extract_u16",
924b8e80941Smrg   .num_inputs = 2,
925b8e80941Smrg   .output_size = 0,
926b8e80941Smrg   .output_type = nir_type_uint,
927b8e80941Smrg   .input_sizes = {
928b8e80941Smrg      0, 0
929b8e80941Smrg   },
930b8e80941Smrg   .input_types = {
931b8e80941Smrg      nir_type_uint, nir_type_uint
932b8e80941Smrg   },
933b8e80941Smrg   .is_conversion = false,
934b8e80941Smrg   .algebraic_properties =
935b8e80941Smrg      0
936b8e80941Smrg},
937b8e80941Smrg{
938b8e80941Smrg   .name = "extract_u8",
939b8e80941Smrg   .num_inputs = 2,
940b8e80941Smrg   .output_size = 0,
941b8e80941Smrg   .output_type = nir_type_uint,
942b8e80941Smrg   .input_sizes = {
943b8e80941Smrg      0, 0
944b8e80941Smrg   },
945b8e80941Smrg   .input_types = {
946b8e80941Smrg      nir_type_uint, nir_type_uint
947b8e80941Smrg   },
948b8e80941Smrg   .is_conversion = false,
949b8e80941Smrg   .algebraic_properties =
950b8e80941Smrg      0
951b8e80941Smrg},
952b8e80941Smrg{
953b8e80941Smrg   .name = "f2b1",
954b8e80941Smrg   .num_inputs = 1,
955b8e80941Smrg   .output_size = 0,
956b8e80941Smrg   .output_type = nir_type_bool1,
957b8e80941Smrg   .input_sizes = {
958b8e80941Smrg      0
959b8e80941Smrg   },
960b8e80941Smrg   .input_types = {
961b8e80941Smrg      nir_type_float
962b8e80941Smrg   },
963b8e80941Smrg   .is_conversion = true,
964b8e80941Smrg   .algebraic_properties =
965b8e80941Smrg      0
966b8e80941Smrg},
967b8e80941Smrg{
968b8e80941Smrg   .name = "f2b32",
969b8e80941Smrg   .num_inputs = 1,
970b8e80941Smrg   .output_size = 0,
971b8e80941Smrg   .output_type = nir_type_bool32,
972b8e80941Smrg   .input_sizes = {
973b8e80941Smrg      0
974b8e80941Smrg   },
975b8e80941Smrg   .input_types = {
976b8e80941Smrg      nir_type_float
977b8e80941Smrg   },
978b8e80941Smrg   .is_conversion = true,
979b8e80941Smrg   .algebraic_properties =
980b8e80941Smrg      0
981b8e80941Smrg},
982b8e80941Smrg{
983b8e80941Smrg   .name = "f2f16",
984b8e80941Smrg   .num_inputs = 1,
985b8e80941Smrg   .output_size = 0,
986b8e80941Smrg   .output_type = nir_type_float16,
987b8e80941Smrg   .input_sizes = {
988b8e80941Smrg      0
989b8e80941Smrg   },
990b8e80941Smrg   .input_types = {
991b8e80941Smrg      nir_type_float
992b8e80941Smrg   },
993b8e80941Smrg   .is_conversion = true,
994b8e80941Smrg   .algebraic_properties =
995b8e80941Smrg      0
996b8e80941Smrg},
997b8e80941Smrg{
998b8e80941Smrg   .name = "f2f16_rtne",
999b8e80941Smrg   .num_inputs = 1,
1000b8e80941Smrg   .output_size = 0,
1001b8e80941Smrg   .output_type = nir_type_float16,
1002b8e80941Smrg   .input_sizes = {
1003b8e80941Smrg      0
1004b8e80941Smrg   },
1005b8e80941Smrg   .input_types = {
1006b8e80941Smrg      nir_type_float
1007b8e80941Smrg   },
1008b8e80941Smrg   .is_conversion = true,
1009b8e80941Smrg   .algebraic_properties =
1010b8e80941Smrg      0
1011b8e80941Smrg},
1012b8e80941Smrg{
1013b8e80941Smrg   .name = "f2f16_rtz",
1014b8e80941Smrg   .num_inputs = 1,
1015b8e80941Smrg   .output_size = 0,
1016b8e80941Smrg   .output_type = nir_type_float16,
1017b8e80941Smrg   .input_sizes = {
1018b8e80941Smrg      0
1019b8e80941Smrg   },
1020b8e80941Smrg   .input_types = {
1021b8e80941Smrg      nir_type_float
1022b8e80941Smrg   },
1023b8e80941Smrg   .is_conversion = true,
1024b8e80941Smrg   .algebraic_properties =
1025b8e80941Smrg      0
1026b8e80941Smrg},
1027b8e80941Smrg{
1028b8e80941Smrg   .name = "f2f32",
1029b8e80941Smrg   .num_inputs = 1,
1030b8e80941Smrg   .output_size = 0,
1031b8e80941Smrg   .output_type = nir_type_float32,
1032b8e80941Smrg   .input_sizes = {
1033b8e80941Smrg      0
1034b8e80941Smrg   },
1035b8e80941Smrg   .input_types = {
1036b8e80941Smrg      nir_type_float
1037b8e80941Smrg   },
1038b8e80941Smrg   .is_conversion = true,
1039b8e80941Smrg   .algebraic_properties =
1040b8e80941Smrg      0
1041b8e80941Smrg},
1042b8e80941Smrg{
1043b8e80941Smrg   .name = "f2f64",
1044b8e80941Smrg   .num_inputs = 1,
1045b8e80941Smrg   .output_size = 0,
1046b8e80941Smrg   .output_type = nir_type_float64,
1047b8e80941Smrg   .input_sizes = {
1048b8e80941Smrg      0
1049b8e80941Smrg   },
1050b8e80941Smrg   .input_types = {
1051b8e80941Smrg      nir_type_float
1052b8e80941Smrg   },
1053b8e80941Smrg   .is_conversion = true,
1054b8e80941Smrg   .algebraic_properties =
1055b8e80941Smrg      0
1056b8e80941Smrg},
1057b8e80941Smrg{
1058b8e80941Smrg   .name = "f2i1",
1059b8e80941Smrg   .num_inputs = 1,
1060b8e80941Smrg   .output_size = 0,
1061b8e80941Smrg   .output_type = nir_type_int1,
1062b8e80941Smrg   .input_sizes = {
1063b8e80941Smrg      0
1064b8e80941Smrg   },
1065b8e80941Smrg   .input_types = {
1066b8e80941Smrg      nir_type_float
1067b8e80941Smrg   },
1068b8e80941Smrg   .is_conversion = true,
1069b8e80941Smrg   .algebraic_properties =
1070b8e80941Smrg      0
1071b8e80941Smrg},
1072b8e80941Smrg{
1073b8e80941Smrg   .name = "f2i16",
1074b8e80941Smrg   .num_inputs = 1,
1075b8e80941Smrg   .output_size = 0,
1076b8e80941Smrg   .output_type = nir_type_int16,
1077b8e80941Smrg   .input_sizes = {
1078b8e80941Smrg      0
1079b8e80941Smrg   },
1080b8e80941Smrg   .input_types = {
1081b8e80941Smrg      nir_type_float
1082b8e80941Smrg   },
1083b8e80941Smrg   .is_conversion = true,
1084b8e80941Smrg   .algebraic_properties =
1085b8e80941Smrg      0
1086b8e80941Smrg},
1087b8e80941Smrg{
1088b8e80941Smrg   .name = "f2i32",
1089b8e80941Smrg   .num_inputs = 1,
1090b8e80941Smrg   .output_size = 0,
1091b8e80941Smrg   .output_type = nir_type_int32,
1092b8e80941Smrg   .input_sizes = {
1093b8e80941Smrg      0
1094b8e80941Smrg   },
1095b8e80941Smrg   .input_types = {
1096b8e80941Smrg      nir_type_float
1097b8e80941Smrg   },
1098b8e80941Smrg   .is_conversion = true,
1099b8e80941Smrg   .algebraic_properties =
1100b8e80941Smrg      0
1101b8e80941Smrg},
1102b8e80941Smrg{
1103b8e80941Smrg   .name = "f2i64",
1104b8e80941Smrg   .num_inputs = 1,
1105b8e80941Smrg   .output_size = 0,
1106b8e80941Smrg   .output_type = nir_type_int64,
1107b8e80941Smrg   .input_sizes = {
1108b8e80941Smrg      0
1109b8e80941Smrg   },
1110b8e80941Smrg   .input_types = {
1111b8e80941Smrg      nir_type_float
1112b8e80941Smrg   },
1113b8e80941Smrg   .is_conversion = true,
1114b8e80941Smrg   .algebraic_properties =
1115b8e80941Smrg      0
1116b8e80941Smrg},
1117b8e80941Smrg{
1118b8e80941Smrg   .name = "f2i8",
1119b8e80941Smrg   .num_inputs = 1,
1120b8e80941Smrg   .output_size = 0,
1121b8e80941Smrg   .output_type = nir_type_int8,
1122b8e80941Smrg   .input_sizes = {
1123b8e80941Smrg      0
1124b8e80941Smrg   },
1125b8e80941Smrg   .input_types = {
1126b8e80941Smrg      nir_type_float
1127b8e80941Smrg   },
1128b8e80941Smrg   .is_conversion = true,
1129b8e80941Smrg   .algebraic_properties =
1130b8e80941Smrg      0
1131b8e80941Smrg},
1132b8e80941Smrg{
1133b8e80941Smrg   .name = "f2u1",
1134b8e80941Smrg   .num_inputs = 1,
1135b8e80941Smrg   .output_size = 0,
1136b8e80941Smrg   .output_type = nir_type_uint1,
1137b8e80941Smrg   .input_sizes = {
1138b8e80941Smrg      0
1139b8e80941Smrg   },
1140b8e80941Smrg   .input_types = {
1141b8e80941Smrg      nir_type_float
1142b8e80941Smrg   },
1143b8e80941Smrg   .is_conversion = true,
1144b8e80941Smrg   .algebraic_properties =
1145b8e80941Smrg      0
1146b8e80941Smrg},
1147b8e80941Smrg{
1148b8e80941Smrg   .name = "f2u16",
1149b8e80941Smrg   .num_inputs = 1,
1150b8e80941Smrg   .output_size = 0,
1151b8e80941Smrg   .output_type = nir_type_uint16,
1152b8e80941Smrg   .input_sizes = {
1153b8e80941Smrg      0
1154b8e80941Smrg   },
1155b8e80941Smrg   .input_types = {
1156b8e80941Smrg      nir_type_float
1157b8e80941Smrg   },
1158b8e80941Smrg   .is_conversion = true,
1159b8e80941Smrg   .algebraic_properties =
1160b8e80941Smrg      0
1161b8e80941Smrg},
1162b8e80941Smrg{
1163b8e80941Smrg   .name = "f2u32",
1164b8e80941Smrg   .num_inputs = 1,
1165b8e80941Smrg   .output_size = 0,
1166b8e80941Smrg   .output_type = nir_type_uint32,
1167b8e80941Smrg   .input_sizes = {
1168b8e80941Smrg      0
1169b8e80941Smrg   },
1170b8e80941Smrg   .input_types = {
1171b8e80941Smrg      nir_type_float
1172b8e80941Smrg   },
1173b8e80941Smrg   .is_conversion = true,
1174b8e80941Smrg   .algebraic_properties =
1175b8e80941Smrg      0
1176b8e80941Smrg},
1177b8e80941Smrg{
1178b8e80941Smrg   .name = "f2u64",
1179b8e80941Smrg   .num_inputs = 1,
1180b8e80941Smrg   .output_size = 0,
1181b8e80941Smrg   .output_type = nir_type_uint64,
1182b8e80941Smrg   .input_sizes = {
1183b8e80941Smrg      0
1184b8e80941Smrg   },
1185b8e80941Smrg   .input_types = {
1186b8e80941Smrg      nir_type_float
1187b8e80941Smrg   },
1188b8e80941Smrg   .is_conversion = true,
1189b8e80941Smrg   .algebraic_properties =
1190b8e80941Smrg      0
1191b8e80941Smrg},
1192b8e80941Smrg{
1193b8e80941Smrg   .name = "f2u8",
1194b8e80941Smrg   .num_inputs = 1,
1195b8e80941Smrg   .output_size = 0,
1196b8e80941Smrg   .output_type = nir_type_uint8,
1197b8e80941Smrg   .input_sizes = {
1198b8e80941Smrg      0
1199b8e80941Smrg   },
1200b8e80941Smrg   .input_types = {
1201b8e80941Smrg      nir_type_float
1202b8e80941Smrg   },
1203b8e80941Smrg   .is_conversion = true,
1204b8e80941Smrg   .algebraic_properties =
1205b8e80941Smrg      0
1206b8e80941Smrg},
1207b8e80941Smrg{
1208b8e80941Smrg   .name = "fabs",
1209b8e80941Smrg   .num_inputs = 1,
1210b8e80941Smrg   .output_size = 0,
1211b8e80941Smrg   .output_type = nir_type_float,
1212b8e80941Smrg   .input_sizes = {
1213b8e80941Smrg      0
1214b8e80941Smrg   },
1215b8e80941Smrg   .input_types = {
1216b8e80941Smrg      nir_type_float
1217b8e80941Smrg   },
1218b8e80941Smrg   .is_conversion = false,
1219b8e80941Smrg   .algebraic_properties =
1220b8e80941Smrg      0
1221b8e80941Smrg},
1222b8e80941Smrg{
1223b8e80941Smrg   .name = "fadd",
1224b8e80941Smrg   .num_inputs = 2,
1225b8e80941Smrg   .output_size = 0,
1226b8e80941Smrg   .output_type = nir_type_float,
1227b8e80941Smrg   .input_sizes = {
1228b8e80941Smrg      0, 0
1229b8e80941Smrg   },
1230b8e80941Smrg   .input_types = {
1231b8e80941Smrg      nir_type_float, nir_type_float
1232b8e80941Smrg   },
1233b8e80941Smrg   .is_conversion = false,
1234b8e80941Smrg   .algebraic_properties =
1235b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1236b8e80941Smrg},
1237b8e80941Smrg{
1238b8e80941Smrg   .name = "fall_equal2",
1239b8e80941Smrg   .num_inputs = 2,
1240b8e80941Smrg   .output_size = 1,
1241b8e80941Smrg   .output_type = nir_type_float32,
1242b8e80941Smrg   .input_sizes = {
1243b8e80941Smrg      2, 2
1244b8e80941Smrg   },
1245b8e80941Smrg   .input_types = {
1246b8e80941Smrg      nir_type_float32, nir_type_float32
1247b8e80941Smrg   },
1248b8e80941Smrg   .is_conversion = false,
1249b8e80941Smrg   .algebraic_properties =
1250b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1251b8e80941Smrg},
1252b8e80941Smrg{
1253b8e80941Smrg   .name = "fall_equal3",
1254b8e80941Smrg   .num_inputs = 2,
1255b8e80941Smrg   .output_size = 1,
1256b8e80941Smrg   .output_type = nir_type_float32,
1257b8e80941Smrg   .input_sizes = {
1258b8e80941Smrg      3, 3
1259b8e80941Smrg   },
1260b8e80941Smrg   .input_types = {
1261b8e80941Smrg      nir_type_float32, nir_type_float32
1262b8e80941Smrg   },
1263b8e80941Smrg   .is_conversion = false,
1264b8e80941Smrg   .algebraic_properties =
1265b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1266b8e80941Smrg},
1267b8e80941Smrg{
1268b8e80941Smrg   .name = "fall_equal4",
1269b8e80941Smrg   .num_inputs = 2,
1270b8e80941Smrg   .output_size = 1,
1271b8e80941Smrg   .output_type = nir_type_float32,
1272b8e80941Smrg   .input_sizes = {
1273b8e80941Smrg      4, 4
1274b8e80941Smrg   },
1275b8e80941Smrg   .input_types = {
1276b8e80941Smrg      nir_type_float32, nir_type_float32
1277b8e80941Smrg   },
1278b8e80941Smrg   .is_conversion = false,
1279b8e80941Smrg   .algebraic_properties =
1280b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1281b8e80941Smrg},
1282b8e80941Smrg{
1283b8e80941Smrg   .name = "fand",
1284b8e80941Smrg   .num_inputs = 2,
1285b8e80941Smrg   .output_size = 0,
1286b8e80941Smrg   .output_type = nir_type_float32,
1287b8e80941Smrg   .input_sizes = {
1288b8e80941Smrg      0, 0
1289b8e80941Smrg   },
1290b8e80941Smrg   .input_types = {
1291b8e80941Smrg      nir_type_float32, nir_type_float32
1292b8e80941Smrg   },
1293b8e80941Smrg   .is_conversion = false,
1294b8e80941Smrg   .algebraic_properties =
1295b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1296b8e80941Smrg},
1297b8e80941Smrg{
1298b8e80941Smrg   .name = "fany_nequal2",
1299b8e80941Smrg   .num_inputs = 2,
1300b8e80941Smrg   .output_size = 1,
1301b8e80941Smrg   .output_type = nir_type_float32,
1302b8e80941Smrg   .input_sizes = {
1303b8e80941Smrg      2, 2
1304b8e80941Smrg   },
1305b8e80941Smrg   .input_types = {
1306b8e80941Smrg      nir_type_float32, nir_type_float32
1307b8e80941Smrg   },
1308b8e80941Smrg   .is_conversion = false,
1309b8e80941Smrg   .algebraic_properties =
1310b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1311b8e80941Smrg},
1312b8e80941Smrg{
1313b8e80941Smrg   .name = "fany_nequal3",
1314b8e80941Smrg   .num_inputs = 2,
1315b8e80941Smrg   .output_size = 1,
1316b8e80941Smrg   .output_type = nir_type_float32,
1317b8e80941Smrg   .input_sizes = {
1318b8e80941Smrg      3, 3
1319b8e80941Smrg   },
1320b8e80941Smrg   .input_types = {
1321b8e80941Smrg      nir_type_float32, nir_type_float32
1322b8e80941Smrg   },
1323b8e80941Smrg   .is_conversion = false,
1324b8e80941Smrg   .algebraic_properties =
1325b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1326b8e80941Smrg},
1327b8e80941Smrg{
1328b8e80941Smrg   .name = "fany_nequal4",
1329b8e80941Smrg   .num_inputs = 2,
1330b8e80941Smrg   .output_size = 1,
1331b8e80941Smrg   .output_type = nir_type_float32,
1332b8e80941Smrg   .input_sizes = {
1333b8e80941Smrg      4, 4
1334b8e80941Smrg   },
1335b8e80941Smrg   .input_types = {
1336b8e80941Smrg      nir_type_float32, nir_type_float32
1337b8e80941Smrg   },
1338b8e80941Smrg   .is_conversion = false,
1339b8e80941Smrg   .algebraic_properties =
1340b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1341b8e80941Smrg},
1342b8e80941Smrg{
1343b8e80941Smrg   .name = "fceil",
1344b8e80941Smrg   .num_inputs = 1,
1345b8e80941Smrg   .output_size = 0,
1346b8e80941Smrg   .output_type = nir_type_float,
1347b8e80941Smrg   .input_sizes = {
1348b8e80941Smrg      0
1349b8e80941Smrg   },
1350b8e80941Smrg   .input_types = {
1351b8e80941Smrg      nir_type_float
1352b8e80941Smrg   },
1353b8e80941Smrg   .is_conversion = false,
1354b8e80941Smrg   .algebraic_properties =
1355b8e80941Smrg      0
1356b8e80941Smrg},
1357b8e80941Smrg{
1358b8e80941Smrg   .name = "fcos",
1359b8e80941Smrg   .num_inputs = 1,
1360b8e80941Smrg   .output_size = 0,
1361b8e80941Smrg   .output_type = nir_type_float,
1362b8e80941Smrg   .input_sizes = {
1363b8e80941Smrg      0
1364b8e80941Smrg   },
1365b8e80941Smrg   .input_types = {
1366b8e80941Smrg      nir_type_float
1367b8e80941Smrg   },
1368b8e80941Smrg   .is_conversion = false,
1369b8e80941Smrg   .algebraic_properties =
1370b8e80941Smrg      0
1371b8e80941Smrg},
1372b8e80941Smrg{
1373b8e80941Smrg   .name = "fcsel",
1374b8e80941Smrg   .num_inputs = 3,
1375b8e80941Smrg   .output_size = 0,
1376b8e80941Smrg   .output_type = nir_type_float32,
1377b8e80941Smrg   .input_sizes = {
1378b8e80941Smrg      0, 0, 0
1379b8e80941Smrg   },
1380b8e80941Smrg   .input_types = {
1381b8e80941Smrg      nir_type_float32, nir_type_float32, nir_type_float32
1382b8e80941Smrg   },
1383b8e80941Smrg   .is_conversion = false,
1384b8e80941Smrg   .algebraic_properties =
1385b8e80941Smrg      0
1386b8e80941Smrg},
1387b8e80941Smrg{
1388b8e80941Smrg   .name = "fddx",
1389b8e80941Smrg   .num_inputs = 1,
1390b8e80941Smrg   .output_size = 0,
1391b8e80941Smrg   .output_type = nir_type_float,
1392b8e80941Smrg   .input_sizes = {
1393b8e80941Smrg      0
1394b8e80941Smrg   },
1395b8e80941Smrg   .input_types = {
1396b8e80941Smrg      nir_type_float
1397b8e80941Smrg   },
1398b8e80941Smrg   .is_conversion = false,
1399b8e80941Smrg   .algebraic_properties =
1400b8e80941Smrg      0
1401b8e80941Smrg},
1402b8e80941Smrg{
1403b8e80941Smrg   .name = "fddx_coarse",
1404b8e80941Smrg   .num_inputs = 1,
1405b8e80941Smrg   .output_size = 0,
1406b8e80941Smrg   .output_type = nir_type_float,
1407b8e80941Smrg   .input_sizes = {
1408b8e80941Smrg      0
1409b8e80941Smrg   },
1410b8e80941Smrg   .input_types = {
1411b8e80941Smrg      nir_type_float
1412b8e80941Smrg   },
1413b8e80941Smrg   .is_conversion = false,
1414b8e80941Smrg   .algebraic_properties =
1415b8e80941Smrg      0
1416b8e80941Smrg},
1417b8e80941Smrg{
1418b8e80941Smrg   .name = "fddx_fine",
1419b8e80941Smrg   .num_inputs = 1,
1420b8e80941Smrg   .output_size = 0,
1421b8e80941Smrg   .output_type = nir_type_float,
1422b8e80941Smrg   .input_sizes = {
1423b8e80941Smrg      0
1424b8e80941Smrg   },
1425b8e80941Smrg   .input_types = {
1426b8e80941Smrg      nir_type_float
1427b8e80941Smrg   },
1428b8e80941Smrg   .is_conversion = false,
1429b8e80941Smrg   .algebraic_properties =
1430b8e80941Smrg      0
1431b8e80941Smrg},
1432b8e80941Smrg{
1433b8e80941Smrg   .name = "fddy",
1434b8e80941Smrg   .num_inputs = 1,
1435b8e80941Smrg   .output_size = 0,
1436b8e80941Smrg   .output_type = nir_type_float,
1437b8e80941Smrg   .input_sizes = {
1438b8e80941Smrg      0
1439b8e80941Smrg   },
1440b8e80941Smrg   .input_types = {
1441b8e80941Smrg      nir_type_float
1442b8e80941Smrg   },
1443b8e80941Smrg   .is_conversion = false,
1444b8e80941Smrg   .algebraic_properties =
1445b8e80941Smrg      0
1446b8e80941Smrg},
1447b8e80941Smrg{
1448b8e80941Smrg   .name = "fddy_coarse",
1449b8e80941Smrg   .num_inputs = 1,
1450b8e80941Smrg   .output_size = 0,
1451b8e80941Smrg   .output_type = nir_type_float,
1452b8e80941Smrg   .input_sizes = {
1453b8e80941Smrg      0
1454b8e80941Smrg   },
1455b8e80941Smrg   .input_types = {
1456b8e80941Smrg      nir_type_float
1457b8e80941Smrg   },
1458b8e80941Smrg   .is_conversion = false,
1459b8e80941Smrg   .algebraic_properties =
1460b8e80941Smrg      0
1461b8e80941Smrg},
1462b8e80941Smrg{
1463b8e80941Smrg   .name = "fddy_fine",
1464b8e80941Smrg   .num_inputs = 1,
1465b8e80941Smrg   .output_size = 0,
1466b8e80941Smrg   .output_type = nir_type_float,
1467b8e80941Smrg   .input_sizes = {
1468b8e80941Smrg      0
1469b8e80941Smrg   },
1470b8e80941Smrg   .input_types = {
1471b8e80941Smrg      nir_type_float
1472b8e80941Smrg   },
1473b8e80941Smrg   .is_conversion = false,
1474b8e80941Smrg   .algebraic_properties =
1475b8e80941Smrg      0
1476b8e80941Smrg},
1477b8e80941Smrg{
1478b8e80941Smrg   .name = "fdiv",
1479b8e80941Smrg   .num_inputs = 2,
1480b8e80941Smrg   .output_size = 0,
1481b8e80941Smrg   .output_type = nir_type_float,
1482b8e80941Smrg   .input_sizes = {
1483b8e80941Smrg      0, 0
1484b8e80941Smrg   },
1485b8e80941Smrg   .input_types = {
1486b8e80941Smrg      nir_type_float, nir_type_float
1487b8e80941Smrg   },
1488b8e80941Smrg   .is_conversion = false,
1489b8e80941Smrg   .algebraic_properties =
1490b8e80941Smrg      0
1491b8e80941Smrg},
1492b8e80941Smrg{
1493b8e80941Smrg   .name = "fdot2",
1494b8e80941Smrg   .num_inputs = 2,
1495b8e80941Smrg   .output_size = 1,
1496b8e80941Smrg   .output_type = nir_type_float,
1497b8e80941Smrg   .input_sizes = {
1498b8e80941Smrg      2, 2
1499b8e80941Smrg   },
1500b8e80941Smrg   .input_types = {
1501b8e80941Smrg      nir_type_float, nir_type_float
1502b8e80941Smrg   },
1503b8e80941Smrg   .is_conversion = false,
1504b8e80941Smrg   .algebraic_properties =
1505b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1506b8e80941Smrg},
1507b8e80941Smrg{
1508b8e80941Smrg   .name = "fdot3",
1509b8e80941Smrg   .num_inputs = 2,
1510b8e80941Smrg   .output_size = 1,
1511b8e80941Smrg   .output_type = nir_type_float,
1512b8e80941Smrg   .input_sizes = {
1513b8e80941Smrg      3, 3
1514b8e80941Smrg   },
1515b8e80941Smrg   .input_types = {
1516b8e80941Smrg      nir_type_float, nir_type_float
1517b8e80941Smrg   },
1518b8e80941Smrg   .is_conversion = false,
1519b8e80941Smrg   .algebraic_properties =
1520b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1521b8e80941Smrg},
1522b8e80941Smrg{
1523b8e80941Smrg   .name = "fdot4",
1524b8e80941Smrg   .num_inputs = 2,
1525b8e80941Smrg   .output_size = 1,
1526b8e80941Smrg   .output_type = nir_type_float,
1527b8e80941Smrg   .input_sizes = {
1528b8e80941Smrg      4, 4
1529b8e80941Smrg   },
1530b8e80941Smrg   .input_types = {
1531b8e80941Smrg      nir_type_float, nir_type_float
1532b8e80941Smrg   },
1533b8e80941Smrg   .is_conversion = false,
1534b8e80941Smrg   .algebraic_properties =
1535b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1536b8e80941Smrg},
1537b8e80941Smrg{
1538b8e80941Smrg   .name = "fdot_replicated2",
1539b8e80941Smrg   .num_inputs = 2,
1540b8e80941Smrg   .output_size = 4,
1541b8e80941Smrg   .output_type = nir_type_float,
1542b8e80941Smrg   .input_sizes = {
1543b8e80941Smrg      2, 2
1544b8e80941Smrg   },
1545b8e80941Smrg   .input_types = {
1546b8e80941Smrg      nir_type_float, nir_type_float
1547b8e80941Smrg   },
1548b8e80941Smrg   .is_conversion = false,
1549b8e80941Smrg   .algebraic_properties =
1550b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1551b8e80941Smrg},
1552b8e80941Smrg{
1553b8e80941Smrg   .name = "fdot_replicated3",
1554b8e80941Smrg   .num_inputs = 2,
1555b8e80941Smrg   .output_size = 4,
1556b8e80941Smrg   .output_type = nir_type_float,
1557b8e80941Smrg   .input_sizes = {
1558b8e80941Smrg      3, 3
1559b8e80941Smrg   },
1560b8e80941Smrg   .input_types = {
1561b8e80941Smrg      nir_type_float, nir_type_float
1562b8e80941Smrg   },
1563b8e80941Smrg   .is_conversion = false,
1564b8e80941Smrg   .algebraic_properties =
1565b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1566b8e80941Smrg},
1567b8e80941Smrg{
1568b8e80941Smrg   .name = "fdot_replicated4",
1569b8e80941Smrg   .num_inputs = 2,
1570b8e80941Smrg   .output_size = 4,
1571b8e80941Smrg   .output_type = nir_type_float,
1572b8e80941Smrg   .input_sizes = {
1573b8e80941Smrg      4, 4
1574b8e80941Smrg   },
1575b8e80941Smrg   .input_types = {
1576b8e80941Smrg      nir_type_float, nir_type_float
1577b8e80941Smrg   },
1578b8e80941Smrg   .is_conversion = false,
1579b8e80941Smrg   .algebraic_properties =
1580b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1581b8e80941Smrg},
1582b8e80941Smrg{
1583b8e80941Smrg   .name = "fdph",
1584b8e80941Smrg   .num_inputs = 2,
1585b8e80941Smrg   .output_size = 1,
1586b8e80941Smrg   .output_type = nir_type_float,
1587b8e80941Smrg   .input_sizes = {
1588b8e80941Smrg      3, 4
1589b8e80941Smrg   },
1590b8e80941Smrg   .input_types = {
1591b8e80941Smrg      nir_type_float, nir_type_float
1592b8e80941Smrg   },
1593b8e80941Smrg   .is_conversion = false,
1594b8e80941Smrg   .algebraic_properties =
1595b8e80941Smrg      0
1596b8e80941Smrg},
1597b8e80941Smrg{
1598b8e80941Smrg   .name = "fdph_replicated",
1599b8e80941Smrg   .num_inputs = 2,
1600b8e80941Smrg   .output_size = 4,
1601b8e80941Smrg   .output_type = nir_type_float,
1602b8e80941Smrg   .input_sizes = {
1603b8e80941Smrg      3, 4
1604b8e80941Smrg   },
1605b8e80941Smrg   .input_types = {
1606b8e80941Smrg      nir_type_float, nir_type_float
1607b8e80941Smrg   },
1608b8e80941Smrg   .is_conversion = false,
1609b8e80941Smrg   .algebraic_properties =
1610b8e80941Smrg      0
1611b8e80941Smrg},
1612b8e80941Smrg{
1613b8e80941Smrg   .name = "feq",
1614b8e80941Smrg   .num_inputs = 2,
1615b8e80941Smrg   .output_size = 0,
1616b8e80941Smrg   .output_type = nir_type_bool1,
1617b8e80941Smrg   .input_sizes = {
1618b8e80941Smrg      0, 0
1619b8e80941Smrg   },
1620b8e80941Smrg   .input_types = {
1621b8e80941Smrg      nir_type_float, nir_type_float
1622b8e80941Smrg   },
1623b8e80941Smrg   .is_conversion = false,
1624b8e80941Smrg   .algebraic_properties =
1625b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1626b8e80941Smrg},
1627b8e80941Smrg{
1628b8e80941Smrg   .name = "feq32",
1629b8e80941Smrg   .num_inputs = 2,
1630b8e80941Smrg   .output_size = 0,
1631b8e80941Smrg   .output_type = nir_type_bool32,
1632b8e80941Smrg   .input_sizes = {
1633b8e80941Smrg      0, 0
1634b8e80941Smrg   },
1635b8e80941Smrg   .input_types = {
1636b8e80941Smrg      nir_type_float, nir_type_float
1637b8e80941Smrg   },
1638b8e80941Smrg   .is_conversion = false,
1639b8e80941Smrg   .algebraic_properties =
1640b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1641b8e80941Smrg},
1642b8e80941Smrg{
1643b8e80941Smrg   .name = "fexp2",
1644b8e80941Smrg   .num_inputs = 1,
1645b8e80941Smrg   .output_size = 0,
1646b8e80941Smrg   .output_type = nir_type_float,
1647b8e80941Smrg   .input_sizes = {
1648b8e80941Smrg      0
1649b8e80941Smrg   },
1650b8e80941Smrg   .input_types = {
1651b8e80941Smrg      nir_type_float
1652b8e80941Smrg   },
1653b8e80941Smrg   .is_conversion = false,
1654b8e80941Smrg   .algebraic_properties =
1655b8e80941Smrg      0
1656b8e80941Smrg},
1657b8e80941Smrg{
1658b8e80941Smrg   .name = "ffloor",
1659b8e80941Smrg   .num_inputs = 1,
1660b8e80941Smrg   .output_size = 0,
1661b8e80941Smrg   .output_type = nir_type_float,
1662b8e80941Smrg   .input_sizes = {
1663b8e80941Smrg      0
1664b8e80941Smrg   },
1665b8e80941Smrg   .input_types = {
1666b8e80941Smrg      nir_type_float
1667b8e80941Smrg   },
1668b8e80941Smrg   .is_conversion = false,
1669b8e80941Smrg   .algebraic_properties =
1670b8e80941Smrg      0
1671b8e80941Smrg},
1672b8e80941Smrg{
1673b8e80941Smrg   .name = "ffma",
1674b8e80941Smrg   .num_inputs = 3,
1675b8e80941Smrg   .output_size = 0,
1676b8e80941Smrg   .output_type = nir_type_float,
1677b8e80941Smrg   .input_sizes = {
1678b8e80941Smrg      0, 0, 0
1679b8e80941Smrg   },
1680b8e80941Smrg   .input_types = {
1681b8e80941Smrg      nir_type_float, nir_type_float, nir_type_float
1682b8e80941Smrg   },
1683b8e80941Smrg   .is_conversion = false,
1684b8e80941Smrg   .algebraic_properties =
1685b8e80941Smrg      0
1686b8e80941Smrg},
1687b8e80941Smrg{
1688b8e80941Smrg   .name = "ffract",
1689b8e80941Smrg   .num_inputs = 1,
1690b8e80941Smrg   .output_size = 0,
1691b8e80941Smrg   .output_type = nir_type_float,
1692b8e80941Smrg   .input_sizes = {
1693b8e80941Smrg      0
1694b8e80941Smrg   },
1695b8e80941Smrg   .input_types = {
1696b8e80941Smrg      nir_type_float
1697b8e80941Smrg   },
1698b8e80941Smrg   .is_conversion = false,
1699b8e80941Smrg   .algebraic_properties =
1700b8e80941Smrg      0
1701b8e80941Smrg},
1702b8e80941Smrg{
1703b8e80941Smrg   .name = "fge",
1704b8e80941Smrg   .num_inputs = 2,
1705b8e80941Smrg   .output_size = 0,
1706b8e80941Smrg   .output_type = nir_type_bool1,
1707b8e80941Smrg   .input_sizes = {
1708b8e80941Smrg      0, 0
1709b8e80941Smrg   },
1710b8e80941Smrg   .input_types = {
1711b8e80941Smrg      nir_type_float, nir_type_float
1712b8e80941Smrg   },
1713b8e80941Smrg   .is_conversion = false,
1714b8e80941Smrg   .algebraic_properties =
1715b8e80941Smrg      0
1716b8e80941Smrg},
1717b8e80941Smrg{
1718b8e80941Smrg   .name = "fge32",
1719b8e80941Smrg   .num_inputs = 2,
1720b8e80941Smrg   .output_size = 0,
1721b8e80941Smrg   .output_type = nir_type_bool32,
1722b8e80941Smrg   .input_sizes = {
1723b8e80941Smrg      0, 0
1724b8e80941Smrg   },
1725b8e80941Smrg   .input_types = {
1726b8e80941Smrg      nir_type_float, nir_type_float
1727b8e80941Smrg   },
1728b8e80941Smrg   .is_conversion = false,
1729b8e80941Smrg   .algebraic_properties =
1730b8e80941Smrg      0
1731b8e80941Smrg},
1732b8e80941Smrg{
1733b8e80941Smrg   .name = "find_lsb",
1734b8e80941Smrg   .num_inputs = 1,
1735b8e80941Smrg   .output_size = 0,
1736b8e80941Smrg   .output_type = nir_type_int32,
1737b8e80941Smrg   .input_sizes = {
1738b8e80941Smrg      0
1739b8e80941Smrg   },
1740b8e80941Smrg   .input_types = {
1741b8e80941Smrg      nir_type_int
1742b8e80941Smrg   },
1743b8e80941Smrg   .is_conversion = false,
1744b8e80941Smrg   .algebraic_properties =
1745b8e80941Smrg      0
1746b8e80941Smrg},
1747b8e80941Smrg{
1748b8e80941Smrg   .name = "flog2",
1749b8e80941Smrg   .num_inputs = 1,
1750b8e80941Smrg   .output_size = 0,
1751b8e80941Smrg   .output_type = nir_type_float,
1752b8e80941Smrg   .input_sizes = {
1753b8e80941Smrg      0
1754b8e80941Smrg   },
1755b8e80941Smrg   .input_types = {
1756b8e80941Smrg      nir_type_float
1757b8e80941Smrg   },
1758b8e80941Smrg   .is_conversion = false,
1759b8e80941Smrg   .algebraic_properties =
1760b8e80941Smrg      0
1761b8e80941Smrg},
1762b8e80941Smrg{
1763b8e80941Smrg   .name = "flrp",
1764b8e80941Smrg   .num_inputs = 3,
1765b8e80941Smrg   .output_size = 0,
1766b8e80941Smrg   .output_type = nir_type_float,
1767b8e80941Smrg   .input_sizes = {
1768b8e80941Smrg      0, 0, 0
1769b8e80941Smrg   },
1770b8e80941Smrg   .input_types = {
1771b8e80941Smrg      nir_type_float, nir_type_float, nir_type_float
1772b8e80941Smrg   },
1773b8e80941Smrg   .is_conversion = false,
1774b8e80941Smrg   .algebraic_properties =
1775b8e80941Smrg      0
1776b8e80941Smrg},
1777b8e80941Smrg{
1778b8e80941Smrg   .name = "flt",
1779b8e80941Smrg   .num_inputs = 2,
1780b8e80941Smrg   .output_size = 0,
1781b8e80941Smrg   .output_type = nir_type_bool1,
1782b8e80941Smrg   .input_sizes = {
1783b8e80941Smrg      0, 0
1784b8e80941Smrg   },
1785b8e80941Smrg   .input_types = {
1786b8e80941Smrg      nir_type_float, nir_type_float
1787b8e80941Smrg   },
1788b8e80941Smrg   .is_conversion = false,
1789b8e80941Smrg   .algebraic_properties =
1790b8e80941Smrg      0
1791b8e80941Smrg},
1792b8e80941Smrg{
1793b8e80941Smrg   .name = "flt32",
1794b8e80941Smrg   .num_inputs = 2,
1795b8e80941Smrg   .output_size = 0,
1796b8e80941Smrg   .output_type = nir_type_bool32,
1797b8e80941Smrg   .input_sizes = {
1798b8e80941Smrg      0, 0
1799b8e80941Smrg   },
1800b8e80941Smrg   .input_types = {
1801b8e80941Smrg      nir_type_float, nir_type_float
1802b8e80941Smrg   },
1803b8e80941Smrg   .is_conversion = false,
1804b8e80941Smrg   .algebraic_properties =
1805b8e80941Smrg      0
1806b8e80941Smrg},
1807b8e80941Smrg{
1808b8e80941Smrg   .name = "fmax",
1809b8e80941Smrg   .num_inputs = 2,
1810b8e80941Smrg   .output_size = 0,
1811b8e80941Smrg   .output_type = nir_type_float,
1812b8e80941Smrg   .input_sizes = {
1813b8e80941Smrg      0, 0
1814b8e80941Smrg   },
1815b8e80941Smrg   .input_types = {
1816b8e80941Smrg      nir_type_float, nir_type_float
1817b8e80941Smrg   },
1818b8e80941Smrg   .is_conversion = false,
1819b8e80941Smrg   .algebraic_properties =
1820b8e80941Smrg      0
1821b8e80941Smrg},
1822b8e80941Smrg{
1823b8e80941Smrg   .name = "fmax3",
1824b8e80941Smrg   .num_inputs = 3,
1825b8e80941Smrg   .output_size = 0,
1826b8e80941Smrg   .output_type = nir_type_float,
1827b8e80941Smrg   .input_sizes = {
1828b8e80941Smrg      0, 0, 0
1829b8e80941Smrg   },
1830b8e80941Smrg   .input_types = {
1831b8e80941Smrg      nir_type_float, nir_type_float, nir_type_float
1832b8e80941Smrg   },
1833b8e80941Smrg   .is_conversion = false,
1834b8e80941Smrg   .algebraic_properties =
1835b8e80941Smrg      0
1836b8e80941Smrg},
1837b8e80941Smrg{
1838b8e80941Smrg   .name = "fmed3",
1839b8e80941Smrg   .num_inputs = 3,
1840b8e80941Smrg   .output_size = 0,
1841b8e80941Smrg   .output_type = nir_type_float,
1842b8e80941Smrg   .input_sizes = {
1843b8e80941Smrg      0, 0, 0
1844b8e80941Smrg   },
1845b8e80941Smrg   .input_types = {
1846b8e80941Smrg      nir_type_float, nir_type_float, nir_type_float
1847b8e80941Smrg   },
1848b8e80941Smrg   .is_conversion = false,
1849b8e80941Smrg   .algebraic_properties =
1850b8e80941Smrg      0
1851b8e80941Smrg},
1852b8e80941Smrg{
1853b8e80941Smrg   .name = "fmin",
1854b8e80941Smrg   .num_inputs = 2,
1855b8e80941Smrg   .output_size = 0,
1856b8e80941Smrg   .output_type = nir_type_float,
1857b8e80941Smrg   .input_sizes = {
1858b8e80941Smrg      0, 0
1859b8e80941Smrg   },
1860b8e80941Smrg   .input_types = {
1861b8e80941Smrg      nir_type_float, nir_type_float
1862b8e80941Smrg   },
1863b8e80941Smrg   .is_conversion = false,
1864b8e80941Smrg   .algebraic_properties =
1865b8e80941Smrg      0
1866b8e80941Smrg},
1867b8e80941Smrg{
1868b8e80941Smrg   .name = "fmin3",
1869b8e80941Smrg   .num_inputs = 3,
1870b8e80941Smrg   .output_size = 0,
1871b8e80941Smrg   .output_type = nir_type_float,
1872b8e80941Smrg   .input_sizes = {
1873b8e80941Smrg      0, 0, 0
1874b8e80941Smrg   },
1875b8e80941Smrg   .input_types = {
1876b8e80941Smrg      nir_type_float, nir_type_float, nir_type_float
1877b8e80941Smrg   },
1878b8e80941Smrg   .is_conversion = false,
1879b8e80941Smrg   .algebraic_properties =
1880b8e80941Smrg      0
1881b8e80941Smrg},
1882b8e80941Smrg{
1883b8e80941Smrg   .name = "fmod",
1884b8e80941Smrg   .num_inputs = 2,
1885b8e80941Smrg   .output_size = 0,
1886b8e80941Smrg   .output_type = nir_type_float,
1887b8e80941Smrg   .input_sizes = {
1888b8e80941Smrg      0, 0
1889b8e80941Smrg   },
1890b8e80941Smrg   .input_types = {
1891b8e80941Smrg      nir_type_float, nir_type_float
1892b8e80941Smrg   },
1893b8e80941Smrg   .is_conversion = false,
1894b8e80941Smrg   .algebraic_properties =
1895b8e80941Smrg      0
1896b8e80941Smrg},
1897b8e80941Smrg{
1898b8e80941Smrg   .name = "fmov",
1899b8e80941Smrg   .num_inputs = 1,
1900b8e80941Smrg   .output_size = 0,
1901b8e80941Smrg   .output_type = nir_type_float,
1902b8e80941Smrg   .input_sizes = {
1903b8e80941Smrg      0
1904b8e80941Smrg   },
1905b8e80941Smrg   .input_types = {
1906b8e80941Smrg      nir_type_float
1907b8e80941Smrg   },
1908b8e80941Smrg   .is_conversion = false,
1909b8e80941Smrg   .algebraic_properties =
1910b8e80941Smrg      0
1911b8e80941Smrg},
1912b8e80941Smrg{
1913b8e80941Smrg   .name = "fmul",
1914b8e80941Smrg   .num_inputs = 2,
1915b8e80941Smrg   .output_size = 0,
1916b8e80941Smrg   .output_type = nir_type_float,
1917b8e80941Smrg   .input_sizes = {
1918b8e80941Smrg      0, 0
1919b8e80941Smrg   },
1920b8e80941Smrg   .input_types = {
1921b8e80941Smrg      nir_type_float, nir_type_float
1922b8e80941Smrg   },
1923b8e80941Smrg   .is_conversion = false,
1924b8e80941Smrg   .algebraic_properties =
1925b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
1926b8e80941Smrg},
1927b8e80941Smrg{
1928b8e80941Smrg   .name = "fne",
1929b8e80941Smrg   .num_inputs = 2,
1930b8e80941Smrg   .output_size = 0,
1931b8e80941Smrg   .output_type = nir_type_bool1,
1932b8e80941Smrg   .input_sizes = {
1933b8e80941Smrg      0, 0
1934b8e80941Smrg   },
1935b8e80941Smrg   .input_types = {
1936b8e80941Smrg      nir_type_float, nir_type_float
1937b8e80941Smrg   },
1938b8e80941Smrg   .is_conversion = false,
1939b8e80941Smrg   .algebraic_properties =
1940b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1941b8e80941Smrg},
1942b8e80941Smrg{
1943b8e80941Smrg   .name = "fne32",
1944b8e80941Smrg   .num_inputs = 2,
1945b8e80941Smrg   .output_size = 0,
1946b8e80941Smrg   .output_type = nir_type_bool32,
1947b8e80941Smrg   .input_sizes = {
1948b8e80941Smrg      0, 0
1949b8e80941Smrg   },
1950b8e80941Smrg   .input_types = {
1951b8e80941Smrg      nir_type_float, nir_type_float
1952b8e80941Smrg   },
1953b8e80941Smrg   .is_conversion = false,
1954b8e80941Smrg   .algebraic_properties =
1955b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
1956b8e80941Smrg},
1957b8e80941Smrg{
1958b8e80941Smrg   .name = "fneg",
1959b8e80941Smrg   .num_inputs = 1,
1960b8e80941Smrg   .output_size = 0,
1961b8e80941Smrg   .output_type = nir_type_float,
1962b8e80941Smrg   .input_sizes = {
1963b8e80941Smrg      0
1964b8e80941Smrg   },
1965b8e80941Smrg   .input_types = {
1966b8e80941Smrg      nir_type_float
1967b8e80941Smrg   },
1968b8e80941Smrg   .is_conversion = false,
1969b8e80941Smrg   .algebraic_properties =
1970b8e80941Smrg      0
1971b8e80941Smrg},
1972b8e80941Smrg{
1973b8e80941Smrg   .name = "fnoise1_1",
1974b8e80941Smrg   .num_inputs = 1,
1975b8e80941Smrg   .output_size = 1,
1976b8e80941Smrg   .output_type = nir_type_float,
1977b8e80941Smrg   .input_sizes = {
1978b8e80941Smrg      1
1979b8e80941Smrg   },
1980b8e80941Smrg   .input_types = {
1981b8e80941Smrg      nir_type_float
1982b8e80941Smrg   },
1983b8e80941Smrg   .is_conversion = false,
1984b8e80941Smrg   .algebraic_properties =
1985b8e80941Smrg      0
1986b8e80941Smrg},
1987b8e80941Smrg{
1988b8e80941Smrg   .name = "fnoise1_2",
1989b8e80941Smrg   .num_inputs = 1,
1990b8e80941Smrg   .output_size = 1,
1991b8e80941Smrg   .output_type = nir_type_float,
1992b8e80941Smrg   .input_sizes = {
1993b8e80941Smrg      2
1994b8e80941Smrg   },
1995b8e80941Smrg   .input_types = {
1996b8e80941Smrg      nir_type_float
1997b8e80941Smrg   },
1998b8e80941Smrg   .is_conversion = false,
1999b8e80941Smrg   .algebraic_properties =
2000b8e80941Smrg      0
2001b8e80941Smrg},
2002b8e80941Smrg{
2003b8e80941Smrg   .name = "fnoise1_3",
2004b8e80941Smrg   .num_inputs = 1,
2005b8e80941Smrg   .output_size = 1,
2006b8e80941Smrg   .output_type = nir_type_float,
2007b8e80941Smrg   .input_sizes = {
2008b8e80941Smrg      3
2009b8e80941Smrg   },
2010b8e80941Smrg   .input_types = {
2011b8e80941Smrg      nir_type_float
2012b8e80941Smrg   },
2013b8e80941Smrg   .is_conversion = false,
2014b8e80941Smrg   .algebraic_properties =
2015b8e80941Smrg      0
2016b8e80941Smrg},
2017b8e80941Smrg{
2018b8e80941Smrg   .name = "fnoise1_4",
2019b8e80941Smrg   .num_inputs = 1,
2020b8e80941Smrg   .output_size = 1,
2021b8e80941Smrg   .output_type = nir_type_float,
2022b8e80941Smrg   .input_sizes = {
2023b8e80941Smrg      4
2024b8e80941Smrg   },
2025b8e80941Smrg   .input_types = {
2026b8e80941Smrg      nir_type_float
2027b8e80941Smrg   },
2028b8e80941Smrg   .is_conversion = false,
2029b8e80941Smrg   .algebraic_properties =
2030b8e80941Smrg      0
2031b8e80941Smrg},
2032b8e80941Smrg{
2033b8e80941Smrg   .name = "fnoise2_1",
2034b8e80941Smrg   .num_inputs = 1,
2035b8e80941Smrg   .output_size = 2,
2036b8e80941Smrg   .output_type = nir_type_float,
2037b8e80941Smrg   .input_sizes = {
2038b8e80941Smrg      1
2039b8e80941Smrg   },
2040b8e80941Smrg   .input_types = {
2041b8e80941Smrg      nir_type_float
2042b8e80941Smrg   },
2043b8e80941Smrg   .is_conversion = false,
2044b8e80941Smrg   .algebraic_properties =
2045b8e80941Smrg      0
2046b8e80941Smrg},
2047b8e80941Smrg{
2048b8e80941Smrg   .name = "fnoise2_2",
2049b8e80941Smrg   .num_inputs = 1,
2050b8e80941Smrg   .output_size = 2,
2051b8e80941Smrg   .output_type = nir_type_float,
2052b8e80941Smrg   .input_sizes = {
2053b8e80941Smrg      2
2054b8e80941Smrg   },
2055b8e80941Smrg   .input_types = {
2056b8e80941Smrg      nir_type_float
2057b8e80941Smrg   },
2058b8e80941Smrg   .is_conversion = false,
2059b8e80941Smrg   .algebraic_properties =
2060b8e80941Smrg      0
2061b8e80941Smrg},
2062b8e80941Smrg{
2063b8e80941Smrg   .name = "fnoise2_3",
2064b8e80941Smrg   .num_inputs = 1,
2065b8e80941Smrg   .output_size = 2,
2066b8e80941Smrg   .output_type = nir_type_float,
2067b8e80941Smrg   .input_sizes = {
2068b8e80941Smrg      3
2069b8e80941Smrg   },
2070b8e80941Smrg   .input_types = {
2071b8e80941Smrg      nir_type_float
2072b8e80941Smrg   },
2073b8e80941Smrg   .is_conversion = false,
2074b8e80941Smrg   .algebraic_properties =
2075b8e80941Smrg      0
2076b8e80941Smrg},
2077b8e80941Smrg{
2078b8e80941Smrg   .name = "fnoise2_4",
2079b8e80941Smrg   .num_inputs = 1,
2080b8e80941Smrg   .output_size = 2,
2081b8e80941Smrg   .output_type = nir_type_float,
2082b8e80941Smrg   .input_sizes = {
2083b8e80941Smrg      4
2084b8e80941Smrg   },
2085b8e80941Smrg   .input_types = {
2086b8e80941Smrg      nir_type_float
2087b8e80941Smrg   },
2088b8e80941Smrg   .is_conversion = false,
2089b8e80941Smrg   .algebraic_properties =
2090b8e80941Smrg      0
2091b8e80941Smrg},
2092b8e80941Smrg{
2093b8e80941Smrg   .name = "fnoise3_1",
2094b8e80941Smrg   .num_inputs = 1,
2095b8e80941Smrg   .output_size = 3,
2096b8e80941Smrg   .output_type = nir_type_float,
2097b8e80941Smrg   .input_sizes = {
2098b8e80941Smrg      1
2099b8e80941Smrg   },
2100b8e80941Smrg   .input_types = {
2101b8e80941Smrg      nir_type_float
2102b8e80941Smrg   },
2103b8e80941Smrg   .is_conversion = false,
2104b8e80941Smrg   .algebraic_properties =
2105b8e80941Smrg      0
2106b8e80941Smrg},
2107b8e80941Smrg{
2108b8e80941Smrg   .name = "fnoise3_2",
2109b8e80941Smrg   .num_inputs = 1,
2110b8e80941Smrg   .output_size = 3,
2111b8e80941Smrg   .output_type = nir_type_float,
2112b8e80941Smrg   .input_sizes = {
2113b8e80941Smrg      2
2114b8e80941Smrg   },
2115b8e80941Smrg   .input_types = {
2116b8e80941Smrg      nir_type_float
2117b8e80941Smrg   },
2118b8e80941Smrg   .is_conversion = false,
2119b8e80941Smrg   .algebraic_properties =
2120b8e80941Smrg      0
2121b8e80941Smrg},
2122b8e80941Smrg{
2123b8e80941Smrg   .name = "fnoise3_3",
2124b8e80941Smrg   .num_inputs = 1,
2125b8e80941Smrg   .output_size = 3,
2126b8e80941Smrg   .output_type = nir_type_float,
2127b8e80941Smrg   .input_sizes = {
2128b8e80941Smrg      3
2129b8e80941Smrg   },
2130b8e80941Smrg   .input_types = {
2131b8e80941Smrg      nir_type_float
2132b8e80941Smrg   },
2133b8e80941Smrg   .is_conversion = false,
2134b8e80941Smrg   .algebraic_properties =
2135b8e80941Smrg      0
2136b8e80941Smrg},
2137b8e80941Smrg{
2138b8e80941Smrg   .name = "fnoise3_4",
2139b8e80941Smrg   .num_inputs = 1,
2140b8e80941Smrg   .output_size = 3,
2141b8e80941Smrg   .output_type = nir_type_float,
2142b8e80941Smrg   .input_sizes = {
2143b8e80941Smrg      4
2144b8e80941Smrg   },
2145b8e80941Smrg   .input_types = {
2146b8e80941Smrg      nir_type_float
2147b8e80941Smrg   },
2148b8e80941Smrg   .is_conversion = false,
2149b8e80941Smrg   .algebraic_properties =
2150b8e80941Smrg      0
2151b8e80941Smrg},
2152b8e80941Smrg{
2153b8e80941Smrg   .name = "fnoise4_1",
2154b8e80941Smrg   .num_inputs = 1,
2155b8e80941Smrg   .output_size = 4,
2156b8e80941Smrg   .output_type = nir_type_float,
2157b8e80941Smrg   .input_sizes = {
2158b8e80941Smrg      1
2159b8e80941Smrg   },
2160b8e80941Smrg   .input_types = {
2161b8e80941Smrg      nir_type_float
2162b8e80941Smrg   },
2163b8e80941Smrg   .is_conversion = false,
2164b8e80941Smrg   .algebraic_properties =
2165b8e80941Smrg      0
2166b8e80941Smrg},
2167b8e80941Smrg{
2168b8e80941Smrg   .name = "fnoise4_2",
2169b8e80941Smrg   .num_inputs = 1,
2170b8e80941Smrg   .output_size = 4,
2171b8e80941Smrg   .output_type = nir_type_float,
2172b8e80941Smrg   .input_sizes = {
2173b8e80941Smrg      2
2174b8e80941Smrg   },
2175b8e80941Smrg   .input_types = {
2176b8e80941Smrg      nir_type_float
2177b8e80941Smrg   },
2178b8e80941Smrg   .is_conversion = false,
2179b8e80941Smrg   .algebraic_properties =
2180b8e80941Smrg      0
2181b8e80941Smrg},
2182b8e80941Smrg{
2183b8e80941Smrg   .name = "fnoise4_3",
2184b8e80941Smrg   .num_inputs = 1,
2185b8e80941Smrg   .output_size = 4,
2186b8e80941Smrg   .output_type = nir_type_float,
2187b8e80941Smrg   .input_sizes = {
2188b8e80941Smrg      3
2189b8e80941Smrg   },
2190b8e80941Smrg   .input_types = {
2191b8e80941Smrg      nir_type_float
2192b8e80941Smrg   },
2193b8e80941Smrg   .is_conversion = false,
2194b8e80941Smrg   .algebraic_properties =
2195b8e80941Smrg      0
2196b8e80941Smrg},
2197b8e80941Smrg{
2198b8e80941Smrg   .name = "fnoise4_4",
2199b8e80941Smrg   .num_inputs = 1,
2200b8e80941Smrg   .output_size = 4,
2201b8e80941Smrg   .output_type = nir_type_float,
2202b8e80941Smrg   .input_sizes = {
2203b8e80941Smrg      4
2204b8e80941Smrg   },
2205b8e80941Smrg   .input_types = {
2206b8e80941Smrg      nir_type_float
2207b8e80941Smrg   },
2208b8e80941Smrg   .is_conversion = false,
2209b8e80941Smrg   .algebraic_properties =
2210b8e80941Smrg      0
2211b8e80941Smrg},
2212b8e80941Smrg{
2213b8e80941Smrg   .name = "fnot",
2214b8e80941Smrg   .num_inputs = 1,
2215b8e80941Smrg   .output_size = 0,
2216b8e80941Smrg   .output_type = nir_type_float,
2217b8e80941Smrg   .input_sizes = {
2218b8e80941Smrg      0
2219b8e80941Smrg   },
2220b8e80941Smrg   .input_types = {
2221b8e80941Smrg      nir_type_float
2222b8e80941Smrg   },
2223b8e80941Smrg   .is_conversion = false,
2224b8e80941Smrg   .algebraic_properties =
2225b8e80941Smrg      0
2226b8e80941Smrg},
2227b8e80941Smrg{
2228b8e80941Smrg   .name = "for",
2229b8e80941Smrg   .num_inputs = 2,
2230b8e80941Smrg   .output_size = 0,
2231b8e80941Smrg   .output_type = nir_type_float32,
2232b8e80941Smrg   .input_sizes = {
2233b8e80941Smrg      0, 0
2234b8e80941Smrg   },
2235b8e80941Smrg   .input_types = {
2236b8e80941Smrg      nir_type_float32, nir_type_float32
2237b8e80941Smrg   },
2238b8e80941Smrg   .is_conversion = false,
2239b8e80941Smrg   .algebraic_properties =
2240b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2241b8e80941Smrg},
2242b8e80941Smrg{
2243b8e80941Smrg   .name = "fpow",
2244b8e80941Smrg   .num_inputs = 2,
2245b8e80941Smrg   .output_size = 0,
2246b8e80941Smrg   .output_type = nir_type_float,
2247b8e80941Smrg   .input_sizes = {
2248b8e80941Smrg      0, 0
2249b8e80941Smrg   },
2250b8e80941Smrg   .input_types = {
2251b8e80941Smrg      nir_type_float, nir_type_float
2252b8e80941Smrg   },
2253b8e80941Smrg   .is_conversion = false,
2254b8e80941Smrg   .algebraic_properties =
2255b8e80941Smrg      0
2256b8e80941Smrg},
2257b8e80941Smrg{
2258b8e80941Smrg   .name = "fquantize2f16",
2259b8e80941Smrg   .num_inputs = 1,
2260b8e80941Smrg   .output_size = 0,
2261b8e80941Smrg   .output_type = nir_type_float,
2262b8e80941Smrg   .input_sizes = {
2263b8e80941Smrg      0
2264b8e80941Smrg   },
2265b8e80941Smrg   .input_types = {
2266b8e80941Smrg      nir_type_float
2267b8e80941Smrg   },
2268b8e80941Smrg   .is_conversion = false,
2269b8e80941Smrg   .algebraic_properties =
2270b8e80941Smrg      0
2271b8e80941Smrg},
2272b8e80941Smrg{
2273b8e80941Smrg   .name = "frcp",
2274b8e80941Smrg   .num_inputs = 1,
2275b8e80941Smrg   .output_size = 0,
2276b8e80941Smrg   .output_type = nir_type_float,
2277b8e80941Smrg   .input_sizes = {
2278b8e80941Smrg      0
2279b8e80941Smrg   },
2280b8e80941Smrg   .input_types = {
2281b8e80941Smrg      nir_type_float
2282b8e80941Smrg   },
2283b8e80941Smrg   .is_conversion = false,
2284b8e80941Smrg   .algebraic_properties =
2285b8e80941Smrg      0
2286b8e80941Smrg},
2287b8e80941Smrg{
2288b8e80941Smrg   .name = "frem",
2289b8e80941Smrg   .num_inputs = 2,
2290b8e80941Smrg   .output_size = 0,
2291b8e80941Smrg   .output_type = nir_type_float,
2292b8e80941Smrg   .input_sizes = {
2293b8e80941Smrg      0, 0
2294b8e80941Smrg   },
2295b8e80941Smrg   .input_types = {
2296b8e80941Smrg      nir_type_float, nir_type_float
2297b8e80941Smrg   },
2298b8e80941Smrg   .is_conversion = false,
2299b8e80941Smrg   .algebraic_properties =
2300b8e80941Smrg      0
2301b8e80941Smrg},
2302b8e80941Smrg{
2303b8e80941Smrg   .name = "frexp_exp",
2304b8e80941Smrg   .num_inputs = 1,
2305b8e80941Smrg   .output_size = 0,
2306b8e80941Smrg   .output_type = nir_type_int32,
2307b8e80941Smrg   .input_sizes = {
2308b8e80941Smrg      0
2309b8e80941Smrg   },
2310b8e80941Smrg   .input_types = {
2311b8e80941Smrg      nir_type_float
2312b8e80941Smrg   },
2313b8e80941Smrg   .is_conversion = false,
2314b8e80941Smrg   .algebraic_properties =
2315b8e80941Smrg      0
2316b8e80941Smrg},
2317b8e80941Smrg{
2318b8e80941Smrg   .name = "frexp_sig",
2319b8e80941Smrg   .num_inputs = 1,
2320b8e80941Smrg   .output_size = 0,
2321b8e80941Smrg   .output_type = nir_type_float,
2322b8e80941Smrg   .input_sizes = {
2323b8e80941Smrg      0
2324b8e80941Smrg   },
2325b8e80941Smrg   .input_types = {
2326b8e80941Smrg      nir_type_float
2327b8e80941Smrg   },
2328b8e80941Smrg   .is_conversion = false,
2329b8e80941Smrg   .algebraic_properties =
2330b8e80941Smrg      0
2331b8e80941Smrg},
2332b8e80941Smrg{
2333b8e80941Smrg   .name = "fround_even",
2334b8e80941Smrg   .num_inputs = 1,
2335b8e80941Smrg   .output_size = 0,
2336b8e80941Smrg   .output_type = nir_type_float,
2337b8e80941Smrg   .input_sizes = {
2338b8e80941Smrg      0
2339b8e80941Smrg   },
2340b8e80941Smrg   .input_types = {
2341b8e80941Smrg      nir_type_float
2342b8e80941Smrg   },
2343b8e80941Smrg   .is_conversion = false,
2344b8e80941Smrg   .algebraic_properties =
2345b8e80941Smrg      0
2346b8e80941Smrg},
2347b8e80941Smrg{
2348b8e80941Smrg   .name = "frsq",
2349b8e80941Smrg   .num_inputs = 1,
2350b8e80941Smrg   .output_size = 0,
2351b8e80941Smrg   .output_type = nir_type_float,
2352b8e80941Smrg   .input_sizes = {
2353b8e80941Smrg      0
2354b8e80941Smrg   },
2355b8e80941Smrg   .input_types = {
2356b8e80941Smrg      nir_type_float
2357b8e80941Smrg   },
2358b8e80941Smrg   .is_conversion = false,
2359b8e80941Smrg   .algebraic_properties =
2360b8e80941Smrg      0
2361b8e80941Smrg},
2362b8e80941Smrg{
2363b8e80941Smrg   .name = "fsat",
2364b8e80941Smrg   .num_inputs = 1,
2365b8e80941Smrg   .output_size = 0,
2366b8e80941Smrg   .output_type = nir_type_float,
2367b8e80941Smrg   .input_sizes = {
2368b8e80941Smrg      0
2369b8e80941Smrg   },
2370b8e80941Smrg   .input_types = {
2371b8e80941Smrg      nir_type_float
2372b8e80941Smrg   },
2373b8e80941Smrg   .is_conversion = false,
2374b8e80941Smrg   .algebraic_properties =
2375b8e80941Smrg      0
2376b8e80941Smrg},
2377b8e80941Smrg{
2378b8e80941Smrg   .name = "fsign",
2379b8e80941Smrg   .num_inputs = 1,
2380b8e80941Smrg   .output_size = 0,
2381b8e80941Smrg   .output_type = nir_type_float,
2382b8e80941Smrg   .input_sizes = {
2383b8e80941Smrg      0
2384b8e80941Smrg   },
2385b8e80941Smrg   .input_types = {
2386b8e80941Smrg      nir_type_float
2387b8e80941Smrg   },
2388b8e80941Smrg   .is_conversion = false,
2389b8e80941Smrg   .algebraic_properties =
2390b8e80941Smrg      0
2391b8e80941Smrg},
2392b8e80941Smrg{
2393b8e80941Smrg   .name = "fsin",
2394b8e80941Smrg   .num_inputs = 1,
2395b8e80941Smrg   .output_size = 0,
2396b8e80941Smrg   .output_type = nir_type_float,
2397b8e80941Smrg   .input_sizes = {
2398b8e80941Smrg      0
2399b8e80941Smrg   },
2400b8e80941Smrg   .input_types = {
2401b8e80941Smrg      nir_type_float
2402b8e80941Smrg   },
2403b8e80941Smrg   .is_conversion = false,
2404b8e80941Smrg   .algebraic_properties =
2405b8e80941Smrg      0
2406b8e80941Smrg},
2407b8e80941Smrg{
2408b8e80941Smrg   .name = "fsqrt",
2409b8e80941Smrg   .num_inputs = 1,
2410b8e80941Smrg   .output_size = 0,
2411b8e80941Smrg   .output_type = nir_type_float,
2412b8e80941Smrg   .input_sizes = {
2413b8e80941Smrg      0
2414b8e80941Smrg   },
2415b8e80941Smrg   .input_types = {
2416b8e80941Smrg      nir_type_float
2417b8e80941Smrg   },
2418b8e80941Smrg   .is_conversion = false,
2419b8e80941Smrg   .algebraic_properties =
2420b8e80941Smrg      0
2421b8e80941Smrg},
2422b8e80941Smrg{
2423b8e80941Smrg   .name = "fsub",
2424b8e80941Smrg   .num_inputs = 2,
2425b8e80941Smrg   .output_size = 0,
2426b8e80941Smrg   .output_type = nir_type_float,
2427b8e80941Smrg   .input_sizes = {
2428b8e80941Smrg      0, 0
2429b8e80941Smrg   },
2430b8e80941Smrg   .input_types = {
2431b8e80941Smrg      nir_type_float, nir_type_float
2432b8e80941Smrg   },
2433b8e80941Smrg   .is_conversion = false,
2434b8e80941Smrg   .algebraic_properties =
2435b8e80941Smrg      0
2436b8e80941Smrg},
2437b8e80941Smrg{
2438b8e80941Smrg   .name = "ftrunc",
2439b8e80941Smrg   .num_inputs = 1,
2440b8e80941Smrg   .output_size = 0,
2441b8e80941Smrg   .output_type = nir_type_float,
2442b8e80941Smrg   .input_sizes = {
2443b8e80941Smrg      0
2444b8e80941Smrg   },
2445b8e80941Smrg   .input_types = {
2446b8e80941Smrg      nir_type_float
2447b8e80941Smrg   },
2448b8e80941Smrg   .is_conversion = false,
2449b8e80941Smrg   .algebraic_properties =
2450b8e80941Smrg      0
2451b8e80941Smrg},
2452b8e80941Smrg{
2453b8e80941Smrg   .name = "fxor",
2454b8e80941Smrg   .num_inputs = 2,
2455b8e80941Smrg   .output_size = 0,
2456b8e80941Smrg   .output_type = nir_type_float32,
2457b8e80941Smrg   .input_sizes = {
2458b8e80941Smrg      0, 0
2459b8e80941Smrg   },
2460b8e80941Smrg   .input_types = {
2461b8e80941Smrg      nir_type_float32, nir_type_float32
2462b8e80941Smrg   },
2463b8e80941Smrg   .is_conversion = false,
2464b8e80941Smrg   .algebraic_properties =
2465b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2466b8e80941Smrg},
2467b8e80941Smrg{
2468b8e80941Smrg   .name = "i2b1",
2469b8e80941Smrg   .num_inputs = 1,
2470b8e80941Smrg   .output_size = 0,
2471b8e80941Smrg   .output_type = nir_type_bool1,
2472b8e80941Smrg   .input_sizes = {
2473b8e80941Smrg      0
2474b8e80941Smrg   },
2475b8e80941Smrg   .input_types = {
2476b8e80941Smrg      nir_type_int
2477b8e80941Smrg   },
2478b8e80941Smrg   .is_conversion = true,
2479b8e80941Smrg   .algebraic_properties =
2480b8e80941Smrg      0
2481b8e80941Smrg},
2482b8e80941Smrg{
2483b8e80941Smrg   .name = "i2b32",
2484b8e80941Smrg   .num_inputs = 1,
2485b8e80941Smrg   .output_size = 0,
2486b8e80941Smrg   .output_type = nir_type_bool32,
2487b8e80941Smrg   .input_sizes = {
2488b8e80941Smrg      0
2489b8e80941Smrg   },
2490b8e80941Smrg   .input_types = {
2491b8e80941Smrg      nir_type_int
2492b8e80941Smrg   },
2493b8e80941Smrg   .is_conversion = true,
2494b8e80941Smrg   .algebraic_properties =
2495b8e80941Smrg      0
2496b8e80941Smrg},
2497b8e80941Smrg{
2498b8e80941Smrg   .name = "i2f16",
2499b8e80941Smrg   .num_inputs = 1,
2500b8e80941Smrg   .output_size = 0,
2501b8e80941Smrg   .output_type = nir_type_float16,
2502b8e80941Smrg   .input_sizes = {
2503b8e80941Smrg      0
2504b8e80941Smrg   },
2505b8e80941Smrg   .input_types = {
2506b8e80941Smrg      nir_type_int
2507b8e80941Smrg   },
2508b8e80941Smrg   .is_conversion = true,
2509b8e80941Smrg   .algebraic_properties =
2510b8e80941Smrg      0
2511b8e80941Smrg},
2512b8e80941Smrg{
2513b8e80941Smrg   .name = "i2f32",
2514b8e80941Smrg   .num_inputs = 1,
2515b8e80941Smrg   .output_size = 0,
2516b8e80941Smrg   .output_type = nir_type_float32,
2517b8e80941Smrg   .input_sizes = {
2518b8e80941Smrg      0
2519b8e80941Smrg   },
2520b8e80941Smrg   .input_types = {
2521b8e80941Smrg      nir_type_int
2522b8e80941Smrg   },
2523b8e80941Smrg   .is_conversion = true,
2524b8e80941Smrg   .algebraic_properties =
2525b8e80941Smrg      0
2526b8e80941Smrg},
2527b8e80941Smrg{
2528b8e80941Smrg   .name = "i2f64",
2529b8e80941Smrg   .num_inputs = 1,
2530b8e80941Smrg   .output_size = 0,
2531b8e80941Smrg   .output_type = nir_type_float64,
2532b8e80941Smrg   .input_sizes = {
2533b8e80941Smrg      0
2534b8e80941Smrg   },
2535b8e80941Smrg   .input_types = {
2536b8e80941Smrg      nir_type_int
2537b8e80941Smrg   },
2538b8e80941Smrg   .is_conversion = true,
2539b8e80941Smrg   .algebraic_properties =
2540b8e80941Smrg      0
2541b8e80941Smrg},
2542b8e80941Smrg{
2543b8e80941Smrg   .name = "i2i1",
2544b8e80941Smrg   .num_inputs = 1,
2545b8e80941Smrg   .output_size = 0,
2546b8e80941Smrg   .output_type = nir_type_int1,
2547b8e80941Smrg   .input_sizes = {
2548b8e80941Smrg      0
2549b8e80941Smrg   },
2550b8e80941Smrg   .input_types = {
2551b8e80941Smrg      nir_type_int
2552b8e80941Smrg   },
2553b8e80941Smrg   .is_conversion = true,
2554b8e80941Smrg   .algebraic_properties =
2555b8e80941Smrg      0
2556b8e80941Smrg},
2557b8e80941Smrg{
2558b8e80941Smrg   .name = "i2i16",
2559b8e80941Smrg   .num_inputs = 1,
2560b8e80941Smrg   .output_size = 0,
2561b8e80941Smrg   .output_type = nir_type_int16,
2562b8e80941Smrg   .input_sizes = {
2563b8e80941Smrg      0
2564b8e80941Smrg   },
2565b8e80941Smrg   .input_types = {
2566b8e80941Smrg      nir_type_int
2567b8e80941Smrg   },
2568b8e80941Smrg   .is_conversion = true,
2569b8e80941Smrg   .algebraic_properties =
2570b8e80941Smrg      0
2571b8e80941Smrg},
2572b8e80941Smrg{
2573b8e80941Smrg   .name = "i2i32",
2574b8e80941Smrg   .num_inputs = 1,
2575b8e80941Smrg   .output_size = 0,
2576b8e80941Smrg   .output_type = nir_type_int32,
2577b8e80941Smrg   .input_sizes = {
2578b8e80941Smrg      0
2579b8e80941Smrg   },
2580b8e80941Smrg   .input_types = {
2581b8e80941Smrg      nir_type_int
2582b8e80941Smrg   },
2583b8e80941Smrg   .is_conversion = true,
2584b8e80941Smrg   .algebraic_properties =
2585b8e80941Smrg      0
2586b8e80941Smrg},
2587b8e80941Smrg{
2588b8e80941Smrg   .name = "i2i64",
2589b8e80941Smrg   .num_inputs = 1,
2590b8e80941Smrg   .output_size = 0,
2591b8e80941Smrg   .output_type = nir_type_int64,
2592b8e80941Smrg   .input_sizes = {
2593b8e80941Smrg      0
2594b8e80941Smrg   },
2595b8e80941Smrg   .input_types = {
2596b8e80941Smrg      nir_type_int
2597b8e80941Smrg   },
2598b8e80941Smrg   .is_conversion = true,
2599b8e80941Smrg   .algebraic_properties =
2600b8e80941Smrg      0
2601b8e80941Smrg},
2602b8e80941Smrg{
2603b8e80941Smrg   .name = "i2i8",
2604b8e80941Smrg   .num_inputs = 1,
2605b8e80941Smrg   .output_size = 0,
2606b8e80941Smrg   .output_type = nir_type_int8,
2607b8e80941Smrg   .input_sizes = {
2608b8e80941Smrg      0
2609b8e80941Smrg   },
2610b8e80941Smrg   .input_types = {
2611b8e80941Smrg      nir_type_int
2612b8e80941Smrg   },
2613b8e80941Smrg   .is_conversion = true,
2614b8e80941Smrg   .algebraic_properties =
2615b8e80941Smrg      0
2616b8e80941Smrg},
2617b8e80941Smrg{
2618b8e80941Smrg   .name = "iabs",
2619b8e80941Smrg   .num_inputs = 1,
2620b8e80941Smrg   .output_size = 0,
2621b8e80941Smrg   .output_type = nir_type_int,
2622b8e80941Smrg   .input_sizes = {
2623b8e80941Smrg      0
2624b8e80941Smrg   },
2625b8e80941Smrg   .input_types = {
2626b8e80941Smrg      nir_type_int
2627b8e80941Smrg   },
2628b8e80941Smrg   .is_conversion = false,
2629b8e80941Smrg   .algebraic_properties =
2630b8e80941Smrg      0
2631b8e80941Smrg},
2632b8e80941Smrg{
2633b8e80941Smrg   .name = "iadd",
2634b8e80941Smrg   .num_inputs = 2,
2635b8e80941Smrg   .output_size = 0,
2636b8e80941Smrg   .output_type = nir_type_int,
2637b8e80941Smrg   .input_sizes = {
2638b8e80941Smrg      0, 0
2639b8e80941Smrg   },
2640b8e80941Smrg   .input_types = {
2641b8e80941Smrg      nir_type_int, nir_type_int
2642b8e80941Smrg   },
2643b8e80941Smrg   .is_conversion = false,
2644b8e80941Smrg   .algebraic_properties =
2645b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2646b8e80941Smrg},
2647b8e80941Smrg{
2648b8e80941Smrg   .name = "iadd_sat",
2649b8e80941Smrg   .num_inputs = 2,
2650b8e80941Smrg   .output_size = 0,
2651b8e80941Smrg   .output_type = nir_type_int,
2652b8e80941Smrg   .input_sizes = {
2653b8e80941Smrg      0, 0
2654b8e80941Smrg   },
2655b8e80941Smrg   .input_types = {
2656b8e80941Smrg      nir_type_int, nir_type_int
2657b8e80941Smrg   },
2658b8e80941Smrg   .is_conversion = false,
2659b8e80941Smrg   .algebraic_properties =
2660b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2661b8e80941Smrg},
2662b8e80941Smrg{
2663b8e80941Smrg   .name = "iand",
2664b8e80941Smrg   .num_inputs = 2,
2665b8e80941Smrg   .output_size = 0,
2666b8e80941Smrg   .output_type = nir_type_uint,
2667b8e80941Smrg   .input_sizes = {
2668b8e80941Smrg      0, 0
2669b8e80941Smrg   },
2670b8e80941Smrg   .input_types = {
2671b8e80941Smrg      nir_type_uint, nir_type_uint
2672b8e80941Smrg   },
2673b8e80941Smrg   .is_conversion = false,
2674b8e80941Smrg   .algebraic_properties =
2675b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2676b8e80941Smrg},
2677b8e80941Smrg{
2678b8e80941Smrg   .name = "ibfe",
2679b8e80941Smrg   .num_inputs = 3,
2680b8e80941Smrg   .output_size = 0,
2681b8e80941Smrg   .output_type = nir_type_int32,
2682b8e80941Smrg   .input_sizes = {
2683b8e80941Smrg      0, 0, 0
2684b8e80941Smrg   },
2685b8e80941Smrg   .input_types = {
2686b8e80941Smrg      nir_type_int32, nir_type_int32, nir_type_int32
2687b8e80941Smrg   },
2688b8e80941Smrg   .is_conversion = false,
2689b8e80941Smrg   .algebraic_properties =
2690b8e80941Smrg      0
2691b8e80941Smrg},
2692b8e80941Smrg{
2693b8e80941Smrg   .name = "ibitfield_extract",
2694b8e80941Smrg   .num_inputs = 3,
2695b8e80941Smrg   .output_size = 0,
2696b8e80941Smrg   .output_type = nir_type_int32,
2697b8e80941Smrg   .input_sizes = {
2698b8e80941Smrg      0, 0, 0
2699b8e80941Smrg   },
2700b8e80941Smrg   .input_types = {
2701b8e80941Smrg      nir_type_int32, nir_type_int32, nir_type_int32
2702b8e80941Smrg   },
2703b8e80941Smrg   .is_conversion = false,
2704b8e80941Smrg   .algebraic_properties =
2705b8e80941Smrg      0
2706b8e80941Smrg},
2707b8e80941Smrg{
2708b8e80941Smrg   .name = "idiv",
2709b8e80941Smrg   .num_inputs = 2,
2710b8e80941Smrg   .output_size = 0,
2711b8e80941Smrg   .output_type = nir_type_int,
2712b8e80941Smrg   .input_sizes = {
2713b8e80941Smrg      0, 0
2714b8e80941Smrg   },
2715b8e80941Smrg   .input_types = {
2716b8e80941Smrg      nir_type_int, nir_type_int
2717b8e80941Smrg   },
2718b8e80941Smrg   .is_conversion = false,
2719b8e80941Smrg   .algebraic_properties =
2720b8e80941Smrg      0
2721b8e80941Smrg},
2722b8e80941Smrg{
2723b8e80941Smrg   .name = "ieq",
2724b8e80941Smrg   .num_inputs = 2,
2725b8e80941Smrg   .output_size = 0,
2726b8e80941Smrg   .output_type = nir_type_bool1,
2727b8e80941Smrg   .input_sizes = {
2728b8e80941Smrg      0, 0
2729b8e80941Smrg   },
2730b8e80941Smrg   .input_types = {
2731b8e80941Smrg      nir_type_int, nir_type_int
2732b8e80941Smrg   },
2733b8e80941Smrg   .is_conversion = false,
2734b8e80941Smrg   .algebraic_properties =
2735b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2736b8e80941Smrg},
2737b8e80941Smrg{
2738b8e80941Smrg   .name = "ieq32",
2739b8e80941Smrg   .num_inputs = 2,
2740b8e80941Smrg   .output_size = 0,
2741b8e80941Smrg   .output_type = nir_type_bool32,
2742b8e80941Smrg   .input_sizes = {
2743b8e80941Smrg      0, 0
2744b8e80941Smrg   },
2745b8e80941Smrg   .input_types = {
2746b8e80941Smrg      nir_type_int, nir_type_int
2747b8e80941Smrg   },
2748b8e80941Smrg   .is_conversion = false,
2749b8e80941Smrg   .algebraic_properties =
2750b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2751b8e80941Smrg},
2752b8e80941Smrg{
2753b8e80941Smrg   .name = "ifind_msb",
2754b8e80941Smrg   .num_inputs = 1,
2755b8e80941Smrg   .output_size = 0,
2756b8e80941Smrg   .output_type = nir_type_int32,
2757b8e80941Smrg   .input_sizes = {
2758b8e80941Smrg      0
2759b8e80941Smrg   },
2760b8e80941Smrg   .input_types = {
2761b8e80941Smrg      nir_type_int32
2762b8e80941Smrg   },
2763b8e80941Smrg   .is_conversion = false,
2764b8e80941Smrg   .algebraic_properties =
2765b8e80941Smrg      0
2766b8e80941Smrg},
2767b8e80941Smrg{
2768b8e80941Smrg   .name = "ige",
2769b8e80941Smrg   .num_inputs = 2,
2770b8e80941Smrg   .output_size = 0,
2771b8e80941Smrg   .output_type = nir_type_bool1,
2772b8e80941Smrg   .input_sizes = {
2773b8e80941Smrg      0, 0
2774b8e80941Smrg   },
2775b8e80941Smrg   .input_types = {
2776b8e80941Smrg      nir_type_int, nir_type_int
2777b8e80941Smrg   },
2778b8e80941Smrg   .is_conversion = false,
2779b8e80941Smrg   .algebraic_properties =
2780b8e80941Smrg      0
2781b8e80941Smrg},
2782b8e80941Smrg{
2783b8e80941Smrg   .name = "ige32",
2784b8e80941Smrg   .num_inputs = 2,
2785b8e80941Smrg   .output_size = 0,
2786b8e80941Smrg   .output_type = nir_type_bool32,
2787b8e80941Smrg   .input_sizes = {
2788b8e80941Smrg      0, 0
2789b8e80941Smrg   },
2790b8e80941Smrg   .input_types = {
2791b8e80941Smrg      nir_type_int, nir_type_int
2792b8e80941Smrg   },
2793b8e80941Smrg   .is_conversion = false,
2794b8e80941Smrg   .algebraic_properties =
2795b8e80941Smrg      0
2796b8e80941Smrg},
2797b8e80941Smrg{
2798b8e80941Smrg   .name = "ihadd",
2799b8e80941Smrg   .num_inputs = 2,
2800b8e80941Smrg   .output_size = 0,
2801b8e80941Smrg   .output_type = nir_type_int,
2802b8e80941Smrg   .input_sizes = {
2803b8e80941Smrg      0, 0
2804b8e80941Smrg   },
2805b8e80941Smrg   .input_types = {
2806b8e80941Smrg      nir_type_int, nir_type_int
2807b8e80941Smrg   },
2808b8e80941Smrg   .is_conversion = false,
2809b8e80941Smrg   .algebraic_properties =
2810b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2811b8e80941Smrg},
2812b8e80941Smrg{
2813b8e80941Smrg   .name = "ilt",
2814b8e80941Smrg   .num_inputs = 2,
2815b8e80941Smrg   .output_size = 0,
2816b8e80941Smrg   .output_type = nir_type_bool1,
2817b8e80941Smrg   .input_sizes = {
2818b8e80941Smrg      0, 0
2819b8e80941Smrg   },
2820b8e80941Smrg   .input_types = {
2821b8e80941Smrg      nir_type_int, nir_type_int
2822b8e80941Smrg   },
2823b8e80941Smrg   .is_conversion = false,
2824b8e80941Smrg   .algebraic_properties =
2825b8e80941Smrg      0
2826b8e80941Smrg},
2827b8e80941Smrg{
2828b8e80941Smrg   .name = "ilt32",
2829b8e80941Smrg   .num_inputs = 2,
2830b8e80941Smrg   .output_size = 0,
2831b8e80941Smrg   .output_type = nir_type_bool32,
2832b8e80941Smrg   .input_sizes = {
2833b8e80941Smrg      0, 0
2834b8e80941Smrg   },
2835b8e80941Smrg   .input_types = {
2836b8e80941Smrg      nir_type_int, nir_type_int
2837b8e80941Smrg   },
2838b8e80941Smrg   .is_conversion = false,
2839b8e80941Smrg   .algebraic_properties =
2840b8e80941Smrg      0
2841b8e80941Smrg},
2842b8e80941Smrg{
2843b8e80941Smrg   .name = "imax",
2844b8e80941Smrg   .num_inputs = 2,
2845b8e80941Smrg   .output_size = 0,
2846b8e80941Smrg   .output_type = nir_type_int,
2847b8e80941Smrg   .input_sizes = {
2848b8e80941Smrg      0, 0
2849b8e80941Smrg   },
2850b8e80941Smrg   .input_types = {
2851b8e80941Smrg      nir_type_int, nir_type_int
2852b8e80941Smrg   },
2853b8e80941Smrg   .is_conversion = false,
2854b8e80941Smrg   .algebraic_properties =
2855b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2856b8e80941Smrg},
2857b8e80941Smrg{
2858b8e80941Smrg   .name = "imax3",
2859b8e80941Smrg   .num_inputs = 3,
2860b8e80941Smrg   .output_size = 0,
2861b8e80941Smrg   .output_type = nir_type_int,
2862b8e80941Smrg   .input_sizes = {
2863b8e80941Smrg      0, 0, 0
2864b8e80941Smrg   },
2865b8e80941Smrg   .input_types = {
2866b8e80941Smrg      nir_type_int, nir_type_int, nir_type_int
2867b8e80941Smrg   },
2868b8e80941Smrg   .is_conversion = false,
2869b8e80941Smrg   .algebraic_properties =
2870b8e80941Smrg      0
2871b8e80941Smrg},
2872b8e80941Smrg{
2873b8e80941Smrg   .name = "imed3",
2874b8e80941Smrg   .num_inputs = 3,
2875b8e80941Smrg   .output_size = 0,
2876b8e80941Smrg   .output_type = nir_type_int,
2877b8e80941Smrg   .input_sizes = {
2878b8e80941Smrg      0, 0, 0
2879b8e80941Smrg   },
2880b8e80941Smrg   .input_types = {
2881b8e80941Smrg      nir_type_int, nir_type_int, nir_type_int
2882b8e80941Smrg   },
2883b8e80941Smrg   .is_conversion = false,
2884b8e80941Smrg   .algebraic_properties =
2885b8e80941Smrg      0
2886b8e80941Smrg},
2887b8e80941Smrg{
2888b8e80941Smrg   .name = "imin",
2889b8e80941Smrg   .num_inputs = 2,
2890b8e80941Smrg   .output_size = 0,
2891b8e80941Smrg   .output_type = nir_type_int,
2892b8e80941Smrg   .input_sizes = {
2893b8e80941Smrg      0, 0
2894b8e80941Smrg   },
2895b8e80941Smrg   .input_types = {
2896b8e80941Smrg      nir_type_int, nir_type_int
2897b8e80941Smrg   },
2898b8e80941Smrg   .is_conversion = false,
2899b8e80941Smrg   .algebraic_properties =
2900b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2901b8e80941Smrg},
2902b8e80941Smrg{
2903b8e80941Smrg   .name = "imin3",
2904b8e80941Smrg   .num_inputs = 3,
2905b8e80941Smrg   .output_size = 0,
2906b8e80941Smrg   .output_type = nir_type_int,
2907b8e80941Smrg   .input_sizes = {
2908b8e80941Smrg      0, 0, 0
2909b8e80941Smrg   },
2910b8e80941Smrg   .input_types = {
2911b8e80941Smrg      nir_type_int, nir_type_int, nir_type_int
2912b8e80941Smrg   },
2913b8e80941Smrg   .is_conversion = false,
2914b8e80941Smrg   .algebraic_properties =
2915b8e80941Smrg      0
2916b8e80941Smrg},
2917b8e80941Smrg{
2918b8e80941Smrg   .name = "imod",
2919b8e80941Smrg   .num_inputs = 2,
2920b8e80941Smrg   .output_size = 0,
2921b8e80941Smrg   .output_type = nir_type_int,
2922b8e80941Smrg   .input_sizes = {
2923b8e80941Smrg      0, 0
2924b8e80941Smrg   },
2925b8e80941Smrg   .input_types = {
2926b8e80941Smrg      nir_type_int, nir_type_int
2927b8e80941Smrg   },
2928b8e80941Smrg   .is_conversion = false,
2929b8e80941Smrg   .algebraic_properties =
2930b8e80941Smrg      0
2931b8e80941Smrg},
2932b8e80941Smrg{
2933b8e80941Smrg   .name = "imov",
2934b8e80941Smrg   .num_inputs = 1,
2935b8e80941Smrg   .output_size = 0,
2936b8e80941Smrg   .output_type = nir_type_int,
2937b8e80941Smrg   .input_sizes = {
2938b8e80941Smrg      0
2939b8e80941Smrg   },
2940b8e80941Smrg   .input_types = {
2941b8e80941Smrg      nir_type_int
2942b8e80941Smrg   },
2943b8e80941Smrg   .is_conversion = false,
2944b8e80941Smrg   .algebraic_properties =
2945b8e80941Smrg      0
2946b8e80941Smrg},
2947b8e80941Smrg{
2948b8e80941Smrg   .name = "imul",
2949b8e80941Smrg   .num_inputs = 2,
2950b8e80941Smrg   .output_size = 0,
2951b8e80941Smrg   .output_type = nir_type_int,
2952b8e80941Smrg   .input_sizes = {
2953b8e80941Smrg      0, 0
2954b8e80941Smrg   },
2955b8e80941Smrg   .input_types = {
2956b8e80941Smrg      nir_type_int, nir_type_int
2957b8e80941Smrg   },
2958b8e80941Smrg   .is_conversion = false,
2959b8e80941Smrg   .algebraic_properties =
2960b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
2961b8e80941Smrg},
2962b8e80941Smrg{
2963b8e80941Smrg   .name = "imul_2x32_64",
2964b8e80941Smrg   .num_inputs = 2,
2965b8e80941Smrg   .output_size = 0,
2966b8e80941Smrg   .output_type = nir_type_int64,
2967b8e80941Smrg   .input_sizes = {
2968b8e80941Smrg      0, 0
2969b8e80941Smrg   },
2970b8e80941Smrg   .input_types = {
2971b8e80941Smrg      nir_type_int32, nir_type_int32
2972b8e80941Smrg   },
2973b8e80941Smrg   .is_conversion = false,
2974b8e80941Smrg   .algebraic_properties =
2975b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2976b8e80941Smrg},
2977b8e80941Smrg{
2978b8e80941Smrg   .name = "imul_high",
2979b8e80941Smrg   .num_inputs = 2,
2980b8e80941Smrg   .output_size = 0,
2981b8e80941Smrg   .output_type = nir_type_int,
2982b8e80941Smrg   .input_sizes = {
2983b8e80941Smrg      0, 0
2984b8e80941Smrg   },
2985b8e80941Smrg   .input_types = {
2986b8e80941Smrg      nir_type_int, nir_type_int
2987b8e80941Smrg   },
2988b8e80941Smrg   .is_conversion = false,
2989b8e80941Smrg   .algebraic_properties =
2990b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
2991b8e80941Smrg},
2992b8e80941Smrg{
2993b8e80941Smrg   .name = "ine",
2994b8e80941Smrg   .num_inputs = 2,
2995b8e80941Smrg   .output_size = 0,
2996b8e80941Smrg   .output_type = nir_type_bool1,
2997b8e80941Smrg   .input_sizes = {
2998b8e80941Smrg      0, 0
2999b8e80941Smrg   },
3000b8e80941Smrg   .input_types = {
3001b8e80941Smrg      nir_type_int, nir_type_int
3002b8e80941Smrg   },
3003b8e80941Smrg   .is_conversion = false,
3004b8e80941Smrg   .algebraic_properties =
3005b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3006b8e80941Smrg},
3007b8e80941Smrg{
3008b8e80941Smrg   .name = "ine32",
3009b8e80941Smrg   .num_inputs = 2,
3010b8e80941Smrg   .output_size = 0,
3011b8e80941Smrg   .output_type = nir_type_bool32,
3012b8e80941Smrg   .input_sizes = {
3013b8e80941Smrg      0, 0
3014b8e80941Smrg   },
3015b8e80941Smrg   .input_types = {
3016b8e80941Smrg      nir_type_int, nir_type_int
3017b8e80941Smrg   },
3018b8e80941Smrg   .is_conversion = false,
3019b8e80941Smrg   .algebraic_properties =
3020b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3021b8e80941Smrg},
3022b8e80941Smrg{
3023b8e80941Smrg   .name = "ineg",
3024b8e80941Smrg   .num_inputs = 1,
3025b8e80941Smrg   .output_size = 0,
3026b8e80941Smrg   .output_type = nir_type_int,
3027b8e80941Smrg   .input_sizes = {
3028b8e80941Smrg      0
3029b8e80941Smrg   },
3030b8e80941Smrg   .input_types = {
3031b8e80941Smrg      nir_type_int
3032b8e80941Smrg   },
3033b8e80941Smrg   .is_conversion = false,
3034b8e80941Smrg   .algebraic_properties =
3035b8e80941Smrg      0
3036b8e80941Smrg},
3037b8e80941Smrg{
3038b8e80941Smrg   .name = "inot",
3039b8e80941Smrg   .num_inputs = 1,
3040b8e80941Smrg   .output_size = 0,
3041b8e80941Smrg   .output_type = nir_type_int,
3042b8e80941Smrg   .input_sizes = {
3043b8e80941Smrg      0
3044b8e80941Smrg   },
3045b8e80941Smrg   .input_types = {
3046b8e80941Smrg      nir_type_int
3047b8e80941Smrg   },
3048b8e80941Smrg   .is_conversion = false,
3049b8e80941Smrg   .algebraic_properties =
3050b8e80941Smrg      0
3051b8e80941Smrg},
3052b8e80941Smrg{
3053b8e80941Smrg   .name = "ior",
3054b8e80941Smrg   .num_inputs = 2,
3055b8e80941Smrg   .output_size = 0,
3056b8e80941Smrg   .output_type = nir_type_uint,
3057b8e80941Smrg   .input_sizes = {
3058b8e80941Smrg      0, 0
3059b8e80941Smrg   },
3060b8e80941Smrg   .input_types = {
3061b8e80941Smrg      nir_type_uint, nir_type_uint
3062b8e80941Smrg   },
3063b8e80941Smrg   .is_conversion = false,
3064b8e80941Smrg   .algebraic_properties =
3065b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3066b8e80941Smrg},
3067b8e80941Smrg{
3068b8e80941Smrg   .name = "irem",
3069b8e80941Smrg   .num_inputs = 2,
3070b8e80941Smrg   .output_size = 0,
3071b8e80941Smrg   .output_type = nir_type_int,
3072b8e80941Smrg   .input_sizes = {
3073b8e80941Smrg      0, 0
3074b8e80941Smrg   },
3075b8e80941Smrg   .input_types = {
3076b8e80941Smrg      nir_type_int, nir_type_int
3077b8e80941Smrg   },
3078b8e80941Smrg   .is_conversion = false,
3079b8e80941Smrg   .algebraic_properties =
3080b8e80941Smrg      0
3081b8e80941Smrg},
3082b8e80941Smrg{
3083b8e80941Smrg   .name = "irhadd",
3084b8e80941Smrg   .num_inputs = 2,
3085b8e80941Smrg   .output_size = 0,
3086b8e80941Smrg   .output_type = nir_type_int,
3087b8e80941Smrg   .input_sizes = {
3088b8e80941Smrg      0, 0
3089b8e80941Smrg   },
3090b8e80941Smrg   .input_types = {
3091b8e80941Smrg      nir_type_int, nir_type_int
3092b8e80941Smrg   },
3093b8e80941Smrg   .is_conversion = false,
3094b8e80941Smrg   .algebraic_properties =
3095b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3096b8e80941Smrg},
3097b8e80941Smrg{
3098b8e80941Smrg   .name = "ishl",
3099b8e80941Smrg   .num_inputs = 2,
3100b8e80941Smrg   .output_size = 0,
3101b8e80941Smrg   .output_type = nir_type_int,
3102b8e80941Smrg   .input_sizes = {
3103b8e80941Smrg      0, 0
3104b8e80941Smrg   },
3105b8e80941Smrg   .input_types = {
3106b8e80941Smrg      nir_type_int, nir_type_uint32
3107b8e80941Smrg   },
3108b8e80941Smrg   .is_conversion = false,
3109b8e80941Smrg   .algebraic_properties =
3110b8e80941Smrg      0
3111b8e80941Smrg},
3112b8e80941Smrg{
3113b8e80941Smrg   .name = "ishr",
3114b8e80941Smrg   .num_inputs = 2,
3115b8e80941Smrg   .output_size = 0,
3116b8e80941Smrg   .output_type = nir_type_int,
3117b8e80941Smrg   .input_sizes = {
3118b8e80941Smrg      0, 0
3119b8e80941Smrg   },
3120b8e80941Smrg   .input_types = {
3121b8e80941Smrg      nir_type_int, nir_type_uint32
3122b8e80941Smrg   },
3123b8e80941Smrg   .is_conversion = false,
3124b8e80941Smrg   .algebraic_properties =
3125b8e80941Smrg      0
3126b8e80941Smrg},
3127b8e80941Smrg{
3128b8e80941Smrg   .name = "isign",
3129b8e80941Smrg   .num_inputs = 1,
3130b8e80941Smrg   .output_size = 0,
3131b8e80941Smrg   .output_type = nir_type_int,
3132b8e80941Smrg   .input_sizes = {
3133b8e80941Smrg      0
3134b8e80941Smrg   },
3135b8e80941Smrg   .input_types = {
3136b8e80941Smrg      nir_type_int
3137b8e80941Smrg   },
3138b8e80941Smrg   .is_conversion = false,
3139b8e80941Smrg   .algebraic_properties =
3140b8e80941Smrg      0
3141b8e80941Smrg},
3142b8e80941Smrg{
3143b8e80941Smrg   .name = "isub",
3144b8e80941Smrg   .num_inputs = 2,
3145b8e80941Smrg   .output_size = 0,
3146b8e80941Smrg   .output_type = nir_type_int,
3147b8e80941Smrg   .input_sizes = {
3148b8e80941Smrg      0, 0
3149b8e80941Smrg   },
3150b8e80941Smrg   .input_types = {
3151b8e80941Smrg      nir_type_int, nir_type_int
3152b8e80941Smrg   },
3153b8e80941Smrg   .is_conversion = false,
3154b8e80941Smrg   .algebraic_properties =
3155b8e80941Smrg      0
3156b8e80941Smrg},
3157b8e80941Smrg{
3158b8e80941Smrg   .name = "isub_sat",
3159b8e80941Smrg   .num_inputs = 2,
3160b8e80941Smrg   .output_size = 0,
3161b8e80941Smrg   .output_type = nir_type_int,
3162b8e80941Smrg   .input_sizes = {
3163b8e80941Smrg      0, 0
3164b8e80941Smrg   },
3165b8e80941Smrg   .input_types = {
3166b8e80941Smrg      nir_type_int, nir_type_int
3167b8e80941Smrg   },
3168b8e80941Smrg   .is_conversion = false,
3169b8e80941Smrg   .algebraic_properties =
3170b8e80941Smrg      0
3171b8e80941Smrg},
3172b8e80941Smrg{
3173b8e80941Smrg   .name = "ixor",
3174b8e80941Smrg   .num_inputs = 2,
3175b8e80941Smrg   .output_size = 0,
3176b8e80941Smrg   .output_type = nir_type_uint,
3177b8e80941Smrg   .input_sizes = {
3178b8e80941Smrg      0, 0
3179b8e80941Smrg   },
3180b8e80941Smrg   .input_types = {
3181b8e80941Smrg      nir_type_uint, nir_type_uint
3182b8e80941Smrg   },
3183b8e80941Smrg   .is_conversion = false,
3184b8e80941Smrg   .algebraic_properties =
3185b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3186b8e80941Smrg},
3187b8e80941Smrg{
3188b8e80941Smrg   .name = "ldexp",
3189b8e80941Smrg   .num_inputs = 2,
3190b8e80941Smrg   .output_size = 0,
3191b8e80941Smrg   .output_type = nir_type_float,
3192b8e80941Smrg   .input_sizes = {
3193b8e80941Smrg      0, 0
3194b8e80941Smrg   },
3195b8e80941Smrg   .input_types = {
3196b8e80941Smrg      nir_type_float, nir_type_int32
3197b8e80941Smrg   },
3198b8e80941Smrg   .is_conversion = false,
3199b8e80941Smrg   .algebraic_properties =
3200b8e80941Smrg      0
3201b8e80941Smrg},
3202b8e80941Smrg{
3203b8e80941Smrg   .name = "pack_32_2x16",
3204b8e80941Smrg   .num_inputs = 1,
3205b8e80941Smrg   .output_size = 1,
3206b8e80941Smrg   .output_type = nir_type_uint32,
3207b8e80941Smrg   .input_sizes = {
3208b8e80941Smrg      2
3209b8e80941Smrg   },
3210b8e80941Smrg   .input_types = {
3211b8e80941Smrg      nir_type_uint16
3212b8e80941Smrg   },
3213b8e80941Smrg   .is_conversion = false,
3214b8e80941Smrg   .algebraic_properties =
3215b8e80941Smrg      0
3216b8e80941Smrg},
3217b8e80941Smrg{
3218b8e80941Smrg   .name = "pack_32_2x16_split",
3219b8e80941Smrg   .num_inputs = 2,
3220b8e80941Smrg   .output_size = 0,
3221b8e80941Smrg   .output_type = nir_type_uint32,
3222b8e80941Smrg   .input_sizes = {
3223b8e80941Smrg      0, 0
3224b8e80941Smrg   },
3225b8e80941Smrg   .input_types = {
3226b8e80941Smrg      nir_type_uint16, nir_type_uint16
3227b8e80941Smrg   },
3228b8e80941Smrg   .is_conversion = false,
3229b8e80941Smrg   .algebraic_properties =
3230b8e80941Smrg      0
3231b8e80941Smrg},
3232b8e80941Smrg{
3233b8e80941Smrg   .name = "pack_64_2x32",
3234b8e80941Smrg   .num_inputs = 1,
3235b8e80941Smrg   .output_size = 1,
3236b8e80941Smrg   .output_type = nir_type_uint64,
3237b8e80941Smrg   .input_sizes = {
3238b8e80941Smrg      2
3239b8e80941Smrg   },
3240b8e80941Smrg   .input_types = {
3241b8e80941Smrg      nir_type_uint32
3242b8e80941Smrg   },
3243b8e80941Smrg   .is_conversion = false,
3244b8e80941Smrg   .algebraic_properties =
3245b8e80941Smrg      0
3246b8e80941Smrg},
3247b8e80941Smrg{
3248b8e80941Smrg   .name = "pack_64_2x32_split",
3249b8e80941Smrg   .num_inputs = 2,
3250b8e80941Smrg   .output_size = 0,
3251b8e80941Smrg   .output_type = nir_type_uint64,
3252b8e80941Smrg   .input_sizes = {
3253b8e80941Smrg      0, 0
3254b8e80941Smrg   },
3255b8e80941Smrg   .input_types = {
3256b8e80941Smrg      nir_type_uint32, nir_type_uint32
3257b8e80941Smrg   },
3258b8e80941Smrg   .is_conversion = false,
3259b8e80941Smrg   .algebraic_properties =
3260b8e80941Smrg      0
3261b8e80941Smrg},
3262b8e80941Smrg{
3263b8e80941Smrg   .name = "pack_64_4x16",
3264b8e80941Smrg   .num_inputs = 1,
3265b8e80941Smrg   .output_size = 1,
3266b8e80941Smrg   .output_type = nir_type_uint64,
3267b8e80941Smrg   .input_sizes = {
3268b8e80941Smrg      4
3269b8e80941Smrg   },
3270b8e80941Smrg   .input_types = {
3271b8e80941Smrg      nir_type_uint16
3272b8e80941Smrg   },
3273b8e80941Smrg   .is_conversion = false,
3274b8e80941Smrg   .algebraic_properties =
3275b8e80941Smrg      0
3276b8e80941Smrg},
3277b8e80941Smrg{
3278b8e80941Smrg   .name = "pack_half_2x16",
3279b8e80941Smrg   .num_inputs = 1,
3280b8e80941Smrg   .output_size = 1,
3281b8e80941Smrg   .output_type = nir_type_uint32,
3282b8e80941Smrg   .input_sizes = {
3283b8e80941Smrg      2
3284b8e80941Smrg   },
3285b8e80941Smrg   .input_types = {
3286b8e80941Smrg      nir_type_float32
3287b8e80941Smrg   },
3288b8e80941Smrg   .is_conversion = false,
3289b8e80941Smrg   .algebraic_properties =
3290b8e80941Smrg      0
3291b8e80941Smrg},
3292b8e80941Smrg{
3293b8e80941Smrg   .name = "pack_half_2x16_split",
3294b8e80941Smrg   .num_inputs = 2,
3295b8e80941Smrg   .output_size = 1,
3296b8e80941Smrg   .output_type = nir_type_uint32,
3297b8e80941Smrg   .input_sizes = {
3298b8e80941Smrg      1, 1
3299b8e80941Smrg   },
3300b8e80941Smrg   .input_types = {
3301b8e80941Smrg      nir_type_float32, nir_type_float32
3302b8e80941Smrg   },
3303b8e80941Smrg   .is_conversion = false,
3304b8e80941Smrg   .algebraic_properties =
3305b8e80941Smrg      0
3306b8e80941Smrg},
3307b8e80941Smrg{
3308b8e80941Smrg   .name = "pack_snorm_2x16",
3309b8e80941Smrg   .num_inputs = 1,
3310b8e80941Smrg   .output_size = 1,
3311b8e80941Smrg   .output_type = nir_type_uint32,
3312b8e80941Smrg   .input_sizes = {
3313b8e80941Smrg      2
3314b8e80941Smrg   },
3315b8e80941Smrg   .input_types = {
3316b8e80941Smrg      nir_type_float32
3317b8e80941Smrg   },
3318b8e80941Smrg   .is_conversion = false,
3319b8e80941Smrg   .algebraic_properties =
3320b8e80941Smrg      0
3321b8e80941Smrg},
3322b8e80941Smrg{
3323b8e80941Smrg   .name = "pack_snorm_4x8",
3324b8e80941Smrg   .num_inputs = 1,
3325b8e80941Smrg   .output_size = 1,
3326b8e80941Smrg   .output_type = nir_type_uint32,
3327b8e80941Smrg   .input_sizes = {
3328b8e80941Smrg      4
3329b8e80941Smrg   },
3330b8e80941Smrg   .input_types = {
3331b8e80941Smrg      nir_type_float32
3332b8e80941Smrg   },
3333b8e80941Smrg   .is_conversion = false,
3334b8e80941Smrg   .algebraic_properties =
3335b8e80941Smrg      0
3336b8e80941Smrg},
3337b8e80941Smrg{
3338b8e80941Smrg   .name = "pack_unorm_2x16",
3339b8e80941Smrg   .num_inputs = 1,
3340b8e80941Smrg   .output_size = 1,
3341b8e80941Smrg   .output_type = nir_type_uint32,
3342b8e80941Smrg   .input_sizes = {
3343b8e80941Smrg      2
3344b8e80941Smrg   },
3345b8e80941Smrg   .input_types = {
3346b8e80941Smrg      nir_type_float32
3347b8e80941Smrg   },
3348b8e80941Smrg   .is_conversion = false,
3349b8e80941Smrg   .algebraic_properties =
3350b8e80941Smrg      0
3351b8e80941Smrg},
3352b8e80941Smrg{
3353b8e80941Smrg   .name = "pack_unorm_4x8",
3354b8e80941Smrg   .num_inputs = 1,
3355b8e80941Smrg   .output_size = 1,
3356b8e80941Smrg   .output_type = nir_type_uint32,
3357b8e80941Smrg   .input_sizes = {
3358b8e80941Smrg      4
3359b8e80941Smrg   },
3360b8e80941Smrg   .input_types = {
3361b8e80941Smrg      nir_type_float32
3362b8e80941Smrg   },
3363b8e80941Smrg   .is_conversion = false,
3364b8e80941Smrg   .algebraic_properties =
3365b8e80941Smrg      0
3366b8e80941Smrg},
3367b8e80941Smrg{
3368b8e80941Smrg   .name = "pack_uvec2_to_uint",
3369b8e80941Smrg   .num_inputs = 1,
3370b8e80941Smrg   .output_size = 1,
3371b8e80941Smrg   .output_type = nir_type_uint32,
3372b8e80941Smrg   .input_sizes = {
3373b8e80941Smrg      2
3374b8e80941Smrg   },
3375b8e80941Smrg   .input_types = {
3376b8e80941Smrg      nir_type_uint32
3377b8e80941Smrg   },
3378b8e80941Smrg   .is_conversion = false,
3379b8e80941Smrg   .algebraic_properties =
3380b8e80941Smrg      0
3381b8e80941Smrg},
3382b8e80941Smrg{
3383b8e80941Smrg   .name = "pack_uvec4_to_uint",
3384b8e80941Smrg   .num_inputs = 1,
3385b8e80941Smrg   .output_size = 1,
3386b8e80941Smrg   .output_type = nir_type_uint32,
3387b8e80941Smrg   .input_sizes = {
3388b8e80941Smrg      4
3389b8e80941Smrg   },
3390b8e80941Smrg   .input_types = {
3391b8e80941Smrg      nir_type_uint32
3392b8e80941Smrg   },
3393b8e80941Smrg   .is_conversion = false,
3394b8e80941Smrg   .algebraic_properties =
3395b8e80941Smrg      0
3396b8e80941Smrg},
3397b8e80941Smrg{
3398b8e80941Smrg   .name = "seq",
3399b8e80941Smrg   .num_inputs = 2,
3400b8e80941Smrg   .output_size = 0,
3401b8e80941Smrg   .output_type = nir_type_float32,
3402b8e80941Smrg   .input_sizes = {
3403b8e80941Smrg      0, 0
3404b8e80941Smrg   },
3405b8e80941Smrg   .input_types = {
3406b8e80941Smrg      nir_type_float32, nir_type_float32
3407b8e80941Smrg   },
3408b8e80941Smrg   .is_conversion = false,
3409b8e80941Smrg   .algebraic_properties =
3410b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3411b8e80941Smrg},
3412b8e80941Smrg{
3413b8e80941Smrg   .name = "sge",
3414b8e80941Smrg   .num_inputs = 2,
3415b8e80941Smrg   .output_size = 0,
3416b8e80941Smrg   .output_type = nir_type_float,
3417b8e80941Smrg   .input_sizes = {
3418b8e80941Smrg      0, 0
3419b8e80941Smrg   },
3420b8e80941Smrg   .input_types = {
3421b8e80941Smrg      nir_type_float, nir_type_float
3422b8e80941Smrg   },
3423b8e80941Smrg   .is_conversion = false,
3424b8e80941Smrg   .algebraic_properties =
3425b8e80941Smrg      0
3426b8e80941Smrg},
3427b8e80941Smrg{
3428b8e80941Smrg   .name = "slt",
3429b8e80941Smrg   .num_inputs = 2,
3430b8e80941Smrg   .output_size = 0,
3431b8e80941Smrg   .output_type = nir_type_float32,
3432b8e80941Smrg   .input_sizes = {
3433b8e80941Smrg      0, 0
3434b8e80941Smrg   },
3435b8e80941Smrg   .input_types = {
3436b8e80941Smrg      nir_type_float32, nir_type_float32
3437b8e80941Smrg   },
3438b8e80941Smrg   .is_conversion = false,
3439b8e80941Smrg   .algebraic_properties =
3440b8e80941Smrg      0
3441b8e80941Smrg},
3442b8e80941Smrg{
3443b8e80941Smrg   .name = "sne",
3444b8e80941Smrg   .num_inputs = 2,
3445b8e80941Smrg   .output_size = 0,
3446b8e80941Smrg   .output_type = nir_type_float32,
3447b8e80941Smrg   .input_sizes = {
3448b8e80941Smrg      0, 0
3449b8e80941Smrg   },
3450b8e80941Smrg   .input_types = {
3451b8e80941Smrg      nir_type_float32, nir_type_float32
3452b8e80941Smrg   },
3453b8e80941Smrg   .is_conversion = false,
3454b8e80941Smrg   .algebraic_properties =
3455b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3456b8e80941Smrg},
3457b8e80941Smrg{
3458b8e80941Smrg   .name = "u2f16",
3459b8e80941Smrg   .num_inputs = 1,
3460b8e80941Smrg   .output_size = 0,
3461b8e80941Smrg   .output_type = nir_type_float16,
3462b8e80941Smrg   .input_sizes = {
3463b8e80941Smrg      0
3464b8e80941Smrg   },
3465b8e80941Smrg   .input_types = {
3466b8e80941Smrg      nir_type_uint
3467b8e80941Smrg   },
3468b8e80941Smrg   .is_conversion = true,
3469b8e80941Smrg   .algebraic_properties =
3470b8e80941Smrg      0
3471b8e80941Smrg},
3472b8e80941Smrg{
3473b8e80941Smrg   .name = "u2f32",
3474b8e80941Smrg   .num_inputs = 1,
3475b8e80941Smrg   .output_size = 0,
3476b8e80941Smrg   .output_type = nir_type_float32,
3477b8e80941Smrg   .input_sizes = {
3478b8e80941Smrg      0
3479b8e80941Smrg   },
3480b8e80941Smrg   .input_types = {
3481b8e80941Smrg      nir_type_uint
3482b8e80941Smrg   },
3483b8e80941Smrg   .is_conversion = true,
3484b8e80941Smrg   .algebraic_properties =
3485b8e80941Smrg      0
3486b8e80941Smrg},
3487b8e80941Smrg{
3488b8e80941Smrg   .name = "u2f64",
3489b8e80941Smrg   .num_inputs = 1,
3490b8e80941Smrg   .output_size = 0,
3491b8e80941Smrg   .output_type = nir_type_float64,
3492b8e80941Smrg   .input_sizes = {
3493b8e80941Smrg      0
3494b8e80941Smrg   },
3495b8e80941Smrg   .input_types = {
3496b8e80941Smrg      nir_type_uint
3497b8e80941Smrg   },
3498b8e80941Smrg   .is_conversion = true,
3499b8e80941Smrg   .algebraic_properties =
3500b8e80941Smrg      0
3501b8e80941Smrg},
3502b8e80941Smrg{
3503b8e80941Smrg   .name = "u2u1",
3504b8e80941Smrg   .num_inputs = 1,
3505b8e80941Smrg   .output_size = 0,
3506b8e80941Smrg   .output_type = nir_type_uint1,
3507b8e80941Smrg   .input_sizes = {
3508b8e80941Smrg      0
3509b8e80941Smrg   },
3510b8e80941Smrg   .input_types = {
3511b8e80941Smrg      nir_type_uint
3512b8e80941Smrg   },
3513b8e80941Smrg   .is_conversion = true,
3514b8e80941Smrg   .algebraic_properties =
3515b8e80941Smrg      0
3516b8e80941Smrg},
3517b8e80941Smrg{
3518b8e80941Smrg   .name = "u2u16",
3519b8e80941Smrg   .num_inputs = 1,
3520b8e80941Smrg   .output_size = 0,
3521b8e80941Smrg   .output_type = nir_type_uint16,
3522b8e80941Smrg   .input_sizes = {
3523b8e80941Smrg      0
3524b8e80941Smrg   },
3525b8e80941Smrg   .input_types = {
3526b8e80941Smrg      nir_type_uint
3527b8e80941Smrg   },
3528b8e80941Smrg   .is_conversion = true,
3529b8e80941Smrg   .algebraic_properties =
3530b8e80941Smrg      0
3531b8e80941Smrg},
3532b8e80941Smrg{
3533b8e80941Smrg   .name = "u2u32",
3534b8e80941Smrg   .num_inputs = 1,
3535b8e80941Smrg   .output_size = 0,
3536b8e80941Smrg   .output_type = nir_type_uint32,
3537b8e80941Smrg   .input_sizes = {
3538b8e80941Smrg      0
3539b8e80941Smrg   },
3540b8e80941Smrg   .input_types = {
3541b8e80941Smrg      nir_type_uint
3542b8e80941Smrg   },
3543b8e80941Smrg   .is_conversion = true,
3544b8e80941Smrg   .algebraic_properties =
3545b8e80941Smrg      0
3546b8e80941Smrg},
3547b8e80941Smrg{
3548b8e80941Smrg   .name = "u2u64",
3549b8e80941Smrg   .num_inputs = 1,
3550b8e80941Smrg   .output_size = 0,
3551b8e80941Smrg   .output_type = nir_type_uint64,
3552b8e80941Smrg   .input_sizes = {
3553b8e80941Smrg      0
3554b8e80941Smrg   },
3555b8e80941Smrg   .input_types = {
3556b8e80941Smrg      nir_type_uint
3557b8e80941Smrg   },
3558b8e80941Smrg   .is_conversion = true,
3559b8e80941Smrg   .algebraic_properties =
3560b8e80941Smrg      0
3561b8e80941Smrg},
3562b8e80941Smrg{
3563b8e80941Smrg   .name = "u2u8",
3564b8e80941Smrg   .num_inputs = 1,
3565b8e80941Smrg   .output_size = 0,
3566b8e80941Smrg   .output_type = nir_type_uint8,
3567b8e80941Smrg   .input_sizes = {
3568b8e80941Smrg      0
3569b8e80941Smrg   },
3570b8e80941Smrg   .input_types = {
3571b8e80941Smrg      nir_type_uint
3572b8e80941Smrg   },
3573b8e80941Smrg   .is_conversion = true,
3574b8e80941Smrg   .algebraic_properties =
3575b8e80941Smrg      0
3576b8e80941Smrg},
3577b8e80941Smrg{
3578b8e80941Smrg   .name = "uadd_carry",
3579b8e80941Smrg   .num_inputs = 2,
3580b8e80941Smrg   .output_size = 0,
3581b8e80941Smrg   .output_type = nir_type_uint,
3582b8e80941Smrg   .input_sizes = {
3583b8e80941Smrg      0, 0
3584b8e80941Smrg   },
3585b8e80941Smrg   .input_types = {
3586b8e80941Smrg      nir_type_uint, nir_type_uint
3587b8e80941Smrg   },
3588b8e80941Smrg   .is_conversion = false,
3589b8e80941Smrg   .algebraic_properties =
3590b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3591b8e80941Smrg},
3592b8e80941Smrg{
3593b8e80941Smrg   .name = "uadd_sat",
3594b8e80941Smrg   .num_inputs = 2,
3595b8e80941Smrg   .output_size = 0,
3596b8e80941Smrg   .output_type = nir_type_uint,
3597b8e80941Smrg   .input_sizes = {
3598b8e80941Smrg      0, 0
3599b8e80941Smrg   },
3600b8e80941Smrg   .input_types = {
3601b8e80941Smrg      nir_type_uint, nir_type_uint
3602b8e80941Smrg   },
3603b8e80941Smrg   .is_conversion = false,
3604b8e80941Smrg   .algebraic_properties =
3605b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3606b8e80941Smrg},
3607b8e80941Smrg{
3608b8e80941Smrg   .name = "ubfe",
3609b8e80941Smrg   .num_inputs = 3,
3610b8e80941Smrg   .output_size = 0,
3611b8e80941Smrg   .output_type = nir_type_uint32,
3612b8e80941Smrg   .input_sizes = {
3613b8e80941Smrg      0, 0, 0
3614b8e80941Smrg   },
3615b8e80941Smrg   .input_types = {
3616b8e80941Smrg      nir_type_uint32, nir_type_int32, nir_type_int32
3617b8e80941Smrg   },
3618b8e80941Smrg   .is_conversion = false,
3619b8e80941Smrg   .algebraic_properties =
3620b8e80941Smrg      0
3621b8e80941Smrg},
3622b8e80941Smrg{
3623b8e80941Smrg   .name = "ubitfield_extract",
3624b8e80941Smrg   .num_inputs = 3,
3625b8e80941Smrg   .output_size = 0,
3626b8e80941Smrg   .output_type = nir_type_uint32,
3627b8e80941Smrg   .input_sizes = {
3628b8e80941Smrg      0, 0, 0
3629b8e80941Smrg   },
3630b8e80941Smrg   .input_types = {
3631b8e80941Smrg      nir_type_uint32, nir_type_int32, nir_type_int32
3632b8e80941Smrg   },
3633b8e80941Smrg   .is_conversion = false,
3634b8e80941Smrg   .algebraic_properties =
3635b8e80941Smrg      0
3636b8e80941Smrg},
3637b8e80941Smrg{
3638b8e80941Smrg   .name = "udiv",
3639b8e80941Smrg   .num_inputs = 2,
3640b8e80941Smrg   .output_size = 0,
3641b8e80941Smrg   .output_type = nir_type_uint,
3642b8e80941Smrg   .input_sizes = {
3643b8e80941Smrg      0, 0
3644b8e80941Smrg   },
3645b8e80941Smrg   .input_types = {
3646b8e80941Smrg      nir_type_uint, nir_type_uint
3647b8e80941Smrg   },
3648b8e80941Smrg   .is_conversion = false,
3649b8e80941Smrg   .algebraic_properties =
3650b8e80941Smrg      0
3651b8e80941Smrg},
3652b8e80941Smrg{
3653b8e80941Smrg   .name = "ufind_msb",
3654b8e80941Smrg   .num_inputs = 1,
3655b8e80941Smrg   .output_size = 0,
3656b8e80941Smrg   .output_type = nir_type_int32,
3657b8e80941Smrg   .input_sizes = {
3658b8e80941Smrg      0
3659b8e80941Smrg   },
3660b8e80941Smrg   .input_types = {
3661b8e80941Smrg      nir_type_uint
3662b8e80941Smrg   },
3663b8e80941Smrg   .is_conversion = false,
3664b8e80941Smrg   .algebraic_properties =
3665b8e80941Smrg      0
3666b8e80941Smrg},
3667b8e80941Smrg{
3668b8e80941Smrg   .name = "uge",
3669b8e80941Smrg   .num_inputs = 2,
3670b8e80941Smrg   .output_size = 0,
3671b8e80941Smrg   .output_type = nir_type_bool1,
3672b8e80941Smrg   .input_sizes = {
3673b8e80941Smrg      0, 0
3674b8e80941Smrg   },
3675b8e80941Smrg   .input_types = {
3676b8e80941Smrg      nir_type_uint, nir_type_uint
3677b8e80941Smrg   },
3678b8e80941Smrg   .is_conversion = false,
3679b8e80941Smrg   .algebraic_properties =
3680b8e80941Smrg      0
3681b8e80941Smrg},
3682b8e80941Smrg{
3683b8e80941Smrg   .name = "uge32",
3684b8e80941Smrg   .num_inputs = 2,
3685b8e80941Smrg   .output_size = 0,
3686b8e80941Smrg   .output_type = nir_type_bool32,
3687b8e80941Smrg   .input_sizes = {
3688b8e80941Smrg      0, 0
3689b8e80941Smrg   },
3690b8e80941Smrg   .input_types = {
3691b8e80941Smrg      nir_type_uint, nir_type_uint
3692b8e80941Smrg   },
3693b8e80941Smrg   .is_conversion = false,
3694b8e80941Smrg   .algebraic_properties =
3695b8e80941Smrg      0
3696b8e80941Smrg},
3697b8e80941Smrg{
3698b8e80941Smrg   .name = "uhadd",
3699b8e80941Smrg   .num_inputs = 2,
3700b8e80941Smrg   .output_size = 0,
3701b8e80941Smrg   .output_type = nir_type_uint,
3702b8e80941Smrg   .input_sizes = {
3703b8e80941Smrg      0, 0
3704b8e80941Smrg   },
3705b8e80941Smrg   .input_types = {
3706b8e80941Smrg      nir_type_uint, nir_type_uint
3707b8e80941Smrg   },
3708b8e80941Smrg   .is_conversion = false,
3709b8e80941Smrg   .algebraic_properties =
3710b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3711b8e80941Smrg},
3712b8e80941Smrg{
3713b8e80941Smrg   .name = "ult",
3714b8e80941Smrg   .num_inputs = 2,
3715b8e80941Smrg   .output_size = 0,
3716b8e80941Smrg   .output_type = nir_type_bool1,
3717b8e80941Smrg   .input_sizes = {
3718b8e80941Smrg      0, 0
3719b8e80941Smrg   },
3720b8e80941Smrg   .input_types = {
3721b8e80941Smrg      nir_type_uint, nir_type_uint
3722b8e80941Smrg   },
3723b8e80941Smrg   .is_conversion = false,
3724b8e80941Smrg   .algebraic_properties =
3725b8e80941Smrg      0
3726b8e80941Smrg},
3727b8e80941Smrg{
3728b8e80941Smrg   .name = "ult32",
3729b8e80941Smrg   .num_inputs = 2,
3730b8e80941Smrg   .output_size = 0,
3731b8e80941Smrg   .output_type = nir_type_bool32,
3732b8e80941Smrg   .input_sizes = {
3733b8e80941Smrg      0, 0
3734b8e80941Smrg   },
3735b8e80941Smrg   .input_types = {
3736b8e80941Smrg      nir_type_uint, nir_type_uint
3737b8e80941Smrg   },
3738b8e80941Smrg   .is_conversion = false,
3739b8e80941Smrg   .algebraic_properties =
3740b8e80941Smrg      0
3741b8e80941Smrg},
3742b8e80941Smrg{
3743b8e80941Smrg   .name = "umax",
3744b8e80941Smrg   .num_inputs = 2,
3745b8e80941Smrg   .output_size = 0,
3746b8e80941Smrg   .output_type = nir_type_uint,
3747b8e80941Smrg   .input_sizes = {
3748b8e80941Smrg      0, 0
3749b8e80941Smrg   },
3750b8e80941Smrg   .input_types = {
3751b8e80941Smrg      nir_type_uint, nir_type_uint
3752b8e80941Smrg   },
3753b8e80941Smrg   .is_conversion = false,
3754b8e80941Smrg   .algebraic_properties =
3755b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3756b8e80941Smrg},
3757b8e80941Smrg{
3758b8e80941Smrg   .name = "umax3",
3759b8e80941Smrg   .num_inputs = 3,
3760b8e80941Smrg   .output_size = 0,
3761b8e80941Smrg   .output_type = nir_type_uint,
3762b8e80941Smrg   .input_sizes = {
3763b8e80941Smrg      0, 0, 0
3764b8e80941Smrg   },
3765b8e80941Smrg   .input_types = {
3766b8e80941Smrg      nir_type_uint, nir_type_uint, nir_type_uint
3767b8e80941Smrg   },
3768b8e80941Smrg   .is_conversion = false,
3769b8e80941Smrg   .algebraic_properties =
3770b8e80941Smrg      0
3771b8e80941Smrg},
3772b8e80941Smrg{
3773b8e80941Smrg   .name = "umax_4x8",
3774b8e80941Smrg   .num_inputs = 2,
3775b8e80941Smrg   .output_size = 0,
3776b8e80941Smrg   .output_type = nir_type_int32,
3777b8e80941Smrg   .input_sizes = {
3778b8e80941Smrg      0, 0
3779b8e80941Smrg   },
3780b8e80941Smrg   .input_types = {
3781b8e80941Smrg      nir_type_int32, nir_type_int32
3782b8e80941Smrg   },
3783b8e80941Smrg   .is_conversion = false,
3784b8e80941Smrg   .algebraic_properties =
3785b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3786b8e80941Smrg},
3787b8e80941Smrg{
3788b8e80941Smrg   .name = "umed3",
3789b8e80941Smrg   .num_inputs = 3,
3790b8e80941Smrg   .output_size = 0,
3791b8e80941Smrg   .output_type = nir_type_uint,
3792b8e80941Smrg   .input_sizes = {
3793b8e80941Smrg      0, 0, 0
3794b8e80941Smrg   },
3795b8e80941Smrg   .input_types = {
3796b8e80941Smrg      nir_type_uint, nir_type_uint, nir_type_uint
3797b8e80941Smrg   },
3798b8e80941Smrg   .is_conversion = false,
3799b8e80941Smrg   .algebraic_properties =
3800b8e80941Smrg      0
3801b8e80941Smrg},
3802b8e80941Smrg{
3803b8e80941Smrg   .name = "umin",
3804b8e80941Smrg   .num_inputs = 2,
3805b8e80941Smrg   .output_size = 0,
3806b8e80941Smrg   .output_type = nir_type_uint,
3807b8e80941Smrg   .input_sizes = {
3808b8e80941Smrg      0, 0
3809b8e80941Smrg   },
3810b8e80941Smrg   .input_types = {
3811b8e80941Smrg      nir_type_uint, nir_type_uint
3812b8e80941Smrg   },
3813b8e80941Smrg   .is_conversion = false,
3814b8e80941Smrg   .algebraic_properties =
3815b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3816b8e80941Smrg},
3817b8e80941Smrg{
3818b8e80941Smrg   .name = "umin3",
3819b8e80941Smrg   .num_inputs = 3,
3820b8e80941Smrg   .output_size = 0,
3821b8e80941Smrg   .output_type = nir_type_uint,
3822b8e80941Smrg   .input_sizes = {
3823b8e80941Smrg      0, 0, 0
3824b8e80941Smrg   },
3825b8e80941Smrg   .input_types = {
3826b8e80941Smrg      nir_type_uint, nir_type_uint, nir_type_uint
3827b8e80941Smrg   },
3828b8e80941Smrg   .is_conversion = false,
3829b8e80941Smrg   .algebraic_properties =
3830b8e80941Smrg      0
3831b8e80941Smrg},
3832b8e80941Smrg{
3833b8e80941Smrg   .name = "umin_4x8",
3834b8e80941Smrg   .num_inputs = 2,
3835b8e80941Smrg   .output_size = 0,
3836b8e80941Smrg   .output_type = nir_type_int32,
3837b8e80941Smrg   .input_sizes = {
3838b8e80941Smrg      0, 0
3839b8e80941Smrg   },
3840b8e80941Smrg   .input_types = {
3841b8e80941Smrg      nir_type_int32, nir_type_int32
3842b8e80941Smrg   },
3843b8e80941Smrg   .is_conversion = false,
3844b8e80941Smrg   .algebraic_properties =
3845b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3846b8e80941Smrg},
3847b8e80941Smrg{
3848b8e80941Smrg   .name = "umod",
3849b8e80941Smrg   .num_inputs = 2,
3850b8e80941Smrg   .output_size = 0,
3851b8e80941Smrg   .output_type = nir_type_uint,
3852b8e80941Smrg   .input_sizes = {
3853b8e80941Smrg      0, 0
3854b8e80941Smrg   },
3855b8e80941Smrg   .input_types = {
3856b8e80941Smrg      nir_type_uint, nir_type_uint
3857b8e80941Smrg   },
3858b8e80941Smrg   .is_conversion = false,
3859b8e80941Smrg   .algebraic_properties =
3860b8e80941Smrg      0
3861b8e80941Smrg},
3862b8e80941Smrg{
3863b8e80941Smrg   .name = "umul_2x32_64",
3864b8e80941Smrg   .num_inputs = 2,
3865b8e80941Smrg   .output_size = 0,
3866b8e80941Smrg   .output_type = nir_type_uint64,
3867b8e80941Smrg   .input_sizes = {
3868b8e80941Smrg      0, 0
3869b8e80941Smrg   },
3870b8e80941Smrg   .input_types = {
3871b8e80941Smrg      nir_type_uint32, nir_type_uint32
3872b8e80941Smrg   },
3873b8e80941Smrg   .is_conversion = false,
3874b8e80941Smrg   .algebraic_properties =
3875b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3876b8e80941Smrg},
3877b8e80941Smrg{
3878b8e80941Smrg   .name = "umul_high",
3879b8e80941Smrg   .num_inputs = 2,
3880b8e80941Smrg   .output_size = 0,
3881b8e80941Smrg   .output_type = nir_type_uint,
3882b8e80941Smrg   .input_sizes = {
3883b8e80941Smrg      0, 0
3884b8e80941Smrg   },
3885b8e80941Smrg   .input_types = {
3886b8e80941Smrg      nir_type_uint, nir_type_uint
3887b8e80941Smrg   },
3888b8e80941Smrg   .is_conversion = false,
3889b8e80941Smrg   .algebraic_properties =
3890b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
3891b8e80941Smrg},
3892b8e80941Smrg{
3893b8e80941Smrg   .name = "umul_unorm_4x8",
3894b8e80941Smrg   .num_inputs = 2,
3895b8e80941Smrg   .output_size = 0,
3896b8e80941Smrg   .output_type = nir_type_int32,
3897b8e80941Smrg   .input_sizes = {
3898b8e80941Smrg      0, 0
3899b8e80941Smrg   },
3900b8e80941Smrg   .input_types = {
3901b8e80941Smrg      nir_type_int32, nir_type_int32
3902b8e80941Smrg   },
3903b8e80941Smrg   .is_conversion = false,
3904b8e80941Smrg   .algebraic_properties =
3905b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
3906b8e80941Smrg},
3907b8e80941Smrg{
3908b8e80941Smrg   .name = "unpack_32_2x16",
3909b8e80941Smrg   .num_inputs = 1,
3910b8e80941Smrg   .output_size = 2,
3911b8e80941Smrg   .output_type = nir_type_uint16,
3912b8e80941Smrg   .input_sizes = {
3913b8e80941Smrg      1
3914b8e80941Smrg   },
3915b8e80941Smrg   .input_types = {
3916b8e80941Smrg      nir_type_uint32
3917b8e80941Smrg   },
3918b8e80941Smrg   .is_conversion = false,
3919b8e80941Smrg   .algebraic_properties =
3920b8e80941Smrg      0
3921b8e80941Smrg},
3922b8e80941Smrg{
3923b8e80941Smrg   .name = "unpack_32_2x16_split_x",
3924b8e80941Smrg   .num_inputs = 1,
3925b8e80941Smrg   .output_size = 0,
3926b8e80941Smrg   .output_type = nir_type_uint16,
3927b8e80941Smrg   .input_sizes = {
3928b8e80941Smrg      0
3929b8e80941Smrg   },
3930b8e80941Smrg   .input_types = {
3931b8e80941Smrg      nir_type_uint32
3932b8e80941Smrg   },
3933b8e80941Smrg   .is_conversion = false,
3934b8e80941Smrg   .algebraic_properties =
3935b8e80941Smrg      0
3936b8e80941Smrg},
3937b8e80941Smrg{
3938b8e80941Smrg   .name = "unpack_32_2x16_split_y",
3939b8e80941Smrg   .num_inputs = 1,
3940b8e80941Smrg   .output_size = 0,
3941b8e80941Smrg   .output_type = nir_type_uint16,
3942b8e80941Smrg   .input_sizes = {
3943b8e80941Smrg      0
3944b8e80941Smrg   },
3945b8e80941Smrg   .input_types = {
3946b8e80941Smrg      nir_type_uint32
3947b8e80941Smrg   },
3948b8e80941Smrg   .is_conversion = false,
3949b8e80941Smrg   .algebraic_properties =
3950b8e80941Smrg      0
3951b8e80941Smrg},
3952b8e80941Smrg{
3953b8e80941Smrg   .name = "unpack_64_2x32",
3954b8e80941Smrg   .num_inputs = 1,
3955b8e80941Smrg   .output_size = 2,
3956b8e80941Smrg   .output_type = nir_type_uint32,
3957b8e80941Smrg   .input_sizes = {
3958b8e80941Smrg      1
3959b8e80941Smrg   },
3960b8e80941Smrg   .input_types = {
3961b8e80941Smrg      nir_type_uint64
3962b8e80941Smrg   },
3963b8e80941Smrg   .is_conversion = false,
3964b8e80941Smrg   .algebraic_properties =
3965b8e80941Smrg      0
3966b8e80941Smrg},
3967b8e80941Smrg{
3968b8e80941Smrg   .name = "unpack_64_2x32_split_x",
3969b8e80941Smrg   .num_inputs = 1,
3970b8e80941Smrg   .output_size = 0,
3971b8e80941Smrg   .output_type = nir_type_uint32,
3972b8e80941Smrg   .input_sizes = {
3973b8e80941Smrg      0
3974b8e80941Smrg   },
3975b8e80941Smrg   .input_types = {
3976b8e80941Smrg      nir_type_uint64
3977b8e80941Smrg   },
3978b8e80941Smrg   .is_conversion = false,
3979b8e80941Smrg   .algebraic_properties =
3980b8e80941Smrg      0
3981b8e80941Smrg},
3982b8e80941Smrg{
3983b8e80941Smrg   .name = "unpack_64_2x32_split_y",
3984b8e80941Smrg   .num_inputs = 1,
3985b8e80941Smrg   .output_size = 0,
3986b8e80941Smrg   .output_type = nir_type_uint32,
3987b8e80941Smrg   .input_sizes = {
3988b8e80941Smrg      0
3989b8e80941Smrg   },
3990b8e80941Smrg   .input_types = {
3991b8e80941Smrg      nir_type_uint64
3992b8e80941Smrg   },
3993b8e80941Smrg   .is_conversion = false,
3994b8e80941Smrg   .algebraic_properties =
3995b8e80941Smrg      0
3996b8e80941Smrg},
3997b8e80941Smrg{
3998b8e80941Smrg   .name = "unpack_64_4x16",
3999b8e80941Smrg   .num_inputs = 1,
4000b8e80941Smrg   .output_size = 4,
4001b8e80941Smrg   .output_type = nir_type_uint16,
4002b8e80941Smrg   .input_sizes = {
4003b8e80941Smrg      1
4004b8e80941Smrg   },
4005b8e80941Smrg   .input_types = {
4006b8e80941Smrg      nir_type_uint64
4007b8e80941Smrg   },
4008b8e80941Smrg   .is_conversion = false,
4009b8e80941Smrg   .algebraic_properties =
4010b8e80941Smrg      0
4011b8e80941Smrg},
4012b8e80941Smrg{
4013b8e80941Smrg   .name = "unpack_half_2x16",
4014b8e80941Smrg   .num_inputs = 1,
4015b8e80941Smrg   .output_size = 2,
4016b8e80941Smrg   .output_type = nir_type_float32,
4017b8e80941Smrg   .input_sizes = {
4018b8e80941Smrg      1
4019b8e80941Smrg   },
4020b8e80941Smrg   .input_types = {
4021b8e80941Smrg      nir_type_uint32
4022b8e80941Smrg   },
4023b8e80941Smrg   .is_conversion = false,
4024b8e80941Smrg   .algebraic_properties =
4025b8e80941Smrg      0
4026b8e80941Smrg},
4027b8e80941Smrg{
4028b8e80941Smrg   .name = "unpack_half_2x16_split_x",
4029b8e80941Smrg   .num_inputs = 1,
4030b8e80941Smrg   .output_size = 0,
4031b8e80941Smrg   .output_type = nir_type_float32,
4032b8e80941Smrg   .input_sizes = {
4033b8e80941Smrg      0
4034b8e80941Smrg   },
4035b8e80941Smrg   .input_types = {
4036b8e80941Smrg      nir_type_uint32
4037b8e80941Smrg   },
4038b8e80941Smrg   .is_conversion = false,
4039b8e80941Smrg   .algebraic_properties =
4040b8e80941Smrg      0
4041b8e80941Smrg},
4042b8e80941Smrg{
4043b8e80941Smrg   .name = "unpack_half_2x16_split_y",
4044b8e80941Smrg   .num_inputs = 1,
4045b8e80941Smrg   .output_size = 0,
4046b8e80941Smrg   .output_type = nir_type_float32,
4047b8e80941Smrg   .input_sizes = {
4048b8e80941Smrg      0
4049b8e80941Smrg   },
4050b8e80941Smrg   .input_types = {
4051b8e80941Smrg      nir_type_uint32
4052b8e80941Smrg   },
4053b8e80941Smrg   .is_conversion = false,
4054b8e80941Smrg   .algebraic_properties =
4055b8e80941Smrg      0
4056b8e80941Smrg},
4057b8e80941Smrg{
4058b8e80941Smrg   .name = "unpack_snorm_2x16",
4059b8e80941Smrg   .num_inputs = 1,
4060b8e80941Smrg   .output_size = 2,
4061b8e80941Smrg   .output_type = nir_type_float32,
4062b8e80941Smrg   .input_sizes = {
4063b8e80941Smrg      1
4064b8e80941Smrg   },
4065b8e80941Smrg   .input_types = {
4066b8e80941Smrg      nir_type_uint32
4067b8e80941Smrg   },
4068b8e80941Smrg   .is_conversion = false,
4069b8e80941Smrg   .algebraic_properties =
4070b8e80941Smrg      0
4071b8e80941Smrg},
4072b8e80941Smrg{
4073b8e80941Smrg   .name = "unpack_snorm_4x8",
4074b8e80941Smrg   .num_inputs = 1,
4075b8e80941Smrg   .output_size = 4,
4076b8e80941Smrg   .output_type = nir_type_float32,
4077b8e80941Smrg   .input_sizes = {
4078b8e80941Smrg      1
4079b8e80941Smrg   },
4080b8e80941Smrg   .input_types = {
4081b8e80941Smrg      nir_type_uint32
4082b8e80941Smrg   },
4083b8e80941Smrg   .is_conversion = false,
4084b8e80941Smrg   .algebraic_properties =
4085b8e80941Smrg      0
4086b8e80941Smrg},
4087b8e80941Smrg{
4088b8e80941Smrg   .name = "unpack_unorm_2x16",
4089b8e80941Smrg   .num_inputs = 1,
4090b8e80941Smrg   .output_size = 2,
4091b8e80941Smrg   .output_type = nir_type_float32,
4092b8e80941Smrg   .input_sizes = {
4093b8e80941Smrg      1
4094b8e80941Smrg   },
4095b8e80941Smrg   .input_types = {
4096b8e80941Smrg      nir_type_uint32
4097b8e80941Smrg   },
4098b8e80941Smrg   .is_conversion = false,
4099b8e80941Smrg   .algebraic_properties =
4100b8e80941Smrg      0
4101b8e80941Smrg},
4102b8e80941Smrg{
4103b8e80941Smrg   .name = "unpack_unorm_4x8",
4104b8e80941Smrg   .num_inputs = 1,
4105b8e80941Smrg   .output_size = 4,
4106b8e80941Smrg   .output_type = nir_type_float32,
4107b8e80941Smrg   .input_sizes = {
4108b8e80941Smrg      1
4109b8e80941Smrg   },
4110b8e80941Smrg   .input_types = {
4111b8e80941Smrg      nir_type_uint32
4112b8e80941Smrg   },
4113b8e80941Smrg   .is_conversion = false,
4114b8e80941Smrg   .algebraic_properties =
4115b8e80941Smrg      0
4116b8e80941Smrg},
4117b8e80941Smrg{
4118b8e80941Smrg   .name = "urhadd",
4119b8e80941Smrg   .num_inputs = 2,
4120b8e80941Smrg   .output_size = 0,
4121b8e80941Smrg   .output_type = nir_type_uint,
4122b8e80941Smrg   .input_sizes = {
4123b8e80941Smrg      0, 0
4124b8e80941Smrg   },
4125b8e80941Smrg   .input_types = {
4126b8e80941Smrg      nir_type_uint, nir_type_uint
4127b8e80941Smrg   },
4128b8e80941Smrg   .is_conversion = false,
4129b8e80941Smrg   .algebraic_properties =
4130b8e80941Smrg      NIR_OP_IS_COMMUTATIVE
4131b8e80941Smrg},
4132b8e80941Smrg{
4133b8e80941Smrg   .name = "usadd_4x8",
4134b8e80941Smrg   .num_inputs = 2,
4135b8e80941Smrg   .output_size = 0,
4136b8e80941Smrg   .output_type = nir_type_int32,
4137b8e80941Smrg   .input_sizes = {
4138b8e80941Smrg      0, 0
4139b8e80941Smrg   },
4140b8e80941Smrg   .input_types = {
4141b8e80941Smrg      nir_type_int32, nir_type_int32
4142b8e80941Smrg   },
4143b8e80941Smrg   .is_conversion = false,
4144b8e80941Smrg   .algebraic_properties =
4145b8e80941Smrg      NIR_OP_IS_COMMUTATIVE | NIR_OP_IS_ASSOCIATIVE
4146b8e80941Smrg},
4147b8e80941Smrg{
4148b8e80941Smrg   .name = "ushr",
4149b8e80941Smrg   .num_inputs = 2,
4150b8e80941Smrg   .output_size = 0,
4151b8e80941Smrg   .output_type = nir_type_uint,
4152b8e80941Smrg   .input_sizes = {
4153b8e80941Smrg      0, 0
4154b8e80941Smrg   },
4155b8e80941Smrg   .input_types = {
4156b8e80941Smrg      nir_type_uint, nir_type_uint32
4157b8e80941Smrg   },
4158b8e80941Smrg   .is_conversion = false,
4159b8e80941Smrg   .algebraic_properties =
4160b8e80941Smrg      0
4161b8e80941Smrg},
4162b8e80941Smrg{
4163b8e80941Smrg   .name = "ussub_4x8",
4164b8e80941Smrg   .num_inputs = 2,
4165b8e80941Smrg   .output_size = 0,
4166b8e80941Smrg   .output_type = nir_type_int32,
4167b8e80941Smrg   .input_sizes = {
4168b8e80941Smrg      0, 0
4169b8e80941Smrg   },
4170b8e80941Smrg   .input_types = {
4171b8e80941Smrg      nir_type_int32, nir_type_int32
4172b8e80941Smrg   },
4173b8e80941Smrg   .is_conversion = false,
4174b8e80941Smrg   .algebraic_properties =
4175b8e80941Smrg      0
4176b8e80941Smrg},
4177b8e80941Smrg{
4178b8e80941Smrg   .name = "usub_borrow",
4179b8e80941Smrg   .num_inputs = 2,
4180b8e80941Smrg   .output_size = 0,
4181b8e80941Smrg   .output_type = nir_type_uint,
4182b8e80941Smrg   .input_sizes = {
4183b8e80941Smrg      0, 0
4184b8e80941Smrg   },
4185b8e80941Smrg   .input_types = {
4186b8e80941Smrg      nir_type_uint, nir_type_uint
4187b8e80941Smrg   },
4188b8e80941Smrg   .is_conversion = false,
4189b8e80941Smrg   .algebraic_properties =
4190b8e80941Smrg      0
4191b8e80941Smrg},
4192b8e80941Smrg{
4193b8e80941Smrg   .name = "usub_sat",
4194b8e80941Smrg   .num_inputs = 2,
4195b8e80941Smrg   .output_size = 0,
4196b8e80941Smrg   .output_type = nir_type_uint,
4197b8e80941Smrg   .input_sizes = {
4198b8e80941Smrg      0, 0
4199b8e80941Smrg   },
4200b8e80941Smrg   .input_types = {
4201b8e80941Smrg      nir_type_uint, nir_type_uint
4202b8e80941Smrg   },
4203b8e80941Smrg   .is_conversion = false,
4204b8e80941Smrg   .algebraic_properties =
4205b8e80941Smrg      0
4206b8e80941Smrg},
4207b8e80941Smrg{
4208b8e80941Smrg   .name = "vec2",
4209b8e80941Smrg   .num_inputs = 2,
4210b8e80941Smrg   .output_size = 2,
4211b8e80941Smrg   .output_type = nir_type_uint,
4212b8e80941Smrg   .input_sizes = {
4213b8e80941Smrg      1, 1
4214b8e80941Smrg   },
4215b8e80941Smrg   .input_types = {
4216b8e80941Smrg      nir_type_uint, nir_type_uint
4217b8e80941Smrg   },
4218b8e80941Smrg   .is_conversion = false,
4219b8e80941Smrg   .algebraic_properties =
4220b8e80941Smrg      0
4221b8e80941Smrg},
4222b8e80941Smrg{
4223b8e80941Smrg   .name = "vec3",
4224b8e80941Smrg   .num_inputs = 3,
4225b8e80941Smrg   .output_size = 3,
4226b8e80941Smrg   .output_type = nir_type_uint,
4227b8e80941Smrg   .input_sizes = {
4228b8e80941Smrg      1, 1, 1
4229b8e80941Smrg   },
4230b8e80941Smrg   .input_types = {
4231b8e80941Smrg      nir_type_uint, nir_type_uint, nir_type_uint
4232b8e80941Smrg   },
4233b8e80941Smrg   .is_conversion = false,
4234b8e80941Smrg   .algebraic_properties =
4235b8e80941Smrg      0
4236b8e80941Smrg},
4237b8e80941Smrg{
4238b8e80941Smrg   .name = "vec4",
4239b8e80941Smrg   .num_inputs = 4,
4240b8e80941Smrg   .output_size = 4,
4241b8e80941Smrg   .output_type = nir_type_uint,
4242b8e80941Smrg   .input_sizes = {
4243b8e80941Smrg      1, 1, 1, 1
4244b8e80941Smrg   },
4245b8e80941Smrg   .input_types = {
4246b8e80941Smrg      nir_type_uint, nir_type_uint, nir_type_uint, nir_type_uint
4247b8e80941Smrg   },
4248b8e80941Smrg   .is_conversion = false,
4249b8e80941Smrg   .algebraic_properties =
4250b8e80941Smrg      0
4251b8e80941Smrg},
4252b8e80941Smrg};
4253b8e80941Smrg
4254