1/* Copyright (C) 2015 Broadcom
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a
4 * copy of this software and associated documentation files (the "Software"),
5 * to deal in the Software without restriction, including without limitation
6 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 * and/or sell copies of the Software, and to permit persons to whom the
8 * Software is furnished to do so, subject to the following conditions:
9 *
10 * The above copyright notice and this permission notice (including the next
11 * paragraph) shall be included in all copies or substantial portions of the
12 * Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 * IN THE SOFTWARE.
21 */
22
23#ifndef _NIR_BUILDER_OPCODES_
24#define _NIR_BUILDER_OPCODES_
25
26
27
28static inline nir_ssa_def *
29nir_b2f16(nir_builder *build, nir_ssa_def *src0)
30{
31   return nir_build_alu(build, nir_op_b2f16, src0, NULL, NULL, NULL);
32}
33static inline nir_ssa_def *
34nir_b2f32(nir_builder *build, nir_ssa_def *src0)
35{
36   return nir_build_alu(build, nir_op_b2f32, src0, NULL, NULL, NULL);
37}
38static inline nir_ssa_def *
39nir_b2f64(nir_builder *build, nir_ssa_def *src0)
40{
41   return nir_build_alu(build, nir_op_b2f64, src0, NULL, NULL, NULL);
42}
43static inline nir_ssa_def *
44nir_b2i1(nir_builder *build, nir_ssa_def *src0)
45{
46   return nir_build_alu(build, nir_op_b2i1, src0, NULL, NULL, NULL);
47}
48static inline nir_ssa_def *
49nir_b2i16(nir_builder *build, nir_ssa_def *src0)
50{
51   return nir_build_alu(build, nir_op_b2i16, src0, NULL, NULL, NULL);
52}
53static inline nir_ssa_def *
54nir_b2i32(nir_builder *build, nir_ssa_def *src0)
55{
56   return nir_build_alu(build, nir_op_b2i32, src0, NULL, NULL, NULL);
57}
58static inline nir_ssa_def *
59nir_b2i64(nir_builder *build, nir_ssa_def *src0)
60{
61   return nir_build_alu(build, nir_op_b2i64, src0, NULL, NULL, NULL);
62}
63static inline nir_ssa_def *
64nir_b2i8(nir_builder *build, nir_ssa_def *src0)
65{
66   return nir_build_alu(build, nir_op_b2i8, src0, NULL, NULL, NULL);
67}
68static inline nir_ssa_def *
69nir_b32all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
70{
71   return nir_build_alu(build, nir_op_b32all_fequal2, src0, src1, NULL, NULL);
72}
73static inline nir_ssa_def *
74nir_b32all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
75{
76   return nir_build_alu(build, nir_op_b32all_fequal3, src0, src1, NULL, NULL);
77}
78static inline nir_ssa_def *
79nir_b32all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
80{
81   return nir_build_alu(build, nir_op_b32all_fequal4, src0, src1, NULL, NULL);
82}
83static inline nir_ssa_def *
84nir_b32all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
85{
86   return nir_build_alu(build, nir_op_b32all_iequal2, src0, src1, NULL, NULL);
87}
88static inline nir_ssa_def *
89nir_b32all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
90{
91   return nir_build_alu(build, nir_op_b32all_iequal3, src0, src1, NULL, NULL);
92}
93static inline nir_ssa_def *
94nir_b32all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
95{
96   return nir_build_alu(build, nir_op_b32all_iequal4, src0, src1, NULL, NULL);
97}
98static inline nir_ssa_def *
99nir_b32any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
100{
101   return nir_build_alu(build, nir_op_b32any_fnequal2, src0, src1, NULL, NULL);
102}
103static inline nir_ssa_def *
104nir_b32any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
105{
106   return nir_build_alu(build, nir_op_b32any_fnequal3, src0, src1, NULL, NULL);
107}
108static inline nir_ssa_def *
109nir_b32any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
110{
111   return nir_build_alu(build, nir_op_b32any_fnequal4, src0, src1, NULL, NULL);
112}
113static inline nir_ssa_def *
114nir_b32any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
115{
116   return nir_build_alu(build, nir_op_b32any_inequal2, src0, src1, NULL, NULL);
117}
118static inline nir_ssa_def *
119nir_b32any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
120{
121   return nir_build_alu(build, nir_op_b32any_inequal3, src0, src1, NULL, NULL);
122}
123static inline nir_ssa_def *
124nir_b32any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
125{
126   return nir_build_alu(build, nir_op_b32any_inequal4, src0, src1, NULL, NULL);
127}
128static inline nir_ssa_def *
129nir_b32csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
130{
131   return nir_build_alu(build, nir_op_b32csel, src0, src1, src2, NULL);
132}
133static inline nir_ssa_def *
134nir_ball_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
135{
136   return nir_build_alu(build, nir_op_ball_fequal2, src0, src1, NULL, NULL);
137}
138static inline nir_ssa_def *
139nir_ball_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
140{
141   return nir_build_alu(build, nir_op_ball_fequal3, src0, src1, NULL, NULL);
142}
143static inline nir_ssa_def *
144nir_ball_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
145{
146   return nir_build_alu(build, nir_op_ball_fequal4, src0, src1, NULL, NULL);
147}
148static inline nir_ssa_def *
149nir_ball_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
150{
151   return nir_build_alu(build, nir_op_ball_iequal2, src0, src1, NULL, NULL);
152}
153static inline nir_ssa_def *
154nir_ball_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
155{
156   return nir_build_alu(build, nir_op_ball_iequal3, src0, src1, NULL, NULL);
157}
158static inline nir_ssa_def *
159nir_ball_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
160{
161   return nir_build_alu(build, nir_op_ball_iequal4, src0, src1, NULL, NULL);
162}
163static inline nir_ssa_def *
164nir_bany_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
165{
166   return nir_build_alu(build, nir_op_bany_fnequal2, src0, src1, NULL, NULL);
167}
168static inline nir_ssa_def *
169nir_bany_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
170{
171   return nir_build_alu(build, nir_op_bany_fnequal3, src0, src1, NULL, NULL);
172}
173static inline nir_ssa_def *
174nir_bany_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
175{
176   return nir_build_alu(build, nir_op_bany_fnequal4, src0, src1, NULL, NULL);
177}
178static inline nir_ssa_def *
179nir_bany_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
180{
181   return nir_build_alu(build, nir_op_bany_inequal2, src0, src1, NULL, NULL);
182}
183static inline nir_ssa_def *
184nir_bany_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
185{
186   return nir_build_alu(build, nir_op_bany_inequal3, src0, src1, NULL, NULL);
187}
188static inline nir_ssa_def *
189nir_bany_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
190{
191   return nir_build_alu(build, nir_op_bany_inequal4, src0, src1, NULL, NULL);
192}
193static inline nir_ssa_def *
194nir_bcsel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
195{
196   return nir_build_alu(build, nir_op_bcsel, src0, src1, src2, NULL);
197}
198static inline nir_ssa_def *
199nir_bfi(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
200{
201   return nir_build_alu(build, nir_op_bfi, src0, src1, src2, NULL);
202}
203static inline nir_ssa_def *
204nir_bfm(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
205{
206   return nir_build_alu(build, nir_op_bfm, src0, src1, NULL, NULL);
207}
208static inline nir_ssa_def *
209nir_bit_count(nir_builder *build, nir_ssa_def *src0)
210{
211   return nir_build_alu(build, nir_op_bit_count, src0, NULL, NULL, NULL);
212}
213static inline nir_ssa_def *
214nir_bitfield_insert(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
215{
216   return nir_build_alu(build, nir_op_bitfield_insert, src0, src1, src2, src3);
217}
218static inline nir_ssa_def *
219nir_bitfield_reverse(nir_builder *build, nir_ssa_def *src0)
220{
221   return nir_build_alu(build, nir_op_bitfield_reverse, src0, NULL, NULL, NULL);
222}
223static inline nir_ssa_def *
224nir_cube_face_coord(nir_builder *build, nir_ssa_def *src0)
225{
226   return nir_build_alu(build, nir_op_cube_face_coord, src0, NULL, NULL, NULL);
227}
228static inline nir_ssa_def *
229nir_cube_face_index(nir_builder *build, nir_ssa_def *src0)
230{
231   return nir_build_alu(build, nir_op_cube_face_index, src0, NULL, NULL, NULL);
232}
233static inline nir_ssa_def *
234nir_extract_i16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
235{
236   return nir_build_alu(build, nir_op_extract_i16, src0, src1, NULL, NULL);
237}
238static inline nir_ssa_def *
239nir_extract_i8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
240{
241   return nir_build_alu(build, nir_op_extract_i8, src0, src1, NULL, NULL);
242}
243static inline nir_ssa_def *
244nir_extract_u16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
245{
246   return nir_build_alu(build, nir_op_extract_u16, src0, src1, NULL, NULL);
247}
248static inline nir_ssa_def *
249nir_extract_u8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
250{
251   return nir_build_alu(build, nir_op_extract_u8, src0, src1, NULL, NULL);
252}
253static inline nir_ssa_def *
254nir_f2b1(nir_builder *build, nir_ssa_def *src0)
255{
256   return nir_build_alu(build, nir_op_f2b1, src0, NULL, NULL, NULL);
257}
258static inline nir_ssa_def *
259nir_f2b32(nir_builder *build, nir_ssa_def *src0)
260{
261   return nir_build_alu(build, nir_op_f2b32, src0, NULL, NULL, NULL);
262}
263static inline nir_ssa_def *
264nir_f2f16(nir_builder *build, nir_ssa_def *src0)
265{
266   return nir_build_alu(build, nir_op_f2f16, src0, NULL, NULL, NULL);
267}
268static inline nir_ssa_def *
269nir_f2f16_rtne(nir_builder *build, nir_ssa_def *src0)
270{
271   return nir_build_alu(build, nir_op_f2f16_rtne, src0, NULL, NULL, NULL);
272}
273static inline nir_ssa_def *
274nir_f2f16_rtz(nir_builder *build, nir_ssa_def *src0)
275{
276   return nir_build_alu(build, nir_op_f2f16_rtz, src0, NULL, NULL, NULL);
277}
278static inline nir_ssa_def *
279nir_f2f32(nir_builder *build, nir_ssa_def *src0)
280{
281   return nir_build_alu(build, nir_op_f2f32, src0, NULL, NULL, NULL);
282}
283static inline nir_ssa_def *
284nir_f2f64(nir_builder *build, nir_ssa_def *src0)
285{
286   return nir_build_alu(build, nir_op_f2f64, src0, NULL, NULL, NULL);
287}
288static inline nir_ssa_def *
289nir_f2i1(nir_builder *build, nir_ssa_def *src0)
290{
291   return nir_build_alu(build, nir_op_f2i1, src0, NULL, NULL, NULL);
292}
293static inline nir_ssa_def *
294nir_f2i16(nir_builder *build, nir_ssa_def *src0)
295{
296   return nir_build_alu(build, nir_op_f2i16, src0, NULL, NULL, NULL);
297}
298static inline nir_ssa_def *
299nir_f2i32(nir_builder *build, nir_ssa_def *src0)
300{
301   return nir_build_alu(build, nir_op_f2i32, src0, NULL, NULL, NULL);
302}
303static inline nir_ssa_def *
304nir_f2i64(nir_builder *build, nir_ssa_def *src0)
305{
306   return nir_build_alu(build, nir_op_f2i64, src0, NULL, NULL, NULL);
307}
308static inline nir_ssa_def *
309nir_f2i8(nir_builder *build, nir_ssa_def *src0)
310{
311   return nir_build_alu(build, nir_op_f2i8, src0, NULL, NULL, NULL);
312}
313static inline nir_ssa_def *
314nir_f2u1(nir_builder *build, nir_ssa_def *src0)
315{
316   return nir_build_alu(build, nir_op_f2u1, src0, NULL, NULL, NULL);
317}
318static inline nir_ssa_def *
319nir_f2u16(nir_builder *build, nir_ssa_def *src0)
320{
321   return nir_build_alu(build, nir_op_f2u16, src0, NULL, NULL, NULL);
322}
323static inline nir_ssa_def *
324nir_f2u32(nir_builder *build, nir_ssa_def *src0)
325{
326   return nir_build_alu(build, nir_op_f2u32, src0, NULL, NULL, NULL);
327}
328static inline nir_ssa_def *
329nir_f2u64(nir_builder *build, nir_ssa_def *src0)
330{
331   return nir_build_alu(build, nir_op_f2u64, src0, NULL, NULL, NULL);
332}
333static inline nir_ssa_def *
334nir_f2u8(nir_builder *build, nir_ssa_def *src0)
335{
336   return nir_build_alu(build, nir_op_f2u8, src0, NULL, NULL, NULL);
337}
338static inline nir_ssa_def *
339nir_fabs(nir_builder *build, nir_ssa_def *src0)
340{
341   return nir_build_alu(build, nir_op_fabs, src0, NULL, NULL, NULL);
342}
343static inline nir_ssa_def *
344nir_fadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
345{
346   return nir_build_alu(build, nir_op_fadd, src0, src1, NULL, NULL);
347}
348static inline nir_ssa_def *
349nir_fall_equal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
350{
351   return nir_build_alu(build, nir_op_fall_equal2, src0, src1, NULL, NULL);
352}
353static inline nir_ssa_def *
354nir_fall_equal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
355{
356   return nir_build_alu(build, nir_op_fall_equal3, src0, src1, NULL, NULL);
357}
358static inline nir_ssa_def *
359nir_fall_equal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
360{
361   return nir_build_alu(build, nir_op_fall_equal4, src0, src1, NULL, NULL);
362}
363static inline nir_ssa_def *
364nir_fand(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
365{
366   return nir_build_alu(build, nir_op_fand, src0, src1, NULL, NULL);
367}
368static inline nir_ssa_def *
369nir_fany_nequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
370{
371   return nir_build_alu(build, nir_op_fany_nequal2, src0, src1, NULL, NULL);
372}
373static inline nir_ssa_def *
374nir_fany_nequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
375{
376   return nir_build_alu(build, nir_op_fany_nequal3, src0, src1, NULL, NULL);
377}
378static inline nir_ssa_def *
379nir_fany_nequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
380{
381   return nir_build_alu(build, nir_op_fany_nequal4, src0, src1, NULL, NULL);
382}
383static inline nir_ssa_def *
384nir_fceil(nir_builder *build, nir_ssa_def *src0)
385{
386   return nir_build_alu(build, nir_op_fceil, src0, NULL, NULL, NULL);
387}
388static inline nir_ssa_def *
389nir_fcos(nir_builder *build, nir_ssa_def *src0)
390{
391   return nir_build_alu(build, nir_op_fcos, src0, NULL, NULL, NULL);
392}
393static inline nir_ssa_def *
394nir_fcsel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
395{
396   return nir_build_alu(build, nir_op_fcsel, src0, src1, src2, NULL);
397}
398static inline nir_ssa_def *
399nir_fddx(nir_builder *build, nir_ssa_def *src0)
400{
401   return nir_build_alu(build, nir_op_fddx, src0, NULL, NULL, NULL);
402}
403static inline nir_ssa_def *
404nir_fddx_coarse(nir_builder *build, nir_ssa_def *src0)
405{
406   return nir_build_alu(build, nir_op_fddx_coarse, src0, NULL, NULL, NULL);
407}
408static inline nir_ssa_def *
409nir_fddx_fine(nir_builder *build, nir_ssa_def *src0)
410{
411   return nir_build_alu(build, nir_op_fddx_fine, src0, NULL, NULL, NULL);
412}
413static inline nir_ssa_def *
414nir_fddy(nir_builder *build, nir_ssa_def *src0)
415{
416   return nir_build_alu(build, nir_op_fddy, src0, NULL, NULL, NULL);
417}
418static inline nir_ssa_def *
419nir_fddy_coarse(nir_builder *build, nir_ssa_def *src0)
420{
421   return nir_build_alu(build, nir_op_fddy_coarse, src0, NULL, NULL, NULL);
422}
423static inline nir_ssa_def *
424nir_fddy_fine(nir_builder *build, nir_ssa_def *src0)
425{
426   return nir_build_alu(build, nir_op_fddy_fine, src0, NULL, NULL, NULL);
427}
428static inline nir_ssa_def *
429nir_fdiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
430{
431   return nir_build_alu(build, nir_op_fdiv, src0, src1, NULL, NULL);
432}
433static inline nir_ssa_def *
434nir_fdot2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
435{
436   return nir_build_alu(build, nir_op_fdot2, src0, src1, NULL, NULL);
437}
438static inline nir_ssa_def *
439nir_fdot3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
440{
441   return nir_build_alu(build, nir_op_fdot3, src0, src1, NULL, NULL);
442}
443static inline nir_ssa_def *
444nir_fdot4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
445{
446   return nir_build_alu(build, nir_op_fdot4, src0, src1, NULL, NULL);
447}
448static inline nir_ssa_def *
449nir_fdot_replicated2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
450{
451   return nir_build_alu(build, nir_op_fdot_replicated2, src0, src1, NULL, NULL);
452}
453static inline nir_ssa_def *
454nir_fdot_replicated3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
455{
456   return nir_build_alu(build, nir_op_fdot_replicated3, src0, src1, NULL, NULL);
457}
458static inline nir_ssa_def *
459nir_fdot_replicated4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
460{
461   return nir_build_alu(build, nir_op_fdot_replicated4, src0, src1, NULL, NULL);
462}
463static inline nir_ssa_def *
464nir_fdph(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
465{
466   return nir_build_alu(build, nir_op_fdph, src0, src1, NULL, NULL);
467}
468static inline nir_ssa_def *
469nir_fdph_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
470{
471   return nir_build_alu(build, nir_op_fdph_replicated, src0, src1, NULL, NULL);
472}
473static inline nir_ssa_def *
474nir_feq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
475{
476   return nir_build_alu(build, nir_op_feq, src0, src1, NULL, NULL);
477}
478static inline nir_ssa_def *
479nir_feq32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
480{
481   return nir_build_alu(build, nir_op_feq32, src0, src1, NULL, NULL);
482}
483static inline nir_ssa_def *
484nir_fexp2(nir_builder *build, nir_ssa_def *src0)
485{
486   return nir_build_alu(build, nir_op_fexp2, src0, NULL, NULL, NULL);
487}
488static inline nir_ssa_def *
489nir_ffloor(nir_builder *build, nir_ssa_def *src0)
490{
491   return nir_build_alu(build, nir_op_ffloor, src0, NULL, NULL, NULL);
492}
493static inline nir_ssa_def *
494nir_ffma(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
495{
496   return nir_build_alu(build, nir_op_ffma, src0, src1, src2, NULL);
497}
498static inline nir_ssa_def *
499nir_ffract(nir_builder *build, nir_ssa_def *src0)
500{
501   return nir_build_alu(build, nir_op_ffract, src0, NULL, NULL, NULL);
502}
503static inline nir_ssa_def *
504nir_fge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
505{
506   return nir_build_alu(build, nir_op_fge, src0, src1, NULL, NULL);
507}
508static inline nir_ssa_def *
509nir_fge32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
510{
511   return nir_build_alu(build, nir_op_fge32, src0, src1, NULL, NULL);
512}
513static inline nir_ssa_def *
514nir_find_lsb(nir_builder *build, nir_ssa_def *src0)
515{
516   return nir_build_alu(build, nir_op_find_lsb, src0, NULL, NULL, NULL);
517}
518static inline nir_ssa_def *
519nir_flog2(nir_builder *build, nir_ssa_def *src0)
520{
521   return nir_build_alu(build, nir_op_flog2, src0, NULL, NULL, NULL);
522}
523static inline nir_ssa_def *
524nir_flrp(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
525{
526   return nir_build_alu(build, nir_op_flrp, src0, src1, src2, NULL);
527}
528static inline nir_ssa_def *
529nir_flt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
530{
531   return nir_build_alu(build, nir_op_flt, src0, src1, NULL, NULL);
532}
533static inline nir_ssa_def *
534nir_flt32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
535{
536   return nir_build_alu(build, nir_op_flt32, src0, src1, NULL, NULL);
537}
538static inline nir_ssa_def *
539nir_fmax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
540{
541   return nir_build_alu(build, nir_op_fmax, src0, src1, NULL, NULL);
542}
543static inline nir_ssa_def *
544nir_fmax3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
545{
546   return nir_build_alu(build, nir_op_fmax3, src0, src1, src2, NULL);
547}
548static inline nir_ssa_def *
549nir_fmed3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
550{
551   return nir_build_alu(build, nir_op_fmed3, src0, src1, src2, NULL);
552}
553static inline nir_ssa_def *
554nir_fmin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
555{
556   return nir_build_alu(build, nir_op_fmin, src0, src1, NULL, NULL);
557}
558static inline nir_ssa_def *
559nir_fmin3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
560{
561   return nir_build_alu(build, nir_op_fmin3, src0, src1, src2, NULL);
562}
563static inline nir_ssa_def *
564nir_fmod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
565{
566   return nir_build_alu(build, nir_op_fmod, src0, src1, NULL, NULL);
567}
568static inline nir_ssa_def *
569nir_fmov(nir_builder *build, nir_ssa_def *src0)
570{
571   return nir_build_alu(build, nir_op_fmov, src0, NULL, NULL, NULL);
572}
573static inline nir_ssa_def *
574nir_fmul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
575{
576   return nir_build_alu(build, nir_op_fmul, src0, src1, NULL, NULL);
577}
578static inline nir_ssa_def *
579nir_fne(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
580{
581   return nir_build_alu(build, nir_op_fne, src0, src1, NULL, NULL);
582}
583static inline nir_ssa_def *
584nir_fne32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
585{
586   return nir_build_alu(build, nir_op_fne32, src0, src1, NULL, NULL);
587}
588static inline nir_ssa_def *
589nir_fneg(nir_builder *build, nir_ssa_def *src0)
590{
591   return nir_build_alu(build, nir_op_fneg, src0, NULL, NULL, NULL);
592}
593static inline nir_ssa_def *
594nir_fnoise1_1(nir_builder *build, nir_ssa_def *src0)
595{
596   return nir_build_alu(build, nir_op_fnoise1_1, src0, NULL, NULL, NULL);
597}
598static inline nir_ssa_def *
599nir_fnoise1_2(nir_builder *build, nir_ssa_def *src0)
600{
601   return nir_build_alu(build, nir_op_fnoise1_2, src0, NULL, NULL, NULL);
602}
603static inline nir_ssa_def *
604nir_fnoise1_3(nir_builder *build, nir_ssa_def *src0)
605{
606   return nir_build_alu(build, nir_op_fnoise1_3, src0, NULL, NULL, NULL);
607}
608static inline nir_ssa_def *
609nir_fnoise1_4(nir_builder *build, nir_ssa_def *src0)
610{
611   return nir_build_alu(build, nir_op_fnoise1_4, src0, NULL, NULL, NULL);
612}
613static inline nir_ssa_def *
614nir_fnoise2_1(nir_builder *build, nir_ssa_def *src0)
615{
616   return nir_build_alu(build, nir_op_fnoise2_1, src0, NULL, NULL, NULL);
617}
618static inline nir_ssa_def *
619nir_fnoise2_2(nir_builder *build, nir_ssa_def *src0)
620{
621   return nir_build_alu(build, nir_op_fnoise2_2, src0, NULL, NULL, NULL);
622}
623static inline nir_ssa_def *
624nir_fnoise2_3(nir_builder *build, nir_ssa_def *src0)
625{
626   return nir_build_alu(build, nir_op_fnoise2_3, src0, NULL, NULL, NULL);
627}
628static inline nir_ssa_def *
629nir_fnoise2_4(nir_builder *build, nir_ssa_def *src0)
630{
631   return nir_build_alu(build, nir_op_fnoise2_4, src0, NULL, NULL, NULL);
632}
633static inline nir_ssa_def *
634nir_fnoise3_1(nir_builder *build, nir_ssa_def *src0)
635{
636   return nir_build_alu(build, nir_op_fnoise3_1, src0, NULL, NULL, NULL);
637}
638static inline nir_ssa_def *
639nir_fnoise3_2(nir_builder *build, nir_ssa_def *src0)
640{
641   return nir_build_alu(build, nir_op_fnoise3_2, src0, NULL, NULL, NULL);
642}
643static inline nir_ssa_def *
644nir_fnoise3_3(nir_builder *build, nir_ssa_def *src0)
645{
646   return nir_build_alu(build, nir_op_fnoise3_3, src0, NULL, NULL, NULL);
647}
648static inline nir_ssa_def *
649nir_fnoise3_4(nir_builder *build, nir_ssa_def *src0)
650{
651   return nir_build_alu(build, nir_op_fnoise3_4, src0, NULL, NULL, NULL);
652}
653static inline nir_ssa_def *
654nir_fnoise4_1(nir_builder *build, nir_ssa_def *src0)
655{
656   return nir_build_alu(build, nir_op_fnoise4_1, src0, NULL, NULL, NULL);
657}
658static inline nir_ssa_def *
659nir_fnoise4_2(nir_builder *build, nir_ssa_def *src0)
660{
661   return nir_build_alu(build, nir_op_fnoise4_2, src0, NULL, NULL, NULL);
662}
663static inline nir_ssa_def *
664nir_fnoise4_3(nir_builder *build, nir_ssa_def *src0)
665{
666   return nir_build_alu(build, nir_op_fnoise4_3, src0, NULL, NULL, NULL);
667}
668static inline nir_ssa_def *
669nir_fnoise4_4(nir_builder *build, nir_ssa_def *src0)
670{
671   return nir_build_alu(build, nir_op_fnoise4_4, src0, NULL, NULL, NULL);
672}
673static inline nir_ssa_def *
674nir_fnot(nir_builder *build, nir_ssa_def *src0)
675{
676   return nir_build_alu(build, nir_op_fnot, src0, NULL, NULL, NULL);
677}
678static inline nir_ssa_def *
679nir_for(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
680{
681   return nir_build_alu(build, nir_op_for, src0, src1, NULL, NULL);
682}
683static inline nir_ssa_def *
684nir_fpow(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
685{
686   return nir_build_alu(build, nir_op_fpow, src0, src1, NULL, NULL);
687}
688static inline nir_ssa_def *
689nir_fquantize2f16(nir_builder *build, nir_ssa_def *src0)
690{
691   return nir_build_alu(build, nir_op_fquantize2f16, src0, NULL, NULL, NULL);
692}
693static inline nir_ssa_def *
694nir_frcp(nir_builder *build, nir_ssa_def *src0)
695{
696   return nir_build_alu(build, nir_op_frcp, src0, NULL, NULL, NULL);
697}
698static inline nir_ssa_def *
699nir_frem(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
700{
701   return nir_build_alu(build, nir_op_frem, src0, src1, NULL, NULL);
702}
703static inline nir_ssa_def *
704nir_frexp_exp(nir_builder *build, nir_ssa_def *src0)
705{
706   return nir_build_alu(build, nir_op_frexp_exp, src0, NULL, NULL, NULL);
707}
708static inline nir_ssa_def *
709nir_frexp_sig(nir_builder *build, nir_ssa_def *src0)
710{
711   return nir_build_alu(build, nir_op_frexp_sig, src0, NULL, NULL, NULL);
712}
713static inline nir_ssa_def *
714nir_fround_even(nir_builder *build, nir_ssa_def *src0)
715{
716   return nir_build_alu(build, nir_op_fround_even, src0, NULL, NULL, NULL);
717}
718static inline nir_ssa_def *
719nir_frsq(nir_builder *build, nir_ssa_def *src0)
720{
721   return nir_build_alu(build, nir_op_frsq, src0, NULL, NULL, NULL);
722}
723static inline nir_ssa_def *
724nir_fsat(nir_builder *build, nir_ssa_def *src0)
725{
726   return nir_build_alu(build, nir_op_fsat, src0, NULL, NULL, NULL);
727}
728static inline nir_ssa_def *
729nir_fsign(nir_builder *build, nir_ssa_def *src0)
730{
731   return nir_build_alu(build, nir_op_fsign, src0, NULL, NULL, NULL);
732}
733static inline nir_ssa_def *
734nir_fsin(nir_builder *build, nir_ssa_def *src0)
735{
736   return nir_build_alu(build, nir_op_fsin, src0, NULL, NULL, NULL);
737}
738static inline nir_ssa_def *
739nir_fsqrt(nir_builder *build, nir_ssa_def *src0)
740{
741   return nir_build_alu(build, nir_op_fsqrt, src0, NULL, NULL, NULL);
742}
743static inline nir_ssa_def *
744nir_fsub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
745{
746   return nir_build_alu(build, nir_op_fsub, src0, src1, NULL, NULL);
747}
748static inline nir_ssa_def *
749nir_ftrunc(nir_builder *build, nir_ssa_def *src0)
750{
751   return nir_build_alu(build, nir_op_ftrunc, src0, NULL, NULL, NULL);
752}
753static inline nir_ssa_def *
754nir_fxor(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
755{
756   return nir_build_alu(build, nir_op_fxor, src0, src1, NULL, NULL);
757}
758static inline nir_ssa_def *
759nir_i2b1(nir_builder *build, nir_ssa_def *src0)
760{
761   return nir_build_alu(build, nir_op_i2b1, src0, NULL, NULL, NULL);
762}
763static inline nir_ssa_def *
764nir_i2b32(nir_builder *build, nir_ssa_def *src0)
765{
766   return nir_build_alu(build, nir_op_i2b32, src0, NULL, NULL, NULL);
767}
768static inline nir_ssa_def *
769nir_i2f16(nir_builder *build, nir_ssa_def *src0)
770{
771   return nir_build_alu(build, nir_op_i2f16, src0, NULL, NULL, NULL);
772}
773static inline nir_ssa_def *
774nir_i2f32(nir_builder *build, nir_ssa_def *src0)
775{
776   return nir_build_alu(build, nir_op_i2f32, src0, NULL, NULL, NULL);
777}
778static inline nir_ssa_def *
779nir_i2f64(nir_builder *build, nir_ssa_def *src0)
780{
781   return nir_build_alu(build, nir_op_i2f64, src0, NULL, NULL, NULL);
782}
783static inline nir_ssa_def *
784nir_i2i1(nir_builder *build, nir_ssa_def *src0)
785{
786   return nir_build_alu(build, nir_op_i2i1, src0, NULL, NULL, NULL);
787}
788static inline nir_ssa_def *
789nir_i2i16(nir_builder *build, nir_ssa_def *src0)
790{
791   return nir_build_alu(build, nir_op_i2i16, src0, NULL, NULL, NULL);
792}
793static inline nir_ssa_def *
794nir_i2i32(nir_builder *build, nir_ssa_def *src0)
795{
796   return nir_build_alu(build, nir_op_i2i32, src0, NULL, NULL, NULL);
797}
798static inline nir_ssa_def *
799nir_i2i64(nir_builder *build, nir_ssa_def *src0)
800{
801   return nir_build_alu(build, nir_op_i2i64, src0, NULL, NULL, NULL);
802}
803static inline nir_ssa_def *
804nir_i2i8(nir_builder *build, nir_ssa_def *src0)
805{
806   return nir_build_alu(build, nir_op_i2i8, src0, NULL, NULL, NULL);
807}
808static inline nir_ssa_def *
809nir_iabs(nir_builder *build, nir_ssa_def *src0)
810{
811   return nir_build_alu(build, nir_op_iabs, src0, NULL, NULL, NULL);
812}
813static inline nir_ssa_def *
814nir_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
815{
816   return nir_build_alu(build, nir_op_iadd, src0, src1, NULL, NULL);
817}
818static inline nir_ssa_def *
819nir_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
820{
821   return nir_build_alu(build, nir_op_iadd_sat, src0, src1, NULL, NULL);
822}
823static inline nir_ssa_def *
824nir_iand(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
825{
826   return nir_build_alu(build, nir_op_iand, src0, src1, NULL, NULL);
827}
828static inline nir_ssa_def *
829nir_ibfe(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
830{
831   return nir_build_alu(build, nir_op_ibfe, src0, src1, src2, NULL);
832}
833static inline nir_ssa_def *
834nir_ibitfield_extract(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
835{
836   return nir_build_alu(build, nir_op_ibitfield_extract, src0, src1, src2, NULL);
837}
838static inline nir_ssa_def *
839nir_idiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
840{
841   return nir_build_alu(build, nir_op_idiv, src0, src1, NULL, NULL);
842}
843static inline nir_ssa_def *
844nir_ieq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
845{
846   return nir_build_alu(build, nir_op_ieq, src0, src1, NULL, NULL);
847}
848static inline nir_ssa_def *
849nir_ieq32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
850{
851   return nir_build_alu(build, nir_op_ieq32, src0, src1, NULL, NULL);
852}
853static inline nir_ssa_def *
854nir_ifind_msb(nir_builder *build, nir_ssa_def *src0)
855{
856   return nir_build_alu(build, nir_op_ifind_msb, src0, NULL, NULL, NULL);
857}
858static inline nir_ssa_def *
859nir_ige(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
860{
861   return nir_build_alu(build, nir_op_ige, src0, src1, NULL, NULL);
862}
863static inline nir_ssa_def *
864nir_ige32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
865{
866   return nir_build_alu(build, nir_op_ige32, src0, src1, NULL, NULL);
867}
868static inline nir_ssa_def *
869nir_ihadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
870{
871   return nir_build_alu(build, nir_op_ihadd, src0, src1, NULL, NULL);
872}
873static inline nir_ssa_def *
874nir_ilt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
875{
876   return nir_build_alu(build, nir_op_ilt, src0, src1, NULL, NULL);
877}
878static inline nir_ssa_def *
879nir_ilt32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
880{
881   return nir_build_alu(build, nir_op_ilt32, src0, src1, NULL, NULL);
882}
883static inline nir_ssa_def *
884nir_imax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
885{
886   return nir_build_alu(build, nir_op_imax, src0, src1, NULL, NULL);
887}
888static inline nir_ssa_def *
889nir_imax3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
890{
891   return nir_build_alu(build, nir_op_imax3, src0, src1, src2, NULL);
892}
893static inline nir_ssa_def *
894nir_imed3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
895{
896   return nir_build_alu(build, nir_op_imed3, src0, src1, src2, NULL);
897}
898static inline nir_ssa_def *
899nir_imin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
900{
901   return nir_build_alu(build, nir_op_imin, src0, src1, NULL, NULL);
902}
903static inline nir_ssa_def *
904nir_imin3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
905{
906   return nir_build_alu(build, nir_op_imin3, src0, src1, src2, NULL);
907}
908static inline nir_ssa_def *
909nir_imod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
910{
911   return nir_build_alu(build, nir_op_imod, src0, src1, NULL, NULL);
912}
913static inline nir_ssa_def *
914nir_imov(nir_builder *build, nir_ssa_def *src0)
915{
916   return nir_build_alu(build, nir_op_imov, src0, NULL, NULL, NULL);
917}
918static inline nir_ssa_def *
919nir_imul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
920{
921   return nir_build_alu(build, nir_op_imul, src0, src1, NULL, NULL);
922}
923static inline nir_ssa_def *
924nir_imul_2x32_64(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
925{
926   return nir_build_alu(build, nir_op_imul_2x32_64, src0, src1, NULL, NULL);
927}
928static inline nir_ssa_def *
929nir_imul_high(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
930{
931   return nir_build_alu(build, nir_op_imul_high, src0, src1, NULL, NULL);
932}
933static inline nir_ssa_def *
934nir_ine(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
935{
936   return nir_build_alu(build, nir_op_ine, src0, src1, NULL, NULL);
937}
938static inline nir_ssa_def *
939nir_ine32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
940{
941   return nir_build_alu(build, nir_op_ine32, src0, src1, NULL, NULL);
942}
943static inline nir_ssa_def *
944nir_ineg(nir_builder *build, nir_ssa_def *src0)
945{
946   return nir_build_alu(build, nir_op_ineg, src0, NULL, NULL, NULL);
947}
948static inline nir_ssa_def *
949nir_inot(nir_builder *build, nir_ssa_def *src0)
950{
951   return nir_build_alu(build, nir_op_inot, src0, NULL, NULL, NULL);
952}
953static inline nir_ssa_def *
954nir_ior(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
955{
956   return nir_build_alu(build, nir_op_ior, src0, src1, NULL, NULL);
957}
958static inline nir_ssa_def *
959nir_irem(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
960{
961   return nir_build_alu(build, nir_op_irem, src0, src1, NULL, NULL);
962}
963static inline nir_ssa_def *
964nir_irhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
965{
966   return nir_build_alu(build, nir_op_irhadd, src0, src1, NULL, NULL);
967}
968static inline nir_ssa_def *
969nir_ishl(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
970{
971   return nir_build_alu(build, nir_op_ishl, src0, src1, NULL, NULL);
972}
973static inline nir_ssa_def *
974nir_ishr(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
975{
976   return nir_build_alu(build, nir_op_ishr, src0, src1, NULL, NULL);
977}
978static inline nir_ssa_def *
979nir_isign(nir_builder *build, nir_ssa_def *src0)
980{
981   return nir_build_alu(build, nir_op_isign, src0, NULL, NULL, NULL);
982}
983static inline nir_ssa_def *
984nir_isub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
985{
986   return nir_build_alu(build, nir_op_isub, src0, src1, NULL, NULL);
987}
988static inline nir_ssa_def *
989nir_isub_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
990{
991   return nir_build_alu(build, nir_op_isub_sat, src0, src1, NULL, NULL);
992}
993static inline nir_ssa_def *
994nir_ixor(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
995{
996   return nir_build_alu(build, nir_op_ixor, src0, src1, NULL, NULL);
997}
998static inline nir_ssa_def *
999nir_ldexp(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1000{
1001   return nir_build_alu(build, nir_op_ldexp, src0, src1, NULL, NULL);
1002}
1003static inline nir_ssa_def *
1004nir_pack_32_2x16(nir_builder *build, nir_ssa_def *src0)
1005{
1006   return nir_build_alu(build, nir_op_pack_32_2x16, src0, NULL, NULL, NULL);
1007}
1008static inline nir_ssa_def *
1009nir_pack_32_2x16_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1010{
1011   return nir_build_alu(build, nir_op_pack_32_2x16_split, src0, src1, NULL, NULL);
1012}
1013static inline nir_ssa_def *
1014nir_pack_64_2x32(nir_builder *build, nir_ssa_def *src0)
1015{
1016   return nir_build_alu(build, nir_op_pack_64_2x32, src0, NULL, NULL, NULL);
1017}
1018static inline nir_ssa_def *
1019nir_pack_64_2x32_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1020{
1021   return nir_build_alu(build, nir_op_pack_64_2x32_split, src0, src1, NULL, NULL);
1022}
1023static inline nir_ssa_def *
1024nir_pack_64_4x16(nir_builder *build, nir_ssa_def *src0)
1025{
1026   return nir_build_alu(build, nir_op_pack_64_4x16, src0, NULL, NULL, NULL);
1027}
1028static inline nir_ssa_def *
1029nir_pack_half_2x16(nir_builder *build, nir_ssa_def *src0)
1030{
1031   return nir_build_alu(build, nir_op_pack_half_2x16, src0, NULL, NULL, NULL);
1032}
1033static inline nir_ssa_def *
1034nir_pack_half_2x16_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1035{
1036   return nir_build_alu(build, nir_op_pack_half_2x16_split, src0, src1, NULL, NULL);
1037}
1038static inline nir_ssa_def *
1039nir_pack_snorm_2x16(nir_builder *build, nir_ssa_def *src0)
1040{
1041   return nir_build_alu(build, nir_op_pack_snorm_2x16, src0, NULL, NULL, NULL);
1042}
1043static inline nir_ssa_def *
1044nir_pack_snorm_4x8(nir_builder *build, nir_ssa_def *src0)
1045{
1046   return nir_build_alu(build, nir_op_pack_snorm_4x8, src0, NULL, NULL, NULL);
1047}
1048static inline nir_ssa_def *
1049nir_pack_unorm_2x16(nir_builder *build, nir_ssa_def *src0)
1050{
1051   return nir_build_alu(build, nir_op_pack_unorm_2x16, src0, NULL, NULL, NULL);
1052}
1053static inline nir_ssa_def *
1054nir_pack_unorm_4x8(nir_builder *build, nir_ssa_def *src0)
1055{
1056   return nir_build_alu(build, nir_op_pack_unorm_4x8, src0, NULL, NULL, NULL);
1057}
1058static inline nir_ssa_def *
1059nir_pack_uvec2_to_uint(nir_builder *build, nir_ssa_def *src0)
1060{
1061   return nir_build_alu(build, nir_op_pack_uvec2_to_uint, src0, NULL, NULL, NULL);
1062}
1063static inline nir_ssa_def *
1064nir_pack_uvec4_to_uint(nir_builder *build, nir_ssa_def *src0)
1065{
1066   return nir_build_alu(build, nir_op_pack_uvec4_to_uint, src0, NULL, NULL, NULL);
1067}
1068static inline nir_ssa_def *
1069nir_seq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1070{
1071   return nir_build_alu(build, nir_op_seq, src0, src1, NULL, NULL);
1072}
1073static inline nir_ssa_def *
1074nir_sge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1075{
1076   return nir_build_alu(build, nir_op_sge, src0, src1, NULL, NULL);
1077}
1078static inline nir_ssa_def *
1079nir_slt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1080{
1081   return nir_build_alu(build, nir_op_slt, src0, src1, NULL, NULL);
1082}
1083static inline nir_ssa_def *
1084nir_sne(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1085{
1086   return nir_build_alu(build, nir_op_sne, src0, src1, NULL, NULL);
1087}
1088static inline nir_ssa_def *
1089nir_u2f16(nir_builder *build, nir_ssa_def *src0)
1090{
1091   return nir_build_alu(build, nir_op_u2f16, src0, NULL, NULL, NULL);
1092}
1093static inline nir_ssa_def *
1094nir_u2f32(nir_builder *build, nir_ssa_def *src0)
1095{
1096   return nir_build_alu(build, nir_op_u2f32, src0, NULL, NULL, NULL);
1097}
1098static inline nir_ssa_def *
1099nir_u2f64(nir_builder *build, nir_ssa_def *src0)
1100{
1101   return nir_build_alu(build, nir_op_u2f64, src0, NULL, NULL, NULL);
1102}
1103static inline nir_ssa_def *
1104nir_u2u1(nir_builder *build, nir_ssa_def *src0)
1105{
1106   return nir_build_alu(build, nir_op_u2u1, src0, NULL, NULL, NULL);
1107}
1108static inline nir_ssa_def *
1109nir_u2u16(nir_builder *build, nir_ssa_def *src0)
1110{
1111   return nir_build_alu(build, nir_op_u2u16, src0, NULL, NULL, NULL);
1112}
1113static inline nir_ssa_def *
1114nir_u2u32(nir_builder *build, nir_ssa_def *src0)
1115{
1116   return nir_build_alu(build, nir_op_u2u32, src0, NULL, NULL, NULL);
1117}
1118static inline nir_ssa_def *
1119nir_u2u64(nir_builder *build, nir_ssa_def *src0)
1120{
1121   return nir_build_alu(build, nir_op_u2u64, src0, NULL, NULL, NULL);
1122}
1123static inline nir_ssa_def *
1124nir_u2u8(nir_builder *build, nir_ssa_def *src0)
1125{
1126   return nir_build_alu(build, nir_op_u2u8, src0, NULL, NULL, NULL);
1127}
1128static inline nir_ssa_def *
1129nir_uadd_carry(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1130{
1131   return nir_build_alu(build, nir_op_uadd_carry, src0, src1, NULL, NULL);
1132}
1133static inline nir_ssa_def *
1134nir_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1135{
1136   return nir_build_alu(build, nir_op_uadd_sat, src0, src1, NULL, NULL);
1137}
1138static inline nir_ssa_def *
1139nir_ubfe(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1140{
1141   return nir_build_alu(build, nir_op_ubfe, src0, src1, src2, NULL);
1142}
1143static inline nir_ssa_def *
1144nir_ubitfield_extract(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1145{
1146   return nir_build_alu(build, nir_op_ubitfield_extract, src0, src1, src2, NULL);
1147}
1148static inline nir_ssa_def *
1149nir_udiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1150{
1151   return nir_build_alu(build, nir_op_udiv, src0, src1, NULL, NULL);
1152}
1153static inline nir_ssa_def *
1154nir_ufind_msb(nir_builder *build, nir_ssa_def *src0)
1155{
1156   return nir_build_alu(build, nir_op_ufind_msb, src0, NULL, NULL, NULL);
1157}
1158static inline nir_ssa_def *
1159nir_uge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1160{
1161   return nir_build_alu(build, nir_op_uge, src0, src1, NULL, NULL);
1162}
1163static inline nir_ssa_def *
1164nir_uge32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1165{
1166   return nir_build_alu(build, nir_op_uge32, src0, src1, NULL, NULL);
1167}
1168static inline nir_ssa_def *
1169nir_uhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1170{
1171   return nir_build_alu(build, nir_op_uhadd, src0, src1, NULL, NULL);
1172}
1173static inline nir_ssa_def *
1174nir_ult(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1175{
1176   return nir_build_alu(build, nir_op_ult, src0, src1, NULL, NULL);
1177}
1178static inline nir_ssa_def *
1179nir_ult32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1180{
1181   return nir_build_alu(build, nir_op_ult32, src0, src1, NULL, NULL);
1182}
1183static inline nir_ssa_def *
1184nir_umax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1185{
1186   return nir_build_alu(build, nir_op_umax, src0, src1, NULL, NULL);
1187}
1188static inline nir_ssa_def *
1189nir_umax3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1190{
1191   return nir_build_alu(build, nir_op_umax3, src0, src1, src2, NULL);
1192}
1193static inline nir_ssa_def *
1194nir_umax_4x8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1195{
1196   return nir_build_alu(build, nir_op_umax_4x8, src0, src1, NULL, NULL);
1197}
1198static inline nir_ssa_def *
1199nir_umed3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1200{
1201   return nir_build_alu(build, nir_op_umed3, src0, src1, src2, NULL);
1202}
1203static inline nir_ssa_def *
1204nir_umin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1205{
1206   return nir_build_alu(build, nir_op_umin, src0, src1, NULL, NULL);
1207}
1208static inline nir_ssa_def *
1209nir_umin3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1210{
1211   return nir_build_alu(build, nir_op_umin3, src0, src1, src2, NULL);
1212}
1213static inline nir_ssa_def *
1214nir_umin_4x8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1215{
1216   return nir_build_alu(build, nir_op_umin_4x8, src0, src1, NULL, NULL);
1217}
1218static inline nir_ssa_def *
1219nir_umod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1220{
1221   return nir_build_alu(build, nir_op_umod, src0, src1, NULL, NULL);
1222}
1223static inline nir_ssa_def *
1224nir_umul_2x32_64(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1225{
1226   return nir_build_alu(build, nir_op_umul_2x32_64, src0, src1, NULL, NULL);
1227}
1228static inline nir_ssa_def *
1229nir_umul_high(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1230{
1231   return nir_build_alu(build, nir_op_umul_high, src0, src1, NULL, NULL);
1232}
1233static inline nir_ssa_def *
1234nir_umul_unorm_4x8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1235{
1236   return nir_build_alu(build, nir_op_umul_unorm_4x8, src0, src1, NULL, NULL);
1237}
1238static inline nir_ssa_def *
1239nir_unpack_32_2x16(nir_builder *build, nir_ssa_def *src0)
1240{
1241   return nir_build_alu(build, nir_op_unpack_32_2x16, src0, NULL, NULL, NULL);
1242}
1243static inline nir_ssa_def *
1244nir_unpack_32_2x16_split_x(nir_builder *build, nir_ssa_def *src0)
1245{
1246   return nir_build_alu(build, nir_op_unpack_32_2x16_split_x, src0, NULL, NULL, NULL);
1247}
1248static inline nir_ssa_def *
1249nir_unpack_32_2x16_split_y(nir_builder *build, nir_ssa_def *src0)
1250{
1251   return nir_build_alu(build, nir_op_unpack_32_2x16_split_y, src0, NULL, NULL, NULL);
1252}
1253static inline nir_ssa_def *
1254nir_unpack_64_2x32(nir_builder *build, nir_ssa_def *src0)
1255{
1256   return nir_build_alu(build, nir_op_unpack_64_2x32, src0, NULL, NULL, NULL);
1257}
1258static inline nir_ssa_def *
1259nir_unpack_64_2x32_split_x(nir_builder *build, nir_ssa_def *src0)
1260{
1261   return nir_build_alu(build, nir_op_unpack_64_2x32_split_x, src0, NULL, NULL, NULL);
1262}
1263static inline nir_ssa_def *
1264nir_unpack_64_2x32_split_y(nir_builder *build, nir_ssa_def *src0)
1265{
1266   return nir_build_alu(build, nir_op_unpack_64_2x32_split_y, src0, NULL, NULL, NULL);
1267}
1268static inline nir_ssa_def *
1269nir_unpack_64_4x16(nir_builder *build, nir_ssa_def *src0)
1270{
1271   return nir_build_alu(build, nir_op_unpack_64_4x16, src0, NULL, NULL, NULL);
1272}
1273static inline nir_ssa_def *
1274nir_unpack_half_2x16(nir_builder *build, nir_ssa_def *src0)
1275{
1276   return nir_build_alu(build, nir_op_unpack_half_2x16, src0, NULL, NULL, NULL);
1277}
1278static inline nir_ssa_def *
1279nir_unpack_half_2x16_split_x(nir_builder *build, nir_ssa_def *src0)
1280{
1281   return nir_build_alu(build, nir_op_unpack_half_2x16_split_x, src0, NULL, NULL, NULL);
1282}
1283static inline nir_ssa_def *
1284nir_unpack_half_2x16_split_y(nir_builder *build, nir_ssa_def *src0)
1285{
1286   return nir_build_alu(build, nir_op_unpack_half_2x16_split_y, src0, NULL, NULL, NULL);
1287}
1288static inline nir_ssa_def *
1289nir_unpack_snorm_2x16(nir_builder *build, nir_ssa_def *src0)
1290{
1291   return nir_build_alu(build, nir_op_unpack_snorm_2x16, src0, NULL, NULL, NULL);
1292}
1293static inline nir_ssa_def *
1294nir_unpack_snorm_4x8(nir_builder *build, nir_ssa_def *src0)
1295{
1296   return nir_build_alu(build, nir_op_unpack_snorm_4x8, src0, NULL, NULL, NULL);
1297}
1298static inline nir_ssa_def *
1299nir_unpack_unorm_2x16(nir_builder *build, nir_ssa_def *src0)
1300{
1301   return nir_build_alu(build, nir_op_unpack_unorm_2x16, src0, NULL, NULL, NULL);
1302}
1303static inline nir_ssa_def *
1304nir_unpack_unorm_4x8(nir_builder *build, nir_ssa_def *src0)
1305{
1306   return nir_build_alu(build, nir_op_unpack_unorm_4x8, src0, NULL, NULL, NULL);
1307}
1308static inline nir_ssa_def *
1309nir_urhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1310{
1311   return nir_build_alu(build, nir_op_urhadd, src0, src1, NULL, NULL);
1312}
1313static inline nir_ssa_def *
1314nir_usadd_4x8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1315{
1316   return nir_build_alu(build, nir_op_usadd_4x8, src0, src1, NULL, NULL);
1317}
1318static inline nir_ssa_def *
1319nir_ushr(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1320{
1321   return nir_build_alu(build, nir_op_ushr, src0, src1, NULL, NULL);
1322}
1323static inline nir_ssa_def *
1324nir_ussub_4x8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1325{
1326   return nir_build_alu(build, nir_op_ussub_4x8, src0, src1, NULL, NULL);
1327}
1328static inline nir_ssa_def *
1329nir_usub_borrow(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1330{
1331   return nir_build_alu(build, nir_op_usub_borrow, src0, src1, NULL, NULL);
1332}
1333static inline nir_ssa_def *
1334nir_usub_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1335{
1336   return nir_build_alu(build, nir_op_usub_sat, src0, src1, NULL, NULL);
1337}
1338static inline nir_ssa_def *
1339nir_vec2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1340{
1341   return nir_build_alu(build, nir_op_vec2, src0, src1, NULL, NULL);
1342}
1343static inline nir_ssa_def *
1344nir_vec3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1345{
1346   return nir_build_alu(build, nir_op_vec3, src0, src1, src2, NULL);
1347}
1348static inline nir_ssa_def *
1349nir_vec4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
1350{
1351   return nir_build_alu(build, nir_op_vec4, src0, src1, src2, src3);
1352}
1353
1354/* Generic builder for system values. */
1355static inline nir_ssa_def *
1356nir_load_system_value(nir_builder *build, nir_intrinsic_op op, int index,
1357                      unsigned bit_size)
1358{
1359   nir_intrinsic_instr *load = nir_intrinsic_instr_create(build->shader, op);
1360   load->num_components = nir_intrinsic_infos[op].dest_components;
1361   load->const_index[0] = index;
1362   nir_ssa_dest_init(&load->instr, &load->dest,
1363                     nir_intrinsic_infos[op].dest_components, bit_size, NULL);
1364   nir_builder_instr_insert(build, &load->instr);
1365   return &load->dest.ssa;
1366}
1367
1368
1369
1370
1371static inline nir_ssa_def *
1372nir_load_alpha_ref_float(nir_builder *build)
1373{
1374   return nir_load_system_value(build, nir_intrinsic_load_alpha_ref_float,
1375                                0, 32);
1376}
1377
1378static inline nir_ssa_def *
1379nir_load_base_instance(nir_builder *build)
1380{
1381   return nir_load_system_value(build, nir_intrinsic_load_base_instance,
1382                                0, 32);
1383}
1384
1385static inline nir_ssa_def *
1386nir_load_base_vertex(nir_builder *build)
1387{
1388   return nir_load_system_value(build, nir_intrinsic_load_base_vertex,
1389                                0, 32);
1390}
1391
1392static inline nir_ssa_def *
1393nir_load_blend_const_color_a_float(nir_builder *build)
1394{
1395   return nir_load_system_value(build, nir_intrinsic_load_blend_const_color_a_float,
1396                                0, 32);
1397}
1398
1399static inline nir_ssa_def *
1400nir_load_blend_const_color_aaaa8888_unorm(nir_builder *build)
1401{
1402   return nir_load_system_value(build, nir_intrinsic_load_blend_const_color_aaaa8888_unorm,
1403                                0, 32);
1404}
1405
1406static inline nir_ssa_def *
1407nir_load_blend_const_color_b_float(nir_builder *build)
1408{
1409   return nir_load_system_value(build, nir_intrinsic_load_blend_const_color_b_float,
1410                                0, 32);
1411}
1412
1413static inline nir_ssa_def *
1414nir_load_blend_const_color_g_float(nir_builder *build)
1415{
1416   return nir_load_system_value(build, nir_intrinsic_load_blend_const_color_g_float,
1417                                0, 32);
1418}
1419
1420static inline nir_ssa_def *
1421nir_load_blend_const_color_r_float(nir_builder *build)
1422{
1423   return nir_load_system_value(build, nir_intrinsic_load_blend_const_color_r_float,
1424                                0, 32);
1425}
1426
1427static inline nir_ssa_def *
1428nir_load_blend_const_color_rgba8888_unorm(nir_builder *build)
1429{
1430   return nir_load_system_value(build, nir_intrinsic_load_blend_const_color_rgba8888_unorm,
1431                                0, 32);
1432}
1433
1434static inline nir_ssa_def *
1435nir_load_draw_id(nir_builder *build)
1436{
1437   return nir_load_system_value(build, nir_intrinsic_load_draw_id,
1438                                0, 32);
1439}
1440
1441static inline nir_ssa_def *
1442nir_load_first_vertex(nir_builder *build)
1443{
1444   return nir_load_system_value(build, nir_intrinsic_load_first_vertex,
1445                                0, 32);
1446}
1447
1448static inline nir_ssa_def *
1449nir_load_frag_coord(nir_builder *build)
1450{
1451   return nir_load_system_value(build, nir_intrinsic_load_frag_coord,
1452                                0, 32);
1453}
1454
1455static inline nir_ssa_def *
1456nir_load_front_face(nir_builder *build, unsigned bit_size)
1457{
1458   return nir_load_system_value(build, nir_intrinsic_load_front_face,
1459                                0, bit_size);
1460}
1461
1462static inline nir_ssa_def *
1463nir_load_global_invocation_id(nir_builder *build, unsigned bit_size)
1464{
1465   return nir_load_system_value(build, nir_intrinsic_load_global_invocation_id,
1466                                0, bit_size);
1467}
1468
1469static inline nir_ssa_def *
1470nir_load_global_invocation_index(nir_builder *build, unsigned bit_size)
1471{
1472   return nir_load_system_value(build, nir_intrinsic_load_global_invocation_index,
1473                                0, bit_size);
1474}
1475
1476static inline nir_ssa_def *
1477nir_load_helper_invocation(nir_builder *build, unsigned bit_size)
1478{
1479   return nir_load_system_value(build, nir_intrinsic_load_helper_invocation,
1480                                0, bit_size);
1481}
1482
1483static inline nir_ssa_def *
1484nir_load_instance_id(nir_builder *build)
1485{
1486   return nir_load_system_value(build, nir_intrinsic_load_instance_id,
1487                                0, 32);
1488}
1489
1490static inline nir_ssa_def *
1491nir_load_invocation_id(nir_builder *build)
1492{
1493   return nir_load_system_value(build, nir_intrinsic_load_invocation_id,
1494                                0, 32);
1495}
1496
1497static inline nir_ssa_def *
1498nir_load_is_indexed_draw(nir_builder *build)
1499{
1500   return nir_load_system_value(build, nir_intrinsic_load_is_indexed_draw,
1501                                0, 32);
1502}
1503
1504static inline nir_ssa_def *
1505nir_load_layer_id(nir_builder *build)
1506{
1507   return nir_load_system_value(build, nir_intrinsic_load_layer_id,
1508                                0, 32);
1509}
1510
1511static inline nir_ssa_def *
1512nir_load_local_group_size(nir_builder *build)
1513{
1514   return nir_load_system_value(build, nir_intrinsic_load_local_group_size,
1515                                0, 32);
1516}
1517
1518static inline nir_ssa_def *
1519nir_load_local_invocation_id(nir_builder *build)
1520{
1521   return nir_load_system_value(build, nir_intrinsic_load_local_invocation_id,
1522                                0, 32);
1523}
1524
1525static inline nir_ssa_def *
1526nir_load_local_invocation_index(nir_builder *build)
1527{
1528   return nir_load_system_value(build, nir_intrinsic_load_local_invocation_index,
1529                                0, 32);
1530}
1531
1532static inline nir_ssa_def *
1533nir_load_num_subgroups(nir_builder *build)
1534{
1535   return nir_load_system_value(build, nir_intrinsic_load_num_subgroups,
1536                                0, 32);
1537}
1538
1539static inline nir_ssa_def *
1540nir_load_num_work_groups(nir_builder *build)
1541{
1542   return nir_load_system_value(build, nir_intrinsic_load_num_work_groups,
1543                                0, 32);
1544}
1545
1546static inline nir_ssa_def *
1547nir_load_patch_vertices_in(nir_builder *build)
1548{
1549   return nir_load_system_value(build, nir_intrinsic_load_patch_vertices_in,
1550                                0, 32);
1551}
1552
1553static inline nir_ssa_def *
1554nir_load_primitive_id(nir_builder *build)
1555{
1556   return nir_load_system_value(build, nir_intrinsic_load_primitive_id,
1557                                0, 32);
1558}
1559
1560static inline nir_ssa_def *
1561nir_load_sample_id(nir_builder *build)
1562{
1563   return nir_load_system_value(build, nir_intrinsic_load_sample_id,
1564                                0, 32);
1565}
1566
1567static inline nir_ssa_def *
1568nir_load_sample_id_no_per_sample(nir_builder *build)
1569{
1570   return nir_load_system_value(build, nir_intrinsic_load_sample_id_no_per_sample,
1571                                0, 32);
1572}
1573
1574static inline nir_ssa_def *
1575nir_load_sample_mask_in(nir_builder *build)
1576{
1577   return nir_load_system_value(build, nir_intrinsic_load_sample_mask_in,
1578                                0, 32);
1579}
1580
1581static inline nir_ssa_def *
1582nir_load_sample_pos(nir_builder *build)
1583{
1584   return nir_load_system_value(build, nir_intrinsic_load_sample_pos,
1585                                0, 32);
1586}
1587
1588static inline nir_ssa_def *
1589nir_load_subgroup_eq_mask(nir_builder *build, unsigned bit_size)
1590{
1591   return nir_load_system_value(build, nir_intrinsic_load_subgroup_eq_mask,
1592                                0, bit_size);
1593}
1594
1595static inline nir_ssa_def *
1596nir_load_subgroup_ge_mask(nir_builder *build, unsigned bit_size)
1597{
1598   return nir_load_system_value(build, nir_intrinsic_load_subgroup_ge_mask,
1599                                0, bit_size);
1600}
1601
1602static inline nir_ssa_def *
1603nir_load_subgroup_gt_mask(nir_builder *build, unsigned bit_size)
1604{
1605   return nir_load_system_value(build, nir_intrinsic_load_subgroup_gt_mask,
1606                                0, bit_size);
1607}
1608
1609static inline nir_ssa_def *
1610nir_load_subgroup_id(nir_builder *build)
1611{
1612   return nir_load_system_value(build, nir_intrinsic_load_subgroup_id,
1613                                0, 32);
1614}
1615
1616static inline nir_ssa_def *
1617nir_load_subgroup_invocation(nir_builder *build)
1618{
1619   return nir_load_system_value(build, nir_intrinsic_load_subgroup_invocation,
1620                                0, 32);
1621}
1622
1623static inline nir_ssa_def *
1624nir_load_subgroup_le_mask(nir_builder *build, unsigned bit_size)
1625{
1626   return nir_load_system_value(build, nir_intrinsic_load_subgroup_le_mask,
1627                                0, bit_size);
1628}
1629
1630static inline nir_ssa_def *
1631nir_load_subgroup_lt_mask(nir_builder *build, unsigned bit_size)
1632{
1633   return nir_load_system_value(build, nir_intrinsic_load_subgroup_lt_mask,
1634                                0, bit_size);
1635}
1636
1637static inline nir_ssa_def *
1638nir_load_subgroup_size(nir_builder *build)
1639{
1640   return nir_load_system_value(build, nir_intrinsic_load_subgroup_size,
1641                                0, 32);
1642}
1643
1644static inline nir_ssa_def *
1645nir_load_tess_coord(nir_builder *build)
1646{
1647   return nir_load_system_value(build, nir_intrinsic_load_tess_coord,
1648                                0, 32);
1649}
1650
1651static inline nir_ssa_def *
1652nir_load_tess_level_inner(nir_builder *build)
1653{
1654   return nir_load_system_value(build, nir_intrinsic_load_tess_level_inner,
1655                                0, 32);
1656}
1657
1658static inline nir_ssa_def *
1659nir_load_tess_level_outer(nir_builder *build)
1660{
1661   return nir_load_system_value(build, nir_intrinsic_load_tess_level_outer,
1662                                0, 32);
1663}
1664
1665static inline nir_ssa_def *
1666nir_load_user_clip_plane(nir_builder *build, unsigned nir_intrinsic_ucp_id)
1667{
1668   return nir_load_system_value(build, nir_intrinsic_load_user_clip_plane,
1669                                nir_intrinsic_ucp_id, 32);
1670}
1671
1672static inline nir_ssa_def *
1673nir_load_vertex_id(nir_builder *build)
1674{
1675   return nir_load_system_value(build, nir_intrinsic_load_vertex_id,
1676                                0, 32);
1677}
1678
1679static inline nir_ssa_def *
1680nir_load_vertex_id_zero_base(nir_builder *build)
1681{
1682   return nir_load_system_value(build, nir_intrinsic_load_vertex_id_zero_base,
1683                                0, 32);
1684}
1685
1686static inline nir_ssa_def *
1687nir_load_view_index(nir_builder *build)
1688{
1689   return nir_load_system_value(build, nir_intrinsic_load_view_index,
1690                                0, 32);
1691}
1692
1693static inline nir_ssa_def *
1694nir_load_viewport_offset(nir_builder *build)
1695{
1696   return nir_load_system_value(build, nir_intrinsic_load_viewport_offset,
1697                                0, 32);
1698}
1699
1700static inline nir_ssa_def *
1701nir_load_viewport_scale(nir_builder *build)
1702{
1703   return nir_load_system_value(build, nir_intrinsic_load_viewport_scale,
1704                                0, 32);
1705}
1706
1707static inline nir_ssa_def *
1708nir_load_viewport_x_scale(nir_builder *build)
1709{
1710   return nir_load_system_value(build, nir_intrinsic_load_viewport_x_scale,
1711                                0, 32);
1712}
1713
1714static inline nir_ssa_def *
1715nir_load_viewport_y_scale(nir_builder *build)
1716{
1717   return nir_load_system_value(build, nir_intrinsic_load_viewport_y_scale,
1718                                0, 32);
1719}
1720
1721static inline nir_ssa_def *
1722nir_load_viewport_z_offset(nir_builder *build)
1723{
1724   return nir_load_system_value(build, nir_intrinsic_load_viewport_z_offset,
1725                                0, 32);
1726}
1727
1728static inline nir_ssa_def *
1729nir_load_viewport_z_scale(nir_builder *build)
1730{
1731   return nir_load_system_value(build, nir_intrinsic_load_viewport_z_scale,
1732                                0, 32);
1733}
1734
1735static inline nir_ssa_def *
1736nir_load_work_dim(nir_builder *build)
1737{
1738   return nir_load_system_value(build, nir_intrinsic_load_work_dim,
1739                                0, 32);
1740}
1741
1742static inline nir_ssa_def *
1743nir_load_work_group_id(nir_builder *build)
1744{
1745   return nir_load_system_value(build, nir_intrinsic_load_work_group_id,
1746                                0, 32);
1747}
1748
1749#endif /* _NIR_BUILDER_OPCODES_ */
1750