nir_builder_opcodes.h revision 96c5ddc4
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_amul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
30{
31   return nir_build_alu(build, nir_op_amul, src0, src1, NULL, NULL);
32}
33static inline nir_ssa_def *
34nir_b16all_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
35{
36   return nir_build_alu(build, nir_op_b16all_fequal16, src0, src1, NULL, NULL);
37}
38static inline nir_ssa_def *
39nir_b16all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
40{
41   return nir_build_alu(build, nir_op_b16all_fequal2, src0, src1, NULL, NULL);
42}
43static inline nir_ssa_def *
44nir_b16all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
45{
46   return nir_build_alu(build, nir_op_b16all_fequal3, src0, src1, NULL, NULL);
47}
48static inline nir_ssa_def *
49nir_b16all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
50{
51   return nir_build_alu(build, nir_op_b16all_fequal4, src0, src1, NULL, NULL);
52}
53static inline nir_ssa_def *
54nir_b16all_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
55{
56   return nir_build_alu(build, nir_op_b16all_fequal5, src0, src1, NULL, NULL);
57}
58static inline nir_ssa_def *
59nir_b16all_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
60{
61   return nir_build_alu(build, nir_op_b16all_fequal8, src0, src1, NULL, NULL);
62}
63static inline nir_ssa_def *
64nir_b16all_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
65{
66   return nir_build_alu(build, nir_op_b16all_iequal16, src0, src1, NULL, NULL);
67}
68static inline nir_ssa_def *
69nir_b16all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
70{
71   return nir_build_alu(build, nir_op_b16all_iequal2, src0, src1, NULL, NULL);
72}
73static inline nir_ssa_def *
74nir_b16all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
75{
76   return nir_build_alu(build, nir_op_b16all_iequal3, src0, src1, NULL, NULL);
77}
78static inline nir_ssa_def *
79nir_b16all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
80{
81   return nir_build_alu(build, nir_op_b16all_iequal4, src0, src1, NULL, NULL);
82}
83static inline nir_ssa_def *
84nir_b16all_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
85{
86   return nir_build_alu(build, nir_op_b16all_iequal5, src0, src1, NULL, NULL);
87}
88static inline nir_ssa_def *
89nir_b16all_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
90{
91   return nir_build_alu(build, nir_op_b16all_iequal8, src0, src1, NULL, NULL);
92}
93static inline nir_ssa_def *
94nir_b16any_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
95{
96   return nir_build_alu(build, nir_op_b16any_fnequal16, src0, src1, NULL, NULL);
97}
98static inline nir_ssa_def *
99nir_b16any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
100{
101   return nir_build_alu(build, nir_op_b16any_fnequal2, src0, src1, NULL, NULL);
102}
103static inline nir_ssa_def *
104nir_b16any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
105{
106   return nir_build_alu(build, nir_op_b16any_fnequal3, src0, src1, NULL, NULL);
107}
108static inline nir_ssa_def *
109nir_b16any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
110{
111   return nir_build_alu(build, nir_op_b16any_fnequal4, src0, src1, NULL, NULL);
112}
113static inline nir_ssa_def *
114nir_b16any_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
115{
116   return nir_build_alu(build, nir_op_b16any_fnequal5, src0, src1, NULL, NULL);
117}
118static inline nir_ssa_def *
119nir_b16any_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
120{
121   return nir_build_alu(build, nir_op_b16any_fnequal8, src0, src1, NULL, NULL);
122}
123static inline nir_ssa_def *
124nir_b16any_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
125{
126   return nir_build_alu(build, nir_op_b16any_inequal16, src0, src1, NULL, NULL);
127}
128static inline nir_ssa_def *
129nir_b16any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
130{
131   return nir_build_alu(build, nir_op_b16any_inequal2, src0, src1, NULL, NULL);
132}
133static inline nir_ssa_def *
134nir_b16any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
135{
136   return nir_build_alu(build, nir_op_b16any_inequal3, src0, src1, NULL, NULL);
137}
138static inline nir_ssa_def *
139nir_b16any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
140{
141   return nir_build_alu(build, nir_op_b16any_inequal4, src0, src1, NULL, NULL);
142}
143static inline nir_ssa_def *
144nir_b16any_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
145{
146   return nir_build_alu(build, nir_op_b16any_inequal5, src0, src1, NULL, NULL);
147}
148static inline nir_ssa_def *
149nir_b16any_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
150{
151   return nir_build_alu(build, nir_op_b16any_inequal8, src0, src1, NULL, NULL);
152}
153static inline nir_ssa_def *
154nir_b16csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
155{
156   return nir_build_alu(build, nir_op_b16csel, src0, src1, src2, NULL);
157}
158static inline nir_ssa_def *
159nir_b2b1(nir_builder *build, nir_ssa_def *src0)
160{
161   return nir_build_alu(build, nir_op_b2b1, src0, NULL, NULL, NULL);
162}
163static inline nir_ssa_def *
164nir_b2b16(nir_builder *build, nir_ssa_def *src0)
165{
166   return nir_build_alu(build, nir_op_b2b16, src0, NULL, NULL, NULL);
167}
168static inline nir_ssa_def *
169nir_b2b32(nir_builder *build, nir_ssa_def *src0)
170{
171   return nir_build_alu(build, nir_op_b2b32, src0, NULL, NULL, NULL);
172}
173static inline nir_ssa_def *
174nir_b2b8(nir_builder *build, nir_ssa_def *src0)
175{
176   return nir_build_alu(build, nir_op_b2b8, src0, NULL, NULL, NULL);
177}
178static inline nir_ssa_def *
179nir_b2f16(nir_builder *build, nir_ssa_def *src0)
180{
181   return nir_build_alu(build, nir_op_b2f16, src0, NULL, NULL, NULL);
182}
183static inline nir_ssa_def *
184nir_b2f32(nir_builder *build, nir_ssa_def *src0)
185{
186   return nir_build_alu(build, nir_op_b2f32, src0, NULL, NULL, NULL);
187}
188static inline nir_ssa_def *
189nir_b2f64(nir_builder *build, nir_ssa_def *src0)
190{
191   return nir_build_alu(build, nir_op_b2f64, src0, NULL, NULL, NULL);
192}
193static inline nir_ssa_def *
194nir_b2i1(nir_builder *build, nir_ssa_def *src0)
195{
196   return nir_build_alu(build, nir_op_b2i1, src0, NULL, NULL, NULL);
197}
198static inline nir_ssa_def *
199nir_b2i16(nir_builder *build, nir_ssa_def *src0)
200{
201   return nir_build_alu(build, nir_op_b2i16, src0, NULL, NULL, NULL);
202}
203static inline nir_ssa_def *
204nir_b2i32(nir_builder *build, nir_ssa_def *src0)
205{
206   return nir_build_alu(build, nir_op_b2i32, src0, NULL, NULL, NULL);
207}
208static inline nir_ssa_def *
209nir_b2i64(nir_builder *build, nir_ssa_def *src0)
210{
211   return nir_build_alu(build, nir_op_b2i64, src0, NULL, NULL, NULL);
212}
213static inline nir_ssa_def *
214nir_b2i8(nir_builder *build, nir_ssa_def *src0)
215{
216   return nir_build_alu(build, nir_op_b2i8, src0, NULL, NULL, NULL);
217}
218static inline nir_ssa_def *
219nir_b32all_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
220{
221   return nir_build_alu(build, nir_op_b32all_fequal16, src0, src1, NULL, NULL);
222}
223static inline nir_ssa_def *
224nir_b32all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
225{
226   return nir_build_alu(build, nir_op_b32all_fequal2, src0, src1, NULL, NULL);
227}
228static inline nir_ssa_def *
229nir_b32all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
230{
231   return nir_build_alu(build, nir_op_b32all_fequal3, src0, src1, NULL, NULL);
232}
233static inline nir_ssa_def *
234nir_b32all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
235{
236   return nir_build_alu(build, nir_op_b32all_fequal4, src0, src1, NULL, NULL);
237}
238static inline nir_ssa_def *
239nir_b32all_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
240{
241   return nir_build_alu(build, nir_op_b32all_fequal5, src0, src1, NULL, NULL);
242}
243static inline nir_ssa_def *
244nir_b32all_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
245{
246   return nir_build_alu(build, nir_op_b32all_fequal8, src0, src1, NULL, NULL);
247}
248static inline nir_ssa_def *
249nir_b32all_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
250{
251   return nir_build_alu(build, nir_op_b32all_iequal16, src0, src1, NULL, NULL);
252}
253static inline nir_ssa_def *
254nir_b32all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
255{
256   return nir_build_alu(build, nir_op_b32all_iequal2, src0, src1, NULL, NULL);
257}
258static inline nir_ssa_def *
259nir_b32all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
260{
261   return nir_build_alu(build, nir_op_b32all_iequal3, src0, src1, NULL, NULL);
262}
263static inline nir_ssa_def *
264nir_b32all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
265{
266   return nir_build_alu(build, nir_op_b32all_iequal4, src0, src1, NULL, NULL);
267}
268static inline nir_ssa_def *
269nir_b32all_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
270{
271   return nir_build_alu(build, nir_op_b32all_iequal5, src0, src1, NULL, NULL);
272}
273static inline nir_ssa_def *
274nir_b32all_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
275{
276   return nir_build_alu(build, nir_op_b32all_iequal8, src0, src1, NULL, NULL);
277}
278static inline nir_ssa_def *
279nir_b32any_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
280{
281   return nir_build_alu(build, nir_op_b32any_fnequal16, src0, src1, NULL, NULL);
282}
283static inline nir_ssa_def *
284nir_b32any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
285{
286   return nir_build_alu(build, nir_op_b32any_fnequal2, src0, src1, NULL, NULL);
287}
288static inline nir_ssa_def *
289nir_b32any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
290{
291   return nir_build_alu(build, nir_op_b32any_fnequal3, src0, src1, NULL, NULL);
292}
293static inline nir_ssa_def *
294nir_b32any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
295{
296   return nir_build_alu(build, nir_op_b32any_fnequal4, src0, src1, NULL, NULL);
297}
298static inline nir_ssa_def *
299nir_b32any_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
300{
301   return nir_build_alu(build, nir_op_b32any_fnequal5, src0, src1, NULL, NULL);
302}
303static inline nir_ssa_def *
304nir_b32any_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
305{
306   return nir_build_alu(build, nir_op_b32any_fnequal8, src0, src1, NULL, NULL);
307}
308static inline nir_ssa_def *
309nir_b32any_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
310{
311   return nir_build_alu(build, nir_op_b32any_inequal16, src0, src1, NULL, NULL);
312}
313static inline nir_ssa_def *
314nir_b32any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
315{
316   return nir_build_alu(build, nir_op_b32any_inequal2, src0, src1, NULL, NULL);
317}
318static inline nir_ssa_def *
319nir_b32any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
320{
321   return nir_build_alu(build, nir_op_b32any_inequal3, src0, src1, NULL, NULL);
322}
323static inline nir_ssa_def *
324nir_b32any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
325{
326   return nir_build_alu(build, nir_op_b32any_inequal4, src0, src1, NULL, NULL);
327}
328static inline nir_ssa_def *
329nir_b32any_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
330{
331   return nir_build_alu(build, nir_op_b32any_inequal5, src0, src1, NULL, NULL);
332}
333static inline nir_ssa_def *
334nir_b32any_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
335{
336   return nir_build_alu(build, nir_op_b32any_inequal8, src0, src1, NULL, NULL);
337}
338static inline nir_ssa_def *
339nir_b32csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
340{
341   return nir_build_alu(build, nir_op_b32csel, src0, src1, src2, NULL);
342}
343static inline nir_ssa_def *
344nir_b8all_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
345{
346   return nir_build_alu(build, nir_op_b8all_fequal16, src0, src1, NULL, NULL);
347}
348static inline nir_ssa_def *
349nir_b8all_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
350{
351   return nir_build_alu(build, nir_op_b8all_fequal2, src0, src1, NULL, NULL);
352}
353static inline nir_ssa_def *
354nir_b8all_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
355{
356   return nir_build_alu(build, nir_op_b8all_fequal3, src0, src1, NULL, NULL);
357}
358static inline nir_ssa_def *
359nir_b8all_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
360{
361   return nir_build_alu(build, nir_op_b8all_fequal4, src0, src1, NULL, NULL);
362}
363static inline nir_ssa_def *
364nir_b8all_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
365{
366   return nir_build_alu(build, nir_op_b8all_fequal5, src0, src1, NULL, NULL);
367}
368static inline nir_ssa_def *
369nir_b8all_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
370{
371   return nir_build_alu(build, nir_op_b8all_fequal8, src0, src1, NULL, NULL);
372}
373static inline nir_ssa_def *
374nir_b8all_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
375{
376   return nir_build_alu(build, nir_op_b8all_iequal16, src0, src1, NULL, NULL);
377}
378static inline nir_ssa_def *
379nir_b8all_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
380{
381   return nir_build_alu(build, nir_op_b8all_iequal2, src0, src1, NULL, NULL);
382}
383static inline nir_ssa_def *
384nir_b8all_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
385{
386   return nir_build_alu(build, nir_op_b8all_iequal3, src0, src1, NULL, NULL);
387}
388static inline nir_ssa_def *
389nir_b8all_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
390{
391   return nir_build_alu(build, nir_op_b8all_iequal4, src0, src1, NULL, NULL);
392}
393static inline nir_ssa_def *
394nir_b8all_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
395{
396   return nir_build_alu(build, nir_op_b8all_iequal5, src0, src1, NULL, NULL);
397}
398static inline nir_ssa_def *
399nir_b8all_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
400{
401   return nir_build_alu(build, nir_op_b8all_iequal8, src0, src1, NULL, NULL);
402}
403static inline nir_ssa_def *
404nir_b8any_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
405{
406   return nir_build_alu(build, nir_op_b8any_fnequal16, src0, src1, NULL, NULL);
407}
408static inline nir_ssa_def *
409nir_b8any_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
410{
411   return nir_build_alu(build, nir_op_b8any_fnequal2, src0, src1, NULL, NULL);
412}
413static inline nir_ssa_def *
414nir_b8any_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
415{
416   return nir_build_alu(build, nir_op_b8any_fnequal3, src0, src1, NULL, NULL);
417}
418static inline nir_ssa_def *
419nir_b8any_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
420{
421   return nir_build_alu(build, nir_op_b8any_fnequal4, src0, src1, NULL, NULL);
422}
423static inline nir_ssa_def *
424nir_b8any_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
425{
426   return nir_build_alu(build, nir_op_b8any_fnequal5, src0, src1, NULL, NULL);
427}
428static inline nir_ssa_def *
429nir_b8any_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
430{
431   return nir_build_alu(build, nir_op_b8any_fnequal8, src0, src1, NULL, NULL);
432}
433static inline nir_ssa_def *
434nir_b8any_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
435{
436   return nir_build_alu(build, nir_op_b8any_inequal16, src0, src1, NULL, NULL);
437}
438static inline nir_ssa_def *
439nir_b8any_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
440{
441   return nir_build_alu(build, nir_op_b8any_inequal2, src0, src1, NULL, NULL);
442}
443static inline nir_ssa_def *
444nir_b8any_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
445{
446   return nir_build_alu(build, nir_op_b8any_inequal3, src0, src1, NULL, NULL);
447}
448static inline nir_ssa_def *
449nir_b8any_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
450{
451   return nir_build_alu(build, nir_op_b8any_inequal4, src0, src1, NULL, NULL);
452}
453static inline nir_ssa_def *
454nir_b8any_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
455{
456   return nir_build_alu(build, nir_op_b8any_inequal5, src0, src1, NULL, NULL);
457}
458static inline nir_ssa_def *
459nir_b8any_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
460{
461   return nir_build_alu(build, nir_op_b8any_inequal8, src0, src1, NULL, NULL);
462}
463static inline nir_ssa_def *
464nir_b8csel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
465{
466   return nir_build_alu(build, nir_op_b8csel, src0, src1, src2, NULL);
467}
468static inline nir_ssa_def *
469nir_ball_fequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
470{
471   return nir_build_alu(build, nir_op_ball_fequal16, src0, src1, NULL, NULL);
472}
473static inline nir_ssa_def *
474nir_ball_fequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
475{
476   return nir_build_alu(build, nir_op_ball_fequal2, src0, src1, NULL, NULL);
477}
478static inline nir_ssa_def *
479nir_ball_fequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
480{
481   return nir_build_alu(build, nir_op_ball_fequal3, src0, src1, NULL, NULL);
482}
483static inline nir_ssa_def *
484nir_ball_fequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
485{
486   return nir_build_alu(build, nir_op_ball_fequal4, src0, src1, NULL, NULL);
487}
488static inline nir_ssa_def *
489nir_ball_fequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
490{
491   return nir_build_alu(build, nir_op_ball_fequal5, src0, src1, NULL, NULL);
492}
493static inline nir_ssa_def *
494nir_ball_fequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
495{
496   return nir_build_alu(build, nir_op_ball_fequal8, src0, src1, NULL, NULL);
497}
498static inline nir_ssa_def *
499nir_ball_iequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
500{
501   return nir_build_alu(build, nir_op_ball_iequal16, src0, src1, NULL, NULL);
502}
503static inline nir_ssa_def *
504nir_ball_iequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
505{
506   return nir_build_alu(build, nir_op_ball_iequal2, src0, src1, NULL, NULL);
507}
508static inline nir_ssa_def *
509nir_ball_iequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
510{
511   return nir_build_alu(build, nir_op_ball_iequal3, src0, src1, NULL, NULL);
512}
513static inline nir_ssa_def *
514nir_ball_iequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
515{
516   return nir_build_alu(build, nir_op_ball_iequal4, src0, src1, NULL, NULL);
517}
518static inline nir_ssa_def *
519nir_ball_iequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
520{
521   return nir_build_alu(build, nir_op_ball_iequal5, src0, src1, NULL, NULL);
522}
523static inline nir_ssa_def *
524nir_ball_iequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
525{
526   return nir_build_alu(build, nir_op_ball_iequal8, src0, src1, NULL, NULL);
527}
528static inline nir_ssa_def *
529nir_bany_fnequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
530{
531   return nir_build_alu(build, nir_op_bany_fnequal16, src0, src1, NULL, NULL);
532}
533static inline nir_ssa_def *
534nir_bany_fnequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
535{
536   return nir_build_alu(build, nir_op_bany_fnequal2, src0, src1, NULL, NULL);
537}
538static inline nir_ssa_def *
539nir_bany_fnequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
540{
541   return nir_build_alu(build, nir_op_bany_fnequal3, src0, src1, NULL, NULL);
542}
543static inline nir_ssa_def *
544nir_bany_fnequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
545{
546   return nir_build_alu(build, nir_op_bany_fnequal4, src0, src1, NULL, NULL);
547}
548static inline nir_ssa_def *
549nir_bany_fnequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
550{
551   return nir_build_alu(build, nir_op_bany_fnequal5, src0, src1, NULL, NULL);
552}
553static inline nir_ssa_def *
554nir_bany_fnequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
555{
556   return nir_build_alu(build, nir_op_bany_fnequal8, src0, src1, NULL, NULL);
557}
558static inline nir_ssa_def *
559nir_bany_inequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
560{
561   return nir_build_alu(build, nir_op_bany_inequal16, src0, src1, NULL, NULL);
562}
563static inline nir_ssa_def *
564nir_bany_inequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
565{
566   return nir_build_alu(build, nir_op_bany_inequal2, src0, src1, NULL, NULL);
567}
568static inline nir_ssa_def *
569nir_bany_inequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
570{
571   return nir_build_alu(build, nir_op_bany_inequal3, src0, src1, NULL, NULL);
572}
573static inline nir_ssa_def *
574nir_bany_inequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
575{
576   return nir_build_alu(build, nir_op_bany_inequal4, src0, src1, NULL, NULL);
577}
578static inline nir_ssa_def *
579nir_bany_inequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
580{
581   return nir_build_alu(build, nir_op_bany_inequal5, src0, src1, NULL, NULL);
582}
583static inline nir_ssa_def *
584nir_bany_inequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
585{
586   return nir_build_alu(build, nir_op_bany_inequal8, src0, src1, NULL, NULL);
587}
588static inline nir_ssa_def *
589nir_bcsel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
590{
591   return nir_build_alu(build, nir_op_bcsel, src0, src1, src2, NULL);
592}
593static inline nir_ssa_def *
594nir_bfi(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
595{
596   return nir_build_alu(build, nir_op_bfi, src0, src1, src2, NULL);
597}
598static inline nir_ssa_def *
599nir_bfm(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
600{
601   return nir_build_alu(build, nir_op_bfm, src0, src1, NULL, NULL);
602}
603static inline nir_ssa_def *
604nir_bit_count(nir_builder *build, nir_ssa_def *src0)
605{
606   return nir_build_alu(build, nir_op_bit_count, src0, NULL, NULL, NULL);
607}
608static inline nir_ssa_def *
609nir_bitfield_insert(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
610{
611   return nir_build_alu(build, nir_op_bitfield_insert, src0, src1, src2, src3);
612}
613static inline nir_ssa_def *
614nir_bitfield_reverse(nir_builder *build, nir_ssa_def *src0)
615{
616   return nir_build_alu(build, nir_op_bitfield_reverse, src0, NULL, NULL, NULL);
617}
618static inline nir_ssa_def *
619nir_bitfield_select(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
620{
621   return nir_build_alu(build, nir_op_bitfield_select, src0, src1, src2, NULL);
622}
623static inline nir_ssa_def *
624nir_cube_face_coord_amd(nir_builder *build, nir_ssa_def *src0)
625{
626   return nir_build_alu(build, nir_op_cube_face_coord_amd, src0, NULL, NULL, NULL);
627}
628static inline nir_ssa_def *
629nir_cube_face_index_amd(nir_builder *build, nir_ssa_def *src0)
630{
631   return nir_build_alu(build, nir_op_cube_face_index_amd, src0, NULL, NULL, NULL);
632}
633static inline nir_ssa_def *
634nir_cube_r600(nir_builder *build, nir_ssa_def *src0)
635{
636   return nir_build_alu(build, nir_op_cube_r600, src0, NULL, NULL, NULL);
637}
638static inline nir_ssa_def *
639nir_extract_i16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
640{
641   return nir_build_alu(build, nir_op_extract_i16, src0, src1, NULL, NULL);
642}
643static inline nir_ssa_def *
644nir_extract_i8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
645{
646   return nir_build_alu(build, nir_op_extract_i8, src0, src1, NULL, NULL);
647}
648static inline nir_ssa_def *
649nir_extract_u16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
650{
651   return nir_build_alu(build, nir_op_extract_u16, src0, src1, NULL, NULL);
652}
653static inline nir_ssa_def *
654nir_extract_u8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
655{
656   return nir_build_alu(build, nir_op_extract_u8, src0, src1, NULL, NULL);
657}
658static inline nir_ssa_def *
659nir_f2b1(nir_builder *build, nir_ssa_def *src0)
660{
661   return nir_build_alu(build, nir_op_f2b1, src0, NULL, NULL, NULL);
662}
663static inline nir_ssa_def *
664nir_f2b16(nir_builder *build, nir_ssa_def *src0)
665{
666   return nir_build_alu(build, nir_op_f2b16, src0, NULL, NULL, NULL);
667}
668static inline nir_ssa_def *
669nir_f2b32(nir_builder *build, nir_ssa_def *src0)
670{
671   return nir_build_alu(build, nir_op_f2b32, src0, NULL, NULL, NULL);
672}
673static inline nir_ssa_def *
674nir_f2b8(nir_builder *build, nir_ssa_def *src0)
675{
676   return nir_build_alu(build, nir_op_f2b8, src0, NULL, NULL, NULL);
677}
678static inline nir_ssa_def *
679nir_f2f16(nir_builder *build, nir_ssa_def *src0)
680{
681   return nir_build_alu(build, nir_op_f2f16, src0, NULL, NULL, NULL);
682}
683static inline nir_ssa_def *
684nir_f2f16_rtne(nir_builder *build, nir_ssa_def *src0)
685{
686   return nir_build_alu(build, nir_op_f2f16_rtne, src0, NULL, NULL, NULL);
687}
688static inline nir_ssa_def *
689nir_f2f16_rtz(nir_builder *build, nir_ssa_def *src0)
690{
691   return nir_build_alu(build, nir_op_f2f16_rtz, src0, NULL, NULL, NULL);
692}
693static inline nir_ssa_def *
694nir_f2f32(nir_builder *build, nir_ssa_def *src0)
695{
696   return nir_build_alu(build, nir_op_f2f32, src0, NULL, NULL, NULL);
697}
698static inline nir_ssa_def *
699nir_f2f64(nir_builder *build, nir_ssa_def *src0)
700{
701   return nir_build_alu(build, nir_op_f2f64, src0, NULL, NULL, NULL);
702}
703static inline nir_ssa_def *
704nir_f2fmp(nir_builder *build, nir_ssa_def *src0)
705{
706   return nir_build_alu(build, nir_op_f2fmp, src0, NULL, NULL, NULL);
707}
708static inline nir_ssa_def *
709nir_f2i1(nir_builder *build, nir_ssa_def *src0)
710{
711   return nir_build_alu(build, nir_op_f2i1, src0, NULL, NULL, NULL);
712}
713static inline nir_ssa_def *
714nir_f2i16(nir_builder *build, nir_ssa_def *src0)
715{
716   return nir_build_alu(build, nir_op_f2i16, src0, NULL, NULL, NULL);
717}
718static inline nir_ssa_def *
719nir_f2i32(nir_builder *build, nir_ssa_def *src0)
720{
721   return nir_build_alu(build, nir_op_f2i32, src0, NULL, NULL, NULL);
722}
723static inline nir_ssa_def *
724nir_f2i64(nir_builder *build, nir_ssa_def *src0)
725{
726   return nir_build_alu(build, nir_op_f2i64, src0, NULL, NULL, NULL);
727}
728static inline nir_ssa_def *
729nir_f2i8(nir_builder *build, nir_ssa_def *src0)
730{
731   return nir_build_alu(build, nir_op_f2i8, src0, NULL, NULL, NULL);
732}
733static inline nir_ssa_def *
734nir_f2imp(nir_builder *build, nir_ssa_def *src0)
735{
736   return nir_build_alu(build, nir_op_f2imp, src0, NULL, NULL, NULL);
737}
738static inline nir_ssa_def *
739nir_f2u1(nir_builder *build, nir_ssa_def *src0)
740{
741   return nir_build_alu(build, nir_op_f2u1, src0, NULL, NULL, NULL);
742}
743static inline nir_ssa_def *
744nir_f2u16(nir_builder *build, nir_ssa_def *src0)
745{
746   return nir_build_alu(build, nir_op_f2u16, src0, NULL, NULL, NULL);
747}
748static inline nir_ssa_def *
749nir_f2u32(nir_builder *build, nir_ssa_def *src0)
750{
751   return nir_build_alu(build, nir_op_f2u32, src0, NULL, NULL, NULL);
752}
753static inline nir_ssa_def *
754nir_f2u64(nir_builder *build, nir_ssa_def *src0)
755{
756   return nir_build_alu(build, nir_op_f2u64, src0, NULL, NULL, NULL);
757}
758static inline nir_ssa_def *
759nir_f2u8(nir_builder *build, nir_ssa_def *src0)
760{
761   return nir_build_alu(build, nir_op_f2u8, src0, NULL, NULL, NULL);
762}
763static inline nir_ssa_def *
764nir_f2ump(nir_builder *build, nir_ssa_def *src0)
765{
766   return nir_build_alu(build, nir_op_f2ump, src0, NULL, NULL, NULL);
767}
768static inline nir_ssa_def *
769nir_fabs(nir_builder *build, nir_ssa_def *src0)
770{
771   return nir_build_alu(build, nir_op_fabs, src0, NULL, NULL, NULL);
772}
773static inline nir_ssa_def *
774nir_fadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
775{
776   return nir_build_alu(build, nir_op_fadd, src0, src1, NULL, NULL);
777}
778static inline nir_ssa_def *
779nir_fall_equal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
780{
781   return nir_build_alu(build, nir_op_fall_equal16, src0, src1, NULL, NULL);
782}
783static inline nir_ssa_def *
784nir_fall_equal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
785{
786   return nir_build_alu(build, nir_op_fall_equal2, src0, src1, NULL, NULL);
787}
788static inline nir_ssa_def *
789nir_fall_equal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
790{
791   return nir_build_alu(build, nir_op_fall_equal3, src0, src1, NULL, NULL);
792}
793static inline nir_ssa_def *
794nir_fall_equal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
795{
796   return nir_build_alu(build, nir_op_fall_equal4, src0, src1, NULL, NULL);
797}
798static inline nir_ssa_def *
799nir_fall_equal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
800{
801   return nir_build_alu(build, nir_op_fall_equal5, src0, src1, NULL, NULL);
802}
803static inline nir_ssa_def *
804nir_fall_equal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
805{
806   return nir_build_alu(build, nir_op_fall_equal8, src0, src1, NULL, NULL);
807}
808static inline nir_ssa_def *
809nir_fany_nequal16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
810{
811   return nir_build_alu(build, nir_op_fany_nequal16, src0, src1, NULL, NULL);
812}
813static inline nir_ssa_def *
814nir_fany_nequal2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
815{
816   return nir_build_alu(build, nir_op_fany_nequal2, src0, src1, NULL, NULL);
817}
818static inline nir_ssa_def *
819nir_fany_nequal3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
820{
821   return nir_build_alu(build, nir_op_fany_nequal3, src0, src1, NULL, NULL);
822}
823static inline nir_ssa_def *
824nir_fany_nequal4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
825{
826   return nir_build_alu(build, nir_op_fany_nequal4, src0, src1, NULL, NULL);
827}
828static inline nir_ssa_def *
829nir_fany_nequal5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
830{
831   return nir_build_alu(build, nir_op_fany_nequal5, src0, src1, NULL, NULL);
832}
833static inline nir_ssa_def *
834nir_fany_nequal8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
835{
836   return nir_build_alu(build, nir_op_fany_nequal8, src0, src1, NULL, NULL);
837}
838static inline nir_ssa_def *
839nir_fceil(nir_builder *build, nir_ssa_def *src0)
840{
841   return nir_build_alu(build, nir_op_fceil, src0, NULL, NULL, NULL);
842}
843static inline nir_ssa_def *
844nir_fclamp_pos_mali(nir_builder *build, nir_ssa_def *src0)
845{
846   return nir_build_alu(build, nir_op_fclamp_pos_mali, src0, NULL, NULL, NULL);
847}
848static inline nir_ssa_def *
849nir_fcos(nir_builder *build, nir_ssa_def *src0)
850{
851   return nir_build_alu(build, nir_op_fcos, src0, NULL, NULL, NULL);
852}
853static inline nir_ssa_def *
854nir_fcos_r600(nir_builder *build, nir_ssa_def *src0)
855{
856   return nir_build_alu(build, nir_op_fcos_r600, src0, NULL, NULL, NULL);
857}
858static inline nir_ssa_def *
859nir_fcsel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
860{
861   return nir_build_alu(build, nir_op_fcsel, src0, src1, src2, NULL);
862}
863static inline nir_ssa_def *
864nir_fcsel_ge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
865{
866   return nir_build_alu(build, nir_op_fcsel_ge, src0, src1, src2, NULL);
867}
868static inline nir_ssa_def *
869nir_fcsel_gt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
870{
871   return nir_build_alu(build, nir_op_fcsel_gt, src0, src1, src2, NULL);
872}
873static inline nir_ssa_def *
874nir_fddx(nir_builder *build, nir_ssa_def *src0)
875{
876   return nir_build_alu(build, nir_op_fddx, src0, NULL, NULL, NULL);
877}
878static inline nir_ssa_def *
879nir_fddx_coarse(nir_builder *build, nir_ssa_def *src0)
880{
881   return nir_build_alu(build, nir_op_fddx_coarse, src0, NULL, NULL, NULL);
882}
883static inline nir_ssa_def *
884nir_fddx_fine(nir_builder *build, nir_ssa_def *src0)
885{
886   return nir_build_alu(build, nir_op_fddx_fine, src0, NULL, NULL, NULL);
887}
888static inline nir_ssa_def *
889nir_fddx_must_abs_mali(nir_builder *build, nir_ssa_def *src0)
890{
891   return nir_build_alu(build, nir_op_fddx_must_abs_mali, src0, NULL, NULL, NULL);
892}
893static inline nir_ssa_def *
894nir_fddy(nir_builder *build, nir_ssa_def *src0)
895{
896   return nir_build_alu(build, nir_op_fddy, src0, NULL, NULL, NULL);
897}
898static inline nir_ssa_def *
899nir_fddy_coarse(nir_builder *build, nir_ssa_def *src0)
900{
901   return nir_build_alu(build, nir_op_fddy_coarse, src0, NULL, NULL, NULL);
902}
903static inline nir_ssa_def *
904nir_fddy_fine(nir_builder *build, nir_ssa_def *src0)
905{
906   return nir_build_alu(build, nir_op_fddy_fine, src0, NULL, NULL, NULL);
907}
908static inline nir_ssa_def *
909nir_fddy_must_abs_mali(nir_builder *build, nir_ssa_def *src0)
910{
911   return nir_build_alu(build, nir_op_fddy_must_abs_mali, src0, NULL, NULL, NULL);
912}
913static inline nir_ssa_def *
914nir_fdiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
915{
916   return nir_build_alu(build, nir_op_fdiv, src0, src1, NULL, NULL);
917}
918static inline nir_ssa_def *
919nir_fdot16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
920{
921   return nir_build_alu(build, nir_op_fdot16, src0, src1, NULL, NULL);
922}
923static inline nir_ssa_def *
924nir_fdot16_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
925{
926   return nir_build_alu(build, nir_op_fdot16_replicated, src0, src1, NULL, NULL);
927}
928static inline nir_ssa_def *
929nir_fdot2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
930{
931   return nir_build_alu(build, nir_op_fdot2, src0, src1, NULL, NULL);
932}
933static inline nir_ssa_def *
934nir_fdot2_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
935{
936   return nir_build_alu(build, nir_op_fdot2_replicated, src0, src1, NULL, NULL);
937}
938static inline nir_ssa_def *
939nir_fdot3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
940{
941   return nir_build_alu(build, nir_op_fdot3, src0, src1, NULL, NULL);
942}
943static inline nir_ssa_def *
944nir_fdot3_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
945{
946   return nir_build_alu(build, nir_op_fdot3_replicated, src0, src1, NULL, NULL);
947}
948static inline nir_ssa_def *
949nir_fdot4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
950{
951   return nir_build_alu(build, nir_op_fdot4, src0, src1, NULL, NULL);
952}
953static inline nir_ssa_def *
954nir_fdot4_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
955{
956   return nir_build_alu(build, nir_op_fdot4_replicated, src0, src1, NULL, NULL);
957}
958static inline nir_ssa_def *
959nir_fdot5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
960{
961   return nir_build_alu(build, nir_op_fdot5, src0, src1, NULL, NULL);
962}
963static inline nir_ssa_def *
964nir_fdot5_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
965{
966   return nir_build_alu(build, nir_op_fdot5_replicated, src0, src1, NULL, NULL);
967}
968static inline nir_ssa_def *
969nir_fdot8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
970{
971   return nir_build_alu(build, nir_op_fdot8, src0, src1, NULL, NULL);
972}
973static inline nir_ssa_def *
974nir_fdot8_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
975{
976   return nir_build_alu(build, nir_op_fdot8_replicated, src0, src1, NULL, NULL);
977}
978static inline nir_ssa_def *
979nir_fdph(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
980{
981   return nir_build_alu(build, nir_op_fdph, src0, src1, NULL, NULL);
982}
983static inline nir_ssa_def *
984nir_fdph_replicated(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
985{
986   return nir_build_alu(build, nir_op_fdph_replicated, src0, src1, NULL, NULL);
987}
988static inline nir_ssa_def *
989nir_feq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
990{
991   return nir_build_alu(build, nir_op_feq, src0, src1, NULL, NULL);
992}
993static inline nir_ssa_def *
994nir_feq16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
995{
996   return nir_build_alu(build, nir_op_feq16, src0, src1, NULL, NULL);
997}
998static inline nir_ssa_def *
999nir_feq32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1000{
1001   return nir_build_alu(build, nir_op_feq32, src0, src1, NULL, NULL);
1002}
1003static inline nir_ssa_def *
1004nir_feq8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1005{
1006   return nir_build_alu(build, nir_op_feq8, src0, src1, NULL, NULL);
1007}
1008static inline nir_ssa_def *
1009nir_fexp2(nir_builder *build, nir_ssa_def *src0)
1010{
1011   return nir_build_alu(build, nir_op_fexp2, src0, NULL, NULL, NULL);
1012}
1013static inline nir_ssa_def *
1014nir_ffloor(nir_builder *build, nir_ssa_def *src0)
1015{
1016   return nir_build_alu(build, nir_op_ffloor, src0, NULL, NULL, NULL);
1017}
1018static inline nir_ssa_def *
1019nir_ffma(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1020{
1021   return nir_build_alu(build, nir_op_ffma, src0, src1, src2, NULL);
1022}
1023static inline nir_ssa_def *
1024nir_ffract(nir_builder *build, nir_ssa_def *src0)
1025{
1026   return nir_build_alu(build, nir_op_ffract, src0, NULL, NULL, NULL);
1027}
1028static inline nir_ssa_def *
1029nir_fge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1030{
1031   return nir_build_alu(build, nir_op_fge, src0, src1, NULL, NULL);
1032}
1033static inline nir_ssa_def *
1034nir_fge16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1035{
1036   return nir_build_alu(build, nir_op_fge16, src0, src1, NULL, NULL);
1037}
1038static inline nir_ssa_def *
1039nir_fge32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1040{
1041   return nir_build_alu(build, nir_op_fge32, src0, src1, NULL, NULL);
1042}
1043static inline nir_ssa_def *
1044nir_fge8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1045{
1046   return nir_build_alu(build, nir_op_fge8, src0, src1, NULL, NULL);
1047}
1048static inline nir_ssa_def *
1049nir_find_lsb(nir_builder *build, nir_ssa_def *src0)
1050{
1051   return nir_build_alu(build, nir_op_find_lsb, src0, NULL, NULL, NULL);
1052}
1053static inline nir_ssa_def *
1054nir_fisfinite(nir_builder *build, nir_ssa_def *src0)
1055{
1056   return nir_build_alu(build, nir_op_fisfinite, src0, NULL, NULL, NULL);
1057}
1058static inline nir_ssa_def *
1059nir_fisfinite32(nir_builder *build, nir_ssa_def *src0)
1060{
1061   return nir_build_alu(build, nir_op_fisfinite32, src0, NULL, NULL, NULL);
1062}
1063static inline nir_ssa_def *
1064nir_fisnormal(nir_builder *build, nir_ssa_def *src0)
1065{
1066   return nir_build_alu(build, nir_op_fisnormal, src0, NULL, NULL, NULL);
1067}
1068static inline nir_ssa_def *
1069nir_flog2(nir_builder *build, nir_ssa_def *src0)
1070{
1071   return nir_build_alu(build, nir_op_flog2, src0, NULL, NULL, NULL);
1072}
1073static inline nir_ssa_def *
1074nir_flrp(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1075{
1076   return nir_build_alu(build, nir_op_flrp, src0, src1, src2, NULL);
1077}
1078static inline nir_ssa_def *
1079nir_flt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1080{
1081   return nir_build_alu(build, nir_op_flt, src0, src1, NULL, NULL);
1082}
1083static inline nir_ssa_def *
1084nir_flt16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1085{
1086   return nir_build_alu(build, nir_op_flt16, src0, src1, NULL, NULL);
1087}
1088static inline nir_ssa_def *
1089nir_flt32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1090{
1091   return nir_build_alu(build, nir_op_flt32, src0, src1, NULL, NULL);
1092}
1093static inline nir_ssa_def *
1094nir_flt8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1095{
1096   return nir_build_alu(build, nir_op_flt8, src0, src1, NULL, NULL);
1097}
1098static inline nir_ssa_def *
1099nir_fmax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1100{
1101   return nir_build_alu(build, nir_op_fmax, src0, src1, NULL, NULL);
1102}
1103static inline nir_ssa_def *
1104nir_fmin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1105{
1106   return nir_build_alu(build, nir_op_fmin, src0, src1, NULL, NULL);
1107}
1108static inline nir_ssa_def *
1109nir_fmod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1110{
1111   return nir_build_alu(build, nir_op_fmod, src0, src1, NULL, NULL);
1112}
1113static inline nir_ssa_def *
1114nir_fmul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1115{
1116   return nir_build_alu(build, nir_op_fmul, src0, src1, NULL, NULL);
1117}
1118static inline nir_ssa_def *
1119nir_fneg(nir_builder *build, nir_ssa_def *src0)
1120{
1121   return nir_build_alu(build, nir_op_fneg, src0, NULL, NULL, NULL);
1122}
1123static inline nir_ssa_def *
1124nir_fneu(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1125{
1126   return nir_build_alu(build, nir_op_fneu, src0, src1, NULL, NULL);
1127}
1128static inline nir_ssa_def *
1129nir_fneu16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1130{
1131   return nir_build_alu(build, nir_op_fneu16, src0, src1, NULL, NULL);
1132}
1133static inline nir_ssa_def *
1134nir_fneu32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1135{
1136   return nir_build_alu(build, nir_op_fneu32, src0, src1, NULL, NULL);
1137}
1138static inline nir_ssa_def *
1139nir_fneu8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1140{
1141   return nir_build_alu(build, nir_op_fneu8, src0, src1, NULL, NULL);
1142}
1143static inline nir_ssa_def *
1144nir_fpow(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1145{
1146   return nir_build_alu(build, nir_op_fpow, src0, src1, NULL, NULL);
1147}
1148static inline nir_ssa_def *
1149nir_fquantize2f16(nir_builder *build, nir_ssa_def *src0)
1150{
1151   return nir_build_alu(build, nir_op_fquantize2f16, src0, NULL, NULL, NULL);
1152}
1153static inline nir_ssa_def *
1154nir_frcp(nir_builder *build, nir_ssa_def *src0)
1155{
1156   return nir_build_alu(build, nir_op_frcp, src0, NULL, NULL, NULL);
1157}
1158static inline nir_ssa_def *
1159nir_frem(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1160{
1161   return nir_build_alu(build, nir_op_frem, src0, src1, NULL, NULL);
1162}
1163static inline nir_ssa_def *
1164nir_frexp_exp(nir_builder *build, nir_ssa_def *src0)
1165{
1166   return nir_build_alu(build, nir_op_frexp_exp, src0, NULL, NULL, NULL);
1167}
1168static inline nir_ssa_def *
1169nir_frexp_sig(nir_builder *build, nir_ssa_def *src0)
1170{
1171   return nir_build_alu(build, nir_op_frexp_sig, src0, NULL, NULL, NULL);
1172}
1173static inline nir_ssa_def *
1174nir_fround_even(nir_builder *build, nir_ssa_def *src0)
1175{
1176   return nir_build_alu(build, nir_op_fround_even, src0, NULL, NULL, NULL);
1177}
1178static inline nir_ssa_def *
1179nir_frsq(nir_builder *build, nir_ssa_def *src0)
1180{
1181   return nir_build_alu(build, nir_op_frsq, src0, NULL, NULL, NULL);
1182}
1183static inline nir_ssa_def *
1184nir_fsat(nir_builder *build, nir_ssa_def *src0)
1185{
1186   return nir_build_alu(build, nir_op_fsat, src0, NULL, NULL, NULL);
1187}
1188static inline nir_ssa_def *
1189nir_fsat_signed_mali(nir_builder *build, nir_ssa_def *src0)
1190{
1191   return nir_build_alu(build, nir_op_fsat_signed_mali, src0, NULL, NULL, NULL);
1192}
1193static inline nir_ssa_def *
1194nir_fsign(nir_builder *build, nir_ssa_def *src0)
1195{
1196   return nir_build_alu(build, nir_op_fsign, src0, NULL, NULL, NULL);
1197}
1198static inline nir_ssa_def *
1199nir_fsin(nir_builder *build, nir_ssa_def *src0)
1200{
1201   return nir_build_alu(build, nir_op_fsin, src0, NULL, NULL, NULL);
1202}
1203static inline nir_ssa_def *
1204nir_fsin_agx(nir_builder *build, nir_ssa_def *src0)
1205{
1206   return nir_build_alu(build, nir_op_fsin_agx, src0, NULL, NULL, NULL);
1207}
1208static inline nir_ssa_def *
1209nir_fsin_r600(nir_builder *build, nir_ssa_def *src0)
1210{
1211   return nir_build_alu(build, nir_op_fsin_r600, src0, NULL, NULL, NULL);
1212}
1213static inline nir_ssa_def *
1214nir_fsqrt(nir_builder *build, nir_ssa_def *src0)
1215{
1216   return nir_build_alu(build, nir_op_fsqrt, src0, NULL, NULL, NULL);
1217}
1218static inline nir_ssa_def *
1219nir_fsub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1220{
1221   return nir_build_alu(build, nir_op_fsub, src0, src1, NULL, NULL);
1222}
1223static inline nir_ssa_def *
1224nir_fsum2(nir_builder *build, nir_ssa_def *src0)
1225{
1226   return nir_build_alu(build, nir_op_fsum2, src0, NULL, NULL, NULL);
1227}
1228static inline nir_ssa_def *
1229nir_fsum3(nir_builder *build, nir_ssa_def *src0)
1230{
1231   return nir_build_alu(build, nir_op_fsum3, src0, NULL, NULL, NULL);
1232}
1233static inline nir_ssa_def *
1234nir_fsum4(nir_builder *build, nir_ssa_def *src0)
1235{
1236   return nir_build_alu(build, nir_op_fsum4, src0, NULL, NULL, NULL);
1237}
1238static inline nir_ssa_def *
1239nir_ftrunc(nir_builder *build, nir_ssa_def *src0)
1240{
1241   return nir_build_alu(build, nir_op_ftrunc, src0, NULL, NULL, NULL);
1242}
1243static inline nir_ssa_def *
1244nir_i2b1(nir_builder *build, nir_ssa_def *src0)
1245{
1246   return nir_build_alu(build, nir_op_i2b1, src0, NULL, NULL, NULL);
1247}
1248static inline nir_ssa_def *
1249nir_i2b16(nir_builder *build, nir_ssa_def *src0)
1250{
1251   return nir_build_alu(build, nir_op_i2b16, src0, NULL, NULL, NULL);
1252}
1253static inline nir_ssa_def *
1254nir_i2b32(nir_builder *build, nir_ssa_def *src0)
1255{
1256   return nir_build_alu(build, nir_op_i2b32, src0, NULL, NULL, NULL);
1257}
1258static inline nir_ssa_def *
1259nir_i2b8(nir_builder *build, nir_ssa_def *src0)
1260{
1261   return nir_build_alu(build, nir_op_i2b8, src0, NULL, NULL, NULL);
1262}
1263static inline nir_ssa_def *
1264nir_i2f16(nir_builder *build, nir_ssa_def *src0)
1265{
1266   return nir_build_alu(build, nir_op_i2f16, src0, NULL, NULL, NULL);
1267}
1268static inline nir_ssa_def *
1269nir_i2f32(nir_builder *build, nir_ssa_def *src0)
1270{
1271   return nir_build_alu(build, nir_op_i2f32, src0, NULL, NULL, NULL);
1272}
1273static inline nir_ssa_def *
1274nir_i2f64(nir_builder *build, nir_ssa_def *src0)
1275{
1276   return nir_build_alu(build, nir_op_i2f64, src0, NULL, NULL, NULL);
1277}
1278static inline nir_ssa_def *
1279nir_i2fmp(nir_builder *build, nir_ssa_def *src0)
1280{
1281   return nir_build_alu(build, nir_op_i2fmp, src0, NULL, NULL, NULL);
1282}
1283static inline nir_ssa_def *
1284nir_i2i1(nir_builder *build, nir_ssa_def *src0)
1285{
1286   return nir_build_alu(build, nir_op_i2i1, src0, NULL, NULL, NULL);
1287}
1288static inline nir_ssa_def *
1289nir_i2i16(nir_builder *build, nir_ssa_def *src0)
1290{
1291   return nir_build_alu(build, nir_op_i2i16, src0, NULL, NULL, NULL);
1292}
1293static inline nir_ssa_def *
1294nir_i2i32(nir_builder *build, nir_ssa_def *src0)
1295{
1296   return nir_build_alu(build, nir_op_i2i32, src0, NULL, NULL, NULL);
1297}
1298static inline nir_ssa_def *
1299nir_i2i64(nir_builder *build, nir_ssa_def *src0)
1300{
1301   return nir_build_alu(build, nir_op_i2i64, src0, NULL, NULL, NULL);
1302}
1303static inline nir_ssa_def *
1304nir_i2i8(nir_builder *build, nir_ssa_def *src0)
1305{
1306   return nir_build_alu(build, nir_op_i2i8, src0, NULL, NULL, NULL);
1307}
1308static inline nir_ssa_def *
1309nir_i2imp(nir_builder *build, nir_ssa_def *src0)
1310{
1311   return nir_build_alu(build, nir_op_i2imp, src0, NULL, NULL, NULL);
1312}
1313static inline nir_ssa_def *
1314nir_i32csel_ge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1315{
1316   return nir_build_alu(build, nir_op_i32csel_ge, src0, src1, src2, NULL);
1317}
1318static inline nir_ssa_def *
1319nir_i32csel_gt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1320{
1321   return nir_build_alu(build, nir_op_i32csel_gt, src0, src1, src2, NULL);
1322}
1323static inline nir_ssa_def *
1324nir_iabs(nir_builder *build, nir_ssa_def *src0)
1325{
1326   return nir_build_alu(build, nir_op_iabs, src0, NULL, NULL, NULL);
1327}
1328static inline nir_ssa_def *
1329nir_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1330{
1331   return nir_build_alu(build, nir_op_iadd, src0, src1, NULL, NULL);
1332}
1333static inline nir_ssa_def *
1334nir_iadd3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1335{
1336   return nir_build_alu(build, nir_op_iadd3, src0, src1, src2, NULL);
1337}
1338static inline nir_ssa_def *
1339nir_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1340{
1341   return nir_build_alu(build, nir_op_iadd_sat, src0, src1, NULL, NULL);
1342}
1343static inline nir_ssa_def *
1344nir_iand(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1345{
1346   return nir_build_alu(build, nir_op_iand, src0, src1, NULL, NULL);
1347}
1348static inline nir_ssa_def *
1349nir_ibfe(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1350{
1351   return nir_build_alu(build, nir_op_ibfe, src0, src1, src2, NULL);
1352}
1353static inline nir_ssa_def *
1354nir_ibitfield_extract(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1355{
1356   return nir_build_alu(build, nir_op_ibitfield_extract, src0, src1, src2, NULL);
1357}
1358static inline nir_ssa_def *
1359nir_idiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1360{
1361   return nir_build_alu(build, nir_op_idiv, src0, src1, NULL, NULL);
1362}
1363static inline nir_ssa_def *
1364nir_ieq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1365{
1366   return nir_build_alu(build, nir_op_ieq, src0, src1, NULL, NULL);
1367}
1368static inline nir_ssa_def *
1369nir_ieq16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1370{
1371   return nir_build_alu(build, nir_op_ieq16, src0, src1, NULL, NULL);
1372}
1373static inline nir_ssa_def *
1374nir_ieq32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1375{
1376   return nir_build_alu(build, nir_op_ieq32, src0, src1, NULL, NULL);
1377}
1378static inline nir_ssa_def *
1379nir_ieq8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1380{
1381   return nir_build_alu(build, nir_op_ieq8, src0, src1, NULL, NULL);
1382}
1383static inline nir_ssa_def *
1384nir_ifind_msb(nir_builder *build, nir_ssa_def *src0)
1385{
1386   return nir_build_alu(build, nir_op_ifind_msb, src0, NULL, NULL, NULL);
1387}
1388static inline nir_ssa_def *
1389nir_ifind_msb_rev(nir_builder *build, nir_ssa_def *src0)
1390{
1391   return nir_build_alu(build, nir_op_ifind_msb_rev, src0, NULL, NULL, NULL);
1392}
1393static inline nir_ssa_def *
1394nir_ige(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1395{
1396   return nir_build_alu(build, nir_op_ige, src0, src1, NULL, NULL);
1397}
1398static inline nir_ssa_def *
1399nir_ige16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1400{
1401   return nir_build_alu(build, nir_op_ige16, src0, src1, NULL, NULL);
1402}
1403static inline nir_ssa_def *
1404nir_ige32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1405{
1406   return nir_build_alu(build, nir_op_ige32, src0, src1, NULL, NULL);
1407}
1408static inline nir_ssa_def *
1409nir_ige8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1410{
1411   return nir_build_alu(build, nir_op_ige8, src0, src1, NULL, NULL);
1412}
1413static inline nir_ssa_def *
1414nir_ihadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1415{
1416   return nir_build_alu(build, nir_op_ihadd, src0, src1, NULL, NULL);
1417}
1418static inline nir_ssa_def *
1419nir_ilt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1420{
1421   return nir_build_alu(build, nir_op_ilt, src0, src1, NULL, NULL);
1422}
1423static inline nir_ssa_def *
1424nir_ilt16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1425{
1426   return nir_build_alu(build, nir_op_ilt16, src0, src1, NULL, NULL);
1427}
1428static inline nir_ssa_def *
1429nir_ilt32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1430{
1431   return nir_build_alu(build, nir_op_ilt32, src0, src1, NULL, NULL);
1432}
1433static inline nir_ssa_def *
1434nir_ilt8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1435{
1436   return nir_build_alu(build, nir_op_ilt8, src0, src1, NULL, NULL);
1437}
1438static inline nir_ssa_def *
1439nir_imad24_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1440{
1441   return nir_build_alu(build, nir_op_imad24_ir3, src0, src1, src2, NULL);
1442}
1443static inline nir_ssa_def *
1444nir_imadsh_mix16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1445{
1446   return nir_build_alu(build, nir_op_imadsh_mix16, src0, src1, src2, NULL);
1447}
1448static inline nir_ssa_def *
1449nir_imax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1450{
1451   return nir_build_alu(build, nir_op_imax, src0, src1, NULL, NULL);
1452}
1453static inline nir_ssa_def *
1454nir_imin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1455{
1456   return nir_build_alu(build, nir_op_imin, src0, src1, NULL, NULL);
1457}
1458static inline nir_ssa_def *
1459nir_imod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1460{
1461   return nir_build_alu(build, nir_op_imod, src0, src1, NULL, NULL);
1462}
1463static inline nir_ssa_def *
1464nir_imul(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1465{
1466   return nir_build_alu(build, nir_op_imul, src0, src1, NULL, NULL);
1467}
1468static inline nir_ssa_def *
1469nir_imul24(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1470{
1471   return nir_build_alu(build, nir_op_imul24, src0, src1, NULL, NULL);
1472}
1473static inline nir_ssa_def *
1474nir_imul24_relaxed(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1475{
1476   return nir_build_alu(build, nir_op_imul24_relaxed, src0, src1, NULL, NULL);
1477}
1478static inline nir_ssa_def *
1479nir_imul_2x32_64(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1480{
1481   return nir_build_alu(build, nir_op_imul_2x32_64, src0, src1, NULL, NULL);
1482}
1483static inline nir_ssa_def *
1484nir_imul_32x16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1485{
1486   return nir_build_alu(build, nir_op_imul_32x16, src0, src1, NULL, NULL);
1487}
1488static inline nir_ssa_def *
1489nir_imul_high(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1490{
1491   return nir_build_alu(build, nir_op_imul_high, src0, src1, NULL, NULL);
1492}
1493static inline nir_ssa_def *
1494nir_ine(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1495{
1496   return nir_build_alu(build, nir_op_ine, src0, src1, NULL, NULL);
1497}
1498static inline nir_ssa_def *
1499nir_ine16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1500{
1501   return nir_build_alu(build, nir_op_ine16, src0, src1, NULL, NULL);
1502}
1503static inline nir_ssa_def *
1504nir_ine32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1505{
1506   return nir_build_alu(build, nir_op_ine32, src0, src1, NULL, NULL);
1507}
1508static inline nir_ssa_def *
1509nir_ine8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1510{
1511   return nir_build_alu(build, nir_op_ine8, src0, src1, NULL, NULL);
1512}
1513static inline nir_ssa_def *
1514nir_ineg(nir_builder *build, nir_ssa_def *src0)
1515{
1516   return nir_build_alu(build, nir_op_ineg, src0, NULL, NULL, NULL);
1517}
1518static inline nir_ssa_def *
1519nir_inot(nir_builder *build, nir_ssa_def *src0)
1520{
1521   return nir_build_alu(build, nir_op_inot, src0, NULL, NULL, NULL);
1522}
1523static inline nir_ssa_def *
1524nir_insert_u16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1525{
1526   return nir_build_alu(build, nir_op_insert_u16, src0, src1, NULL, NULL);
1527}
1528static inline nir_ssa_def *
1529nir_insert_u8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1530{
1531   return nir_build_alu(build, nir_op_insert_u8, src0, src1, NULL, NULL);
1532}
1533static inline nir_ssa_def *
1534nir_ior(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1535{
1536   return nir_build_alu(build, nir_op_ior, src0, src1, NULL, NULL);
1537}
1538static inline nir_ssa_def *
1539nir_irem(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1540{
1541   return nir_build_alu(build, nir_op_irem, src0, src1, NULL, NULL);
1542}
1543static inline nir_ssa_def *
1544nir_irhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1545{
1546   return nir_build_alu(build, nir_op_irhadd, src0, src1, NULL, NULL);
1547}
1548static inline nir_ssa_def *
1549nir_ishl(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1550{
1551   return nir_build_alu(build, nir_op_ishl, src0, src1, NULL, NULL);
1552}
1553static inline nir_ssa_def *
1554nir_ishr(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1555{
1556   return nir_build_alu(build, nir_op_ishr, src0, src1, NULL, NULL);
1557}
1558static inline nir_ssa_def *
1559nir_isign(nir_builder *build, nir_ssa_def *src0)
1560{
1561   return nir_build_alu(build, nir_op_isign, src0, NULL, NULL, NULL);
1562}
1563static inline nir_ssa_def *
1564nir_isub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1565{
1566   return nir_build_alu(build, nir_op_isub, src0, src1, NULL, NULL);
1567}
1568static inline nir_ssa_def *
1569nir_isub_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1570{
1571   return nir_build_alu(build, nir_op_isub_sat, src0, src1, NULL, NULL);
1572}
1573static inline nir_ssa_def *
1574nir_ixor(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1575{
1576   return nir_build_alu(build, nir_op_ixor, src0, src1, NULL, NULL);
1577}
1578static inline nir_ssa_def *
1579nir_ldexp(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1580{
1581   return nir_build_alu(build, nir_op_ldexp, src0, src1, NULL, NULL);
1582}
1583static inline nir_ssa_def *
1584nir_mov(nir_builder *build, nir_ssa_def *src0)
1585{
1586   return nir_build_alu(build, nir_op_mov, src0, NULL, NULL, NULL);
1587}
1588static inline nir_ssa_def *
1589nir_pack_32_2x16(nir_builder *build, nir_ssa_def *src0)
1590{
1591   return nir_build_alu(build, nir_op_pack_32_2x16, src0, NULL, NULL, NULL);
1592}
1593static inline nir_ssa_def *
1594nir_pack_32_2x16_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1595{
1596   return nir_build_alu(build, nir_op_pack_32_2x16_split, src0, src1, NULL, NULL);
1597}
1598static inline nir_ssa_def *
1599nir_pack_32_4x8(nir_builder *build, nir_ssa_def *src0)
1600{
1601   return nir_build_alu(build, nir_op_pack_32_4x8, src0, NULL, NULL, NULL);
1602}
1603static inline nir_ssa_def *
1604nir_pack_32_4x8_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
1605{
1606   return nir_build_alu(build, nir_op_pack_32_4x8_split, src0, src1, src2, src3);
1607}
1608static inline nir_ssa_def *
1609nir_pack_64_2x32(nir_builder *build, nir_ssa_def *src0)
1610{
1611   return nir_build_alu(build, nir_op_pack_64_2x32, src0, NULL, NULL, NULL);
1612}
1613static inline nir_ssa_def *
1614nir_pack_64_2x32_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1615{
1616   return nir_build_alu(build, nir_op_pack_64_2x32_split, src0, src1, NULL, NULL);
1617}
1618static inline nir_ssa_def *
1619nir_pack_64_4x16(nir_builder *build, nir_ssa_def *src0)
1620{
1621   return nir_build_alu(build, nir_op_pack_64_4x16, src0, NULL, NULL, NULL);
1622}
1623static inline nir_ssa_def *
1624nir_pack_double_2x32_dxil(nir_builder *build, nir_ssa_def *src0)
1625{
1626   return nir_build_alu(build, nir_op_pack_double_2x32_dxil, src0, NULL, NULL, NULL);
1627}
1628static inline nir_ssa_def *
1629nir_pack_half_2x16(nir_builder *build, nir_ssa_def *src0)
1630{
1631   return nir_build_alu(build, nir_op_pack_half_2x16, src0, NULL, NULL, NULL);
1632}
1633static inline nir_ssa_def *
1634nir_pack_half_2x16_split(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1635{
1636   return nir_build_alu(build, nir_op_pack_half_2x16_split, src0, src1, NULL, NULL);
1637}
1638static inline nir_ssa_def *
1639nir_pack_snorm_2x16(nir_builder *build, nir_ssa_def *src0)
1640{
1641   return nir_build_alu(build, nir_op_pack_snorm_2x16, src0, NULL, NULL, NULL);
1642}
1643static inline nir_ssa_def *
1644nir_pack_snorm_4x8(nir_builder *build, nir_ssa_def *src0)
1645{
1646   return nir_build_alu(build, nir_op_pack_snorm_4x8, src0, NULL, NULL, NULL);
1647}
1648static inline nir_ssa_def *
1649nir_pack_unorm_2x16(nir_builder *build, nir_ssa_def *src0)
1650{
1651   return nir_build_alu(build, nir_op_pack_unorm_2x16, src0, NULL, NULL, NULL);
1652}
1653static inline nir_ssa_def *
1654nir_pack_unorm_4x8(nir_builder *build, nir_ssa_def *src0)
1655{
1656   return nir_build_alu(build, nir_op_pack_unorm_4x8, src0, NULL, NULL, NULL);
1657}
1658static inline nir_ssa_def *
1659nir_pack_uvec2_to_uint(nir_builder *build, nir_ssa_def *src0)
1660{
1661   return nir_build_alu(build, nir_op_pack_uvec2_to_uint, src0, NULL, NULL, NULL);
1662}
1663static inline nir_ssa_def *
1664nir_pack_uvec4_to_uint(nir_builder *build, nir_ssa_def *src0)
1665{
1666   return nir_build_alu(build, nir_op_pack_uvec4_to_uint, src0, NULL, NULL, NULL);
1667}
1668static inline nir_ssa_def *
1669nir_sad_u8x4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1670{
1671   return nir_build_alu(build, nir_op_sad_u8x4, src0, src1, src2, NULL);
1672}
1673static inline nir_ssa_def *
1674nir_sdot_2x16_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1675{
1676   return nir_build_alu(build, nir_op_sdot_2x16_iadd, src0, src1, src2, NULL);
1677}
1678static inline nir_ssa_def *
1679nir_sdot_2x16_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1680{
1681   return nir_build_alu(build, nir_op_sdot_2x16_iadd_sat, src0, src1, src2, NULL);
1682}
1683static inline nir_ssa_def *
1684nir_sdot_4x8_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1685{
1686   return nir_build_alu(build, nir_op_sdot_4x8_iadd, src0, src1, src2, NULL);
1687}
1688static inline nir_ssa_def *
1689nir_sdot_4x8_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1690{
1691   return nir_build_alu(build, nir_op_sdot_4x8_iadd_sat, src0, src1, src2, NULL);
1692}
1693static inline nir_ssa_def *
1694nir_seq(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1695{
1696   return nir_build_alu(build, nir_op_seq, src0, src1, NULL, NULL);
1697}
1698static inline nir_ssa_def *
1699nir_sge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1700{
1701   return nir_build_alu(build, nir_op_sge, src0, src1, NULL, NULL);
1702}
1703static inline nir_ssa_def *
1704nir_slt(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1705{
1706   return nir_build_alu(build, nir_op_slt, src0, src1, NULL, NULL);
1707}
1708static inline nir_ssa_def *
1709nir_sne(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1710{
1711   return nir_build_alu(build, nir_op_sne, src0, src1, NULL, NULL);
1712}
1713static inline nir_ssa_def *
1714nir_sudot_4x8_iadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1715{
1716   return nir_build_alu(build, nir_op_sudot_4x8_iadd, src0, src1, src2, NULL);
1717}
1718static inline nir_ssa_def *
1719nir_sudot_4x8_iadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1720{
1721   return nir_build_alu(build, nir_op_sudot_4x8_iadd_sat, src0, src1, src2, NULL);
1722}
1723static inline nir_ssa_def *
1724nir_u2f16(nir_builder *build, nir_ssa_def *src0)
1725{
1726   return nir_build_alu(build, nir_op_u2f16, src0, NULL, NULL, NULL);
1727}
1728static inline nir_ssa_def *
1729nir_u2f32(nir_builder *build, nir_ssa_def *src0)
1730{
1731   return nir_build_alu(build, nir_op_u2f32, src0, NULL, NULL, NULL);
1732}
1733static inline nir_ssa_def *
1734nir_u2f64(nir_builder *build, nir_ssa_def *src0)
1735{
1736   return nir_build_alu(build, nir_op_u2f64, src0, NULL, NULL, NULL);
1737}
1738static inline nir_ssa_def *
1739nir_u2fmp(nir_builder *build, nir_ssa_def *src0)
1740{
1741   return nir_build_alu(build, nir_op_u2fmp, src0, NULL, NULL, NULL);
1742}
1743static inline nir_ssa_def *
1744nir_u2u1(nir_builder *build, nir_ssa_def *src0)
1745{
1746   return nir_build_alu(build, nir_op_u2u1, src0, NULL, NULL, NULL);
1747}
1748static inline nir_ssa_def *
1749nir_u2u16(nir_builder *build, nir_ssa_def *src0)
1750{
1751   return nir_build_alu(build, nir_op_u2u16, src0, NULL, NULL, NULL);
1752}
1753static inline nir_ssa_def *
1754nir_u2u32(nir_builder *build, nir_ssa_def *src0)
1755{
1756   return nir_build_alu(build, nir_op_u2u32, src0, NULL, NULL, NULL);
1757}
1758static inline nir_ssa_def *
1759nir_u2u64(nir_builder *build, nir_ssa_def *src0)
1760{
1761   return nir_build_alu(build, nir_op_u2u64, src0, NULL, NULL, NULL);
1762}
1763static inline nir_ssa_def *
1764nir_u2u8(nir_builder *build, nir_ssa_def *src0)
1765{
1766   return nir_build_alu(build, nir_op_u2u8, src0, NULL, NULL, NULL);
1767}
1768static inline nir_ssa_def *
1769nir_uabs_isub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1770{
1771   return nir_build_alu(build, nir_op_uabs_isub, src0, src1, NULL, NULL);
1772}
1773static inline nir_ssa_def *
1774nir_uabs_usub(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1775{
1776   return nir_build_alu(build, nir_op_uabs_usub, src0, src1, NULL, NULL);
1777}
1778static inline nir_ssa_def *
1779nir_uadd_carry(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1780{
1781   return nir_build_alu(build, nir_op_uadd_carry, src0, src1, NULL, NULL);
1782}
1783static inline nir_ssa_def *
1784nir_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1785{
1786   return nir_build_alu(build, nir_op_uadd_sat, src0, src1, NULL, NULL);
1787}
1788static inline nir_ssa_def *
1789nir_ubfe(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1790{
1791   return nir_build_alu(build, nir_op_ubfe, src0, src1, src2, NULL);
1792}
1793static inline nir_ssa_def *
1794nir_ubitfield_extract(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1795{
1796   return nir_build_alu(build, nir_op_ubitfield_extract, src0, src1, src2, NULL);
1797}
1798static inline nir_ssa_def *
1799nir_uclz(nir_builder *build, nir_ssa_def *src0)
1800{
1801   return nir_build_alu(build, nir_op_uclz, src0, NULL, NULL, NULL);
1802}
1803static inline nir_ssa_def *
1804nir_udiv(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1805{
1806   return nir_build_alu(build, nir_op_udiv, src0, src1, NULL, NULL);
1807}
1808static inline nir_ssa_def *
1809nir_udot_2x16_uadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1810{
1811   return nir_build_alu(build, nir_op_udot_2x16_uadd, src0, src1, src2, NULL);
1812}
1813static inline nir_ssa_def *
1814nir_udot_2x16_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1815{
1816   return nir_build_alu(build, nir_op_udot_2x16_uadd_sat, src0, src1, src2, NULL);
1817}
1818static inline nir_ssa_def *
1819nir_udot_4x8_uadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1820{
1821   return nir_build_alu(build, nir_op_udot_4x8_uadd, src0, src1, src2, NULL);
1822}
1823static inline nir_ssa_def *
1824nir_udot_4x8_uadd_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1825{
1826   return nir_build_alu(build, nir_op_udot_4x8_uadd_sat, src0, src1, src2, NULL);
1827}
1828static inline nir_ssa_def *
1829nir_ufind_msb(nir_builder *build, nir_ssa_def *src0)
1830{
1831   return nir_build_alu(build, nir_op_ufind_msb, src0, NULL, NULL, NULL);
1832}
1833static inline nir_ssa_def *
1834nir_ufind_msb_rev(nir_builder *build, nir_ssa_def *src0)
1835{
1836   return nir_build_alu(build, nir_op_ufind_msb_rev, src0, NULL, NULL, NULL);
1837}
1838static inline nir_ssa_def *
1839nir_uge(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1840{
1841   return nir_build_alu(build, nir_op_uge, src0, src1, NULL, NULL);
1842}
1843static inline nir_ssa_def *
1844nir_uge16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1845{
1846   return nir_build_alu(build, nir_op_uge16, src0, src1, NULL, NULL);
1847}
1848static inline nir_ssa_def *
1849nir_uge32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1850{
1851   return nir_build_alu(build, nir_op_uge32, src0, src1, NULL, NULL);
1852}
1853static inline nir_ssa_def *
1854nir_uge8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1855{
1856   return nir_build_alu(build, nir_op_uge8, src0, src1, NULL, NULL);
1857}
1858static inline nir_ssa_def *
1859nir_uhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1860{
1861   return nir_build_alu(build, nir_op_uhadd, src0, src1, NULL, NULL);
1862}
1863static inline nir_ssa_def *
1864nir_ult(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1865{
1866   return nir_build_alu(build, nir_op_ult, src0, src1, NULL, NULL);
1867}
1868static inline nir_ssa_def *
1869nir_ult16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1870{
1871   return nir_build_alu(build, nir_op_ult16, src0, src1, NULL, NULL);
1872}
1873static inline nir_ssa_def *
1874nir_ult32(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1875{
1876   return nir_build_alu(build, nir_op_ult32, src0, src1, NULL, NULL);
1877}
1878static inline nir_ssa_def *
1879nir_ult8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1880{
1881   return nir_build_alu(build, nir_op_ult8, src0, src1, NULL, NULL);
1882}
1883static inline nir_ssa_def *
1884nir_umad24(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1885{
1886   return nir_build_alu(build, nir_op_umad24, src0, src1, src2, NULL);
1887}
1888static inline nir_ssa_def *
1889nir_umad24_relaxed(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
1890{
1891   return nir_build_alu(build, nir_op_umad24_relaxed, src0, src1, src2, NULL);
1892}
1893static inline nir_ssa_def *
1894nir_umax(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1895{
1896   return nir_build_alu(build, nir_op_umax, src0, src1, NULL, NULL);
1897}
1898static inline nir_ssa_def *
1899nir_umax_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1900{
1901   return nir_build_alu(build, nir_op_umax_4x8_vc4, src0, src1, NULL, NULL);
1902}
1903static inline nir_ssa_def *
1904nir_umin(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1905{
1906   return nir_build_alu(build, nir_op_umin, src0, src1, NULL, NULL);
1907}
1908static inline nir_ssa_def *
1909nir_umin_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1910{
1911   return nir_build_alu(build, nir_op_umin_4x8_vc4, src0, src1, NULL, NULL);
1912}
1913static inline nir_ssa_def *
1914nir_umod(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1915{
1916   return nir_build_alu(build, nir_op_umod, src0, src1, NULL, NULL);
1917}
1918static inline nir_ssa_def *
1919nir_umul24(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1920{
1921   return nir_build_alu(build, nir_op_umul24, src0, src1, NULL, NULL);
1922}
1923static inline nir_ssa_def *
1924nir_umul24_relaxed(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1925{
1926   return nir_build_alu(build, nir_op_umul24_relaxed, src0, src1, NULL, NULL);
1927}
1928static inline nir_ssa_def *
1929nir_umul_2x32_64(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1930{
1931   return nir_build_alu(build, nir_op_umul_2x32_64, src0, src1, NULL, NULL);
1932}
1933static inline nir_ssa_def *
1934nir_umul_32x16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1935{
1936   return nir_build_alu(build, nir_op_umul_32x16, src0, src1, NULL, NULL);
1937}
1938static inline nir_ssa_def *
1939nir_umul_high(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1940{
1941   return nir_build_alu(build, nir_op_umul_high, src0, src1, NULL, NULL);
1942}
1943static inline nir_ssa_def *
1944nir_umul_low(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1945{
1946   return nir_build_alu(build, nir_op_umul_low, src0, src1, NULL, NULL);
1947}
1948static inline nir_ssa_def *
1949nir_umul_unorm_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
1950{
1951   return nir_build_alu(build, nir_op_umul_unorm_4x8_vc4, src0, src1, NULL, NULL);
1952}
1953static inline nir_ssa_def *
1954nir_unpack_32_2x16(nir_builder *build, nir_ssa_def *src0)
1955{
1956   return nir_build_alu(build, nir_op_unpack_32_2x16, src0, NULL, NULL, NULL);
1957}
1958static inline nir_ssa_def *
1959nir_unpack_32_2x16_split_x(nir_builder *build, nir_ssa_def *src0)
1960{
1961   return nir_build_alu(build, nir_op_unpack_32_2x16_split_x, src0, NULL, NULL, NULL);
1962}
1963static inline nir_ssa_def *
1964nir_unpack_32_2x16_split_y(nir_builder *build, nir_ssa_def *src0)
1965{
1966   return nir_build_alu(build, nir_op_unpack_32_2x16_split_y, src0, NULL, NULL, NULL);
1967}
1968static inline nir_ssa_def *
1969nir_unpack_32_4x8(nir_builder *build, nir_ssa_def *src0)
1970{
1971   return nir_build_alu(build, nir_op_unpack_32_4x8, src0, NULL, NULL, NULL);
1972}
1973static inline nir_ssa_def *
1974nir_unpack_64_2x32(nir_builder *build, nir_ssa_def *src0)
1975{
1976   return nir_build_alu(build, nir_op_unpack_64_2x32, src0, NULL, NULL, NULL);
1977}
1978static inline nir_ssa_def *
1979nir_unpack_64_2x32_split_x(nir_builder *build, nir_ssa_def *src0)
1980{
1981   return nir_build_alu(build, nir_op_unpack_64_2x32_split_x, src0, NULL, NULL, NULL);
1982}
1983static inline nir_ssa_def *
1984nir_unpack_64_2x32_split_y(nir_builder *build, nir_ssa_def *src0)
1985{
1986   return nir_build_alu(build, nir_op_unpack_64_2x32_split_y, src0, NULL, NULL, NULL);
1987}
1988static inline nir_ssa_def *
1989nir_unpack_64_4x16(nir_builder *build, nir_ssa_def *src0)
1990{
1991   return nir_build_alu(build, nir_op_unpack_64_4x16, src0, NULL, NULL, NULL);
1992}
1993static inline nir_ssa_def *
1994nir_unpack_double_2x32_dxil(nir_builder *build, nir_ssa_def *src0)
1995{
1996   return nir_build_alu(build, nir_op_unpack_double_2x32_dxil, src0, NULL, NULL, NULL);
1997}
1998static inline nir_ssa_def *
1999nir_unpack_half_2x16(nir_builder *build, nir_ssa_def *src0)
2000{
2001   return nir_build_alu(build, nir_op_unpack_half_2x16, src0, NULL, NULL, NULL);
2002}
2003static inline nir_ssa_def *
2004nir_unpack_half_2x16_flush_to_zero(nir_builder *build, nir_ssa_def *src0)
2005{
2006   return nir_build_alu(build, nir_op_unpack_half_2x16_flush_to_zero, src0, NULL, NULL, NULL);
2007}
2008static inline nir_ssa_def *
2009nir_unpack_half_2x16_split_x(nir_builder *build, nir_ssa_def *src0)
2010{
2011   return nir_build_alu(build, nir_op_unpack_half_2x16_split_x, src0, NULL, NULL, NULL);
2012}
2013static inline nir_ssa_def *
2014nir_unpack_half_2x16_split_x_flush_to_zero(nir_builder *build, nir_ssa_def *src0)
2015{
2016   return nir_build_alu(build, nir_op_unpack_half_2x16_split_x_flush_to_zero, src0, NULL, NULL, NULL);
2017}
2018static inline nir_ssa_def *
2019nir_unpack_half_2x16_split_y(nir_builder *build, nir_ssa_def *src0)
2020{
2021   return nir_build_alu(build, nir_op_unpack_half_2x16_split_y, src0, NULL, NULL, NULL);
2022}
2023static inline nir_ssa_def *
2024nir_unpack_half_2x16_split_y_flush_to_zero(nir_builder *build, nir_ssa_def *src0)
2025{
2026   return nir_build_alu(build, nir_op_unpack_half_2x16_split_y_flush_to_zero, src0, NULL, NULL, NULL);
2027}
2028static inline nir_ssa_def *
2029nir_unpack_snorm_2x16(nir_builder *build, nir_ssa_def *src0)
2030{
2031   return nir_build_alu(build, nir_op_unpack_snorm_2x16, src0, NULL, NULL, NULL);
2032}
2033static inline nir_ssa_def *
2034nir_unpack_snorm_4x8(nir_builder *build, nir_ssa_def *src0)
2035{
2036   return nir_build_alu(build, nir_op_unpack_snorm_4x8, src0, NULL, NULL, NULL);
2037}
2038static inline nir_ssa_def *
2039nir_unpack_unorm_2x16(nir_builder *build, nir_ssa_def *src0)
2040{
2041   return nir_build_alu(build, nir_op_unpack_unorm_2x16, src0, NULL, NULL, NULL);
2042}
2043static inline nir_ssa_def *
2044nir_unpack_unorm_4x8(nir_builder *build, nir_ssa_def *src0)
2045{
2046   return nir_build_alu(build, nir_op_unpack_unorm_4x8, src0, NULL, NULL, NULL);
2047}
2048static inline nir_ssa_def *
2049nir_urhadd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2050{
2051   return nir_build_alu(build, nir_op_urhadd, src0, src1, NULL, NULL);
2052}
2053static inline nir_ssa_def *
2054nir_urol(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2055{
2056   return nir_build_alu(build, nir_op_urol, src0, src1, NULL, NULL);
2057}
2058static inline nir_ssa_def *
2059nir_uror(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2060{
2061   return nir_build_alu(build, nir_op_uror, src0, src1, NULL, NULL);
2062}
2063static inline nir_ssa_def *
2064nir_usadd_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2065{
2066   return nir_build_alu(build, nir_op_usadd_4x8_vc4, src0, src1, NULL, NULL);
2067}
2068static inline nir_ssa_def *
2069nir_ushr(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2070{
2071   return nir_build_alu(build, nir_op_ushr, src0, src1, NULL, NULL);
2072}
2073static inline nir_ssa_def *
2074nir_ussub_4x8_vc4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2075{
2076   return nir_build_alu(build, nir_op_ussub_4x8_vc4, src0, src1, NULL, NULL);
2077}
2078static inline nir_ssa_def *
2079nir_usub_borrow(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2080{
2081   return nir_build_alu(build, nir_op_usub_borrow, src0, src1, NULL, NULL);
2082}
2083static inline nir_ssa_def *
2084nir_usub_sat(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2085{
2086   return nir_build_alu(build, nir_op_usub_sat, src0, src1, NULL, NULL);
2087}
2088static inline nir_ssa_def *
2089nir_vec16(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7, nir_ssa_def *src8, nir_ssa_def *src9, nir_ssa_def *src10, nir_ssa_def *src11, nir_ssa_def *src12, nir_ssa_def *src13, nir_ssa_def *src14, nir_ssa_def *src15)
2090{
2091   nir_ssa_def *srcs[16] = {src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15};
2092   return nir_build_alu_src_arr(build, nir_op_vec16, srcs);
2093}
2094static inline nir_ssa_def *
2095nir_vec2(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
2096{
2097   return nir_build_alu(build, nir_op_vec2, src0, src1, NULL, NULL);
2098}
2099static inline nir_ssa_def *
2100nir_vec3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
2101{
2102   return nir_build_alu(build, nir_op_vec3, src0, src1, src2, NULL);
2103}
2104static inline nir_ssa_def *
2105nir_vec4(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
2106{
2107   return nir_build_alu(build, nir_op_vec4, src0, src1, src2, src3);
2108}
2109static inline nir_ssa_def *
2110nir_vec5(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4)
2111{
2112   nir_ssa_def *srcs[5] = {src0, src1, src2, src3, src4};
2113   return nir_build_alu_src_arr(build, nir_op_vec5, srcs);
2114}
2115static inline nir_ssa_def *
2116nir_vec8(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7)
2117{
2118   nir_ssa_def *srcs[8] = {src0, src1, src2, src3, src4, src5, src6, src7};
2119   return nir_build_alu_src_arr(build, nir_op_vec8, srcs);
2120}
2121
2122struct _nir_accept_ray_intersection_indices {
2123   int _; /* exists to avoid empty initializers */
2124};
2125struct _nir_addr_mode_is_indices {
2126   int _; /* exists to avoid empty initializers */
2127   nir_variable_mode memory_modes;
2128};
2129struct _nir_alloc_vertices_and_primitives_amd_indices {
2130   int _; /* exists to avoid empty initializers */
2131};
2132struct _nir_atomic_counter_add_indices {
2133   int _; /* exists to avoid empty initializers */
2134   int base;
2135};
2136struct _nir_atomic_counter_add_deref_indices {
2137   int _; /* exists to avoid empty initializers */
2138};
2139struct _nir_atomic_counter_and_indices {
2140   int _; /* exists to avoid empty initializers */
2141   int base;
2142};
2143struct _nir_atomic_counter_and_deref_indices {
2144   int _; /* exists to avoid empty initializers */
2145};
2146struct _nir_atomic_counter_comp_swap_indices {
2147   int _; /* exists to avoid empty initializers */
2148   int base;
2149};
2150struct _nir_atomic_counter_comp_swap_deref_indices {
2151   int _; /* exists to avoid empty initializers */
2152};
2153struct _nir_atomic_counter_exchange_indices {
2154   int _; /* exists to avoid empty initializers */
2155   int base;
2156};
2157struct _nir_atomic_counter_exchange_deref_indices {
2158   int _; /* exists to avoid empty initializers */
2159};
2160struct _nir_atomic_counter_inc_indices {
2161   int _; /* exists to avoid empty initializers */
2162   int base;
2163};
2164struct _nir_atomic_counter_inc_deref_indices {
2165   int _; /* exists to avoid empty initializers */
2166};
2167struct _nir_atomic_counter_max_indices {
2168   int _; /* exists to avoid empty initializers */
2169   int base;
2170};
2171struct _nir_atomic_counter_max_deref_indices {
2172   int _; /* exists to avoid empty initializers */
2173};
2174struct _nir_atomic_counter_min_indices {
2175   int _; /* exists to avoid empty initializers */
2176   int base;
2177};
2178struct _nir_atomic_counter_min_deref_indices {
2179   int _; /* exists to avoid empty initializers */
2180};
2181struct _nir_atomic_counter_or_indices {
2182   int _; /* exists to avoid empty initializers */
2183   int base;
2184};
2185struct _nir_atomic_counter_or_deref_indices {
2186   int _; /* exists to avoid empty initializers */
2187};
2188struct _nir_atomic_counter_post_dec_indices {
2189   int _; /* exists to avoid empty initializers */
2190   int base;
2191};
2192struct _nir_atomic_counter_post_dec_deref_indices {
2193   int _; /* exists to avoid empty initializers */
2194};
2195struct _nir_atomic_counter_pre_dec_indices {
2196   int _; /* exists to avoid empty initializers */
2197   int base;
2198};
2199struct _nir_atomic_counter_pre_dec_deref_indices {
2200   int _; /* exists to avoid empty initializers */
2201};
2202struct _nir_atomic_counter_read_indices {
2203   int _; /* exists to avoid empty initializers */
2204   int base;
2205};
2206struct _nir_atomic_counter_read_deref_indices {
2207   int _; /* exists to avoid empty initializers */
2208};
2209struct _nir_atomic_counter_xor_indices {
2210   int _; /* exists to avoid empty initializers */
2211   int base;
2212};
2213struct _nir_atomic_counter_xor_deref_indices {
2214   int _; /* exists to avoid empty initializers */
2215};
2216struct _nir_ballot_indices {
2217   int _; /* exists to avoid empty initializers */
2218};
2219struct _nir_ballot_bit_count_exclusive_indices {
2220   int _; /* exists to avoid empty initializers */
2221};
2222struct _nir_ballot_bit_count_inclusive_indices {
2223   int _; /* exists to avoid empty initializers */
2224};
2225struct _nir_ballot_bit_count_reduce_indices {
2226   int _; /* exists to avoid empty initializers */
2227};
2228struct _nir_ballot_bitfield_extract_indices {
2229   int _; /* exists to avoid empty initializers */
2230};
2231struct _nir_ballot_find_lsb_indices {
2232   int _; /* exists to avoid empty initializers */
2233};
2234struct _nir_ballot_find_msb_indices {
2235   int _; /* exists to avoid empty initializers */
2236};
2237struct _nir_begin_invocation_interlock_indices {
2238   int _; /* exists to avoid empty initializers */
2239};
2240struct _nir_bindless_image_atomic_add_indices {
2241   int _; /* exists to avoid empty initializers */
2242   enum glsl_sampler_dim image_dim;
2243   bool image_array;
2244   enum pipe_format format;
2245   enum gl_access_qualifier access;
2246};
2247struct _nir_bindless_image_atomic_and_indices {
2248   int _; /* exists to avoid empty initializers */
2249   enum glsl_sampler_dim image_dim;
2250   bool image_array;
2251   enum pipe_format format;
2252   enum gl_access_qualifier access;
2253};
2254struct _nir_bindless_image_atomic_comp_swap_indices {
2255   int _; /* exists to avoid empty initializers */
2256   enum glsl_sampler_dim image_dim;
2257   bool image_array;
2258   enum pipe_format format;
2259   enum gl_access_qualifier access;
2260};
2261struct _nir_bindless_image_atomic_dec_wrap_indices {
2262   int _; /* exists to avoid empty initializers */
2263   enum glsl_sampler_dim image_dim;
2264   bool image_array;
2265   enum pipe_format format;
2266   enum gl_access_qualifier access;
2267};
2268struct _nir_bindless_image_atomic_exchange_indices {
2269   int _; /* exists to avoid empty initializers */
2270   enum glsl_sampler_dim image_dim;
2271   bool image_array;
2272   enum pipe_format format;
2273   enum gl_access_qualifier access;
2274};
2275struct _nir_bindless_image_atomic_fadd_indices {
2276   int _; /* exists to avoid empty initializers */
2277   enum glsl_sampler_dim image_dim;
2278   bool image_array;
2279   enum pipe_format format;
2280   enum gl_access_qualifier access;
2281};
2282struct _nir_bindless_image_atomic_fmax_indices {
2283   int _; /* exists to avoid empty initializers */
2284   enum glsl_sampler_dim image_dim;
2285   bool image_array;
2286   enum pipe_format format;
2287   enum gl_access_qualifier access;
2288};
2289struct _nir_bindless_image_atomic_fmin_indices {
2290   int _; /* exists to avoid empty initializers */
2291   enum glsl_sampler_dim image_dim;
2292   bool image_array;
2293   enum pipe_format format;
2294   enum gl_access_qualifier access;
2295};
2296struct _nir_bindless_image_atomic_imax_indices {
2297   int _; /* exists to avoid empty initializers */
2298   enum glsl_sampler_dim image_dim;
2299   bool image_array;
2300   enum pipe_format format;
2301   enum gl_access_qualifier access;
2302};
2303struct _nir_bindless_image_atomic_imin_indices {
2304   int _; /* exists to avoid empty initializers */
2305   enum glsl_sampler_dim image_dim;
2306   bool image_array;
2307   enum pipe_format format;
2308   enum gl_access_qualifier access;
2309};
2310struct _nir_bindless_image_atomic_inc_wrap_indices {
2311   int _; /* exists to avoid empty initializers */
2312   enum glsl_sampler_dim image_dim;
2313   bool image_array;
2314   enum pipe_format format;
2315   enum gl_access_qualifier access;
2316};
2317struct _nir_bindless_image_atomic_or_indices {
2318   int _; /* exists to avoid empty initializers */
2319   enum glsl_sampler_dim image_dim;
2320   bool image_array;
2321   enum pipe_format format;
2322   enum gl_access_qualifier access;
2323};
2324struct _nir_bindless_image_atomic_umax_indices {
2325   int _; /* exists to avoid empty initializers */
2326   enum glsl_sampler_dim image_dim;
2327   bool image_array;
2328   enum pipe_format format;
2329   enum gl_access_qualifier access;
2330};
2331struct _nir_bindless_image_atomic_umin_indices {
2332   int _; /* exists to avoid empty initializers */
2333   enum glsl_sampler_dim image_dim;
2334   bool image_array;
2335   enum pipe_format format;
2336   enum gl_access_qualifier access;
2337};
2338struct _nir_bindless_image_atomic_xor_indices {
2339   int _; /* exists to avoid empty initializers */
2340   enum glsl_sampler_dim image_dim;
2341   bool image_array;
2342   enum pipe_format format;
2343   enum gl_access_qualifier access;
2344};
2345struct _nir_bindless_image_format_indices {
2346   int _; /* exists to avoid empty initializers */
2347   enum glsl_sampler_dim image_dim;
2348   bool image_array;
2349   enum pipe_format format;
2350   enum gl_access_qualifier access;
2351};
2352struct _nir_bindless_image_load_indices {
2353   int _; /* exists to avoid empty initializers */
2354   enum glsl_sampler_dim image_dim;
2355   bool image_array;
2356   enum pipe_format format;
2357   enum gl_access_qualifier access;
2358   nir_alu_type dest_type;
2359};
2360struct _nir_bindless_image_load_raw_intel_indices {
2361   int _; /* exists to avoid empty initializers */
2362   enum glsl_sampler_dim image_dim;
2363   bool image_array;
2364   enum pipe_format format;
2365   enum gl_access_qualifier access;
2366};
2367struct _nir_bindless_image_order_indices {
2368   int _; /* exists to avoid empty initializers */
2369   enum glsl_sampler_dim image_dim;
2370   bool image_array;
2371   enum pipe_format format;
2372   enum gl_access_qualifier access;
2373};
2374struct _nir_bindless_image_samples_indices {
2375   int _; /* exists to avoid empty initializers */
2376   enum glsl_sampler_dim image_dim;
2377   bool image_array;
2378   enum pipe_format format;
2379   enum gl_access_qualifier access;
2380};
2381struct _nir_bindless_image_size_indices {
2382   int _; /* exists to avoid empty initializers */
2383   enum glsl_sampler_dim image_dim;
2384   bool image_array;
2385   enum pipe_format format;
2386   enum gl_access_qualifier access;
2387};
2388struct _nir_bindless_image_sparse_load_indices {
2389   int _; /* exists to avoid empty initializers */
2390   enum glsl_sampler_dim image_dim;
2391   bool image_array;
2392   enum pipe_format format;
2393   enum gl_access_qualifier access;
2394   nir_alu_type dest_type;
2395};
2396struct _nir_bindless_image_store_indices {
2397   int _; /* exists to avoid empty initializers */
2398   enum glsl_sampler_dim image_dim;
2399   bool image_array;
2400   enum pipe_format format;
2401   enum gl_access_qualifier access;
2402   nir_alu_type src_type;
2403};
2404struct _nir_bindless_image_store_raw_intel_indices {
2405   int _; /* exists to avoid empty initializers */
2406   enum glsl_sampler_dim image_dim;
2407   bool image_array;
2408   enum pipe_format format;
2409   enum gl_access_qualifier access;
2410};
2411struct _nir_bindless_resource_ir3_indices {
2412   int _; /* exists to avoid empty initializers */
2413   unsigned desc_set;
2414};
2415struct _nir_btd_retire_intel_indices {
2416   int _; /* exists to avoid empty initializers */
2417};
2418struct _nir_btd_spawn_intel_indices {
2419   int _; /* exists to avoid empty initializers */
2420};
2421struct _nir_btd_stack_push_intel_indices {
2422   int _; /* exists to avoid empty initializers */
2423   unsigned stack_size;
2424};
2425struct _nir_bvh64_intersect_ray_amd_indices {
2426   int _; /* exists to avoid empty initializers */
2427};
2428struct _nir_byte_permute_amd_indices {
2429   int _; /* exists to avoid empty initializers */
2430};
2431struct _nir_cond_end_ir3_indices {
2432   int _; /* exists to avoid empty initializers */
2433};
2434struct _nir_control_barrier_indices {
2435   int _; /* exists to avoid empty initializers */
2436};
2437struct _nir_convert_alu_types_indices {
2438   int _; /* exists to avoid empty initializers */
2439   nir_alu_type src_type;
2440   nir_alu_type dest_type;
2441   nir_rounding_mode rounding_mode;
2442   unsigned saturate;
2443};
2444struct _nir_copy_deref_indices {
2445   int _; /* exists to avoid empty initializers */
2446   enum gl_access_qualifier dst_access;
2447   enum gl_access_qualifier src_access;
2448};
2449struct _nir_demote_indices {
2450   int _; /* exists to avoid empty initializers */
2451};
2452struct _nir_demote_if_indices {
2453   int _; /* exists to avoid empty initializers */
2454};
2455struct _nir_deref_atomic_add_indices {
2456   int _; /* exists to avoid empty initializers */
2457   enum gl_access_qualifier access;
2458};
2459struct _nir_deref_atomic_and_indices {
2460   int _; /* exists to avoid empty initializers */
2461   enum gl_access_qualifier access;
2462};
2463struct _nir_deref_atomic_comp_swap_indices {
2464   int _; /* exists to avoid empty initializers */
2465   enum gl_access_qualifier access;
2466};
2467struct _nir_deref_atomic_exchange_indices {
2468   int _; /* exists to avoid empty initializers */
2469   enum gl_access_qualifier access;
2470};
2471struct _nir_deref_atomic_fadd_indices {
2472   int _; /* exists to avoid empty initializers */
2473   enum gl_access_qualifier access;
2474};
2475struct _nir_deref_atomic_fcomp_swap_indices {
2476   int _; /* exists to avoid empty initializers */
2477   enum gl_access_qualifier access;
2478};
2479struct _nir_deref_atomic_fmax_indices {
2480   int _; /* exists to avoid empty initializers */
2481   enum gl_access_qualifier access;
2482};
2483struct _nir_deref_atomic_fmin_indices {
2484   int _; /* exists to avoid empty initializers */
2485   enum gl_access_qualifier access;
2486};
2487struct _nir_deref_atomic_imax_indices {
2488   int _; /* exists to avoid empty initializers */
2489   enum gl_access_qualifier access;
2490};
2491struct _nir_deref_atomic_imin_indices {
2492   int _; /* exists to avoid empty initializers */
2493   enum gl_access_qualifier access;
2494};
2495struct _nir_deref_atomic_or_indices {
2496   int _; /* exists to avoid empty initializers */
2497   enum gl_access_qualifier access;
2498};
2499struct _nir_deref_atomic_umax_indices {
2500   int _; /* exists to avoid empty initializers */
2501   enum gl_access_qualifier access;
2502};
2503struct _nir_deref_atomic_umin_indices {
2504   int _; /* exists to avoid empty initializers */
2505   enum gl_access_qualifier access;
2506};
2507struct _nir_deref_atomic_xor_indices {
2508   int _; /* exists to avoid empty initializers */
2509   enum gl_access_qualifier access;
2510};
2511struct _nir_deref_buffer_array_length_indices {
2512   int _; /* exists to avoid empty initializers */
2513   enum gl_access_qualifier access;
2514};
2515struct _nir_deref_mode_is_indices {
2516   int _; /* exists to avoid empty initializers */
2517   nir_variable_mode memory_modes;
2518};
2519struct _nir_discard_indices {
2520   int _; /* exists to avoid empty initializers */
2521};
2522struct _nir_discard_if_indices {
2523   int _; /* exists to avoid empty initializers */
2524};
2525struct _nir_elect_indices {
2526   int _; /* exists to avoid empty initializers */
2527};
2528struct _nir_emit_vertex_indices {
2529   int _; /* exists to avoid empty initializers */
2530   unsigned stream_id;
2531};
2532struct _nir_emit_vertex_with_counter_indices {
2533   int _; /* exists to avoid empty initializers */
2534   unsigned stream_id;
2535};
2536struct _nir_end_invocation_interlock_indices {
2537   int _; /* exists to avoid empty initializers */
2538};
2539struct _nir_end_patch_ir3_indices {
2540   int _; /* exists to avoid empty initializers */
2541};
2542struct _nir_end_primitive_indices {
2543   int _; /* exists to avoid empty initializers */
2544   unsigned stream_id;
2545};
2546struct _nir_end_primitive_with_counter_indices {
2547   int _; /* exists to avoid empty initializers */
2548   unsigned stream_id;
2549};
2550struct _nir_exclusive_scan_indices {
2551   int _; /* exists to avoid empty initializers */
2552   unsigned reduction_op;
2553};
2554struct _nir_execute_callable_indices {
2555   int _; /* exists to avoid empty initializers */
2556};
2557struct _nir_export_primitive_amd_indices {
2558   int _; /* exists to avoid empty initializers */
2559};
2560struct _nir_export_vertex_amd_indices {
2561   int _; /* exists to avoid empty initializers */
2562};
2563struct _nir_first_invocation_indices {
2564   int _; /* exists to avoid empty initializers */
2565};
2566struct _nir_gds_atomic_add_amd_indices {
2567   int _; /* exists to avoid empty initializers */
2568   int base;
2569};
2570struct _nir_get_ssbo_size_indices {
2571   int _; /* exists to avoid empty initializers */
2572   enum gl_access_qualifier access;
2573};
2574struct _nir_get_ubo_size_indices {
2575   int _; /* exists to avoid empty initializers */
2576};
2577struct _nir_global_atomic_add_indices {
2578   int _; /* exists to avoid empty initializers */
2579   int base;
2580};
2581struct _nir_global_atomic_and_indices {
2582   int _; /* exists to avoid empty initializers */
2583   int base;
2584};
2585struct _nir_global_atomic_comp_swap_indices {
2586   int _; /* exists to avoid empty initializers */
2587   int base;
2588};
2589struct _nir_global_atomic_exchange_indices {
2590   int _; /* exists to avoid empty initializers */
2591   int base;
2592};
2593struct _nir_global_atomic_fadd_indices {
2594   int _; /* exists to avoid empty initializers */
2595   int base;
2596};
2597struct _nir_global_atomic_fcomp_swap_indices {
2598   int _; /* exists to avoid empty initializers */
2599   int base;
2600};
2601struct _nir_global_atomic_fmax_indices {
2602   int _; /* exists to avoid empty initializers */
2603   int base;
2604};
2605struct _nir_global_atomic_fmin_indices {
2606   int _; /* exists to avoid empty initializers */
2607   int base;
2608};
2609struct _nir_global_atomic_imax_indices {
2610   int _; /* exists to avoid empty initializers */
2611   int base;
2612};
2613struct _nir_global_atomic_imin_indices {
2614   int _; /* exists to avoid empty initializers */
2615   int base;
2616};
2617struct _nir_global_atomic_or_indices {
2618   int _; /* exists to avoid empty initializers */
2619   int base;
2620};
2621struct _nir_global_atomic_umax_indices {
2622   int _; /* exists to avoid empty initializers */
2623   int base;
2624};
2625struct _nir_global_atomic_umin_indices {
2626   int _; /* exists to avoid empty initializers */
2627   int base;
2628};
2629struct _nir_global_atomic_xor_indices {
2630   int _; /* exists to avoid empty initializers */
2631   int base;
2632};
2633struct _nir_group_memory_barrier_indices {
2634   int _; /* exists to avoid empty initializers */
2635};
2636struct _nir_has_input_primitive_amd_indices {
2637   int _; /* exists to avoid empty initializers */
2638};
2639struct _nir_has_input_vertex_amd_indices {
2640   int _; /* exists to avoid empty initializers */
2641};
2642struct _nir_ignore_ray_intersection_indices {
2643   int _; /* exists to avoid empty initializers */
2644};
2645struct _nir_image_atomic_add_indices {
2646   int _; /* exists to avoid empty initializers */
2647   enum glsl_sampler_dim image_dim;
2648   bool image_array;
2649   enum pipe_format format;
2650   enum gl_access_qualifier access;
2651};
2652struct _nir_image_atomic_and_indices {
2653   int _; /* exists to avoid empty initializers */
2654   enum glsl_sampler_dim image_dim;
2655   bool image_array;
2656   enum pipe_format format;
2657   enum gl_access_qualifier access;
2658};
2659struct _nir_image_atomic_comp_swap_indices {
2660   int _; /* exists to avoid empty initializers */
2661   enum glsl_sampler_dim image_dim;
2662   bool image_array;
2663   enum pipe_format format;
2664   enum gl_access_qualifier access;
2665};
2666struct _nir_image_atomic_dec_wrap_indices {
2667   int _; /* exists to avoid empty initializers */
2668   enum glsl_sampler_dim image_dim;
2669   bool image_array;
2670   enum pipe_format format;
2671   enum gl_access_qualifier access;
2672};
2673struct _nir_image_atomic_exchange_indices {
2674   int _; /* exists to avoid empty initializers */
2675   enum glsl_sampler_dim image_dim;
2676   bool image_array;
2677   enum pipe_format format;
2678   enum gl_access_qualifier access;
2679};
2680struct _nir_image_atomic_fadd_indices {
2681   int _; /* exists to avoid empty initializers */
2682   enum glsl_sampler_dim image_dim;
2683   bool image_array;
2684   enum pipe_format format;
2685   enum gl_access_qualifier access;
2686};
2687struct _nir_image_atomic_fmax_indices {
2688   int _; /* exists to avoid empty initializers */
2689   enum glsl_sampler_dim image_dim;
2690   bool image_array;
2691   enum pipe_format format;
2692   enum gl_access_qualifier access;
2693};
2694struct _nir_image_atomic_fmin_indices {
2695   int _; /* exists to avoid empty initializers */
2696   enum glsl_sampler_dim image_dim;
2697   bool image_array;
2698   enum pipe_format format;
2699   enum gl_access_qualifier access;
2700};
2701struct _nir_image_atomic_imax_indices {
2702   int _; /* exists to avoid empty initializers */
2703   enum glsl_sampler_dim image_dim;
2704   bool image_array;
2705   enum pipe_format format;
2706   enum gl_access_qualifier access;
2707};
2708struct _nir_image_atomic_imin_indices {
2709   int _; /* exists to avoid empty initializers */
2710   enum glsl_sampler_dim image_dim;
2711   bool image_array;
2712   enum pipe_format format;
2713   enum gl_access_qualifier access;
2714};
2715struct _nir_image_atomic_inc_wrap_indices {
2716   int _; /* exists to avoid empty initializers */
2717   enum glsl_sampler_dim image_dim;
2718   bool image_array;
2719   enum pipe_format format;
2720   enum gl_access_qualifier access;
2721};
2722struct _nir_image_atomic_or_indices {
2723   int _; /* exists to avoid empty initializers */
2724   enum glsl_sampler_dim image_dim;
2725   bool image_array;
2726   enum pipe_format format;
2727   enum gl_access_qualifier access;
2728};
2729struct _nir_image_atomic_umax_indices {
2730   int _; /* exists to avoid empty initializers */
2731   enum glsl_sampler_dim image_dim;
2732   bool image_array;
2733   enum pipe_format format;
2734   enum gl_access_qualifier access;
2735};
2736struct _nir_image_atomic_umin_indices {
2737   int _; /* exists to avoid empty initializers */
2738   enum glsl_sampler_dim image_dim;
2739   bool image_array;
2740   enum pipe_format format;
2741   enum gl_access_qualifier access;
2742};
2743struct _nir_image_atomic_xor_indices {
2744   int _; /* exists to avoid empty initializers */
2745   enum glsl_sampler_dim image_dim;
2746   bool image_array;
2747   enum pipe_format format;
2748   enum gl_access_qualifier access;
2749};
2750struct _nir_image_deref_atomic_add_indices {
2751   int _; /* exists to avoid empty initializers */
2752   enum glsl_sampler_dim image_dim;
2753   bool image_array;
2754   enum pipe_format format;
2755   enum gl_access_qualifier access;
2756};
2757struct _nir_image_deref_atomic_and_indices {
2758   int _; /* exists to avoid empty initializers */
2759   enum glsl_sampler_dim image_dim;
2760   bool image_array;
2761   enum pipe_format format;
2762   enum gl_access_qualifier access;
2763};
2764struct _nir_image_deref_atomic_comp_swap_indices {
2765   int _; /* exists to avoid empty initializers */
2766   enum glsl_sampler_dim image_dim;
2767   bool image_array;
2768   enum pipe_format format;
2769   enum gl_access_qualifier access;
2770};
2771struct _nir_image_deref_atomic_dec_wrap_indices {
2772   int _; /* exists to avoid empty initializers */
2773   enum glsl_sampler_dim image_dim;
2774   bool image_array;
2775   enum pipe_format format;
2776   enum gl_access_qualifier access;
2777};
2778struct _nir_image_deref_atomic_exchange_indices {
2779   int _; /* exists to avoid empty initializers */
2780   enum glsl_sampler_dim image_dim;
2781   bool image_array;
2782   enum pipe_format format;
2783   enum gl_access_qualifier access;
2784};
2785struct _nir_image_deref_atomic_fadd_indices {
2786   int _; /* exists to avoid empty initializers */
2787   enum glsl_sampler_dim image_dim;
2788   bool image_array;
2789   enum pipe_format format;
2790   enum gl_access_qualifier access;
2791};
2792struct _nir_image_deref_atomic_fmax_indices {
2793   int _; /* exists to avoid empty initializers */
2794   enum glsl_sampler_dim image_dim;
2795   bool image_array;
2796   enum pipe_format format;
2797   enum gl_access_qualifier access;
2798};
2799struct _nir_image_deref_atomic_fmin_indices {
2800   int _; /* exists to avoid empty initializers */
2801   enum glsl_sampler_dim image_dim;
2802   bool image_array;
2803   enum pipe_format format;
2804   enum gl_access_qualifier access;
2805};
2806struct _nir_image_deref_atomic_imax_indices {
2807   int _; /* exists to avoid empty initializers */
2808   enum glsl_sampler_dim image_dim;
2809   bool image_array;
2810   enum pipe_format format;
2811   enum gl_access_qualifier access;
2812};
2813struct _nir_image_deref_atomic_imin_indices {
2814   int _; /* exists to avoid empty initializers */
2815   enum glsl_sampler_dim image_dim;
2816   bool image_array;
2817   enum pipe_format format;
2818   enum gl_access_qualifier access;
2819};
2820struct _nir_image_deref_atomic_inc_wrap_indices {
2821   int _; /* exists to avoid empty initializers */
2822   enum glsl_sampler_dim image_dim;
2823   bool image_array;
2824   enum pipe_format format;
2825   enum gl_access_qualifier access;
2826};
2827struct _nir_image_deref_atomic_or_indices {
2828   int _; /* exists to avoid empty initializers */
2829   enum glsl_sampler_dim image_dim;
2830   bool image_array;
2831   enum pipe_format format;
2832   enum gl_access_qualifier access;
2833};
2834struct _nir_image_deref_atomic_umax_indices {
2835   int _; /* exists to avoid empty initializers */
2836   enum glsl_sampler_dim image_dim;
2837   bool image_array;
2838   enum pipe_format format;
2839   enum gl_access_qualifier access;
2840};
2841struct _nir_image_deref_atomic_umin_indices {
2842   int _; /* exists to avoid empty initializers */
2843   enum glsl_sampler_dim image_dim;
2844   bool image_array;
2845   enum pipe_format format;
2846   enum gl_access_qualifier access;
2847};
2848struct _nir_image_deref_atomic_xor_indices {
2849   int _; /* exists to avoid empty initializers */
2850   enum glsl_sampler_dim image_dim;
2851   bool image_array;
2852   enum pipe_format format;
2853   enum gl_access_qualifier access;
2854};
2855struct _nir_image_deref_format_indices {
2856   int _; /* exists to avoid empty initializers */
2857   enum glsl_sampler_dim image_dim;
2858   bool image_array;
2859   enum pipe_format format;
2860   enum gl_access_qualifier access;
2861};
2862struct _nir_image_deref_load_indices {
2863   int _; /* exists to avoid empty initializers */
2864   enum glsl_sampler_dim image_dim;
2865   bool image_array;
2866   enum pipe_format format;
2867   enum gl_access_qualifier access;
2868   nir_alu_type dest_type;
2869};
2870struct _nir_image_deref_load_param_intel_indices {
2871   int _; /* exists to avoid empty initializers */
2872   int base;
2873};
2874struct _nir_image_deref_load_raw_intel_indices {
2875   int _; /* exists to avoid empty initializers */
2876   enum glsl_sampler_dim image_dim;
2877   bool image_array;
2878   enum pipe_format format;
2879   enum gl_access_qualifier access;
2880};
2881struct _nir_image_deref_order_indices {
2882   int _; /* exists to avoid empty initializers */
2883   enum glsl_sampler_dim image_dim;
2884   bool image_array;
2885   enum pipe_format format;
2886   enum gl_access_qualifier access;
2887};
2888struct _nir_image_deref_samples_indices {
2889   int _; /* exists to avoid empty initializers */
2890   enum glsl_sampler_dim image_dim;
2891   bool image_array;
2892   enum pipe_format format;
2893   enum gl_access_qualifier access;
2894};
2895struct _nir_image_deref_size_indices {
2896   int _; /* exists to avoid empty initializers */
2897   enum glsl_sampler_dim image_dim;
2898   bool image_array;
2899   enum pipe_format format;
2900   enum gl_access_qualifier access;
2901};
2902struct _nir_image_deref_sparse_load_indices {
2903   int _; /* exists to avoid empty initializers */
2904   enum glsl_sampler_dim image_dim;
2905   bool image_array;
2906   enum pipe_format format;
2907   enum gl_access_qualifier access;
2908   nir_alu_type dest_type;
2909};
2910struct _nir_image_deref_store_indices {
2911   int _; /* exists to avoid empty initializers */
2912   enum glsl_sampler_dim image_dim;
2913   bool image_array;
2914   enum pipe_format format;
2915   enum gl_access_qualifier access;
2916   nir_alu_type src_type;
2917};
2918struct _nir_image_deref_store_raw_intel_indices {
2919   int _; /* exists to avoid empty initializers */
2920   enum glsl_sampler_dim image_dim;
2921   bool image_array;
2922   enum pipe_format format;
2923   enum gl_access_qualifier access;
2924};
2925struct _nir_image_format_indices {
2926   int _; /* exists to avoid empty initializers */
2927   enum glsl_sampler_dim image_dim;
2928   bool image_array;
2929   enum pipe_format format;
2930   enum gl_access_qualifier access;
2931};
2932struct _nir_image_load_indices {
2933   int _; /* exists to avoid empty initializers */
2934   enum glsl_sampler_dim image_dim;
2935   bool image_array;
2936   enum pipe_format format;
2937   enum gl_access_qualifier access;
2938   nir_alu_type dest_type;
2939};
2940struct _nir_image_load_raw_intel_indices {
2941   int _; /* exists to avoid empty initializers */
2942   enum glsl_sampler_dim image_dim;
2943   bool image_array;
2944   enum pipe_format format;
2945   enum gl_access_qualifier access;
2946};
2947struct _nir_image_order_indices {
2948   int _; /* exists to avoid empty initializers */
2949   enum glsl_sampler_dim image_dim;
2950   bool image_array;
2951   enum pipe_format format;
2952   enum gl_access_qualifier access;
2953};
2954struct _nir_image_samples_indices {
2955   int _; /* exists to avoid empty initializers */
2956   enum glsl_sampler_dim image_dim;
2957   bool image_array;
2958   enum pipe_format format;
2959   enum gl_access_qualifier access;
2960};
2961struct _nir_image_size_indices {
2962   int _; /* exists to avoid empty initializers */
2963   enum glsl_sampler_dim image_dim;
2964   bool image_array;
2965   enum pipe_format format;
2966   enum gl_access_qualifier access;
2967};
2968struct _nir_image_sparse_load_indices {
2969   int _; /* exists to avoid empty initializers */
2970   enum glsl_sampler_dim image_dim;
2971   bool image_array;
2972   enum pipe_format format;
2973   enum gl_access_qualifier access;
2974   nir_alu_type dest_type;
2975};
2976struct _nir_image_store_indices {
2977   int _; /* exists to avoid empty initializers */
2978   enum glsl_sampler_dim image_dim;
2979   bool image_array;
2980   enum pipe_format format;
2981   enum gl_access_qualifier access;
2982   nir_alu_type src_type;
2983};
2984struct _nir_image_store_raw_intel_indices {
2985   int _; /* exists to avoid empty initializers */
2986   enum glsl_sampler_dim image_dim;
2987   bool image_array;
2988   enum pipe_format format;
2989   enum gl_access_qualifier access;
2990};
2991struct _nir_inclusive_scan_indices {
2992   int _; /* exists to avoid empty initializers */
2993   unsigned reduction_op;
2994};
2995struct _nir_interp_deref_at_centroid_indices {
2996   int _; /* exists to avoid empty initializers */
2997};
2998struct _nir_interp_deref_at_offset_indices {
2999   int _; /* exists to avoid empty initializers */
3000};
3001struct _nir_interp_deref_at_sample_indices {
3002   int _; /* exists to avoid empty initializers */
3003};
3004struct _nir_interp_deref_at_vertex_indices {
3005   int _; /* exists to avoid empty initializers */
3006};
3007struct _nir_is_helper_invocation_indices {
3008   int _; /* exists to avoid empty initializers */
3009};
3010struct _nir_is_sparse_texels_resident_indices {
3011   int _; /* exists to avoid empty initializers */
3012};
3013struct _nir_lane_permute_16_amd_indices {
3014   int _; /* exists to avoid empty initializers */
3015};
3016struct _nir_last_invocation_indices {
3017   int _; /* exists to avoid empty initializers */
3018};
3019struct _nir_load_aa_line_width_indices {
3020   int _; /* exists to avoid empty initializers */
3021};
3022struct _nir_load_back_face_agx_indices {
3023   int _; /* exists to avoid empty initializers */
3024};
3025struct _nir_load_barycentric_at_offset_indices {
3026   int _; /* exists to avoid empty initializers */
3027   unsigned interp_mode;
3028};
3029struct _nir_load_barycentric_at_sample_indices {
3030   int _; /* exists to avoid empty initializers */
3031   unsigned interp_mode;
3032};
3033struct _nir_load_barycentric_centroid_indices {
3034   int _; /* exists to avoid empty initializers */
3035   unsigned interp_mode;
3036};
3037struct _nir_load_barycentric_model_indices {
3038   int _; /* exists to avoid empty initializers */
3039   unsigned interp_mode;
3040};
3041struct _nir_load_barycentric_pixel_indices {
3042   int _; /* exists to avoid empty initializers */
3043   unsigned interp_mode;
3044};
3045struct _nir_load_barycentric_sample_indices {
3046   int _; /* exists to avoid empty initializers */
3047   unsigned interp_mode;
3048};
3049struct _nir_load_base_global_invocation_id_indices {
3050   int _; /* exists to avoid empty initializers */
3051};
3052struct _nir_load_base_instance_indices {
3053   int _; /* exists to avoid empty initializers */
3054};
3055struct _nir_load_base_vertex_indices {
3056   int _; /* exists to avoid empty initializers */
3057};
3058struct _nir_load_base_workgroup_id_indices {
3059   int _; /* exists to avoid empty initializers */
3060};
3061struct _nir_load_blend_const_color_a_float_indices {
3062   int _; /* exists to avoid empty initializers */
3063};
3064struct _nir_load_blend_const_color_aaaa8888_unorm_indices {
3065   int _; /* exists to avoid empty initializers */
3066};
3067struct _nir_load_blend_const_color_b_float_indices {
3068   int _; /* exists to avoid empty initializers */
3069};
3070struct _nir_load_blend_const_color_g_float_indices {
3071   int _; /* exists to avoid empty initializers */
3072};
3073struct _nir_load_blend_const_color_r_float_indices {
3074   int _; /* exists to avoid empty initializers */
3075};
3076struct _nir_load_blend_const_color_rgba_indices {
3077   int _; /* exists to avoid empty initializers */
3078};
3079struct _nir_load_blend_const_color_rgba8888_unorm_indices {
3080   int _; /* exists to avoid empty initializers */
3081};
3082struct _nir_load_btd_dss_id_intel_indices {
3083   int _; /* exists to avoid empty initializers */
3084};
3085struct _nir_load_btd_global_arg_addr_intel_indices {
3086   int _; /* exists to avoid empty initializers */
3087};
3088struct _nir_load_btd_local_arg_addr_intel_indices {
3089   int _; /* exists to avoid empty initializers */
3090};
3091struct _nir_load_btd_resume_sbt_addr_intel_indices {
3092   int _; /* exists to avoid empty initializers */
3093};
3094struct _nir_load_btd_stack_id_intel_indices {
3095   int _; /* exists to avoid empty initializers */
3096};
3097struct _nir_load_buffer_amd_indices {
3098   int _; /* exists to avoid empty initializers */
3099   int base;
3100   bool is_swizzled;
3101   bool slc_amd;
3102   nir_variable_mode memory_modes;
3103};
3104struct _nir_load_callable_sbt_addr_intel_indices {
3105   int _; /* exists to avoid empty initializers */
3106};
3107struct _nir_load_callable_sbt_stride_intel_indices {
3108   int _; /* exists to avoid empty initializers */
3109};
3110struct _nir_load_color0_indices {
3111   int _; /* exists to avoid empty initializers */
3112};
3113struct _nir_load_color1_indices {
3114   int _; /* exists to avoid empty initializers */
3115};
3116struct _nir_load_constant_indices {
3117   int _; /* exists to avoid empty initializers */
3118   int base;
3119   unsigned range;
3120   unsigned align_mul;
3121   unsigned align_offset;
3122};
3123struct _nir_load_constant_base_ptr_indices {
3124   int _; /* exists to avoid empty initializers */
3125};
3126struct _nir_load_cull_any_enabled_amd_indices {
3127   int _; /* exists to avoid empty initializers */
3128};
3129struct _nir_load_cull_back_face_enabled_amd_indices {
3130   int _; /* exists to avoid empty initializers */
3131};
3132struct _nir_load_cull_ccw_amd_indices {
3133   int _; /* exists to avoid empty initializers */
3134};
3135struct _nir_load_cull_front_face_enabled_amd_indices {
3136   int _; /* exists to avoid empty initializers */
3137};
3138struct _nir_load_cull_small_prim_precision_amd_indices {
3139   int _; /* exists to avoid empty initializers */
3140};
3141struct _nir_load_cull_small_primitives_enabled_amd_indices {
3142   int _; /* exists to avoid empty initializers */
3143};
3144struct _nir_load_deref_indices {
3145   int _; /* exists to avoid empty initializers */
3146   enum gl_access_qualifier access;
3147};
3148struct _nir_load_deref_block_intel_indices {
3149   int _; /* exists to avoid empty initializers */
3150   enum gl_access_qualifier access;
3151};
3152struct _nir_load_desc_set_address_intel_indices {
3153   int _; /* exists to avoid empty initializers */
3154};
3155struct _nir_load_draw_id_indices {
3156   int _; /* exists to avoid empty initializers */
3157};
3158struct _nir_load_fb_layers_v3d_indices {
3159   int _; /* exists to avoid empty initializers */
3160};
3161struct _nir_load_first_vertex_indices {
3162   int _; /* exists to avoid empty initializers */
3163};
3164struct _nir_load_frag_coord_indices {
3165   int _; /* exists to avoid empty initializers */
3166};
3167struct _nir_load_frag_shading_rate_indices {
3168   int _; /* exists to avoid empty initializers */
3169};
3170struct _nir_load_front_face_indices {
3171   int _; /* exists to avoid empty initializers */
3172};
3173struct _nir_load_fs_input_interp_deltas_indices {
3174   int _; /* exists to avoid empty initializers */
3175   int base;
3176   unsigned component;
3177   struct nir_io_semantics io_semantics;
3178};
3179struct _nir_load_global_indices {
3180   int _; /* exists to avoid empty initializers */
3181   enum gl_access_qualifier access;
3182   unsigned align_mul;
3183   unsigned align_offset;
3184};
3185struct _nir_load_global_block_intel_indices {
3186   int _; /* exists to avoid empty initializers */
3187   enum gl_access_qualifier access;
3188   unsigned align_mul;
3189   unsigned align_offset;
3190};
3191struct _nir_load_global_const_block_intel_indices {
3192   int _; /* exists to avoid empty initializers */
3193   int base;
3194};
3195struct _nir_load_global_constant_indices {
3196   int _; /* exists to avoid empty initializers */
3197   enum gl_access_qualifier access;
3198   unsigned align_mul;
3199   unsigned align_offset;
3200};
3201struct _nir_load_global_constant_bounded_indices {
3202   int _; /* exists to avoid empty initializers */
3203   enum gl_access_qualifier access;
3204   unsigned align_mul;
3205   unsigned align_offset;
3206};
3207struct _nir_load_global_constant_offset_indices {
3208   int _; /* exists to avoid empty initializers */
3209   enum gl_access_qualifier access;
3210   unsigned align_mul;
3211   unsigned align_offset;
3212};
3213struct _nir_load_global_invocation_id_indices {
3214   int _; /* exists to avoid empty initializers */
3215};
3216struct _nir_load_global_invocation_id_zero_base_indices {
3217   int _; /* exists to avoid empty initializers */
3218};
3219struct _nir_load_global_invocation_index_indices {
3220   int _; /* exists to avoid empty initializers */
3221};
3222struct _nir_load_global_ir3_indices {
3223   int _; /* exists to avoid empty initializers */
3224   enum gl_access_qualifier access;
3225   unsigned align_mul;
3226   unsigned align_offset;
3227};
3228struct _nir_load_gs_header_ir3_indices {
3229   int _; /* exists to avoid empty initializers */
3230};
3231struct _nir_load_gs_vertex_offset_amd_indices {
3232   int _; /* exists to avoid empty initializers */
3233   int base;
3234};
3235struct _nir_load_helper_invocation_indices {
3236   int _; /* exists to avoid empty initializers */
3237};
3238struct _nir_load_hs_patch_stride_ir3_indices {
3239   int _; /* exists to avoid empty initializers */
3240};
3241struct _nir_load_initial_edgeflags_amd_indices {
3242   int _; /* exists to avoid empty initializers */
3243};
3244struct _nir_load_input_indices {
3245   int _; /* exists to avoid empty initializers */
3246   int base;
3247   unsigned component;
3248   nir_alu_type dest_type;
3249   struct nir_io_semantics io_semantics;
3250};
3251struct _nir_load_input_vertex_indices {
3252   int _; /* exists to avoid empty initializers */
3253   int base;
3254   unsigned component;
3255   nir_alu_type dest_type;
3256   struct nir_io_semantics io_semantics;
3257};
3258struct _nir_load_instance_id_indices {
3259   int _; /* exists to avoid empty initializers */
3260};
3261struct _nir_load_interpolated_input_indices {
3262   int _; /* exists to avoid empty initializers */
3263   int base;
3264   unsigned component;
3265   nir_alu_type dest_type;
3266   struct nir_io_semantics io_semantics;
3267};
3268struct _nir_load_intersection_opaque_amd_indices {
3269   int _; /* exists to avoid empty initializers */
3270};
3271struct _nir_load_invocation_id_indices {
3272   int _; /* exists to avoid empty initializers */
3273};
3274struct _nir_load_is_indexed_draw_indices {
3275   int _; /* exists to avoid empty initializers */
3276};
3277struct _nir_load_kernel_input_indices {
3278   int _; /* exists to avoid empty initializers */
3279   int base;
3280   unsigned range;
3281   unsigned align_mul;
3282   unsigned align_offset;
3283};
3284struct _nir_load_layer_id_indices {
3285   int _; /* exists to avoid empty initializers */
3286};
3287struct _nir_load_leaf_opaque_intel_indices {
3288   int _; /* exists to avoid empty initializers */
3289};
3290struct _nir_load_leaf_procedural_intel_indices {
3291   int _; /* exists to avoid empty initializers */
3292};
3293struct _nir_load_line_coord_indices {
3294   int _; /* exists to avoid empty initializers */
3295};
3296struct _nir_load_line_width_indices {
3297   int _; /* exists to avoid empty initializers */
3298};
3299struct _nir_load_local_invocation_id_indices {
3300   int _; /* exists to avoid empty initializers */
3301};
3302struct _nir_load_local_invocation_index_indices {
3303   int _; /* exists to avoid empty initializers */
3304};
3305struct _nir_load_local_shared_r600_indices {
3306   int _; /* exists to avoid empty initializers */
3307};
3308struct _nir_load_num_subgroups_indices {
3309   int _; /* exists to avoid empty initializers */
3310};
3311struct _nir_load_num_workgroups_indices {
3312   int _; /* exists to avoid empty initializers */
3313};
3314struct _nir_load_output_indices {
3315   int _; /* exists to avoid empty initializers */
3316   int base;
3317   unsigned component;
3318   nir_alu_type dest_type;
3319   struct nir_io_semantics io_semantics;
3320};
3321struct _nir_load_packed_passthrough_primitive_amd_indices {
3322   int _; /* exists to avoid empty initializers */
3323};
3324struct _nir_load_param_indices {
3325   int _; /* exists to avoid empty initializers */
3326   unsigned param_idx;
3327};
3328struct _nir_load_patch_vertices_in_indices {
3329   int _; /* exists to avoid empty initializers */
3330};
3331struct _nir_load_per_primitive_output_indices {
3332   int _; /* exists to avoid empty initializers */
3333   int base;
3334   unsigned component;
3335   nir_alu_type dest_type;
3336   struct nir_io_semantics io_semantics;
3337};
3338struct _nir_load_per_vertex_input_indices {
3339   int _; /* exists to avoid empty initializers */
3340   int base;
3341   unsigned component;
3342   nir_alu_type dest_type;
3343   struct nir_io_semantics io_semantics;
3344};
3345struct _nir_load_per_vertex_output_indices {
3346   int _; /* exists to avoid empty initializers */
3347   int base;
3348   unsigned component;
3349   nir_alu_type dest_type;
3350   struct nir_io_semantics io_semantics;
3351};
3352struct _nir_load_point_coord_indices {
3353   int _; /* exists to avoid empty initializers */
3354};
3355struct _nir_load_primitive_id_indices {
3356   int _; /* exists to avoid empty initializers */
3357};
3358struct _nir_load_primitive_location_ir3_indices {
3359   int _; /* exists to avoid empty initializers */
3360   unsigned driver_location;
3361};
3362struct _nir_load_printf_buffer_address_indices {
3363   int _; /* exists to avoid empty initializers */
3364};
3365struct _nir_load_ptr_dxil_indices {
3366   int _; /* exists to avoid empty initializers */
3367};
3368struct _nir_load_push_constant_indices {
3369   int _; /* exists to avoid empty initializers */
3370   int base;
3371   unsigned range;
3372};
3373struct _nir_load_raw_output_pan_indices {
3374   int _; /* exists to avoid empty initializers */
3375   int base;
3376};
3377struct _nir_load_ray_base_mem_addr_intel_indices {
3378   int _; /* exists to avoid empty initializers */
3379};
3380struct _nir_load_ray_flags_indices {
3381   int _; /* exists to avoid empty initializers */
3382};
3383struct _nir_load_ray_geometry_index_indices {
3384   int _; /* exists to avoid empty initializers */
3385};
3386struct _nir_load_ray_hit_kind_indices {
3387   int _; /* exists to avoid empty initializers */
3388};
3389struct _nir_load_ray_hit_sbt_addr_intel_indices {
3390   int _; /* exists to avoid empty initializers */
3391};
3392struct _nir_load_ray_hit_sbt_stride_intel_indices {
3393   int _; /* exists to avoid empty initializers */
3394};
3395struct _nir_load_ray_hw_stack_size_intel_indices {
3396   int _; /* exists to avoid empty initializers */
3397};
3398struct _nir_load_ray_instance_custom_index_indices {
3399   int _; /* exists to avoid empty initializers */
3400};
3401struct _nir_load_ray_launch_id_indices {
3402   int _; /* exists to avoid empty initializers */
3403};
3404struct _nir_load_ray_launch_size_indices {
3405   int _; /* exists to avoid empty initializers */
3406};
3407struct _nir_load_ray_miss_sbt_addr_intel_indices {
3408   int _; /* exists to avoid empty initializers */
3409};
3410struct _nir_load_ray_miss_sbt_stride_intel_indices {
3411   int _; /* exists to avoid empty initializers */
3412};
3413struct _nir_load_ray_num_dss_rt_stacks_intel_indices {
3414   int _; /* exists to avoid empty initializers */
3415};
3416struct _nir_load_ray_object_direction_indices {
3417   int _; /* exists to avoid empty initializers */
3418};
3419struct _nir_load_ray_object_origin_indices {
3420   int _; /* exists to avoid empty initializers */
3421};
3422struct _nir_load_ray_object_to_world_indices {
3423   int _; /* exists to avoid empty initializers */
3424   unsigned column;
3425};
3426struct _nir_load_ray_sw_stack_size_intel_indices {
3427   int _; /* exists to avoid empty initializers */
3428};
3429struct _nir_load_ray_t_max_indices {
3430   int _; /* exists to avoid empty initializers */
3431};
3432struct _nir_load_ray_t_min_indices {
3433   int _; /* exists to avoid empty initializers */
3434};
3435struct _nir_load_ray_world_direction_indices {
3436   int _; /* exists to avoid empty initializers */
3437};
3438struct _nir_load_ray_world_origin_indices {
3439   int _; /* exists to avoid empty initializers */
3440};
3441struct _nir_load_ray_world_to_object_indices {
3442   int _; /* exists to avoid empty initializers */
3443   unsigned column;
3444};
3445struct _nir_load_rel_patch_id_ir3_indices {
3446   int _; /* exists to avoid empty initializers */
3447};
3448struct _nir_load_reloc_const_intel_indices {
3449   int _; /* exists to avoid empty initializers */
3450   unsigned param_idx;
3451};
3452struct _nir_load_ring_es2gs_offset_amd_indices {
3453   int _; /* exists to avoid empty initializers */
3454};
3455struct _nir_load_ring_esgs_amd_indices {
3456   int _; /* exists to avoid empty initializers */
3457};
3458struct _nir_load_ring_tess_factors_amd_indices {
3459   int _; /* exists to avoid empty initializers */
3460};
3461struct _nir_load_ring_tess_factors_offset_amd_indices {
3462   int _; /* exists to avoid empty initializers */
3463};
3464struct _nir_load_ring_tess_offchip_amd_indices {
3465   int _; /* exists to avoid empty initializers */
3466};
3467struct _nir_load_ring_tess_offchip_offset_amd_indices {
3468   int _; /* exists to avoid empty initializers */
3469};
3470struct _nir_load_rt_arg_scratch_offset_amd_indices {
3471   int _; /* exists to avoid empty initializers */
3472};
3473struct _nir_load_sample_id_indices {
3474   int _; /* exists to avoid empty initializers */
3475};
3476struct _nir_load_sample_id_no_per_sample_indices {
3477   int _; /* exists to avoid empty initializers */
3478};
3479struct _nir_load_sample_mask_in_indices {
3480   int _; /* exists to avoid empty initializers */
3481};
3482struct _nir_load_sample_pos_indices {
3483   int _; /* exists to avoid empty initializers */
3484};
3485struct _nir_load_sample_pos_from_id_indices {
3486   int _; /* exists to avoid empty initializers */
3487};
3488struct _nir_load_sample_positions_pan_indices {
3489   int _; /* exists to avoid empty initializers */
3490};
3491struct _nir_load_sampler_lod_parameters_pan_indices {
3492   int _; /* exists to avoid empty initializers */
3493};
3494struct _nir_load_sbt_amd_indices {
3495   int _; /* exists to avoid empty initializers */
3496   unsigned binding;
3497};
3498struct _nir_load_scratch_indices {
3499   int _; /* exists to avoid empty initializers */
3500   unsigned align_mul;
3501   unsigned align_offset;
3502};
3503struct _nir_load_scratch_base_ptr_indices {
3504   int _; /* exists to avoid empty initializers */
3505   int base;
3506};
3507struct _nir_load_scratch_dxil_indices {
3508   int _; /* exists to avoid empty initializers */
3509};
3510struct _nir_load_shader_query_enabled_amd_indices {
3511   int _; /* exists to avoid empty initializers */
3512};
3513struct _nir_load_shader_record_ptr_indices {
3514   int _; /* exists to avoid empty initializers */
3515};
3516struct _nir_load_shared_indices {
3517   int _; /* exists to avoid empty initializers */
3518   int base;
3519   unsigned align_mul;
3520   unsigned align_offset;
3521};
3522struct _nir_load_shared_base_ptr_indices {
3523   int _; /* exists to avoid empty initializers */
3524};
3525struct _nir_load_shared_block_intel_indices {
3526   int _; /* exists to avoid empty initializers */
3527   int base;
3528   unsigned align_mul;
3529   unsigned align_offset;
3530};
3531struct _nir_load_shared_dxil_indices {
3532   int _; /* exists to avoid empty initializers */
3533};
3534struct _nir_load_shared_ir3_indices {
3535   int _; /* exists to avoid empty initializers */
3536   int base;
3537   unsigned align_mul;
3538   unsigned align_offset;
3539};
3540struct _nir_load_simd_width_intel_indices {
3541   int _; /* exists to avoid empty initializers */
3542};
3543struct _nir_load_size_ir3_indices {
3544   int _; /* exists to avoid empty initializers */
3545};
3546struct _nir_load_ssbo_indices {
3547   int _; /* exists to avoid empty initializers */
3548   enum gl_access_qualifier access;
3549   unsigned align_mul;
3550   unsigned align_offset;
3551};
3552struct _nir_load_ssbo_address_indices {
3553   int _; /* exists to avoid empty initializers */
3554};
3555struct _nir_load_ssbo_block_intel_indices {
3556   int _; /* exists to avoid empty initializers */
3557   enum gl_access_qualifier access;
3558   unsigned align_mul;
3559   unsigned align_offset;
3560};
3561struct _nir_load_ssbo_ir3_indices {
3562   int _; /* exists to avoid empty initializers */
3563   enum gl_access_qualifier access;
3564   unsigned align_mul;
3565   unsigned align_offset;
3566};
3567struct _nir_load_subgroup_eq_mask_indices {
3568   int _; /* exists to avoid empty initializers */
3569};
3570struct _nir_load_subgroup_ge_mask_indices {
3571   int _; /* exists to avoid empty initializers */
3572};
3573struct _nir_load_subgroup_gt_mask_indices {
3574   int _; /* exists to avoid empty initializers */
3575};
3576struct _nir_load_subgroup_id_indices {
3577   int _; /* exists to avoid empty initializers */
3578};
3579struct _nir_load_subgroup_id_shift_ir3_indices {
3580   int _; /* exists to avoid empty initializers */
3581};
3582struct _nir_load_subgroup_invocation_indices {
3583   int _; /* exists to avoid empty initializers */
3584};
3585struct _nir_load_subgroup_le_mask_indices {
3586   int _; /* exists to avoid empty initializers */
3587};
3588struct _nir_load_subgroup_lt_mask_indices {
3589   int _; /* exists to avoid empty initializers */
3590};
3591struct _nir_load_subgroup_size_indices {
3592   int _; /* exists to avoid empty initializers */
3593};
3594struct _nir_load_tcs_header_ir3_indices {
3595   int _; /* exists to avoid empty initializers */
3596};
3597struct _nir_load_tcs_in_param_base_r600_indices {
3598   int _; /* exists to avoid empty initializers */
3599};
3600struct _nir_load_tcs_num_patches_amd_indices {
3601   int _; /* exists to avoid empty initializers */
3602};
3603struct _nir_load_tcs_out_param_base_r600_indices {
3604   int _; /* exists to avoid empty initializers */
3605};
3606struct _nir_load_tcs_rel_patch_id_r600_indices {
3607   int _; /* exists to avoid empty initializers */
3608};
3609struct _nir_load_tcs_tess_factor_base_r600_indices {
3610   int _; /* exists to avoid empty initializers */
3611};
3612struct _nir_load_tess_coord_indices {
3613   int _; /* exists to avoid empty initializers */
3614};
3615struct _nir_load_tess_coord_r600_indices {
3616   int _; /* exists to avoid empty initializers */
3617};
3618struct _nir_load_tess_factor_base_ir3_indices {
3619   int _; /* exists to avoid empty initializers */
3620};
3621struct _nir_load_tess_level_inner_indices {
3622   int _; /* exists to avoid empty initializers */
3623};
3624struct _nir_load_tess_level_inner_default_indices {
3625   int _; /* exists to avoid empty initializers */
3626};
3627struct _nir_load_tess_level_outer_indices {
3628   int _; /* exists to avoid empty initializers */
3629};
3630struct _nir_load_tess_level_outer_default_indices {
3631   int _; /* exists to avoid empty initializers */
3632};
3633struct _nir_load_tess_param_base_ir3_indices {
3634   int _; /* exists to avoid empty initializers */
3635};
3636struct _nir_load_tess_rel_patch_id_amd_indices {
3637   int _; /* exists to avoid empty initializers */
3638};
3639struct _nir_load_texture_rect_scaling_indices {
3640   int _; /* exists to avoid empty initializers */
3641};
3642struct _nir_load_tlb_color_v3d_indices {
3643   int _; /* exists to avoid empty initializers */
3644   int base;
3645   unsigned component;
3646};
3647struct _nir_load_ubo_indices {
3648   int _; /* exists to avoid empty initializers */
3649   enum gl_access_qualifier access;
3650   unsigned align_mul;
3651   unsigned align_offset;
3652   unsigned range_base;
3653   unsigned range;
3654};
3655struct _nir_load_ubo_dxil_indices {
3656   int _; /* exists to avoid empty initializers */
3657};
3658struct _nir_load_ubo_vec4_indices {
3659   int _; /* exists to avoid empty initializers */
3660   enum gl_access_qualifier access;
3661   unsigned component;
3662};
3663struct _nir_load_uniform_indices {
3664   int _; /* exists to avoid empty initializers */
3665   int base;
3666   unsigned range;
3667   nir_alu_type dest_type;
3668};
3669struct _nir_load_user_clip_plane_indices {
3670   int _; /* exists to avoid empty initializers */
3671   unsigned ucp_id;
3672};
3673struct _nir_load_user_data_amd_indices {
3674   int _; /* exists to avoid empty initializers */
3675};
3676struct _nir_load_vertex_id_indices {
3677   int _; /* exists to avoid empty initializers */
3678};
3679struct _nir_load_vertex_id_zero_base_indices {
3680   int _; /* exists to avoid empty initializers */
3681};
3682struct _nir_load_view_index_indices {
3683   int _; /* exists to avoid empty initializers */
3684};
3685struct _nir_load_viewport_offset_indices {
3686   int _; /* exists to avoid empty initializers */
3687};
3688struct _nir_load_viewport_scale_indices {
3689   int _; /* exists to avoid empty initializers */
3690};
3691struct _nir_load_viewport_x_offset_indices {
3692   int _; /* exists to avoid empty initializers */
3693};
3694struct _nir_load_viewport_x_scale_indices {
3695   int _; /* exists to avoid empty initializers */
3696};
3697struct _nir_load_viewport_y_offset_indices {
3698   int _; /* exists to avoid empty initializers */
3699};
3700struct _nir_load_viewport_y_scale_indices {
3701   int _; /* exists to avoid empty initializers */
3702};
3703struct _nir_load_viewport_z_offset_indices {
3704   int _; /* exists to avoid empty initializers */
3705};
3706struct _nir_load_viewport_z_scale_indices {
3707   int _; /* exists to avoid empty initializers */
3708};
3709struct _nir_load_vs_primitive_stride_ir3_indices {
3710   int _; /* exists to avoid empty initializers */
3711};
3712struct _nir_load_vs_vertex_stride_ir3_indices {
3713   int _; /* exists to avoid empty initializers */
3714};
3715struct _nir_load_vulkan_descriptor_indices {
3716   int _; /* exists to avoid empty initializers */
3717   unsigned desc_type;
3718};
3719struct _nir_load_work_dim_indices {
3720   int _; /* exists to avoid empty initializers */
3721};
3722struct _nir_load_workgroup_id_indices {
3723   int _; /* exists to avoid empty initializers */
3724};
3725struct _nir_load_workgroup_id_zero_base_indices {
3726   int _; /* exists to avoid empty initializers */
3727};
3728struct _nir_load_workgroup_num_input_primitives_amd_indices {
3729   int _; /* exists to avoid empty initializers */
3730};
3731struct _nir_load_workgroup_num_input_vertices_amd_indices {
3732   int _; /* exists to avoid empty initializers */
3733};
3734struct _nir_load_workgroup_size_indices {
3735   int _; /* exists to avoid empty initializers */
3736};
3737struct _nir_masked_swizzle_amd_indices {
3738   int _; /* exists to avoid empty initializers */
3739   unsigned swizzle_mask;
3740};
3741struct _nir_mbcnt_amd_indices {
3742   int _; /* exists to avoid empty initializers */
3743};
3744struct _nir_memcpy_deref_indices {
3745   int _; /* exists to avoid empty initializers */
3746   enum gl_access_qualifier dst_access;
3747   enum gl_access_qualifier src_access;
3748};
3749struct _nir_memory_barrier_indices {
3750   int _; /* exists to avoid empty initializers */
3751};
3752struct _nir_memory_barrier_atomic_counter_indices {
3753   int _; /* exists to avoid empty initializers */
3754};
3755struct _nir_memory_barrier_buffer_indices {
3756   int _; /* exists to avoid empty initializers */
3757};
3758struct _nir_memory_barrier_image_indices {
3759   int _; /* exists to avoid empty initializers */
3760};
3761struct _nir_memory_barrier_shared_indices {
3762   int _; /* exists to avoid empty initializers */
3763};
3764struct _nir_memory_barrier_tcs_patch_indices {
3765   int _; /* exists to avoid empty initializers */
3766};
3767struct _nir_nop_indices {
3768   int _; /* exists to avoid empty initializers */
3769};
3770struct _nir_overwrite_tes_arguments_amd_indices {
3771   int _; /* exists to avoid empty initializers */
3772};
3773struct _nir_overwrite_vs_arguments_amd_indices {
3774   int _; /* exists to avoid empty initializers */
3775};
3776struct _nir_printf_indices {
3777   int _; /* exists to avoid empty initializers */
3778};
3779struct _nir_quad_broadcast_indices {
3780   int _; /* exists to avoid empty initializers */
3781};
3782struct _nir_quad_swap_diagonal_indices {
3783   int _; /* exists to avoid empty initializers */
3784};
3785struct _nir_quad_swap_horizontal_indices {
3786   int _; /* exists to avoid empty initializers */
3787};
3788struct _nir_quad_swap_vertical_indices {
3789   int _; /* exists to avoid empty initializers */
3790};
3791struct _nir_quad_swizzle_amd_indices {
3792   int _; /* exists to avoid empty initializers */
3793   unsigned swizzle_mask;
3794};
3795struct _nir_read_first_invocation_indices {
3796   int _; /* exists to avoid empty initializers */
3797};
3798struct _nir_read_invocation_indices {
3799   int _; /* exists to avoid empty initializers */
3800};
3801struct _nir_read_invocation_cond_ir3_indices {
3802   int _; /* exists to avoid empty initializers */
3803};
3804struct _nir_reduce_indices {
3805   int _; /* exists to avoid empty initializers */
3806   unsigned reduction_op;
3807   unsigned cluster_size;
3808};
3809struct _nir_report_ray_intersection_indices {
3810   int _; /* exists to avoid empty initializers */
3811};
3812struct _nir_rt_execute_callable_indices {
3813   int _; /* exists to avoid empty initializers */
3814   unsigned call_idx;
3815   unsigned stack_size;
3816};
3817struct _nir_rt_resume_indices {
3818   int _; /* exists to avoid empty initializers */
3819   unsigned call_idx;
3820   unsigned stack_size;
3821};
3822struct _nir_rt_return_amd_indices {
3823   int _; /* exists to avoid empty initializers */
3824};
3825struct _nir_rt_trace_ray_indices {
3826   int _; /* exists to avoid empty initializers */
3827   unsigned call_idx;
3828   unsigned stack_size;
3829};
3830struct _nir_scoped_barrier_indices {
3831   int _; /* exists to avoid empty initializers */
3832   nir_scope execution_scope;
3833   nir_scope memory_scope;
3834   nir_memory_semantics memory_semantics;
3835   nir_variable_mode memory_modes;
3836};
3837struct _nir_set_vertex_and_primitive_count_indices {
3838   int _; /* exists to avoid empty initializers */
3839   unsigned stream_id;
3840};
3841struct _nir_shader_clock_indices {
3842   int _; /* exists to avoid empty initializers */
3843   nir_scope memory_scope;
3844};
3845struct _nir_shared_atomic_add_indices {
3846   int _; /* exists to avoid empty initializers */
3847   int base;
3848};
3849struct _nir_shared_atomic_add_dxil_indices {
3850   int _; /* exists to avoid empty initializers */
3851};
3852struct _nir_shared_atomic_and_indices {
3853   int _; /* exists to avoid empty initializers */
3854   int base;
3855};
3856struct _nir_shared_atomic_and_dxil_indices {
3857   int _; /* exists to avoid empty initializers */
3858};
3859struct _nir_shared_atomic_comp_swap_indices {
3860   int _; /* exists to avoid empty initializers */
3861   int base;
3862};
3863struct _nir_shared_atomic_comp_swap_dxil_indices {
3864   int _; /* exists to avoid empty initializers */
3865};
3866struct _nir_shared_atomic_exchange_indices {
3867   int _; /* exists to avoid empty initializers */
3868   int base;
3869};
3870struct _nir_shared_atomic_exchange_dxil_indices {
3871   int _; /* exists to avoid empty initializers */
3872};
3873struct _nir_shared_atomic_fadd_indices {
3874   int _; /* exists to avoid empty initializers */
3875   int base;
3876};
3877struct _nir_shared_atomic_fcomp_swap_indices {
3878   int _; /* exists to avoid empty initializers */
3879   int base;
3880};
3881struct _nir_shared_atomic_fmax_indices {
3882   int _; /* exists to avoid empty initializers */
3883   int base;
3884};
3885struct _nir_shared_atomic_fmin_indices {
3886   int _; /* exists to avoid empty initializers */
3887   int base;
3888};
3889struct _nir_shared_atomic_imax_indices {
3890   int _; /* exists to avoid empty initializers */
3891   int base;
3892};
3893struct _nir_shared_atomic_imax_dxil_indices {
3894   int _; /* exists to avoid empty initializers */
3895};
3896struct _nir_shared_atomic_imin_indices {
3897   int _; /* exists to avoid empty initializers */
3898   int base;
3899};
3900struct _nir_shared_atomic_imin_dxil_indices {
3901   int _; /* exists to avoid empty initializers */
3902};
3903struct _nir_shared_atomic_or_indices {
3904   int _; /* exists to avoid empty initializers */
3905   int base;
3906};
3907struct _nir_shared_atomic_or_dxil_indices {
3908   int _; /* exists to avoid empty initializers */
3909};
3910struct _nir_shared_atomic_umax_indices {
3911   int _; /* exists to avoid empty initializers */
3912   int base;
3913};
3914struct _nir_shared_atomic_umax_dxil_indices {
3915   int _; /* exists to avoid empty initializers */
3916};
3917struct _nir_shared_atomic_umin_indices {
3918   int _; /* exists to avoid empty initializers */
3919   int base;
3920};
3921struct _nir_shared_atomic_umin_dxil_indices {
3922   int _; /* exists to avoid empty initializers */
3923};
3924struct _nir_shared_atomic_xor_indices {
3925   int _; /* exists to avoid empty initializers */
3926   int base;
3927};
3928struct _nir_shared_atomic_xor_dxil_indices {
3929   int _; /* exists to avoid empty initializers */
3930};
3931struct _nir_shuffle_indices {
3932   int _; /* exists to avoid empty initializers */
3933};
3934struct _nir_shuffle_down_indices {
3935   int _; /* exists to avoid empty initializers */
3936};
3937struct _nir_shuffle_up_indices {
3938   int _; /* exists to avoid empty initializers */
3939};
3940struct _nir_shuffle_xor_indices {
3941   int _; /* exists to avoid empty initializers */
3942};
3943struct _nir_sparse_residency_code_and_indices {
3944   int _; /* exists to avoid empty initializers */
3945};
3946struct _nir_ssbo_atomic_add_indices {
3947   int _; /* exists to avoid empty initializers */
3948   enum gl_access_qualifier access;
3949};
3950struct _nir_ssbo_atomic_add_ir3_indices {
3951   int _; /* exists to avoid empty initializers */
3952   enum gl_access_qualifier access;
3953};
3954struct _nir_ssbo_atomic_and_indices {
3955   int _; /* exists to avoid empty initializers */
3956   enum gl_access_qualifier access;
3957};
3958struct _nir_ssbo_atomic_and_ir3_indices {
3959   int _; /* exists to avoid empty initializers */
3960   enum gl_access_qualifier access;
3961};
3962struct _nir_ssbo_atomic_comp_swap_indices {
3963   int _; /* exists to avoid empty initializers */
3964   enum gl_access_qualifier access;
3965};
3966struct _nir_ssbo_atomic_comp_swap_ir3_indices {
3967   int _; /* exists to avoid empty initializers */
3968   enum gl_access_qualifier access;
3969};
3970struct _nir_ssbo_atomic_exchange_indices {
3971   int _; /* exists to avoid empty initializers */
3972   enum gl_access_qualifier access;
3973};
3974struct _nir_ssbo_atomic_exchange_ir3_indices {
3975   int _; /* exists to avoid empty initializers */
3976   enum gl_access_qualifier access;
3977};
3978struct _nir_ssbo_atomic_fadd_indices {
3979   int _; /* exists to avoid empty initializers */
3980   enum gl_access_qualifier access;
3981};
3982struct _nir_ssbo_atomic_fcomp_swap_indices {
3983   int _; /* exists to avoid empty initializers */
3984   enum gl_access_qualifier access;
3985};
3986struct _nir_ssbo_atomic_fmax_indices {
3987   int _; /* exists to avoid empty initializers */
3988   enum gl_access_qualifier access;
3989};
3990struct _nir_ssbo_atomic_fmin_indices {
3991   int _; /* exists to avoid empty initializers */
3992   enum gl_access_qualifier access;
3993};
3994struct _nir_ssbo_atomic_imax_indices {
3995   int _; /* exists to avoid empty initializers */
3996   enum gl_access_qualifier access;
3997};
3998struct _nir_ssbo_atomic_imax_ir3_indices {
3999   int _; /* exists to avoid empty initializers */
4000   enum gl_access_qualifier access;
4001};
4002struct _nir_ssbo_atomic_imin_indices {
4003   int _; /* exists to avoid empty initializers */
4004   enum gl_access_qualifier access;
4005};
4006struct _nir_ssbo_atomic_imin_ir3_indices {
4007   int _; /* exists to avoid empty initializers */
4008   enum gl_access_qualifier access;
4009};
4010struct _nir_ssbo_atomic_or_indices {
4011   int _; /* exists to avoid empty initializers */
4012   enum gl_access_qualifier access;
4013};
4014struct _nir_ssbo_atomic_or_ir3_indices {
4015   int _; /* exists to avoid empty initializers */
4016   enum gl_access_qualifier access;
4017};
4018struct _nir_ssbo_atomic_umax_indices {
4019   int _; /* exists to avoid empty initializers */
4020   enum gl_access_qualifier access;
4021};
4022struct _nir_ssbo_atomic_umax_ir3_indices {
4023   int _; /* exists to avoid empty initializers */
4024   enum gl_access_qualifier access;
4025};
4026struct _nir_ssbo_atomic_umin_indices {
4027   int _; /* exists to avoid empty initializers */
4028   enum gl_access_qualifier access;
4029};
4030struct _nir_ssbo_atomic_umin_ir3_indices {
4031   int _; /* exists to avoid empty initializers */
4032   enum gl_access_qualifier access;
4033};
4034struct _nir_ssbo_atomic_xor_indices {
4035   int _; /* exists to avoid empty initializers */
4036   enum gl_access_qualifier access;
4037};
4038struct _nir_ssbo_atomic_xor_ir3_indices {
4039   int _; /* exists to avoid empty initializers */
4040   enum gl_access_qualifier access;
4041};
4042struct _nir_store_buffer_amd_indices {
4043   int _; /* exists to avoid empty initializers */
4044   int base;
4045   unsigned write_mask;
4046   bool is_swizzled;
4047   bool slc_amd;
4048   nir_variable_mode memory_modes;
4049};
4050struct _nir_store_combined_output_pan_indices {
4051   int _; /* exists to avoid empty initializers */
4052   int base;
4053   unsigned component;
4054   nir_alu_type src_type;
4055};
4056struct _nir_store_deref_indices {
4057   int _; /* exists to avoid empty initializers */
4058   unsigned write_mask;
4059   enum gl_access_qualifier access;
4060};
4061struct _nir_store_deref_block_intel_indices {
4062   int _; /* exists to avoid empty initializers */
4063   unsigned write_mask;
4064   enum gl_access_qualifier access;
4065};
4066struct _nir_store_global_indices {
4067   int _; /* exists to avoid empty initializers */
4068   unsigned write_mask;
4069   enum gl_access_qualifier access;
4070   unsigned align_mul;
4071   unsigned align_offset;
4072};
4073struct _nir_store_global_block_intel_indices {
4074   int _; /* exists to avoid empty initializers */
4075   unsigned write_mask;
4076   enum gl_access_qualifier access;
4077   unsigned align_mul;
4078   unsigned align_offset;
4079};
4080struct _nir_store_global_ir3_indices {
4081   int _; /* exists to avoid empty initializers */
4082   enum gl_access_qualifier access;
4083   unsigned align_mul;
4084   unsigned align_offset;
4085};
4086struct _nir_store_local_shared_r600_indices {
4087   int _; /* exists to avoid empty initializers */
4088   unsigned write_mask;
4089};
4090struct _nir_store_output_indices {
4091   int _; /* exists to avoid empty initializers */
4092   int base;
4093   unsigned write_mask;
4094   unsigned component;
4095   nir_alu_type src_type;
4096   struct nir_io_semantics io_semantics;
4097};
4098struct _nir_store_per_primitive_output_indices {
4099   int _; /* exists to avoid empty initializers */
4100   int base;
4101   unsigned write_mask;
4102   unsigned component;
4103   nir_alu_type src_type;
4104   struct nir_io_semantics io_semantics;
4105};
4106struct _nir_store_per_vertex_output_indices {
4107   int _; /* exists to avoid empty initializers */
4108   int base;
4109   unsigned write_mask;
4110   unsigned component;
4111   nir_alu_type src_type;
4112   struct nir_io_semantics io_semantics;
4113};
4114struct _nir_store_raw_output_pan_indices {
4115   int _; /* exists to avoid empty initializers */
4116};
4117struct _nir_store_scratch_indices {
4118   int _; /* exists to avoid empty initializers */
4119   unsigned align_mul;
4120   unsigned align_offset;
4121   unsigned write_mask;
4122};
4123struct _nir_store_scratch_dxil_indices {
4124   int _; /* exists to avoid empty initializers */
4125};
4126struct _nir_store_shared_indices {
4127   int _; /* exists to avoid empty initializers */
4128   int base;
4129   unsigned write_mask;
4130   unsigned align_mul;
4131   unsigned align_offset;
4132};
4133struct _nir_store_shared_block_intel_indices {
4134   int _; /* exists to avoid empty initializers */
4135   int base;
4136   unsigned write_mask;
4137   unsigned align_mul;
4138   unsigned align_offset;
4139};
4140struct _nir_store_shared_dxil_indices {
4141   int _; /* exists to avoid empty initializers */
4142};
4143struct _nir_store_shared_ir3_indices {
4144   int _; /* exists to avoid empty initializers */
4145   int base;
4146   unsigned align_mul;
4147   unsigned align_offset;
4148};
4149struct _nir_store_shared_masked_dxil_indices {
4150   int _; /* exists to avoid empty initializers */
4151};
4152struct _nir_store_ssbo_indices {
4153   int _; /* exists to avoid empty initializers */
4154   unsigned write_mask;
4155   enum gl_access_qualifier access;
4156   unsigned align_mul;
4157   unsigned align_offset;
4158};
4159struct _nir_store_ssbo_block_intel_indices {
4160   int _; /* exists to avoid empty initializers */
4161   unsigned write_mask;
4162   enum gl_access_qualifier access;
4163   unsigned align_mul;
4164   unsigned align_offset;
4165};
4166struct _nir_store_ssbo_ir3_indices {
4167   int _; /* exists to avoid empty initializers */
4168   unsigned write_mask;
4169   enum gl_access_qualifier access;
4170   unsigned align_mul;
4171   unsigned align_offset;
4172};
4173struct _nir_store_ssbo_masked_dxil_indices {
4174   int _; /* exists to avoid empty initializers */
4175};
4176struct _nir_store_tf_r600_indices {
4177   int _; /* exists to avoid empty initializers */
4178};
4179struct _nir_store_tlb_sample_color_v3d_indices {
4180   int _; /* exists to avoid empty initializers */
4181   int base;
4182   unsigned component;
4183   nir_alu_type src_type;
4184};
4185struct _nir_terminate_indices {
4186   int _; /* exists to avoid empty initializers */
4187};
4188struct _nir_terminate_if_indices {
4189   int _; /* exists to avoid empty initializers */
4190};
4191struct _nir_terminate_ray_indices {
4192   int _; /* exists to avoid empty initializers */
4193};
4194struct _nir_trace_ray_indices {
4195   int _; /* exists to avoid empty initializers */
4196};
4197struct _nir_trace_ray_commit_intel_indices {
4198   int _; /* exists to avoid empty initializers */
4199};
4200struct _nir_trace_ray_continue_intel_indices {
4201   int _; /* exists to avoid empty initializers */
4202};
4203struct _nir_trace_ray_initial_intel_indices {
4204   int _; /* exists to avoid empty initializers */
4205};
4206struct _nir_vote_all_indices {
4207   int _; /* exists to avoid empty initializers */
4208};
4209struct _nir_vote_any_indices {
4210   int _; /* exists to avoid empty initializers */
4211};
4212struct _nir_vote_feq_indices {
4213   int _; /* exists to avoid empty initializers */
4214};
4215struct _nir_vote_ieq_indices {
4216   int _; /* exists to avoid empty initializers */
4217};
4218struct _nir_vulkan_resource_index_indices {
4219   int _; /* exists to avoid empty initializers */
4220   unsigned desc_set;
4221   unsigned binding;
4222   unsigned desc_type;
4223};
4224struct _nir_vulkan_resource_reindex_indices {
4225   int _; /* exists to avoid empty initializers */
4226   unsigned desc_type;
4227};
4228struct _nir_write_invocation_amd_indices {
4229   int _; /* exists to avoid empty initializers */
4230};
4231
4232
4233
4234static inline nir_intrinsic_instr *
4235_nir_build_accept_ray_intersection(nir_builder *build)
4236{
4237   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4238      build->shader, nir_intrinsic_accept_ray_intersection);
4239
4240
4241   nir_builder_instr_insert(build, &intrin->instr);
4242   return intrin;
4243}
4244static inline nir_ssa_def *
4245_nir_build_addr_mode_is(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_addr_mode_is_indices indices)
4246{
4247   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4248      build->shader, nir_intrinsic_addr_mode_is);
4249
4250      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4251   intrin->src[0] = nir_src_for_ssa(src0);
4252   nir_intrinsic_set_memory_modes(intrin, indices.memory_modes);
4253
4254   nir_builder_instr_insert(build, &intrin->instr);
4255   return &intrin->dest.ssa;
4256}
4257static inline nir_intrinsic_instr *
4258_nir_build_alloc_vertices_and_primitives_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
4259{
4260   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4261      build->shader, nir_intrinsic_alloc_vertices_and_primitives_amd);
4262
4263   intrin->src[0] = nir_src_for_ssa(src0);
4264   intrin->src[1] = nir_src_for_ssa(src1);
4265
4266   nir_builder_instr_insert(build, &intrin->instr);
4267   return intrin;
4268}
4269static inline nir_ssa_def *
4270_nir_build_atomic_counter_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_add_indices indices)
4271{
4272   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4273      build->shader, nir_intrinsic_atomic_counter_add);
4274
4275      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4276   intrin->src[0] = nir_src_for_ssa(src0);
4277   intrin->src[1] = nir_src_for_ssa(src1);
4278   nir_intrinsic_set_base(intrin, indices.base);
4279
4280   nir_builder_instr_insert(build, &intrin->instr);
4281   return &intrin->dest.ssa;
4282}
4283static inline nir_ssa_def *
4284_nir_build_atomic_counter_add_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4285{
4286   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4287      build->shader, nir_intrinsic_atomic_counter_add_deref);
4288
4289      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4290   intrin->src[0] = nir_src_for_ssa(src0);
4291   intrin->src[1] = nir_src_for_ssa(src1);
4292
4293   nir_builder_instr_insert(build, &intrin->instr);
4294   return &intrin->dest.ssa;
4295}
4296static inline nir_ssa_def *
4297_nir_build_atomic_counter_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_and_indices indices)
4298{
4299   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4300      build->shader, nir_intrinsic_atomic_counter_and);
4301
4302      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4303   intrin->src[0] = nir_src_for_ssa(src0);
4304   intrin->src[1] = nir_src_for_ssa(src1);
4305   nir_intrinsic_set_base(intrin, indices.base);
4306
4307   nir_builder_instr_insert(build, &intrin->instr);
4308   return &intrin->dest.ssa;
4309}
4310static inline nir_ssa_def *
4311_nir_build_atomic_counter_and_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4312{
4313   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4314      build->shader, nir_intrinsic_atomic_counter_and_deref);
4315
4316      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4317   intrin->src[0] = nir_src_for_ssa(src0);
4318   intrin->src[1] = nir_src_for_ssa(src1);
4319
4320   nir_builder_instr_insert(build, &intrin->instr);
4321   return &intrin->dest.ssa;
4322}
4323static inline nir_ssa_def *
4324_nir_build_atomic_counter_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_atomic_counter_comp_swap_indices indices)
4325{
4326   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4327      build->shader, nir_intrinsic_atomic_counter_comp_swap);
4328
4329      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4330   intrin->src[0] = nir_src_for_ssa(src0);
4331   intrin->src[1] = nir_src_for_ssa(src1);
4332   intrin->src[2] = nir_src_for_ssa(src2);
4333   nir_intrinsic_set_base(intrin, indices.base);
4334
4335   nir_builder_instr_insert(build, &intrin->instr);
4336   return &intrin->dest.ssa;
4337}
4338static inline nir_ssa_def *
4339_nir_build_atomic_counter_comp_swap_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
4340{
4341   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4342      build->shader, nir_intrinsic_atomic_counter_comp_swap_deref);
4343
4344      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4345   intrin->src[0] = nir_src_for_ssa(src0);
4346   intrin->src[1] = nir_src_for_ssa(src1);
4347   intrin->src[2] = nir_src_for_ssa(src2);
4348
4349   nir_builder_instr_insert(build, &intrin->instr);
4350   return &intrin->dest.ssa;
4351}
4352static inline nir_ssa_def *
4353_nir_build_atomic_counter_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_exchange_indices indices)
4354{
4355   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4356      build->shader, nir_intrinsic_atomic_counter_exchange);
4357
4358      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4359   intrin->src[0] = nir_src_for_ssa(src0);
4360   intrin->src[1] = nir_src_for_ssa(src1);
4361   nir_intrinsic_set_base(intrin, indices.base);
4362
4363   nir_builder_instr_insert(build, &intrin->instr);
4364   return &intrin->dest.ssa;
4365}
4366static inline nir_ssa_def *
4367_nir_build_atomic_counter_exchange_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4368{
4369   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4370      build->shader, nir_intrinsic_atomic_counter_exchange_deref);
4371
4372      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4373   intrin->src[0] = nir_src_for_ssa(src0);
4374   intrin->src[1] = nir_src_for_ssa(src1);
4375
4376   nir_builder_instr_insert(build, &intrin->instr);
4377   return &intrin->dest.ssa;
4378}
4379static inline nir_ssa_def *
4380_nir_build_atomic_counter_inc(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_inc_indices indices)
4381{
4382   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4383      build->shader, nir_intrinsic_atomic_counter_inc);
4384
4385      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4386   intrin->src[0] = nir_src_for_ssa(src0);
4387   nir_intrinsic_set_base(intrin, indices.base);
4388
4389   nir_builder_instr_insert(build, &intrin->instr);
4390   return &intrin->dest.ssa;
4391}
4392static inline nir_ssa_def *
4393_nir_build_atomic_counter_inc_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4394{
4395   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4396      build->shader, nir_intrinsic_atomic_counter_inc_deref);
4397
4398      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4399   intrin->src[0] = nir_src_for_ssa(src0);
4400
4401   nir_builder_instr_insert(build, &intrin->instr);
4402   return &intrin->dest.ssa;
4403}
4404static inline nir_ssa_def *
4405_nir_build_atomic_counter_max(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_max_indices indices)
4406{
4407   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4408      build->shader, nir_intrinsic_atomic_counter_max);
4409
4410      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4411   intrin->src[0] = nir_src_for_ssa(src0);
4412   intrin->src[1] = nir_src_for_ssa(src1);
4413   nir_intrinsic_set_base(intrin, indices.base);
4414
4415   nir_builder_instr_insert(build, &intrin->instr);
4416   return &intrin->dest.ssa;
4417}
4418static inline nir_ssa_def *
4419_nir_build_atomic_counter_max_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4420{
4421   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4422      build->shader, nir_intrinsic_atomic_counter_max_deref);
4423
4424      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4425   intrin->src[0] = nir_src_for_ssa(src0);
4426   intrin->src[1] = nir_src_for_ssa(src1);
4427
4428   nir_builder_instr_insert(build, &intrin->instr);
4429   return &intrin->dest.ssa;
4430}
4431static inline nir_ssa_def *
4432_nir_build_atomic_counter_min(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_min_indices indices)
4433{
4434   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4435      build->shader, nir_intrinsic_atomic_counter_min);
4436
4437      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4438   intrin->src[0] = nir_src_for_ssa(src0);
4439   intrin->src[1] = nir_src_for_ssa(src1);
4440   nir_intrinsic_set_base(intrin, indices.base);
4441
4442   nir_builder_instr_insert(build, &intrin->instr);
4443   return &intrin->dest.ssa;
4444}
4445static inline nir_ssa_def *
4446_nir_build_atomic_counter_min_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4447{
4448   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4449      build->shader, nir_intrinsic_atomic_counter_min_deref);
4450
4451      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4452   intrin->src[0] = nir_src_for_ssa(src0);
4453   intrin->src[1] = nir_src_for_ssa(src1);
4454
4455   nir_builder_instr_insert(build, &intrin->instr);
4456   return &intrin->dest.ssa;
4457}
4458static inline nir_ssa_def *
4459_nir_build_atomic_counter_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_or_indices indices)
4460{
4461   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4462      build->shader, nir_intrinsic_atomic_counter_or);
4463
4464      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4465   intrin->src[0] = nir_src_for_ssa(src0);
4466   intrin->src[1] = nir_src_for_ssa(src1);
4467   nir_intrinsic_set_base(intrin, indices.base);
4468
4469   nir_builder_instr_insert(build, &intrin->instr);
4470   return &intrin->dest.ssa;
4471}
4472static inline nir_ssa_def *
4473_nir_build_atomic_counter_or_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4474{
4475   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4476      build->shader, nir_intrinsic_atomic_counter_or_deref);
4477
4478      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4479   intrin->src[0] = nir_src_for_ssa(src0);
4480   intrin->src[1] = nir_src_for_ssa(src1);
4481
4482   nir_builder_instr_insert(build, &intrin->instr);
4483   return &intrin->dest.ssa;
4484}
4485static inline nir_ssa_def *
4486_nir_build_atomic_counter_post_dec(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_post_dec_indices indices)
4487{
4488   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4489      build->shader, nir_intrinsic_atomic_counter_post_dec);
4490
4491      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4492   intrin->src[0] = nir_src_for_ssa(src0);
4493   nir_intrinsic_set_base(intrin, indices.base);
4494
4495   nir_builder_instr_insert(build, &intrin->instr);
4496   return &intrin->dest.ssa;
4497}
4498static inline nir_ssa_def *
4499_nir_build_atomic_counter_post_dec_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4500{
4501   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4502      build->shader, nir_intrinsic_atomic_counter_post_dec_deref);
4503
4504      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4505   intrin->src[0] = nir_src_for_ssa(src0);
4506
4507   nir_builder_instr_insert(build, &intrin->instr);
4508   return &intrin->dest.ssa;
4509}
4510static inline nir_ssa_def *
4511_nir_build_atomic_counter_pre_dec(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_pre_dec_indices indices)
4512{
4513   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4514      build->shader, nir_intrinsic_atomic_counter_pre_dec);
4515
4516      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4517   intrin->src[0] = nir_src_for_ssa(src0);
4518   nir_intrinsic_set_base(intrin, indices.base);
4519
4520   nir_builder_instr_insert(build, &intrin->instr);
4521   return &intrin->dest.ssa;
4522}
4523static inline nir_ssa_def *
4524_nir_build_atomic_counter_pre_dec_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4525{
4526   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4527      build->shader, nir_intrinsic_atomic_counter_pre_dec_deref);
4528
4529      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4530   intrin->src[0] = nir_src_for_ssa(src0);
4531
4532   nir_builder_instr_insert(build, &intrin->instr);
4533   return &intrin->dest.ssa;
4534}
4535static inline nir_ssa_def *
4536_nir_build_atomic_counter_read(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_atomic_counter_read_indices indices)
4537{
4538   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4539      build->shader, nir_intrinsic_atomic_counter_read);
4540
4541      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4542   intrin->src[0] = nir_src_for_ssa(src0);
4543   nir_intrinsic_set_base(intrin, indices.base);
4544
4545   nir_builder_instr_insert(build, &intrin->instr);
4546   return &intrin->dest.ssa;
4547}
4548static inline nir_ssa_def *
4549_nir_build_atomic_counter_read_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4550{
4551   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4552      build->shader, nir_intrinsic_atomic_counter_read_deref);
4553
4554      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4555   intrin->src[0] = nir_src_for_ssa(src0);
4556
4557   nir_builder_instr_insert(build, &intrin->instr);
4558   return &intrin->dest.ssa;
4559}
4560static inline nir_ssa_def *
4561_nir_build_atomic_counter_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_atomic_counter_xor_indices indices)
4562{
4563   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4564      build->shader, nir_intrinsic_atomic_counter_xor);
4565
4566      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4567   intrin->src[0] = nir_src_for_ssa(src0);
4568   intrin->src[1] = nir_src_for_ssa(src1);
4569   nir_intrinsic_set_base(intrin, indices.base);
4570
4571   nir_builder_instr_insert(build, &intrin->instr);
4572   return &intrin->dest.ssa;
4573}
4574static inline nir_ssa_def *
4575_nir_build_atomic_counter_xor_deref(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4576{
4577   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4578      build->shader, nir_intrinsic_atomic_counter_xor_deref);
4579
4580      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4581   intrin->src[0] = nir_src_for_ssa(src0);
4582   intrin->src[1] = nir_src_for_ssa(src1);
4583
4584   nir_builder_instr_insert(build, &intrin->instr);
4585   return &intrin->dest.ssa;
4586}
4587static inline nir_ssa_def *
4588_nir_build_ballot(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0)
4589{
4590   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4591      build->shader, nir_intrinsic_ballot);
4592
4593   intrin->num_components = num_components;
4594      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
4595   intrin->src[0] = nir_src_for_ssa(src0);
4596
4597   nir_builder_instr_insert(build, &intrin->instr);
4598   return &intrin->dest.ssa;
4599}
4600static inline nir_ssa_def *
4601_nir_build_ballot_bit_count_exclusive(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4602{
4603   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4604      build->shader, nir_intrinsic_ballot_bit_count_exclusive);
4605
4606      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4607   intrin->src[0] = nir_src_for_ssa(src0);
4608
4609   nir_builder_instr_insert(build, &intrin->instr);
4610   return &intrin->dest.ssa;
4611}
4612static inline nir_ssa_def *
4613_nir_build_ballot_bit_count_inclusive(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4614{
4615   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4616      build->shader, nir_intrinsic_ballot_bit_count_inclusive);
4617
4618      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4619   intrin->src[0] = nir_src_for_ssa(src0);
4620
4621   nir_builder_instr_insert(build, &intrin->instr);
4622   return &intrin->dest.ssa;
4623}
4624static inline nir_ssa_def *
4625_nir_build_ballot_bit_count_reduce(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4626{
4627   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4628      build->shader, nir_intrinsic_ballot_bit_count_reduce);
4629
4630      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4631   intrin->src[0] = nir_src_for_ssa(src0);
4632
4633   nir_builder_instr_insert(build, &intrin->instr);
4634   return &intrin->dest.ssa;
4635}
4636static inline nir_ssa_def *
4637_nir_build_ballot_bitfield_extract(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
4638{
4639   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4640      build->shader, nir_intrinsic_ballot_bitfield_extract);
4641
4642      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4643   intrin->src[0] = nir_src_for_ssa(src0);
4644   intrin->src[1] = nir_src_for_ssa(src1);
4645
4646   nir_builder_instr_insert(build, &intrin->instr);
4647   return &intrin->dest.ssa;
4648}
4649static inline nir_ssa_def *
4650_nir_build_ballot_find_lsb(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4651{
4652   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4653      build->shader, nir_intrinsic_ballot_find_lsb);
4654
4655      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4656   intrin->src[0] = nir_src_for_ssa(src0);
4657
4658   nir_builder_instr_insert(build, &intrin->instr);
4659   return &intrin->dest.ssa;
4660}
4661static inline nir_ssa_def *
4662_nir_build_ballot_find_msb(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
4663{
4664   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4665      build->shader, nir_intrinsic_ballot_find_msb);
4666
4667      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4668   intrin->src[0] = nir_src_for_ssa(src0);
4669
4670   nir_builder_instr_insert(build, &intrin->instr);
4671   return &intrin->dest.ssa;
4672}
4673static inline nir_intrinsic_instr *
4674_nir_build_begin_invocation_interlock(nir_builder *build)
4675{
4676   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4677      build->shader, nir_intrinsic_begin_invocation_interlock);
4678
4679
4680   nir_builder_instr_insert(build, &intrin->instr);
4681   return intrin;
4682}
4683static inline nir_ssa_def *
4684_nir_build_bindless_image_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_add_indices indices)
4685{
4686   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4687      build->shader, nir_intrinsic_bindless_image_atomic_add);
4688
4689      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4690   intrin->src[0] = nir_src_for_ssa(src0);
4691   intrin->src[1] = nir_src_for_ssa(src1);
4692   intrin->src[2] = nir_src_for_ssa(src2);
4693   intrin->src[3] = nir_src_for_ssa(src3);
4694   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4695   nir_intrinsic_set_image_array(intrin, indices.image_array);
4696   nir_intrinsic_set_format(intrin, indices.format);
4697   nir_intrinsic_set_access(intrin, indices.access);
4698
4699   nir_builder_instr_insert(build, &intrin->instr);
4700   return &intrin->dest.ssa;
4701}
4702static inline nir_ssa_def *
4703_nir_build_bindless_image_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_and_indices indices)
4704{
4705   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4706      build->shader, nir_intrinsic_bindless_image_atomic_and);
4707
4708      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4709   intrin->src[0] = nir_src_for_ssa(src0);
4710   intrin->src[1] = nir_src_for_ssa(src1);
4711   intrin->src[2] = nir_src_for_ssa(src2);
4712   intrin->src[3] = nir_src_for_ssa(src3);
4713   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4714   nir_intrinsic_set_image_array(intrin, indices.image_array);
4715   nir_intrinsic_set_format(intrin, indices.format);
4716   nir_intrinsic_set_access(intrin, indices.access);
4717
4718   nir_builder_instr_insert(build, &intrin->instr);
4719   return &intrin->dest.ssa;
4720}
4721static inline nir_ssa_def *
4722_nir_build_bindless_image_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_bindless_image_atomic_comp_swap_indices indices)
4723{
4724   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4725      build->shader, nir_intrinsic_bindless_image_atomic_comp_swap);
4726
4727      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4728   intrin->src[0] = nir_src_for_ssa(src0);
4729   intrin->src[1] = nir_src_for_ssa(src1);
4730   intrin->src[2] = nir_src_for_ssa(src2);
4731   intrin->src[3] = nir_src_for_ssa(src3);
4732   intrin->src[4] = nir_src_for_ssa(src4);
4733   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4734   nir_intrinsic_set_image_array(intrin, indices.image_array);
4735   nir_intrinsic_set_format(intrin, indices.format);
4736   nir_intrinsic_set_access(intrin, indices.access);
4737
4738   nir_builder_instr_insert(build, &intrin->instr);
4739   return &intrin->dest.ssa;
4740}
4741static inline nir_ssa_def *
4742_nir_build_bindless_image_atomic_dec_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_dec_wrap_indices indices)
4743{
4744   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4745      build->shader, nir_intrinsic_bindless_image_atomic_dec_wrap);
4746
4747      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4748   intrin->src[0] = nir_src_for_ssa(src0);
4749   intrin->src[1] = nir_src_for_ssa(src1);
4750   intrin->src[2] = nir_src_for_ssa(src2);
4751   intrin->src[3] = nir_src_for_ssa(src3);
4752   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4753   nir_intrinsic_set_image_array(intrin, indices.image_array);
4754   nir_intrinsic_set_format(intrin, indices.format);
4755   nir_intrinsic_set_access(intrin, indices.access);
4756
4757   nir_builder_instr_insert(build, &intrin->instr);
4758   return &intrin->dest.ssa;
4759}
4760static inline nir_ssa_def *
4761_nir_build_bindless_image_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_exchange_indices indices)
4762{
4763   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4764      build->shader, nir_intrinsic_bindless_image_atomic_exchange);
4765
4766      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4767   intrin->src[0] = nir_src_for_ssa(src0);
4768   intrin->src[1] = nir_src_for_ssa(src1);
4769   intrin->src[2] = nir_src_for_ssa(src2);
4770   intrin->src[3] = nir_src_for_ssa(src3);
4771   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4772   nir_intrinsic_set_image_array(intrin, indices.image_array);
4773   nir_intrinsic_set_format(intrin, indices.format);
4774   nir_intrinsic_set_access(intrin, indices.access);
4775
4776   nir_builder_instr_insert(build, &intrin->instr);
4777   return &intrin->dest.ssa;
4778}
4779static inline nir_ssa_def *
4780_nir_build_bindless_image_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_fadd_indices indices)
4781{
4782   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4783      build->shader, nir_intrinsic_bindless_image_atomic_fadd);
4784
4785      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4786   intrin->src[0] = nir_src_for_ssa(src0);
4787   intrin->src[1] = nir_src_for_ssa(src1);
4788   intrin->src[2] = nir_src_for_ssa(src2);
4789   intrin->src[3] = nir_src_for_ssa(src3);
4790   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4791   nir_intrinsic_set_image_array(intrin, indices.image_array);
4792   nir_intrinsic_set_format(intrin, indices.format);
4793   nir_intrinsic_set_access(intrin, indices.access);
4794
4795   nir_builder_instr_insert(build, &intrin->instr);
4796   return &intrin->dest.ssa;
4797}
4798static inline nir_ssa_def *
4799_nir_build_bindless_image_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_fmax_indices indices)
4800{
4801   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4802      build->shader, nir_intrinsic_bindless_image_atomic_fmax);
4803
4804      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4805   intrin->src[0] = nir_src_for_ssa(src0);
4806   intrin->src[1] = nir_src_for_ssa(src1);
4807   intrin->src[2] = nir_src_for_ssa(src2);
4808   intrin->src[3] = nir_src_for_ssa(src3);
4809   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4810   nir_intrinsic_set_image_array(intrin, indices.image_array);
4811   nir_intrinsic_set_format(intrin, indices.format);
4812   nir_intrinsic_set_access(intrin, indices.access);
4813
4814   nir_builder_instr_insert(build, &intrin->instr);
4815   return &intrin->dest.ssa;
4816}
4817static inline nir_ssa_def *
4818_nir_build_bindless_image_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_fmin_indices indices)
4819{
4820   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4821      build->shader, nir_intrinsic_bindless_image_atomic_fmin);
4822
4823      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4824   intrin->src[0] = nir_src_for_ssa(src0);
4825   intrin->src[1] = nir_src_for_ssa(src1);
4826   intrin->src[2] = nir_src_for_ssa(src2);
4827   intrin->src[3] = nir_src_for_ssa(src3);
4828   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4829   nir_intrinsic_set_image_array(intrin, indices.image_array);
4830   nir_intrinsic_set_format(intrin, indices.format);
4831   nir_intrinsic_set_access(intrin, indices.access);
4832
4833   nir_builder_instr_insert(build, &intrin->instr);
4834   return &intrin->dest.ssa;
4835}
4836static inline nir_ssa_def *
4837_nir_build_bindless_image_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_imax_indices indices)
4838{
4839   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4840      build->shader, nir_intrinsic_bindless_image_atomic_imax);
4841
4842      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4843   intrin->src[0] = nir_src_for_ssa(src0);
4844   intrin->src[1] = nir_src_for_ssa(src1);
4845   intrin->src[2] = nir_src_for_ssa(src2);
4846   intrin->src[3] = nir_src_for_ssa(src3);
4847   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4848   nir_intrinsic_set_image_array(intrin, indices.image_array);
4849   nir_intrinsic_set_format(intrin, indices.format);
4850   nir_intrinsic_set_access(intrin, indices.access);
4851
4852   nir_builder_instr_insert(build, &intrin->instr);
4853   return &intrin->dest.ssa;
4854}
4855static inline nir_ssa_def *
4856_nir_build_bindless_image_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_imin_indices indices)
4857{
4858   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4859      build->shader, nir_intrinsic_bindless_image_atomic_imin);
4860
4861      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4862   intrin->src[0] = nir_src_for_ssa(src0);
4863   intrin->src[1] = nir_src_for_ssa(src1);
4864   intrin->src[2] = nir_src_for_ssa(src2);
4865   intrin->src[3] = nir_src_for_ssa(src3);
4866   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4867   nir_intrinsic_set_image_array(intrin, indices.image_array);
4868   nir_intrinsic_set_format(intrin, indices.format);
4869   nir_intrinsic_set_access(intrin, indices.access);
4870
4871   nir_builder_instr_insert(build, &intrin->instr);
4872   return &intrin->dest.ssa;
4873}
4874static inline nir_ssa_def *
4875_nir_build_bindless_image_atomic_inc_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_inc_wrap_indices indices)
4876{
4877   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4878      build->shader, nir_intrinsic_bindless_image_atomic_inc_wrap);
4879
4880      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4881   intrin->src[0] = nir_src_for_ssa(src0);
4882   intrin->src[1] = nir_src_for_ssa(src1);
4883   intrin->src[2] = nir_src_for_ssa(src2);
4884   intrin->src[3] = nir_src_for_ssa(src3);
4885   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4886   nir_intrinsic_set_image_array(intrin, indices.image_array);
4887   nir_intrinsic_set_format(intrin, indices.format);
4888   nir_intrinsic_set_access(intrin, indices.access);
4889
4890   nir_builder_instr_insert(build, &intrin->instr);
4891   return &intrin->dest.ssa;
4892}
4893static inline nir_ssa_def *
4894_nir_build_bindless_image_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_or_indices indices)
4895{
4896   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4897      build->shader, nir_intrinsic_bindless_image_atomic_or);
4898
4899      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4900   intrin->src[0] = nir_src_for_ssa(src0);
4901   intrin->src[1] = nir_src_for_ssa(src1);
4902   intrin->src[2] = nir_src_for_ssa(src2);
4903   intrin->src[3] = nir_src_for_ssa(src3);
4904   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4905   nir_intrinsic_set_image_array(intrin, indices.image_array);
4906   nir_intrinsic_set_format(intrin, indices.format);
4907   nir_intrinsic_set_access(intrin, indices.access);
4908
4909   nir_builder_instr_insert(build, &intrin->instr);
4910   return &intrin->dest.ssa;
4911}
4912static inline nir_ssa_def *
4913_nir_build_bindless_image_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_umax_indices indices)
4914{
4915   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4916      build->shader, nir_intrinsic_bindless_image_atomic_umax);
4917
4918      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4919   intrin->src[0] = nir_src_for_ssa(src0);
4920   intrin->src[1] = nir_src_for_ssa(src1);
4921   intrin->src[2] = nir_src_for_ssa(src2);
4922   intrin->src[3] = nir_src_for_ssa(src3);
4923   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4924   nir_intrinsic_set_image_array(intrin, indices.image_array);
4925   nir_intrinsic_set_format(intrin, indices.format);
4926   nir_intrinsic_set_access(intrin, indices.access);
4927
4928   nir_builder_instr_insert(build, &intrin->instr);
4929   return &intrin->dest.ssa;
4930}
4931static inline nir_ssa_def *
4932_nir_build_bindless_image_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_umin_indices indices)
4933{
4934   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4935      build->shader, nir_intrinsic_bindless_image_atomic_umin);
4936
4937      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4938   intrin->src[0] = nir_src_for_ssa(src0);
4939   intrin->src[1] = nir_src_for_ssa(src1);
4940   intrin->src[2] = nir_src_for_ssa(src2);
4941   intrin->src[3] = nir_src_for_ssa(src3);
4942   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4943   nir_intrinsic_set_image_array(intrin, indices.image_array);
4944   nir_intrinsic_set_format(intrin, indices.format);
4945   nir_intrinsic_set_access(intrin, indices.access);
4946
4947   nir_builder_instr_insert(build, &intrin->instr);
4948   return &intrin->dest.ssa;
4949}
4950static inline nir_ssa_def *
4951_nir_build_bindless_image_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_atomic_xor_indices indices)
4952{
4953   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4954      build->shader, nir_intrinsic_bindless_image_atomic_xor);
4955
4956      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4957   intrin->src[0] = nir_src_for_ssa(src0);
4958   intrin->src[1] = nir_src_for_ssa(src1);
4959   intrin->src[2] = nir_src_for_ssa(src2);
4960   intrin->src[3] = nir_src_for_ssa(src3);
4961   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4962   nir_intrinsic_set_image_array(intrin, indices.image_array);
4963   nir_intrinsic_set_format(intrin, indices.format);
4964   nir_intrinsic_set_access(intrin, indices.access);
4965
4966   nir_builder_instr_insert(build, &intrin->instr);
4967   return &intrin->dest.ssa;
4968}
4969static inline nir_ssa_def *
4970_nir_build_bindless_image_format(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_image_format_indices indices)
4971{
4972   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4973      build->shader, nir_intrinsic_bindless_image_format);
4974
4975      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
4976   intrin->src[0] = nir_src_for_ssa(src0);
4977   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4978   nir_intrinsic_set_image_array(intrin, indices.image_array);
4979   nir_intrinsic_set_format(intrin, indices.format);
4980   nir_intrinsic_set_access(intrin, indices.access);
4981
4982   nir_builder_instr_insert(build, &intrin->instr);
4983   return &intrin->dest.ssa;
4984}
4985static inline nir_ssa_def *
4986_nir_build_bindless_image_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_load_indices indices)
4987{
4988   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
4989      build->shader, nir_intrinsic_bindless_image_load);
4990
4991   intrin->num_components = num_components;
4992      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
4993   intrin->src[0] = nir_src_for_ssa(src0);
4994   intrin->src[1] = nir_src_for_ssa(src1);
4995   intrin->src[2] = nir_src_for_ssa(src2);
4996   intrin->src[3] = nir_src_for_ssa(src3);
4997   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
4998   nir_intrinsic_set_image_array(intrin, indices.image_array);
4999   nir_intrinsic_set_format(intrin, indices.format);
5000   nir_intrinsic_set_access(intrin, indices.access);
5001   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
5002
5003   nir_builder_instr_insert(build, &intrin->instr);
5004   return &intrin->dest.ssa;
5005}
5006static inline nir_ssa_def *
5007_nir_build_bindless_image_load_raw_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_bindless_image_load_raw_intel_indices indices)
5008{
5009   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5010      build->shader, nir_intrinsic_bindless_image_load_raw_intel);
5011
5012   intrin->num_components = num_components;
5013      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
5014   intrin->src[0] = nir_src_for_ssa(src0);
5015   intrin->src[1] = nir_src_for_ssa(src1);
5016   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5017   nir_intrinsic_set_image_array(intrin, indices.image_array);
5018   nir_intrinsic_set_format(intrin, indices.format);
5019   nir_intrinsic_set_access(intrin, indices.access);
5020
5021   nir_builder_instr_insert(build, &intrin->instr);
5022   return &intrin->dest.ssa;
5023}
5024static inline nir_ssa_def *
5025_nir_build_bindless_image_order(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_image_order_indices indices)
5026{
5027   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5028      build->shader, nir_intrinsic_bindless_image_order);
5029
5030      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5031   intrin->src[0] = nir_src_for_ssa(src0);
5032   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5033   nir_intrinsic_set_image_array(intrin, indices.image_array);
5034   nir_intrinsic_set_format(intrin, indices.format);
5035   nir_intrinsic_set_access(intrin, indices.access);
5036
5037   nir_builder_instr_insert(build, &intrin->instr);
5038   return &intrin->dest.ssa;
5039}
5040static inline nir_ssa_def *
5041_nir_build_bindless_image_samples(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_image_samples_indices indices)
5042{
5043   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5044      build->shader, nir_intrinsic_bindless_image_samples);
5045
5046      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5047   intrin->src[0] = nir_src_for_ssa(src0);
5048   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5049   nir_intrinsic_set_image_array(intrin, indices.image_array);
5050   nir_intrinsic_set_format(intrin, indices.format);
5051   nir_intrinsic_set_access(intrin, indices.access);
5052
5053   nir_builder_instr_insert(build, &intrin->instr);
5054   return &intrin->dest.ssa;
5055}
5056static inline nir_ssa_def *
5057_nir_build_bindless_image_size(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_bindless_image_size_indices indices)
5058{
5059   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5060      build->shader, nir_intrinsic_bindless_image_size);
5061
5062   intrin->num_components = num_components;
5063      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
5064   intrin->src[0] = nir_src_for_ssa(src0);
5065   intrin->src[1] = nir_src_for_ssa(src1);
5066   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5067   nir_intrinsic_set_image_array(intrin, indices.image_array);
5068   nir_intrinsic_set_format(intrin, indices.format);
5069   nir_intrinsic_set_access(intrin, indices.access);
5070
5071   nir_builder_instr_insert(build, &intrin->instr);
5072   return &intrin->dest.ssa;
5073}
5074static inline nir_ssa_def *
5075_nir_build_bindless_image_sparse_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_bindless_image_sparse_load_indices indices)
5076{
5077   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5078      build->shader, nir_intrinsic_bindless_image_sparse_load);
5079
5080   intrin->num_components = num_components;
5081      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
5082   intrin->src[0] = nir_src_for_ssa(src0);
5083   intrin->src[1] = nir_src_for_ssa(src1);
5084   intrin->src[2] = nir_src_for_ssa(src2);
5085   intrin->src[3] = nir_src_for_ssa(src3);
5086   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5087   nir_intrinsic_set_image_array(intrin, indices.image_array);
5088   nir_intrinsic_set_format(intrin, indices.format);
5089   nir_intrinsic_set_access(intrin, indices.access);
5090   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
5091
5092   nir_builder_instr_insert(build, &intrin->instr);
5093   return &intrin->dest.ssa;
5094}
5095static inline nir_intrinsic_instr *
5096_nir_build_bindless_image_store(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_bindless_image_store_indices indices)
5097{
5098   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5099      build->shader, nir_intrinsic_bindless_image_store);
5100
5101   intrin->num_components = src3->num_components;
5102   intrin->src[0] = nir_src_for_ssa(src0);
5103   intrin->src[1] = nir_src_for_ssa(src1);
5104   intrin->src[2] = nir_src_for_ssa(src2);
5105   intrin->src[3] = nir_src_for_ssa(src3);
5106   intrin->src[4] = nir_src_for_ssa(src4);
5107   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5108   nir_intrinsic_set_image_array(intrin, indices.image_array);
5109   nir_intrinsic_set_format(intrin, indices.format);
5110   nir_intrinsic_set_access(intrin, indices.access);
5111   nir_intrinsic_set_src_type(intrin, indices.src_type);
5112
5113   nir_builder_instr_insert(build, &intrin->instr);
5114   return intrin;
5115}
5116static inline nir_intrinsic_instr *
5117_nir_build_bindless_image_store_raw_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_bindless_image_store_raw_intel_indices indices)
5118{
5119   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5120      build->shader, nir_intrinsic_bindless_image_store_raw_intel);
5121
5122   intrin->num_components = src2->num_components;
5123   intrin->src[0] = nir_src_for_ssa(src0);
5124   intrin->src[1] = nir_src_for_ssa(src1);
5125   intrin->src[2] = nir_src_for_ssa(src2);
5126   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5127   nir_intrinsic_set_image_array(intrin, indices.image_array);
5128   nir_intrinsic_set_format(intrin, indices.format);
5129   nir_intrinsic_set_access(intrin, indices.access);
5130
5131   nir_builder_instr_insert(build, &intrin->instr);
5132   return intrin;
5133}
5134static inline nir_ssa_def *
5135_nir_build_bindless_resource_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_bindless_resource_ir3_indices indices)
5136{
5137   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5138      build->shader, nir_intrinsic_bindless_resource_ir3);
5139
5140      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5141   intrin->src[0] = nir_src_for_ssa(src0);
5142   nir_intrinsic_set_desc_set(intrin, indices.desc_set);
5143
5144   nir_builder_instr_insert(build, &intrin->instr);
5145   return &intrin->dest.ssa;
5146}
5147static inline nir_intrinsic_instr *
5148_nir_build_btd_retire_intel(nir_builder *build)
5149{
5150   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5151      build->shader, nir_intrinsic_btd_retire_intel);
5152
5153
5154   nir_builder_instr_insert(build, &intrin->instr);
5155   return intrin;
5156}
5157static inline nir_intrinsic_instr *
5158_nir_build_btd_spawn_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
5159{
5160   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5161      build->shader, nir_intrinsic_btd_spawn_intel);
5162
5163   intrin->src[0] = nir_src_for_ssa(src0);
5164   intrin->src[1] = nir_src_for_ssa(src1);
5165
5166   nir_builder_instr_insert(build, &intrin->instr);
5167   return intrin;
5168}
5169static inline nir_intrinsic_instr *
5170_nir_build_btd_stack_push_intel(nir_builder *build, struct _nir_btd_stack_push_intel_indices indices)
5171{
5172   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5173      build->shader, nir_intrinsic_btd_stack_push_intel);
5174
5175   nir_intrinsic_set_stack_size(intrin, indices.stack_size);
5176
5177   nir_builder_instr_insert(build, &intrin->instr);
5178   return intrin;
5179}
5180static inline nir_ssa_def *
5181_nir_build_bvh64_intersect_ray_amd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5)
5182{
5183   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5184      build->shader, nir_intrinsic_bvh64_intersect_ray_amd);
5185
5186      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, bit_size, NULL);
5187   intrin->src[0] = nir_src_for_ssa(src0);
5188   intrin->src[1] = nir_src_for_ssa(src1);
5189   intrin->src[2] = nir_src_for_ssa(src2);
5190   intrin->src[3] = nir_src_for_ssa(src3);
5191   intrin->src[4] = nir_src_for_ssa(src4);
5192   intrin->src[5] = nir_src_for_ssa(src5);
5193
5194   nir_builder_instr_insert(build, &intrin->instr);
5195   return &intrin->dest.ssa;
5196}
5197static inline nir_ssa_def *
5198_nir_build_byte_permute_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
5199{
5200   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5201      build->shader, nir_intrinsic_byte_permute_amd);
5202
5203      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
5204   intrin->src[0] = nir_src_for_ssa(src0);
5205   intrin->src[1] = nir_src_for_ssa(src1);
5206   intrin->src[2] = nir_src_for_ssa(src2);
5207
5208   nir_builder_instr_insert(build, &intrin->instr);
5209   return &intrin->dest.ssa;
5210}
5211static inline nir_intrinsic_instr *
5212_nir_build_cond_end_ir3(nir_builder *build, nir_ssa_def *src0)
5213{
5214   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5215      build->shader, nir_intrinsic_cond_end_ir3);
5216
5217   intrin->src[0] = nir_src_for_ssa(src0);
5218
5219   nir_builder_instr_insert(build, &intrin->instr);
5220   return intrin;
5221}
5222static inline nir_intrinsic_instr *
5223_nir_build_control_barrier(nir_builder *build)
5224{
5225   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5226      build->shader, nir_intrinsic_control_barrier);
5227
5228
5229   nir_builder_instr_insert(build, &intrin->instr);
5230   return intrin;
5231}
5232static inline nir_ssa_def *
5233_nir_build_convert_alu_types(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_convert_alu_types_indices indices)
5234{
5235   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5236      build->shader, nir_intrinsic_convert_alu_types);
5237
5238   intrin->num_components = src0->num_components;
5239      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
5240   intrin->src[0] = nir_src_for_ssa(src0);
5241   nir_intrinsic_set_src_type(intrin, indices.src_type);
5242   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
5243   nir_intrinsic_set_rounding_mode(intrin, indices.rounding_mode);
5244   nir_intrinsic_set_saturate(intrin, indices.saturate);
5245
5246   nir_builder_instr_insert(build, &intrin->instr);
5247   return &intrin->dest.ssa;
5248}
5249static inline nir_intrinsic_instr *
5250_nir_build_copy_deref(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_copy_deref_indices indices)
5251{
5252   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5253      build->shader, nir_intrinsic_copy_deref);
5254
5255   intrin->src[0] = nir_src_for_ssa(src0);
5256   intrin->src[1] = nir_src_for_ssa(src1);
5257   nir_intrinsic_set_dst_access(intrin, indices.dst_access);
5258   nir_intrinsic_set_src_access(intrin, indices.src_access);
5259
5260   nir_builder_instr_insert(build, &intrin->instr);
5261   return intrin;
5262}
5263static inline nir_intrinsic_instr *
5264_nir_build_demote(nir_builder *build)
5265{
5266   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5267      build->shader, nir_intrinsic_demote);
5268
5269
5270   nir_builder_instr_insert(build, &intrin->instr);
5271   return intrin;
5272}
5273static inline nir_intrinsic_instr *
5274_nir_build_demote_if(nir_builder *build, nir_ssa_def *src0)
5275{
5276   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5277      build->shader, nir_intrinsic_demote_if);
5278
5279   intrin->src[0] = nir_src_for_ssa(src0);
5280
5281   nir_builder_instr_insert(build, &intrin->instr);
5282   return intrin;
5283}
5284static inline nir_ssa_def *
5285_nir_build_deref_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_add_indices indices)
5286{
5287   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5288      build->shader, nir_intrinsic_deref_atomic_add);
5289
5290      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5291   intrin->src[0] = nir_src_for_ssa(src0);
5292   intrin->src[1] = nir_src_for_ssa(src1);
5293   nir_intrinsic_set_access(intrin, indices.access);
5294
5295   nir_builder_instr_insert(build, &intrin->instr);
5296   return &intrin->dest.ssa;
5297}
5298static inline nir_ssa_def *
5299_nir_build_deref_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_and_indices indices)
5300{
5301   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5302      build->shader, nir_intrinsic_deref_atomic_and);
5303
5304      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5305   intrin->src[0] = nir_src_for_ssa(src0);
5306   intrin->src[1] = nir_src_for_ssa(src1);
5307   nir_intrinsic_set_access(intrin, indices.access);
5308
5309   nir_builder_instr_insert(build, &intrin->instr);
5310   return &intrin->dest.ssa;
5311}
5312static inline nir_ssa_def *
5313_nir_build_deref_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_deref_atomic_comp_swap_indices indices)
5314{
5315   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5316      build->shader, nir_intrinsic_deref_atomic_comp_swap);
5317
5318      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5319   intrin->src[0] = nir_src_for_ssa(src0);
5320   intrin->src[1] = nir_src_for_ssa(src1);
5321   intrin->src[2] = nir_src_for_ssa(src2);
5322   nir_intrinsic_set_access(intrin, indices.access);
5323
5324   nir_builder_instr_insert(build, &intrin->instr);
5325   return &intrin->dest.ssa;
5326}
5327static inline nir_ssa_def *
5328_nir_build_deref_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_exchange_indices indices)
5329{
5330   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5331      build->shader, nir_intrinsic_deref_atomic_exchange);
5332
5333      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5334   intrin->src[0] = nir_src_for_ssa(src0);
5335   intrin->src[1] = nir_src_for_ssa(src1);
5336   nir_intrinsic_set_access(intrin, indices.access);
5337
5338   nir_builder_instr_insert(build, &intrin->instr);
5339   return &intrin->dest.ssa;
5340}
5341static inline nir_ssa_def *
5342_nir_build_deref_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_fadd_indices indices)
5343{
5344   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5345      build->shader, nir_intrinsic_deref_atomic_fadd);
5346
5347      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5348   intrin->src[0] = nir_src_for_ssa(src0);
5349   intrin->src[1] = nir_src_for_ssa(src1);
5350   nir_intrinsic_set_access(intrin, indices.access);
5351
5352   nir_builder_instr_insert(build, &intrin->instr);
5353   return &intrin->dest.ssa;
5354}
5355static inline nir_ssa_def *
5356_nir_build_deref_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_deref_atomic_fcomp_swap_indices indices)
5357{
5358   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5359      build->shader, nir_intrinsic_deref_atomic_fcomp_swap);
5360
5361      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5362   intrin->src[0] = nir_src_for_ssa(src0);
5363   intrin->src[1] = nir_src_for_ssa(src1);
5364   intrin->src[2] = nir_src_for_ssa(src2);
5365   nir_intrinsic_set_access(intrin, indices.access);
5366
5367   nir_builder_instr_insert(build, &intrin->instr);
5368   return &intrin->dest.ssa;
5369}
5370static inline nir_ssa_def *
5371_nir_build_deref_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_fmax_indices indices)
5372{
5373   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5374      build->shader, nir_intrinsic_deref_atomic_fmax);
5375
5376      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5377   intrin->src[0] = nir_src_for_ssa(src0);
5378   intrin->src[1] = nir_src_for_ssa(src1);
5379   nir_intrinsic_set_access(intrin, indices.access);
5380
5381   nir_builder_instr_insert(build, &intrin->instr);
5382   return &intrin->dest.ssa;
5383}
5384static inline nir_ssa_def *
5385_nir_build_deref_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_fmin_indices indices)
5386{
5387   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5388      build->shader, nir_intrinsic_deref_atomic_fmin);
5389
5390      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5391   intrin->src[0] = nir_src_for_ssa(src0);
5392   intrin->src[1] = nir_src_for_ssa(src1);
5393   nir_intrinsic_set_access(intrin, indices.access);
5394
5395   nir_builder_instr_insert(build, &intrin->instr);
5396   return &intrin->dest.ssa;
5397}
5398static inline nir_ssa_def *
5399_nir_build_deref_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_imax_indices indices)
5400{
5401   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5402      build->shader, nir_intrinsic_deref_atomic_imax);
5403
5404      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5405   intrin->src[0] = nir_src_for_ssa(src0);
5406   intrin->src[1] = nir_src_for_ssa(src1);
5407   nir_intrinsic_set_access(intrin, indices.access);
5408
5409   nir_builder_instr_insert(build, &intrin->instr);
5410   return &intrin->dest.ssa;
5411}
5412static inline nir_ssa_def *
5413_nir_build_deref_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_imin_indices indices)
5414{
5415   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5416      build->shader, nir_intrinsic_deref_atomic_imin);
5417
5418      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5419   intrin->src[0] = nir_src_for_ssa(src0);
5420   intrin->src[1] = nir_src_for_ssa(src1);
5421   nir_intrinsic_set_access(intrin, indices.access);
5422
5423   nir_builder_instr_insert(build, &intrin->instr);
5424   return &intrin->dest.ssa;
5425}
5426static inline nir_ssa_def *
5427_nir_build_deref_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_or_indices indices)
5428{
5429   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5430      build->shader, nir_intrinsic_deref_atomic_or);
5431
5432      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5433   intrin->src[0] = nir_src_for_ssa(src0);
5434   intrin->src[1] = nir_src_for_ssa(src1);
5435   nir_intrinsic_set_access(intrin, indices.access);
5436
5437   nir_builder_instr_insert(build, &intrin->instr);
5438   return &intrin->dest.ssa;
5439}
5440static inline nir_ssa_def *
5441_nir_build_deref_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_umax_indices indices)
5442{
5443   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5444      build->shader, nir_intrinsic_deref_atomic_umax);
5445
5446      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5447   intrin->src[0] = nir_src_for_ssa(src0);
5448   intrin->src[1] = nir_src_for_ssa(src1);
5449   nir_intrinsic_set_access(intrin, indices.access);
5450
5451   nir_builder_instr_insert(build, &intrin->instr);
5452   return &intrin->dest.ssa;
5453}
5454static inline nir_ssa_def *
5455_nir_build_deref_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_umin_indices indices)
5456{
5457   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5458      build->shader, nir_intrinsic_deref_atomic_umin);
5459
5460      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5461   intrin->src[0] = nir_src_for_ssa(src0);
5462   intrin->src[1] = nir_src_for_ssa(src1);
5463   nir_intrinsic_set_access(intrin, indices.access);
5464
5465   nir_builder_instr_insert(build, &intrin->instr);
5466   return &intrin->dest.ssa;
5467}
5468static inline nir_ssa_def *
5469_nir_build_deref_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_deref_atomic_xor_indices indices)
5470{
5471   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5472      build->shader, nir_intrinsic_deref_atomic_xor);
5473
5474      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5475   intrin->src[0] = nir_src_for_ssa(src0);
5476   intrin->src[1] = nir_src_for_ssa(src1);
5477   nir_intrinsic_set_access(intrin, indices.access);
5478
5479   nir_builder_instr_insert(build, &intrin->instr);
5480   return &intrin->dest.ssa;
5481}
5482static inline nir_ssa_def *
5483_nir_build_deref_buffer_array_length(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_deref_buffer_array_length_indices indices)
5484{
5485   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5486      build->shader, nir_intrinsic_deref_buffer_array_length);
5487
5488      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5489   intrin->src[0] = nir_src_for_ssa(src0);
5490   nir_intrinsic_set_access(intrin, indices.access);
5491
5492   nir_builder_instr_insert(build, &intrin->instr);
5493   return &intrin->dest.ssa;
5494}
5495static inline nir_ssa_def *
5496_nir_build_deref_mode_is(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_deref_mode_is_indices indices)
5497{
5498   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5499      build->shader, nir_intrinsic_deref_mode_is);
5500
5501      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5502   intrin->src[0] = nir_src_for_ssa(src0);
5503   nir_intrinsic_set_memory_modes(intrin, indices.memory_modes);
5504
5505   nir_builder_instr_insert(build, &intrin->instr);
5506   return &intrin->dest.ssa;
5507}
5508static inline nir_intrinsic_instr *
5509_nir_build_discard(nir_builder *build)
5510{
5511   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5512      build->shader, nir_intrinsic_discard);
5513
5514
5515   nir_builder_instr_insert(build, &intrin->instr);
5516   return intrin;
5517}
5518static inline nir_intrinsic_instr *
5519_nir_build_discard_if(nir_builder *build, nir_ssa_def *src0)
5520{
5521   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5522      build->shader, nir_intrinsic_discard_if);
5523
5524   intrin->src[0] = nir_src_for_ssa(src0);
5525
5526   nir_builder_instr_insert(build, &intrin->instr);
5527   return intrin;
5528}
5529static inline nir_ssa_def *
5530_nir_build_elect(nir_builder *build, unsigned bit_size)
5531{
5532   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5533      build->shader, nir_intrinsic_elect);
5534
5535      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5536
5537   nir_builder_instr_insert(build, &intrin->instr);
5538   return &intrin->dest.ssa;
5539}
5540static inline nir_intrinsic_instr *
5541_nir_build_emit_vertex(nir_builder *build, struct _nir_emit_vertex_indices indices)
5542{
5543   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5544      build->shader, nir_intrinsic_emit_vertex);
5545
5546   nir_intrinsic_set_stream_id(intrin, indices.stream_id);
5547
5548   nir_builder_instr_insert(build, &intrin->instr);
5549   return intrin;
5550}
5551static inline nir_intrinsic_instr *
5552_nir_build_emit_vertex_with_counter(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_emit_vertex_with_counter_indices indices)
5553{
5554   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5555      build->shader, nir_intrinsic_emit_vertex_with_counter);
5556
5557   intrin->src[0] = nir_src_for_ssa(src0);
5558   intrin->src[1] = nir_src_for_ssa(src1);
5559   nir_intrinsic_set_stream_id(intrin, indices.stream_id);
5560
5561   nir_builder_instr_insert(build, &intrin->instr);
5562   return intrin;
5563}
5564static inline nir_intrinsic_instr *
5565_nir_build_end_invocation_interlock(nir_builder *build)
5566{
5567   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5568      build->shader, nir_intrinsic_end_invocation_interlock);
5569
5570
5571   nir_builder_instr_insert(build, &intrin->instr);
5572   return intrin;
5573}
5574static inline nir_intrinsic_instr *
5575_nir_build_end_patch_ir3(nir_builder *build)
5576{
5577   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5578      build->shader, nir_intrinsic_end_patch_ir3);
5579
5580
5581   nir_builder_instr_insert(build, &intrin->instr);
5582   return intrin;
5583}
5584static inline nir_intrinsic_instr *
5585_nir_build_end_primitive(nir_builder *build, struct _nir_end_primitive_indices indices)
5586{
5587   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5588      build->shader, nir_intrinsic_end_primitive);
5589
5590   nir_intrinsic_set_stream_id(intrin, indices.stream_id);
5591
5592   nir_builder_instr_insert(build, &intrin->instr);
5593   return intrin;
5594}
5595static inline nir_intrinsic_instr *
5596_nir_build_end_primitive_with_counter(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_end_primitive_with_counter_indices indices)
5597{
5598   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5599      build->shader, nir_intrinsic_end_primitive_with_counter);
5600
5601   intrin->src[0] = nir_src_for_ssa(src0);
5602   intrin->src[1] = nir_src_for_ssa(src1);
5603   nir_intrinsic_set_stream_id(intrin, indices.stream_id);
5604
5605   nir_builder_instr_insert(build, &intrin->instr);
5606   return intrin;
5607}
5608static inline nir_ssa_def *
5609_nir_build_exclusive_scan(nir_builder *build, nir_ssa_def *src0, struct _nir_exclusive_scan_indices indices)
5610{
5611   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5612      build->shader, nir_intrinsic_exclusive_scan);
5613
5614   intrin->num_components = src0->num_components;
5615      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
5616   intrin->src[0] = nir_src_for_ssa(src0);
5617   nir_intrinsic_set_reduction_op(intrin, indices.reduction_op);
5618
5619   nir_builder_instr_insert(build, &intrin->instr);
5620   return &intrin->dest.ssa;
5621}
5622static inline nir_intrinsic_instr *
5623_nir_build_execute_callable(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
5624{
5625   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5626      build->shader, nir_intrinsic_execute_callable);
5627
5628   intrin->src[0] = nir_src_for_ssa(src0);
5629   intrin->src[1] = nir_src_for_ssa(src1);
5630
5631   nir_builder_instr_insert(build, &intrin->instr);
5632   return intrin;
5633}
5634static inline nir_intrinsic_instr *
5635_nir_build_export_primitive_amd(nir_builder *build, nir_ssa_def *src0)
5636{
5637   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5638      build->shader, nir_intrinsic_export_primitive_amd);
5639
5640   intrin->src[0] = nir_src_for_ssa(src0);
5641
5642   nir_builder_instr_insert(build, &intrin->instr);
5643   return intrin;
5644}
5645static inline nir_intrinsic_instr *
5646_nir_build_export_vertex_amd(nir_builder *build)
5647{
5648   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5649      build->shader, nir_intrinsic_export_vertex_amd);
5650
5651
5652   nir_builder_instr_insert(build, &intrin->instr);
5653   return intrin;
5654}
5655static inline nir_ssa_def *
5656_nir_build_first_invocation(nir_builder *build)
5657{
5658   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5659      build->shader, nir_intrinsic_first_invocation);
5660
5661      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
5662
5663   nir_builder_instr_insert(build, &intrin->instr);
5664   return &intrin->dest.ssa;
5665}
5666static inline nir_ssa_def *
5667_nir_build_gds_atomic_add_amd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_gds_atomic_add_amd_indices indices)
5668{
5669   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5670      build->shader, nir_intrinsic_gds_atomic_add_amd);
5671
5672      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5673   intrin->src[0] = nir_src_for_ssa(src0);
5674   intrin->src[1] = nir_src_for_ssa(src1);
5675   intrin->src[2] = nir_src_for_ssa(src2);
5676   nir_intrinsic_set_base(intrin, indices.base);
5677
5678   nir_builder_instr_insert(build, &intrin->instr);
5679   return &intrin->dest.ssa;
5680}
5681static inline nir_ssa_def *
5682_nir_build_get_ssbo_size(nir_builder *build, nir_ssa_def *src0, struct _nir_get_ssbo_size_indices indices)
5683{
5684   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5685      build->shader, nir_intrinsic_get_ssbo_size);
5686
5687      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
5688   intrin->src[0] = nir_src_for_ssa(src0);
5689   nir_intrinsic_set_access(intrin, indices.access);
5690
5691   nir_builder_instr_insert(build, &intrin->instr);
5692   return &intrin->dest.ssa;
5693}
5694static inline nir_ssa_def *
5695_nir_build_get_ubo_size(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
5696{
5697   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5698      build->shader, nir_intrinsic_get_ubo_size);
5699
5700      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5701   intrin->src[0] = nir_src_for_ssa(src0);
5702
5703   nir_builder_instr_insert(build, &intrin->instr);
5704   return &intrin->dest.ssa;
5705}
5706static inline nir_ssa_def *
5707_nir_build_global_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_add_indices indices)
5708{
5709   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5710      build->shader, nir_intrinsic_global_atomic_add);
5711
5712      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5713   intrin->src[0] = nir_src_for_ssa(src0);
5714   intrin->src[1] = nir_src_for_ssa(src1);
5715   nir_intrinsic_set_base(intrin, indices.base);
5716
5717   nir_builder_instr_insert(build, &intrin->instr);
5718   return &intrin->dest.ssa;
5719}
5720static inline nir_ssa_def *
5721_nir_build_global_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_and_indices indices)
5722{
5723   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5724      build->shader, nir_intrinsic_global_atomic_and);
5725
5726      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5727   intrin->src[0] = nir_src_for_ssa(src0);
5728   intrin->src[1] = nir_src_for_ssa(src1);
5729   nir_intrinsic_set_base(intrin, indices.base);
5730
5731   nir_builder_instr_insert(build, &intrin->instr);
5732   return &intrin->dest.ssa;
5733}
5734static inline nir_ssa_def *
5735_nir_build_global_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_global_atomic_comp_swap_indices indices)
5736{
5737   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5738      build->shader, nir_intrinsic_global_atomic_comp_swap);
5739
5740      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5741   intrin->src[0] = nir_src_for_ssa(src0);
5742   intrin->src[1] = nir_src_for_ssa(src1);
5743   intrin->src[2] = nir_src_for_ssa(src2);
5744   nir_intrinsic_set_base(intrin, indices.base);
5745
5746   nir_builder_instr_insert(build, &intrin->instr);
5747   return &intrin->dest.ssa;
5748}
5749static inline nir_ssa_def *
5750_nir_build_global_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_exchange_indices indices)
5751{
5752   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5753      build->shader, nir_intrinsic_global_atomic_exchange);
5754
5755      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5756   intrin->src[0] = nir_src_for_ssa(src0);
5757   intrin->src[1] = nir_src_for_ssa(src1);
5758   nir_intrinsic_set_base(intrin, indices.base);
5759
5760   nir_builder_instr_insert(build, &intrin->instr);
5761   return &intrin->dest.ssa;
5762}
5763static inline nir_ssa_def *
5764_nir_build_global_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_fadd_indices indices)
5765{
5766   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5767      build->shader, nir_intrinsic_global_atomic_fadd);
5768
5769      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5770   intrin->src[0] = nir_src_for_ssa(src0);
5771   intrin->src[1] = nir_src_for_ssa(src1);
5772   nir_intrinsic_set_base(intrin, indices.base);
5773
5774   nir_builder_instr_insert(build, &intrin->instr);
5775   return &intrin->dest.ssa;
5776}
5777static inline nir_ssa_def *
5778_nir_build_global_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_global_atomic_fcomp_swap_indices indices)
5779{
5780   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5781      build->shader, nir_intrinsic_global_atomic_fcomp_swap);
5782
5783      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5784   intrin->src[0] = nir_src_for_ssa(src0);
5785   intrin->src[1] = nir_src_for_ssa(src1);
5786   intrin->src[2] = nir_src_for_ssa(src2);
5787   nir_intrinsic_set_base(intrin, indices.base);
5788
5789   nir_builder_instr_insert(build, &intrin->instr);
5790   return &intrin->dest.ssa;
5791}
5792static inline nir_ssa_def *
5793_nir_build_global_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_fmax_indices indices)
5794{
5795   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5796      build->shader, nir_intrinsic_global_atomic_fmax);
5797
5798      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5799   intrin->src[0] = nir_src_for_ssa(src0);
5800   intrin->src[1] = nir_src_for_ssa(src1);
5801   nir_intrinsic_set_base(intrin, indices.base);
5802
5803   nir_builder_instr_insert(build, &intrin->instr);
5804   return &intrin->dest.ssa;
5805}
5806static inline nir_ssa_def *
5807_nir_build_global_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_fmin_indices indices)
5808{
5809   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5810      build->shader, nir_intrinsic_global_atomic_fmin);
5811
5812      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5813   intrin->src[0] = nir_src_for_ssa(src0);
5814   intrin->src[1] = nir_src_for_ssa(src1);
5815   nir_intrinsic_set_base(intrin, indices.base);
5816
5817   nir_builder_instr_insert(build, &intrin->instr);
5818   return &intrin->dest.ssa;
5819}
5820static inline nir_ssa_def *
5821_nir_build_global_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_imax_indices indices)
5822{
5823   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5824      build->shader, nir_intrinsic_global_atomic_imax);
5825
5826      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5827   intrin->src[0] = nir_src_for_ssa(src0);
5828   intrin->src[1] = nir_src_for_ssa(src1);
5829   nir_intrinsic_set_base(intrin, indices.base);
5830
5831   nir_builder_instr_insert(build, &intrin->instr);
5832   return &intrin->dest.ssa;
5833}
5834static inline nir_ssa_def *
5835_nir_build_global_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_imin_indices indices)
5836{
5837   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5838      build->shader, nir_intrinsic_global_atomic_imin);
5839
5840      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5841   intrin->src[0] = nir_src_for_ssa(src0);
5842   intrin->src[1] = nir_src_for_ssa(src1);
5843   nir_intrinsic_set_base(intrin, indices.base);
5844
5845   nir_builder_instr_insert(build, &intrin->instr);
5846   return &intrin->dest.ssa;
5847}
5848static inline nir_ssa_def *
5849_nir_build_global_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_or_indices indices)
5850{
5851   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5852      build->shader, nir_intrinsic_global_atomic_or);
5853
5854      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5855   intrin->src[0] = nir_src_for_ssa(src0);
5856   intrin->src[1] = nir_src_for_ssa(src1);
5857   nir_intrinsic_set_base(intrin, indices.base);
5858
5859   nir_builder_instr_insert(build, &intrin->instr);
5860   return &intrin->dest.ssa;
5861}
5862static inline nir_ssa_def *
5863_nir_build_global_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_umax_indices indices)
5864{
5865   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5866      build->shader, nir_intrinsic_global_atomic_umax);
5867
5868      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5869   intrin->src[0] = nir_src_for_ssa(src0);
5870   intrin->src[1] = nir_src_for_ssa(src1);
5871   nir_intrinsic_set_base(intrin, indices.base);
5872
5873   nir_builder_instr_insert(build, &intrin->instr);
5874   return &intrin->dest.ssa;
5875}
5876static inline nir_ssa_def *
5877_nir_build_global_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_umin_indices indices)
5878{
5879   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5880      build->shader, nir_intrinsic_global_atomic_umin);
5881
5882      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5883   intrin->src[0] = nir_src_for_ssa(src0);
5884   intrin->src[1] = nir_src_for_ssa(src1);
5885   nir_intrinsic_set_base(intrin, indices.base);
5886
5887   nir_builder_instr_insert(build, &intrin->instr);
5888   return &intrin->dest.ssa;
5889}
5890static inline nir_ssa_def *
5891_nir_build_global_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_global_atomic_xor_indices indices)
5892{
5893   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5894      build->shader, nir_intrinsic_global_atomic_xor);
5895
5896      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5897   intrin->src[0] = nir_src_for_ssa(src0);
5898   intrin->src[1] = nir_src_for_ssa(src1);
5899   nir_intrinsic_set_base(intrin, indices.base);
5900
5901   nir_builder_instr_insert(build, &intrin->instr);
5902   return &intrin->dest.ssa;
5903}
5904static inline nir_intrinsic_instr *
5905_nir_build_group_memory_barrier(nir_builder *build)
5906{
5907   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5908      build->shader, nir_intrinsic_group_memory_barrier);
5909
5910
5911   nir_builder_instr_insert(build, &intrin->instr);
5912   return intrin;
5913}
5914static inline nir_ssa_def *
5915_nir_build_has_input_primitive_amd(nir_builder *build)
5916{
5917   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5918      build->shader, nir_intrinsic_has_input_primitive_amd);
5919
5920      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
5921
5922   nir_builder_instr_insert(build, &intrin->instr);
5923   return &intrin->dest.ssa;
5924}
5925static inline nir_ssa_def *
5926_nir_build_has_input_vertex_amd(nir_builder *build)
5927{
5928   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5929      build->shader, nir_intrinsic_has_input_vertex_amd);
5930
5931      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
5932
5933   nir_builder_instr_insert(build, &intrin->instr);
5934   return &intrin->dest.ssa;
5935}
5936static inline nir_intrinsic_instr *
5937_nir_build_ignore_ray_intersection(nir_builder *build)
5938{
5939   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5940      build->shader, nir_intrinsic_ignore_ray_intersection);
5941
5942
5943   nir_builder_instr_insert(build, &intrin->instr);
5944   return intrin;
5945}
5946static inline nir_ssa_def *
5947_nir_build_image_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_add_indices indices)
5948{
5949   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5950      build->shader, nir_intrinsic_image_atomic_add);
5951
5952      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5953   intrin->src[0] = nir_src_for_ssa(src0);
5954   intrin->src[1] = nir_src_for_ssa(src1);
5955   intrin->src[2] = nir_src_for_ssa(src2);
5956   intrin->src[3] = nir_src_for_ssa(src3);
5957   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5958   nir_intrinsic_set_image_array(intrin, indices.image_array);
5959   nir_intrinsic_set_format(intrin, indices.format);
5960   nir_intrinsic_set_access(intrin, indices.access);
5961
5962   nir_builder_instr_insert(build, &intrin->instr);
5963   return &intrin->dest.ssa;
5964}
5965static inline nir_ssa_def *
5966_nir_build_image_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_and_indices indices)
5967{
5968   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5969      build->shader, nir_intrinsic_image_atomic_and);
5970
5971      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5972   intrin->src[0] = nir_src_for_ssa(src0);
5973   intrin->src[1] = nir_src_for_ssa(src1);
5974   intrin->src[2] = nir_src_for_ssa(src2);
5975   intrin->src[3] = nir_src_for_ssa(src3);
5976   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5977   nir_intrinsic_set_image_array(intrin, indices.image_array);
5978   nir_intrinsic_set_format(intrin, indices.format);
5979   nir_intrinsic_set_access(intrin, indices.access);
5980
5981   nir_builder_instr_insert(build, &intrin->instr);
5982   return &intrin->dest.ssa;
5983}
5984static inline nir_ssa_def *
5985_nir_build_image_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_atomic_comp_swap_indices indices)
5986{
5987   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
5988      build->shader, nir_intrinsic_image_atomic_comp_swap);
5989
5990      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
5991   intrin->src[0] = nir_src_for_ssa(src0);
5992   intrin->src[1] = nir_src_for_ssa(src1);
5993   intrin->src[2] = nir_src_for_ssa(src2);
5994   intrin->src[3] = nir_src_for_ssa(src3);
5995   intrin->src[4] = nir_src_for_ssa(src4);
5996   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
5997   nir_intrinsic_set_image_array(intrin, indices.image_array);
5998   nir_intrinsic_set_format(intrin, indices.format);
5999   nir_intrinsic_set_access(intrin, indices.access);
6000
6001   nir_builder_instr_insert(build, &intrin->instr);
6002   return &intrin->dest.ssa;
6003}
6004static inline nir_ssa_def *
6005_nir_build_image_atomic_dec_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_dec_wrap_indices indices)
6006{
6007   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6008      build->shader, nir_intrinsic_image_atomic_dec_wrap);
6009
6010      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6011   intrin->src[0] = nir_src_for_ssa(src0);
6012   intrin->src[1] = nir_src_for_ssa(src1);
6013   intrin->src[2] = nir_src_for_ssa(src2);
6014   intrin->src[3] = nir_src_for_ssa(src3);
6015   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6016   nir_intrinsic_set_image_array(intrin, indices.image_array);
6017   nir_intrinsic_set_format(intrin, indices.format);
6018   nir_intrinsic_set_access(intrin, indices.access);
6019
6020   nir_builder_instr_insert(build, &intrin->instr);
6021   return &intrin->dest.ssa;
6022}
6023static inline nir_ssa_def *
6024_nir_build_image_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_exchange_indices indices)
6025{
6026   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6027      build->shader, nir_intrinsic_image_atomic_exchange);
6028
6029      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6030   intrin->src[0] = nir_src_for_ssa(src0);
6031   intrin->src[1] = nir_src_for_ssa(src1);
6032   intrin->src[2] = nir_src_for_ssa(src2);
6033   intrin->src[3] = nir_src_for_ssa(src3);
6034   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6035   nir_intrinsic_set_image_array(intrin, indices.image_array);
6036   nir_intrinsic_set_format(intrin, indices.format);
6037   nir_intrinsic_set_access(intrin, indices.access);
6038
6039   nir_builder_instr_insert(build, &intrin->instr);
6040   return &intrin->dest.ssa;
6041}
6042static inline nir_ssa_def *
6043_nir_build_image_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_fadd_indices indices)
6044{
6045   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6046      build->shader, nir_intrinsic_image_atomic_fadd);
6047
6048      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6049   intrin->src[0] = nir_src_for_ssa(src0);
6050   intrin->src[1] = nir_src_for_ssa(src1);
6051   intrin->src[2] = nir_src_for_ssa(src2);
6052   intrin->src[3] = nir_src_for_ssa(src3);
6053   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6054   nir_intrinsic_set_image_array(intrin, indices.image_array);
6055   nir_intrinsic_set_format(intrin, indices.format);
6056   nir_intrinsic_set_access(intrin, indices.access);
6057
6058   nir_builder_instr_insert(build, &intrin->instr);
6059   return &intrin->dest.ssa;
6060}
6061static inline nir_ssa_def *
6062_nir_build_image_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_fmax_indices indices)
6063{
6064   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6065      build->shader, nir_intrinsic_image_atomic_fmax);
6066
6067      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6068   intrin->src[0] = nir_src_for_ssa(src0);
6069   intrin->src[1] = nir_src_for_ssa(src1);
6070   intrin->src[2] = nir_src_for_ssa(src2);
6071   intrin->src[3] = nir_src_for_ssa(src3);
6072   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6073   nir_intrinsic_set_image_array(intrin, indices.image_array);
6074   nir_intrinsic_set_format(intrin, indices.format);
6075   nir_intrinsic_set_access(intrin, indices.access);
6076
6077   nir_builder_instr_insert(build, &intrin->instr);
6078   return &intrin->dest.ssa;
6079}
6080static inline nir_ssa_def *
6081_nir_build_image_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_fmin_indices indices)
6082{
6083   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6084      build->shader, nir_intrinsic_image_atomic_fmin);
6085
6086      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6087   intrin->src[0] = nir_src_for_ssa(src0);
6088   intrin->src[1] = nir_src_for_ssa(src1);
6089   intrin->src[2] = nir_src_for_ssa(src2);
6090   intrin->src[3] = nir_src_for_ssa(src3);
6091   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6092   nir_intrinsic_set_image_array(intrin, indices.image_array);
6093   nir_intrinsic_set_format(intrin, indices.format);
6094   nir_intrinsic_set_access(intrin, indices.access);
6095
6096   nir_builder_instr_insert(build, &intrin->instr);
6097   return &intrin->dest.ssa;
6098}
6099static inline nir_ssa_def *
6100_nir_build_image_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_imax_indices indices)
6101{
6102   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6103      build->shader, nir_intrinsic_image_atomic_imax);
6104
6105      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6106   intrin->src[0] = nir_src_for_ssa(src0);
6107   intrin->src[1] = nir_src_for_ssa(src1);
6108   intrin->src[2] = nir_src_for_ssa(src2);
6109   intrin->src[3] = nir_src_for_ssa(src3);
6110   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6111   nir_intrinsic_set_image_array(intrin, indices.image_array);
6112   nir_intrinsic_set_format(intrin, indices.format);
6113   nir_intrinsic_set_access(intrin, indices.access);
6114
6115   nir_builder_instr_insert(build, &intrin->instr);
6116   return &intrin->dest.ssa;
6117}
6118static inline nir_ssa_def *
6119_nir_build_image_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_imin_indices indices)
6120{
6121   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6122      build->shader, nir_intrinsic_image_atomic_imin);
6123
6124      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6125   intrin->src[0] = nir_src_for_ssa(src0);
6126   intrin->src[1] = nir_src_for_ssa(src1);
6127   intrin->src[2] = nir_src_for_ssa(src2);
6128   intrin->src[3] = nir_src_for_ssa(src3);
6129   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6130   nir_intrinsic_set_image_array(intrin, indices.image_array);
6131   nir_intrinsic_set_format(intrin, indices.format);
6132   nir_intrinsic_set_access(intrin, indices.access);
6133
6134   nir_builder_instr_insert(build, &intrin->instr);
6135   return &intrin->dest.ssa;
6136}
6137static inline nir_ssa_def *
6138_nir_build_image_atomic_inc_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_inc_wrap_indices indices)
6139{
6140   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6141      build->shader, nir_intrinsic_image_atomic_inc_wrap);
6142
6143      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6144   intrin->src[0] = nir_src_for_ssa(src0);
6145   intrin->src[1] = nir_src_for_ssa(src1);
6146   intrin->src[2] = nir_src_for_ssa(src2);
6147   intrin->src[3] = nir_src_for_ssa(src3);
6148   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6149   nir_intrinsic_set_image_array(intrin, indices.image_array);
6150   nir_intrinsic_set_format(intrin, indices.format);
6151   nir_intrinsic_set_access(intrin, indices.access);
6152
6153   nir_builder_instr_insert(build, &intrin->instr);
6154   return &intrin->dest.ssa;
6155}
6156static inline nir_ssa_def *
6157_nir_build_image_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_or_indices indices)
6158{
6159   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6160      build->shader, nir_intrinsic_image_atomic_or);
6161
6162      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6163   intrin->src[0] = nir_src_for_ssa(src0);
6164   intrin->src[1] = nir_src_for_ssa(src1);
6165   intrin->src[2] = nir_src_for_ssa(src2);
6166   intrin->src[3] = nir_src_for_ssa(src3);
6167   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6168   nir_intrinsic_set_image_array(intrin, indices.image_array);
6169   nir_intrinsic_set_format(intrin, indices.format);
6170   nir_intrinsic_set_access(intrin, indices.access);
6171
6172   nir_builder_instr_insert(build, &intrin->instr);
6173   return &intrin->dest.ssa;
6174}
6175static inline nir_ssa_def *
6176_nir_build_image_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_umax_indices indices)
6177{
6178   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6179      build->shader, nir_intrinsic_image_atomic_umax);
6180
6181      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6182   intrin->src[0] = nir_src_for_ssa(src0);
6183   intrin->src[1] = nir_src_for_ssa(src1);
6184   intrin->src[2] = nir_src_for_ssa(src2);
6185   intrin->src[3] = nir_src_for_ssa(src3);
6186   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6187   nir_intrinsic_set_image_array(intrin, indices.image_array);
6188   nir_intrinsic_set_format(intrin, indices.format);
6189   nir_intrinsic_set_access(intrin, indices.access);
6190
6191   nir_builder_instr_insert(build, &intrin->instr);
6192   return &intrin->dest.ssa;
6193}
6194static inline nir_ssa_def *
6195_nir_build_image_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_umin_indices indices)
6196{
6197   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6198      build->shader, nir_intrinsic_image_atomic_umin);
6199
6200      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6201   intrin->src[0] = nir_src_for_ssa(src0);
6202   intrin->src[1] = nir_src_for_ssa(src1);
6203   intrin->src[2] = nir_src_for_ssa(src2);
6204   intrin->src[3] = nir_src_for_ssa(src3);
6205   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6206   nir_intrinsic_set_image_array(intrin, indices.image_array);
6207   nir_intrinsic_set_format(intrin, indices.format);
6208   nir_intrinsic_set_access(intrin, indices.access);
6209
6210   nir_builder_instr_insert(build, &intrin->instr);
6211   return &intrin->dest.ssa;
6212}
6213static inline nir_ssa_def *
6214_nir_build_image_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_atomic_xor_indices indices)
6215{
6216   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6217      build->shader, nir_intrinsic_image_atomic_xor);
6218
6219      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6220   intrin->src[0] = nir_src_for_ssa(src0);
6221   intrin->src[1] = nir_src_for_ssa(src1);
6222   intrin->src[2] = nir_src_for_ssa(src2);
6223   intrin->src[3] = nir_src_for_ssa(src3);
6224   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6225   nir_intrinsic_set_image_array(intrin, indices.image_array);
6226   nir_intrinsic_set_format(intrin, indices.format);
6227   nir_intrinsic_set_access(intrin, indices.access);
6228
6229   nir_builder_instr_insert(build, &intrin->instr);
6230   return &intrin->dest.ssa;
6231}
6232static inline nir_ssa_def *
6233_nir_build_image_deref_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_add_indices indices)
6234{
6235   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6236      build->shader, nir_intrinsic_image_deref_atomic_add);
6237
6238      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6239   intrin->src[0] = nir_src_for_ssa(src0);
6240   intrin->src[1] = nir_src_for_ssa(src1);
6241   intrin->src[2] = nir_src_for_ssa(src2);
6242   intrin->src[3] = nir_src_for_ssa(src3);
6243   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6244   nir_intrinsic_set_image_array(intrin, indices.image_array);
6245   nir_intrinsic_set_format(intrin, indices.format);
6246   nir_intrinsic_set_access(intrin, indices.access);
6247
6248   nir_builder_instr_insert(build, &intrin->instr);
6249   return &intrin->dest.ssa;
6250}
6251static inline nir_ssa_def *
6252_nir_build_image_deref_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_and_indices indices)
6253{
6254   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6255      build->shader, nir_intrinsic_image_deref_atomic_and);
6256
6257      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6258   intrin->src[0] = nir_src_for_ssa(src0);
6259   intrin->src[1] = nir_src_for_ssa(src1);
6260   intrin->src[2] = nir_src_for_ssa(src2);
6261   intrin->src[3] = nir_src_for_ssa(src3);
6262   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6263   nir_intrinsic_set_image_array(intrin, indices.image_array);
6264   nir_intrinsic_set_format(intrin, indices.format);
6265   nir_intrinsic_set_access(intrin, indices.access);
6266
6267   nir_builder_instr_insert(build, &intrin->instr);
6268   return &intrin->dest.ssa;
6269}
6270static inline nir_ssa_def *
6271_nir_build_image_deref_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_deref_atomic_comp_swap_indices indices)
6272{
6273   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6274      build->shader, nir_intrinsic_image_deref_atomic_comp_swap);
6275
6276      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6277   intrin->src[0] = nir_src_for_ssa(src0);
6278   intrin->src[1] = nir_src_for_ssa(src1);
6279   intrin->src[2] = nir_src_for_ssa(src2);
6280   intrin->src[3] = nir_src_for_ssa(src3);
6281   intrin->src[4] = nir_src_for_ssa(src4);
6282   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6283   nir_intrinsic_set_image_array(intrin, indices.image_array);
6284   nir_intrinsic_set_format(intrin, indices.format);
6285   nir_intrinsic_set_access(intrin, indices.access);
6286
6287   nir_builder_instr_insert(build, &intrin->instr);
6288   return &intrin->dest.ssa;
6289}
6290static inline nir_ssa_def *
6291_nir_build_image_deref_atomic_dec_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_dec_wrap_indices indices)
6292{
6293   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6294      build->shader, nir_intrinsic_image_deref_atomic_dec_wrap);
6295
6296      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6297   intrin->src[0] = nir_src_for_ssa(src0);
6298   intrin->src[1] = nir_src_for_ssa(src1);
6299   intrin->src[2] = nir_src_for_ssa(src2);
6300   intrin->src[3] = nir_src_for_ssa(src3);
6301   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6302   nir_intrinsic_set_image_array(intrin, indices.image_array);
6303   nir_intrinsic_set_format(intrin, indices.format);
6304   nir_intrinsic_set_access(intrin, indices.access);
6305
6306   nir_builder_instr_insert(build, &intrin->instr);
6307   return &intrin->dest.ssa;
6308}
6309static inline nir_ssa_def *
6310_nir_build_image_deref_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_exchange_indices indices)
6311{
6312   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6313      build->shader, nir_intrinsic_image_deref_atomic_exchange);
6314
6315      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6316   intrin->src[0] = nir_src_for_ssa(src0);
6317   intrin->src[1] = nir_src_for_ssa(src1);
6318   intrin->src[2] = nir_src_for_ssa(src2);
6319   intrin->src[3] = nir_src_for_ssa(src3);
6320   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6321   nir_intrinsic_set_image_array(intrin, indices.image_array);
6322   nir_intrinsic_set_format(intrin, indices.format);
6323   nir_intrinsic_set_access(intrin, indices.access);
6324
6325   nir_builder_instr_insert(build, &intrin->instr);
6326   return &intrin->dest.ssa;
6327}
6328static inline nir_ssa_def *
6329_nir_build_image_deref_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_fadd_indices indices)
6330{
6331   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6332      build->shader, nir_intrinsic_image_deref_atomic_fadd);
6333
6334      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6335   intrin->src[0] = nir_src_for_ssa(src0);
6336   intrin->src[1] = nir_src_for_ssa(src1);
6337   intrin->src[2] = nir_src_for_ssa(src2);
6338   intrin->src[3] = nir_src_for_ssa(src3);
6339   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6340   nir_intrinsic_set_image_array(intrin, indices.image_array);
6341   nir_intrinsic_set_format(intrin, indices.format);
6342   nir_intrinsic_set_access(intrin, indices.access);
6343
6344   nir_builder_instr_insert(build, &intrin->instr);
6345   return &intrin->dest.ssa;
6346}
6347static inline nir_ssa_def *
6348_nir_build_image_deref_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_fmax_indices indices)
6349{
6350   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6351      build->shader, nir_intrinsic_image_deref_atomic_fmax);
6352
6353      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6354   intrin->src[0] = nir_src_for_ssa(src0);
6355   intrin->src[1] = nir_src_for_ssa(src1);
6356   intrin->src[2] = nir_src_for_ssa(src2);
6357   intrin->src[3] = nir_src_for_ssa(src3);
6358   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6359   nir_intrinsic_set_image_array(intrin, indices.image_array);
6360   nir_intrinsic_set_format(intrin, indices.format);
6361   nir_intrinsic_set_access(intrin, indices.access);
6362
6363   nir_builder_instr_insert(build, &intrin->instr);
6364   return &intrin->dest.ssa;
6365}
6366static inline nir_ssa_def *
6367_nir_build_image_deref_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_fmin_indices indices)
6368{
6369   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6370      build->shader, nir_intrinsic_image_deref_atomic_fmin);
6371
6372      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6373   intrin->src[0] = nir_src_for_ssa(src0);
6374   intrin->src[1] = nir_src_for_ssa(src1);
6375   intrin->src[2] = nir_src_for_ssa(src2);
6376   intrin->src[3] = nir_src_for_ssa(src3);
6377   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6378   nir_intrinsic_set_image_array(intrin, indices.image_array);
6379   nir_intrinsic_set_format(intrin, indices.format);
6380   nir_intrinsic_set_access(intrin, indices.access);
6381
6382   nir_builder_instr_insert(build, &intrin->instr);
6383   return &intrin->dest.ssa;
6384}
6385static inline nir_ssa_def *
6386_nir_build_image_deref_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_imax_indices indices)
6387{
6388   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6389      build->shader, nir_intrinsic_image_deref_atomic_imax);
6390
6391      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6392   intrin->src[0] = nir_src_for_ssa(src0);
6393   intrin->src[1] = nir_src_for_ssa(src1);
6394   intrin->src[2] = nir_src_for_ssa(src2);
6395   intrin->src[3] = nir_src_for_ssa(src3);
6396   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6397   nir_intrinsic_set_image_array(intrin, indices.image_array);
6398   nir_intrinsic_set_format(intrin, indices.format);
6399   nir_intrinsic_set_access(intrin, indices.access);
6400
6401   nir_builder_instr_insert(build, &intrin->instr);
6402   return &intrin->dest.ssa;
6403}
6404static inline nir_ssa_def *
6405_nir_build_image_deref_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_imin_indices indices)
6406{
6407   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6408      build->shader, nir_intrinsic_image_deref_atomic_imin);
6409
6410      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6411   intrin->src[0] = nir_src_for_ssa(src0);
6412   intrin->src[1] = nir_src_for_ssa(src1);
6413   intrin->src[2] = nir_src_for_ssa(src2);
6414   intrin->src[3] = nir_src_for_ssa(src3);
6415   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6416   nir_intrinsic_set_image_array(intrin, indices.image_array);
6417   nir_intrinsic_set_format(intrin, indices.format);
6418   nir_intrinsic_set_access(intrin, indices.access);
6419
6420   nir_builder_instr_insert(build, &intrin->instr);
6421   return &intrin->dest.ssa;
6422}
6423static inline nir_ssa_def *
6424_nir_build_image_deref_atomic_inc_wrap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_inc_wrap_indices indices)
6425{
6426   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6427      build->shader, nir_intrinsic_image_deref_atomic_inc_wrap);
6428
6429      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6430   intrin->src[0] = nir_src_for_ssa(src0);
6431   intrin->src[1] = nir_src_for_ssa(src1);
6432   intrin->src[2] = nir_src_for_ssa(src2);
6433   intrin->src[3] = nir_src_for_ssa(src3);
6434   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6435   nir_intrinsic_set_image_array(intrin, indices.image_array);
6436   nir_intrinsic_set_format(intrin, indices.format);
6437   nir_intrinsic_set_access(intrin, indices.access);
6438
6439   nir_builder_instr_insert(build, &intrin->instr);
6440   return &intrin->dest.ssa;
6441}
6442static inline nir_ssa_def *
6443_nir_build_image_deref_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_or_indices indices)
6444{
6445   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6446      build->shader, nir_intrinsic_image_deref_atomic_or);
6447
6448      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6449   intrin->src[0] = nir_src_for_ssa(src0);
6450   intrin->src[1] = nir_src_for_ssa(src1);
6451   intrin->src[2] = nir_src_for_ssa(src2);
6452   intrin->src[3] = nir_src_for_ssa(src3);
6453   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6454   nir_intrinsic_set_image_array(intrin, indices.image_array);
6455   nir_intrinsic_set_format(intrin, indices.format);
6456   nir_intrinsic_set_access(intrin, indices.access);
6457
6458   nir_builder_instr_insert(build, &intrin->instr);
6459   return &intrin->dest.ssa;
6460}
6461static inline nir_ssa_def *
6462_nir_build_image_deref_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_umax_indices indices)
6463{
6464   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6465      build->shader, nir_intrinsic_image_deref_atomic_umax);
6466
6467      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6468   intrin->src[0] = nir_src_for_ssa(src0);
6469   intrin->src[1] = nir_src_for_ssa(src1);
6470   intrin->src[2] = nir_src_for_ssa(src2);
6471   intrin->src[3] = nir_src_for_ssa(src3);
6472   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6473   nir_intrinsic_set_image_array(intrin, indices.image_array);
6474   nir_intrinsic_set_format(intrin, indices.format);
6475   nir_intrinsic_set_access(intrin, indices.access);
6476
6477   nir_builder_instr_insert(build, &intrin->instr);
6478   return &intrin->dest.ssa;
6479}
6480static inline nir_ssa_def *
6481_nir_build_image_deref_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_umin_indices indices)
6482{
6483   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6484      build->shader, nir_intrinsic_image_deref_atomic_umin);
6485
6486      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6487   intrin->src[0] = nir_src_for_ssa(src0);
6488   intrin->src[1] = nir_src_for_ssa(src1);
6489   intrin->src[2] = nir_src_for_ssa(src2);
6490   intrin->src[3] = nir_src_for_ssa(src3);
6491   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6492   nir_intrinsic_set_image_array(intrin, indices.image_array);
6493   nir_intrinsic_set_format(intrin, indices.format);
6494   nir_intrinsic_set_access(intrin, indices.access);
6495
6496   nir_builder_instr_insert(build, &intrin->instr);
6497   return &intrin->dest.ssa;
6498}
6499static inline nir_ssa_def *
6500_nir_build_image_deref_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_atomic_xor_indices indices)
6501{
6502   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6503      build->shader, nir_intrinsic_image_deref_atomic_xor);
6504
6505      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6506   intrin->src[0] = nir_src_for_ssa(src0);
6507   intrin->src[1] = nir_src_for_ssa(src1);
6508   intrin->src[2] = nir_src_for_ssa(src2);
6509   intrin->src[3] = nir_src_for_ssa(src3);
6510   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6511   nir_intrinsic_set_image_array(intrin, indices.image_array);
6512   nir_intrinsic_set_format(intrin, indices.format);
6513   nir_intrinsic_set_access(intrin, indices.access);
6514
6515   nir_builder_instr_insert(build, &intrin->instr);
6516   return &intrin->dest.ssa;
6517}
6518static inline nir_ssa_def *
6519_nir_build_image_deref_format(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_format_indices indices)
6520{
6521   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6522      build->shader, nir_intrinsic_image_deref_format);
6523
6524      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6525   intrin->src[0] = nir_src_for_ssa(src0);
6526   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6527   nir_intrinsic_set_image_array(intrin, indices.image_array);
6528   nir_intrinsic_set_format(intrin, indices.format);
6529   nir_intrinsic_set_access(intrin, indices.access);
6530
6531   nir_builder_instr_insert(build, &intrin->instr);
6532   return &intrin->dest.ssa;
6533}
6534static inline nir_ssa_def *
6535_nir_build_image_deref_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_load_indices indices)
6536{
6537   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6538      build->shader, nir_intrinsic_image_deref_load);
6539
6540   intrin->num_components = num_components;
6541      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6542   intrin->src[0] = nir_src_for_ssa(src0);
6543   intrin->src[1] = nir_src_for_ssa(src1);
6544   intrin->src[2] = nir_src_for_ssa(src2);
6545   intrin->src[3] = nir_src_for_ssa(src3);
6546   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6547   nir_intrinsic_set_image_array(intrin, indices.image_array);
6548   nir_intrinsic_set_format(intrin, indices.format);
6549   nir_intrinsic_set_access(intrin, indices.access);
6550   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
6551
6552   nir_builder_instr_insert(build, &intrin->instr);
6553   return &intrin->dest.ssa;
6554}
6555static inline nir_ssa_def *
6556_nir_build_image_deref_load_param_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_load_param_intel_indices indices)
6557{
6558   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6559      build->shader, nir_intrinsic_image_deref_load_param_intel);
6560
6561   intrin->num_components = num_components;
6562      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6563   intrin->src[0] = nir_src_for_ssa(src0);
6564   nir_intrinsic_set_base(intrin, indices.base);
6565
6566   nir_builder_instr_insert(build, &intrin->instr);
6567   return &intrin->dest.ssa;
6568}
6569static inline nir_ssa_def *
6570_nir_build_image_deref_load_raw_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_deref_load_raw_intel_indices indices)
6571{
6572   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6573      build->shader, nir_intrinsic_image_deref_load_raw_intel);
6574
6575   intrin->num_components = num_components;
6576      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6577   intrin->src[0] = nir_src_for_ssa(src0);
6578   intrin->src[1] = nir_src_for_ssa(src1);
6579   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6580   nir_intrinsic_set_image_array(intrin, indices.image_array);
6581   nir_intrinsic_set_format(intrin, indices.format);
6582   nir_intrinsic_set_access(intrin, indices.access);
6583
6584   nir_builder_instr_insert(build, &intrin->instr);
6585   return &intrin->dest.ssa;
6586}
6587static inline nir_ssa_def *
6588_nir_build_image_deref_order(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_order_indices indices)
6589{
6590   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6591      build->shader, nir_intrinsic_image_deref_order);
6592
6593      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6594   intrin->src[0] = nir_src_for_ssa(src0);
6595   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6596   nir_intrinsic_set_image_array(intrin, indices.image_array);
6597   nir_intrinsic_set_format(intrin, indices.format);
6598   nir_intrinsic_set_access(intrin, indices.access);
6599
6600   nir_builder_instr_insert(build, &intrin->instr);
6601   return &intrin->dest.ssa;
6602}
6603static inline nir_ssa_def *
6604_nir_build_image_deref_samples(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_deref_samples_indices indices)
6605{
6606   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6607      build->shader, nir_intrinsic_image_deref_samples);
6608
6609      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6610   intrin->src[0] = nir_src_for_ssa(src0);
6611   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6612   nir_intrinsic_set_image_array(intrin, indices.image_array);
6613   nir_intrinsic_set_format(intrin, indices.format);
6614   nir_intrinsic_set_access(intrin, indices.access);
6615
6616   nir_builder_instr_insert(build, &intrin->instr);
6617   return &intrin->dest.ssa;
6618}
6619static inline nir_ssa_def *
6620_nir_build_image_deref_size(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_deref_size_indices indices)
6621{
6622   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6623      build->shader, nir_intrinsic_image_deref_size);
6624
6625   intrin->num_components = num_components;
6626      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6627   intrin->src[0] = nir_src_for_ssa(src0);
6628   intrin->src[1] = nir_src_for_ssa(src1);
6629   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6630   nir_intrinsic_set_image_array(intrin, indices.image_array);
6631   nir_intrinsic_set_format(intrin, indices.format);
6632   nir_intrinsic_set_access(intrin, indices.access);
6633
6634   nir_builder_instr_insert(build, &intrin->instr);
6635   return &intrin->dest.ssa;
6636}
6637static inline nir_ssa_def *
6638_nir_build_image_deref_sparse_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_deref_sparse_load_indices indices)
6639{
6640   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6641      build->shader, nir_intrinsic_image_deref_sparse_load);
6642
6643   intrin->num_components = num_components;
6644      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6645   intrin->src[0] = nir_src_for_ssa(src0);
6646   intrin->src[1] = nir_src_for_ssa(src1);
6647   intrin->src[2] = nir_src_for_ssa(src2);
6648   intrin->src[3] = nir_src_for_ssa(src3);
6649   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6650   nir_intrinsic_set_image_array(intrin, indices.image_array);
6651   nir_intrinsic_set_format(intrin, indices.format);
6652   nir_intrinsic_set_access(intrin, indices.access);
6653   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
6654
6655   nir_builder_instr_insert(build, &intrin->instr);
6656   return &intrin->dest.ssa;
6657}
6658static inline nir_intrinsic_instr *
6659_nir_build_image_deref_store(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_deref_store_indices indices)
6660{
6661   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6662      build->shader, nir_intrinsic_image_deref_store);
6663
6664   intrin->num_components = src3->num_components;
6665   intrin->src[0] = nir_src_for_ssa(src0);
6666   intrin->src[1] = nir_src_for_ssa(src1);
6667   intrin->src[2] = nir_src_for_ssa(src2);
6668   intrin->src[3] = nir_src_for_ssa(src3);
6669   intrin->src[4] = nir_src_for_ssa(src4);
6670   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6671   nir_intrinsic_set_image_array(intrin, indices.image_array);
6672   nir_intrinsic_set_format(intrin, indices.format);
6673   nir_intrinsic_set_access(intrin, indices.access);
6674   nir_intrinsic_set_src_type(intrin, indices.src_type);
6675
6676   nir_builder_instr_insert(build, &intrin->instr);
6677   return intrin;
6678}
6679static inline nir_intrinsic_instr *
6680_nir_build_image_deref_store_raw_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_image_deref_store_raw_intel_indices indices)
6681{
6682   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6683      build->shader, nir_intrinsic_image_deref_store_raw_intel);
6684
6685   intrin->num_components = src2->num_components;
6686   intrin->src[0] = nir_src_for_ssa(src0);
6687   intrin->src[1] = nir_src_for_ssa(src1);
6688   intrin->src[2] = nir_src_for_ssa(src2);
6689   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6690   nir_intrinsic_set_image_array(intrin, indices.image_array);
6691   nir_intrinsic_set_format(intrin, indices.format);
6692   nir_intrinsic_set_access(intrin, indices.access);
6693
6694   nir_builder_instr_insert(build, &intrin->instr);
6695   return intrin;
6696}
6697static inline nir_ssa_def *
6698_nir_build_image_format(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_format_indices indices)
6699{
6700   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6701      build->shader, nir_intrinsic_image_format);
6702
6703      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6704   intrin->src[0] = nir_src_for_ssa(src0);
6705   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6706   nir_intrinsic_set_image_array(intrin, indices.image_array);
6707   nir_intrinsic_set_format(intrin, indices.format);
6708   nir_intrinsic_set_access(intrin, indices.access);
6709
6710   nir_builder_instr_insert(build, &intrin->instr);
6711   return &intrin->dest.ssa;
6712}
6713static inline nir_ssa_def *
6714_nir_build_image_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_load_indices indices)
6715{
6716   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6717      build->shader, nir_intrinsic_image_load);
6718
6719   intrin->num_components = num_components;
6720      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6721   intrin->src[0] = nir_src_for_ssa(src0);
6722   intrin->src[1] = nir_src_for_ssa(src1);
6723   intrin->src[2] = nir_src_for_ssa(src2);
6724   intrin->src[3] = nir_src_for_ssa(src3);
6725   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6726   nir_intrinsic_set_image_array(intrin, indices.image_array);
6727   nir_intrinsic_set_format(intrin, indices.format);
6728   nir_intrinsic_set_access(intrin, indices.access);
6729   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
6730
6731   nir_builder_instr_insert(build, &intrin->instr);
6732   return &intrin->dest.ssa;
6733}
6734static inline nir_ssa_def *
6735_nir_build_image_load_raw_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_load_raw_intel_indices indices)
6736{
6737   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6738      build->shader, nir_intrinsic_image_load_raw_intel);
6739
6740   intrin->num_components = num_components;
6741      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6742   intrin->src[0] = nir_src_for_ssa(src0);
6743   intrin->src[1] = nir_src_for_ssa(src1);
6744   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6745   nir_intrinsic_set_image_array(intrin, indices.image_array);
6746   nir_intrinsic_set_format(intrin, indices.format);
6747   nir_intrinsic_set_access(intrin, indices.access);
6748
6749   nir_builder_instr_insert(build, &intrin->instr);
6750   return &intrin->dest.ssa;
6751}
6752static inline nir_ssa_def *
6753_nir_build_image_order(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_order_indices indices)
6754{
6755   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6756      build->shader, nir_intrinsic_image_order);
6757
6758      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6759   intrin->src[0] = nir_src_for_ssa(src0);
6760   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6761   nir_intrinsic_set_image_array(intrin, indices.image_array);
6762   nir_intrinsic_set_format(intrin, indices.format);
6763   nir_intrinsic_set_access(intrin, indices.access);
6764
6765   nir_builder_instr_insert(build, &intrin->instr);
6766   return &intrin->dest.ssa;
6767}
6768static inline nir_ssa_def *
6769_nir_build_image_samples(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_image_samples_indices indices)
6770{
6771   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6772      build->shader, nir_intrinsic_image_samples);
6773
6774      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6775   intrin->src[0] = nir_src_for_ssa(src0);
6776   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6777   nir_intrinsic_set_image_array(intrin, indices.image_array);
6778   nir_intrinsic_set_format(intrin, indices.format);
6779   nir_intrinsic_set_access(intrin, indices.access);
6780
6781   nir_builder_instr_insert(build, &intrin->instr);
6782   return &intrin->dest.ssa;
6783}
6784static inline nir_ssa_def *
6785_nir_build_image_size(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_image_size_indices indices)
6786{
6787   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6788      build->shader, nir_intrinsic_image_size);
6789
6790   intrin->num_components = num_components;
6791      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6792   intrin->src[0] = nir_src_for_ssa(src0);
6793   intrin->src[1] = nir_src_for_ssa(src1);
6794   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6795   nir_intrinsic_set_image_array(intrin, indices.image_array);
6796   nir_intrinsic_set_format(intrin, indices.format);
6797   nir_intrinsic_set_access(intrin, indices.access);
6798
6799   nir_builder_instr_insert(build, &intrin->instr);
6800   return &intrin->dest.ssa;
6801}
6802static inline nir_ssa_def *
6803_nir_build_image_sparse_load(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_image_sparse_load_indices indices)
6804{
6805   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6806      build->shader, nir_intrinsic_image_sparse_load);
6807
6808   intrin->num_components = num_components;
6809      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6810   intrin->src[0] = nir_src_for_ssa(src0);
6811   intrin->src[1] = nir_src_for_ssa(src1);
6812   intrin->src[2] = nir_src_for_ssa(src2);
6813   intrin->src[3] = nir_src_for_ssa(src3);
6814   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6815   nir_intrinsic_set_image_array(intrin, indices.image_array);
6816   nir_intrinsic_set_format(intrin, indices.format);
6817   nir_intrinsic_set_access(intrin, indices.access);
6818   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
6819
6820   nir_builder_instr_insert(build, &intrin->instr);
6821   return &intrin->dest.ssa;
6822}
6823static inline nir_intrinsic_instr *
6824_nir_build_image_store(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_image_store_indices indices)
6825{
6826   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6827      build->shader, nir_intrinsic_image_store);
6828
6829   intrin->num_components = src3->num_components;
6830   intrin->src[0] = nir_src_for_ssa(src0);
6831   intrin->src[1] = nir_src_for_ssa(src1);
6832   intrin->src[2] = nir_src_for_ssa(src2);
6833   intrin->src[3] = nir_src_for_ssa(src3);
6834   intrin->src[4] = nir_src_for_ssa(src4);
6835   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6836   nir_intrinsic_set_image_array(intrin, indices.image_array);
6837   nir_intrinsic_set_format(intrin, indices.format);
6838   nir_intrinsic_set_access(intrin, indices.access);
6839   nir_intrinsic_set_src_type(intrin, indices.src_type);
6840
6841   nir_builder_instr_insert(build, &intrin->instr);
6842   return intrin;
6843}
6844static inline nir_intrinsic_instr *
6845_nir_build_image_store_raw_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_image_store_raw_intel_indices indices)
6846{
6847   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6848      build->shader, nir_intrinsic_image_store_raw_intel);
6849
6850   intrin->num_components = src2->num_components;
6851   intrin->src[0] = nir_src_for_ssa(src0);
6852   intrin->src[1] = nir_src_for_ssa(src1);
6853   intrin->src[2] = nir_src_for_ssa(src2);
6854   nir_intrinsic_set_image_dim(intrin, indices.image_dim);
6855   nir_intrinsic_set_image_array(intrin, indices.image_array);
6856   nir_intrinsic_set_format(intrin, indices.format);
6857   nir_intrinsic_set_access(intrin, indices.access);
6858
6859   nir_builder_instr_insert(build, &intrin->instr);
6860   return intrin;
6861}
6862static inline nir_ssa_def *
6863_nir_build_inclusive_scan(nir_builder *build, nir_ssa_def *src0, struct _nir_inclusive_scan_indices indices)
6864{
6865   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6866      build->shader, nir_intrinsic_inclusive_scan);
6867
6868   intrin->num_components = src0->num_components;
6869      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
6870   intrin->src[0] = nir_src_for_ssa(src0);
6871   nir_intrinsic_set_reduction_op(intrin, indices.reduction_op);
6872
6873   nir_builder_instr_insert(build, &intrin->instr);
6874   return &intrin->dest.ssa;
6875}
6876static inline nir_ssa_def *
6877_nir_build_interp_deref_at_centroid(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0)
6878{
6879   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6880      build->shader, nir_intrinsic_interp_deref_at_centroid);
6881
6882   intrin->num_components = num_components;
6883      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6884   intrin->src[0] = nir_src_for_ssa(src0);
6885
6886   nir_builder_instr_insert(build, &intrin->instr);
6887   return &intrin->dest.ssa;
6888}
6889static inline nir_ssa_def *
6890_nir_build_interp_deref_at_offset(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
6891{
6892   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6893      build->shader, nir_intrinsic_interp_deref_at_offset);
6894
6895   intrin->num_components = num_components;
6896      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6897   intrin->src[0] = nir_src_for_ssa(src0);
6898   intrin->src[1] = nir_src_for_ssa(src1);
6899
6900   nir_builder_instr_insert(build, &intrin->instr);
6901   return &intrin->dest.ssa;
6902}
6903static inline nir_ssa_def *
6904_nir_build_interp_deref_at_sample(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
6905{
6906   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6907      build->shader, nir_intrinsic_interp_deref_at_sample);
6908
6909   intrin->num_components = num_components;
6910      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6911   intrin->src[0] = nir_src_for_ssa(src0);
6912   intrin->src[1] = nir_src_for_ssa(src1);
6913
6914   nir_builder_instr_insert(build, &intrin->instr);
6915   return &intrin->dest.ssa;
6916}
6917static inline nir_ssa_def *
6918_nir_build_interp_deref_at_vertex(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
6919{
6920   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6921      build->shader, nir_intrinsic_interp_deref_at_vertex);
6922
6923   intrin->num_components = num_components;
6924      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
6925   intrin->src[0] = nir_src_for_ssa(src0);
6926   intrin->src[1] = nir_src_for_ssa(src1);
6927
6928   nir_builder_instr_insert(build, &intrin->instr);
6929   return &intrin->dest.ssa;
6930}
6931static inline nir_ssa_def *
6932_nir_build_is_helper_invocation(nir_builder *build, unsigned bit_size)
6933{
6934   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6935      build->shader, nir_intrinsic_is_helper_invocation);
6936
6937      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6938
6939   nir_builder_instr_insert(build, &intrin->instr);
6940   return &intrin->dest.ssa;
6941}
6942static inline nir_ssa_def *
6943_nir_build_is_sparse_texels_resident(nir_builder *build, nir_ssa_def *src0)
6944{
6945   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6946      build->shader, nir_intrinsic_is_sparse_texels_resident);
6947
6948      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
6949   intrin->src[0] = nir_src_for_ssa(src0);
6950
6951   nir_builder_instr_insert(build, &intrin->instr);
6952   return &intrin->dest.ssa;
6953}
6954static inline nir_ssa_def *
6955_nir_build_lane_permute_16_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
6956{
6957   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6958      build->shader, nir_intrinsic_lane_permute_16_amd);
6959
6960      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
6961   intrin->src[0] = nir_src_for_ssa(src0);
6962   intrin->src[1] = nir_src_for_ssa(src1);
6963   intrin->src[2] = nir_src_for_ssa(src2);
6964
6965   nir_builder_instr_insert(build, &intrin->instr);
6966   return &intrin->dest.ssa;
6967}
6968static inline nir_ssa_def *
6969_nir_build_last_invocation(nir_builder *build)
6970{
6971   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6972      build->shader, nir_intrinsic_last_invocation);
6973
6974      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
6975
6976   nir_builder_instr_insert(build, &intrin->instr);
6977   return &intrin->dest.ssa;
6978}
6979static inline nir_ssa_def *
6980_nir_build_load_aa_line_width(nir_builder *build)
6981{
6982   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6983      build->shader, nir_intrinsic_load_aa_line_width);
6984
6985      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
6986
6987   nir_builder_instr_insert(build, &intrin->instr);
6988   return &intrin->dest.ssa;
6989}
6990static inline nir_ssa_def *
6991_nir_build_load_back_face_agx(nir_builder *build, unsigned bit_size)
6992{
6993   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
6994      build->shader, nir_intrinsic_load_back_face_agx);
6995
6996      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
6997
6998   nir_builder_instr_insert(build, &intrin->instr);
6999   return &intrin->dest.ssa;
7000}
7001static inline nir_ssa_def *
7002_nir_build_load_barycentric_at_offset(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_barycentric_at_offset_indices indices)
7003{
7004   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7005      build->shader, nir_intrinsic_load_barycentric_at_offset);
7006
7007      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
7008   intrin->src[0] = nir_src_for_ssa(src0);
7009   nir_intrinsic_set_interp_mode(intrin, indices.interp_mode);
7010
7011   nir_builder_instr_insert(build, &intrin->instr);
7012   return &intrin->dest.ssa;
7013}
7014static inline nir_ssa_def *
7015_nir_build_load_barycentric_at_sample(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_barycentric_at_sample_indices indices)
7016{
7017   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7018      build->shader, nir_intrinsic_load_barycentric_at_sample);
7019
7020      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
7021   intrin->src[0] = nir_src_for_ssa(src0);
7022   nir_intrinsic_set_interp_mode(intrin, indices.interp_mode);
7023
7024   nir_builder_instr_insert(build, &intrin->instr);
7025   return &intrin->dest.ssa;
7026}
7027static inline nir_ssa_def *
7028_nir_build_load_barycentric_centroid(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_centroid_indices indices)
7029{
7030   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7031      build->shader, nir_intrinsic_load_barycentric_centroid);
7032
7033      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
7034   nir_intrinsic_set_interp_mode(intrin, indices.interp_mode);
7035
7036   nir_builder_instr_insert(build, &intrin->instr);
7037   return &intrin->dest.ssa;
7038}
7039static inline nir_ssa_def *
7040_nir_build_load_barycentric_model(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_model_indices indices)
7041{
7042   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7043      build->shader, nir_intrinsic_load_barycentric_model);
7044
7045      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7046   nir_intrinsic_set_interp_mode(intrin, indices.interp_mode);
7047
7048   nir_builder_instr_insert(build, &intrin->instr);
7049   return &intrin->dest.ssa;
7050}
7051static inline nir_ssa_def *
7052_nir_build_load_barycentric_pixel(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_pixel_indices indices)
7053{
7054   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7055      build->shader, nir_intrinsic_load_barycentric_pixel);
7056
7057      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
7058   nir_intrinsic_set_interp_mode(intrin, indices.interp_mode);
7059
7060   nir_builder_instr_insert(build, &intrin->instr);
7061   return &intrin->dest.ssa;
7062}
7063static inline nir_ssa_def *
7064_nir_build_load_barycentric_sample(nir_builder *build, unsigned bit_size, struct _nir_load_barycentric_sample_indices indices)
7065{
7066   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7067      build->shader, nir_intrinsic_load_barycentric_sample);
7068
7069      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
7070   nir_intrinsic_set_interp_mode(intrin, indices.interp_mode);
7071
7072   nir_builder_instr_insert(build, &intrin->instr);
7073   return &intrin->dest.ssa;
7074}
7075static inline nir_ssa_def *
7076_nir_build_load_base_global_invocation_id(nir_builder *build, unsigned bit_size)
7077{
7078   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7079      build->shader, nir_intrinsic_load_base_global_invocation_id);
7080
7081      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7082
7083   nir_builder_instr_insert(build, &intrin->instr);
7084   return &intrin->dest.ssa;
7085}
7086static inline nir_ssa_def *
7087_nir_build_load_base_instance(nir_builder *build)
7088{
7089   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7090      build->shader, nir_intrinsic_load_base_instance);
7091
7092      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7093
7094   nir_builder_instr_insert(build, &intrin->instr);
7095   return &intrin->dest.ssa;
7096}
7097static inline nir_ssa_def *
7098_nir_build_load_base_vertex(nir_builder *build)
7099{
7100   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7101      build->shader, nir_intrinsic_load_base_vertex);
7102
7103      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7104
7105   nir_builder_instr_insert(build, &intrin->instr);
7106   return &intrin->dest.ssa;
7107}
7108static inline nir_ssa_def *
7109_nir_build_load_base_workgroup_id(nir_builder *build, unsigned bit_size)
7110{
7111   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7112      build->shader, nir_intrinsic_load_base_workgroup_id);
7113
7114      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7115
7116   nir_builder_instr_insert(build, &intrin->instr);
7117   return &intrin->dest.ssa;
7118}
7119static inline nir_ssa_def *
7120_nir_build_load_blend_const_color_a_float(nir_builder *build)
7121{
7122   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7123      build->shader, nir_intrinsic_load_blend_const_color_a_float);
7124
7125      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7126
7127   nir_builder_instr_insert(build, &intrin->instr);
7128   return &intrin->dest.ssa;
7129}
7130static inline nir_ssa_def *
7131_nir_build_load_blend_const_color_aaaa8888_unorm(nir_builder *build)
7132{
7133   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7134      build->shader, nir_intrinsic_load_blend_const_color_aaaa8888_unorm);
7135
7136      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7137
7138   nir_builder_instr_insert(build, &intrin->instr);
7139   return &intrin->dest.ssa;
7140}
7141static inline nir_ssa_def *
7142_nir_build_load_blend_const_color_b_float(nir_builder *build)
7143{
7144   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7145      build->shader, nir_intrinsic_load_blend_const_color_b_float);
7146
7147      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7148
7149   nir_builder_instr_insert(build, &intrin->instr);
7150   return &intrin->dest.ssa;
7151}
7152static inline nir_ssa_def *
7153_nir_build_load_blend_const_color_g_float(nir_builder *build)
7154{
7155   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7156      build->shader, nir_intrinsic_load_blend_const_color_g_float);
7157
7158      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7159
7160   nir_builder_instr_insert(build, &intrin->instr);
7161   return &intrin->dest.ssa;
7162}
7163static inline nir_ssa_def *
7164_nir_build_load_blend_const_color_r_float(nir_builder *build)
7165{
7166   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7167      build->shader, nir_intrinsic_load_blend_const_color_r_float);
7168
7169      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7170
7171   nir_builder_instr_insert(build, &intrin->instr);
7172   return &intrin->dest.ssa;
7173}
7174static inline nir_ssa_def *
7175_nir_build_load_blend_const_color_rgba(nir_builder *build)
7176{
7177   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7178      build->shader, nir_intrinsic_load_blend_const_color_rgba);
7179
7180      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
7181
7182   nir_builder_instr_insert(build, &intrin->instr);
7183   return &intrin->dest.ssa;
7184}
7185static inline nir_ssa_def *
7186_nir_build_load_blend_const_color_rgba8888_unorm(nir_builder *build)
7187{
7188   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7189      build->shader, nir_intrinsic_load_blend_const_color_rgba8888_unorm);
7190
7191      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7192
7193   nir_builder_instr_insert(build, &intrin->instr);
7194   return &intrin->dest.ssa;
7195}
7196static inline nir_ssa_def *
7197_nir_build_load_btd_dss_id_intel(nir_builder *build)
7198{
7199   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7200      build->shader, nir_intrinsic_load_btd_dss_id_intel);
7201
7202      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7203
7204   nir_builder_instr_insert(build, &intrin->instr);
7205   return &intrin->dest.ssa;
7206}
7207static inline nir_ssa_def *
7208_nir_build_load_btd_global_arg_addr_intel(nir_builder *build)
7209{
7210   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7211      build->shader, nir_intrinsic_load_btd_global_arg_addr_intel);
7212
7213      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
7214
7215   nir_builder_instr_insert(build, &intrin->instr);
7216   return &intrin->dest.ssa;
7217}
7218static inline nir_ssa_def *
7219_nir_build_load_btd_local_arg_addr_intel(nir_builder *build)
7220{
7221   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7222      build->shader, nir_intrinsic_load_btd_local_arg_addr_intel);
7223
7224      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
7225
7226   nir_builder_instr_insert(build, &intrin->instr);
7227   return &intrin->dest.ssa;
7228}
7229static inline nir_ssa_def *
7230_nir_build_load_btd_resume_sbt_addr_intel(nir_builder *build)
7231{
7232   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7233      build->shader, nir_intrinsic_load_btd_resume_sbt_addr_intel);
7234
7235      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
7236
7237   nir_builder_instr_insert(build, &intrin->instr);
7238   return &intrin->dest.ssa;
7239}
7240static inline nir_ssa_def *
7241_nir_build_load_btd_stack_id_intel(nir_builder *build)
7242{
7243   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7244      build->shader, nir_intrinsic_load_btd_stack_id_intel);
7245
7246      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7247
7248   nir_builder_instr_insert(build, &intrin->instr);
7249   return &intrin->dest.ssa;
7250}
7251static inline nir_ssa_def *
7252_nir_build_load_buffer_amd(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_load_buffer_amd_indices indices)
7253{
7254   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7255      build->shader, nir_intrinsic_load_buffer_amd);
7256
7257   intrin->num_components = num_components;
7258      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7259   intrin->src[0] = nir_src_for_ssa(src0);
7260   intrin->src[1] = nir_src_for_ssa(src1);
7261   intrin->src[2] = nir_src_for_ssa(src2);
7262   nir_intrinsic_set_base(intrin, indices.base);
7263   nir_intrinsic_set_is_swizzled(intrin, indices.is_swizzled);
7264   nir_intrinsic_set_slc_amd(intrin, indices.slc_amd);
7265   nir_intrinsic_set_memory_modes(intrin, indices.memory_modes);
7266
7267   nir_builder_instr_insert(build, &intrin->instr);
7268   return &intrin->dest.ssa;
7269}
7270static inline nir_ssa_def *
7271_nir_build_load_callable_sbt_addr_intel(nir_builder *build)
7272{
7273   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7274      build->shader, nir_intrinsic_load_callable_sbt_addr_intel);
7275
7276      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
7277
7278   nir_builder_instr_insert(build, &intrin->instr);
7279   return &intrin->dest.ssa;
7280}
7281static inline nir_ssa_def *
7282_nir_build_load_callable_sbt_stride_intel(nir_builder *build)
7283{
7284   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7285      build->shader, nir_intrinsic_load_callable_sbt_stride_intel);
7286
7287      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 16, NULL);
7288
7289   nir_builder_instr_insert(build, &intrin->instr);
7290   return &intrin->dest.ssa;
7291}
7292static inline nir_ssa_def *
7293_nir_build_load_color0(nir_builder *build)
7294{
7295   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7296      build->shader, nir_intrinsic_load_color0);
7297
7298      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
7299
7300   nir_builder_instr_insert(build, &intrin->instr);
7301   return &intrin->dest.ssa;
7302}
7303static inline nir_ssa_def *
7304_nir_build_load_color1(nir_builder *build)
7305{
7306   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7307      build->shader, nir_intrinsic_load_color1);
7308
7309      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
7310
7311   nir_builder_instr_insert(build, &intrin->instr);
7312   return &intrin->dest.ssa;
7313}
7314static inline nir_ssa_def *
7315_nir_build_load_constant(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_constant_indices indices)
7316{
7317   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7318      build->shader, nir_intrinsic_load_constant);
7319
7320   intrin->num_components = num_components;
7321      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7322   intrin->src[0] = nir_src_for_ssa(src0);
7323   nir_intrinsic_set_base(intrin, indices.base);
7324   nir_intrinsic_set_range(intrin, indices.range);
7325   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7326   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7327
7328   nir_builder_instr_insert(build, &intrin->instr);
7329   return &intrin->dest.ssa;
7330}
7331static inline nir_ssa_def *
7332_nir_build_load_constant_base_ptr(nir_builder *build, unsigned num_components, unsigned bit_size)
7333{
7334   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7335      build->shader, nir_intrinsic_load_constant_base_ptr);
7336
7337   intrin->num_components = num_components;
7338      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7339
7340   nir_builder_instr_insert(build, &intrin->instr);
7341   return &intrin->dest.ssa;
7342}
7343static inline nir_ssa_def *
7344_nir_build_load_cull_any_enabled_amd(nir_builder *build)
7345{
7346   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7347      build->shader, nir_intrinsic_load_cull_any_enabled_amd);
7348
7349      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7350
7351   nir_builder_instr_insert(build, &intrin->instr);
7352   return &intrin->dest.ssa;
7353}
7354static inline nir_ssa_def *
7355_nir_build_load_cull_back_face_enabled_amd(nir_builder *build)
7356{
7357   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7358      build->shader, nir_intrinsic_load_cull_back_face_enabled_amd);
7359
7360      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7361
7362   nir_builder_instr_insert(build, &intrin->instr);
7363   return &intrin->dest.ssa;
7364}
7365static inline nir_ssa_def *
7366_nir_build_load_cull_ccw_amd(nir_builder *build)
7367{
7368   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7369      build->shader, nir_intrinsic_load_cull_ccw_amd);
7370
7371      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7372
7373   nir_builder_instr_insert(build, &intrin->instr);
7374   return &intrin->dest.ssa;
7375}
7376static inline nir_ssa_def *
7377_nir_build_load_cull_front_face_enabled_amd(nir_builder *build)
7378{
7379   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7380      build->shader, nir_intrinsic_load_cull_front_face_enabled_amd);
7381
7382      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7383
7384   nir_builder_instr_insert(build, &intrin->instr);
7385   return &intrin->dest.ssa;
7386}
7387static inline nir_ssa_def *
7388_nir_build_load_cull_small_prim_precision_amd(nir_builder *build)
7389{
7390   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7391      build->shader, nir_intrinsic_load_cull_small_prim_precision_amd);
7392
7393      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7394
7395   nir_builder_instr_insert(build, &intrin->instr);
7396   return &intrin->dest.ssa;
7397}
7398static inline nir_ssa_def *
7399_nir_build_load_cull_small_primitives_enabled_amd(nir_builder *build)
7400{
7401   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7402      build->shader, nir_intrinsic_load_cull_small_primitives_enabled_amd);
7403
7404      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7405
7406   nir_builder_instr_insert(build, &intrin->instr);
7407   return &intrin->dest.ssa;
7408}
7409static inline nir_ssa_def *
7410_nir_build_load_deref(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_deref_indices indices)
7411{
7412   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7413      build->shader, nir_intrinsic_load_deref);
7414
7415   intrin->num_components = num_components;
7416      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7417   intrin->src[0] = nir_src_for_ssa(src0);
7418   nir_intrinsic_set_access(intrin, indices.access);
7419
7420   nir_builder_instr_insert(build, &intrin->instr);
7421   return &intrin->dest.ssa;
7422}
7423static inline nir_ssa_def *
7424_nir_build_load_deref_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_deref_block_intel_indices indices)
7425{
7426   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7427      build->shader, nir_intrinsic_load_deref_block_intel);
7428
7429   intrin->num_components = num_components;
7430      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7431   intrin->src[0] = nir_src_for_ssa(src0);
7432   nir_intrinsic_set_access(intrin, indices.access);
7433
7434   nir_builder_instr_insert(build, &intrin->instr);
7435   return &intrin->dest.ssa;
7436}
7437static inline nir_ssa_def *
7438_nir_build_load_desc_set_address_intel(nir_builder *build, nir_ssa_def *src0)
7439{
7440   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7441      build->shader, nir_intrinsic_load_desc_set_address_intel);
7442
7443      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
7444   intrin->src[0] = nir_src_for_ssa(src0);
7445
7446   nir_builder_instr_insert(build, &intrin->instr);
7447   return &intrin->dest.ssa;
7448}
7449static inline nir_ssa_def *
7450_nir_build_load_draw_id(nir_builder *build)
7451{
7452   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7453      build->shader, nir_intrinsic_load_draw_id);
7454
7455      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7456
7457   nir_builder_instr_insert(build, &intrin->instr);
7458   return &intrin->dest.ssa;
7459}
7460static inline nir_ssa_def *
7461_nir_build_load_fb_layers_v3d(nir_builder *build, unsigned bit_size)
7462{
7463   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7464      build->shader, nir_intrinsic_load_fb_layers_v3d);
7465
7466      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
7467
7468   nir_builder_instr_insert(build, &intrin->instr);
7469   return &intrin->dest.ssa;
7470}
7471static inline nir_ssa_def *
7472_nir_build_load_first_vertex(nir_builder *build)
7473{
7474   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7475      build->shader, nir_intrinsic_load_first_vertex);
7476
7477      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7478
7479   nir_builder_instr_insert(build, &intrin->instr);
7480   return &intrin->dest.ssa;
7481}
7482static inline nir_ssa_def *
7483_nir_build_load_frag_coord(nir_builder *build)
7484{
7485   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7486      build->shader, nir_intrinsic_load_frag_coord);
7487
7488      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
7489
7490   nir_builder_instr_insert(build, &intrin->instr);
7491   return &intrin->dest.ssa;
7492}
7493static inline nir_ssa_def *
7494_nir_build_load_frag_shading_rate(nir_builder *build)
7495{
7496   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7497      build->shader, nir_intrinsic_load_frag_shading_rate);
7498
7499      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7500
7501   nir_builder_instr_insert(build, &intrin->instr);
7502   return &intrin->dest.ssa;
7503}
7504static inline nir_ssa_def *
7505_nir_build_load_front_face(nir_builder *build, unsigned bit_size)
7506{
7507   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7508      build->shader, nir_intrinsic_load_front_face);
7509
7510      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
7511
7512   nir_builder_instr_insert(build, &intrin->instr);
7513   return &intrin->dest.ssa;
7514}
7515static inline nir_ssa_def *
7516_nir_build_load_fs_input_interp_deltas(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_fs_input_interp_deltas_indices indices)
7517{
7518   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7519      build->shader, nir_intrinsic_load_fs_input_interp_deltas);
7520
7521      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7522   intrin->src[0] = nir_src_for_ssa(src0);
7523   nir_intrinsic_set_base(intrin, indices.base);
7524   nir_intrinsic_set_component(intrin, indices.component);
7525   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
7526
7527   nir_builder_instr_insert(build, &intrin->instr);
7528   return &intrin->dest.ssa;
7529}
7530static inline nir_ssa_def *
7531_nir_build_load_global(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_global_indices indices)
7532{
7533   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7534      build->shader, nir_intrinsic_load_global);
7535
7536   intrin->num_components = num_components;
7537      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7538   intrin->src[0] = nir_src_for_ssa(src0);
7539   nir_intrinsic_set_access(intrin, indices.access);
7540   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7541   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7542
7543   nir_builder_instr_insert(build, &intrin->instr);
7544   return &intrin->dest.ssa;
7545}
7546static inline nir_ssa_def *
7547_nir_build_load_global_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_global_block_intel_indices indices)
7548{
7549   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7550      build->shader, nir_intrinsic_load_global_block_intel);
7551
7552   intrin->num_components = num_components;
7553      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7554   intrin->src[0] = nir_src_for_ssa(src0);
7555   nir_intrinsic_set_access(intrin, indices.access);
7556   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7557   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7558
7559   nir_builder_instr_insert(build, &intrin->instr);
7560   return &intrin->dest.ssa;
7561}
7562static inline nir_ssa_def *
7563_nir_build_load_global_const_block_intel(nir_builder *build, unsigned num_components, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_global_const_block_intel_indices indices)
7564{
7565   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7566      build->shader, nir_intrinsic_load_global_const_block_intel);
7567
7568   intrin->num_components = num_components;
7569      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, 32, NULL);
7570   intrin->src[0] = nir_src_for_ssa(src0);
7571   intrin->src[1] = nir_src_for_ssa(src1);
7572   nir_intrinsic_set_base(intrin, indices.base);
7573
7574   nir_builder_instr_insert(build, &intrin->instr);
7575   return &intrin->dest.ssa;
7576}
7577static inline nir_ssa_def *
7578_nir_build_load_global_constant(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_global_constant_indices indices)
7579{
7580   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7581      build->shader, nir_intrinsic_load_global_constant);
7582
7583   intrin->num_components = num_components;
7584      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7585   intrin->src[0] = nir_src_for_ssa(src0);
7586   nir_intrinsic_set_access(intrin, indices.access);
7587   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7588   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7589
7590   nir_builder_instr_insert(build, &intrin->instr);
7591   return &intrin->dest.ssa;
7592}
7593static inline nir_ssa_def *
7594_nir_build_load_global_constant_bounded(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_load_global_constant_bounded_indices indices)
7595{
7596   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7597      build->shader, nir_intrinsic_load_global_constant_bounded);
7598
7599   intrin->num_components = num_components;
7600      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7601   intrin->src[0] = nir_src_for_ssa(src0);
7602   intrin->src[1] = nir_src_for_ssa(src1);
7603   intrin->src[2] = nir_src_for_ssa(src2);
7604   nir_intrinsic_set_access(intrin, indices.access);
7605   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7606   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7607
7608   nir_builder_instr_insert(build, &intrin->instr);
7609   return &intrin->dest.ssa;
7610}
7611static inline nir_ssa_def *
7612_nir_build_load_global_constant_offset(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_global_constant_offset_indices indices)
7613{
7614   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7615      build->shader, nir_intrinsic_load_global_constant_offset);
7616
7617   intrin->num_components = num_components;
7618      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7619   intrin->src[0] = nir_src_for_ssa(src0);
7620   intrin->src[1] = nir_src_for_ssa(src1);
7621   nir_intrinsic_set_access(intrin, indices.access);
7622   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7623   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7624
7625   nir_builder_instr_insert(build, &intrin->instr);
7626   return &intrin->dest.ssa;
7627}
7628static inline nir_ssa_def *
7629_nir_build_load_global_invocation_id(nir_builder *build, unsigned bit_size)
7630{
7631   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7632      build->shader, nir_intrinsic_load_global_invocation_id);
7633
7634      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7635
7636   nir_builder_instr_insert(build, &intrin->instr);
7637   return &intrin->dest.ssa;
7638}
7639static inline nir_ssa_def *
7640_nir_build_load_global_invocation_id_zero_base(nir_builder *build, unsigned bit_size)
7641{
7642   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7643      build->shader, nir_intrinsic_load_global_invocation_id_zero_base);
7644
7645      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7646
7647   nir_builder_instr_insert(build, &intrin->instr);
7648   return &intrin->dest.ssa;
7649}
7650static inline nir_ssa_def *
7651_nir_build_load_global_invocation_index(nir_builder *build, unsigned bit_size)
7652{
7653   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7654      build->shader, nir_intrinsic_load_global_invocation_index);
7655
7656      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
7657
7658   nir_builder_instr_insert(build, &intrin->instr);
7659   return &intrin->dest.ssa;
7660}
7661static inline nir_ssa_def *
7662_nir_build_load_global_ir3(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_global_ir3_indices indices)
7663{
7664   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7665      build->shader, nir_intrinsic_load_global_ir3);
7666
7667   intrin->num_components = num_components;
7668      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7669   intrin->src[0] = nir_src_for_ssa(src0);
7670   intrin->src[1] = nir_src_for_ssa(src1);
7671   nir_intrinsic_set_access(intrin, indices.access);
7672   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7673   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7674
7675   nir_builder_instr_insert(build, &intrin->instr);
7676   return &intrin->dest.ssa;
7677}
7678static inline nir_ssa_def *
7679_nir_build_load_gs_header_ir3(nir_builder *build)
7680{
7681   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7682      build->shader, nir_intrinsic_load_gs_header_ir3);
7683
7684      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7685
7686   nir_builder_instr_insert(build, &intrin->instr);
7687   return &intrin->dest.ssa;
7688}
7689static inline nir_ssa_def *
7690_nir_build_load_gs_vertex_offset_amd(nir_builder *build, struct _nir_load_gs_vertex_offset_amd_indices indices)
7691{
7692   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7693      build->shader, nir_intrinsic_load_gs_vertex_offset_amd);
7694
7695      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7696   nir_intrinsic_set_base(intrin, indices.base);
7697
7698   nir_builder_instr_insert(build, &intrin->instr);
7699   return &intrin->dest.ssa;
7700}
7701static inline nir_ssa_def *
7702_nir_build_load_helper_invocation(nir_builder *build, unsigned bit_size)
7703{
7704   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7705      build->shader, nir_intrinsic_load_helper_invocation);
7706
7707      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
7708
7709   nir_builder_instr_insert(build, &intrin->instr);
7710   return &intrin->dest.ssa;
7711}
7712static inline nir_ssa_def *
7713_nir_build_load_hs_patch_stride_ir3(nir_builder *build)
7714{
7715   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7716      build->shader, nir_intrinsic_load_hs_patch_stride_ir3);
7717
7718      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7719
7720   nir_builder_instr_insert(build, &intrin->instr);
7721   return &intrin->dest.ssa;
7722}
7723static inline nir_ssa_def *
7724_nir_build_load_initial_edgeflags_amd(nir_builder *build)
7725{
7726   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7727      build->shader, nir_intrinsic_load_initial_edgeflags_amd);
7728
7729      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7730
7731   nir_builder_instr_insert(build, &intrin->instr);
7732   return &intrin->dest.ssa;
7733}
7734static inline nir_ssa_def *
7735_nir_build_load_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_input_indices indices)
7736{
7737   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7738      build->shader, nir_intrinsic_load_input);
7739
7740   intrin->num_components = num_components;
7741      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7742   intrin->src[0] = nir_src_for_ssa(src0);
7743   nir_intrinsic_set_base(intrin, indices.base);
7744   nir_intrinsic_set_component(intrin, indices.component);
7745   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
7746   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
7747
7748   nir_builder_instr_insert(build, &intrin->instr);
7749   return &intrin->dest.ssa;
7750}
7751static inline nir_ssa_def *
7752_nir_build_load_input_vertex(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_input_vertex_indices indices)
7753{
7754   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7755      build->shader, nir_intrinsic_load_input_vertex);
7756
7757   intrin->num_components = num_components;
7758      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7759   intrin->src[0] = nir_src_for_ssa(src0);
7760   intrin->src[1] = nir_src_for_ssa(src1);
7761   nir_intrinsic_set_base(intrin, indices.base);
7762   nir_intrinsic_set_component(intrin, indices.component);
7763   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
7764   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
7765
7766   nir_builder_instr_insert(build, &intrin->instr);
7767   return &intrin->dest.ssa;
7768}
7769static inline nir_ssa_def *
7770_nir_build_load_instance_id(nir_builder *build)
7771{
7772   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7773      build->shader, nir_intrinsic_load_instance_id);
7774
7775      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7776
7777   nir_builder_instr_insert(build, &intrin->instr);
7778   return &intrin->dest.ssa;
7779}
7780static inline nir_ssa_def *
7781_nir_build_load_interpolated_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_interpolated_input_indices indices)
7782{
7783   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7784      build->shader, nir_intrinsic_load_interpolated_input);
7785
7786   intrin->num_components = num_components;
7787      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7788   intrin->src[0] = nir_src_for_ssa(src0);
7789   intrin->src[1] = nir_src_for_ssa(src1);
7790   nir_intrinsic_set_base(intrin, indices.base);
7791   nir_intrinsic_set_component(intrin, indices.component);
7792   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
7793   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
7794
7795   nir_builder_instr_insert(build, &intrin->instr);
7796   return &intrin->dest.ssa;
7797}
7798static inline nir_ssa_def *
7799_nir_build_load_intersection_opaque_amd(nir_builder *build)
7800{
7801   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7802      build->shader, nir_intrinsic_load_intersection_opaque_amd);
7803
7804      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7805
7806   nir_builder_instr_insert(build, &intrin->instr);
7807   return &intrin->dest.ssa;
7808}
7809static inline nir_ssa_def *
7810_nir_build_load_invocation_id(nir_builder *build)
7811{
7812   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7813      build->shader, nir_intrinsic_load_invocation_id);
7814
7815      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7816
7817   nir_builder_instr_insert(build, &intrin->instr);
7818   return &intrin->dest.ssa;
7819}
7820static inline nir_ssa_def *
7821_nir_build_load_is_indexed_draw(nir_builder *build)
7822{
7823   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7824      build->shader, nir_intrinsic_load_is_indexed_draw);
7825
7826      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7827
7828   nir_builder_instr_insert(build, &intrin->instr);
7829   return &intrin->dest.ssa;
7830}
7831static inline nir_ssa_def *
7832_nir_build_load_kernel_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_kernel_input_indices indices)
7833{
7834   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7835      build->shader, nir_intrinsic_load_kernel_input);
7836
7837   intrin->num_components = num_components;
7838      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7839   intrin->src[0] = nir_src_for_ssa(src0);
7840   nir_intrinsic_set_base(intrin, indices.base);
7841   nir_intrinsic_set_range(intrin, indices.range);
7842   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
7843   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
7844
7845   nir_builder_instr_insert(build, &intrin->instr);
7846   return &intrin->dest.ssa;
7847}
7848static inline nir_ssa_def *
7849_nir_build_load_layer_id(nir_builder *build)
7850{
7851   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7852      build->shader, nir_intrinsic_load_layer_id);
7853
7854      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7855
7856   nir_builder_instr_insert(build, &intrin->instr);
7857   return &intrin->dest.ssa;
7858}
7859static inline nir_ssa_def *
7860_nir_build_load_leaf_opaque_intel(nir_builder *build)
7861{
7862   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7863      build->shader, nir_intrinsic_load_leaf_opaque_intel);
7864
7865      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7866
7867   nir_builder_instr_insert(build, &intrin->instr);
7868   return &intrin->dest.ssa;
7869}
7870static inline nir_ssa_def *
7871_nir_build_load_leaf_procedural_intel(nir_builder *build)
7872{
7873   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7874      build->shader, nir_intrinsic_load_leaf_procedural_intel);
7875
7876      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
7877
7878   nir_builder_instr_insert(build, &intrin->instr);
7879   return &intrin->dest.ssa;
7880}
7881static inline nir_ssa_def *
7882_nir_build_load_line_coord(nir_builder *build)
7883{
7884   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7885      build->shader, nir_intrinsic_load_line_coord);
7886
7887      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7888
7889   nir_builder_instr_insert(build, &intrin->instr);
7890   return &intrin->dest.ssa;
7891}
7892static inline nir_ssa_def *
7893_nir_build_load_line_width(nir_builder *build)
7894{
7895   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7896      build->shader, nir_intrinsic_load_line_width);
7897
7898      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7899
7900   nir_builder_instr_insert(build, &intrin->instr);
7901   return &intrin->dest.ssa;
7902}
7903static inline nir_ssa_def *
7904_nir_build_load_local_invocation_id(nir_builder *build)
7905{
7906   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7907      build->shader, nir_intrinsic_load_local_invocation_id);
7908
7909      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
7910
7911   nir_builder_instr_insert(build, &intrin->instr);
7912   return &intrin->dest.ssa;
7913}
7914static inline nir_ssa_def *
7915_nir_build_load_local_invocation_index(nir_builder *build)
7916{
7917   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7918      build->shader, nir_intrinsic_load_local_invocation_index);
7919
7920      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7921
7922   nir_builder_instr_insert(build, &intrin->instr);
7923   return &intrin->dest.ssa;
7924}
7925static inline nir_ssa_def *
7926_nir_build_load_local_shared_r600(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
7927{
7928   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7929      build->shader, nir_intrinsic_load_local_shared_r600);
7930
7931   intrin->num_components = src0->num_components;
7932      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7933   intrin->src[0] = nir_src_for_ssa(src0);
7934
7935   nir_builder_instr_insert(build, &intrin->instr);
7936   return &intrin->dest.ssa;
7937}
7938static inline nir_ssa_def *
7939_nir_build_load_num_subgroups(nir_builder *build)
7940{
7941   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7942      build->shader, nir_intrinsic_load_num_subgroups);
7943
7944      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7945
7946   nir_builder_instr_insert(build, &intrin->instr);
7947   return &intrin->dest.ssa;
7948}
7949static inline nir_ssa_def *
7950_nir_build_load_num_workgroups(nir_builder *build, unsigned bit_size)
7951{
7952   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7953      build->shader, nir_intrinsic_load_num_workgroups);
7954
7955      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
7956
7957   nir_builder_instr_insert(build, &intrin->instr);
7958   return &intrin->dest.ssa;
7959}
7960static inline nir_ssa_def *
7961_nir_build_load_output(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_output_indices indices)
7962{
7963   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7964      build->shader, nir_intrinsic_load_output);
7965
7966   intrin->num_components = num_components;
7967      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7968   intrin->src[0] = nir_src_for_ssa(src0);
7969   nir_intrinsic_set_base(intrin, indices.base);
7970   nir_intrinsic_set_component(intrin, indices.component);
7971   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
7972   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
7973
7974   nir_builder_instr_insert(build, &intrin->instr);
7975   return &intrin->dest.ssa;
7976}
7977static inline nir_ssa_def *
7978_nir_build_load_packed_passthrough_primitive_amd(nir_builder *build)
7979{
7980   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7981      build->shader, nir_intrinsic_load_packed_passthrough_primitive_amd);
7982
7983      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
7984
7985   nir_builder_instr_insert(build, &intrin->instr);
7986   return &intrin->dest.ssa;
7987}
7988static inline nir_ssa_def *
7989_nir_build_load_param(nir_builder *build, unsigned num_components, unsigned bit_size, struct _nir_load_param_indices indices)
7990{
7991   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
7992      build->shader, nir_intrinsic_load_param);
7993
7994   intrin->num_components = num_components;
7995      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
7996   nir_intrinsic_set_param_idx(intrin, indices.param_idx);
7997
7998   nir_builder_instr_insert(build, &intrin->instr);
7999   return &intrin->dest.ssa;
8000}
8001static inline nir_ssa_def *
8002_nir_build_load_patch_vertices_in(nir_builder *build)
8003{
8004   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8005      build->shader, nir_intrinsic_load_patch_vertices_in);
8006
8007      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8008
8009   nir_builder_instr_insert(build, &intrin->instr);
8010   return &intrin->dest.ssa;
8011}
8012static inline nir_ssa_def *
8013_nir_build_load_per_primitive_output(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_per_primitive_output_indices indices)
8014{
8015   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8016      build->shader, nir_intrinsic_load_per_primitive_output);
8017
8018   intrin->num_components = num_components;
8019      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8020   intrin->src[0] = nir_src_for_ssa(src0);
8021   intrin->src[1] = nir_src_for_ssa(src1);
8022   nir_intrinsic_set_base(intrin, indices.base);
8023   nir_intrinsic_set_component(intrin, indices.component);
8024   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
8025   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
8026
8027   nir_builder_instr_insert(build, &intrin->instr);
8028   return &intrin->dest.ssa;
8029}
8030static inline nir_ssa_def *
8031_nir_build_load_per_vertex_input(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_per_vertex_input_indices indices)
8032{
8033   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8034      build->shader, nir_intrinsic_load_per_vertex_input);
8035
8036   intrin->num_components = num_components;
8037      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8038   intrin->src[0] = nir_src_for_ssa(src0);
8039   intrin->src[1] = nir_src_for_ssa(src1);
8040   nir_intrinsic_set_base(intrin, indices.base);
8041   nir_intrinsic_set_component(intrin, indices.component);
8042   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
8043   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
8044
8045   nir_builder_instr_insert(build, &intrin->instr);
8046   return &intrin->dest.ssa;
8047}
8048static inline nir_ssa_def *
8049_nir_build_load_per_vertex_output(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_per_vertex_output_indices indices)
8050{
8051   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8052      build->shader, nir_intrinsic_load_per_vertex_output);
8053
8054   intrin->num_components = num_components;
8055      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8056   intrin->src[0] = nir_src_for_ssa(src0);
8057   intrin->src[1] = nir_src_for_ssa(src1);
8058   nir_intrinsic_set_base(intrin, indices.base);
8059   nir_intrinsic_set_component(intrin, indices.component);
8060   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
8061   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
8062
8063   nir_builder_instr_insert(build, &intrin->instr);
8064   return &intrin->dest.ssa;
8065}
8066static inline nir_ssa_def *
8067_nir_build_load_point_coord(nir_builder *build)
8068{
8069   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8070      build->shader, nir_intrinsic_load_point_coord);
8071
8072      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
8073
8074   nir_builder_instr_insert(build, &intrin->instr);
8075   return &intrin->dest.ssa;
8076}
8077static inline nir_ssa_def *
8078_nir_build_load_primitive_id(nir_builder *build)
8079{
8080   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8081      build->shader, nir_intrinsic_load_primitive_id);
8082
8083      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8084
8085   nir_builder_instr_insert(build, &intrin->instr);
8086   return &intrin->dest.ssa;
8087}
8088static inline nir_ssa_def *
8089_nir_build_load_primitive_location_ir3(nir_builder *build, struct _nir_load_primitive_location_ir3_indices indices)
8090{
8091   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8092      build->shader, nir_intrinsic_load_primitive_location_ir3);
8093
8094      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8095   nir_intrinsic_set_driver_location(intrin, indices.driver_location);
8096
8097   nir_builder_instr_insert(build, &intrin->instr);
8098   return &intrin->dest.ssa;
8099}
8100static inline nir_ssa_def *
8101_nir_build_load_printf_buffer_address(nir_builder *build, unsigned bit_size)
8102{
8103   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8104      build->shader, nir_intrinsic_load_printf_buffer_address);
8105
8106      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
8107
8108   nir_builder_instr_insert(build, &intrin->instr);
8109   return &intrin->dest.ssa;
8110}
8111static inline nir_ssa_def *
8112_nir_build_load_ptr_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
8113{
8114   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8115      build->shader, nir_intrinsic_load_ptr_dxil);
8116
8117   intrin->num_components = num_components;
8118      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8119   intrin->src[0] = nir_src_for_ssa(src0);
8120   intrin->src[1] = nir_src_for_ssa(src1);
8121
8122   nir_builder_instr_insert(build, &intrin->instr);
8123   return &intrin->dest.ssa;
8124}
8125static inline nir_ssa_def *
8126_nir_build_load_push_constant(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_push_constant_indices indices)
8127{
8128   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8129      build->shader, nir_intrinsic_load_push_constant);
8130
8131   intrin->num_components = num_components;
8132      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8133   intrin->src[0] = nir_src_for_ssa(src0);
8134   nir_intrinsic_set_base(intrin, indices.base);
8135   nir_intrinsic_set_range(intrin, indices.range);
8136
8137   nir_builder_instr_insert(build, &intrin->instr);
8138   return &intrin->dest.ssa;
8139}
8140static inline nir_ssa_def *
8141_nir_build_load_raw_output_pan(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_raw_output_pan_indices indices)
8142{
8143   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8144      build->shader, nir_intrinsic_load_raw_output_pan);
8145
8146   intrin->num_components = num_components;
8147      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8148   intrin->src[0] = nir_src_for_ssa(src0);
8149   nir_intrinsic_set_base(intrin, indices.base);
8150
8151   nir_builder_instr_insert(build, &intrin->instr);
8152   return &intrin->dest.ssa;
8153}
8154static inline nir_ssa_def *
8155_nir_build_load_ray_base_mem_addr_intel(nir_builder *build)
8156{
8157   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8158      build->shader, nir_intrinsic_load_ray_base_mem_addr_intel);
8159
8160      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
8161
8162   nir_builder_instr_insert(build, &intrin->instr);
8163   return &intrin->dest.ssa;
8164}
8165static inline nir_ssa_def *
8166_nir_build_load_ray_flags(nir_builder *build)
8167{
8168   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8169      build->shader, nir_intrinsic_load_ray_flags);
8170
8171      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8172
8173   nir_builder_instr_insert(build, &intrin->instr);
8174   return &intrin->dest.ssa;
8175}
8176static inline nir_ssa_def *
8177_nir_build_load_ray_geometry_index(nir_builder *build)
8178{
8179   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8180      build->shader, nir_intrinsic_load_ray_geometry_index);
8181
8182      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8183
8184   nir_builder_instr_insert(build, &intrin->instr);
8185   return &intrin->dest.ssa;
8186}
8187static inline nir_ssa_def *
8188_nir_build_load_ray_hit_kind(nir_builder *build)
8189{
8190   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8191      build->shader, nir_intrinsic_load_ray_hit_kind);
8192
8193      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8194
8195   nir_builder_instr_insert(build, &intrin->instr);
8196   return &intrin->dest.ssa;
8197}
8198static inline nir_ssa_def *
8199_nir_build_load_ray_hit_sbt_addr_intel(nir_builder *build)
8200{
8201   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8202      build->shader, nir_intrinsic_load_ray_hit_sbt_addr_intel);
8203
8204      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
8205
8206   nir_builder_instr_insert(build, &intrin->instr);
8207   return &intrin->dest.ssa;
8208}
8209static inline nir_ssa_def *
8210_nir_build_load_ray_hit_sbt_stride_intel(nir_builder *build)
8211{
8212   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8213      build->shader, nir_intrinsic_load_ray_hit_sbt_stride_intel);
8214
8215      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 16, NULL);
8216
8217   nir_builder_instr_insert(build, &intrin->instr);
8218   return &intrin->dest.ssa;
8219}
8220static inline nir_ssa_def *
8221_nir_build_load_ray_hw_stack_size_intel(nir_builder *build)
8222{
8223   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8224      build->shader, nir_intrinsic_load_ray_hw_stack_size_intel);
8225
8226      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8227
8228   nir_builder_instr_insert(build, &intrin->instr);
8229   return &intrin->dest.ssa;
8230}
8231static inline nir_ssa_def *
8232_nir_build_load_ray_instance_custom_index(nir_builder *build)
8233{
8234   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8235      build->shader, nir_intrinsic_load_ray_instance_custom_index);
8236
8237      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8238
8239   nir_builder_instr_insert(build, &intrin->instr);
8240   return &intrin->dest.ssa;
8241}
8242static inline nir_ssa_def *
8243_nir_build_load_ray_launch_id(nir_builder *build)
8244{
8245   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8246      build->shader, nir_intrinsic_load_ray_launch_id);
8247
8248      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8249
8250   nir_builder_instr_insert(build, &intrin->instr);
8251   return &intrin->dest.ssa;
8252}
8253static inline nir_ssa_def *
8254_nir_build_load_ray_launch_size(nir_builder *build)
8255{
8256   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8257      build->shader, nir_intrinsic_load_ray_launch_size);
8258
8259      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8260
8261   nir_builder_instr_insert(build, &intrin->instr);
8262   return &intrin->dest.ssa;
8263}
8264static inline nir_ssa_def *
8265_nir_build_load_ray_miss_sbt_addr_intel(nir_builder *build)
8266{
8267   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8268      build->shader, nir_intrinsic_load_ray_miss_sbt_addr_intel);
8269
8270      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
8271
8272   nir_builder_instr_insert(build, &intrin->instr);
8273   return &intrin->dest.ssa;
8274}
8275static inline nir_ssa_def *
8276_nir_build_load_ray_miss_sbt_stride_intel(nir_builder *build)
8277{
8278   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8279      build->shader, nir_intrinsic_load_ray_miss_sbt_stride_intel);
8280
8281      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 16, NULL);
8282
8283   nir_builder_instr_insert(build, &intrin->instr);
8284   return &intrin->dest.ssa;
8285}
8286static inline nir_ssa_def *
8287_nir_build_load_ray_num_dss_rt_stacks_intel(nir_builder *build)
8288{
8289   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8290      build->shader, nir_intrinsic_load_ray_num_dss_rt_stacks_intel);
8291
8292      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8293
8294   nir_builder_instr_insert(build, &intrin->instr);
8295   return &intrin->dest.ssa;
8296}
8297static inline nir_ssa_def *
8298_nir_build_load_ray_object_direction(nir_builder *build)
8299{
8300   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8301      build->shader, nir_intrinsic_load_ray_object_direction);
8302
8303      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8304
8305   nir_builder_instr_insert(build, &intrin->instr);
8306   return &intrin->dest.ssa;
8307}
8308static inline nir_ssa_def *
8309_nir_build_load_ray_object_origin(nir_builder *build)
8310{
8311   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8312      build->shader, nir_intrinsic_load_ray_object_origin);
8313
8314      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8315
8316   nir_builder_instr_insert(build, &intrin->instr);
8317   return &intrin->dest.ssa;
8318}
8319static inline nir_ssa_def *
8320_nir_build_load_ray_object_to_world(nir_builder *build, struct _nir_load_ray_object_to_world_indices indices)
8321{
8322   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8323      build->shader, nir_intrinsic_load_ray_object_to_world);
8324
8325      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8326   nir_intrinsic_set_column(intrin, indices.column);
8327
8328   nir_builder_instr_insert(build, &intrin->instr);
8329   return &intrin->dest.ssa;
8330}
8331static inline nir_ssa_def *
8332_nir_build_load_ray_sw_stack_size_intel(nir_builder *build)
8333{
8334   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8335      build->shader, nir_intrinsic_load_ray_sw_stack_size_intel);
8336
8337      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8338
8339   nir_builder_instr_insert(build, &intrin->instr);
8340   return &intrin->dest.ssa;
8341}
8342static inline nir_ssa_def *
8343_nir_build_load_ray_t_max(nir_builder *build)
8344{
8345   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8346      build->shader, nir_intrinsic_load_ray_t_max);
8347
8348      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8349
8350   nir_builder_instr_insert(build, &intrin->instr);
8351   return &intrin->dest.ssa;
8352}
8353static inline nir_ssa_def *
8354_nir_build_load_ray_t_min(nir_builder *build)
8355{
8356   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8357      build->shader, nir_intrinsic_load_ray_t_min);
8358
8359      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8360
8361   nir_builder_instr_insert(build, &intrin->instr);
8362   return &intrin->dest.ssa;
8363}
8364static inline nir_ssa_def *
8365_nir_build_load_ray_world_direction(nir_builder *build)
8366{
8367   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8368      build->shader, nir_intrinsic_load_ray_world_direction);
8369
8370      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8371
8372   nir_builder_instr_insert(build, &intrin->instr);
8373   return &intrin->dest.ssa;
8374}
8375static inline nir_ssa_def *
8376_nir_build_load_ray_world_origin(nir_builder *build)
8377{
8378   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8379      build->shader, nir_intrinsic_load_ray_world_origin);
8380
8381      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8382
8383   nir_builder_instr_insert(build, &intrin->instr);
8384   return &intrin->dest.ssa;
8385}
8386static inline nir_ssa_def *
8387_nir_build_load_ray_world_to_object(nir_builder *build, struct _nir_load_ray_world_to_object_indices indices)
8388{
8389   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8390      build->shader, nir_intrinsic_load_ray_world_to_object);
8391
8392      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8393   nir_intrinsic_set_column(intrin, indices.column);
8394
8395   nir_builder_instr_insert(build, &intrin->instr);
8396   return &intrin->dest.ssa;
8397}
8398static inline nir_ssa_def *
8399_nir_build_load_rel_patch_id_ir3(nir_builder *build)
8400{
8401   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8402      build->shader, nir_intrinsic_load_rel_patch_id_ir3);
8403
8404      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8405
8406   nir_builder_instr_insert(build, &intrin->instr);
8407   return &intrin->dest.ssa;
8408}
8409static inline nir_ssa_def *
8410_nir_build_load_reloc_const_intel(nir_builder *build, struct _nir_load_reloc_const_intel_indices indices)
8411{
8412   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8413      build->shader, nir_intrinsic_load_reloc_const_intel);
8414
8415      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8416   nir_intrinsic_set_param_idx(intrin, indices.param_idx);
8417
8418   nir_builder_instr_insert(build, &intrin->instr);
8419   return &intrin->dest.ssa;
8420}
8421static inline nir_ssa_def *
8422_nir_build_load_ring_es2gs_offset_amd(nir_builder *build)
8423{
8424   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8425      build->shader, nir_intrinsic_load_ring_es2gs_offset_amd);
8426
8427      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8428
8429   nir_builder_instr_insert(build, &intrin->instr);
8430   return &intrin->dest.ssa;
8431}
8432static inline nir_ssa_def *
8433_nir_build_load_ring_esgs_amd(nir_builder *build)
8434{
8435   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8436      build->shader, nir_intrinsic_load_ring_esgs_amd);
8437
8438      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
8439
8440   nir_builder_instr_insert(build, &intrin->instr);
8441   return &intrin->dest.ssa;
8442}
8443static inline nir_ssa_def *
8444_nir_build_load_ring_tess_factors_amd(nir_builder *build)
8445{
8446   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8447      build->shader, nir_intrinsic_load_ring_tess_factors_amd);
8448
8449      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
8450
8451   nir_builder_instr_insert(build, &intrin->instr);
8452   return &intrin->dest.ssa;
8453}
8454static inline nir_ssa_def *
8455_nir_build_load_ring_tess_factors_offset_amd(nir_builder *build)
8456{
8457   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8458      build->shader, nir_intrinsic_load_ring_tess_factors_offset_amd);
8459
8460      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8461
8462   nir_builder_instr_insert(build, &intrin->instr);
8463   return &intrin->dest.ssa;
8464}
8465static inline nir_ssa_def *
8466_nir_build_load_ring_tess_offchip_amd(nir_builder *build)
8467{
8468   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8469      build->shader, nir_intrinsic_load_ring_tess_offchip_amd);
8470
8471      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
8472
8473   nir_builder_instr_insert(build, &intrin->instr);
8474   return &intrin->dest.ssa;
8475}
8476static inline nir_ssa_def *
8477_nir_build_load_ring_tess_offchip_offset_amd(nir_builder *build)
8478{
8479   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8480      build->shader, nir_intrinsic_load_ring_tess_offchip_offset_amd);
8481
8482      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8483
8484   nir_builder_instr_insert(build, &intrin->instr);
8485   return &intrin->dest.ssa;
8486}
8487static inline nir_ssa_def *
8488_nir_build_load_rt_arg_scratch_offset_amd(nir_builder *build)
8489{
8490   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8491      build->shader, nir_intrinsic_load_rt_arg_scratch_offset_amd);
8492
8493      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8494
8495   nir_builder_instr_insert(build, &intrin->instr);
8496   return &intrin->dest.ssa;
8497}
8498static inline nir_ssa_def *
8499_nir_build_load_sample_id(nir_builder *build)
8500{
8501   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8502      build->shader, nir_intrinsic_load_sample_id);
8503
8504      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8505
8506   nir_builder_instr_insert(build, &intrin->instr);
8507   return &intrin->dest.ssa;
8508}
8509static inline nir_ssa_def *
8510_nir_build_load_sample_id_no_per_sample(nir_builder *build)
8511{
8512   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8513      build->shader, nir_intrinsic_load_sample_id_no_per_sample);
8514
8515      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8516
8517   nir_builder_instr_insert(build, &intrin->instr);
8518   return &intrin->dest.ssa;
8519}
8520static inline nir_ssa_def *
8521_nir_build_load_sample_mask_in(nir_builder *build)
8522{
8523   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8524      build->shader, nir_intrinsic_load_sample_mask_in);
8525
8526      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8527
8528   nir_builder_instr_insert(build, &intrin->instr);
8529   return &intrin->dest.ssa;
8530}
8531static inline nir_ssa_def *
8532_nir_build_load_sample_pos(nir_builder *build)
8533{
8534   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8535      build->shader, nir_intrinsic_load_sample_pos);
8536
8537      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
8538
8539   nir_builder_instr_insert(build, &intrin->instr);
8540   return &intrin->dest.ssa;
8541}
8542static inline nir_ssa_def *
8543_nir_build_load_sample_pos_from_id(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
8544{
8545   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8546      build->shader, nir_intrinsic_load_sample_pos_from_id);
8547
8548      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
8549   intrin->src[0] = nir_src_for_ssa(src0);
8550
8551   nir_builder_instr_insert(build, &intrin->instr);
8552   return &intrin->dest.ssa;
8553}
8554static inline nir_ssa_def *
8555_nir_build_load_sample_positions_pan(nir_builder *build)
8556{
8557   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8558      build->shader, nir_intrinsic_load_sample_positions_pan);
8559
8560      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
8561
8562   nir_builder_instr_insert(build, &intrin->instr);
8563   return &intrin->dest.ssa;
8564}
8565static inline nir_ssa_def *
8566_nir_build_load_sampler_lod_parameters_pan(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0)
8567{
8568   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8569      build->shader, nir_intrinsic_load_sampler_lod_parameters_pan);
8570
8571   intrin->num_components = num_components;
8572      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8573   intrin->src[0] = nir_src_for_ssa(src0);
8574
8575   nir_builder_instr_insert(build, &intrin->instr);
8576   return &intrin->dest.ssa;
8577}
8578static inline nir_ssa_def *
8579_nir_build_load_sbt_amd(nir_builder *build, struct _nir_load_sbt_amd_indices indices)
8580{
8581   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8582      build->shader, nir_intrinsic_load_sbt_amd);
8583
8584      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
8585   nir_intrinsic_set_binding(intrin, indices.binding);
8586
8587   nir_builder_instr_insert(build, &intrin->instr);
8588   return &intrin->dest.ssa;
8589}
8590static inline nir_ssa_def *
8591_nir_build_load_scratch(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_scratch_indices indices)
8592{
8593   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8594      build->shader, nir_intrinsic_load_scratch);
8595
8596   intrin->num_components = num_components;
8597      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8598   intrin->src[0] = nir_src_for_ssa(src0);
8599   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8600   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8601
8602   nir_builder_instr_insert(build, &intrin->instr);
8603   return &intrin->dest.ssa;
8604}
8605static inline nir_ssa_def *
8606_nir_build_load_scratch_base_ptr(nir_builder *build, unsigned num_components, unsigned bit_size, struct _nir_load_scratch_base_ptr_indices indices)
8607{
8608   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8609      build->shader, nir_intrinsic_load_scratch_base_ptr);
8610
8611   intrin->num_components = num_components;
8612      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8613   nir_intrinsic_set_base(intrin, indices.base);
8614
8615   nir_builder_instr_insert(build, &intrin->instr);
8616   return &intrin->dest.ssa;
8617}
8618static inline nir_ssa_def *
8619_nir_build_load_scratch_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0)
8620{
8621   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8622      build->shader, nir_intrinsic_load_scratch_dxil);
8623
8624   intrin->num_components = num_components;
8625      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8626   intrin->src[0] = nir_src_for_ssa(src0);
8627
8628   nir_builder_instr_insert(build, &intrin->instr);
8629   return &intrin->dest.ssa;
8630}
8631static inline nir_ssa_def *
8632_nir_build_load_shader_query_enabled_amd(nir_builder *build)
8633{
8634   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8635      build->shader, nir_intrinsic_load_shader_query_enabled_amd);
8636
8637      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 1, NULL);
8638
8639   nir_builder_instr_insert(build, &intrin->instr);
8640   return &intrin->dest.ssa;
8641}
8642static inline nir_ssa_def *
8643_nir_build_load_shader_record_ptr(nir_builder *build)
8644{
8645   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8646      build->shader, nir_intrinsic_load_shader_record_ptr);
8647
8648      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 64, NULL);
8649
8650   nir_builder_instr_insert(build, &intrin->instr);
8651   return &intrin->dest.ssa;
8652}
8653static inline nir_ssa_def *
8654_nir_build_load_shared(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_shared_indices indices)
8655{
8656   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8657      build->shader, nir_intrinsic_load_shared);
8658
8659   intrin->num_components = num_components;
8660      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8661   intrin->src[0] = nir_src_for_ssa(src0);
8662   nir_intrinsic_set_base(intrin, indices.base);
8663   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8664   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8665
8666   nir_builder_instr_insert(build, &intrin->instr);
8667   return &intrin->dest.ssa;
8668}
8669static inline nir_ssa_def *
8670_nir_build_load_shared_base_ptr(nir_builder *build, unsigned num_components, unsigned bit_size)
8671{
8672   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8673      build->shader, nir_intrinsic_load_shared_base_ptr);
8674
8675   intrin->num_components = num_components;
8676      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8677
8678   nir_builder_instr_insert(build, &intrin->instr);
8679   return &intrin->dest.ssa;
8680}
8681static inline nir_ssa_def *
8682_nir_build_load_shared_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_shared_block_intel_indices indices)
8683{
8684   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8685      build->shader, nir_intrinsic_load_shared_block_intel);
8686
8687   intrin->num_components = num_components;
8688      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8689   intrin->src[0] = nir_src_for_ssa(src0);
8690   nir_intrinsic_set_base(intrin, indices.base);
8691   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8692   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8693
8694   nir_builder_instr_insert(build, &intrin->instr);
8695   return &intrin->dest.ssa;
8696}
8697static inline nir_ssa_def *
8698_nir_build_load_shared_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0)
8699{
8700   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8701      build->shader, nir_intrinsic_load_shared_dxil);
8702
8703   intrin->num_components = num_components;
8704      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8705   intrin->src[0] = nir_src_for_ssa(src0);
8706
8707   nir_builder_instr_insert(build, &intrin->instr);
8708   return &intrin->dest.ssa;
8709}
8710static inline nir_ssa_def *
8711_nir_build_load_shared_ir3(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_shared_ir3_indices indices)
8712{
8713   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8714      build->shader, nir_intrinsic_load_shared_ir3);
8715
8716   intrin->num_components = num_components;
8717      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8718   intrin->src[0] = nir_src_for_ssa(src0);
8719   nir_intrinsic_set_base(intrin, indices.base);
8720   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8721   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8722
8723   nir_builder_instr_insert(build, &intrin->instr);
8724   return &intrin->dest.ssa;
8725}
8726static inline nir_ssa_def *
8727_nir_build_load_simd_width_intel(nir_builder *build)
8728{
8729   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8730      build->shader, nir_intrinsic_load_simd_width_intel);
8731
8732      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8733
8734   nir_builder_instr_insert(build, &intrin->instr);
8735   return &intrin->dest.ssa;
8736}
8737static inline nir_ssa_def *
8738_nir_build_load_size_ir3(nir_builder *build, unsigned bit_size)
8739{
8740   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8741      build->shader, nir_intrinsic_load_size_ir3);
8742
8743      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
8744
8745   nir_builder_instr_insert(build, &intrin->instr);
8746   return &intrin->dest.ssa;
8747}
8748static inline nir_ssa_def *
8749_nir_build_load_ssbo(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ssbo_indices indices)
8750{
8751   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8752      build->shader, nir_intrinsic_load_ssbo);
8753
8754   intrin->num_components = num_components;
8755      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8756   intrin->src[0] = nir_src_for_ssa(src0);
8757   intrin->src[1] = nir_src_for_ssa(src1);
8758   nir_intrinsic_set_access(intrin, indices.access);
8759   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8760   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8761
8762   nir_builder_instr_insert(build, &intrin->instr);
8763   return &intrin->dest.ssa;
8764}
8765static inline nir_ssa_def *
8766_nir_build_load_ssbo_address(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0)
8767{
8768   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8769      build->shader, nir_intrinsic_load_ssbo_address);
8770
8771   intrin->num_components = num_components;
8772      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8773   intrin->src[0] = nir_src_for_ssa(src0);
8774
8775   nir_builder_instr_insert(build, &intrin->instr);
8776   return &intrin->dest.ssa;
8777}
8778static inline nir_ssa_def *
8779_nir_build_load_ssbo_block_intel(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ssbo_block_intel_indices indices)
8780{
8781   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8782      build->shader, nir_intrinsic_load_ssbo_block_intel);
8783
8784   intrin->num_components = num_components;
8785      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8786   intrin->src[0] = nir_src_for_ssa(src0);
8787   intrin->src[1] = nir_src_for_ssa(src1);
8788   nir_intrinsic_set_access(intrin, indices.access);
8789   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8790   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8791
8792   nir_builder_instr_insert(build, &intrin->instr);
8793   return &intrin->dest.ssa;
8794}
8795static inline nir_ssa_def *
8796_nir_build_load_ssbo_ir3(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_load_ssbo_ir3_indices indices)
8797{
8798   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8799      build->shader, nir_intrinsic_load_ssbo_ir3);
8800
8801   intrin->num_components = num_components;
8802      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8803   intrin->src[0] = nir_src_for_ssa(src0);
8804   intrin->src[1] = nir_src_for_ssa(src1);
8805   intrin->src[2] = nir_src_for_ssa(src2);
8806   nir_intrinsic_set_access(intrin, indices.access);
8807   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
8808   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
8809
8810   nir_builder_instr_insert(build, &intrin->instr);
8811   return &intrin->dest.ssa;
8812}
8813static inline nir_ssa_def *
8814_nir_build_load_subgroup_eq_mask(nir_builder *build, unsigned num_components, unsigned bit_size)
8815{
8816   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8817      build->shader, nir_intrinsic_load_subgroup_eq_mask);
8818
8819   intrin->num_components = num_components;
8820      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8821
8822   nir_builder_instr_insert(build, &intrin->instr);
8823   return &intrin->dest.ssa;
8824}
8825static inline nir_ssa_def *
8826_nir_build_load_subgroup_ge_mask(nir_builder *build, unsigned num_components, unsigned bit_size)
8827{
8828   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8829      build->shader, nir_intrinsic_load_subgroup_ge_mask);
8830
8831   intrin->num_components = num_components;
8832      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8833
8834   nir_builder_instr_insert(build, &intrin->instr);
8835   return &intrin->dest.ssa;
8836}
8837static inline nir_ssa_def *
8838_nir_build_load_subgroup_gt_mask(nir_builder *build, unsigned num_components, unsigned bit_size)
8839{
8840   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8841      build->shader, nir_intrinsic_load_subgroup_gt_mask);
8842
8843   intrin->num_components = num_components;
8844      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8845
8846   nir_builder_instr_insert(build, &intrin->instr);
8847   return &intrin->dest.ssa;
8848}
8849static inline nir_ssa_def *
8850_nir_build_load_subgroup_id(nir_builder *build)
8851{
8852   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8853      build->shader, nir_intrinsic_load_subgroup_id);
8854
8855      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8856
8857   nir_builder_instr_insert(build, &intrin->instr);
8858   return &intrin->dest.ssa;
8859}
8860static inline nir_ssa_def *
8861_nir_build_load_subgroup_id_shift_ir3(nir_builder *build)
8862{
8863   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8864      build->shader, nir_intrinsic_load_subgroup_id_shift_ir3);
8865
8866      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8867
8868   nir_builder_instr_insert(build, &intrin->instr);
8869   return &intrin->dest.ssa;
8870}
8871static inline nir_ssa_def *
8872_nir_build_load_subgroup_invocation(nir_builder *build)
8873{
8874   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8875      build->shader, nir_intrinsic_load_subgroup_invocation);
8876
8877      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8878
8879   nir_builder_instr_insert(build, &intrin->instr);
8880   return &intrin->dest.ssa;
8881}
8882static inline nir_ssa_def *
8883_nir_build_load_subgroup_le_mask(nir_builder *build, unsigned num_components, unsigned bit_size)
8884{
8885   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8886      build->shader, nir_intrinsic_load_subgroup_le_mask);
8887
8888   intrin->num_components = num_components;
8889      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8890
8891   nir_builder_instr_insert(build, &intrin->instr);
8892   return &intrin->dest.ssa;
8893}
8894static inline nir_ssa_def *
8895_nir_build_load_subgroup_lt_mask(nir_builder *build, unsigned num_components, unsigned bit_size)
8896{
8897   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8898      build->shader, nir_intrinsic_load_subgroup_lt_mask);
8899
8900   intrin->num_components = num_components;
8901      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
8902
8903   nir_builder_instr_insert(build, &intrin->instr);
8904   return &intrin->dest.ssa;
8905}
8906static inline nir_ssa_def *
8907_nir_build_load_subgroup_size(nir_builder *build)
8908{
8909   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8910      build->shader, nir_intrinsic_load_subgroup_size);
8911
8912      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8913
8914   nir_builder_instr_insert(build, &intrin->instr);
8915   return &intrin->dest.ssa;
8916}
8917static inline nir_ssa_def *
8918_nir_build_load_tcs_header_ir3(nir_builder *build)
8919{
8920   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8921      build->shader, nir_intrinsic_load_tcs_header_ir3);
8922
8923      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8924
8925   nir_builder_instr_insert(build, &intrin->instr);
8926   return &intrin->dest.ssa;
8927}
8928static inline nir_ssa_def *
8929_nir_build_load_tcs_in_param_base_r600(nir_builder *build)
8930{
8931   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8932      build->shader, nir_intrinsic_load_tcs_in_param_base_r600);
8933
8934      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
8935
8936   nir_builder_instr_insert(build, &intrin->instr);
8937   return &intrin->dest.ssa;
8938}
8939static inline nir_ssa_def *
8940_nir_build_load_tcs_num_patches_amd(nir_builder *build)
8941{
8942   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8943      build->shader, nir_intrinsic_load_tcs_num_patches_amd);
8944
8945      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8946
8947   nir_builder_instr_insert(build, &intrin->instr);
8948   return &intrin->dest.ssa;
8949}
8950static inline nir_ssa_def *
8951_nir_build_load_tcs_out_param_base_r600(nir_builder *build)
8952{
8953   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8954      build->shader, nir_intrinsic_load_tcs_out_param_base_r600);
8955
8956      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
8957
8958   nir_builder_instr_insert(build, &intrin->instr);
8959   return &intrin->dest.ssa;
8960}
8961static inline nir_ssa_def *
8962_nir_build_load_tcs_rel_patch_id_r600(nir_builder *build)
8963{
8964   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8965      build->shader, nir_intrinsic_load_tcs_rel_patch_id_r600);
8966
8967      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8968
8969   nir_builder_instr_insert(build, &intrin->instr);
8970   return &intrin->dest.ssa;
8971}
8972static inline nir_ssa_def *
8973_nir_build_load_tcs_tess_factor_base_r600(nir_builder *build)
8974{
8975   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8976      build->shader, nir_intrinsic_load_tcs_tess_factor_base_r600);
8977
8978      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
8979
8980   nir_builder_instr_insert(build, &intrin->instr);
8981   return &intrin->dest.ssa;
8982}
8983static inline nir_ssa_def *
8984_nir_build_load_tess_coord(nir_builder *build)
8985{
8986   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8987      build->shader, nir_intrinsic_load_tess_coord);
8988
8989      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
8990
8991   nir_builder_instr_insert(build, &intrin->instr);
8992   return &intrin->dest.ssa;
8993}
8994static inline nir_ssa_def *
8995_nir_build_load_tess_coord_r600(nir_builder *build)
8996{
8997   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
8998      build->shader, nir_intrinsic_load_tess_coord_r600);
8999
9000      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
9001
9002   nir_builder_instr_insert(build, &intrin->instr);
9003   return &intrin->dest.ssa;
9004}
9005static inline nir_ssa_def *
9006_nir_build_load_tess_factor_base_ir3(nir_builder *build)
9007{
9008   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9009      build->shader, nir_intrinsic_load_tess_factor_base_ir3);
9010
9011      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
9012
9013   nir_builder_instr_insert(build, &intrin->instr);
9014   return &intrin->dest.ssa;
9015}
9016static inline nir_ssa_def *
9017_nir_build_load_tess_level_inner(nir_builder *build)
9018{
9019   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9020      build->shader, nir_intrinsic_load_tess_level_inner);
9021
9022      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
9023
9024   nir_builder_instr_insert(build, &intrin->instr);
9025   return &intrin->dest.ssa;
9026}
9027static inline nir_ssa_def *
9028_nir_build_load_tess_level_inner_default(nir_builder *build)
9029{
9030   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9031      build->shader, nir_intrinsic_load_tess_level_inner_default);
9032
9033      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
9034
9035   nir_builder_instr_insert(build, &intrin->instr);
9036   return &intrin->dest.ssa;
9037}
9038static inline nir_ssa_def *
9039_nir_build_load_tess_level_outer(nir_builder *build)
9040{
9041   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9042      build->shader, nir_intrinsic_load_tess_level_outer);
9043
9044      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
9045
9046   nir_builder_instr_insert(build, &intrin->instr);
9047   return &intrin->dest.ssa;
9048}
9049static inline nir_ssa_def *
9050_nir_build_load_tess_level_outer_default(nir_builder *build)
9051{
9052   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9053      build->shader, nir_intrinsic_load_tess_level_outer_default);
9054
9055      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
9056
9057   nir_builder_instr_insert(build, &intrin->instr);
9058   return &intrin->dest.ssa;
9059}
9060static inline nir_ssa_def *
9061_nir_build_load_tess_param_base_ir3(nir_builder *build)
9062{
9063   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9064      build->shader, nir_intrinsic_load_tess_param_base_ir3);
9065
9066      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
9067
9068   nir_builder_instr_insert(build, &intrin->instr);
9069   return &intrin->dest.ssa;
9070}
9071static inline nir_ssa_def *
9072_nir_build_load_tess_rel_patch_id_amd(nir_builder *build)
9073{
9074   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9075      build->shader, nir_intrinsic_load_tess_rel_patch_id_amd);
9076
9077      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9078
9079   nir_builder_instr_insert(build, &intrin->instr);
9080   return &intrin->dest.ssa;
9081}
9082static inline nir_ssa_def *
9083_nir_build_load_texture_rect_scaling(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
9084{
9085   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9086      build->shader, nir_intrinsic_load_texture_rect_scaling);
9087
9088      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, bit_size, NULL);
9089   intrin->src[0] = nir_src_for_ssa(src0);
9090
9091   nir_builder_instr_insert(build, &intrin->instr);
9092   return &intrin->dest.ssa;
9093}
9094static inline nir_ssa_def *
9095_nir_build_load_tlb_color_v3d(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_tlb_color_v3d_indices indices)
9096{
9097   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9098      build->shader, nir_intrinsic_load_tlb_color_v3d);
9099
9100   intrin->num_components = num_components;
9101      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9102   intrin->src[0] = nir_src_for_ssa(src0);
9103   nir_intrinsic_set_base(intrin, indices.base);
9104   nir_intrinsic_set_component(intrin, indices.component);
9105
9106   nir_builder_instr_insert(build, &intrin->instr);
9107   return &intrin->dest.ssa;
9108}
9109static inline nir_ssa_def *
9110_nir_build_load_ubo(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ubo_indices indices)
9111{
9112   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9113      build->shader, nir_intrinsic_load_ubo);
9114
9115   intrin->num_components = num_components;
9116      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9117   intrin->src[0] = nir_src_for_ssa(src0);
9118   intrin->src[1] = nir_src_for_ssa(src1);
9119   nir_intrinsic_set_access(intrin, indices.access);
9120   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
9121   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
9122   nir_intrinsic_set_range_base(intrin, indices.range_base);
9123   nir_intrinsic_set_range(intrin, indices.range);
9124
9125   nir_builder_instr_insert(build, &intrin->instr);
9126   return &intrin->dest.ssa;
9127}
9128static inline nir_ssa_def *
9129_nir_build_load_ubo_dxil(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9130{
9131   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9132      build->shader, nir_intrinsic_load_ubo_dxil);
9133
9134   intrin->num_components = num_components;
9135      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9136   intrin->src[0] = nir_src_for_ssa(src0);
9137   intrin->src[1] = nir_src_for_ssa(src1);
9138
9139   nir_builder_instr_insert(build, &intrin->instr);
9140   return &intrin->dest.ssa;
9141}
9142static inline nir_ssa_def *
9143_nir_build_load_ubo_vec4(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_load_ubo_vec4_indices indices)
9144{
9145   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9146      build->shader, nir_intrinsic_load_ubo_vec4);
9147
9148   intrin->num_components = num_components;
9149      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9150   intrin->src[0] = nir_src_for_ssa(src0);
9151   intrin->src[1] = nir_src_for_ssa(src1);
9152   nir_intrinsic_set_access(intrin, indices.access);
9153   nir_intrinsic_set_component(intrin, indices.component);
9154
9155   nir_builder_instr_insert(build, &intrin->instr);
9156   return &intrin->dest.ssa;
9157}
9158static inline nir_ssa_def *
9159_nir_build_load_uniform(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_uniform_indices indices)
9160{
9161   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9162      build->shader, nir_intrinsic_load_uniform);
9163
9164   intrin->num_components = num_components;
9165      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9166   intrin->src[0] = nir_src_for_ssa(src0);
9167   nir_intrinsic_set_base(intrin, indices.base);
9168   nir_intrinsic_set_range(intrin, indices.range);
9169   nir_intrinsic_set_dest_type(intrin, indices.dest_type);
9170
9171   nir_builder_instr_insert(build, &intrin->instr);
9172   return &intrin->dest.ssa;
9173}
9174static inline nir_ssa_def *
9175_nir_build_load_user_clip_plane(nir_builder *build, struct _nir_load_user_clip_plane_indices indices)
9176{
9177   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9178      build->shader, nir_intrinsic_load_user_clip_plane);
9179
9180      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
9181   nir_intrinsic_set_ucp_id(intrin, indices.ucp_id);
9182
9183   nir_builder_instr_insert(build, &intrin->instr);
9184   return &intrin->dest.ssa;
9185}
9186static inline nir_ssa_def *
9187_nir_build_load_user_data_amd(nir_builder *build)
9188{
9189   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9190      build->shader, nir_intrinsic_load_user_data_amd);
9191
9192      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 4, 32, NULL);
9193
9194   nir_builder_instr_insert(build, &intrin->instr);
9195   return &intrin->dest.ssa;
9196}
9197static inline nir_ssa_def *
9198_nir_build_load_vertex_id(nir_builder *build)
9199{
9200   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9201      build->shader, nir_intrinsic_load_vertex_id);
9202
9203      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9204
9205   nir_builder_instr_insert(build, &intrin->instr);
9206   return &intrin->dest.ssa;
9207}
9208static inline nir_ssa_def *
9209_nir_build_load_vertex_id_zero_base(nir_builder *build)
9210{
9211   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9212      build->shader, nir_intrinsic_load_vertex_id_zero_base);
9213
9214      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9215
9216   nir_builder_instr_insert(build, &intrin->instr);
9217   return &intrin->dest.ssa;
9218}
9219static inline nir_ssa_def *
9220_nir_build_load_view_index(nir_builder *build)
9221{
9222   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9223      build->shader, nir_intrinsic_load_view_index);
9224
9225      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9226
9227   nir_builder_instr_insert(build, &intrin->instr);
9228   return &intrin->dest.ssa;
9229}
9230static inline nir_ssa_def *
9231_nir_build_load_viewport_offset(nir_builder *build)
9232{
9233   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9234      build->shader, nir_intrinsic_load_viewport_offset);
9235
9236      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
9237
9238   nir_builder_instr_insert(build, &intrin->instr);
9239   return &intrin->dest.ssa;
9240}
9241static inline nir_ssa_def *
9242_nir_build_load_viewport_scale(nir_builder *build)
9243{
9244   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9245      build->shader, nir_intrinsic_load_viewport_scale);
9246
9247      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
9248
9249   nir_builder_instr_insert(build, &intrin->instr);
9250   return &intrin->dest.ssa;
9251}
9252static inline nir_ssa_def *
9253_nir_build_load_viewport_x_offset(nir_builder *build)
9254{
9255   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9256      build->shader, nir_intrinsic_load_viewport_x_offset);
9257
9258      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9259
9260   nir_builder_instr_insert(build, &intrin->instr);
9261   return &intrin->dest.ssa;
9262}
9263static inline nir_ssa_def *
9264_nir_build_load_viewport_x_scale(nir_builder *build)
9265{
9266   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9267      build->shader, nir_intrinsic_load_viewport_x_scale);
9268
9269      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9270
9271   nir_builder_instr_insert(build, &intrin->instr);
9272   return &intrin->dest.ssa;
9273}
9274static inline nir_ssa_def *
9275_nir_build_load_viewport_y_offset(nir_builder *build)
9276{
9277   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9278      build->shader, nir_intrinsic_load_viewport_y_offset);
9279
9280      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9281
9282   nir_builder_instr_insert(build, &intrin->instr);
9283   return &intrin->dest.ssa;
9284}
9285static inline nir_ssa_def *
9286_nir_build_load_viewport_y_scale(nir_builder *build)
9287{
9288   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9289      build->shader, nir_intrinsic_load_viewport_y_scale);
9290
9291      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9292
9293   nir_builder_instr_insert(build, &intrin->instr);
9294   return &intrin->dest.ssa;
9295}
9296static inline nir_ssa_def *
9297_nir_build_load_viewport_z_offset(nir_builder *build)
9298{
9299   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9300      build->shader, nir_intrinsic_load_viewport_z_offset);
9301
9302      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9303
9304   nir_builder_instr_insert(build, &intrin->instr);
9305   return &intrin->dest.ssa;
9306}
9307static inline nir_ssa_def *
9308_nir_build_load_viewport_z_scale(nir_builder *build)
9309{
9310   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9311      build->shader, nir_intrinsic_load_viewport_z_scale);
9312
9313      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9314
9315   nir_builder_instr_insert(build, &intrin->instr);
9316   return &intrin->dest.ssa;
9317}
9318static inline nir_ssa_def *
9319_nir_build_load_vs_primitive_stride_ir3(nir_builder *build)
9320{
9321   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9322      build->shader, nir_intrinsic_load_vs_primitive_stride_ir3);
9323
9324      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9325
9326   nir_builder_instr_insert(build, &intrin->instr);
9327   return &intrin->dest.ssa;
9328}
9329static inline nir_ssa_def *
9330_nir_build_load_vs_vertex_stride_ir3(nir_builder *build)
9331{
9332   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9333      build->shader, nir_intrinsic_load_vs_vertex_stride_ir3);
9334
9335      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9336
9337   nir_builder_instr_insert(build, &intrin->instr);
9338   return &intrin->dest.ssa;
9339}
9340static inline nir_ssa_def *
9341_nir_build_load_vulkan_descriptor(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_load_vulkan_descriptor_indices indices)
9342{
9343   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9344      build->shader, nir_intrinsic_load_vulkan_descriptor);
9345
9346   intrin->num_components = num_components;
9347      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9348   intrin->src[0] = nir_src_for_ssa(src0);
9349   nir_intrinsic_set_desc_type(intrin, indices.desc_type);
9350
9351   nir_builder_instr_insert(build, &intrin->instr);
9352   return &intrin->dest.ssa;
9353}
9354static inline nir_ssa_def *
9355_nir_build_load_work_dim(nir_builder *build)
9356{
9357   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9358      build->shader, nir_intrinsic_load_work_dim);
9359
9360      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9361
9362   nir_builder_instr_insert(build, &intrin->instr);
9363   return &intrin->dest.ssa;
9364}
9365static inline nir_ssa_def *
9366_nir_build_load_workgroup_id(nir_builder *build, unsigned bit_size)
9367{
9368   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9369      build->shader, nir_intrinsic_load_workgroup_id);
9370
9371      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, bit_size, NULL);
9372
9373   nir_builder_instr_insert(build, &intrin->instr);
9374   return &intrin->dest.ssa;
9375}
9376static inline nir_ssa_def *
9377_nir_build_load_workgroup_id_zero_base(nir_builder *build)
9378{
9379   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9380      build->shader, nir_intrinsic_load_workgroup_id_zero_base);
9381
9382      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
9383
9384   nir_builder_instr_insert(build, &intrin->instr);
9385   return &intrin->dest.ssa;
9386}
9387static inline nir_ssa_def *
9388_nir_build_load_workgroup_num_input_primitives_amd(nir_builder *build)
9389{
9390   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9391      build->shader, nir_intrinsic_load_workgroup_num_input_primitives_amd);
9392
9393      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9394
9395   nir_builder_instr_insert(build, &intrin->instr);
9396   return &intrin->dest.ssa;
9397}
9398static inline nir_ssa_def *
9399_nir_build_load_workgroup_num_input_vertices_amd(nir_builder *build)
9400{
9401   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9402      build->shader, nir_intrinsic_load_workgroup_num_input_vertices_amd);
9403
9404      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9405
9406   nir_builder_instr_insert(build, &intrin->instr);
9407   return &intrin->dest.ssa;
9408}
9409static inline nir_ssa_def *
9410_nir_build_load_workgroup_size(nir_builder *build)
9411{
9412   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9413      build->shader, nir_intrinsic_load_workgroup_size);
9414
9415      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 3, 32, NULL);
9416
9417   nir_builder_instr_insert(build, &intrin->instr);
9418   return &intrin->dest.ssa;
9419}
9420static inline nir_ssa_def *
9421_nir_build_masked_swizzle_amd(nir_builder *build, nir_ssa_def *src0, struct _nir_masked_swizzle_amd_indices indices)
9422{
9423   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9424      build->shader, nir_intrinsic_masked_swizzle_amd);
9425
9426   intrin->num_components = src0->num_components;
9427      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
9428   intrin->src[0] = nir_src_for_ssa(src0);
9429   nir_intrinsic_set_swizzle_mask(intrin, indices.swizzle_mask);
9430
9431   nir_builder_instr_insert(build, &intrin->instr);
9432   return &intrin->dest.ssa;
9433}
9434static inline nir_ssa_def *
9435_nir_build_mbcnt_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
9436{
9437   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9438      build->shader, nir_intrinsic_mbcnt_amd);
9439
9440      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9441   intrin->src[0] = nir_src_for_ssa(src0);
9442   intrin->src[1] = nir_src_for_ssa(src1);
9443
9444   nir_builder_instr_insert(build, &intrin->instr);
9445   return &intrin->dest.ssa;
9446}
9447static inline nir_intrinsic_instr *
9448_nir_build_memcpy_deref(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_memcpy_deref_indices indices)
9449{
9450   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9451      build->shader, nir_intrinsic_memcpy_deref);
9452
9453   intrin->src[0] = nir_src_for_ssa(src0);
9454   intrin->src[1] = nir_src_for_ssa(src1);
9455   intrin->src[2] = nir_src_for_ssa(src2);
9456   nir_intrinsic_set_dst_access(intrin, indices.dst_access);
9457   nir_intrinsic_set_src_access(intrin, indices.src_access);
9458
9459   nir_builder_instr_insert(build, &intrin->instr);
9460   return intrin;
9461}
9462static inline nir_intrinsic_instr *
9463_nir_build_memory_barrier(nir_builder *build)
9464{
9465   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9466      build->shader, nir_intrinsic_memory_barrier);
9467
9468
9469   nir_builder_instr_insert(build, &intrin->instr);
9470   return intrin;
9471}
9472static inline nir_intrinsic_instr *
9473_nir_build_memory_barrier_atomic_counter(nir_builder *build)
9474{
9475   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9476      build->shader, nir_intrinsic_memory_barrier_atomic_counter);
9477
9478
9479   nir_builder_instr_insert(build, &intrin->instr);
9480   return intrin;
9481}
9482static inline nir_intrinsic_instr *
9483_nir_build_memory_barrier_buffer(nir_builder *build)
9484{
9485   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9486      build->shader, nir_intrinsic_memory_barrier_buffer);
9487
9488
9489   nir_builder_instr_insert(build, &intrin->instr);
9490   return intrin;
9491}
9492static inline nir_intrinsic_instr *
9493_nir_build_memory_barrier_image(nir_builder *build)
9494{
9495   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9496      build->shader, nir_intrinsic_memory_barrier_image);
9497
9498
9499   nir_builder_instr_insert(build, &intrin->instr);
9500   return intrin;
9501}
9502static inline nir_intrinsic_instr *
9503_nir_build_memory_barrier_shared(nir_builder *build)
9504{
9505   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9506      build->shader, nir_intrinsic_memory_barrier_shared);
9507
9508
9509   nir_builder_instr_insert(build, &intrin->instr);
9510   return intrin;
9511}
9512static inline nir_intrinsic_instr *
9513_nir_build_memory_barrier_tcs_patch(nir_builder *build)
9514{
9515   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9516      build->shader, nir_intrinsic_memory_barrier_tcs_patch);
9517
9518
9519   nir_builder_instr_insert(build, &intrin->instr);
9520   return intrin;
9521}
9522static inline nir_intrinsic_instr *
9523_nir_build_nop(nir_builder *build)
9524{
9525   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9526      build->shader, nir_intrinsic_nop);
9527
9528
9529   nir_builder_instr_insert(build, &intrin->instr);
9530   return intrin;
9531}
9532static inline nir_intrinsic_instr *
9533_nir_build_overwrite_tes_arguments_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
9534{
9535   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9536      build->shader, nir_intrinsic_overwrite_tes_arguments_amd);
9537
9538   intrin->src[0] = nir_src_for_ssa(src0);
9539   intrin->src[1] = nir_src_for_ssa(src1);
9540   intrin->src[2] = nir_src_for_ssa(src2);
9541   intrin->src[3] = nir_src_for_ssa(src3);
9542
9543   nir_builder_instr_insert(build, &intrin->instr);
9544   return intrin;
9545}
9546static inline nir_intrinsic_instr *
9547_nir_build_overwrite_vs_arguments_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
9548{
9549   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9550      build->shader, nir_intrinsic_overwrite_vs_arguments_amd);
9551
9552   intrin->src[0] = nir_src_for_ssa(src0);
9553   intrin->src[1] = nir_src_for_ssa(src1);
9554
9555   nir_builder_instr_insert(build, &intrin->instr);
9556   return intrin;
9557}
9558static inline nir_ssa_def *
9559_nir_build_printf(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
9560{
9561   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9562      build->shader, nir_intrinsic_printf);
9563
9564      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
9565   intrin->src[0] = nir_src_for_ssa(src0);
9566   intrin->src[1] = nir_src_for_ssa(src1);
9567
9568   nir_builder_instr_insert(build, &intrin->instr);
9569   return &intrin->dest.ssa;
9570}
9571static inline nir_ssa_def *
9572_nir_build_quad_broadcast(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9573{
9574   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9575      build->shader, nir_intrinsic_quad_broadcast);
9576
9577   intrin->num_components = src0->num_components;
9578      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9579   intrin->src[0] = nir_src_for_ssa(src0);
9580   intrin->src[1] = nir_src_for_ssa(src1);
9581
9582   nir_builder_instr_insert(build, &intrin->instr);
9583   return &intrin->dest.ssa;
9584}
9585static inline nir_ssa_def *
9586_nir_build_quad_swap_diagonal(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
9587{
9588   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9589      build->shader, nir_intrinsic_quad_swap_diagonal);
9590
9591   intrin->num_components = src0->num_components;
9592      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9593   intrin->src[0] = nir_src_for_ssa(src0);
9594
9595   nir_builder_instr_insert(build, &intrin->instr);
9596   return &intrin->dest.ssa;
9597}
9598static inline nir_ssa_def *
9599_nir_build_quad_swap_horizontal(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
9600{
9601   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9602      build->shader, nir_intrinsic_quad_swap_horizontal);
9603
9604   intrin->num_components = src0->num_components;
9605      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9606   intrin->src[0] = nir_src_for_ssa(src0);
9607
9608   nir_builder_instr_insert(build, &intrin->instr);
9609   return &intrin->dest.ssa;
9610}
9611static inline nir_ssa_def *
9612_nir_build_quad_swap_vertical(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
9613{
9614   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9615      build->shader, nir_intrinsic_quad_swap_vertical);
9616
9617   intrin->num_components = src0->num_components;
9618      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9619   intrin->src[0] = nir_src_for_ssa(src0);
9620
9621   nir_builder_instr_insert(build, &intrin->instr);
9622   return &intrin->dest.ssa;
9623}
9624static inline nir_ssa_def *
9625_nir_build_quad_swizzle_amd(nir_builder *build, nir_ssa_def *src0, struct _nir_quad_swizzle_amd_indices indices)
9626{
9627   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9628      build->shader, nir_intrinsic_quad_swizzle_amd);
9629
9630   intrin->num_components = src0->num_components;
9631      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
9632   intrin->src[0] = nir_src_for_ssa(src0);
9633   nir_intrinsic_set_swizzle_mask(intrin, indices.swizzle_mask);
9634
9635   nir_builder_instr_insert(build, &intrin->instr);
9636   return &intrin->dest.ssa;
9637}
9638static inline nir_ssa_def *
9639_nir_build_read_first_invocation(nir_builder *build, nir_ssa_def *src0)
9640{
9641   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9642      build->shader, nir_intrinsic_read_first_invocation);
9643
9644   intrin->num_components = src0->num_components;
9645      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
9646   intrin->src[0] = nir_src_for_ssa(src0);
9647
9648   nir_builder_instr_insert(build, &intrin->instr);
9649   return &intrin->dest.ssa;
9650}
9651static inline nir_ssa_def *
9652_nir_build_read_invocation(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
9653{
9654   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9655      build->shader, nir_intrinsic_read_invocation);
9656
9657   intrin->num_components = src0->num_components;
9658      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
9659   intrin->src[0] = nir_src_for_ssa(src0);
9660   intrin->src[1] = nir_src_for_ssa(src1);
9661
9662   nir_builder_instr_insert(build, &intrin->instr);
9663   return &intrin->dest.ssa;
9664}
9665static inline nir_ssa_def *
9666_nir_build_read_invocation_cond_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9667{
9668   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9669      build->shader, nir_intrinsic_read_invocation_cond_ir3);
9670
9671   intrin->num_components = src0->num_components;
9672      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
9673   intrin->src[0] = nir_src_for_ssa(src0);
9674   intrin->src[1] = nir_src_for_ssa(src1);
9675
9676   nir_builder_instr_insert(build, &intrin->instr);
9677   return &intrin->dest.ssa;
9678}
9679static inline nir_ssa_def *
9680_nir_build_reduce(nir_builder *build, nir_ssa_def *src0, struct _nir_reduce_indices indices)
9681{
9682   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9683      build->shader, nir_intrinsic_reduce);
9684
9685   intrin->num_components = src0->num_components;
9686      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
9687   intrin->src[0] = nir_src_for_ssa(src0);
9688   nir_intrinsic_set_reduction_op(intrin, indices.reduction_op);
9689   nir_intrinsic_set_cluster_size(intrin, indices.cluster_size);
9690
9691   nir_builder_instr_insert(build, &intrin->instr);
9692   return &intrin->dest.ssa;
9693}
9694static inline nir_ssa_def *
9695_nir_build_report_ray_intersection(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9696{
9697   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9698      build->shader, nir_intrinsic_report_ray_intersection);
9699
9700      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9701   intrin->src[0] = nir_src_for_ssa(src0);
9702   intrin->src[1] = nir_src_for_ssa(src1);
9703
9704   nir_builder_instr_insert(build, &intrin->instr);
9705   return &intrin->dest.ssa;
9706}
9707static inline nir_intrinsic_instr *
9708_nir_build_rt_execute_callable(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_rt_execute_callable_indices indices)
9709{
9710   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9711      build->shader, nir_intrinsic_rt_execute_callable);
9712
9713   intrin->src[0] = nir_src_for_ssa(src0);
9714   intrin->src[1] = nir_src_for_ssa(src1);
9715   nir_intrinsic_set_call_idx(intrin, indices.call_idx);
9716   nir_intrinsic_set_stack_size(intrin, indices.stack_size);
9717
9718   nir_builder_instr_insert(build, &intrin->instr);
9719   return intrin;
9720}
9721static inline nir_intrinsic_instr *
9722_nir_build_rt_resume(nir_builder *build, struct _nir_rt_resume_indices indices)
9723{
9724   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9725      build->shader, nir_intrinsic_rt_resume);
9726
9727   nir_intrinsic_set_call_idx(intrin, indices.call_idx);
9728   nir_intrinsic_set_stack_size(intrin, indices.stack_size);
9729
9730   nir_builder_instr_insert(build, &intrin->instr);
9731   return intrin;
9732}
9733static inline nir_intrinsic_instr *
9734_nir_build_rt_return_amd(nir_builder *build)
9735{
9736   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9737      build->shader, nir_intrinsic_rt_return_amd);
9738
9739
9740   nir_builder_instr_insert(build, &intrin->instr);
9741   return intrin;
9742}
9743static inline nir_intrinsic_instr *
9744_nir_build_rt_trace_ray(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7, nir_ssa_def *src8, nir_ssa_def *src9, nir_ssa_def *src10, struct _nir_rt_trace_ray_indices indices)
9745{
9746   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9747      build->shader, nir_intrinsic_rt_trace_ray);
9748
9749   intrin->src[0] = nir_src_for_ssa(src0);
9750   intrin->src[1] = nir_src_for_ssa(src1);
9751   intrin->src[2] = nir_src_for_ssa(src2);
9752   intrin->src[3] = nir_src_for_ssa(src3);
9753   intrin->src[4] = nir_src_for_ssa(src4);
9754   intrin->src[5] = nir_src_for_ssa(src5);
9755   intrin->src[6] = nir_src_for_ssa(src6);
9756   intrin->src[7] = nir_src_for_ssa(src7);
9757   intrin->src[8] = nir_src_for_ssa(src8);
9758   intrin->src[9] = nir_src_for_ssa(src9);
9759   intrin->src[10] = nir_src_for_ssa(src10);
9760   nir_intrinsic_set_call_idx(intrin, indices.call_idx);
9761   nir_intrinsic_set_stack_size(intrin, indices.stack_size);
9762
9763   nir_builder_instr_insert(build, &intrin->instr);
9764   return intrin;
9765}
9766static inline nir_intrinsic_instr *
9767_nir_build_scoped_barrier(nir_builder *build, struct _nir_scoped_barrier_indices indices)
9768{
9769   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9770      build->shader, nir_intrinsic_scoped_barrier);
9771
9772   nir_intrinsic_set_execution_scope(intrin, indices.execution_scope);
9773   nir_intrinsic_set_memory_scope(intrin, indices.memory_scope);
9774   nir_intrinsic_set_memory_semantics(intrin, indices.memory_semantics);
9775   nir_intrinsic_set_memory_modes(intrin, indices.memory_modes);
9776
9777   nir_builder_instr_insert(build, &intrin->instr);
9778   return intrin;
9779}
9780static inline nir_intrinsic_instr *
9781_nir_build_set_vertex_and_primitive_count(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_set_vertex_and_primitive_count_indices indices)
9782{
9783   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9784      build->shader, nir_intrinsic_set_vertex_and_primitive_count);
9785
9786   intrin->src[0] = nir_src_for_ssa(src0);
9787   intrin->src[1] = nir_src_for_ssa(src1);
9788   nir_intrinsic_set_stream_id(intrin, indices.stream_id);
9789
9790   nir_builder_instr_insert(build, &intrin->instr);
9791   return intrin;
9792}
9793static inline nir_ssa_def *
9794_nir_build_shader_clock(nir_builder *build, struct _nir_shader_clock_indices indices)
9795{
9796   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9797      build->shader, nir_intrinsic_shader_clock);
9798
9799      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 2, 32, NULL);
9800   nir_intrinsic_set_memory_scope(intrin, indices.memory_scope);
9801
9802   nir_builder_instr_insert(build, &intrin->instr);
9803   return &intrin->dest.ssa;
9804}
9805static inline nir_ssa_def *
9806_nir_build_shared_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_add_indices indices)
9807{
9808   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9809      build->shader, nir_intrinsic_shared_atomic_add);
9810
9811      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9812   intrin->src[0] = nir_src_for_ssa(src0);
9813   intrin->src[1] = nir_src_for_ssa(src1);
9814   nir_intrinsic_set_base(intrin, indices.base);
9815
9816   nir_builder_instr_insert(build, &intrin->instr);
9817   return &intrin->dest.ssa;
9818}
9819static inline nir_ssa_def *
9820_nir_build_shared_atomic_add_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9821{
9822   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9823      build->shader, nir_intrinsic_shared_atomic_add_dxil);
9824
9825      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9826   intrin->src[0] = nir_src_for_ssa(src0);
9827   intrin->src[1] = nir_src_for_ssa(src1);
9828
9829   nir_builder_instr_insert(build, &intrin->instr);
9830   return &intrin->dest.ssa;
9831}
9832static inline nir_ssa_def *
9833_nir_build_shared_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_and_indices indices)
9834{
9835   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9836      build->shader, nir_intrinsic_shared_atomic_and);
9837
9838      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9839   intrin->src[0] = nir_src_for_ssa(src0);
9840   intrin->src[1] = nir_src_for_ssa(src1);
9841   nir_intrinsic_set_base(intrin, indices.base);
9842
9843   nir_builder_instr_insert(build, &intrin->instr);
9844   return &intrin->dest.ssa;
9845}
9846static inline nir_ssa_def *
9847_nir_build_shared_atomic_and_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9848{
9849   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9850      build->shader, nir_intrinsic_shared_atomic_and_dxil);
9851
9852      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9853   intrin->src[0] = nir_src_for_ssa(src0);
9854   intrin->src[1] = nir_src_for_ssa(src1);
9855
9856   nir_builder_instr_insert(build, &intrin->instr);
9857   return &intrin->dest.ssa;
9858}
9859static inline nir_ssa_def *
9860_nir_build_shared_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_shared_atomic_comp_swap_indices indices)
9861{
9862   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9863      build->shader, nir_intrinsic_shared_atomic_comp_swap);
9864
9865      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9866   intrin->src[0] = nir_src_for_ssa(src0);
9867   intrin->src[1] = nir_src_for_ssa(src1);
9868   intrin->src[2] = nir_src_for_ssa(src2);
9869   nir_intrinsic_set_base(intrin, indices.base);
9870
9871   nir_builder_instr_insert(build, &intrin->instr);
9872   return &intrin->dest.ssa;
9873}
9874static inline nir_ssa_def *
9875_nir_build_shared_atomic_comp_swap_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
9876{
9877   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9878      build->shader, nir_intrinsic_shared_atomic_comp_swap_dxil);
9879
9880      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9881   intrin->src[0] = nir_src_for_ssa(src0);
9882   intrin->src[1] = nir_src_for_ssa(src1);
9883   intrin->src[2] = nir_src_for_ssa(src2);
9884
9885   nir_builder_instr_insert(build, &intrin->instr);
9886   return &intrin->dest.ssa;
9887}
9888static inline nir_ssa_def *
9889_nir_build_shared_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_exchange_indices indices)
9890{
9891   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9892      build->shader, nir_intrinsic_shared_atomic_exchange);
9893
9894      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9895   intrin->src[0] = nir_src_for_ssa(src0);
9896   intrin->src[1] = nir_src_for_ssa(src1);
9897   nir_intrinsic_set_base(intrin, indices.base);
9898
9899   nir_builder_instr_insert(build, &intrin->instr);
9900   return &intrin->dest.ssa;
9901}
9902static inline nir_ssa_def *
9903_nir_build_shared_atomic_exchange_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9904{
9905   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9906      build->shader, nir_intrinsic_shared_atomic_exchange_dxil);
9907
9908      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9909   intrin->src[0] = nir_src_for_ssa(src0);
9910   intrin->src[1] = nir_src_for_ssa(src1);
9911
9912   nir_builder_instr_insert(build, &intrin->instr);
9913   return &intrin->dest.ssa;
9914}
9915static inline nir_ssa_def *
9916_nir_build_shared_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_fadd_indices indices)
9917{
9918   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9919      build->shader, nir_intrinsic_shared_atomic_fadd);
9920
9921      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9922   intrin->src[0] = nir_src_for_ssa(src0);
9923   intrin->src[1] = nir_src_for_ssa(src1);
9924   nir_intrinsic_set_base(intrin, indices.base);
9925
9926   nir_builder_instr_insert(build, &intrin->instr);
9927   return &intrin->dest.ssa;
9928}
9929static inline nir_ssa_def *
9930_nir_build_shared_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_shared_atomic_fcomp_swap_indices indices)
9931{
9932   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9933      build->shader, nir_intrinsic_shared_atomic_fcomp_swap);
9934
9935      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9936   intrin->src[0] = nir_src_for_ssa(src0);
9937   intrin->src[1] = nir_src_for_ssa(src1);
9938   intrin->src[2] = nir_src_for_ssa(src2);
9939   nir_intrinsic_set_base(intrin, indices.base);
9940
9941   nir_builder_instr_insert(build, &intrin->instr);
9942   return &intrin->dest.ssa;
9943}
9944static inline nir_ssa_def *
9945_nir_build_shared_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_fmax_indices indices)
9946{
9947   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9948      build->shader, nir_intrinsic_shared_atomic_fmax);
9949
9950      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9951   intrin->src[0] = nir_src_for_ssa(src0);
9952   intrin->src[1] = nir_src_for_ssa(src1);
9953   nir_intrinsic_set_base(intrin, indices.base);
9954
9955   nir_builder_instr_insert(build, &intrin->instr);
9956   return &intrin->dest.ssa;
9957}
9958static inline nir_ssa_def *
9959_nir_build_shared_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_fmin_indices indices)
9960{
9961   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9962      build->shader, nir_intrinsic_shared_atomic_fmin);
9963
9964      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9965   intrin->src[0] = nir_src_for_ssa(src0);
9966   intrin->src[1] = nir_src_for_ssa(src1);
9967   nir_intrinsic_set_base(intrin, indices.base);
9968
9969   nir_builder_instr_insert(build, &intrin->instr);
9970   return &intrin->dest.ssa;
9971}
9972static inline nir_ssa_def *
9973_nir_build_shared_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_imax_indices indices)
9974{
9975   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9976      build->shader, nir_intrinsic_shared_atomic_imax);
9977
9978      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9979   intrin->src[0] = nir_src_for_ssa(src0);
9980   intrin->src[1] = nir_src_for_ssa(src1);
9981   nir_intrinsic_set_base(intrin, indices.base);
9982
9983   nir_builder_instr_insert(build, &intrin->instr);
9984   return &intrin->dest.ssa;
9985}
9986static inline nir_ssa_def *
9987_nir_build_shared_atomic_imax_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
9988{
9989   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
9990      build->shader, nir_intrinsic_shared_atomic_imax_dxil);
9991
9992      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
9993   intrin->src[0] = nir_src_for_ssa(src0);
9994   intrin->src[1] = nir_src_for_ssa(src1);
9995
9996   nir_builder_instr_insert(build, &intrin->instr);
9997   return &intrin->dest.ssa;
9998}
9999static inline nir_ssa_def *
10000_nir_build_shared_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_imin_indices indices)
10001{
10002   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10003      build->shader, nir_intrinsic_shared_atomic_imin);
10004
10005      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10006   intrin->src[0] = nir_src_for_ssa(src0);
10007   intrin->src[1] = nir_src_for_ssa(src1);
10008   nir_intrinsic_set_base(intrin, indices.base);
10009
10010   nir_builder_instr_insert(build, &intrin->instr);
10011   return &intrin->dest.ssa;
10012}
10013static inline nir_ssa_def *
10014_nir_build_shared_atomic_imin_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
10015{
10016   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10017      build->shader, nir_intrinsic_shared_atomic_imin_dxil);
10018
10019      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10020   intrin->src[0] = nir_src_for_ssa(src0);
10021   intrin->src[1] = nir_src_for_ssa(src1);
10022
10023   nir_builder_instr_insert(build, &intrin->instr);
10024   return &intrin->dest.ssa;
10025}
10026static inline nir_ssa_def *
10027_nir_build_shared_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_or_indices indices)
10028{
10029   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10030      build->shader, nir_intrinsic_shared_atomic_or);
10031
10032      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10033   intrin->src[0] = nir_src_for_ssa(src0);
10034   intrin->src[1] = nir_src_for_ssa(src1);
10035   nir_intrinsic_set_base(intrin, indices.base);
10036
10037   nir_builder_instr_insert(build, &intrin->instr);
10038   return &intrin->dest.ssa;
10039}
10040static inline nir_ssa_def *
10041_nir_build_shared_atomic_or_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
10042{
10043   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10044      build->shader, nir_intrinsic_shared_atomic_or_dxil);
10045
10046      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10047   intrin->src[0] = nir_src_for_ssa(src0);
10048   intrin->src[1] = nir_src_for_ssa(src1);
10049
10050   nir_builder_instr_insert(build, &intrin->instr);
10051   return &intrin->dest.ssa;
10052}
10053static inline nir_ssa_def *
10054_nir_build_shared_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_umax_indices indices)
10055{
10056   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10057      build->shader, nir_intrinsic_shared_atomic_umax);
10058
10059      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10060   intrin->src[0] = nir_src_for_ssa(src0);
10061   intrin->src[1] = nir_src_for_ssa(src1);
10062   nir_intrinsic_set_base(intrin, indices.base);
10063
10064   nir_builder_instr_insert(build, &intrin->instr);
10065   return &intrin->dest.ssa;
10066}
10067static inline nir_ssa_def *
10068_nir_build_shared_atomic_umax_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
10069{
10070   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10071      build->shader, nir_intrinsic_shared_atomic_umax_dxil);
10072
10073      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10074   intrin->src[0] = nir_src_for_ssa(src0);
10075   intrin->src[1] = nir_src_for_ssa(src1);
10076
10077   nir_builder_instr_insert(build, &intrin->instr);
10078   return &intrin->dest.ssa;
10079}
10080static inline nir_ssa_def *
10081_nir_build_shared_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_umin_indices indices)
10082{
10083   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10084      build->shader, nir_intrinsic_shared_atomic_umin);
10085
10086      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10087   intrin->src[0] = nir_src_for_ssa(src0);
10088   intrin->src[1] = nir_src_for_ssa(src1);
10089   nir_intrinsic_set_base(intrin, indices.base);
10090
10091   nir_builder_instr_insert(build, &intrin->instr);
10092   return &intrin->dest.ssa;
10093}
10094static inline nir_ssa_def *
10095_nir_build_shared_atomic_umin_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
10096{
10097   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10098      build->shader, nir_intrinsic_shared_atomic_umin_dxil);
10099
10100      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10101   intrin->src[0] = nir_src_for_ssa(src0);
10102   intrin->src[1] = nir_src_for_ssa(src1);
10103
10104   nir_builder_instr_insert(build, &intrin->instr);
10105   return &intrin->dest.ssa;
10106}
10107static inline nir_ssa_def *
10108_nir_build_shared_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_shared_atomic_xor_indices indices)
10109{
10110   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10111      build->shader, nir_intrinsic_shared_atomic_xor);
10112
10113      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10114   intrin->src[0] = nir_src_for_ssa(src0);
10115   intrin->src[1] = nir_src_for_ssa(src1);
10116   nir_intrinsic_set_base(intrin, indices.base);
10117
10118   nir_builder_instr_insert(build, &intrin->instr);
10119   return &intrin->dest.ssa;
10120}
10121static inline nir_ssa_def *
10122_nir_build_shared_atomic_xor_dxil(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1)
10123{
10124   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10125      build->shader, nir_intrinsic_shared_atomic_xor_dxil);
10126
10127      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10128   intrin->src[0] = nir_src_for_ssa(src0);
10129   intrin->src[1] = nir_src_for_ssa(src1);
10130
10131   nir_builder_instr_insert(build, &intrin->instr);
10132   return &intrin->dest.ssa;
10133}
10134static inline nir_ssa_def *
10135_nir_build_shuffle(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10136{
10137   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10138      build->shader, nir_intrinsic_shuffle);
10139
10140   intrin->num_components = src0->num_components;
10141      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
10142   intrin->src[0] = nir_src_for_ssa(src0);
10143   intrin->src[1] = nir_src_for_ssa(src1);
10144
10145   nir_builder_instr_insert(build, &intrin->instr);
10146   return &intrin->dest.ssa;
10147}
10148static inline nir_ssa_def *
10149_nir_build_shuffle_down(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10150{
10151   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10152      build->shader, nir_intrinsic_shuffle_down);
10153
10154   intrin->num_components = src0->num_components;
10155      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
10156   intrin->src[0] = nir_src_for_ssa(src0);
10157   intrin->src[1] = nir_src_for_ssa(src1);
10158
10159   nir_builder_instr_insert(build, &intrin->instr);
10160   return &intrin->dest.ssa;
10161}
10162static inline nir_ssa_def *
10163_nir_build_shuffle_up(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10164{
10165   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10166      build->shader, nir_intrinsic_shuffle_up);
10167
10168   intrin->num_components = src0->num_components;
10169      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
10170   intrin->src[0] = nir_src_for_ssa(src0);
10171   intrin->src[1] = nir_src_for_ssa(src1);
10172
10173   nir_builder_instr_insert(build, &intrin->instr);
10174   return &intrin->dest.ssa;
10175}
10176static inline nir_ssa_def *
10177_nir_build_shuffle_xor(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10178{
10179   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10180      build->shader, nir_intrinsic_shuffle_xor);
10181
10182   intrin->num_components = src0->num_components;
10183      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
10184   intrin->src[0] = nir_src_for_ssa(src0);
10185   intrin->src[1] = nir_src_for_ssa(src1);
10186
10187   nir_builder_instr_insert(build, &intrin->instr);
10188   return &intrin->dest.ssa;
10189}
10190static inline nir_ssa_def *
10191_nir_build_sparse_residency_code_and(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10192{
10193   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10194      build->shader, nir_intrinsic_sparse_residency_code_and);
10195
10196      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, 32, NULL);
10197   intrin->src[0] = nir_src_for_ssa(src0);
10198   intrin->src[1] = nir_src_for_ssa(src1);
10199
10200   nir_builder_instr_insert(build, &intrin->instr);
10201   return &intrin->dest.ssa;
10202}
10203static inline nir_ssa_def *
10204_nir_build_ssbo_atomic_add(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_add_indices indices)
10205{
10206   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10207      build->shader, nir_intrinsic_ssbo_atomic_add);
10208
10209      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10210   intrin->src[0] = nir_src_for_ssa(src0);
10211   intrin->src[1] = nir_src_for_ssa(src1);
10212   intrin->src[2] = nir_src_for_ssa(src2);
10213   nir_intrinsic_set_access(intrin, indices.access);
10214
10215   nir_builder_instr_insert(build, &intrin->instr);
10216   return &intrin->dest.ssa;
10217}
10218static inline nir_ssa_def *
10219_nir_build_ssbo_atomic_add_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_add_ir3_indices indices)
10220{
10221   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10222      build->shader, nir_intrinsic_ssbo_atomic_add_ir3);
10223
10224      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10225   intrin->src[0] = nir_src_for_ssa(src0);
10226   intrin->src[1] = nir_src_for_ssa(src1);
10227   intrin->src[2] = nir_src_for_ssa(src2);
10228   intrin->src[3] = nir_src_for_ssa(src3);
10229   nir_intrinsic_set_access(intrin, indices.access);
10230
10231   nir_builder_instr_insert(build, &intrin->instr);
10232   return &intrin->dest.ssa;
10233}
10234static inline nir_ssa_def *
10235_nir_build_ssbo_atomic_and(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_and_indices indices)
10236{
10237   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10238      build->shader, nir_intrinsic_ssbo_atomic_and);
10239
10240      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10241   intrin->src[0] = nir_src_for_ssa(src0);
10242   intrin->src[1] = nir_src_for_ssa(src1);
10243   intrin->src[2] = nir_src_for_ssa(src2);
10244   nir_intrinsic_set_access(intrin, indices.access);
10245
10246   nir_builder_instr_insert(build, &intrin->instr);
10247   return &intrin->dest.ssa;
10248}
10249static inline nir_ssa_def *
10250_nir_build_ssbo_atomic_and_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_and_ir3_indices indices)
10251{
10252   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10253      build->shader, nir_intrinsic_ssbo_atomic_and_ir3);
10254
10255      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10256   intrin->src[0] = nir_src_for_ssa(src0);
10257   intrin->src[1] = nir_src_for_ssa(src1);
10258   intrin->src[2] = nir_src_for_ssa(src2);
10259   intrin->src[3] = nir_src_for_ssa(src3);
10260   nir_intrinsic_set_access(intrin, indices.access);
10261
10262   nir_builder_instr_insert(build, &intrin->instr);
10263   return &intrin->dest.ssa;
10264}
10265static inline nir_ssa_def *
10266_nir_build_ssbo_atomic_comp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_comp_swap_indices indices)
10267{
10268   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10269      build->shader, nir_intrinsic_ssbo_atomic_comp_swap);
10270
10271      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10272   intrin->src[0] = nir_src_for_ssa(src0);
10273   intrin->src[1] = nir_src_for_ssa(src1);
10274   intrin->src[2] = nir_src_for_ssa(src2);
10275   intrin->src[3] = nir_src_for_ssa(src3);
10276   nir_intrinsic_set_access(intrin, indices.access);
10277
10278   nir_builder_instr_insert(build, &intrin->instr);
10279   return &intrin->dest.ssa;
10280}
10281static inline nir_ssa_def *
10282_nir_build_ssbo_atomic_comp_swap_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, struct _nir_ssbo_atomic_comp_swap_ir3_indices indices)
10283{
10284   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10285      build->shader, nir_intrinsic_ssbo_atomic_comp_swap_ir3);
10286
10287      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10288   intrin->src[0] = nir_src_for_ssa(src0);
10289   intrin->src[1] = nir_src_for_ssa(src1);
10290   intrin->src[2] = nir_src_for_ssa(src2);
10291   intrin->src[3] = nir_src_for_ssa(src3);
10292   intrin->src[4] = nir_src_for_ssa(src4);
10293   nir_intrinsic_set_access(intrin, indices.access);
10294
10295   nir_builder_instr_insert(build, &intrin->instr);
10296   return &intrin->dest.ssa;
10297}
10298static inline nir_ssa_def *
10299_nir_build_ssbo_atomic_exchange(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_exchange_indices indices)
10300{
10301   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10302      build->shader, nir_intrinsic_ssbo_atomic_exchange);
10303
10304      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10305   intrin->src[0] = nir_src_for_ssa(src0);
10306   intrin->src[1] = nir_src_for_ssa(src1);
10307   intrin->src[2] = nir_src_for_ssa(src2);
10308   nir_intrinsic_set_access(intrin, indices.access);
10309
10310   nir_builder_instr_insert(build, &intrin->instr);
10311   return &intrin->dest.ssa;
10312}
10313static inline nir_ssa_def *
10314_nir_build_ssbo_atomic_exchange_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_exchange_ir3_indices indices)
10315{
10316   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10317      build->shader, nir_intrinsic_ssbo_atomic_exchange_ir3);
10318
10319      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10320   intrin->src[0] = nir_src_for_ssa(src0);
10321   intrin->src[1] = nir_src_for_ssa(src1);
10322   intrin->src[2] = nir_src_for_ssa(src2);
10323   intrin->src[3] = nir_src_for_ssa(src3);
10324   nir_intrinsic_set_access(intrin, indices.access);
10325
10326   nir_builder_instr_insert(build, &intrin->instr);
10327   return &intrin->dest.ssa;
10328}
10329static inline nir_ssa_def *
10330_nir_build_ssbo_atomic_fadd(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_fadd_indices indices)
10331{
10332   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10333      build->shader, nir_intrinsic_ssbo_atomic_fadd);
10334
10335      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10336   intrin->src[0] = nir_src_for_ssa(src0);
10337   intrin->src[1] = nir_src_for_ssa(src1);
10338   intrin->src[2] = nir_src_for_ssa(src2);
10339   nir_intrinsic_set_access(intrin, indices.access);
10340
10341   nir_builder_instr_insert(build, &intrin->instr);
10342   return &intrin->dest.ssa;
10343}
10344static inline nir_ssa_def *
10345_nir_build_ssbo_atomic_fcomp_swap(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_fcomp_swap_indices indices)
10346{
10347   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10348      build->shader, nir_intrinsic_ssbo_atomic_fcomp_swap);
10349
10350      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10351   intrin->src[0] = nir_src_for_ssa(src0);
10352   intrin->src[1] = nir_src_for_ssa(src1);
10353   intrin->src[2] = nir_src_for_ssa(src2);
10354   intrin->src[3] = nir_src_for_ssa(src3);
10355   nir_intrinsic_set_access(intrin, indices.access);
10356
10357   nir_builder_instr_insert(build, &intrin->instr);
10358   return &intrin->dest.ssa;
10359}
10360static inline nir_ssa_def *
10361_nir_build_ssbo_atomic_fmax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_fmax_indices indices)
10362{
10363   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10364      build->shader, nir_intrinsic_ssbo_atomic_fmax);
10365
10366      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10367   intrin->src[0] = nir_src_for_ssa(src0);
10368   intrin->src[1] = nir_src_for_ssa(src1);
10369   intrin->src[2] = nir_src_for_ssa(src2);
10370   nir_intrinsic_set_access(intrin, indices.access);
10371
10372   nir_builder_instr_insert(build, &intrin->instr);
10373   return &intrin->dest.ssa;
10374}
10375static inline nir_ssa_def *
10376_nir_build_ssbo_atomic_fmin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_fmin_indices indices)
10377{
10378   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10379      build->shader, nir_intrinsic_ssbo_atomic_fmin);
10380
10381      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10382   intrin->src[0] = nir_src_for_ssa(src0);
10383   intrin->src[1] = nir_src_for_ssa(src1);
10384   intrin->src[2] = nir_src_for_ssa(src2);
10385   nir_intrinsic_set_access(intrin, indices.access);
10386
10387   nir_builder_instr_insert(build, &intrin->instr);
10388   return &intrin->dest.ssa;
10389}
10390static inline nir_ssa_def *
10391_nir_build_ssbo_atomic_imax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_imax_indices indices)
10392{
10393   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10394      build->shader, nir_intrinsic_ssbo_atomic_imax);
10395
10396      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10397   intrin->src[0] = nir_src_for_ssa(src0);
10398   intrin->src[1] = nir_src_for_ssa(src1);
10399   intrin->src[2] = nir_src_for_ssa(src2);
10400   nir_intrinsic_set_access(intrin, indices.access);
10401
10402   nir_builder_instr_insert(build, &intrin->instr);
10403   return &intrin->dest.ssa;
10404}
10405static inline nir_ssa_def *
10406_nir_build_ssbo_atomic_imax_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_imax_ir3_indices indices)
10407{
10408   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10409      build->shader, nir_intrinsic_ssbo_atomic_imax_ir3);
10410
10411      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10412   intrin->src[0] = nir_src_for_ssa(src0);
10413   intrin->src[1] = nir_src_for_ssa(src1);
10414   intrin->src[2] = nir_src_for_ssa(src2);
10415   intrin->src[3] = nir_src_for_ssa(src3);
10416   nir_intrinsic_set_access(intrin, indices.access);
10417
10418   nir_builder_instr_insert(build, &intrin->instr);
10419   return &intrin->dest.ssa;
10420}
10421static inline nir_ssa_def *
10422_nir_build_ssbo_atomic_imin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_imin_indices indices)
10423{
10424   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10425      build->shader, nir_intrinsic_ssbo_atomic_imin);
10426
10427      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10428   intrin->src[0] = nir_src_for_ssa(src0);
10429   intrin->src[1] = nir_src_for_ssa(src1);
10430   intrin->src[2] = nir_src_for_ssa(src2);
10431   nir_intrinsic_set_access(intrin, indices.access);
10432
10433   nir_builder_instr_insert(build, &intrin->instr);
10434   return &intrin->dest.ssa;
10435}
10436static inline nir_ssa_def *
10437_nir_build_ssbo_atomic_imin_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_imin_ir3_indices indices)
10438{
10439   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10440      build->shader, nir_intrinsic_ssbo_atomic_imin_ir3);
10441
10442      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10443   intrin->src[0] = nir_src_for_ssa(src0);
10444   intrin->src[1] = nir_src_for_ssa(src1);
10445   intrin->src[2] = nir_src_for_ssa(src2);
10446   intrin->src[3] = nir_src_for_ssa(src3);
10447   nir_intrinsic_set_access(intrin, indices.access);
10448
10449   nir_builder_instr_insert(build, &intrin->instr);
10450   return &intrin->dest.ssa;
10451}
10452static inline nir_ssa_def *
10453_nir_build_ssbo_atomic_or(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_or_indices indices)
10454{
10455   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10456      build->shader, nir_intrinsic_ssbo_atomic_or);
10457
10458      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10459   intrin->src[0] = nir_src_for_ssa(src0);
10460   intrin->src[1] = nir_src_for_ssa(src1);
10461   intrin->src[2] = nir_src_for_ssa(src2);
10462   nir_intrinsic_set_access(intrin, indices.access);
10463
10464   nir_builder_instr_insert(build, &intrin->instr);
10465   return &intrin->dest.ssa;
10466}
10467static inline nir_ssa_def *
10468_nir_build_ssbo_atomic_or_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_or_ir3_indices indices)
10469{
10470   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10471      build->shader, nir_intrinsic_ssbo_atomic_or_ir3);
10472
10473      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10474   intrin->src[0] = nir_src_for_ssa(src0);
10475   intrin->src[1] = nir_src_for_ssa(src1);
10476   intrin->src[2] = nir_src_for_ssa(src2);
10477   intrin->src[3] = nir_src_for_ssa(src3);
10478   nir_intrinsic_set_access(intrin, indices.access);
10479
10480   nir_builder_instr_insert(build, &intrin->instr);
10481   return &intrin->dest.ssa;
10482}
10483static inline nir_ssa_def *
10484_nir_build_ssbo_atomic_umax(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_umax_indices indices)
10485{
10486   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10487      build->shader, nir_intrinsic_ssbo_atomic_umax);
10488
10489      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10490   intrin->src[0] = nir_src_for_ssa(src0);
10491   intrin->src[1] = nir_src_for_ssa(src1);
10492   intrin->src[2] = nir_src_for_ssa(src2);
10493   nir_intrinsic_set_access(intrin, indices.access);
10494
10495   nir_builder_instr_insert(build, &intrin->instr);
10496   return &intrin->dest.ssa;
10497}
10498static inline nir_ssa_def *
10499_nir_build_ssbo_atomic_umax_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_umax_ir3_indices indices)
10500{
10501   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10502      build->shader, nir_intrinsic_ssbo_atomic_umax_ir3);
10503
10504      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10505   intrin->src[0] = nir_src_for_ssa(src0);
10506   intrin->src[1] = nir_src_for_ssa(src1);
10507   intrin->src[2] = nir_src_for_ssa(src2);
10508   intrin->src[3] = nir_src_for_ssa(src3);
10509   nir_intrinsic_set_access(intrin, indices.access);
10510
10511   nir_builder_instr_insert(build, &intrin->instr);
10512   return &intrin->dest.ssa;
10513}
10514static inline nir_ssa_def *
10515_nir_build_ssbo_atomic_umin(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_umin_indices indices)
10516{
10517   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10518      build->shader, nir_intrinsic_ssbo_atomic_umin);
10519
10520      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10521   intrin->src[0] = nir_src_for_ssa(src0);
10522   intrin->src[1] = nir_src_for_ssa(src1);
10523   intrin->src[2] = nir_src_for_ssa(src2);
10524   nir_intrinsic_set_access(intrin, indices.access);
10525
10526   nir_builder_instr_insert(build, &intrin->instr);
10527   return &intrin->dest.ssa;
10528}
10529static inline nir_ssa_def *
10530_nir_build_ssbo_atomic_umin_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_umin_ir3_indices indices)
10531{
10532   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10533      build->shader, nir_intrinsic_ssbo_atomic_umin_ir3);
10534
10535      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10536   intrin->src[0] = nir_src_for_ssa(src0);
10537   intrin->src[1] = nir_src_for_ssa(src1);
10538   intrin->src[2] = nir_src_for_ssa(src2);
10539   intrin->src[3] = nir_src_for_ssa(src3);
10540   nir_intrinsic_set_access(intrin, indices.access);
10541
10542   nir_builder_instr_insert(build, &intrin->instr);
10543   return &intrin->dest.ssa;
10544}
10545static inline nir_ssa_def *
10546_nir_build_ssbo_atomic_xor(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_ssbo_atomic_xor_indices indices)
10547{
10548   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10549      build->shader, nir_intrinsic_ssbo_atomic_xor);
10550
10551      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10552   intrin->src[0] = nir_src_for_ssa(src0);
10553   intrin->src[1] = nir_src_for_ssa(src1);
10554   intrin->src[2] = nir_src_for_ssa(src2);
10555   nir_intrinsic_set_access(intrin, indices.access);
10556
10557   nir_builder_instr_insert(build, &intrin->instr);
10558   return &intrin->dest.ssa;
10559}
10560static inline nir_ssa_def *
10561_nir_build_ssbo_atomic_xor_ir3(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_ssbo_atomic_xor_ir3_indices indices)
10562{
10563   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10564      build->shader, nir_intrinsic_ssbo_atomic_xor_ir3);
10565
10566      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
10567   intrin->src[0] = nir_src_for_ssa(src0);
10568   intrin->src[1] = nir_src_for_ssa(src1);
10569   intrin->src[2] = nir_src_for_ssa(src2);
10570   intrin->src[3] = nir_src_for_ssa(src3);
10571   nir_intrinsic_set_access(intrin, indices.access);
10572
10573   nir_builder_instr_insert(build, &intrin->instr);
10574   return &intrin->dest.ssa;
10575}
10576static inline nir_intrinsic_instr *
10577_nir_build_store_buffer_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_store_buffer_amd_indices indices)
10578{
10579   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10580      build->shader, nir_intrinsic_store_buffer_amd);
10581
10582   intrin->num_components = src0->num_components;
10583   intrin->src[0] = nir_src_for_ssa(src0);
10584   intrin->src[1] = nir_src_for_ssa(src1);
10585   intrin->src[2] = nir_src_for_ssa(src2);
10586   intrin->src[3] = nir_src_for_ssa(src3);
10587   nir_intrinsic_set_base(intrin, indices.base);
10588   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10589   nir_intrinsic_set_is_swizzled(intrin, indices.is_swizzled);
10590   nir_intrinsic_set_slc_amd(intrin, indices.slc_amd);
10591   nir_intrinsic_set_memory_modes(intrin, indices.memory_modes);
10592
10593   nir_builder_instr_insert(build, &intrin->instr);
10594   return intrin;
10595}
10596static inline nir_intrinsic_instr *
10597_nir_build_store_combined_output_pan(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_store_combined_output_pan_indices indices)
10598{
10599   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10600      build->shader, nir_intrinsic_store_combined_output_pan);
10601
10602   intrin->num_components = src0->num_components;
10603   intrin->src[0] = nir_src_for_ssa(src0);
10604   intrin->src[1] = nir_src_for_ssa(src1);
10605   intrin->src[2] = nir_src_for_ssa(src2);
10606   intrin->src[3] = nir_src_for_ssa(src3);
10607   nir_intrinsic_set_base(intrin, indices.base);
10608   nir_intrinsic_set_component(intrin, indices.component);
10609   nir_intrinsic_set_src_type(intrin, indices.src_type);
10610
10611   nir_builder_instr_insert(build, &intrin->instr);
10612   return intrin;
10613}
10614static inline nir_intrinsic_instr *
10615_nir_build_store_deref(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_deref_indices indices)
10616{
10617   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10618      build->shader, nir_intrinsic_store_deref);
10619
10620   intrin->num_components = src1->num_components;
10621   intrin->src[0] = nir_src_for_ssa(src0);
10622   intrin->src[1] = nir_src_for_ssa(src1);
10623   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10624   nir_intrinsic_set_access(intrin, indices.access);
10625
10626   nir_builder_instr_insert(build, &intrin->instr);
10627   return intrin;
10628}
10629static inline nir_intrinsic_instr *
10630_nir_build_store_deref_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_deref_block_intel_indices indices)
10631{
10632   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10633      build->shader, nir_intrinsic_store_deref_block_intel);
10634
10635   intrin->num_components = src1->num_components;
10636   intrin->src[0] = nir_src_for_ssa(src0);
10637   intrin->src[1] = nir_src_for_ssa(src1);
10638   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10639   nir_intrinsic_set_access(intrin, indices.access);
10640
10641   nir_builder_instr_insert(build, &intrin->instr);
10642   return intrin;
10643}
10644static inline nir_intrinsic_instr *
10645_nir_build_store_global(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_global_indices indices)
10646{
10647   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10648      build->shader, nir_intrinsic_store_global);
10649
10650   intrin->num_components = src0->num_components;
10651   intrin->src[0] = nir_src_for_ssa(src0);
10652   intrin->src[1] = nir_src_for_ssa(src1);
10653   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10654   nir_intrinsic_set_access(intrin, indices.access);
10655   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10656   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10657
10658   nir_builder_instr_insert(build, &intrin->instr);
10659   return intrin;
10660}
10661static inline nir_intrinsic_instr *
10662_nir_build_store_global_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_global_block_intel_indices indices)
10663{
10664   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10665      build->shader, nir_intrinsic_store_global_block_intel);
10666
10667   intrin->num_components = src0->num_components;
10668   intrin->src[0] = nir_src_for_ssa(src0);
10669   intrin->src[1] = nir_src_for_ssa(src1);
10670   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10671   nir_intrinsic_set_access(intrin, indices.access);
10672   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10673   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10674
10675   nir_builder_instr_insert(build, &intrin->instr);
10676   return intrin;
10677}
10678static inline nir_intrinsic_instr *
10679_nir_build_store_global_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_global_ir3_indices indices)
10680{
10681   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10682      build->shader, nir_intrinsic_store_global_ir3);
10683
10684   intrin->num_components = src0->num_components;
10685   intrin->src[0] = nir_src_for_ssa(src0);
10686   intrin->src[1] = nir_src_for_ssa(src1);
10687   intrin->src[2] = nir_src_for_ssa(src2);
10688   nir_intrinsic_set_access(intrin, indices.access);
10689   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10690   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10691
10692   nir_builder_instr_insert(build, &intrin->instr);
10693   return intrin;
10694}
10695static inline nir_intrinsic_instr *
10696_nir_build_store_local_shared_r600(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_local_shared_r600_indices indices)
10697{
10698   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10699      build->shader, nir_intrinsic_store_local_shared_r600);
10700
10701   intrin->num_components = src0->num_components;
10702   intrin->src[0] = nir_src_for_ssa(src0);
10703   intrin->src[1] = nir_src_for_ssa(src1);
10704   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10705
10706   nir_builder_instr_insert(build, &intrin->instr);
10707   return intrin;
10708}
10709static inline nir_intrinsic_instr *
10710_nir_build_store_output(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_output_indices indices)
10711{
10712   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10713      build->shader, nir_intrinsic_store_output);
10714
10715   intrin->num_components = src0->num_components;
10716   intrin->src[0] = nir_src_for_ssa(src0);
10717   intrin->src[1] = nir_src_for_ssa(src1);
10718   nir_intrinsic_set_base(intrin, indices.base);
10719   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10720   nir_intrinsic_set_component(intrin, indices.component);
10721   nir_intrinsic_set_src_type(intrin, indices.src_type);
10722   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
10723
10724   nir_builder_instr_insert(build, &intrin->instr);
10725   return intrin;
10726}
10727static inline nir_intrinsic_instr *
10728_nir_build_store_per_primitive_output(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_per_primitive_output_indices indices)
10729{
10730   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10731      build->shader, nir_intrinsic_store_per_primitive_output);
10732
10733   intrin->num_components = src0->num_components;
10734   intrin->src[0] = nir_src_for_ssa(src0);
10735   intrin->src[1] = nir_src_for_ssa(src1);
10736   intrin->src[2] = nir_src_for_ssa(src2);
10737   nir_intrinsic_set_base(intrin, indices.base);
10738   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10739   nir_intrinsic_set_component(intrin, indices.component);
10740   nir_intrinsic_set_src_type(intrin, indices.src_type);
10741   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
10742
10743   nir_builder_instr_insert(build, &intrin->instr);
10744   return intrin;
10745}
10746static inline nir_intrinsic_instr *
10747_nir_build_store_per_vertex_output(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_per_vertex_output_indices indices)
10748{
10749   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10750      build->shader, nir_intrinsic_store_per_vertex_output);
10751
10752   intrin->num_components = src0->num_components;
10753   intrin->src[0] = nir_src_for_ssa(src0);
10754   intrin->src[1] = nir_src_for_ssa(src1);
10755   intrin->src[2] = nir_src_for_ssa(src2);
10756   nir_intrinsic_set_base(intrin, indices.base);
10757   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10758   nir_intrinsic_set_component(intrin, indices.component);
10759   nir_intrinsic_set_src_type(intrin, indices.src_type);
10760   nir_intrinsic_set_io_semantics(intrin, indices.io_semantics);
10761
10762   nir_builder_instr_insert(build, &intrin->instr);
10763   return intrin;
10764}
10765static inline nir_intrinsic_instr *
10766_nir_build_store_raw_output_pan(nir_builder *build, nir_ssa_def *src0)
10767{
10768   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10769      build->shader, nir_intrinsic_store_raw_output_pan);
10770
10771   intrin->num_components = src0->num_components;
10772   intrin->src[0] = nir_src_for_ssa(src0);
10773
10774   nir_builder_instr_insert(build, &intrin->instr);
10775   return intrin;
10776}
10777static inline nir_intrinsic_instr *
10778_nir_build_store_scratch(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_scratch_indices indices)
10779{
10780   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10781      build->shader, nir_intrinsic_store_scratch);
10782
10783   intrin->num_components = src0->num_components;
10784   intrin->src[0] = nir_src_for_ssa(src0);
10785   intrin->src[1] = nir_src_for_ssa(src1);
10786   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10787   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10788   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10789
10790   nir_builder_instr_insert(build, &intrin->instr);
10791   return intrin;
10792}
10793static inline nir_intrinsic_instr *
10794_nir_build_store_scratch_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10795{
10796   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10797      build->shader, nir_intrinsic_store_scratch_dxil);
10798
10799   intrin->src[0] = nir_src_for_ssa(src0);
10800   intrin->src[1] = nir_src_for_ssa(src1);
10801
10802   nir_builder_instr_insert(build, &intrin->instr);
10803   return intrin;
10804}
10805static inline nir_intrinsic_instr *
10806_nir_build_store_shared(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_shared_indices indices)
10807{
10808   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10809      build->shader, nir_intrinsic_store_shared);
10810
10811   intrin->num_components = src0->num_components;
10812   intrin->src[0] = nir_src_for_ssa(src0);
10813   intrin->src[1] = nir_src_for_ssa(src1);
10814   nir_intrinsic_set_base(intrin, indices.base);
10815   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10816   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10817   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10818
10819   nir_builder_instr_insert(build, &intrin->instr);
10820   return intrin;
10821}
10822static inline nir_intrinsic_instr *
10823_nir_build_store_shared_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_shared_block_intel_indices indices)
10824{
10825   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10826      build->shader, nir_intrinsic_store_shared_block_intel);
10827
10828   intrin->num_components = src0->num_components;
10829   intrin->src[0] = nir_src_for_ssa(src0);
10830   intrin->src[1] = nir_src_for_ssa(src1);
10831   nir_intrinsic_set_base(intrin, indices.base);
10832   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10833   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10834   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10835
10836   nir_builder_instr_insert(build, &intrin->instr);
10837   return intrin;
10838}
10839static inline nir_intrinsic_instr *
10840_nir_build_store_shared_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1)
10841{
10842   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10843      build->shader, nir_intrinsic_store_shared_dxil);
10844
10845   intrin->src[0] = nir_src_for_ssa(src0);
10846   intrin->src[1] = nir_src_for_ssa(src1);
10847
10848   nir_builder_instr_insert(build, &intrin->instr);
10849   return intrin;
10850}
10851static inline nir_intrinsic_instr *
10852_nir_build_store_shared_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_shared_ir3_indices indices)
10853{
10854   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10855      build->shader, nir_intrinsic_store_shared_ir3);
10856
10857   intrin->num_components = src0->num_components;
10858   intrin->src[0] = nir_src_for_ssa(src0);
10859   intrin->src[1] = nir_src_for_ssa(src1);
10860   nir_intrinsic_set_base(intrin, indices.base);
10861   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10862   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10863
10864   nir_builder_instr_insert(build, &intrin->instr);
10865   return intrin;
10866}
10867static inline nir_intrinsic_instr *
10868_nir_build_store_shared_masked_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
10869{
10870   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10871      build->shader, nir_intrinsic_store_shared_masked_dxil);
10872
10873   intrin->src[0] = nir_src_for_ssa(src0);
10874   intrin->src[1] = nir_src_for_ssa(src1);
10875   intrin->src[2] = nir_src_for_ssa(src2);
10876
10877   nir_builder_instr_insert(build, &intrin->instr);
10878   return intrin;
10879}
10880static inline nir_intrinsic_instr *
10881_nir_build_store_ssbo(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_ssbo_indices indices)
10882{
10883   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10884      build->shader, nir_intrinsic_store_ssbo);
10885
10886   intrin->num_components = src0->num_components;
10887   intrin->src[0] = nir_src_for_ssa(src0);
10888   intrin->src[1] = nir_src_for_ssa(src1);
10889   intrin->src[2] = nir_src_for_ssa(src2);
10890   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10891   nir_intrinsic_set_access(intrin, indices.access);
10892   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10893   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10894
10895   nir_builder_instr_insert(build, &intrin->instr);
10896   return intrin;
10897}
10898static inline nir_intrinsic_instr *
10899_nir_build_store_ssbo_block_intel(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, struct _nir_store_ssbo_block_intel_indices indices)
10900{
10901   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10902      build->shader, nir_intrinsic_store_ssbo_block_intel);
10903
10904   intrin->num_components = src0->num_components;
10905   intrin->src[0] = nir_src_for_ssa(src0);
10906   intrin->src[1] = nir_src_for_ssa(src1);
10907   intrin->src[2] = nir_src_for_ssa(src2);
10908   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10909   nir_intrinsic_set_access(intrin, indices.access);
10910   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10911   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10912
10913   nir_builder_instr_insert(build, &intrin->instr);
10914   return intrin;
10915}
10916static inline nir_intrinsic_instr *
10917_nir_build_store_ssbo_ir3(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, struct _nir_store_ssbo_ir3_indices indices)
10918{
10919   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10920      build->shader, nir_intrinsic_store_ssbo_ir3);
10921
10922   intrin->num_components = src0->num_components;
10923   intrin->src[0] = nir_src_for_ssa(src0);
10924   intrin->src[1] = nir_src_for_ssa(src1);
10925   intrin->src[2] = nir_src_for_ssa(src2);
10926   intrin->src[3] = nir_src_for_ssa(src3);
10927   nir_intrinsic_set_write_mask(intrin, indices.write_mask);
10928   nir_intrinsic_set_access(intrin, indices.access);
10929   nir_intrinsic_set_align_mul(intrin, indices.align_mul);
10930   nir_intrinsic_set_align_offset(intrin, indices.align_offset);
10931
10932   nir_builder_instr_insert(build, &intrin->instr);
10933   return intrin;
10934}
10935static inline nir_intrinsic_instr *
10936_nir_build_store_ssbo_masked_dxil(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
10937{
10938   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10939      build->shader, nir_intrinsic_store_ssbo_masked_dxil);
10940
10941   intrin->src[0] = nir_src_for_ssa(src0);
10942   intrin->src[1] = nir_src_for_ssa(src1);
10943   intrin->src[2] = nir_src_for_ssa(src2);
10944   intrin->src[3] = nir_src_for_ssa(src3);
10945
10946   nir_builder_instr_insert(build, &intrin->instr);
10947   return intrin;
10948}
10949static inline nir_intrinsic_instr *
10950_nir_build_store_tf_r600(nir_builder *build, nir_ssa_def *src0)
10951{
10952   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10953      build->shader, nir_intrinsic_store_tf_r600);
10954
10955   intrin->num_components = src0->num_components;
10956   intrin->src[0] = nir_src_for_ssa(src0);
10957
10958   nir_builder_instr_insert(build, &intrin->instr);
10959   return intrin;
10960}
10961static inline nir_intrinsic_instr *
10962_nir_build_store_tlb_sample_color_v3d(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_store_tlb_sample_color_v3d_indices indices)
10963{
10964   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10965      build->shader, nir_intrinsic_store_tlb_sample_color_v3d);
10966
10967   intrin->num_components = src0->num_components;
10968   intrin->src[0] = nir_src_for_ssa(src0);
10969   intrin->src[1] = nir_src_for_ssa(src1);
10970   nir_intrinsic_set_base(intrin, indices.base);
10971   nir_intrinsic_set_component(intrin, indices.component);
10972   nir_intrinsic_set_src_type(intrin, indices.src_type);
10973
10974   nir_builder_instr_insert(build, &intrin->instr);
10975   return intrin;
10976}
10977static inline nir_intrinsic_instr *
10978_nir_build_terminate(nir_builder *build)
10979{
10980   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10981      build->shader, nir_intrinsic_terminate);
10982
10983
10984   nir_builder_instr_insert(build, &intrin->instr);
10985   return intrin;
10986}
10987static inline nir_intrinsic_instr *
10988_nir_build_terminate_if(nir_builder *build, nir_ssa_def *src0)
10989{
10990   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
10991      build->shader, nir_intrinsic_terminate_if);
10992
10993   intrin->src[0] = nir_src_for_ssa(src0);
10994
10995   nir_builder_instr_insert(build, &intrin->instr);
10996   return intrin;
10997}
10998static inline nir_intrinsic_instr *
10999_nir_build_terminate_ray(nir_builder *build)
11000{
11001   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11002      build->shader, nir_intrinsic_terminate_ray);
11003
11004
11005   nir_builder_instr_insert(build, &intrin->instr);
11006   return intrin;
11007}
11008static inline nir_intrinsic_instr *
11009_nir_build_trace_ray(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3, nir_ssa_def *src4, nir_ssa_def *src5, nir_ssa_def *src6, nir_ssa_def *src7, nir_ssa_def *src8, nir_ssa_def *src9, nir_ssa_def *src10)
11010{
11011   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11012      build->shader, nir_intrinsic_trace_ray);
11013
11014   intrin->src[0] = nir_src_for_ssa(src0);
11015   intrin->src[1] = nir_src_for_ssa(src1);
11016   intrin->src[2] = nir_src_for_ssa(src2);
11017   intrin->src[3] = nir_src_for_ssa(src3);
11018   intrin->src[4] = nir_src_for_ssa(src4);
11019   intrin->src[5] = nir_src_for_ssa(src5);
11020   intrin->src[6] = nir_src_for_ssa(src6);
11021   intrin->src[7] = nir_src_for_ssa(src7);
11022   intrin->src[8] = nir_src_for_ssa(src8);
11023   intrin->src[9] = nir_src_for_ssa(src9);
11024   intrin->src[10] = nir_src_for_ssa(src10);
11025
11026   nir_builder_instr_insert(build, &intrin->instr);
11027   return intrin;
11028}
11029static inline nir_intrinsic_instr *
11030_nir_build_trace_ray_commit_intel(nir_builder *build)
11031{
11032   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11033      build->shader, nir_intrinsic_trace_ray_commit_intel);
11034
11035
11036   nir_builder_instr_insert(build, &intrin->instr);
11037   return intrin;
11038}
11039static inline nir_intrinsic_instr *
11040_nir_build_trace_ray_continue_intel(nir_builder *build)
11041{
11042   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11043      build->shader, nir_intrinsic_trace_ray_continue_intel);
11044
11045
11046   nir_builder_instr_insert(build, &intrin->instr);
11047   return intrin;
11048}
11049static inline nir_intrinsic_instr *
11050_nir_build_trace_ray_initial_intel(nir_builder *build)
11051{
11052   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11053      build->shader, nir_intrinsic_trace_ray_initial_intel);
11054
11055
11056   nir_builder_instr_insert(build, &intrin->instr);
11057   return intrin;
11058}
11059static inline nir_ssa_def *
11060_nir_build_vote_all(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
11061{
11062   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11063      build->shader, nir_intrinsic_vote_all);
11064
11065      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
11066   intrin->src[0] = nir_src_for_ssa(src0);
11067
11068   nir_builder_instr_insert(build, &intrin->instr);
11069   return &intrin->dest.ssa;
11070}
11071static inline nir_ssa_def *
11072_nir_build_vote_any(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
11073{
11074   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11075      build->shader, nir_intrinsic_vote_any);
11076
11077      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
11078   intrin->src[0] = nir_src_for_ssa(src0);
11079
11080   nir_builder_instr_insert(build, &intrin->instr);
11081   return &intrin->dest.ssa;
11082}
11083static inline nir_ssa_def *
11084_nir_build_vote_feq(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
11085{
11086   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11087      build->shader, nir_intrinsic_vote_feq);
11088
11089   intrin->num_components = src0->num_components;
11090      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
11091   intrin->src[0] = nir_src_for_ssa(src0);
11092
11093   nir_builder_instr_insert(build, &intrin->instr);
11094   return &intrin->dest.ssa;
11095}
11096static inline nir_ssa_def *
11097_nir_build_vote_ieq(nir_builder *build, unsigned bit_size, nir_ssa_def *src0)
11098{
11099   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11100      build->shader, nir_intrinsic_vote_ieq);
11101
11102   intrin->num_components = src0->num_components;
11103      nir_ssa_dest_init(&intrin->instr, &intrin->dest, 1, bit_size, NULL);
11104   intrin->src[0] = nir_src_for_ssa(src0);
11105
11106   nir_builder_instr_insert(build, &intrin->instr);
11107   return &intrin->dest.ssa;
11108}
11109static inline nir_ssa_def *
11110_nir_build_vulkan_resource_index(nir_builder *build, unsigned num_components, unsigned bit_size, nir_ssa_def *src0, struct _nir_vulkan_resource_index_indices indices)
11111{
11112   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11113      build->shader, nir_intrinsic_vulkan_resource_index);
11114
11115   intrin->num_components = num_components;
11116      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
11117   intrin->src[0] = nir_src_for_ssa(src0);
11118   nir_intrinsic_set_desc_set(intrin, indices.desc_set);
11119   nir_intrinsic_set_binding(intrin, indices.binding);
11120   nir_intrinsic_set_desc_type(intrin, indices.desc_type);
11121
11122   nir_builder_instr_insert(build, &intrin->instr);
11123   return &intrin->dest.ssa;
11124}
11125static inline nir_ssa_def *
11126_nir_build_vulkan_resource_reindex(nir_builder *build, unsigned bit_size, nir_ssa_def *src0, nir_ssa_def *src1, struct _nir_vulkan_resource_reindex_indices indices)
11127{
11128   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11129      build->shader, nir_intrinsic_vulkan_resource_reindex);
11130
11131   intrin->num_components = src0->num_components;
11132      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, bit_size, NULL);
11133   intrin->src[0] = nir_src_for_ssa(src0);
11134   intrin->src[1] = nir_src_for_ssa(src1);
11135   nir_intrinsic_set_desc_type(intrin, indices.desc_type);
11136
11137   nir_builder_instr_insert(build, &intrin->instr);
11138   return &intrin->dest.ssa;
11139}
11140static inline nir_ssa_def *
11141_nir_build_write_invocation_amd(nir_builder *build, nir_ssa_def *src0, nir_ssa_def *src1, nir_ssa_def *src2)
11142{
11143   nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(
11144      build->shader, nir_intrinsic_write_invocation_amd);
11145
11146   intrin->num_components = src0->num_components;
11147      nir_ssa_dest_init(&intrin->instr, &intrin->dest, intrin->num_components, src0->bit_size, NULL);
11148   intrin->src[0] = nir_src_for_ssa(src0);
11149   intrin->src[1] = nir_src_for_ssa(src1);
11150   intrin->src[2] = nir_src_for_ssa(src2);
11151
11152   nir_builder_instr_insert(build, &intrin->instr);
11153   return &intrin->dest.ssa;
11154}
11155
11156#define nir_build_accept_ray_intersection _nir_build_accept_ray_intersection
11157#define nir_accept_ray_intersection nir_build_accept_ray_intersection
11158#ifdef __cplusplus
11159#define nir_build_addr_mode_is(build, bit_size, src0, ...) \
11160_nir_build_addr_mode_is(build, bit_size, src0, _nir_addr_mode_is_indices{0, __VA_ARGS__})
11161#else
11162#define nir_build_addr_mode_is(build, bit_size, src0, ...) \
11163_nir_build_addr_mode_is(build, bit_size, src0, (struct _nir_addr_mode_is_indices){0, __VA_ARGS__})
11164#endif
11165#define nir_addr_mode_is nir_build_addr_mode_is
11166#define nir_build_alloc_vertices_and_primitives_amd _nir_build_alloc_vertices_and_primitives_amd
11167#define nir_alloc_vertices_and_primitives_amd nir_build_alloc_vertices_and_primitives_amd
11168#ifdef __cplusplus
11169#define nir_build_atomic_counter_add(build, bit_size, src0, src1, ...) \
11170_nir_build_atomic_counter_add(build, bit_size, src0, src1, _nir_atomic_counter_add_indices{0, __VA_ARGS__})
11171#else
11172#define nir_build_atomic_counter_add(build, bit_size, src0, src1, ...) \
11173_nir_build_atomic_counter_add(build, bit_size, src0, src1, (struct _nir_atomic_counter_add_indices){0, __VA_ARGS__})
11174#endif
11175#define nir_atomic_counter_add nir_build_atomic_counter_add
11176#define nir_build_atomic_counter_add_deref _nir_build_atomic_counter_add_deref
11177#define nir_atomic_counter_add_deref nir_build_atomic_counter_add_deref
11178#ifdef __cplusplus
11179#define nir_build_atomic_counter_and(build, bit_size, src0, src1, ...) \
11180_nir_build_atomic_counter_and(build, bit_size, src0, src1, _nir_atomic_counter_and_indices{0, __VA_ARGS__})
11181#else
11182#define nir_build_atomic_counter_and(build, bit_size, src0, src1, ...) \
11183_nir_build_atomic_counter_and(build, bit_size, src0, src1, (struct _nir_atomic_counter_and_indices){0, __VA_ARGS__})
11184#endif
11185#define nir_atomic_counter_and nir_build_atomic_counter_and
11186#define nir_build_atomic_counter_and_deref _nir_build_atomic_counter_and_deref
11187#define nir_atomic_counter_and_deref nir_build_atomic_counter_and_deref
11188#ifdef __cplusplus
11189#define nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, ...) \
11190_nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, _nir_atomic_counter_comp_swap_indices{0, __VA_ARGS__})
11191#else
11192#define nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, ...) \
11193_nir_build_atomic_counter_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_atomic_counter_comp_swap_indices){0, __VA_ARGS__})
11194#endif
11195#define nir_atomic_counter_comp_swap nir_build_atomic_counter_comp_swap
11196#define nir_build_atomic_counter_comp_swap_deref _nir_build_atomic_counter_comp_swap_deref
11197#define nir_atomic_counter_comp_swap_deref nir_build_atomic_counter_comp_swap_deref
11198#ifdef __cplusplus
11199#define nir_build_atomic_counter_exchange(build, bit_size, src0, src1, ...) \
11200_nir_build_atomic_counter_exchange(build, bit_size, src0, src1, _nir_atomic_counter_exchange_indices{0, __VA_ARGS__})
11201#else
11202#define nir_build_atomic_counter_exchange(build, bit_size, src0, src1, ...) \
11203_nir_build_atomic_counter_exchange(build, bit_size, src0, src1, (struct _nir_atomic_counter_exchange_indices){0, __VA_ARGS__})
11204#endif
11205#define nir_atomic_counter_exchange nir_build_atomic_counter_exchange
11206#define nir_build_atomic_counter_exchange_deref _nir_build_atomic_counter_exchange_deref
11207#define nir_atomic_counter_exchange_deref nir_build_atomic_counter_exchange_deref
11208#ifdef __cplusplus
11209#define nir_build_atomic_counter_inc(build, bit_size, src0, ...) \
11210_nir_build_atomic_counter_inc(build, bit_size, src0, _nir_atomic_counter_inc_indices{0, __VA_ARGS__})
11211#else
11212#define nir_build_atomic_counter_inc(build, bit_size, src0, ...) \
11213_nir_build_atomic_counter_inc(build, bit_size, src0, (struct _nir_atomic_counter_inc_indices){0, __VA_ARGS__})
11214#endif
11215#define nir_atomic_counter_inc nir_build_atomic_counter_inc
11216#define nir_build_atomic_counter_inc_deref _nir_build_atomic_counter_inc_deref
11217#define nir_atomic_counter_inc_deref nir_build_atomic_counter_inc_deref
11218#ifdef __cplusplus
11219#define nir_build_atomic_counter_max(build, bit_size, src0, src1, ...) \
11220_nir_build_atomic_counter_max(build, bit_size, src0, src1, _nir_atomic_counter_max_indices{0, __VA_ARGS__})
11221#else
11222#define nir_build_atomic_counter_max(build, bit_size, src0, src1, ...) \
11223_nir_build_atomic_counter_max(build, bit_size, src0, src1, (struct _nir_atomic_counter_max_indices){0, __VA_ARGS__})
11224#endif
11225#define nir_atomic_counter_max nir_build_atomic_counter_max
11226#define nir_build_atomic_counter_max_deref _nir_build_atomic_counter_max_deref
11227#define nir_atomic_counter_max_deref nir_build_atomic_counter_max_deref
11228#ifdef __cplusplus
11229#define nir_build_atomic_counter_min(build, bit_size, src0, src1, ...) \
11230_nir_build_atomic_counter_min(build, bit_size, src0, src1, _nir_atomic_counter_min_indices{0, __VA_ARGS__})
11231#else
11232#define nir_build_atomic_counter_min(build, bit_size, src0, src1, ...) \
11233_nir_build_atomic_counter_min(build, bit_size, src0, src1, (struct _nir_atomic_counter_min_indices){0, __VA_ARGS__})
11234#endif
11235#define nir_atomic_counter_min nir_build_atomic_counter_min
11236#define nir_build_atomic_counter_min_deref _nir_build_atomic_counter_min_deref
11237#define nir_atomic_counter_min_deref nir_build_atomic_counter_min_deref
11238#ifdef __cplusplus
11239#define nir_build_atomic_counter_or(build, bit_size, src0, src1, ...) \
11240_nir_build_atomic_counter_or(build, bit_size, src0, src1, _nir_atomic_counter_or_indices{0, __VA_ARGS__})
11241#else
11242#define nir_build_atomic_counter_or(build, bit_size, src0, src1, ...) \
11243_nir_build_atomic_counter_or(build, bit_size, src0, src1, (struct _nir_atomic_counter_or_indices){0, __VA_ARGS__})
11244#endif
11245#define nir_atomic_counter_or nir_build_atomic_counter_or
11246#define nir_build_atomic_counter_or_deref _nir_build_atomic_counter_or_deref
11247#define nir_atomic_counter_or_deref nir_build_atomic_counter_or_deref
11248#ifdef __cplusplus
11249#define nir_build_atomic_counter_post_dec(build, bit_size, src0, ...) \
11250_nir_build_atomic_counter_post_dec(build, bit_size, src0, _nir_atomic_counter_post_dec_indices{0, __VA_ARGS__})
11251#else
11252#define nir_build_atomic_counter_post_dec(build, bit_size, src0, ...) \
11253_nir_build_atomic_counter_post_dec(build, bit_size, src0, (struct _nir_atomic_counter_post_dec_indices){0, __VA_ARGS__})
11254#endif
11255#define nir_atomic_counter_post_dec nir_build_atomic_counter_post_dec
11256#define nir_build_atomic_counter_post_dec_deref _nir_build_atomic_counter_post_dec_deref
11257#define nir_atomic_counter_post_dec_deref nir_build_atomic_counter_post_dec_deref
11258#ifdef __cplusplus
11259#define nir_build_atomic_counter_pre_dec(build, bit_size, src0, ...) \
11260_nir_build_atomic_counter_pre_dec(build, bit_size, src0, _nir_atomic_counter_pre_dec_indices{0, __VA_ARGS__})
11261#else
11262#define nir_build_atomic_counter_pre_dec(build, bit_size, src0, ...) \
11263_nir_build_atomic_counter_pre_dec(build, bit_size, src0, (struct _nir_atomic_counter_pre_dec_indices){0, __VA_ARGS__})
11264#endif
11265#define nir_atomic_counter_pre_dec nir_build_atomic_counter_pre_dec
11266#define nir_build_atomic_counter_pre_dec_deref _nir_build_atomic_counter_pre_dec_deref
11267#define nir_atomic_counter_pre_dec_deref nir_build_atomic_counter_pre_dec_deref
11268#ifdef __cplusplus
11269#define nir_build_atomic_counter_read(build, bit_size, src0, ...) \
11270_nir_build_atomic_counter_read(build, bit_size, src0, _nir_atomic_counter_read_indices{0, __VA_ARGS__})
11271#else
11272#define nir_build_atomic_counter_read(build, bit_size, src0, ...) \
11273_nir_build_atomic_counter_read(build, bit_size, src0, (struct _nir_atomic_counter_read_indices){0, __VA_ARGS__})
11274#endif
11275#define nir_atomic_counter_read nir_build_atomic_counter_read
11276#define nir_build_atomic_counter_read_deref _nir_build_atomic_counter_read_deref
11277#define nir_atomic_counter_read_deref nir_build_atomic_counter_read_deref
11278#ifdef __cplusplus
11279#define nir_build_atomic_counter_xor(build, bit_size, src0, src1, ...) \
11280_nir_build_atomic_counter_xor(build, bit_size, src0, src1, _nir_atomic_counter_xor_indices{0, __VA_ARGS__})
11281#else
11282#define nir_build_atomic_counter_xor(build, bit_size, src0, src1, ...) \
11283_nir_build_atomic_counter_xor(build, bit_size, src0, src1, (struct _nir_atomic_counter_xor_indices){0, __VA_ARGS__})
11284#endif
11285#define nir_atomic_counter_xor nir_build_atomic_counter_xor
11286#define nir_build_atomic_counter_xor_deref _nir_build_atomic_counter_xor_deref
11287#define nir_atomic_counter_xor_deref nir_build_atomic_counter_xor_deref
11288#define nir_build_ballot _nir_build_ballot
11289#define nir_ballot nir_build_ballot
11290#define nir_build_ballot_bit_count_exclusive _nir_build_ballot_bit_count_exclusive
11291#define nir_ballot_bit_count_exclusive nir_build_ballot_bit_count_exclusive
11292#define nir_build_ballot_bit_count_inclusive _nir_build_ballot_bit_count_inclusive
11293#define nir_ballot_bit_count_inclusive nir_build_ballot_bit_count_inclusive
11294#define nir_build_ballot_bit_count_reduce _nir_build_ballot_bit_count_reduce
11295#define nir_ballot_bit_count_reduce nir_build_ballot_bit_count_reduce
11296#define nir_build_ballot_bitfield_extract _nir_build_ballot_bitfield_extract
11297#define nir_ballot_bitfield_extract nir_build_ballot_bitfield_extract
11298#define nir_build_ballot_find_lsb _nir_build_ballot_find_lsb
11299#define nir_ballot_find_lsb nir_build_ballot_find_lsb
11300#define nir_build_ballot_find_msb _nir_build_ballot_find_msb
11301#define nir_ballot_find_msb nir_build_ballot_find_msb
11302#define nir_build_begin_invocation_interlock _nir_build_begin_invocation_interlock
11303#define nir_begin_invocation_interlock nir_build_begin_invocation_interlock
11304#ifdef __cplusplus
11305#define nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \
11306_nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_add_indices{0, __VA_ARGS__})
11307#else
11308#define nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \
11309_nir_build_bindless_image_atomic_add(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_add_indices){0, __VA_ARGS__})
11310#endif
11311#define nir_bindless_image_atomic_add nir_build_bindless_image_atomic_add
11312#ifdef __cplusplus
11313#define nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \
11314_nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_and_indices{0, __VA_ARGS__})
11315#else
11316#define nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \
11317_nir_build_bindless_image_atomic_and(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_and_indices){0, __VA_ARGS__})
11318#endif
11319#define nir_bindless_image_atomic_and nir_build_bindless_image_atomic_and
11320#ifdef __cplusplus
11321#define nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \
11322_nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, _nir_bindless_image_atomic_comp_swap_indices{0, __VA_ARGS__})
11323#else
11324#define nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \
11325_nir_build_bindless_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_bindless_image_atomic_comp_swap_indices){0, __VA_ARGS__})
11326#endif
11327#define nir_bindless_image_atomic_comp_swap nir_build_bindless_image_atomic_comp_swap
11328#ifdef __cplusplus
11329#define nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11330_nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_dec_wrap_indices{0, __VA_ARGS__})
11331#else
11332#define nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11333_nir_build_bindless_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_dec_wrap_indices){0, __VA_ARGS__})
11334#endif
11335#define nir_bindless_image_atomic_dec_wrap nir_build_bindless_image_atomic_dec_wrap
11336#ifdef __cplusplus
11337#define nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \
11338_nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_exchange_indices{0, __VA_ARGS__})
11339#else
11340#define nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \
11341_nir_build_bindless_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_exchange_indices){0, __VA_ARGS__})
11342#endif
11343#define nir_bindless_image_atomic_exchange nir_build_bindless_image_atomic_exchange
11344#ifdef __cplusplus
11345#define nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \
11346_nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_fadd_indices{0, __VA_ARGS__})
11347#else
11348#define nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \
11349_nir_build_bindless_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_fadd_indices){0, __VA_ARGS__})
11350#endif
11351#define nir_bindless_image_atomic_fadd nir_build_bindless_image_atomic_fadd
11352#ifdef __cplusplus
11353#define nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \
11354_nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_fmax_indices{0, __VA_ARGS__})
11355#else
11356#define nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \
11357_nir_build_bindless_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_fmax_indices){0, __VA_ARGS__})
11358#endif
11359#define nir_bindless_image_atomic_fmax nir_build_bindless_image_atomic_fmax
11360#ifdef __cplusplus
11361#define nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \
11362_nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_fmin_indices{0, __VA_ARGS__})
11363#else
11364#define nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \
11365_nir_build_bindless_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_fmin_indices){0, __VA_ARGS__})
11366#endif
11367#define nir_bindless_image_atomic_fmin nir_build_bindless_image_atomic_fmin
11368#ifdef __cplusplus
11369#define nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \
11370_nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_imax_indices{0, __VA_ARGS__})
11371#else
11372#define nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \
11373_nir_build_bindless_image_atomic_imax(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_imax_indices){0, __VA_ARGS__})
11374#endif
11375#define nir_bindless_image_atomic_imax nir_build_bindless_image_atomic_imax
11376#ifdef __cplusplus
11377#define nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \
11378_nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_imin_indices{0, __VA_ARGS__})
11379#else
11380#define nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \
11381_nir_build_bindless_image_atomic_imin(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_imin_indices){0, __VA_ARGS__})
11382#endif
11383#define nir_bindless_image_atomic_imin nir_build_bindless_image_atomic_imin
11384#ifdef __cplusplus
11385#define nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11386_nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_inc_wrap_indices{0, __VA_ARGS__})
11387#else
11388#define nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11389_nir_build_bindless_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_inc_wrap_indices){0, __VA_ARGS__})
11390#endif
11391#define nir_bindless_image_atomic_inc_wrap nir_build_bindless_image_atomic_inc_wrap
11392#ifdef __cplusplus
11393#define nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \
11394_nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_or_indices{0, __VA_ARGS__})
11395#else
11396#define nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \
11397_nir_build_bindless_image_atomic_or(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_or_indices){0, __VA_ARGS__})
11398#endif
11399#define nir_bindless_image_atomic_or nir_build_bindless_image_atomic_or
11400#ifdef __cplusplus
11401#define nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \
11402_nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_umax_indices{0, __VA_ARGS__})
11403#else
11404#define nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \
11405_nir_build_bindless_image_atomic_umax(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_umax_indices){0, __VA_ARGS__})
11406#endif
11407#define nir_bindless_image_atomic_umax nir_build_bindless_image_atomic_umax
11408#ifdef __cplusplus
11409#define nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \
11410_nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_umin_indices{0, __VA_ARGS__})
11411#else
11412#define nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \
11413_nir_build_bindless_image_atomic_umin(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_umin_indices){0, __VA_ARGS__})
11414#endif
11415#define nir_bindless_image_atomic_umin nir_build_bindless_image_atomic_umin
11416#ifdef __cplusplus
11417#define nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \
11418_nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, _nir_bindless_image_atomic_xor_indices{0, __VA_ARGS__})
11419#else
11420#define nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \
11421_nir_build_bindless_image_atomic_xor(build, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_atomic_xor_indices){0, __VA_ARGS__})
11422#endif
11423#define nir_bindless_image_atomic_xor nir_build_bindless_image_atomic_xor
11424#ifdef __cplusplus
11425#define nir_build_bindless_image_format(build, bit_size, src0, ...) \
11426_nir_build_bindless_image_format(build, bit_size, src0, _nir_bindless_image_format_indices{0, __VA_ARGS__})
11427#else
11428#define nir_build_bindless_image_format(build, bit_size, src0, ...) \
11429_nir_build_bindless_image_format(build, bit_size, src0, (struct _nir_bindless_image_format_indices){0, __VA_ARGS__})
11430#endif
11431#define nir_bindless_image_format nir_build_bindless_image_format
11432#ifdef __cplusplus
11433#define nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
11434_nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_bindless_image_load_indices{0, __VA_ARGS__})
11435#else
11436#define nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
11437_nir_build_bindless_image_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_load_indices){0, __VA_ARGS__})
11438#endif
11439#define nir_bindless_image_load nir_build_bindless_image_load
11440#ifdef __cplusplus
11441#define nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \
11442_nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, _nir_bindless_image_load_raw_intel_indices{0, __VA_ARGS__})
11443#else
11444#define nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \
11445_nir_build_bindless_image_load_raw_intel(build, num_components, bit_size, src0, src1, (struct _nir_bindless_image_load_raw_intel_indices){0, __VA_ARGS__})
11446#endif
11447#define nir_bindless_image_load_raw_intel nir_build_bindless_image_load_raw_intel
11448#ifdef __cplusplus
11449#define nir_build_bindless_image_order(build, bit_size, src0, ...) \
11450_nir_build_bindless_image_order(build, bit_size, src0, _nir_bindless_image_order_indices{0, __VA_ARGS__})
11451#else
11452#define nir_build_bindless_image_order(build, bit_size, src0, ...) \
11453_nir_build_bindless_image_order(build, bit_size, src0, (struct _nir_bindless_image_order_indices){0, __VA_ARGS__})
11454#endif
11455#define nir_bindless_image_order nir_build_bindless_image_order
11456#ifdef __cplusplus
11457#define nir_build_bindless_image_samples(build, bit_size, src0, ...) \
11458_nir_build_bindless_image_samples(build, bit_size, src0, _nir_bindless_image_samples_indices{0, __VA_ARGS__})
11459#else
11460#define nir_build_bindless_image_samples(build, bit_size, src0, ...) \
11461_nir_build_bindless_image_samples(build, bit_size, src0, (struct _nir_bindless_image_samples_indices){0, __VA_ARGS__})
11462#endif
11463#define nir_bindless_image_samples nir_build_bindless_image_samples
11464#ifdef __cplusplus
11465#define nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, ...) \
11466_nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, _nir_bindless_image_size_indices{0, __VA_ARGS__})
11467#else
11468#define nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, ...) \
11469_nir_build_bindless_image_size(build, num_components, bit_size, src0, src1, (struct _nir_bindless_image_size_indices){0, __VA_ARGS__})
11470#endif
11471#define nir_bindless_image_size nir_build_bindless_image_size
11472#ifdef __cplusplus
11473#define nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
11474_nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_bindless_image_sparse_load_indices{0, __VA_ARGS__})
11475#else
11476#define nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
11477_nir_build_bindless_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_bindless_image_sparse_load_indices){0, __VA_ARGS__})
11478#endif
11479#define nir_bindless_image_sparse_load nir_build_bindless_image_sparse_load
11480#ifdef __cplusplus
11481#define nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, ...) \
11482_nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, _nir_bindless_image_store_indices{0, __VA_ARGS__})
11483#else
11484#define nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, ...) \
11485_nir_build_bindless_image_store(build, src0, src1, src2, src3, src4, (struct _nir_bindless_image_store_indices){0, __VA_ARGS__})
11486#endif
11487#define nir_bindless_image_store nir_build_bindless_image_store
11488#ifdef __cplusplus
11489#define nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, ...) \
11490_nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, _nir_bindless_image_store_raw_intel_indices{0, __VA_ARGS__})
11491#else
11492#define nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, ...) \
11493_nir_build_bindless_image_store_raw_intel(build, src0, src1, src2, (struct _nir_bindless_image_store_raw_intel_indices){0, __VA_ARGS__})
11494#endif
11495#define nir_bindless_image_store_raw_intel nir_build_bindless_image_store_raw_intel
11496#ifdef __cplusplus
11497#define nir_build_bindless_resource_ir3(build, bit_size, src0, ...) \
11498_nir_build_bindless_resource_ir3(build, bit_size, src0, _nir_bindless_resource_ir3_indices{0, __VA_ARGS__})
11499#else
11500#define nir_build_bindless_resource_ir3(build, bit_size, src0, ...) \
11501_nir_build_bindless_resource_ir3(build, bit_size, src0, (struct _nir_bindless_resource_ir3_indices){0, __VA_ARGS__})
11502#endif
11503#define nir_bindless_resource_ir3 nir_build_bindless_resource_ir3
11504#define nir_build_btd_retire_intel _nir_build_btd_retire_intel
11505#define nir_btd_retire_intel nir_build_btd_retire_intel
11506#define nir_build_btd_spawn_intel _nir_build_btd_spawn_intel
11507#define nir_btd_spawn_intel nir_build_btd_spawn_intel
11508#ifdef __cplusplus
11509#define nir_build_btd_stack_push_intel(build, ...) \
11510_nir_build_btd_stack_push_intel(build, _nir_btd_stack_push_intel_indices{0, __VA_ARGS__})
11511#else
11512#define nir_build_btd_stack_push_intel(build, ...) \
11513_nir_build_btd_stack_push_intel(build, (struct _nir_btd_stack_push_intel_indices){0, __VA_ARGS__})
11514#endif
11515#define nir_btd_stack_push_intel nir_build_btd_stack_push_intel
11516#define nir_build_bvh64_intersect_ray_amd _nir_build_bvh64_intersect_ray_amd
11517#define nir_bvh64_intersect_ray_amd nir_build_bvh64_intersect_ray_amd
11518#define nir_build_byte_permute_amd _nir_build_byte_permute_amd
11519#define nir_byte_permute_amd nir_build_byte_permute_amd
11520#define nir_build_cond_end_ir3 _nir_build_cond_end_ir3
11521#define nir_cond_end_ir3 nir_build_cond_end_ir3
11522#define nir_build_control_barrier _nir_build_control_barrier
11523#define nir_control_barrier nir_build_control_barrier
11524#ifdef __cplusplus
11525#define nir_build_convert_alu_types(build, bit_size, src0, ...) \
11526_nir_build_convert_alu_types(build, bit_size, src0, _nir_convert_alu_types_indices{0, __VA_ARGS__})
11527#else
11528#define nir_build_convert_alu_types(build, bit_size, src0, ...) \
11529_nir_build_convert_alu_types(build, bit_size, src0, (struct _nir_convert_alu_types_indices){0, __VA_ARGS__})
11530#endif
11531#define nir_convert_alu_types nir_build_convert_alu_types
11532#ifdef __cplusplus
11533#define nir_build_copy_deref(build, src0, src1, ...) \
11534_nir_build_copy_deref(build, src0, src1, _nir_copy_deref_indices{0, __VA_ARGS__})
11535#else
11536#define nir_build_copy_deref(build, src0, src1, ...) \
11537_nir_build_copy_deref(build, src0, src1, (struct _nir_copy_deref_indices){0, __VA_ARGS__})
11538#endif
11539#define nir_copy_deref nir_build_copy_deref
11540#define nir_build_demote _nir_build_demote
11541#define nir_demote nir_build_demote
11542#define nir_build_demote_if _nir_build_demote_if
11543#define nir_demote_if nir_build_demote_if
11544#ifdef __cplusplus
11545#define nir_build_deref_atomic_add(build, bit_size, src0, src1, ...) \
11546_nir_build_deref_atomic_add(build, bit_size, src0, src1, _nir_deref_atomic_add_indices{0, __VA_ARGS__})
11547#else
11548#define nir_build_deref_atomic_add(build, bit_size, src0, src1, ...) \
11549_nir_build_deref_atomic_add(build, bit_size, src0, src1, (struct _nir_deref_atomic_add_indices){0, __VA_ARGS__})
11550#endif
11551#define nir_deref_atomic_add nir_build_deref_atomic_add
11552#ifdef __cplusplus
11553#define nir_build_deref_atomic_and(build, bit_size, src0, src1, ...) \
11554_nir_build_deref_atomic_and(build, bit_size, src0, src1, _nir_deref_atomic_and_indices{0, __VA_ARGS__})
11555#else
11556#define nir_build_deref_atomic_and(build, bit_size, src0, src1, ...) \
11557_nir_build_deref_atomic_and(build, bit_size, src0, src1, (struct _nir_deref_atomic_and_indices){0, __VA_ARGS__})
11558#endif
11559#define nir_deref_atomic_and nir_build_deref_atomic_and
11560#ifdef __cplusplus
11561#define nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \
11562_nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, _nir_deref_atomic_comp_swap_indices{0, __VA_ARGS__})
11563#else
11564#define nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \
11565_nir_build_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_deref_atomic_comp_swap_indices){0, __VA_ARGS__})
11566#endif
11567#define nir_deref_atomic_comp_swap nir_build_deref_atomic_comp_swap
11568#ifdef __cplusplus
11569#define nir_build_deref_atomic_exchange(build, bit_size, src0, src1, ...) \
11570_nir_build_deref_atomic_exchange(build, bit_size, src0, src1, _nir_deref_atomic_exchange_indices{0, __VA_ARGS__})
11571#else
11572#define nir_build_deref_atomic_exchange(build, bit_size, src0, src1, ...) \
11573_nir_build_deref_atomic_exchange(build, bit_size, src0, src1, (struct _nir_deref_atomic_exchange_indices){0, __VA_ARGS__})
11574#endif
11575#define nir_deref_atomic_exchange nir_build_deref_atomic_exchange
11576#ifdef __cplusplus
11577#define nir_build_deref_atomic_fadd(build, bit_size, src0, src1, ...) \
11578_nir_build_deref_atomic_fadd(build, bit_size, src0, src1, _nir_deref_atomic_fadd_indices{0, __VA_ARGS__})
11579#else
11580#define nir_build_deref_atomic_fadd(build, bit_size, src0, src1, ...) \
11581_nir_build_deref_atomic_fadd(build, bit_size, src0, src1, (struct _nir_deref_atomic_fadd_indices){0, __VA_ARGS__})
11582#endif
11583#define nir_deref_atomic_fadd nir_build_deref_atomic_fadd
11584#ifdef __cplusplus
11585#define nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \
11586_nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, _nir_deref_atomic_fcomp_swap_indices{0, __VA_ARGS__})
11587#else
11588#define nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \
11589_nir_build_deref_atomic_fcomp_swap(build, bit_size, src0, src1, src2, (struct _nir_deref_atomic_fcomp_swap_indices){0, __VA_ARGS__})
11590#endif
11591#define nir_deref_atomic_fcomp_swap nir_build_deref_atomic_fcomp_swap
11592#ifdef __cplusplus
11593#define nir_build_deref_atomic_fmax(build, bit_size, src0, src1, ...) \
11594_nir_build_deref_atomic_fmax(build, bit_size, src0, src1, _nir_deref_atomic_fmax_indices{0, __VA_ARGS__})
11595#else
11596#define nir_build_deref_atomic_fmax(build, bit_size, src0, src1, ...) \
11597_nir_build_deref_atomic_fmax(build, bit_size, src0, src1, (struct _nir_deref_atomic_fmax_indices){0, __VA_ARGS__})
11598#endif
11599#define nir_deref_atomic_fmax nir_build_deref_atomic_fmax
11600#ifdef __cplusplus
11601#define nir_build_deref_atomic_fmin(build, bit_size, src0, src1, ...) \
11602_nir_build_deref_atomic_fmin(build, bit_size, src0, src1, _nir_deref_atomic_fmin_indices{0, __VA_ARGS__})
11603#else
11604#define nir_build_deref_atomic_fmin(build, bit_size, src0, src1, ...) \
11605_nir_build_deref_atomic_fmin(build, bit_size, src0, src1, (struct _nir_deref_atomic_fmin_indices){0, __VA_ARGS__})
11606#endif
11607#define nir_deref_atomic_fmin nir_build_deref_atomic_fmin
11608#ifdef __cplusplus
11609#define nir_build_deref_atomic_imax(build, bit_size, src0, src1, ...) \
11610_nir_build_deref_atomic_imax(build, bit_size, src0, src1, _nir_deref_atomic_imax_indices{0, __VA_ARGS__})
11611#else
11612#define nir_build_deref_atomic_imax(build, bit_size, src0, src1, ...) \
11613_nir_build_deref_atomic_imax(build, bit_size, src0, src1, (struct _nir_deref_atomic_imax_indices){0, __VA_ARGS__})
11614#endif
11615#define nir_deref_atomic_imax nir_build_deref_atomic_imax
11616#ifdef __cplusplus
11617#define nir_build_deref_atomic_imin(build, bit_size, src0, src1, ...) \
11618_nir_build_deref_atomic_imin(build, bit_size, src0, src1, _nir_deref_atomic_imin_indices{0, __VA_ARGS__})
11619#else
11620#define nir_build_deref_atomic_imin(build, bit_size, src0, src1, ...) \
11621_nir_build_deref_atomic_imin(build, bit_size, src0, src1, (struct _nir_deref_atomic_imin_indices){0, __VA_ARGS__})
11622#endif
11623#define nir_deref_atomic_imin nir_build_deref_atomic_imin
11624#ifdef __cplusplus
11625#define nir_build_deref_atomic_or(build, bit_size, src0, src1, ...) \
11626_nir_build_deref_atomic_or(build, bit_size, src0, src1, _nir_deref_atomic_or_indices{0, __VA_ARGS__})
11627#else
11628#define nir_build_deref_atomic_or(build, bit_size, src0, src1, ...) \
11629_nir_build_deref_atomic_or(build, bit_size, src0, src1, (struct _nir_deref_atomic_or_indices){0, __VA_ARGS__})
11630#endif
11631#define nir_deref_atomic_or nir_build_deref_atomic_or
11632#ifdef __cplusplus
11633#define nir_build_deref_atomic_umax(build, bit_size, src0, src1, ...) \
11634_nir_build_deref_atomic_umax(build, bit_size, src0, src1, _nir_deref_atomic_umax_indices{0, __VA_ARGS__})
11635#else
11636#define nir_build_deref_atomic_umax(build, bit_size, src0, src1, ...) \
11637_nir_build_deref_atomic_umax(build, bit_size, src0, src1, (struct _nir_deref_atomic_umax_indices){0, __VA_ARGS__})
11638#endif
11639#define nir_deref_atomic_umax nir_build_deref_atomic_umax
11640#ifdef __cplusplus
11641#define nir_build_deref_atomic_umin(build, bit_size, src0, src1, ...) \
11642_nir_build_deref_atomic_umin(build, bit_size, src0, src1, _nir_deref_atomic_umin_indices{0, __VA_ARGS__})
11643#else
11644#define nir_build_deref_atomic_umin(build, bit_size, src0, src1, ...) \
11645_nir_build_deref_atomic_umin(build, bit_size, src0, src1, (struct _nir_deref_atomic_umin_indices){0, __VA_ARGS__})
11646#endif
11647#define nir_deref_atomic_umin nir_build_deref_atomic_umin
11648#ifdef __cplusplus
11649#define nir_build_deref_atomic_xor(build, bit_size, src0, src1, ...) \
11650_nir_build_deref_atomic_xor(build, bit_size, src0, src1, _nir_deref_atomic_xor_indices{0, __VA_ARGS__})
11651#else
11652#define nir_build_deref_atomic_xor(build, bit_size, src0, src1, ...) \
11653_nir_build_deref_atomic_xor(build, bit_size, src0, src1, (struct _nir_deref_atomic_xor_indices){0, __VA_ARGS__})
11654#endif
11655#define nir_deref_atomic_xor nir_build_deref_atomic_xor
11656#ifdef __cplusplus
11657#define nir_build_deref_buffer_array_length(build, bit_size, src0, ...) \
11658_nir_build_deref_buffer_array_length(build, bit_size, src0, _nir_deref_buffer_array_length_indices{0, __VA_ARGS__})
11659#else
11660#define nir_build_deref_buffer_array_length(build, bit_size, src0, ...) \
11661_nir_build_deref_buffer_array_length(build, bit_size, src0, (struct _nir_deref_buffer_array_length_indices){0, __VA_ARGS__})
11662#endif
11663#define nir_deref_buffer_array_length nir_build_deref_buffer_array_length
11664#ifdef __cplusplus
11665#define nir_build_deref_mode_is(build, bit_size, src0, ...) \
11666_nir_build_deref_mode_is(build, bit_size, src0, _nir_deref_mode_is_indices{0, __VA_ARGS__})
11667#else
11668#define nir_build_deref_mode_is(build, bit_size, src0, ...) \
11669_nir_build_deref_mode_is(build, bit_size, src0, (struct _nir_deref_mode_is_indices){0, __VA_ARGS__})
11670#endif
11671#define nir_deref_mode_is nir_build_deref_mode_is
11672#define nir_build_discard _nir_build_discard
11673#define nir_discard nir_build_discard
11674#define nir_build_discard_if _nir_build_discard_if
11675#define nir_discard_if nir_build_discard_if
11676#define nir_build_elect _nir_build_elect
11677#define nir_elect nir_build_elect
11678#ifdef __cplusplus
11679#define nir_build_emit_vertex(build, ...) \
11680_nir_build_emit_vertex(build, _nir_emit_vertex_indices{0, __VA_ARGS__})
11681#else
11682#define nir_build_emit_vertex(build, ...) \
11683_nir_build_emit_vertex(build, (struct _nir_emit_vertex_indices){0, __VA_ARGS__})
11684#endif
11685#define nir_emit_vertex nir_build_emit_vertex
11686#ifdef __cplusplus
11687#define nir_build_emit_vertex_with_counter(build, src0, src1, ...) \
11688_nir_build_emit_vertex_with_counter(build, src0, src1, _nir_emit_vertex_with_counter_indices{0, __VA_ARGS__})
11689#else
11690#define nir_build_emit_vertex_with_counter(build, src0, src1, ...) \
11691_nir_build_emit_vertex_with_counter(build, src0, src1, (struct _nir_emit_vertex_with_counter_indices){0, __VA_ARGS__})
11692#endif
11693#define nir_emit_vertex_with_counter nir_build_emit_vertex_with_counter
11694#define nir_build_end_invocation_interlock _nir_build_end_invocation_interlock
11695#define nir_end_invocation_interlock nir_build_end_invocation_interlock
11696#define nir_build_end_patch_ir3 _nir_build_end_patch_ir3
11697#define nir_end_patch_ir3 nir_build_end_patch_ir3
11698#ifdef __cplusplus
11699#define nir_build_end_primitive(build, ...) \
11700_nir_build_end_primitive(build, _nir_end_primitive_indices{0, __VA_ARGS__})
11701#else
11702#define nir_build_end_primitive(build, ...) \
11703_nir_build_end_primitive(build, (struct _nir_end_primitive_indices){0, __VA_ARGS__})
11704#endif
11705#define nir_end_primitive nir_build_end_primitive
11706#ifdef __cplusplus
11707#define nir_build_end_primitive_with_counter(build, src0, src1, ...) \
11708_nir_build_end_primitive_with_counter(build, src0, src1, _nir_end_primitive_with_counter_indices{0, __VA_ARGS__})
11709#else
11710#define nir_build_end_primitive_with_counter(build, src0, src1, ...) \
11711_nir_build_end_primitive_with_counter(build, src0, src1, (struct _nir_end_primitive_with_counter_indices){0, __VA_ARGS__})
11712#endif
11713#define nir_end_primitive_with_counter nir_build_end_primitive_with_counter
11714#ifdef __cplusplus
11715#define nir_build_exclusive_scan(build, src0, ...) \
11716_nir_build_exclusive_scan(build, src0, _nir_exclusive_scan_indices{0, __VA_ARGS__})
11717#else
11718#define nir_build_exclusive_scan(build, src0, ...) \
11719_nir_build_exclusive_scan(build, src0, (struct _nir_exclusive_scan_indices){0, __VA_ARGS__})
11720#endif
11721#define nir_exclusive_scan nir_build_exclusive_scan
11722#define nir_build_execute_callable _nir_build_execute_callable
11723#define nir_execute_callable nir_build_execute_callable
11724#define nir_build_export_primitive_amd _nir_build_export_primitive_amd
11725#define nir_export_primitive_amd nir_build_export_primitive_amd
11726#define nir_build_export_vertex_amd _nir_build_export_vertex_amd
11727#define nir_export_vertex_amd nir_build_export_vertex_amd
11728#define nir_build_first_invocation _nir_build_first_invocation
11729#define nir_first_invocation nir_build_first_invocation
11730#ifdef __cplusplus
11731#define nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, ...) \
11732_nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, _nir_gds_atomic_add_amd_indices{0, __VA_ARGS__})
11733#else
11734#define nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, ...) \
11735_nir_build_gds_atomic_add_amd(build, bit_size, src0, src1, src2, (struct _nir_gds_atomic_add_amd_indices){0, __VA_ARGS__})
11736#endif
11737#define nir_gds_atomic_add_amd nir_build_gds_atomic_add_amd
11738#ifdef __cplusplus
11739#define nir_build_get_ssbo_size(build, src0, ...) \
11740_nir_build_get_ssbo_size(build, src0, _nir_get_ssbo_size_indices{0, __VA_ARGS__})
11741#else
11742#define nir_build_get_ssbo_size(build, src0, ...) \
11743_nir_build_get_ssbo_size(build, src0, (struct _nir_get_ssbo_size_indices){0, __VA_ARGS__})
11744#endif
11745#define nir_get_ssbo_size nir_build_get_ssbo_size
11746#define nir_build_get_ubo_size _nir_build_get_ubo_size
11747#define nir_get_ubo_size nir_build_get_ubo_size
11748#ifdef __cplusplus
11749#define nir_build_global_atomic_add(build, bit_size, src0, src1, ...) \
11750_nir_build_global_atomic_add(build, bit_size, src0, src1, _nir_global_atomic_add_indices{0, __VA_ARGS__})
11751#else
11752#define nir_build_global_atomic_add(build, bit_size, src0, src1, ...) \
11753_nir_build_global_atomic_add(build, bit_size, src0, src1, (struct _nir_global_atomic_add_indices){0, __VA_ARGS__})
11754#endif
11755#define nir_global_atomic_add nir_build_global_atomic_add
11756#ifdef __cplusplus
11757#define nir_build_global_atomic_and(build, bit_size, src0, src1, ...) \
11758_nir_build_global_atomic_and(build, bit_size, src0, src1, _nir_global_atomic_and_indices{0, __VA_ARGS__})
11759#else
11760#define nir_build_global_atomic_and(build, bit_size, src0, src1, ...) \
11761_nir_build_global_atomic_and(build, bit_size, src0, src1, (struct _nir_global_atomic_and_indices){0, __VA_ARGS__})
11762#endif
11763#define nir_global_atomic_and nir_build_global_atomic_and
11764#ifdef __cplusplus
11765#define nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \
11766_nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, _nir_global_atomic_comp_swap_indices{0, __VA_ARGS__})
11767#else
11768#define nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \
11769_nir_build_global_atomic_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_global_atomic_comp_swap_indices){0, __VA_ARGS__})
11770#endif
11771#define nir_global_atomic_comp_swap nir_build_global_atomic_comp_swap
11772#ifdef __cplusplus
11773#define nir_build_global_atomic_exchange(build, bit_size, src0, src1, ...) \
11774_nir_build_global_atomic_exchange(build, bit_size, src0, src1, _nir_global_atomic_exchange_indices{0, __VA_ARGS__})
11775#else
11776#define nir_build_global_atomic_exchange(build, bit_size, src0, src1, ...) \
11777_nir_build_global_atomic_exchange(build, bit_size, src0, src1, (struct _nir_global_atomic_exchange_indices){0, __VA_ARGS__})
11778#endif
11779#define nir_global_atomic_exchange nir_build_global_atomic_exchange
11780#ifdef __cplusplus
11781#define nir_build_global_atomic_fadd(build, bit_size, src0, src1, ...) \
11782_nir_build_global_atomic_fadd(build, bit_size, src0, src1, _nir_global_atomic_fadd_indices{0, __VA_ARGS__})
11783#else
11784#define nir_build_global_atomic_fadd(build, bit_size, src0, src1, ...) \
11785_nir_build_global_atomic_fadd(build, bit_size, src0, src1, (struct _nir_global_atomic_fadd_indices){0, __VA_ARGS__})
11786#endif
11787#define nir_global_atomic_fadd nir_build_global_atomic_fadd
11788#ifdef __cplusplus
11789#define nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \
11790_nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, _nir_global_atomic_fcomp_swap_indices{0, __VA_ARGS__})
11791#else
11792#define nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \
11793_nir_build_global_atomic_fcomp_swap(build, bit_size, src0, src1, src2, (struct _nir_global_atomic_fcomp_swap_indices){0, __VA_ARGS__})
11794#endif
11795#define nir_global_atomic_fcomp_swap nir_build_global_atomic_fcomp_swap
11796#ifdef __cplusplus
11797#define nir_build_global_atomic_fmax(build, bit_size, src0, src1, ...) \
11798_nir_build_global_atomic_fmax(build, bit_size, src0, src1, _nir_global_atomic_fmax_indices{0, __VA_ARGS__})
11799#else
11800#define nir_build_global_atomic_fmax(build, bit_size, src0, src1, ...) \
11801_nir_build_global_atomic_fmax(build, bit_size, src0, src1, (struct _nir_global_atomic_fmax_indices){0, __VA_ARGS__})
11802#endif
11803#define nir_global_atomic_fmax nir_build_global_atomic_fmax
11804#ifdef __cplusplus
11805#define nir_build_global_atomic_fmin(build, bit_size, src0, src1, ...) \
11806_nir_build_global_atomic_fmin(build, bit_size, src0, src1, _nir_global_atomic_fmin_indices{0, __VA_ARGS__})
11807#else
11808#define nir_build_global_atomic_fmin(build, bit_size, src0, src1, ...) \
11809_nir_build_global_atomic_fmin(build, bit_size, src0, src1, (struct _nir_global_atomic_fmin_indices){0, __VA_ARGS__})
11810#endif
11811#define nir_global_atomic_fmin nir_build_global_atomic_fmin
11812#ifdef __cplusplus
11813#define nir_build_global_atomic_imax(build, bit_size, src0, src1, ...) \
11814_nir_build_global_atomic_imax(build, bit_size, src0, src1, _nir_global_atomic_imax_indices{0, __VA_ARGS__})
11815#else
11816#define nir_build_global_atomic_imax(build, bit_size, src0, src1, ...) \
11817_nir_build_global_atomic_imax(build, bit_size, src0, src1, (struct _nir_global_atomic_imax_indices){0, __VA_ARGS__})
11818#endif
11819#define nir_global_atomic_imax nir_build_global_atomic_imax
11820#ifdef __cplusplus
11821#define nir_build_global_atomic_imin(build, bit_size, src0, src1, ...) \
11822_nir_build_global_atomic_imin(build, bit_size, src0, src1, _nir_global_atomic_imin_indices{0, __VA_ARGS__})
11823#else
11824#define nir_build_global_atomic_imin(build, bit_size, src0, src1, ...) \
11825_nir_build_global_atomic_imin(build, bit_size, src0, src1, (struct _nir_global_atomic_imin_indices){0, __VA_ARGS__})
11826#endif
11827#define nir_global_atomic_imin nir_build_global_atomic_imin
11828#ifdef __cplusplus
11829#define nir_build_global_atomic_or(build, bit_size, src0, src1, ...) \
11830_nir_build_global_atomic_or(build, bit_size, src0, src1, _nir_global_atomic_or_indices{0, __VA_ARGS__})
11831#else
11832#define nir_build_global_atomic_or(build, bit_size, src0, src1, ...) \
11833_nir_build_global_atomic_or(build, bit_size, src0, src1, (struct _nir_global_atomic_or_indices){0, __VA_ARGS__})
11834#endif
11835#define nir_global_atomic_or nir_build_global_atomic_or
11836#ifdef __cplusplus
11837#define nir_build_global_atomic_umax(build, bit_size, src0, src1, ...) \
11838_nir_build_global_atomic_umax(build, bit_size, src0, src1, _nir_global_atomic_umax_indices{0, __VA_ARGS__})
11839#else
11840#define nir_build_global_atomic_umax(build, bit_size, src0, src1, ...) \
11841_nir_build_global_atomic_umax(build, bit_size, src0, src1, (struct _nir_global_atomic_umax_indices){0, __VA_ARGS__})
11842#endif
11843#define nir_global_atomic_umax nir_build_global_atomic_umax
11844#ifdef __cplusplus
11845#define nir_build_global_atomic_umin(build, bit_size, src0, src1, ...) \
11846_nir_build_global_atomic_umin(build, bit_size, src0, src1, _nir_global_atomic_umin_indices{0, __VA_ARGS__})
11847#else
11848#define nir_build_global_atomic_umin(build, bit_size, src0, src1, ...) \
11849_nir_build_global_atomic_umin(build, bit_size, src0, src1, (struct _nir_global_atomic_umin_indices){0, __VA_ARGS__})
11850#endif
11851#define nir_global_atomic_umin nir_build_global_atomic_umin
11852#ifdef __cplusplus
11853#define nir_build_global_atomic_xor(build, bit_size, src0, src1, ...) \
11854_nir_build_global_atomic_xor(build, bit_size, src0, src1, _nir_global_atomic_xor_indices{0, __VA_ARGS__})
11855#else
11856#define nir_build_global_atomic_xor(build, bit_size, src0, src1, ...) \
11857_nir_build_global_atomic_xor(build, bit_size, src0, src1, (struct _nir_global_atomic_xor_indices){0, __VA_ARGS__})
11858#endif
11859#define nir_global_atomic_xor nir_build_global_atomic_xor
11860#define nir_build_group_memory_barrier _nir_build_group_memory_barrier
11861#define nir_group_memory_barrier nir_build_group_memory_barrier
11862#define nir_build_has_input_primitive_amd _nir_build_has_input_primitive_amd
11863#define nir_has_input_primitive_amd nir_build_has_input_primitive_amd
11864#define nir_build_has_input_vertex_amd _nir_build_has_input_vertex_amd
11865#define nir_has_input_vertex_amd nir_build_has_input_vertex_amd
11866#define nir_build_ignore_ray_intersection _nir_build_ignore_ray_intersection
11867#define nir_ignore_ray_intersection nir_build_ignore_ray_intersection
11868#ifdef __cplusplus
11869#define nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \
11870_nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_add_indices{0, __VA_ARGS__})
11871#else
11872#define nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \
11873_nir_build_image_atomic_add(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_add_indices){0, __VA_ARGS__})
11874#endif
11875#define nir_image_atomic_add nir_build_image_atomic_add
11876#ifdef __cplusplus
11877#define nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \
11878_nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_and_indices{0, __VA_ARGS__})
11879#else
11880#define nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \
11881_nir_build_image_atomic_and(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_and_indices){0, __VA_ARGS__})
11882#endif
11883#define nir_image_atomic_and nir_build_image_atomic_and
11884#ifdef __cplusplus
11885#define nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \
11886_nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, _nir_image_atomic_comp_swap_indices{0, __VA_ARGS__})
11887#else
11888#define nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \
11889_nir_build_image_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_image_atomic_comp_swap_indices){0, __VA_ARGS__})
11890#endif
11891#define nir_image_atomic_comp_swap nir_build_image_atomic_comp_swap
11892#ifdef __cplusplus
11893#define nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11894_nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_dec_wrap_indices{0, __VA_ARGS__})
11895#else
11896#define nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11897_nir_build_image_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_dec_wrap_indices){0, __VA_ARGS__})
11898#endif
11899#define nir_image_atomic_dec_wrap nir_build_image_atomic_dec_wrap
11900#ifdef __cplusplus
11901#define nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \
11902_nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_exchange_indices{0, __VA_ARGS__})
11903#else
11904#define nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \
11905_nir_build_image_atomic_exchange(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_exchange_indices){0, __VA_ARGS__})
11906#endif
11907#define nir_image_atomic_exchange nir_build_image_atomic_exchange
11908#ifdef __cplusplus
11909#define nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \
11910_nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_fadd_indices{0, __VA_ARGS__})
11911#else
11912#define nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \
11913_nir_build_image_atomic_fadd(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_fadd_indices){0, __VA_ARGS__})
11914#endif
11915#define nir_image_atomic_fadd nir_build_image_atomic_fadd
11916#ifdef __cplusplus
11917#define nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \
11918_nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_fmax_indices{0, __VA_ARGS__})
11919#else
11920#define nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \
11921_nir_build_image_atomic_fmax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_fmax_indices){0, __VA_ARGS__})
11922#endif
11923#define nir_image_atomic_fmax nir_build_image_atomic_fmax
11924#ifdef __cplusplus
11925#define nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \
11926_nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_fmin_indices{0, __VA_ARGS__})
11927#else
11928#define nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \
11929_nir_build_image_atomic_fmin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_fmin_indices){0, __VA_ARGS__})
11930#endif
11931#define nir_image_atomic_fmin nir_build_image_atomic_fmin
11932#ifdef __cplusplus
11933#define nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \
11934_nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_imax_indices{0, __VA_ARGS__})
11935#else
11936#define nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \
11937_nir_build_image_atomic_imax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_imax_indices){0, __VA_ARGS__})
11938#endif
11939#define nir_image_atomic_imax nir_build_image_atomic_imax
11940#ifdef __cplusplus
11941#define nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \
11942_nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_imin_indices{0, __VA_ARGS__})
11943#else
11944#define nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \
11945_nir_build_image_atomic_imin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_imin_indices){0, __VA_ARGS__})
11946#endif
11947#define nir_image_atomic_imin nir_build_image_atomic_imin
11948#ifdef __cplusplus
11949#define nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11950_nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_inc_wrap_indices{0, __VA_ARGS__})
11951#else
11952#define nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \
11953_nir_build_image_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_inc_wrap_indices){0, __VA_ARGS__})
11954#endif
11955#define nir_image_atomic_inc_wrap nir_build_image_atomic_inc_wrap
11956#ifdef __cplusplus
11957#define nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \
11958_nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_or_indices{0, __VA_ARGS__})
11959#else
11960#define nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \
11961_nir_build_image_atomic_or(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_or_indices){0, __VA_ARGS__})
11962#endif
11963#define nir_image_atomic_or nir_build_image_atomic_or
11964#ifdef __cplusplus
11965#define nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \
11966_nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_umax_indices{0, __VA_ARGS__})
11967#else
11968#define nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \
11969_nir_build_image_atomic_umax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_umax_indices){0, __VA_ARGS__})
11970#endif
11971#define nir_image_atomic_umax nir_build_image_atomic_umax
11972#ifdef __cplusplus
11973#define nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \
11974_nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_umin_indices{0, __VA_ARGS__})
11975#else
11976#define nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \
11977_nir_build_image_atomic_umin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_umin_indices){0, __VA_ARGS__})
11978#endif
11979#define nir_image_atomic_umin nir_build_image_atomic_umin
11980#ifdef __cplusplus
11981#define nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \
11982_nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, _nir_image_atomic_xor_indices{0, __VA_ARGS__})
11983#else
11984#define nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \
11985_nir_build_image_atomic_xor(build, bit_size, src0, src1, src2, src3, (struct _nir_image_atomic_xor_indices){0, __VA_ARGS__})
11986#endif
11987#define nir_image_atomic_xor nir_build_image_atomic_xor
11988#ifdef __cplusplus
11989#define nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \
11990_nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_add_indices{0, __VA_ARGS__})
11991#else
11992#define nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, ...) \
11993_nir_build_image_deref_atomic_add(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_add_indices){0, __VA_ARGS__})
11994#endif
11995#define nir_image_deref_atomic_add nir_build_image_deref_atomic_add
11996#ifdef __cplusplus
11997#define nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \
11998_nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_and_indices{0, __VA_ARGS__})
11999#else
12000#define nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, ...) \
12001_nir_build_image_deref_atomic_and(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_and_indices){0, __VA_ARGS__})
12002#endif
12003#define nir_image_deref_atomic_and nir_build_image_deref_atomic_and
12004#ifdef __cplusplus
12005#define nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \
12006_nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, _nir_image_deref_atomic_comp_swap_indices{0, __VA_ARGS__})
12007#else
12008#define nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, ...) \
12009_nir_build_image_deref_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_image_deref_atomic_comp_swap_indices){0, __VA_ARGS__})
12010#endif
12011#define nir_image_deref_atomic_comp_swap nir_build_image_deref_atomic_comp_swap
12012#ifdef __cplusplus
12013#define nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \
12014_nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_dec_wrap_indices{0, __VA_ARGS__})
12015#else
12016#define nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, ...) \
12017_nir_build_image_deref_atomic_dec_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_dec_wrap_indices){0, __VA_ARGS__})
12018#endif
12019#define nir_image_deref_atomic_dec_wrap nir_build_image_deref_atomic_dec_wrap
12020#ifdef __cplusplus
12021#define nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \
12022_nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_exchange_indices{0, __VA_ARGS__})
12023#else
12024#define nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, ...) \
12025_nir_build_image_deref_atomic_exchange(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_exchange_indices){0, __VA_ARGS__})
12026#endif
12027#define nir_image_deref_atomic_exchange nir_build_image_deref_atomic_exchange
12028#ifdef __cplusplus
12029#define nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \
12030_nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_fadd_indices{0, __VA_ARGS__})
12031#else
12032#define nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, ...) \
12033_nir_build_image_deref_atomic_fadd(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_fadd_indices){0, __VA_ARGS__})
12034#endif
12035#define nir_image_deref_atomic_fadd nir_build_image_deref_atomic_fadd
12036#ifdef __cplusplus
12037#define nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \
12038_nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_fmax_indices{0, __VA_ARGS__})
12039#else
12040#define nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, ...) \
12041_nir_build_image_deref_atomic_fmax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_fmax_indices){0, __VA_ARGS__})
12042#endif
12043#define nir_image_deref_atomic_fmax nir_build_image_deref_atomic_fmax
12044#ifdef __cplusplus
12045#define nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \
12046_nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_fmin_indices{0, __VA_ARGS__})
12047#else
12048#define nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, ...) \
12049_nir_build_image_deref_atomic_fmin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_fmin_indices){0, __VA_ARGS__})
12050#endif
12051#define nir_image_deref_atomic_fmin nir_build_image_deref_atomic_fmin
12052#ifdef __cplusplus
12053#define nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \
12054_nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_imax_indices{0, __VA_ARGS__})
12055#else
12056#define nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, ...) \
12057_nir_build_image_deref_atomic_imax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_imax_indices){0, __VA_ARGS__})
12058#endif
12059#define nir_image_deref_atomic_imax nir_build_image_deref_atomic_imax
12060#ifdef __cplusplus
12061#define nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \
12062_nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_imin_indices{0, __VA_ARGS__})
12063#else
12064#define nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, ...) \
12065_nir_build_image_deref_atomic_imin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_imin_indices){0, __VA_ARGS__})
12066#endif
12067#define nir_image_deref_atomic_imin nir_build_image_deref_atomic_imin
12068#ifdef __cplusplus
12069#define nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \
12070_nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_inc_wrap_indices{0, __VA_ARGS__})
12071#else
12072#define nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, ...) \
12073_nir_build_image_deref_atomic_inc_wrap(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_inc_wrap_indices){0, __VA_ARGS__})
12074#endif
12075#define nir_image_deref_atomic_inc_wrap nir_build_image_deref_atomic_inc_wrap
12076#ifdef __cplusplus
12077#define nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \
12078_nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_or_indices{0, __VA_ARGS__})
12079#else
12080#define nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, ...) \
12081_nir_build_image_deref_atomic_or(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_or_indices){0, __VA_ARGS__})
12082#endif
12083#define nir_image_deref_atomic_or nir_build_image_deref_atomic_or
12084#ifdef __cplusplus
12085#define nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \
12086_nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_umax_indices{0, __VA_ARGS__})
12087#else
12088#define nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, ...) \
12089_nir_build_image_deref_atomic_umax(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_umax_indices){0, __VA_ARGS__})
12090#endif
12091#define nir_image_deref_atomic_umax nir_build_image_deref_atomic_umax
12092#ifdef __cplusplus
12093#define nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \
12094_nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_umin_indices{0, __VA_ARGS__})
12095#else
12096#define nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, ...) \
12097_nir_build_image_deref_atomic_umin(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_umin_indices){0, __VA_ARGS__})
12098#endif
12099#define nir_image_deref_atomic_umin nir_build_image_deref_atomic_umin
12100#ifdef __cplusplus
12101#define nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \
12102_nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, _nir_image_deref_atomic_xor_indices{0, __VA_ARGS__})
12103#else
12104#define nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, ...) \
12105_nir_build_image_deref_atomic_xor(build, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_atomic_xor_indices){0, __VA_ARGS__})
12106#endif
12107#define nir_image_deref_atomic_xor nir_build_image_deref_atomic_xor
12108#ifdef __cplusplus
12109#define nir_build_image_deref_format(build, bit_size, src0, ...) \
12110_nir_build_image_deref_format(build, bit_size, src0, _nir_image_deref_format_indices{0, __VA_ARGS__})
12111#else
12112#define nir_build_image_deref_format(build, bit_size, src0, ...) \
12113_nir_build_image_deref_format(build, bit_size, src0, (struct _nir_image_deref_format_indices){0, __VA_ARGS__})
12114#endif
12115#define nir_image_deref_format nir_build_image_deref_format
12116#ifdef __cplusplus
12117#define nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12118_nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_deref_load_indices{0, __VA_ARGS__})
12119#else
12120#define nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12121_nir_build_image_deref_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_load_indices){0, __VA_ARGS__})
12122#endif
12123#define nir_image_deref_load nir_build_image_deref_load
12124#ifdef __cplusplus
12125#define nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, ...) \
12126_nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, _nir_image_deref_load_param_intel_indices{0, __VA_ARGS__})
12127#else
12128#define nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, ...) \
12129_nir_build_image_deref_load_param_intel(build, num_components, bit_size, src0, (struct _nir_image_deref_load_param_intel_indices){0, __VA_ARGS__})
12130#endif
12131#define nir_image_deref_load_param_intel nir_build_image_deref_load_param_intel
12132#ifdef __cplusplus
12133#define nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \
12134_nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, _nir_image_deref_load_raw_intel_indices{0, __VA_ARGS__})
12135#else
12136#define nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \
12137_nir_build_image_deref_load_raw_intel(build, num_components, bit_size, src0, src1, (struct _nir_image_deref_load_raw_intel_indices){0, __VA_ARGS__})
12138#endif
12139#define nir_image_deref_load_raw_intel nir_build_image_deref_load_raw_intel
12140#ifdef __cplusplus
12141#define nir_build_image_deref_order(build, bit_size, src0, ...) \
12142_nir_build_image_deref_order(build, bit_size, src0, _nir_image_deref_order_indices{0, __VA_ARGS__})
12143#else
12144#define nir_build_image_deref_order(build, bit_size, src0, ...) \
12145_nir_build_image_deref_order(build, bit_size, src0, (struct _nir_image_deref_order_indices){0, __VA_ARGS__})
12146#endif
12147#define nir_image_deref_order nir_build_image_deref_order
12148#ifdef __cplusplus
12149#define nir_build_image_deref_samples(build, bit_size, src0, ...) \
12150_nir_build_image_deref_samples(build, bit_size, src0, _nir_image_deref_samples_indices{0, __VA_ARGS__})
12151#else
12152#define nir_build_image_deref_samples(build, bit_size, src0, ...) \
12153_nir_build_image_deref_samples(build, bit_size, src0, (struct _nir_image_deref_samples_indices){0, __VA_ARGS__})
12154#endif
12155#define nir_image_deref_samples nir_build_image_deref_samples
12156#ifdef __cplusplus
12157#define nir_build_image_deref_size(build, num_components, bit_size, src0, src1, ...) \
12158_nir_build_image_deref_size(build, num_components, bit_size, src0, src1, _nir_image_deref_size_indices{0, __VA_ARGS__})
12159#else
12160#define nir_build_image_deref_size(build, num_components, bit_size, src0, src1, ...) \
12161_nir_build_image_deref_size(build, num_components, bit_size, src0, src1, (struct _nir_image_deref_size_indices){0, __VA_ARGS__})
12162#endif
12163#define nir_image_deref_size nir_build_image_deref_size
12164#ifdef __cplusplus
12165#define nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12166_nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_deref_sparse_load_indices{0, __VA_ARGS__})
12167#else
12168#define nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12169_nir_build_image_deref_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_deref_sparse_load_indices){0, __VA_ARGS__})
12170#endif
12171#define nir_image_deref_sparse_load nir_build_image_deref_sparse_load
12172#ifdef __cplusplus
12173#define nir_build_image_deref_store(build, src0, src1, src2, src3, src4, ...) \
12174_nir_build_image_deref_store(build, src0, src1, src2, src3, src4, _nir_image_deref_store_indices{0, __VA_ARGS__})
12175#else
12176#define nir_build_image_deref_store(build, src0, src1, src2, src3, src4, ...) \
12177_nir_build_image_deref_store(build, src0, src1, src2, src3, src4, (struct _nir_image_deref_store_indices){0, __VA_ARGS__})
12178#endif
12179#define nir_image_deref_store nir_build_image_deref_store
12180#ifdef __cplusplus
12181#define nir_build_image_deref_store_raw_intel(build, src0, src1, src2, ...) \
12182_nir_build_image_deref_store_raw_intel(build, src0, src1, src2, _nir_image_deref_store_raw_intel_indices{0, __VA_ARGS__})
12183#else
12184#define nir_build_image_deref_store_raw_intel(build, src0, src1, src2, ...) \
12185_nir_build_image_deref_store_raw_intel(build, src0, src1, src2, (struct _nir_image_deref_store_raw_intel_indices){0, __VA_ARGS__})
12186#endif
12187#define nir_image_deref_store_raw_intel nir_build_image_deref_store_raw_intel
12188#ifdef __cplusplus
12189#define nir_build_image_format(build, bit_size, src0, ...) \
12190_nir_build_image_format(build, bit_size, src0, _nir_image_format_indices{0, __VA_ARGS__})
12191#else
12192#define nir_build_image_format(build, bit_size, src0, ...) \
12193_nir_build_image_format(build, bit_size, src0, (struct _nir_image_format_indices){0, __VA_ARGS__})
12194#endif
12195#define nir_image_format nir_build_image_format
12196#ifdef __cplusplus
12197#define nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12198_nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_load_indices{0, __VA_ARGS__})
12199#else
12200#define nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12201_nir_build_image_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_load_indices){0, __VA_ARGS__})
12202#endif
12203#define nir_image_load nir_build_image_load
12204#ifdef __cplusplus
12205#define nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \
12206_nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, _nir_image_load_raw_intel_indices{0, __VA_ARGS__})
12207#else
12208#define nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, ...) \
12209_nir_build_image_load_raw_intel(build, num_components, bit_size, src0, src1, (struct _nir_image_load_raw_intel_indices){0, __VA_ARGS__})
12210#endif
12211#define nir_image_load_raw_intel nir_build_image_load_raw_intel
12212#ifdef __cplusplus
12213#define nir_build_image_order(build, bit_size, src0, ...) \
12214_nir_build_image_order(build, bit_size, src0, _nir_image_order_indices{0, __VA_ARGS__})
12215#else
12216#define nir_build_image_order(build, bit_size, src0, ...) \
12217_nir_build_image_order(build, bit_size, src0, (struct _nir_image_order_indices){0, __VA_ARGS__})
12218#endif
12219#define nir_image_order nir_build_image_order
12220#ifdef __cplusplus
12221#define nir_build_image_samples(build, bit_size, src0, ...) \
12222_nir_build_image_samples(build, bit_size, src0, _nir_image_samples_indices{0, __VA_ARGS__})
12223#else
12224#define nir_build_image_samples(build, bit_size, src0, ...) \
12225_nir_build_image_samples(build, bit_size, src0, (struct _nir_image_samples_indices){0, __VA_ARGS__})
12226#endif
12227#define nir_image_samples nir_build_image_samples
12228#ifdef __cplusplus
12229#define nir_build_image_size(build, num_components, bit_size, src0, src1, ...) \
12230_nir_build_image_size(build, num_components, bit_size, src0, src1, _nir_image_size_indices{0, __VA_ARGS__})
12231#else
12232#define nir_build_image_size(build, num_components, bit_size, src0, src1, ...) \
12233_nir_build_image_size(build, num_components, bit_size, src0, src1, (struct _nir_image_size_indices){0, __VA_ARGS__})
12234#endif
12235#define nir_image_size nir_build_image_size
12236#ifdef __cplusplus
12237#define nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12238_nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, _nir_image_sparse_load_indices{0, __VA_ARGS__})
12239#else
12240#define nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, ...) \
12241_nir_build_image_sparse_load(build, num_components, bit_size, src0, src1, src2, src3, (struct _nir_image_sparse_load_indices){0, __VA_ARGS__})
12242#endif
12243#define nir_image_sparse_load nir_build_image_sparse_load
12244#ifdef __cplusplus
12245#define nir_build_image_store(build, src0, src1, src2, src3, src4, ...) \
12246_nir_build_image_store(build, src0, src1, src2, src3, src4, _nir_image_store_indices{0, __VA_ARGS__})
12247#else
12248#define nir_build_image_store(build, src0, src1, src2, src3, src4, ...) \
12249_nir_build_image_store(build, src0, src1, src2, src3, src4, (struct _nir_image_store_indices){0, __VA_ARGS__})
12250#endif
12251#define nir_image_store nir_build_image_store
12252#ifdef __cplusplus
12253#define nir_build_image_store_raw_intel(build, src0, src1, src2, ...) \
12254_nir_build_image_store_raw_intel(build, src0, src1, src2, _nir_image_store_raw_intel_indices{0, __VA_ARGS__})
12255#else
12256#define nir_build_image_store_raw_intel(build, src0, src1, src2, ...) \
12257_nir_build_image_store_raw_intel(build, src0, src1, src2, (struct _nir_image_store_raw_intel_indices){0, __VA_ARGS__})
12258#endif
12259#define nir_image_store_raw_intel nir_build_image_store_raw_intel
12260#ifdef __cplusplus
12261#define nir_build_inclusive_scan(build, src0, ...) \
12262_nir_build_inclusive_scan(build, src0, _nir_inclusive_scan_indices{0, __VA_ARGS__})
12263#else
12264#define nir_build_inclusive_scan(build, src0, ...) \
12265_nir_build_inclusive_scan(build, src0, (struct _nir_inclusive_scan_indices){0, __VA_ARGS__})
12266#endif
12267#define nir_inclusive_scan nir_build_inclusive_scan
12268#define nir_build_interp_deref_at_centroid _nir_build_interp_deref_at_centroid
12269#define nir_interp_deref_at_centroid nir_build_interp_deref_at_centroid
12270#define nir_build_interp_deref_at_offset _nir_build_interp_deref_at_offset
12271#define nir_interp_deref_at_offset nir_build_interp_deref_at_offset
12272#define nir_build_interp_deref_at_sample _nir_build_interp_deref_at_sample
12273#define nir_interp_deref_at_sample nir_build_interp_deref_at_sample
12274#define nir_build_interp_deref_at_vertex _nir_build_interp_deref_at_vertex
12275#define nir_interp_deref_at_vertex nir_build_interp_deref_at_vertex
12276#define nir_build_is_helper_invocation _nir_build_is_helper_invocation
12277#define nir_is_helper_invocation nir_build_is_helper_invocation
12278#define nir_build_is_sparse_texels_resident _nir_build_is_sparse_texels_resident
12279#define nir_is_sparse_texels_resident nir_build_is_sparse_texels_resident
12280#define nir_build_lane_permute_16_amd _nir_build_lane_permute_16_amd
12281#define nir_lane_permute_16_amd nir_build_lane_permute_16_amd
12282#define nir_build_last_invocation _nir_build_last_invocation
12283#define nir_last_invocation nir_build_last_invocation
12284#define nir_build_load_aa_line_width _nir_build_load_aa_line_width
12285#define nir_load_aa_line_width nir_build_load_aa_line_width
12286#define nir_build_load_back_face_agx _nir_build_load_back_face_agx
12287#define nir_load_back_face_agx nir_build_load_back_face_agx
12288#ifdef __cplusplus
12289#define nir_build_load_barycentric_at_offset(build, bit_size, src0, ...) \
12290_nir_build_load_barycentric_at_offset(build, bit_size, src0, _nir_load_barycentric_at_offset_indices{0, __VA_ARGS__})
12291#else
12292#define nir_build_load_barycentric_at_offset(build, bit_size, src0, ...) \
12293_nir_build_load_barycentric_at_offset(build, bit_size, src0, (struct _nir_load_barycentric_at_offset_indices){0, __VA_ARGS__})
12294#endif
12295#define nir_load_barycentric_at_offset nir_build_load_barycentric_at_offset
12296#ifdef __cplusplus
12297#define nir_build_load_barycentric_at_sample(build, bit_size, src0, ...) \
12298_nir_build_load_barycentric_at_sample(build, bit_size, src0, _nir_load_barycentric_at_sample_indices{0, __VA_ARGS__})
12299#else
12300#define nir_build_load_barycentric_at_sample(build, bit_size, src0, ...) \
12301_nir_build_load_barycentric_at_sample(build, bit_size, src0, (struct _nir_load_barycentric_at_sample_indices){0, __VA_ARGS__})
12302#endif
12303#define nir_load_barycentric_at_sample nir_build_load_barycentric_at_sample
12304#ifdef __cplusplus
12305#define nir_build_load_barycentric_centroid(build, bit_size, ...) \
12306_nir_build_load_barycentric_centroid(build, bit_size, _nir_load_barycentric_centroid_indices{0, __VA_ARGS__})
12307#else
12308#define nir_build_load_barycentric_centroid(build, bit_size, ...) \
12309_nir_build_load_barycentric_centroid(build, bit_size, (struct _nir_load_barycentric_centroid_indices){0, __VA_ARGS__})
12310#endif
12311#define nir_load_barycentric_centroid nir_build_load_barycentric_centroid
12312#ifdef __cplusplus
12313#define nir_build_load_barycentric_model(build, bit_size, ...) \
12314_nir_build_load_barycentric_model(build, bit_size, _nir_load_barycentric_model_indices{0, __VA_ARGS__})
12315#else
12316#define nir_build_load_barycentric_model(build, bit_size, ...) \
12317_nir_build_load_barycentric_model(build, bit_size, (struct _nir_load_barycentric_model_indices){0, __VA_ARGS__})
12318#endif
12319#define nir_load_barycentric_model nir_build_load_barycentric_model
12320#ifdef __cplusplus
12321#define nir_build_load_barycentric_pixel(build, bit_size, ...) \
12322_nir_build_load_barycentric_pixel(build, bit_size, _nir_load_barycentric_pixel_indices{0, __VA_ARGS__})
12323#else
12324#define nir_build_load_barycentric_pixel(build, bit_size, ...) \
12325_nir_build_load_barycentric_pixel(build, bit_size, (struct _nir_load_barycentric_pixel_indices){0, __VA_ARGS__})
12326#endif
12327#define nir_load_barycentric_pixel nir_build_load_barycentric_pixel
12328#ifdef __cplusplus
12329#define nir_build_load_barycentric_sample(build, bit_size, ...) \
12330_nir_build_load_barycentric_sample(build, bit_size, _nir_load_barycentric_sample_indices{0, __VA_ARGS__})
12331#else
12332#define nir_build_load_barycentric_sample(build, bit_size, ...) \
12333_nir_build_load_barycentric_sample(build, bit_size, (struct _nir_load_barycentric_sample_indices){0, __VA_ARGS__})
12334#endif
12335#define nir_load_barycentric_sample nir_build_load_barycentric_sample
12336#define nir_build_load_base_global_invocation_id _nir_build_load_base_global_invocation_id
12337#define nir_load_base_global_invocation_id nir_build_load_base_global_invocation_id
12338#define nir_build_load_base_instance _nir_build_load_base_instance
12339#define nir_load_base_instance nir_build_load_base_instance
12340#define nir_build_load_base_vertex _nir_build_load_base_vertex
12341#define nir_load_base_vertex nir_build_load_base_vertex
12342#define nir_build_load_base_workgroup_id _nir_build_load_base_workgroup_id
12343#define nir_load_base_workgroup_id nir_build_load_base_workgroup_id
12344#define nir_build_load_blend_const_color_a_float _nir_build_load_blend_const_color_a_float
12345#define nir_load_blend_const_color_a_float nir_build_load_blend_const_color_a_float
12346#define nir_build_load_blend_const_color_aaaa8888_unorm _nir_build_load_blend_const_color_aaaa8888_unorm
12347#define nir_load_blend_const_color_aaaa8888_unorm nir_build_load_blend_const_color_aaaa8888_unorm
12348#define nir_build_load_blend_const_color_b_float _nir_build_load_blend_const_color_b_float
12349#define nir_load_blend_const_color_b_float nir_build_load_blend_const_color_b_float
12350#define nir_build_load_blend_const_color_g_float _nir_build_load_blend_const_color_g_float
12351#define nir_load_blend_const_color_g_float nir_build_load_blend_const_color_g_float
12352#define nir_build_load_blend_const_color_r_float _nir_build_load_blend_const_color_r_float
12353#define nir_load_blend_const_color_r_float nir_build_load_blend_const_color_r_float
12354#define nir_build_load_blend_const_color_rgba _nir_build_load_blend_const_color_rgba
12355#define nir_load_blend_const_color_rgba nir_build_load_blend_const_color_rgba
12356#define nir_build_load_blend_const_color_rgba8888_unorm _nir_build_load_blend_const_color_rgba8888_unorm
12357#define nir_load_blend_const_color_rgba8888_unorm nir_build_load_blend_const_color_rgba8888_unorm
12358#define nir_build_load_btd_dss_id_intel _nir_build_load_btd_dss_id_intel
12359#define nir_load_btd_dss_id_intel nir_build_load_btd_dss_id_intel
12360#define nir_build_load_btd_global_arg_addr_intel _nir_build_load_btd_global_arg_addr_intel
12361#define nir_load_btd_global_arg_addr_intel nir_build_load_btd_global_arg_addr_intel
12362#define nir_build_load_btd_local_arg_addr_intel _nir_build_load_btd_local_arg_addr_intel
12363#define nir_load_btd_local_arg_addr_intel nir_build_load_btd_local_arg_addr_intel
12364#define nir_build_load_btd_resume_sbt_addr_intel _nir_build_load_btd_resume_sbt_addr_intel
12365#define nir_load_btd_resume_sbt_addr_intel nir_build_load_btd_resume_sbt_addr_intel
12366#define nir_build_load_btd_stack_id_intel _nir_build_load_btd_stack_id_intel
12367#define nir_load_btd_stack_id_intel nir_build_load_btd_stack_id_intel
12368#ifdef __cplusplus
12369#define nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, ...) \
12370_nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, _nir_load_buffer_amd_indices{0, __VA_ARGS__})
12371#else
12372#define nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, ...) \
12373_nir_build_load_buffer_amd(build, num_components, bit_size, src0, src1, src2, (struct _nir_load_buffer_amd_indices){0, __VA_ARGS__})
12374#endif
12375#define nir_load_buffer_amd nir_build_load_buffer_amd
12376#define nir_build_load_callable_sbt_addr_intel _nir_build_load_callable_sbt_addr_intel
12377#define nir_load_callable_sbt_addr_intel nir_build_load_callable_sbt_addr_intel
12378#define nir_build_load_callable_sbt_stride_intel _nir_build_load_callable_sbt_stride_intel
12379#define nir_load_callable_sbt_stride_intel nir_build_load_callable_sbt_stride_intel
12380#define nir_build_load_color0 _nir_build_load_color0
12381#define nir_load_color0 nir_build_load_color0
12382#define nir_build_load_color1 _nir_build_load_color1
12383#define nir_load_color1 nir_build_load_color1
12384#ifdef __cplusplus
12385#define nir_build_load_constant(build, num_components, bit_size, src0, ...) \
12386_nir_build_load_constant(build, num_components, bit_size, src0, _nir_load_constant_indices{0, __VA_ARGS__})
12387#else
12388#define nir_build_load_constant(build, num_components, bit_size, src0, ...) \
12389_nir_build_load_constant(build, num_components, bit_size, src0, (struct _nir_load_constant_indices){0, __VA_ARGS__})
12390#endif
12391#define nir_load_constant nir_build_load_constant
12392#define nir_build_load_constant_base_ptr _nir_build_load_constant_base_ptr
12393#define nir_load_constant_base_ptr nir_build_load_constant_base_ptr
12394#define nir_build_load_cull_any_enabled_amd _nir_build_load_cull_any_enabled_amd
12395#define nir_load_cull_any_enabled_amd nir_build_load_cull_any_enabled_amd
12396#define nir_build_load_cull_back_face_enabled_amd _nir_build_load_cull_back_face_enabled_amd
12397#define nir_load_cull_back_face_enabled_amd nir_build_load_cull_back_face_enabled_amd
12398#define nir_build_load_cull_ccw_amd _nir_build_load_cull_ccw_amd
12399#define nir_load_cull_ccw_amd nir_build_load_cull_ccw_amd
12400#define nir_build_load_cull_front_face_enabled_amd _nir_build_load_cull_front_face_enabled_amd
12401#define nir_load_cull_front_face_enabled_amd nir_build_load_cull_front_face_enabled_amd
12402#define nir_build_load_cull_small_prim_precision_amd _nir_build_load_cull_small_prim_precision_amd
12403#define nir_load_cull_small_prim_precision_amd nir_build_load_cull_small_prim_precision_amd
12404#define nir_build_load_cull_small_primitives_enabled_amd _nir_build_load_cull_small_primitives_enabled_amd
12405#define nir_load_cull_small_primitives_enabled_amd nir_build_load_cull_small_primitives_enabled_amd
12406#ifdef __cplusplus
12407#define nir_build_load_deref(build, num_components, bit_size, src0, ...) \
12408_nir_build_load_deref(build, num_components, bit_size, src0, _nir_load_deref_indices{0, __VA_ARGS__})
12409#else
12410#define nir_build_load_deref(build, num_components, bit_size, src0, ...) \
12411_nir_build_load_deref(build, num_components, bit_size, src0, (struct _nir_load_deref_indices){0, __VA_ARGS__})
12412#endif
12413#define nir_load_deref nir_build_load_deref
12414#ifdef __cplusplus
12415#define nir_build_load_deref_block_intel(build, num_components, bit_size, src0, ...) \
12416_nir_build_load_deref_block_intel(build, num_components, bit_size, src0, _nir_load_deref_block_intel_indices{0, __VA_ARGS__})
12417#else
12418#define nir_build_load_deref_block_intel(build, num_components, bit_size, src0, ...) \
12419_nir_build_load_deref_block_intel(build, num_components, bit_size, src0, (struct _nir_load_deref_block_intel_indices){0, __VA_ARGS__})
12420#endif
12421#define nir_load_deref_block_intel nir_build_load_deref_block_intel
12422#define nir_build_load_desc_set_address_intel _nir_build_load_desc_set_address_intel
12423#define nir_load_desc_set_address_intel nir_build_load_desc_set_address_intel
12424#define nir_build_load_draw_id _nir_build_load_draw_id
12425#define nir_load_draw_id nir_build_load_draw_id
12426#define nir_build_load_fb_layers_v3d _nir_build_load_fb_layers_v3d
12427#define nir_load_fb_layers_v3d nir_build_load_fb_layers_v3d
12428#define nir_build_load_first_vertex _nir_build_load_first_vertex
12429#define nir_load_first_vertex nir_build_load_first_vertex
12430#define nir_build_load_frag_coord _nir_build_load_frag_coord
12431#define nir_load_frag_coord nir_build_load_frag_coord
12432#define nir_build_load_frag_shading_rate _nir_build_load_frag_shading_rate
12433#define nir_load_frag_shading_rate nir_build_load_frag_shading_rate
12434#define nir_build_load_front_face _nir_build_load_front_face
12435#define nir_load_front_face nir_build_load_front_face
12436#ifdef __cplusplus
12437#define nir_build_load_fs_input_interp_deltas(build, bit_size, src0, ...) \
12438_nir_build_load_fs_input_interp_deltas(build, bit_size, src0, _nir_load_fs_input_interp_deltas_indices{0, __VA_ARGS__})
12439#else
12440#define nir_build_load_fs_input_interp_deltas(build, bit_size, src0, ...) \
12441_nir_build_load_fs_input_interp_deltas(build, bit_size, src0, (struct _nir_load_fs_input_interp_deltas_indices){0, __VA_ARGS__})
12442#endif
12443#define nir_load_fs_input_interp_deltas nir_build_load_fs_input_interp_deltas
12444#ifdef __cplusplus
12445#define nir_build_load_global(build, num_components, bit_size, src0, ...) \
12446_nir_build_load_global(build, num_components, bit_size, src0, _nir_load_global_indices{0, __VA_ARGS__})
12447#else
12448#define nir_build_load_global(build, num_components, bit_size, src0, ...) \
12449_nir_build_load_global(build, num_components, bit_size, src0, (struct _nir_load_global_indices){0, __VA_ARGS__})
12450#endif
12451#define nir_load_global nir_build_load_global
12452#ifdef __cplusplus
12453#define nir_build_load_global_block_intel(build, num_components, bit_size, src0, ...) \
12454_nir_build_load_global_block_intel(build, num_components, bit_size, src0, _nir_load_global_block_intel_indices{0, __VA_ARGS__})
12455#else
12456#define nir_build_load_global_block_intel(build, num_components, bit_size, src0, ...) \
12457_nir_build_load_global_block_intel(build, num_components, bit_size, src0, (struct _nir_load_global_block_intel_indices){0, __VA_ARGS__})
12458#endif
12459#define nir_load_global_block_intel nir_build_load_global_block_intel
12460#ifdef __cplusplus
12461#define nir_build_load_global_const_block_intel(build, num_components, src0, src1, ...) \
12462_nir_build_load_global_const_block_intel(build, num_components, src0, src1, _nir_load_global_const_block_intel_indices{0, __VA_ARGS__})
12463#else
12464#define nir_build_load_global_const_block_intel(build, num_components, src0, src1, ...) \
12465_nir_build_load_global_const_block_intel(build, num_components, src0, src1, (struct _nir_load_global_const_block_intel_indices){0, __VA_ARGS__})
12466#endif
12467#define nir_load_global_const_block_intel nir_build_load_global_const_block_intel
12468#ifdef __cplusplus
12469#define nir_build_load_global_constant(build, num_components, bit_size, src0, ...) \
12470_nir_build_load_global_constant(build, num_components, bit_size, src0, _nir_load_global_constant_indices{0, __VA_ARGS__})
12471#else
12472#define nir_build_load_global_constant(build, num_components, bit_size, src0, ...) \
12473_nir_build_load_global_constant(build, num_components, bit_size, src0, (struct _nir_load_global_constant_indices){0, __VA_ARGS__})
12474#endif
12475#define nir_load_global_constant nir_build_load_global_constant
12476#ifdef __cplusplus
12477#define nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, ...) \
12478_nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, _nir_load_global_constant_bounded_indices{0, __VA_ARGS__})
12479#else
12480#define nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, ...) \
12481_nir_build_load_global_constant_bounded(build, num_components, bit_size, src0, src1, src2, (struct _nir_load_global_constant_bounded_indices){0, __VA_ARGS__})
12482#endif
12483#define nir_load_global_constant_bounded nir_build_load_global_constant_bounded
12484#ifdef __cplusplus
12485#define nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, ...) \
12486_nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, _nir_load_global_constant_offset_indices{0, __VA_ARGS__})
12487#else
12488#define nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, ...) \
12489_nir_build_load_global_constant_offset(build, num_components, bit_size, src0, src1, (struct _nir_load_global_constant_offset_indices){0, __VA_ARGS__})
12490#endif
12491#define nir_load_global_constant_offset nir_build_load_global_constant_offset
12492#define nir_build_load_global_invocation_id _nir_build_load_global_invocation_id
12493#define nir_load_global_invocation_id nir_build_load_global_invocation_id
12494#define nir_build_load_global_invocation_id_zero_base _nir_build_load_global_invocation_id_zero_base
12495#define nir_load_global_invocation_id_zero_base nir_build_load_global_invocation_id_zero_base
12496#define nir_build_load_global_invocation_index _nir_build_load_global_invocation_index
12497#define nir_load_global_invocation_index nir_build_load_global_invocation_index
12498#ifdef __cplusplus
12499#define nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, ...) \
12500_nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, _nir_load_global_ir3_indices{0, __VA_ARGS__})
12501#else
12502#define nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, ...) \
12503_nir_build_load_global_ir3(build, num_components, bit_size, src0, src1, (struct _nir_load_global_ir3_indices){0, __VA_ARGS__})
12504#endif
12505#define nir_load_global_ir3 nir_build_load_global_ir3
12506#define nir_build_load_gs_header_ir3 _nir_build_load_gs_header_ir3
12507#define nir_load_gs_header_ir3 nir_build_load_gs_header_ir3
12508#ifdef __cplusplus
12509#define nir_build_load_gs_vertex_offset_amd(build, ...) \
12510_nir_build_load_gs_vertex_offset_amd(build, _nir_load_gs_vertex_offset_amd_indices{0, __VA_ARGS__})
12511#else
12512#define nir_build_load_gs_vertex_offset_amd(build, ...) \
12513_nir_build_load_gs_vertex_offset_amd(build, (struct _nir_load_gs_vertex_offset_amd_indices){0, __VA_ARGS__})
12514#endif
12515#define nir_load_gs_vertex_offset_amd nir_build_load_gs_vertex_offset_amd
12516#define nir_build_load_helper_invocation _nir_build_load_helper_invocation
12517#define nir_load_helper_invocation nir_build_load_helper_invocation
12518#define nir_build_load_hs_patch_stride_ir3 _nir_build_load_hs_patch_stride_ir3
12519#define nir_load_hs_patch_stride_ir3 nir_build_load_hs_patch_stride_ir3
12520#define nir_build_load_initial_edgeflags_amd _nir_build_load_initial_edgeflags_amd
12521#define nir_load_initial_edgeflags_amd nir_build_load_initial_edgeflags_amd
12522#ifdef __cplusplus
12523#define nir_build_load_input(build, num_components, bit_size, src0, ...) \
12524_nir_build_load_input(build, num_components, bit_size, src0, _nir_load_input_indices{0, __VA_ARGS__})
12525#else
12526#define nir_build_load_input(build, num_components, bit_size, src0, ...) \
12527_nir_build_load_input(build, num_components, bit_size, src0, (struct _nir_load_input_indices){0, __VA_ARGS__})
12528#endif
12529#define nir_load_input nir_build_load_input
12530#ifdef __cplusplus
12531#define nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, ...) \
12532_nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, _nir_load_input_vertex_indices{0, __VA_ARGS__})
12533#else
12534#define nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, ...) \
12535_nir_build_load_input_vertex(build, num_components, bit_size, src0, src1, (struct _nir_load_input_vertex_indices){0, __VA_ARGS__})
12536#endif
12537#define nir_load_input_vertex nir_build_load_input_vertex
12538#define nir_build_load_instance_id _nir_build_load_instance_id
12539#define nir_load_instance_id nir_build_load_instance_id
12540#ifdef __cplusplus
12541#define nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, ...) \
12542_nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, _nir_load_interpolated_input_indices{0, __VA_ARGS__})
12543#else
12544#define nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, ...) \
12545_nir_build_load_interpolated_input(build, num_components, bit_size, src0, src1, (struct _nir_load_interpolated_input_indices){0, __VA_ARGS__})
12546#endif
12547#define nir_load_interpolated_input nir_build_load_interpolated_input
12548#define nir_build_load_intersection_opaque_amd _nir_build_load_intersection_opaque_amd
12549#define nir_load_intersection_opaque_amd nir_build_load_intersection_opaque_amd
12550#define nir_build_load_invocation_id _nir_build_load_invocation_id
12551#define nir_load_invocation_id nir_build_load_invocation_id
12552#define nir_build_load_is_indexed_draw _nir_build_load_is_indexed_draw
12553#define nir_load_is_indexed_draw nir_build_load_is_indexed_draw
12554#ifdef __cplusplus
12555#define nir_build_load_kernel_input(build, num_components, bit_size, src0, ...) \
12556_nir_build_load_kernel_input(build, num_components, bit_size, src0, _nir_load_kernel_input_indices{0, __VA_ARGS__})
12557#else
12558#define nir_build_load_kernel_input(build, num_components, bit_size, src0, ...) \
12559_nir_build_load_kernel_input(build, num_components, bit_size, src0, (struct _nir_load_kernel_input_indices){0, __VA_ARGS__})
12560#endif
12561#define nir_load_kernel_input nir_build_load_kernel_input
12562#define nir_build_load_layer_id _nir_build_load_layer_id
12563#define nir_load_layer_id nir_build_load_layer_id
12564#define nir_build_load_leaf_opaque_intel _nir_build_load_leaf_opaque_intel
12565#define nir_load_leaf_opaque_intel nir_build_load_leaf_opaque_intel
12566#define nir_build_load_leaf_procedural_intel _nir_build_load_leaf_procedural_intel
12567#define nir_load_leaf_procedural_intel nir_build_load_leaf_procedural_intel
12568#define nir_build_load_line_coord _nir_build_load_line_coord
12569#define nir_load_line_coord nir_build_load_line_coord
12570#define nir_build_load_line_width _nir_build_load_line_width
12571#define nir_load_line_width nir_build_load_line_width
12572#define nir_build_load_local_invocation_id _nir_build_load_local_invocation_id
12573#define nir_load_local_invocation_id nir_build_load_local_invocation_id
12574#define nir_build_load_local_invocation_index _nir_build_load_local_invocation_index
12575#define nir_load_local_invocation_index nir_build_load_local_invocation_index
12576#define nir_build_load_local_shared_r600 _nir_build_load_local_shared_r600
12577#define nir_load_local_shared_r600 nir_build_load_local_shared_r600
12578#define nir_build_load_num_subgroups _nir_build_load_num_subgroups
12579#define nir_load_num_subgroups nir_build_load_num_subgroups
12580#define nir_build_load_num_workgroups _nir_build_load_num_workgroups
12581#define nir_load_num_workgroups nir_build_load_num_workgroups
12582#ifdef __cplusplus
12583#define nir_build_load_output(build, num_components, bit_size, src0, ...) \
12584_nir_build_load_output(build, num_components, bit_size, src0, _nir_load_output_indices{0, __VA_ARGS__})
12585#else
12586#define nir_build_load_output(build, num_components, bit_size, src0, ...) \
12587_nir_build_load_output(build, num_components, bit_size, src0, (struct _nir_load_output_indices){0, __VA_ARGS__})
12588#endif
12589#define nir_load_output nir_build_load_output
12590#define nir_build_load_packed_passthrough_primitive_amd _nir_build_load_packed_passthrough_primitive_amd
12591#define nir_load_packed_passthrough_primitive_amd nir_build_load_packed_passthrough_primitive_amd
12592#ifdef __cplusplus
12593#define nir_build_load_param(build, num_components, bit_size, ...) \
12594_nir_build_load_param(build, num_components, bit_size, _nir_load_param_indices{0, __VA_ARGS__})
12595#else
12596#define nir_build_load_param(build, num_components, bit_size, ...) \
12597_nir_build_load_param(build, num_components, bit_size, (struct _nir_load_param_indices){0, __VA_ARGS__})
12598#endif
12599#define nir_load_param nir_build_load_param
12600#define nir_build_load_patch_vertices_in _nir_build_load_patch_vertices_in
12601#define nir_load_patch_vertices_in nir_build_load_patch_vertices_in
12602#ifdef __cplusplus
12603#define nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, ...) \
12604_nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, _nir_load_per_primitive_output_indices{0, __VA_ARGS__})
12605#else
12606#define nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, ...) \
12607_nir_build_load_per_primitive_output(build, num_components, bit_size, src0, src1, (struct _nir_load_per_primitive_output_indices){0, __VA_ARGS__})
12608#endif
12609#define nir_load_per_primitive_output nir_build_load_per_primitive_output
12610#ifdef __cplusplus
12611#define nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, ...) \
12612_nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, _nir_load_per_vertex_input_indices{0, __VA_ARGS__})
12613#else
12614#define nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, ...) \
12615_nir_build_load_per_vertex_input(build, num_components, bit_size, src0, src1, (struct _nir_load_per_vertex_input_indices){0, __VA_ARGS__})
12616#endif
12617#define nir_load_per_vertex_input nir_build_load_per_vertex_input
12618#ifdef __cplusplus
12619#define nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, ...) \
12620_nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, _nir_load_per_vertex_output_indices{0, __VA_ARGS__})
12621#else
12622#define nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, ...) \
12623_nir_build_load_per_vertex_output(build, num_components, bit_size, src0, src1, (struct _nir_load_per_vertex_output_indices){0, __VA_ARGS__})
12624#endif
12625#define nir_load_per_vertex_output nir_build_load_per_vertex_output
12626#define nir_build_load_point_coord _nir_build_load_point_coord
12627#define nir_load_point_coord nir_build_load_point_coord
12628#define nir_build_load_primitive_id _nir_build_load_primitive_id
12629#define nir_load_primitive_id nir_build_load_primitive_id
12630#ifdef __cplusplus
12631#define nir_build_load_primitive_location_ir3(build, ...) \
12632_nir_build_load_primitive_location_ir3(build, _nir_load_primitive_location_ir3_indices{0, __VA_ARGS__})
12633#else
12634#define nir_build_load_primitive_location_ir3(build, ...) \
12635_nir_build_load_primitive_location_ir3(build, (struct _nir_load_primitive_location_ir3_indices){0, __VA_ARGS__})
12636#endif
12637#define nir_load_primitive_location_ir3 nir_build_load_primitive_location_ir3
12638#define nir_build_load_printf_buffer_address _nir_build_load_printf_buffer_address
12639#define nir_load_printf_buffer_address nir_build_load_printf_buffer_address
12640#define nir_build_load_ptr_dxil _nir_build_load_ptr_dxil
12641#define nir_load_ptr_dxil nir_build_load_ptr_dxil
12642#ifdef __cplusplus
12643#define nir_build_load_push_constant(build, num_components, bit_size, src0, ...) \
12644_nir_build_load_push_constant(build, num_components, bit_size, src0, _nir_load_push_constant_indices{0, __VA_ARGS__})
12645#else
12646#define nir_build_load_push_constant(build, num_components, bit_size, src0, ...) \
12647_nir_build_load_push_constant(build, num_components, bit_size, src0, (struct _nir_load_push_constant_indices){0, __VA_ARGS__})
12648#endif
12649#define nir_load_push_constant nir_build_load_push_constant
12650#ifdef __cplusplus
12651#define nir_build_load_raw_output_pan(build, num_components, bit_size, src0, ...) \
12652_nir_build_load_raw_output_pan(build, num_components, bit_size, src0, _nir_load_raw_output_pan_indices{0, __VA_ARGS__})
12653#else
12654#define nir_build_load_raw_output_pan(build, num_components, bit_size, src0, ...) \
12655_nir_build_load_raw_output_pan(build, num_components, bit_size, src0, (struct _nir_load_raw_output_pan_indices){0, __VA_ARGS__})
12656#endif
12657#define nir_load_raw_output_pan nir_build_load_raw_output_pan
12658#define nir_build_load_ray_base_mem_addr_intel _nir_build_load_ray_base_mem_addr_intel
12659#define nir_load_ray_base_mem_addr_intel nir_build_load_ray_base_mem_addr_intel
12660#define nir_build_load_ray_flags _nir_build_load_ray_flags
12661#define nir_load_ray_flags nir_build_load_ray_flags
12662#define nir_build_load_ray_geometry_index _nir_build_load_ray_geometry_index
12663#define nir_load_ray_geometry_index nir_build_load_ray_geometry_index
12664#define nir_build_load_ray_hit_kind _nir_build_load_ray_hit_kind
12665#define nir_load_ray_hit_kind nir_build_load_ray_hit_kind
12666#define nir_build_load_ray_hit_sbt_addr_intel _nir_build_load_ray_hit_sbt_addr_intel
12667#define nir_load_ray_hit_sbt_addr_intel nir_build_load_ray_hit_sbt_addr_intel
12668#define nir_build_load_ray_hit_sbt_stride_intel _nir_build_load_ray_hit_sbt_stride_intel
12669#define nir_load_ray_hit_sbt_stride_intel nir_build_load_ray_hit_sbt_stride_intel
12670#define nir_build_load_ray_hw_stack_size_intel _nir_build_load_ray_hw_stack_size_intel
12671#define nir_load_ray_hw_stack_size_intel nir_build_load_ray_hw_stack_size_intel
12672#define nir_build_load_ray_instance_custom_index _nir_build_load_ray_instance_custom_index
12673#define nir_load_ray_instance_custom_index nir_build_load_ray_instance_custom_index
12674#define nir_build_load_ray_launch_id _nir_build_load_ray_launch_id
12675#define nir_load_ray_launch_id nir_build_load_ray_launch_id
12676#define nir_build_load_ray_launch_size _nir_build_load_ray_launch_size
12677#define nir_load_ray_launch_size nir_build_load_ray_launch_size
12678#define nir_build_load_ray_miss_sbt_addr_intel _nir_build_load_ray_miss_sbt_addr_intel
12679#define nir_load_ray_miss_sbt_addr_intel nir_build_load_ray_miss_sbt_addr_intel
12680#define nir_build_load_ray_miss_sbt_stride_intel _nir_build_load_ray_miss_sbt_stride_intel
12681#define nir_load_ray_miss_sbt_stride_intel nir_build_load_ray_miss_sbt_stride_intel
12682#define nir_build_load_ray_num_dss_rt_stacks_intel _nir_build_load_ray_num_dss_rt_stacks_intel
12683#define nir_load_ray_num_dss_rt_stacks_intel nir_build_load_ray_num_dss_rt_stacks_intel
12684#define nir_build_load_ray_object_direction _nir_build_load_ray_object_direction
12685#define nir_load_ray_object_direction nir_build_load_ray_object_direction
12686#define nir_build_load_ray_object_origin _nir_build_load_ray_object_origin
12687#define nir_load_ray_object_origin nir_build_load_ray_object_origin
12688#ifdef __cplusplus
12689#define nir_build_load_ray_object_to_world(build, ...) \
12690_nir_build_load_ray_object_to_world(build, _nir_load_ray_object_to_world_indices{0, __VA_ARGS__})
12691#else
12692#define nir_build_load_ray_object_to_world(build, ...) \
12693_nir_build_load_ray_object_to_world(build, (struct _nir_load_ray_object_to_world_indices){0, __VA_ARGS__})
12694#endif
12695#define nir_load_ray_object_to_world nir_build_load_ray_object_to_world
12696#define nir_build_load_ray_sw_stack_size_intel _nir_build_load_ray_sw_stack_size_intel
12697#define nir_load_ray_sw_stack_size_intel nir_build_load_ray_sw_stack_size_intel
12698#define nir_build_load_ray_t_max _nir_build_load_ray_t_max
12699#define nir_load_ray_t_max nir_build_load_ray_t_max
12700#define nir_build_load_ray_t_min _nir_build_load_ray_t_min
12701#define nir_load_ray_t_min nir_build_load_ray_t_min
12702#define nir_build_load_ray_world_direction _nir_build_load_ray_world_direction
12703#define nir_load_ray_world_direction nir_build_load_ray_world_direction
12704#define nir_build_load_ray_world_origin _nir_build_load_ray_world_origin
12705#define nir_load_ray_world_origin nir_build_load_ray_world_origin
12706#ifdef __cplusplus
12707#define nir_build_load_ray_world_to_object(build, ...) \
12708_nir_build_load_ray_world_to_object(build, _nir_load_ray_world_to_object_indices{0, __VA_ARGS__})
12709#else
12710#define nir_build_load_ray_world_to_object(build, ...) \
12711_nir_build_load_ray_world_to_object(build, (struct _nir_load_ray_world_to_object_indices){0, __VA_ARGS__})
12712#endif
12713#define nir_load_ray_world_to_object nir_build_load_ray_world_to_object
12714#define nir_build_load_rel_patch_id_ir3 _nir_build_load_rel_patch_id_ir3
12715#define nir_load_rel_patch_id_ir3 nir_build_load_rel_patch_id_ir3
12716#ifdef __cplusplus
12717#define nir_build_load_reloc_const_intel(build, ...) \
12718_nir_build_load_reloc_const_intel(build, _nir_load_reloc_const_intel_indices{0, __VA_ARGS__})
12719#else
12720#define nir_build_load_reloc_const_intel(build, ...) \
12721_nir_build_load_reloc_const_intel(build, (struct _nir_load_reloc_const_intel_indices){0, __VA_ARGS__})
12722#endif
12723#define nir_load_reloc_const_intel nir_build_load_reloc_const_intel
12724#define nir_build_load_ring_es2gs_offset_amd _nir_build_load_ring_es2gs_offset_amd
12725#define nir_load_ring_es2gs_offset_amd nir_build_load_ring_es2gs_offset_amd
12726#define nir_build_load_ring_esgs_amd _nir_build_load_ring_esgs_amd
12727#define nir_load_ring_esgs_amd nir_build_load_ring_esgs_amd
12728#define nir_build_load_ring_tess_factors_amd _nir_build_load_ring_tess_factors_amd
12729#define nir_load_ring_tess_factors_amd nir_build_load_ring_tess_factors_amd
12730#define nir_build_load_ring_tess_factors_offset_amd _nir_build_load_ring_tess_factors_offset_amd
12731#define nir_load_ring_tess_factors_offset_amd nir_build_load_ring_tess_factors_offset_amd
12732#define nir_build_load_ring_tess_offchip_amd _nir_build_load_ring_tess_offchip_amd
12733#define nir_load_ring_tess_offchip_amd nir_build_load_ring_tess_offchip_amd
12734#define nir_build_load_ring_tess_offchip_offset_amd _nir_build_load_ring_tess_offchip_offset_amd
12735#define nir_load_ring_tess_offchip_offset_amd nir_build_load_ring_tess_offchip_offset_amd
12736#define nir_build_load_rt_arg_scratch_offset_amd _nir_build_load_rt_arg_scratch_offset_amd
12737#define nir_load_rt_arg_scratch_offset_amd nir_build_load_rt_arg_scratch_offset_amd
12738#define nir_build_load_sample_id _nir_build_load_sample_id
12739#define nir_load_sample_id nir_build_load_sample_id
12740#define nir_build_load_sample_id_no_per_sample _nir_build_load_sample_id_no_per_sample
12741#define nir_load_sample_id_no_per_sample nir_build_load_sample_id_no_per_sample
12742#define nir_build_load_sample_mask_in _nir_build_load_sample_mask_in
12743#define nir_load_sample_mask_in nir_build_load_sample_mask_in
12744#define nir_build_load_sample_pos _nir_build_load_sample_pos
12745#define nir_load_sample_pos nir_build_load_sample_pos
12746#define nir_build_load_sample_pos_from_id _nir_build_load_sample_pos_from_id
12747#define nir_load_sample_pos_from_id nir_build_load_sample_pos_from_id
12748#define nir_build_load_sample_positions_pan _nir_build_load_sample_positions_pan
12749#define nir_load_sample_positions_pan nir_build_load_sample_positions_pan
12750#define nir_build_load_sampler_lod_parameters_pan _nir_build_load_sampler_lod_parameters_pan
12751#define nir_load_sampler_lod_parameters_pan nir_build_load_sampler_lod_parameters_pan
12752#ifdef __cplusplus
12753#define nir_build_load_sbt_amd(build, ...) \
12754_nir_build_load_sbt_amd(build, _nir_load_sbt_amd_indices{0, __VA_ARGS__})
12755#else
12756#define nir_build_load_sbt_amd(build, ...) \
12757_nir_build_load_sbt_amd(build, (struct _nir_load_sbt_amd_indices){0, __VA_ARGS__})
12758#endif
12759#define nir_load_sbt_amd nir_build_load_sbt_amd
12760#ifdef __cplusplus
12761#define nir_build_load_scratch(build, num_components, bit_size, src0, ...) \
12762_nir_build_load_scratch(build, num_components, bit_size, src0, _nir_load_scratch_indices{0, __VA_ARGS__})
12763#else
12764#define nir_build_load_scratch(build, num_components, bit_size, src0, ...) \
12765_nir_build_load_scratch(build, num_components, bit_size, src0, (struct _nir_load_scratch_indices){0, __VA_ARGS__})
12766#endif
12767#define nir_load_scratch nir_build_load_scratch
12768#ifdef __cplusplus
12769#define nir_build_load_scratch_base_ptr(build, num_components, bit_size, ...) \
12770_nir_build_load_scratch_base_ptr(build, num_components, bit_size, _nir_load_scratch_base_ptr_indices{0, __VA_ARGS__})
12771#else
12772#define nir_build_load_scratch_base_ptr(build, num_components, bit_size, ...) \
12773_nir_build_load_scratch_base_ptr(build, num_components, bit_size, (struct _nir_load_scratch_base_ptr_indices){0, __VA_ARGS__})
12774#endif
12775#define nir_load_scratch_base_ptr nir_build_load_scratch_base_ptr
12776#define nir_build_load_scratch_dxil _nir_build_load_scratch_dxil
12777#define nir_load_scratch_dxil nir_build_load_scratch_dxil
12778#define nir_build_load_shader_query_enabled_amd _nir_build_load_shader_query_enabled_amd
12779#define nir_load_shader_query_enabled_amd nir_build_load_shader_query_enabled_amd
12780#define nir_build_load_shader_record_ptr _nir_build_load_shader_record_ptr
12781#define nir_load_shader_record_ptr nir_build_load_shader_record_ptr
12782#ifdef __cplusplus
12783#define nir_build_load_shared(build, num_components, bit_size, src0, ...) \
12784_nir_build_load_shared(build, num_components, bit_size, src0, _nir_load_shared_indices{0, __VA_ARGS__})
12785#else
12786#define nir_build_load_shared(build, num_components, bit_size, src0, ...) \
12787_nir_build_load_shared(build, num_components, bit_size, src0, (struct _nir_load_shared_indices){0, __VA_ARGS__})
12788#endif
12789#define nir_load_shared nir_build_load_shared
12790#define nir_build_load_shared_base_ptr _nir_build_load_shared_base_ptr
12791#define nir_load_shared_base_ptr nir_build_load_shared_base_ptr
12792#ifdef __cplusplus
12793#define nir_build_load_shared_block_intel(build, num_components, bit_size, src0, ...) \
12794_nir_build_load_shared_block_intel(build, num_components, bit_size, src0, _nir_load_shared_block_intel_indices{0, __VA_ARGS__})
12795#else
12796#define nir_build_load_shared_block_intel(build, num_components, bit_size, src0, ...) \
12797_nir_build_load_shared_block_intel(build, num_components, bit_size, src0, (struct _nir_load_shared_block_intel_indices){0, __VA_ARGS__})
12798#endif
12799#define nir_load_shared_block_intel nir_build_load_shared_block_intel
12800#define nir_build_load_shared_dxil _nir_build_load_shared_dxil
12801#define nir_load_shared_dxil nir_build_load_shared_dxil
12802#ifdef __cplusplus
12803#define nir_build_load_shared_ir3(build, num_components, bit_size, src0, ...) \
12804_nir_build_load_shared_ir3(build, num_components, bit_size, src0, _nir_load_shared_ir3_indices{0, __VA_ARGS__})
12805#else
12806#define nir_build_load_shared_ir3(build, num_components, bit_size, src0, ...) \
12807_nir_build_load_shared_ir3(build, num_components, bit_size, src0, (struct _nir_load_shared_ir3_indices){0, __VA_ARGS__})
12808#endif
12809#define nir_load_shared_ir3 nir_build_load_shared_ir3
12810#define nir_build_load_simd_width_intel _nir_build_load_simd_width_intel
12811#define nir_load_simd_width_intel nir_build_load_simd_width_intel
12812#define nir_build_load_size_ir3 _nir_build_load_size_ir3
12813#define nir_load_size_ir3 nir_build_load_size_ir3
12814#ifdef __cplusplus
12815#define nir_build_load_ssbo(build, num_components, bit_size, src0, src1, ...) \
12816_nir_build_load_ssbo(build, num_components, bit_size, src0, src1, _nir_load_ssbo_indices{0, __VA_ARGS__})
12817#else
12818#define nir_build_load_ssbo(build, num_components, bit_size, src0, src1, ...) \
12819_nir_build_load_ssbo(build, num_components, bit_size, src0, src1, (struct _nir_load_ssbo_indices){0, __VA_ARGS__})
12820#endif
12821#define nir_load_ssbo nir_build_load_ssbo
12822#define nir_build_load_ssbo_address _nir_build_load_ssbo_address
12823#define nir_load_ssbo_address nir_build_load_ssbo_address
12824#ifdef __cplusplus
12825#define nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, ...) \
12826_nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, _nir_load_ssbo_block_intel_indices{0, __VA_ARGS__})
12827#else
12828#define nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, ...) \
12829_nir_build_load_ssbo_block_intel(build, num_components, bit_size, src0, src1, (struct _nir_load_ssbo_block_intel_indices){0, __VA_ARGS__})
12830#endif
12831#define nir_load_ssbo_block_intel nir_build_load_ssbo_block_intel
12832#ifdef __cplusplus
12833#define nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, ...) \
12834_nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, _nir_load_ssbo_ir3_indices{0, __VA_ARGS__})
12835#else
12836#define nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, ...) \
12837_nir_build_load_ssbo_ir3(build, num_components, bit_size, src0, src1, src2, (struct _nir_load_ssbo_ir3_indices){0, __VA_ARGS__})
12838#endif
12839#define nir_load_ssbo_ir3 nir_build_load_ssbo_ir3
12840#define nir_build_load_subgroup_eq_mask _nir_build_load_subgroup_eq_mask
12841#define nir_load_subgroup_eq_mask nir_build_load_subgroup_eq_mask
12842#define nir_build_load_subgroup_ge_mask _nir_build_load_subgroup_ge_mask
12843#define nir_load_subgroup_ge_mask nir_build_load_subgroup_ge_mask
12844#define nir_build_load_subgroup_gt_mask _nir_build_load_subgroup_gt_mask
12845#define nir_load_subgroup_gt_mask nir_build_load_subgroup_gt_mask
12846#define nir_build_load_subgroup_id _nir_build_load_subgroup_id
12847#define nir_load_subgroup_id nir_build_load_subgroup_id
12848#define nir_build_load_subgroup_id_shift_ir3 _nir_build_load_subgroup_id_shift_ir3
12849#define nir_load_subgroup_id_shift_ir3 nir_build_load_subgroup_id_shift_ir3
12850#define nir_build_load_subgroup_invocation _nir_build_load_subgroup_invocation
12851#define nir_load_subgroup_invocation nir_build_load_subgroup_invocation
12852#define nir_build_load_subgroup_le_mask _nir_build_load_subgroup_le_mask
12853#define nir_load_subgroup_le_mask nir_build_load_subgroup_le_mask
12854#define nir_build_load_subgroup_lt_mask _nir_build_load_subgroup_lt_mask
12855#define nir_load_subgroup_lt_mask nir_build_load_subgroup_lt_mask
12856#define nir_build_load_subgroup_size _nir_build_load_subgroup_size
12857#define nir_load_subgroup_size nir_build_load_subgroup_size
12858#define nir_build_load_tcs_header_ir3 _nir_build_load_tcs_header_ir3
12859#define nir_load_tcs_header_ir3 nir_build_load_tcs_header_ir3
12860#define nir_build_load_tcs_in_param_base_r600 _nir_build_load_tcs_in_param_base_r600
12861#define nir_load_tcs_in_param_base_r600 nir_build_load_tcs_in_param_base_r600
12862#define nir_build_load_tcs_num_patches_amd _nir_build_load_tcs_num_patches_amd
12863#define nir_load_tcs_num_patches_amd nir_build_load_tcs_num_patches_amd
12864#define nir_build_load_tcs_out_param_base_r600 _nir_build_load_tcs_out_param_base_r600
12865#define nir_load_tcs_out_param_base_r600 nir_build_load_tcs_out_param_base_r600
12866#define nir_build_load_tcs_rel_patch_id_r600 _nir_build_load_tcs_rel_patch_id_r600
12867#define nir_load_tcs_rel_patch_id_r600 nir_build_load_tcs_rel_patch_id_r600
12868#define nir_build_load_tcs_tess_factor_base_r600 _nir_build_load_tcs_tess_factor_base_r600
12869#define nir_load_tcs_tess_factor_base_r600 nir_build_load_tcs_tess_factor_base_r600
12870#define nir_build_load_tess_coord _nir_build_load_tess_coord
12871#define nir_load_tess_coord nir_build_load_tess_coord
12872#define nir_build_load_tess_coord_r600 _nir_build_load_tess_coord_r600
12873#define nir_load_tess_coord_r600 nir_build_load_tess_coord_r600
12874#define nir_build_load_tess_factor_base_ir3 _nir_build_load_tess_factor_base_ir3
12875#define nir_load_tess_factor_base_ir3 nir_build_load_tess_factor_base_ir3
12876#define nir_build_load_tess_level_inner _nir_build_load_tess_level_inner
12877#define nir_load_tess_level_inner nir_build_load_tess_level_inner
12878#define nir_build_load_tess_level_inner_default _nir_build_load_tess_level_inner_default
12879#define nir_load_tess_level_inner_default nir_build_load_tess_level_inner_default
12880#define nir_build_load_tess_level_outer _nir_build_load_tess_level_outer
12881#define nir_load_tess_level_outer nir_build_load_tess_level_outer
12882#define nir_build_load_tess_level_outer_default _nir_build_load_tess_level_outer_default
12883#define nir_load_tess_level_outer_default nir_build_load_tess_level_outer_default
12884#define nir_build_load_tess_param_base_ir3 _nir_build_load_tess_param_base_ir3
12885#define nir_load_tess_param_base_ir3 nir_build_load_tess_param_base_ir3
12886#define nir_build_load_tess_rel_patch_id_amd _nir_build_load_tess_rel_patch_id_amd
12887#define nir_load_tess_rel_patch_id_amd nir_build_load_tess_rel_patch_id_amd
12888#define nir_build_load_texture_rect_scaling _nir_build_load_texture_rect_scaling
12889#define nir_load_texture_rect_scaling nir_build_load_texture_rect_scaling
12890#ifdef __cplusplus
12891#define nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, ...) \
12892_nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, _nir_load_tlb_color_v3d_indices{0, __VA_ARGS__})
12893#else
12894#define nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, ...) \
12895_nir_build_load_tlb_color_v3d(build, num_components, bit_size, src0, (struct _nir_load_tlb_color_v3d_indices){0, __VA_ARGS__})
12896#endif
12897#define nir_load_tlb_color_v3d nir_build_load_tlb_color_v3d
12898#ifdef __cplusplus
12899#define nir_build_load_ubo(build, num_components, bit_size, src0, src1, ...) \
12900_nir_build_load_ubo(build, num_components, bit_size, src0, src1, _nir_load_ubo_indices{0, __VA_ARGS__})
12901#else
12902#define nir_build_load_ubo(build, num_components, bit_size, src0, src1, ...) \
12903_nir_build_load_ubo(build, num_components, bit_size, src0, src1, (struct _nir_load_ubo_indices){0, __VA_ARGS__})
12904#endif
12905#define nir_load_ubo nir_build_load_ubo
12906#define nir_build_load_ubo_dxil _nir_build_load_ubo_dxil
12907#define nir_load_ubo_dxil nir_build_load_ubo_dxil
12908#ifdef __cplusplus
12909#define nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, ...) \
12910_nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, _nir_load_ubo_vec4_indices{0, __VA_ARGS__})
12911#else
12912#define nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, ...) \
12913_nir_build_load_ubo_vec4(build, num_components, bit_size, src0, src1, (struct _nir_load_ubo_vec4_indices){0, __VA_ARGS__})
12914#endif
12915#define nir_load_ubo_vec4 nir_build_load_ubo_vec4
12916#ifdef __cplusplus
12917#define nir_build_load_uniform(build, num_components, bit_size, src0, ...) \
12918_nir_build_load_uniform(build, num_components, bit_size, src0, _nir_load_uniform_indices{0, __VA_ARGS__})
12919#else
12920#define nir_build_load_uniform(build, num_components, bit_size, src0, ...) \
12921_nir_build_load_uniform(build, num_components, bit_size, src0, (struct _nir_load_uniform_indices){0, __VA_ARGS__})
12922#endif
12923#define nir_load_uniform nir_build_load_uniform
12924#ifdef __cplusplus
12925#define nir_build_load_user_clip_plane(build, ...) \
12926_nir_build_load_user_clip_plane(build, _nir_load_user_clip_plane_indices{0, __VA_ARGS__})
12927#else
12928#define nir_build_load_user_clip_plane(build, ...) \
12929_nir_build_load_user_clip_plane(build, (struct _nir_load_user_clip_plane_indices){0, __VA_ARGS__})
12930#endif
12931#define nir_load_user_clip_plane nir_build_load_user_clip_plane
12932#define nir_build_load_user_data_amd _nir_build_load_user_data_amd
12933#define nir_load_user_data_amd nir_build_load_user_data_amd
12934#define nir_build_load_vertex_id _nir_build_load_vertex_id
12935#define nir_load_vertex_id nir_build_load_vertex_id
12936#define nir_build_load_vertex_id_zero_base _nir_build_load_vertex_id_zero_base
12937#define nir_load_vertex_id_zero_base nir_build_load_vertex_id_zero_base
12938#define nir_build_load_view_index _nir_build_load_view_index
12939#define nir_load_view_index nir_build_load_view_index
12940#define nir_build_load_viewport_offset _nir_build_load_viewport_offset
12941#define nir_load_viewport_offset nir_build_load_viewport_offset
12942#define nir_build_load_viewport_scale _nir_build_load_viewport_scale
12943#define nir_load_viewport_scale nir_build_load_viewport_scale
12944#define nir_build_load_viewport_x_offset _nir_build_load_viewport_x_offset
12945#define nir_load_viewport_x_offset nir_build_load_viewport_x_offset
12946#define nir_build_load_viewport_x_scale _nir_build_load_viewport_x_scale
12947#define nir_load_viewport_x_scale nir_build_load_viewport_x_scale
12948#define nir_build_load_viewport_y_offset _nir_build_load_viewport_y_offset
12949#define nir_load_viewport_y_offset nir_build_load_viewport_y_offset
12950#define nir_build_load_viewport_y_scale _nir_build_load_viewport_y_scale
12951#define nir_load_viewport_y_scale nir_build_load_viewport_y_scale
12952#define nir_build_load_viewport_z_offset _nir_build_load_viewport_z_offset
12953#define nir_load_viewport_z_offset nir_build_load_viewport_z_offset
12954#define nir_build_load_viewport_z_scale _nir_build_load_viewport_z_scale
12955#define nir_load_viewport_z_scale nir_build_load_viewport_z_scale
12956#define nir_build_load_vs_primitive_stride_ir3 _nir_build_load_vs_primitive_stride_ir3
12957#define nir_load_vs_primitive_stride_ir3 nir_build_load_vs_primitive_stride_ir3
12958#define nir_build_load_vs_vertex_stride_ir3 _nir_build_load_vs_vertex_stride_ir3
12959#define nir_load_vs_vertex_stride_ir3 nir_build_load_vs_vertex_stride_ir3
12960#ifdef __cplusplus
12961#define nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, ...) \
12962_nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, _nir_load_vulkan_descriptor_indices{0, __VA_ARGS__})
12963#else
12964#define nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, ...) \
12965_nir_build_load_vulkan_descriptor(build, num_components, bit_size, src0, (struct _nir_load_vulkan_descriptor_indices){0, __VA_ARGS__})
12966#endif
12967#define nir_load_vulkan_descriptor nir_build_load_vulkan_descriptor
12968#define nir_build_load_work_dim _nir_build_load_work_dim
12969#define nir_load_work_dim nir_build_load_work_dim
12970#define nir_build_load_workgroup_id _nir_build_load_workgroup_id
12971#define nir_load_workgroup_id nir_build_load_workgroup_id
12972#define nir_build_load_workgroup_id_zero_base _nir_build_load_workgroup_id_zero_base
12973#define nir_load_workgroup_id_zero_base nir_build_load_workgroup_id_zero_base
12974#define nir_build_load_workgroup_num_input_primitives_amd _nir_build_load_workgroup_num_input_primitives_amd
12975#define nir_load_workgroup_num_input_primitives_amd nir_build_load_workgroup_num_input_primitives_amd
12976#define nir_build_load_workgroup_num_input_vertices_amd _nir_build_load_workgroup_num_input_vertices_amd
12977#define nir_load_workgroup_num_input_vertices_amd nir_build_load_workgroup_num_input_vertices_amd
12978#define nir_build_load_workgroup_size _nir_build_load_workgroup_size
12979#define nir_load_workgroup_size nir_build_load_workgroup_size
12980#ifdef __cplusplus
12981#define nir_build_masked_swizzle_amd(build, src0, ...) \
12982_nir_build_masked_swizzle_amd(build, src0, _nir_masked_swizzle_amd_indices{0, __VA_ARGS__})
12983#else
12984#define nir_build_masked_swizzle_amd(build, src0, ...) \
12985_nir_build_masked_swizzle_amd(build, src0, (struct _nir_masked_swizzle_amd_indices){0, __VA_ARGS__})
12986#endif
12987#define nir_masked_swizzle_amd nir_build_masked_swizzle_amd
12988#define nir_build_mbcnt_amd _nir_build_mbcnt_amd
12989#define nir_mbcnt_amd nir_build_mbcnt_amd
12990#ifdef __cplusplus
12991#define nir_build_memcpy_deref(build, src0, src1, src2, ...) \
12992_nir_build_memcpy_deref(build, src0, src1, src2, _nir_memcpy_deref_indices{0, __VA_ARGS__})
12993#else
12994#define nir_build_memcpy_deref(build, src0, src1, src2, ...) \
12995_nir_build_memcpy_deref(build, src0, src1, src2, (struct _nir_memcpy_deref_indices){0, __VA_ARGS__})
12996#endif
12997#define nir_memcpy_deref nir_build_memcpy_deref
12998#define nir_build_memory_barrier _nir_build_memory_barrier
12999#define nir_memory_barrier nir_build_memory_barrier
13000#define nir_build_memory_barrier_atomic_counter _nir_build_memory_barrier_atomic_counter
13001#define nir_memory_barrier_atomic_counter nir_build_memory_barrier_atomic_counter
13002#define nir_build_memory_barrier_buffer _nir_build_memory_barrier_buffer
13003#define nir_memory_barrier_buffer nir_build_memory_barrier_buffer
13004#define nir_build_memory_barrier_image _nir_build_memory_barrier_image
13005#define nir_memory_barrier_image nir_build_memory_barrier_image
13006#define nir_build_memory_barrier_shared _nir_build_memory_barrier_shared
13007#define nir_memory_barrier_shared nir_build_memory_barrier_shared
13008#define nir_build_memory_barrier_tcs_patch _nir_build_memory_barrier_tcs_patch
13009#define nir_memory_barrier_tcs_patch nir_build_memory_barrier_tcs_patch
13010#define nir_build_nop _nir_build_nop
13011#define nir_nop nir_build_nop
13012#define nir_build_overwrite_tes_arguments_amd _nir_build_overwrite_tes_arguments_amd
13013#define nir_overwrite_tes_arguments_amd nir_build_overwrite_tes_arguments_amd
13014#define nir_build_overwrite_vs_arguments_amd _nir_build_overwrite_vs_arguments_amd
13015#define nir_overwrite_vs_arguments_amd nir_build_overwrite_vs_arguments_amd
13016#define nir_build_printf _nir_build_printf
13017#define nir_printf nir_build_printf
13018#define nir_build_quad_broadcast _nir_build_quad_broadcast
13019#define nir_quad_broadcast nir_build_quad_broadcast
13020#define nir_build_quad_swap_diagonal _nir_build_quad_swap_diagonal
13021#define nir_quad_swap_diagonal nir_build_quad_swap_diagonal
13022#define nir_build_quad_swap_horizontal _nir_build_quad_swap_horizontal
13023#define nir_quad_swap_horizontal nir_build_quad_swap_horizontal
13024#define nir_build_quad_swap_vertical _nir_build_quad_swap_vertical
13025#define nir_quad_swap_vertical nir_build_quad_swap_vertical
13026#ifdef __cplusplus
13027#define nir_build_quad_swizzle_amd(build, src0, ...) \
13028_nir_build_quad_swizzle_amd(build, src0, _nir_quad_swizzle_amd_indices{0, __VA_ARGS__})
13029#else
13030#define nir_build_quad_swizzle_amd(build, src0, ...) \
13031_nir_build_quad_swizzle_amd(build, src0, (struct _nir_quad_swizzle_amd_indices){0, __VA_ARGS__})
13032#endif
13033#define nir_quad_swizzle_amd nir_build_quad_swizzle_amd
13034#define nir_build_read_first_invocation _nir_build_read_first_invocation
13035#define nir_read_first_invocation nir_build_read_first_invocation
13036#define nir_build_read_invocation _nir_build_read_invocation
13037#define nir_read_invocation nir_build_read_invocation
13038#define nir_build_read_invocation_cond_ir3 _nir_build_read_invocation_cond_ir3
13039#define nir_read_invocation_cond_ir3 nir_build_read_invocation_cond_ir3
13040#ifdef __cplusplus
13041#define nir_build_reduce(build, src0, ...) \
13042_nir_build_reduce(build, src0, _nir_reduce_indices{0, __VA_ARGS__})
13043#else
13044#define nir_build_reduce(build, src0, ...) \
13045_nir_build_reduce(build, src0, (struct _nir_reduce_indices){0, __VA_ARGS__})
13046#endif
13047#define nir_reduce nir_build_reduce
13048#define nir_build_report_ray_intersection _nir_build_report_ray_intersection
13049#define nir_report_ray_intersection nir_build_report_ray_intersection
13050#ifdef __cplusplus
13051#define nir_build_rt_execute_callable(build, src0, src1, ...) \
13052_nir_build_rt_execute_callable(build, src0, src1, _nir_rt_execute_callable_indices{0, __VA_ARGS__})
13053#else
13054#define nir_build_rt_execute_callable(build, src0, src1, ...) \
13055_nir_build_rt_execute_callable(build, src0, src1, (struct _nir_rt_execute_callable_indices){0, __VA_ARGS__})
13056#endif
13057#define nir_rt_execute_callable nir_build_rt_execute_callable
13058#ifdef __cplusplus
13059#define nir_build_rt_resume(build, ...) \
13060_nir_build_rt_resume(build, _nir_rt_resume_indices{0, __VA_ARGS__})
13061#else
13062#define nir_build_rt_resume(build, ...) \
13063_nir_build_rt_resume(build, (struct _nir_rt_resume_indices){0, __VA_ARGS__})
13064#endif
13065#define nir_rt_resume nir_build_rt_resume
13066#define nir_build_rt_return_amd _nir_build_rt_return_amd
13067#define nir_rt_return_amd nir_build_rt_return_amd
13068#ifdef __cplusplus
13069#define nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, ...) \
13070_nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, _nir_rt_trace_ray_indices{0, __VA_ARGS__})
13071#else
13072#define nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, ...) \
13073_nir_build_rt_trace_ray(build, src0, src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, (struct _nir_rt_trace_ray_indices){0, __VA_ARGS__})
13074#endif
13075#define nir_rt_trace_ray nir_build_rt_trace_ray
13076#ifdef __cplusplus
13077#define nir_build_scoped_barrier(build, ...) \
13078_nir_build_scoped_barrier(build, _nir_scoped_barrier_indices{0, __VA_ARGS__})
13079#else
13080#define nir_build_scoped_barrier(build, ...) \
13081_nir_build_scoped_barrier(build, (struct _nir_scoped_barrier_indices){0, __VA_ARGS__})
13082#endif
13083#define nir_scoped_barrier nir_build_scoped_barrier
13084#ifdef __cplusplus
13085#define nir_build_set_vertex_and_primitive_count(build, src0, src1, ...) \
13086_nir_build_set_vertex_and_primitive_count(build, src0, src1, _nir_set_vertex_and_primitive_count_indices{0, __VA_ARGS__})
13087#else
13088#define nir_build_set_vertex_and_primitive_count(build, src0, src1, ...) \
13089_nir_build_set_vertex_and_primitive_count(build, src0, src1, (struct _nir_set_vertex_and_primitive_count_indices){0, __VA_ARGS__})
13090#endif
13091#define nir_set_vertex_and_primitive_count nir_build_set_vertex_and_primitive_count
13092#ifdef __cplusplus
13093#define nir_build_shader_clock(build, ...) \
13094_nir_build_shader_clock(build, _nir_shader_clock_indices{0, __VA_ARGS__})
13095#else
13096#define nir_build_shader_clock(build, ...) \
13097_nir_build_shader_clock(build, (struct _nir_shader_clock_indices){0, __VA_ARGS__})
13098#endif
13099#define nir_shader_clock nir_build_shader_clock
13100#ifdef __cplusplus
13101#define nir_build_shared_atomic_add(build, bit_size, src0, src1, ...) \
13102_nir_build_shared_atomic_add(build, bit_size, src0, src1, _nir_shared_atomic_add_indices{0, __VA_ARGS__})
13103#else
13104#define nir_build_shared_atomic_add(build, bit_size, src0, src1, ...) \
13105_nir_build_shared_atomic_add(build, bit_size, src0, src1, (struct _nir_shared_atomic_add_indices){0, __VA_ARGS__})
13106#endif
13107#define nir_shared_atomic_add nir_build_shared_atomic_add
13108#define nir_build_shared_atomic_add_dxil _nir_build_shared_atomic_add_dxil
13109#define nir_shared_atomic_add_dxil nir_build_shared_atomic_add_dxil
13110#ifdef __cplusplus
13111#define nir_build_shared_atomic_and(build, bit_size, src0, src1, ...) \
13112_nir_build_shared_atomic_and(build, bit_size, src0, src1, _nir_shared_atomic_and_indices{0, __VA_ARGS__})
13113#else
13114#define nir_build_shared_atomic_and(build, bit_size, src0, src1, ...) \
13115_nir_build_shared_atomic_and(build, bit_size, src0, src1, (struct _nir_shared_atomic_and_indices){0, __VA_ARGS__})
13116#endif
13117#define nir_shared_atomic_and nir_build_shared_atomic_and
13118#define nir_build_shared_atomic_and_dxil _nir_build_shared_atomic_and_dxil
13119#define nir_shared_atomic_and_dxil nir_build_shared_atomic_and_dxil
13120#ifdef __cplusplus
13121#define nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \
13122_nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, _nir_shared_atomic_comp_swap_indices{0, __VA_ARGS__})
13123#else
13124#define nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, ...) \
13125_nir_build_shared_atomic_comp_swap(build, bit_size, src0, src1, src2, (struct _nir_shared_atomic_comp_swap_indices){0, __VA_ARGS__})
13126#endif
13127#define nir_shared_atomic_comp_swap nir_build_shared_atomic_comp_swap
13128#define nir_build_shared_atomic_comp_swap_dxil _nir_build_shared_atomic_comp_swap_dxil
13129#define nir_shared_atomic_comp_swap_dxil nir_build_shared_atomic_comp_swap_dxil
13130#ifdef __cplusplus
13131#define nir_build_shared_atomic_exchange(build, bit_size, src0, src1, ...) \
13132_nir_build_shared_atomic_exchange(build, bit_size, src0, src1, _nir_shared_atomic_exchange_indices{0, __VA_ARGS__})
13133#else
13134#define nir_build_shared_atomic_exchange(build, bit_size, src0, src1, ...) \
13135_nir_build_shared_atomic_exchange(build, bit_size, src0, src1, (struct _nir_shared_atomic_exchange_indices){0, __VA_ARGS__})
13136#endif
13137#define nir_shared_atomic_exchange nir_build_shared_atomic_exchange
13138#define nir_build_shared_atomic_exchange_dxil _nir_build_shared_atomic_exchange_dxil
13139#define nir_shared_atomic_exchange_dxil nir_build_shared_atomic_exchange_dxil
13140#ifdef __cplusplus
13141#define nir_build_shared_atomic_fadd(build, bit_size, src0, src1, ...) \
13142_nir_build_shared_atomic_fadd(build, bit_size, src0, src1, _nir_shared_atomic_fadd_indices{0, __VA_ARGS__})
13143#else
13144#define nir_build_shared_atomic_fadd(build, bit_size, src0, src1, ...) \
13145_nir_build_shared_atomic_fadd(build, bit_size, src0, src1, (struct _nir_shared_atomic_fadd_indices){0, __VA_ARGS__})
13146#endif
13147#define nir_shared_atomic_fadd nir_build_shared_atomic_fadd
13148#ifdef __cplusplus
13149#define nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \
13150_nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, _nir_shared_atomic_fcomp_swap_indices{0, __VA_ARGS__})
13151#else
13152#define nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, ...) \
13153_nir_build_shared_atomic_fcomp_swap(build, bit_size, src0, src1, src2, (struct _nir_shared_atomic_fcomp_swap_indices){0, __VA_ARGS__})
13154#endif
13155#define nir_shared_atomic_fcomp_swap nir_build_shared_atomic_fcomp_swap
13156#ifdef __cplusplus
13157#define nir_build_shared_atomic_fmax(build, bit_size, src0, src1, ...) \
13158_nir_build_shared_atomic_fmax(build, bit_size, src0, src1, _nir_shared_atomic_fmax_indices{0, __VA_ARGS__})
13159#else
13160#define nir_build_shared_atomic_fmax(build, bit_size, src0, src1, ...) \
13161_nir_build_shared_atomic_fmax(build, bit_size, src0, src1, (struct _nir_shared_atomic_fmax_indices){0, __VA_ARGS__})
13162#endif
13163#define nir_shared_atomic_fmax nir_build_shared_atomic_fmax
13164#ifdef __cplusplus
13165#define nir_build_shared_atomic_fmin(build, bit_size, src0, src1, ...) \
13166_nir_build_shared_atomic_fmin(build, bit_size, src0, src1, _nir_shared_atomic_fmin_indices{0, __VA_ARGS__})
13167#else
13168#define nir_build_shared_atomic_fmin(build, bit_size, src0, src1, ...) \
13169_nir_build_shared_atomic_fmin(build, bit_size, src0, src1, (struct _nir_shared_atomic_fmin_indices){0, __VA_ARGS__})
13170#endif
13171#define nir_shared_atomic_fmin nir_build_shared_atomic_fmin
13172#ifdef __cplusplus
13173#define nir_build_shared_atomic_imax(build, bit_size, src0, src1, ...) \
13174_nir_build_shared_atomic_imax(build, bit_size, src0, src1, _nir_shared_atomic_imax_indices{0, __VA_ARGS__})
13175#else
13176#define nir_build_shared_atomic_imax(build, bit_size, src0, src1, ...) \
13177_nir_build_shared_atomic_imax(build, bit_size, src0, src1, (struct _nir_shared_atomic_imax_indices){0, __VA_ARGS__})
13178#endif
13179#define nir_shared_atomic_imax nir_build_shared_atomic_imax
13180#define nir_build_shared_atomic_imax_dxil _nir_build_shared_atomic_imax_dxil
13181#define nir_shared_atomic_imax_dxil nir_build_shared_atomic_imax_dxil
13182#ifdef __cplusplus
13183#define nir_build_shared_atomic_imin(build, bit_size, src0, src1, ...) \
13184_nir_build_shared_atomic_imin(build, bit_size, src0, src1, _nir_shared_atomic_imin_indices{0, __VA_ARGS__})
13185#else
13186#define nir_build_shared_atomic_imin(build, bit_size, src0, src1, ...) \
13187_nir_build_shared_atomic_imin(build, bit_size, src0, src1, (struct _nir_shared_atomic_imin_indices){0, __VA_ARGS__})
13188#endif
13189#define nir_shared_atomic_imin nir_build_shared_atomic_imin
13190#define nir_build_shared_atomic_imin_dxil _nir_build_shared_atomic_imin_dxil
13191#define nir_shared_atomic_imin_dxil nir_build_shared_atomic_imin_dxil
13192#ifdef __cplusplus
13193#define nir_build_shared_atomic_or(build, bit_size, src0, src1, ...) \
13194_nir_build_shared_atomic_or(build, bit_size, src0, src1, _nir_shared_atomic_or_indices{0, __VA_ARGS__})
13195#else
13196#define nir_build_shared_atomic_or(build, bit_size, src0, src1, ...) \
13197_nir_build_shared_atomic_or(build, bit_size, src0, src1, (struct _nir_shared_atomic_or_indices){0, __VA_ARGS__})
13198#endif
13199#define nir_shared_atomic_or nir_build_shared_atomic_or
13200#define nir_build_shared_atomic_or_dxil _nir_build_shared_atomic_or_dxil
13201#define nir_shared_atomic_or_dxil nir_build_shared_atomic_or_dxil
13202#ifdef __cplusplus
13203#define nir_build_shared_atomic_umax(build, bit_size, src0, src1, ...) \
13204_nir_build_shared_atomic_umax(build, bit_size, src0, src1, _nir_shared_atomic_umax_indices{0, __VA_ARGS__})
13205#else
13206#define nir_build_shared_atomic_umax(build, bit_size, src0, src1, ...) \
13207_nir_build_shared_atomic_umax(build, bit_size, src0, src1, (struct _nir_shared_atomic_umax_indices){0, __VA_ARGS__})
13208#endif
13209#define nir_shared_atomic_umax nir_build_shared_atomic_umax
13210#define nir_build_shared_atomic_umax_dxil _nir_build_shared_atomic_umax_dxil
13211#define nir_shared_atomic_umax_dxil nir_build_shared_atomic_umax_dxil
13212#ifdef __cplusplus
13213#define nir_build_shared_atomic_umin(build, bit_size, src0, src1, ...) \
13214_nir_build_shared_atomic_umin(build, bit_size, src0, src1, _nir_shared_atomic_umin_indices{0, __VA_ARGS__})
13215#else
13216#define nir_build_shared_atomic_umin(build, bit_size, src0, src1, ...) \
13217_nir_build_shared_atomic_umin(build, bit_size, src0, src1, (struct _nir_shared_atomic_umin_indices){0, __VA_ARGS__})
13218#endif
13219#define nir_shared_atomic_umin nir_build_shared_atomic_umin
13220#define nir_build_shared_atomic_umin_dxil _nir_build_shared_atomic_umin_dxil
13221#define nir_shared_atomic_umin_dxil nir_build_shared_atomic_umin_dxil
13222#ifdef __cplusplus
13223#define nir_build_shared_atomic_xor(build, bit_size, src0, src1, ...) \
13224_nir_build_shared_atomic_xor(build, bit_size, src0, src1, _nir_shared_atomic_xor_indices{0, __VA_ARGS__})
13225#else
13226#define nir_build_shared_atomic_xor(build, bit_size, src0, src1, ...) \
13227_nir_build_shared_atomic_xor(build, bit_size, src0, src1, (struct _nir_shared_atomic_xor_indices){0, __VA_ARGS__})
13228#endif
13229#define nir_shared_atomic_xor nir_build_shared_atomic_xor
13230#define nir_build_shared_atomic_xor_dxil _nir_build_shared_atomic_xor_dxil
13231#define nir_shared_atomic_xor_dxil nir_build_shared_atomic_xor_dxil
13232#define nir_build_shuffle _nir_build_shuffle
13233#define nir_shuffle nir_build_shuffle
13234#define nir_build_shuffle_down _nir_build_shuffle_down
13235#define nir_shuffle_down nir_build_shuffle_down
13236#define nir_build_shuffle_up _nir_build_shuffle_up
13237#define nir_shuffle_up nir_build_shuffle_up
13238#define nir_build_shuffle_xor _nir_build_shuffle_xor
13239#define nir_shuffle_xor nir_build_shuffle_xor
13240#define nir_build_sparse_residency_code_and _nir_build_sparse_residency_code_and
13241#define nir_sparse_residency_code_and nir_build_sparse_residency_code_and
13242#ifdef __cplusplus
13243#define nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, ...) \
13244_nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_add_indices{0, __VA_ARGS__})
13245#else
13246#define nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, ...) \
13247_nir_build_ssbo_atomic_add(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_add_indices){0, __VA_ARGS__})
13248#endif
13249#define nir_ssbo_atomic_add nir_build_ssbo_atomic_add
13250#ifdef __cplusplus
13251#define nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13252_nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_add_ir3_indices{0, __VA_ARGS__})
13253#else
13254#define nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13255_nir_build_ssbo_atomic_add_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_add_ir3_indices){0, __VA_ARGS__})
13256#endif
13257#define nir_ssbo_atomic_add_ir3 nir_build_ssbo_atomic_add_ir3
13258#ifdef __cplusplus
13259#define nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, ...) \
13260_nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_and_indices{0, __VA_ARGS__})
13261#else
13262#define nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, ...) \
13263_nir_build_ssbo_atomic_and(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_and_indices){0, __VA_ARGS__})
13264#endif
13265#define nir_ssbo_atomic_and nir_build_ssbo_atomic_and
13266#ifdef __cplusplus
13267#define nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13268_nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_and_ir3_indices{0, __VA_ARGS__})
13269#else
13270#define nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13271_nir_build_ssbo_atomic_and_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_and_ir3_indices){0, __VA_ARGS__})
13272#endif
13273#define nir_ssbo_atomic_and_ir3 nir_build_ssbo_atomic_and_ir3
13274#ifdef __cplusplus
13275#define nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, ...) \
13276_nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_comp_swap_indices{0, __VA_ARGS__})
13277#else
13278#define nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, ...) \
13279_nir_build_ssbo_atomic_comp_swap(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_comp_swap_indices){0, __VA_ARGS__})
13280#endif
13281#define nir_ssbo_atomic_comp_swap nir_build_ssbo_atomic_comp_swap
13282#ifdef __cplusplus
13283#define nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, ...) \
13284_nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, _nir_ssbo_atomic_comp_swap_ir3_indices{0, __VA_ARGS__})
13285#else
13286#define nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, ...) \
13287_nir_build_ssbo_atomic_comp_swap_ir3(build, bit_size, src0, src1, src2, src3, src4, (struct _nir_ssbo_atomic_comp_swap_ir3_indices){0, __VA_ARGS__})
13288#endif
13289#define nir_ssbo_atomic_comp_swap_ir3 nir_build_ssbo_atomic_comp_swap_ir3
13290#ifdef __cplusplus
13291#define nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, ...) \
13292_nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_exchange_indices{0, __VA_ARGS__})
13293#else
13294#define nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, ...) \
13295_nir_build_ssbo_atomic_exchange(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_exchange_indices){0, __VA_ARGS__})
13296#endif
13297#define nir_ssbo_atomic_exchange nir_build_ssbo_atomic_exchange
13298#ifdef __cplusplus
13299#define nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13300_nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_exchange_ir3_indices{0, __VA_ARGS__})
13301#else
13302#define nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13303_nir_build_ssbo_atomic_exchange_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_exchange_ir3_indices){0, __VA_ARGS__})
13304#endif
13305#define nir_ssbo_atomic_exchange_ir3 nir_build_ssbo_atomic_exchange_ir3
13306#ifdef __cplusplus
13307#define nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, ...) \
13308_nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_fadd_indices{0, __VA_ARGS__})
13309#else
13310#define nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, ...) \
13311_nir_build_ssbo_atomic_fadd(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_fadd_indices){0, __VA_ARGS__})
13312#endif
13313#define nir_ssbo_atomic_fadd nir_build_ssbo_atomic_fadd
13314#ifdef __cplusplus
13315#define nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, ...) \
13316_nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_fcomp_swap_indices{0, __VA_ARGS__})
13317#else
13318#define nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, ...) \
13319_nir_build_ssbo_atomic_fcomp_swap(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_fcomp_swap_indices){0, __VA_ARGS__})
13320#endif
13321#define nir_ssbo_atomic_fcomp_swap nir_build_ssbo_atomic_fcomp_swap
13322#ifdef __cplusplus
13323#define nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, ...) \
13324_nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_fmax_indices{0, __VA_ARGS__})
13325#else
13326#define nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, ...) \
13327_nir_build_ssbo_atomic_fmax(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_fmax_indices){0, __VA_ARGS__})
13328#endif
13329#define nir_ssbo_atomic_fmax nir_build_ssbo_atomic_fmax
13330#ifdef __cplusplus
13331#define nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, ...) \
13332_nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_fmin_indices{0, __VA_ARGS__})
13333#else
13334#define nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, ...) \
13335_nir_build_ssbo_atomic_fmin(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_fmin_indices){0, __VA_ARGS__})
13336#endif
13337#define nir_ssbo_atomic_fmin nir_build_ssbo_atomic_fmin
13338#ifdef __cplusplus
13339#define nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, ...) \
13340_nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_imax_indices{0, __VA_ARGS__})
13341#else
13342#define nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, ...) \
13343_nir_build_ssbo_atomic_imax(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_imax_indices){0, __VA_ARGS__})
13344#endif
13345#define nir_ssbo_atomic_imax nir_build_ssbo_atomic_imax
13346#ifdef __cplusplus
13347#define nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13348_nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_imax_ir3_indices{0, __VA_ARGS__})
13349#else
13350#define nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13351_nir_build_ssbo_atomic_imax_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_imax_ir3_indices){0, __VA_ARGS__})
13352#endif
13353#define nir_ssbo_atomic_imax_ir3 nir_build_ssbo_atomic_imax_ir3
13354#ifdef __cplusplus
13355#define nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, ...) \
13356_nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_imin_indices{0, __VA_ARGS__})
13357#else
13358#define nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, ...) \
13359_nir_build_ssbo_atomic_imin(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_imin_indices){0, __VA_ARGS__})
13360#endif
13361#define nir_ssbo_atomic_imin nir_build_ssbo_atomic_imin
13362#ifdef __cplusplus
13363#define nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13364_nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_imin_ir3_indices{0, __VA_ARGS__})
13365#else
13366#define nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13367_nir_build_ssbo_atomic_imin_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_imin_ir3_indices){0, __VA_ARGS__})
13368#endif
13369#define nir_ssbo_atomic_imin_ir3 nir_build_ssbo_atomic_imin_ir3
13370#ifdef __cplusplus
13371#define nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, ...) \
13372_nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_or_indices{0, __VA_ARGS__})
13373#else
13374#define nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, ...) \
13375_nir_build_ssbo_atomic_or(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_or_indices){0, __VA_ARGS__})
13376#endif
13377#define nir_ssbo_atomic_or nir_build_ssbo_atomic_or
13378#ifdef __cplusplus
13379#define nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13380_nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_or_ir3_indices{0, __VA_ARGS__})
13381#else
13382#define nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13383_nir_build_ssbo_atomic_or_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_or_ir3_indices){0, __VA_ARGS__})
13384#endif
13385#define nir_ssbo_atomic_or_ir3 nir_build_ssbo_atomic_or_ir3
13386#ifdef __cplusplus
13387#define nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, ...) \
13388_nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_umax_indices{0, __VA_ARGS__})
13389#else
13390#define nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, ...) \
13391_nir_build_ssbo_atomic_umax(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_umax_indices){0, __VA_ARGS__})
13392#endif
13393#define nir_ssbo_atomic_umax nir_build_ssbo_atomic_umax
13394#ifdef __cplusplus
13395#define nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13396_nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_umax_ir3_indices{0, __VA_ARGS__})
13397#else
13398#define nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13399_nir_build_ssbo_atomic_umax_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_umax_ir3_indices){0, __VA_ARGS__})
13400#endif
13401#define nir_ssbo_atomic_umax_ir3 nir_build_ssbo_atomic_umax_ir3
13402#ifdef __cplusplus
13403#define nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, ...) \
13404_nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_umin_indices{0, __VA_ARGS__})
13405#else
13406#define nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, ...) \
13407_nir_build_ssbo_atomic_umin(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_umin_indices){0, __VA_ARGS__})
13408#endif
13409#define nir_ssbo_atomic_umin nir_build_ssbo_atomic_umin
13410#ifdef __cplusplus
13411#define nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13412_nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_umin_ir3_indices{0, __VA_ARGS__})
13413#else
13414#define nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13415_nir_build_ssbo_atomic_umin_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_umin_ir3_indices){0, __VA_ARGS__})
13416#endif
13417#define nir_ssbo_atomic_umin_ir3 nir_build_ssbo_atomic_umin_ir3
13418#ifdef __cplusplus
13419#define nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, ...) \
13420_nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, _nir_ssbo_atomic_xor_indices{0, __VA_ARGS__})
13421#else
13422#define nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, ...) \
13423_nir_build_ssbo_atomic_xor(build, bit_size, src0, src1, src2, (struct _nir_ssbo_atomic_xor_indices){0, __VA_ARGS__})
13424#endif
13425#define nir_ssbo_atomic_xor nir_build_ssbo_atomic_xor
13426#ifdef __cplusplus
13427#define nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13428_nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, _nir_ssbo_atomic_xor_ir3_indices{0, __VA_ARGS__})
13429#else
13430#define nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, ...) \
13431_nir_build_ssbo_atomic_xor_ir3(build, bit_size, src0, src1, src2, src3, (struct _nir_ssbo_atomic_xor_ir3_indices){0, __VA_ARGS__})
13432#endif
13433#define nir_ssbo_atomic_xor_ir3 nir_build_ssbo_atomic_xor_ir3
13434#ifdef __cplusplus
13435#define nir_build_store_buffer_amd(build, src0, src1, src2, src3, ...) \
13436_nir_build_store_buffer_amd(build, src0, src1, src2, src3, _nir_store_buffer_amd_indices{0, __VA_ARGS__})
13437#else
13438#define nir_build_store_buffer_amd(build, src0, src1, src2, src3, ...) \
13439_nir_build_store_buffer_amd(build, src0, src1, src2, src3, (struct _nir_store_buffer_amd_indices){0, __VA_ARGS__})
13440#endif
13441#define nir_store_buffer_amd nir_build_store_buffer_amd
13442#ifdef __cplusplus
13443#define nir_build_store_combined_output_pan(build, src0, src1, src2, src3, ...) \
13444_nir_build_store_combined_output_pan(build, src0, src1, src2, src3, _nir_store_combined_output_pan_indices{0, __VA_ARGS__})
13445#else
13446#define nir_build_store_combined_output_pan(build, src0, src1, src2, src3, ...) \
13447_nir_build_store_combined_output_pan(build, src0, src1, src2, src3, (struct _nir_store_combined_output_pan_indices){0, __VA_ARGS__})
13448#endif
13449#define nir_store_combined_output_pan nir_build_store_combined_output_pan
13450#ifdef __cplusplus
13451#define nir_build_store_deref(build, src0, src1, ...) \
13452_nir_build_store_deref(build, src0, src1, _nir_store_deref_indices{0, __VA_ARGS__})
13453#else
13454#define nir_build_store_deref(build, src0, src1, ...) \
13455_nir_build_store_deref(build, src0, src1, (struct _nir_store_deref_indices){0, __VA_ARGS__})
13456#endif
13457#define nir_store_deref nir_build_store_deref
13458#ifdef __cplusplus
13459#define nir_build_store_deref_block_intel(build, src0, src1, ...) \
13460_nir_build_store_deref_block_intel(build, src0, src1, _nir_store_deref_block_intel_indices{0, __VA_ARGS__})
13461#else
13462#define nir_build_store_deref_block_intel(build, src0, src1, ...) \
13463_nir_build_store_deref_block_intel(build, src0, src1, (struct _nir_store_deref_block_intel_indices){0, __VA_ARGS__})
13464#endif
13465#define nir_store_deref_block_intel nir_build_store_deref_block_intel
13466#ifdef __cplusplus
13467#define nir_build_store_global(build, src0, src1, ...) \
13468_nir_build_store_global(build, src0, src1, _nir_store_global_indices{0, __VA_ARGS__})
13469#else
13470#define nir_build_store_global(build, src0, src1, ...) \
13471_nir_build_store_global(build, src0, src1, (struct _nir_store_global_indices){0, __VA_ARGS__})
13472#endif
13473#define nir_store_global nir_build_store_global
13474#ifdef __cplusplus
13475#define nir_build_store_global_block_intel(build, src0, src1, ...) \
13476_nir_build_store_global_block_intel(build, src0, src1, _nir_store_global_block_intel_indices{0, __VA_ARGS__})
13477#else
13478#define nir_build_store_global_block_intel(build, src0, src1, ...) \
13479_nir_build_store_global_block_intel(build, src0, src1, (struct _nir_store_global_block_intel_indices){0, __VA_ARGS__})
13480#endif
13481#define nir_store_global_block_intel nir_build_store_global_block_intel
13482#ifdef __cplusplus
13483#define nir_build_store_global_ir3(build, src0, src1, src2, ...) \
13484_nir_build_store_global_ir3(build, src0, src1, src2, _nir_store_global_ir3_indices{0, __VA_ARGS__})
13485#else
13486#define nir_build_store_global_ir3(build, src0, src1, src2, ...) \
13487_nir_build_store_global_ir3(build, src0, src1, src2, (struct _nir_store_global_ir3_indices){0, __VA_ARGS__})
13488#endif
13489#define nir_store_global_ir3 nir_build_store_global_ir3
13490#ifdef __cplusplus
13491#define nir_build_store_local_shared_r600(build, src0, src1, ...) \
13492_nir_build_store_local_shared_r600(build, src0, src1, _nir_store_local_shared_r600_indices{0, __VA_ARGS__})
13493#else
13494#define nir_build_store_local_shared_r600(build, src0, src1, ...) \
13495_nir_build_store_local_shared_r600(build, src0, src1, (struct _nir_store_local_shared_r600_indices){0, __VA_ARGS__})
13496#endif
13497#define nir_store_local_shared_r600 nir_build_store_local_shared_r600
13498#ifdef __cplusplus
13499#define nir_build_store_output(build, src0, src1, ...) \
13500_nir_build_store_output(build, src0, src1, _nir_store_output_indices{0, __VA_ARGS__})
13501#else
13502#define nir_build_store_output(build, src0, src1, ...) \
13503_nir_build_store_output(build, src0, src1, (struct _nir_store_output_indices){0, __VA_ARGS__})
13504#endif
13505#define nir_store_output nir_build_store_output
13506#ifdef __cplusplus
13507#define nir_build_store_per_primitive_output(build, src0, src1, src2, ...) \
13508_nir_build_store_per_primitive_output(build, src0, src1, src2, _nir_store_per_primitive_output_indices{0, __VA_ARGS__})
13509#else
13510#define nir_build_store_per_primitive_output(build, src0, src1, src2, ...) \
13511_nir_build_store_per_primitive_output(build, src0, src1, src2, (struct _nir_store_per_primitive_output_indices){0, __VA_ARGS__})
13512#endif
13513#define nir_store_per_primitive_output nir_build_store_per_primitive_output
13514#ifdef __cplusplus
13515#define nir_build_store_per_vertex_output(build, src0, src1, src2, ...) \
13516_nir_build_store_per_vertex_output(build, src0, src1, src2, _nir_store_per_vertex_output_indices{0, __VA_ARGS__})
13517#else
13518#define nir_build_store_per_vertex_output(build, src0, src1, src2, ...) \
13519_nir_build_store_per_vertex_output(build, src0, src1, src2, (struct _nir_store_per_vertex_output_indices){0, __VA_ARGS__})
13520#endif
13521#define nir_store_per_vertex_output nir_build_store_per_vertex_output
13522#define nir_build_store_raw_output_pan _nir_build_store_raw_output_pan
13523#define nir_store_raw_output_pan nir_build_store_raw_output_pan
13524#ifdef __cplusplus
13525#define nir_build_store_scratch(build, src0, src1, ...) \
13526_nir_build_store_scratch(build, src0, src1, _nir_store_scratch_indices{0, __VA_ARGS__})
13527#else
13528#define nir_build_store_scratch(build, src0, src1, ...) \
13529_nir_build_store_scratch(build, src0, src1, (struct _nir_store_scratch_indices){0, __VA_ARGS__})
13530#endif
13531#define nir_store_scratch nir_build_store_scratch
13532#define nir_build_store_scratch_dxil _nir_build_store_scratch_dxil
13533#define nir_store_scratch_dxil nir_build_store_scratch_dxil
13534#ifdef __cplusplus
13535#define nir_build_store_shared(build, src0, src1, ...) \
13536_nir_build_store_shared(build, src0, src1, _nir_store_shared_indices{0, __VA_ARGS__})
13537#else
13538#define nir_build_store_shared(build, src0, src1, ...) \
13539_nir_build_store_shared(build, src0, src1, (struct _nir_store_shared_indices){0, __VA_ARGS__})
13540#endif
13541#define nir_store_shared nir_build_store_shared
13542#ifdef __cplusplus
13543#define nir_build_store_shared_block_intel(build, src0, src1, ...) \
13544_nir_build_store_shared_block_intel(build, src0, src1, _nir_store_shared_block_intel_indices{0, __VA_ARGS__})
13545#else
13546#define nir_build_store_shared_block_intel(build, src0, src1, ...) \
13547_nir_build_store_shared_block_intel(build, src0, src1, (struct _nir_store_shared_block_intel_indices){0, __VA_ARGS__})
13548#endif
13549#define nir_store_shared_block_intel nir_build_store_shared_block_intel
13550#define nir_build_store_shared_dxil _nir_build_store_shared_dxil
13551#define nir_store_shared_dxil nir_build_store_shared_dxil
13552#ifdef __cplusplus
13553#define nir_build_store_shared_ir3(build, src0, src1, ...) \
13554_nir_build_store_shared_ir3(build, src0, src1, _nir_store_shared_ir3_indices{0, __VA_ARGS__})
13555#else
13556#define nir_build_store_shared_ir3(build, src0, src1, ...) \
13557_nir_build_store_shared_ir3(build, src0, src1, (struct _nir_store_shared_ir3_indices){0, __VA_ARGS__})
13558#endif
13559#define nir_store_shared_ir3 nir_build_store_shared_ir3
13560#define nir_build_store_shared_masked_dxil _nir_build_store_shared_masked_dxil
13561#define nir_store_shared_masked_dxil nir_build_store_shared_masked_dxil
13562#ifdef __cplusplus
13563#define nir_build_store_ssbo(build, src0, src1, src2, ...) \
13564_nir_build_store_ssbo(build, src0, src1, src2, _nir_store_ssbo_indices{0, __VA_ARGS__})
13565#else
13566#define nir_build_store_ssbo(build, src0, src1, src2, ...) \
13567_nir_build_store_ssbo(build, src0, src1, src2, (struct _nir_store_ssbo_indices){0, __VA_ARGS__})
13568#endif
13569#define nir_store_ssbo nir_build_store_ssbo
13570#ifdef __cplusplus
13571#define nir_build_store_ssbo_block_intel(build, src0, src1, src2, ...) \
13572_nir_build_store_ssbo_block_intel(build, src0, src1, src2, _nir_store_ssbo_block_intel_indices{0, __VA_ARGS__})
13573#else
13574#define nir_build_store_ssbo_block_intel(build, src0, src1, src2, ...) \
13575_nir_build_store_ssbo_block_intel(build, src0, src1, src2, (struct _nir_store_ssbo_block_intel_indices){0, __VA_ARGS__})
13576#endif
13577#define nir_store_ssbo_block_intel nir_build_store_ssbo_block_intel
13578#ifdef __cplusplus
13579#define nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, ...) \
13580_nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, _nir_store_ssbo_ir3_indices{0, __VA_ARGS__})
13581#else
13582#define nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, ...) \
13583_nir_build_store_ssbo_ir3(build, src0, src1, src2, src3, (struct _nir_store_ssbo_ir3_indices){0, __VA_ARGS__})
13584#endif
13585#define nir_store_ssbo_ir3 nir_build_store_ssbo_ir3
13586#define nir_build_store_ssbo_masked_dxil _nir_build_store_ssbo_masked_dxil
13587#define nir_store_ssbo_masked_dxil nir_build_store_ssbo_masked_dxil
13588#define nir_build_store_tf_r600 _nir_build_store_tf_r600
13589#define nir_store_tf_r600 nir_build_store_tf_r600
13590#ifdef __cplusplus
13591#define nir_build_store_tlb_sample_color_v3d(build, src0, src1, ...) \
13592_nir_build_store_tlb_sample_color_v3d(build, src0, src1, _nir_store_tlb_sample_color_v3d_indices{0, __VA_ARGS__})
13593#else
13594#define nir_build_store_tlb_sample_color_v3d(build, src0, src1, ...) \
13595_nir_build_store_tlb_sample_color_v3d(build, src0, src1, (struct _nir_store_tlb_sample_color_v3d_indices){0, __VA_ARGS__})
13596#endif
13597#define nir_store_tlb_sample_color_v3d nir_build_store_tlb_sample_color_v3d
13598#define nir_build_terminate _nir_build_terminate
13599#define nir_terminate nir_build_terminate
13600#define nir_build_terminate_if _nir_build_terminate_if
13601#define nir_terminate_if nir_build_terminate_if
13602#define nir_build_terminate_ray _nir_build_terminate_ray
13603#define nir_terminate_ray nir_build_terminate_ray
13604#define nir_build_trace_ray _nir_build_trace_ray
13605#define nir_trace_ray nir_build_trace_ray
13606#define nir_build_trace_ray_commit_intel _nir_build_trace_ray_commit_intel
13607#define nir_trace_ray_commit_intel nir_build_trace_ray_commit_intel
13608#define nir_build_trace_ray_continue_intel _nir_build_trace_ray_continue_intel
13609#define nir_trace_ray_continue_intel nir_build_trace_ray_continue_intel
13610#define nir_build_trace_ray_initial_intel _nir_build_trace_ray_initial_intel
13611#define nir_trace_ray_initial_intel nir_build_trace_ray_initial_intel
13612#define nir_build_vote_all _nir_build_vote_all
13613#define nir_vote_all nir_build_vote_all
13614#define nir_build_vote_any _nir_build_vote_any
13615#define nir_vote_any nir_build_vote_any
13616#define nir_build_vote_feq _nir_build_vote_feq
13617#define nir_vote_feq nir_build_vote_feq
13618#define nir_build_vote_ieq _nir_build_vote_ieq
13619#define nir_vote_ieq nir_build_vote_ieq
13620#ifdef __cplusplus
13621#define nir_build_vulkan_resource_index(build, num_components, bit_size, src0, ...) \
13622_nir_build_vulkan_resource_index(build, num_components, bit_size, src0, _nir_vulkan_resource_index_indices{0, __VA_ARGS__})
13623#else
13624#define nir_build_vulkan_resource_index(build, num_components, bit_size, src0, ...) \
13625_nir_build_vulkan_resource_index(build, num_components, bit_size, src0, (struct _nir_vulkan_resource_index_indices){0, __VA_ARGS__})
13626#endif
13627#define nir_vulkan_resource_index nir_build_vulkan_resource_index
13628#ifdef __cplusplus
13629#define nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, ...) \
13630_nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, _nir_vulkan_resource_reindex_indices{0, __VA_ARGS__})
13631#else
13632#define nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, ...) \
13633_nir_build_vulkan_resource_reindex(build, bit_size, src0, src1, (struct _nir_vulkan_resource_reindex_indices){0, __VA_ARGS__})
13634#endif
13635#define nir_vulkan_resource_reindex nir_build_vulkan_resource_reindex
13636#define nir_build_write_invocation_amd _nir_build_write_invocation_amd
13637#define nir_write_invocation_amd nir_build_write_invocation_amd
13638
13639#endif /* _NIR_BUILDER_OPCODES_ */
13640