1{
2  "copyright" : [
3    "Copyright (c) 2014-2016 The Khronos Group Inc.",
4    "",
5    "Permission is hereby granted, free of charge, to any person obtaining a copy",
6    "of this software and/or associated documentation files (the \"Materials\"),",
7    "to deal in the Materials without restriction, including without limitation",
8    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
9    "and/or sell copies of the Materials, and to permit persons to whom the",
10    "Materials are furnished to do so, subject to the following conditions:",
11    "",
12    "The above copyright notice and this permission notice shall be included in",
13    "all copies or substantial portions of the Materials.",
14    "",
15    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
16    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
17    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
18    "",
19    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
20    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
21    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
22    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
23    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
24    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
25    "IN THE MATERIALS."
26  ],
27  "version" : 100,
28  "revision" : 2,
29  "instructions" : [
30    {
31      "opname" : "acos",
32      "opcode" : 0,
33      "operands" : [
34        { "kind" : "IdRef", "name" : "'x'" }
35      ]
36    },
37    {
38      "opname" : "acosh",
39      "opcode" : 1,
40      "operands" : [
41        { "kind" : "IdRef", "name" : "'x'" }
42      ]
43    },
44    {
45      "opname" : "acospi",
46      "opcode" : 2,
47      "operands" : [
48        { "kind" : "IdRef", "name" : "'x'" }
49      ]
50    },
51    {
52      "opname" : "asin",
53      "opcode" : 3,
54      "operands" : [
55        { "kind" : "IdRef", "name" : "'x'" }
56      ]
57    },
58    {
59      "opname" : "asinh",
60      "opcode" : 4,
61      "operands" : [
62        { "kind" : "IdRef", "name" : "'x'" }
63      ]
64    },
65    {
66      "opname" : "asinpi",
67      "opcode" : 5,
68      "operands" : [
69        { "kind" : "IdRef", "name" : "'x'" }
70      ]
71    },
72    {
73      "opname" : "atan",
74      "opcode" : 6,
75      "operands" : [
76        { "kind" : "IdRef", "name" : "'x'" }
77      ]
78    },
79    {
80      "opname" : "atan2",
81      "opcode" : 7,
82      "operands" : [
83        { "kind" : "IdRef", "name" : "'y'" },
84        { "kind" : "IdRef", "name" : "'x'" }
85      ]
86    },
87    {
88      "opname" : "atanh",
89      "opcode" : 8,
90      "operands" : [
91        { "kind" : "IdRef", "name" : "'x'" }
92      ]
93    },
94    {
95      "opname" : "atanpi",
96      "opcode" : 9,
97      "operands" : [
98        { "kind" : "IdRef", "name" : "'x'" }
99      ]
100    },
101    {
102      "opname" : "atan2pi",
103      "opcode" : 10,
104      "operands" : [
105        { "kind" : "IdRef", "name" : "'y'" },
106        { "kind" : "IdRef", "name" : "'x'" }
107      ]
108    },
109    {
110      "opname" : "cbrt",
111      "opcode" : 11,
112      "operands" : [
113        { "kind" : "IdRef", "name" : "'x'" }
114      ]
115    },
116    {
117      "opname" : "ceil",
118      "opcode" : 12,
119      "operands" : [
120        { "kind" : "IdRef", "name" : "'x'" }
121      ]
122    },
123    {
124      "opname" : "copysign",
125      "opcode" : 13,
126      "operands" : [
127        { "kind" : "IdRef", "name" : "'x'" },
128        { "kind" : "IdRef", "name" : "'y'" }
129      ]
130    },
131    {
132      "opname" : "cos",
133      "opcode" : 14,
134      "operands" : [
135        { "kind" : "IdRef", "name" : "'x'" }
136      ]
137    },
138    {
139      "opname" : "cosh",
140      "opcode" : 15,
141      "operands" : [
142        { "kind" : "IdRef", "name" : "'x'" }
143      ]
144    },
145    {
146      "opname" : "cospi",
147      "opcode" : 16,
148      "operands" : [
149        { "kind" : "IdRef", "name" : "'x'" }
150      ]
151    },
152    {
153      "opname" : "erfc",
154      "opcode" : 17,
155      "operands" : [
156        { "kind" : "IdRef", "name" : "'x'" }
157      ]
158    },
159    {
160      "opname" : "erf",
161      "opcode" : 18,
162      "operands" : [
163        { "kind" : "IdRef", "name" : "'x'" }
164      ]
165    },
166    {
167      "opname" : "exp",
168      "opcode" : 19,
169      "operands" : [
170        { "kind" : "IdRef", "name" : "'x'" }
171      ]
172    },
173    {
174      "opname" : "exp2",
175      "opcode" : 20,
176      "operands" : [
177        { "kind" : "IdRef", "name" : "'x'" }
178      ]
179    },
180    {
181      "opname" : "exp10",
182      "opcode" : 21,
183      "operands" : [
184        { "kind" : "IdRef", "name" : "'x'" }
185      ]
186    },
187    {
188      "opname" : "expm1",
189      "opcode" : 22,
190      "operands" : [
191        { "kind" : "IdRef", "name" : "'x'" }
192      ]
193    },
194    {
195      "opname" : "fabs",
196      "opcode" : 23,
197      "operands" : [
198        { "kind" : "IdRef", "name" : "'x'" }
199      ]
200    },
201    {
202      "opname" : "fdim",
203      "opcode" : 24,
204      "operands" : [
205        { "kind" : "IdRef", "name" : "'x'" },
206        { "kind" : "IdRef", "name" : "'y'" }
207      ]
208    },
209    {
210      "opname" : "floor",
211      "opcode" : 25,
212      "operands" : [
213        { "kind" : "IdRef", "name" : "'x'" }
214      ]
215    },
216    {
217      "opname" : "fma",
218      "opcode" : 26,
219      "operands" : [
220        { "kind" : "IdRef", "name" : "'a'" },
221        { "kind" : "IdRef", "name" : "'b'" },
222        { "kind" : "IdRef", "name" : "'c'" }
223      ]
224    },
225    {
226      "opname" : "fmax",
227      "opcode" : 27,
228      "operands" : [
229        { "kind" : "IdRef", "name" : "'x'" },
230        { "kind" : "IdRef", "name" : "'y'" }
231      ]
232    },
233    {
234      "opname" : "fmin",
235      "opcode" : 28,
236      "operands" : [
237        { "kind" : "IdRef", "name" : "'x'" },
238        { "kind" : "IdRef", "name" : "'y'" }
239      ]
240    },
241    {
242      "opname" : "fmod",
243      "opcode" : 29,
244      "operands" : [
245        { "kind" : "IdRef", "name" : "'x'" },
246        { "kind" : "IdRef", "name" : "'y'" }
247      ]
248    },
249    {
250      "opname" : "fract",
251      "opcode" : 30,
252      "operands" : [
253        { "kind" : "IdRef", "name" : "'x'" },
254        { "kind" : "IdRef", "name" : "'ptr'" }
255      ]
256    },
257    {
258      "opname" : "frexp",
259      "opcode" : 31,
260      "operands" : [
261        { "kind" : "IdRef", "name" : "'x'" },
262        { "kind" : "IdRef", "name" : "'exp'" }
263      ]
264    },
265    {
266      "opname" : "hypot",
267      "opcode" : 32,
268      "operands" : [
269        { "kind" : "IdRef", "name" : "'x'" },
270        { "kind" : "IdRef", "name" : "'y'" }
271      ]
272    },
273    {
274      "opname" : "ilogb",
275      "opcode" : 33,
276      "operands" : [
277        { "kind" : "IdRef", "name" : "'x'" }
278      ]
279    },
280    {
281      "opname" : "ldexp",
282      "opcode" : 34,
283      "operands" : [
284        { "kind" : "IdRef", "name" : "'x'" },
285        { "kind" : "IdRef", "name" : "'k'" }
286      ]
287    },
288    {
289      "opname" : "lgamma",
290      "opcode" : 35,
291      "operands" : [
292        { "kind" : "IdRef", "name" : "'x'" }
293      ]
294    },
295    {
296      "opname" : "lgamma_r",
297      "opcode" : 36,
298      "operands" : [
299        { "kind" : "IdRef", "name" : "'x'" },
300        { "kind" : "IdRef", "name" : "'signp'" }
301      ]
302    },
303    {
304      "opname" : "log",
305      "opcode" : 37,
306      "operands" : [
307        { "kind" : "IdRef", "name" : "'x'" }
308      ]
309    },
310    {
311      "opname" : "log2",
312      "opcode" : 38,
313      "operands" : [
314        { "kind" : "IdRef", "name" : "'x'" }
315      ]
316    },
317    {
318      "opname" : "log10",
319      "opcode" : 39,
320      "operands" : [
321        { "kind" : "IdRef", "name" : "'x'" }
322      ]
323    },
324    {
325      "opname" : "log1p",
326      "opcode" : 40,
327      "operands" : [
328        { "kind" : "IdRef", "name" : "'x'" }
329      ]
330    },
331    {
332      "opname" : "logb",
333      "opcode" : 41,
334      "operands" : [
335        { "kind" : "IdRef", "name" : "'x'" }
336      ]
337    },
338    {
339      "opname" : "mad",
340      "opcode" : 42,
341      "operands" : [
342        { "kind" : "IdRef", "name" : "'a'" },
343        { "kind" : "IdRef", "name" : "'b'" },
344        { "kind" : "IdRef", "name" : "'c'" }
345      ]
346    },
347    {
348      "opname" : "maxmag",
349      "opcode" : 43,
350      "operands" : [
351        { "kind" : "IdRef", "name" : "'x'" },
352        { "kind" : "IdRef", "name" : "'y'" }
353      ]
354    },
355    {
356      "opname" : "minmag",
357      "opcode" : 44,
358      "operands" : [
359        { "kind" : "IdRef", "name" : "'x'" },
360        { "kind" : "IdRef", "name" : "'y'" }
361      ]
362    },
363    {
364      "opname" : "modf",
365      "opcode" : 45,
366      "operands" : [
367        { "kind" : "IdRef", "name" : "'x'" },
368        { "kind" : "IdRef", "name" : "'iptr'" }
369      ]
370    },
371    {
372      "opname" : "nan",
373      "opcode" : 46,
374      "operands" : [
375        { "kind" : "IdRef", "name" : "'nancode'" }
376      ]
377    },
378    {
379      "opname" : "nextafter",
380      "opcode" : 47,
381      "operands" : [
382        { "kind" : "IdRef", "name" : "'x'" },
383        { "kind" : "IdRef", "name" : "'y'" }
384      ]
385    },
386    {
387      "opname" : "pow",
388      "opcode" : 48,
389      "operands" : [
390        { "kind" : "IdRef", "name" : "'x'" },
391        { "kind" : "IdRef", "name" : "'y" }
392      ]
393    },
394    {
395      "opname" : "pown",
396      "opcode" : 49,
397      "operands" : [
398        { "kind" : "IdRef", "name" : "'x'" },
399        { "kind" : "IdRef", "name" : "'y'" }
400      ]
401    },
402    {
403      "opname" : "powr",
404      "opcode" : 50,
405      "operands" : [
406        { "kind" : "IdRef", "name" : "'x'" },
407        { "kind" : "IdRef", "name" : "'y'" }
408      ]
409    },
410    {
411      "opname" : "remainder",
412      "opcode" : 51,
413      "operands" : [
414        { "kind" : "IdRef", "name" : "'x'" },
415        { "kind" : "IdRef", "name" : "'y'" }
416      ]
417    },
418    {
419      "opname" : "remquo",
420      "opcode" : 52,
421      "operands" : [
422        { "kind" : "IdRef", "name" : "'x'" },
423        { "kind" : "IdRef", "name" : "'y'" },
424        { "kind" : "IdRef", "name" : "'quo'" }
425      ]
426    },
427    {
428      "opname" : "rint",
429      "opcode" : 53,
430      "operands" : [
431        { "kind" : "IdRef", "name" : "'x'" }
432      ]
433    },
434    {
435      "opname" : "rootn",
436      "opcode" : 54,
437      "operands" : [
438        { "kind" : "IdRef", "name" : "'x'" },
439        { "kind" : "IdRef", "name" : "'y'" }
440      ]
441    },
442    {
443      "opname" : "round",
444      "opcode" : 55,
445      "operands" : [
446        { "kind" : "IdRef", "name" : "'x'" }
447      ]
448    },
449    {
450      "opname" : "rsqrt",
451      "opcode" : 56,
452      "operands" : [
453        { "kind" : "IdRef", "name" : "'x'" }
454      ]
455    },
456    {
457      "opname" : "sin",
458      "opcode" : 57,
459      "operands" : [
460        { "kind" : "IdRef", "name" : "'x'" }
461      ]
462    },
463    {
464      "opname" : "sincos",
465      "opcode" : 58,
466      "operands" : [
467        { "kind" : "IdRef", "name" : "'x'" },
468        { "kind" : "IdRef", "name" : "'cosval'" }
469      ]
470    },
471    {
472      "opname" : "sinh",
473      "opcode" : 59,
474      "operands" : [
475        { "kind" : "IdRef", "name" : "'x'" }
476      ]
477    },
478    {
479      "opname" : "sinpi",
480      "opcode" : 60,
481      "operands" : [
482        { "kind" : "IdRef", "name" : "'x'" }
483      ]
484    },
485    {
486      "opname" : "sqrt",
487      "opcode" : 61,
488      "operands" : [
489        { "kind" : "IdRef", "name" : "'x'" }
490      ]
491    },
492    {
493      "opname" : "tan",
494      "opcode" : 62,
495      "operands" : [
496        { "kind" : "IdRef", "name" : "'x'" }
497      ]
498    },
499    {
500      "opname" : "tanh",
501      "opcode" : 63,
502      "operands" : [
503        { "kind" : "IdRef", "name" : "'x'" }
504      ]
505    },
506    {
507      "opname" : "tanpi",
508      "opcode" : 64,
509      "operands" : [
510        { "kind" : "IdRef", "name" : "'x'" }
511      ]
512    },
513    {
514      "opname" : "tgamma",
515      "opcode" : 65,
516      "operands" : [
517        { "kind" : "IdRef", "name" : "'x'" }
518      ]
519    },
520    {
521      "opname" : "trunc",
522      "opcode" : 66,
523      "operands" : [
524        { "kind" : "IdRef", "name" : "'x'" }
525      ]
526    },
527    {
528      "opname" : "half_cos",
529      "opcode" : 67,
530      "operands" : [
531        { "kind" : "IdRef", "name" : "'x'" }
532      ]
533    },
534    {
535      "opname" : "half_divide",
536      "opcode" : 68,
537      "operands" : [
538        { "kind" : "IdRef", "name" : "'x'" },
539        { "kind" : "IdRef", "name" : "'y'" }
540      ]
541    },
542    {
543      "opname" : "half_exp",
544      "opcode" : 69,
545      "operands" : [
546        { "kind" : "IdRef", "name" : "'x'" }
547      ]
548    },
549    {
550      "opname" : "half_exp2",
551      "opcode" : 70,
552      "operands" : [
553        { "kind" : "IdRef", "name" : "'x'" }
554      ]
555    },
556    {
557      "opname" : "half_exp10",
558      "opcode" : 71,
559      "operands" : [
560        { "kind" : "IdRef", "name" : "'x'" }
561      ]
562    },
563    {
564      "opname" : "half_log",
565      "opcode" : 72,
566      "operands" : [
567        { "kind" : "IdRef", "name" : "'x'" }
568      ]
569    },
570    {
571      "opname" : "half_log2",
572      "opcode" : 73,
573      "operands" : [
574        { "kind" : "IdRef", "name" : "'x'" }
575      ]
576    },
577    {
578      "opname" : "half_log10",
579      "opcode" : 74,
580      "operands" : [
581        { "kind" : "IdRef", "name" : "'x'" }
582      ]
583    },
584    {
585      "opname" : "half_powr",
586      "opcode" : 75,
587      "operands" : [
588        { "kind" : "IdRef", "name" : "'x'" },
589        { "kind" : "IdRef", "name" : "'y'" }
590      ]
591    },
592    {
593      "opname" : "half_recip",
594      "opcode" : 76,
595      "operands" : [
596        { "kind" : "IdRef", "name" : "'x'" }
597      ]
598    },
599    {
600      "opname" : "half_rsqrt",
601      "opcode" : 77,
602      "operands" : [
603        { "kind" : "IdRef", "name" : "'x'" }
604      ]
605    },
606    {
607      "opname" : "half_sin",
608      "opcode" : 78,
609      "operands" : [
610        { "kind" : "IdRef", "name" : "'x'" }
611      ]
612    },
613    {
614      "opname" : "half_sqrt",
615      "opcode" : 79,
616      "operands" : [
617        { "kind" : "IdRef", "name" : "'x'" }
618      ]
619    },
620    {
621      "opname" : "half_tan",
622      "opcode" : 80,
623      "operands" : [
624        { "kind" : "IdRef", "name" : "'x'" }
625      ]
626    },
627    {
628      "opname" : "native_cos",
629      "opcode" : 81,
630      "operands" : [
631        { "kind" : "IdRef", "name" : "'x'" }
632      ]
633    },
634    {
635      "opname" : "native_divide",
636      "opcode" : 82,
637      "operands" : [
638        { "kind" : "IdRef", "name" : "'x'" },
639        { "kind" : "IdRef", "name" : "'y'" }
640      ]
641    },
642    {
643      "opname" : "native_exp",
644      "opcode" : 83,
645      "operands" : [
646        { "kind" : "IdRef", "name" : "'x'" }
647      ]
648    },
649    {
650      "opname" : "native_exp2",
651      "opcode" : 84,
652      "operands" : [
653        { "kind" : "IdRef", "name" : "'x'" }
654      ]
655    },
656    {
657      "opname" : "native_exp10",
658      "opcode" : 85,
659      "operands" : [
660        { "kind" : "IdRef", "name" : "'x'" }
661      ]
662    },
663    {
664      "opname" : "native_log",
665      "opcode" : 86,
666      "operands" : [
667        { "kind" : "IdRef", "name" : "'x'" }
668      ]
669    },
670    {
671      "opname" : "native_log2",
672      "opcode" : 87,
673      "operands" : [
674        { "kind" : "IdRef", "name" : "'x'" }
675      ]
676    },
677    {
678      "opname" : "native_log10",
679      "opcode" : 88,
680      "operands" : [
681        { "kind" : "IdRef", "name" : "'x'" }
682      ]
683    },
684    {
685      "opname" : "native_powr",
686      "opcode" : 89,
687      "operands" : [
688        { "kind" : "IdRef", "name" : "'x'" },
689        { "kind" : "IdRef", "name" : "'y'" }
690      ]
691    },
692    {
693      "opname" : "native_recip",
694      "opcode" : 90,
695      "operands" : [
696        { "kind" : "IdRef", "name" : "'x'" }
697      ]
698    },
699    {
700      "opname" : "native_rsqrt",
701      "opcode" : 91,
702      "operands" : [
703        { "kind" : "IdRef", "name" : "'x'" }
704      ]
705    },
706    {
707      "opname" : "native_sin",
708      "opcode" : 92,
709      "operands" : [
710        { "kind" : "IdRef", "name" : "'x'" }
711      ]
712    },
713    {
714      "opname" : "native_sqrt",
715      "opcode" : 93,
716      "operands" : [
717        { "kind" : "IdRef", "name" : "'x'" }
718      ]
719    },
720    {
721      "opname" : "native_tan",
722      "opcode" : 94,
723      "operands" : [
724        { "kind" : "IdRef", "name" : "'x'" }
725      ]
726    },
727    {
728      "opname" : "s_abs",
729      "opcode" : 141,
730      "operands" : [
731        { "kind" : "IdRef", "name" : "'x'" }
732      ]
733    },
734    {
735      "opname" : "s_abs_diff",
736      "opcode" : 142,
737      "operands" : [
738        { "kind" : "IdRef", "name" : "'x'" },
739        { "kind" : "IdRef", "name" : "'y'" }
740      ]
741    },
742    {
743      "opname" : "s_add_sat",
744      "opcode" : 143,
745      "operands" : [
746        { "kind" : "IdRef", "name" : "'x'" },
747        { "kind" : "IdRef", "name" : "'y'" }
748      ]
749    },
750    {
751      "opname" : "u_add_sat",
752      "opcode" : 144,
753      "operands" : [
754        { "kind" : "IdRef", "name" : "'x'" },
755        { "kind" : "IdRef", "name" : "'y'" }
756      ]
757    },
758    {
759      "opname" : "s_hadd",
760      "opcode" : 145,
761      "operands" : [
762        { "kind" : "IdRef", "name" : "'x'" },
763        { "kind" : "IdRef", "name" : "'y'" }
764      ]
765    },
766    {
767      "opname" : "u_hadd",
768      "opcode" : 146,
769      "operands" : [
770        { "kind" : "IdRef", "name" : "'x'" },
771        { "kind" : "IdRef", "name" : "'y'" }
772      ]
773    },
774    {
775      "opname" : "s_rhadd",
776      "opcode" : 147,
777      "operands" : [
778        { "kind" : "IdRef", "name" : "'x'" },
779        { "kind" : "IdRef", "name" : "'y'" }
780      ]
781    },
782    {
783      "opname" : "u_rhadd",
784      "opcode" : 148,
785      "operands" : [
786        { "kind" : "IdRef", "name" : "'x'" },
787        { "kind" : "IdRef", "name" : "'y'" }
788      ]
789    },
790    {
791      "opname" : "s_clamp",
792      "opcode" : 149,
793      "operands" : [
794        { "kind" : "IdRef", "name" : "'x'" },
795        { "kind" : "IdRef", "name" : "'minval'" },
796        { "kind" : "IdRef", "name" : "'maxval'" }
797      ]
798    },
799    {
800      "opname" : "u_clamp",
801      "opcode" : 150,
802      "operands" : [
803        { "kind" : "IdRef", "name" : "'x'" },
804        { "kind" : "IdRef", "name" : "'minval'" },
805        { "kind" : "IdRef", "name" : "'maxval'" }
806      ]
807    },
808    {
809      "opname" : "clz",
810      "opcode" : 151,
811      "operands" : [
812        { "kind" : "IdRef", "name" : "'x'" }
813      ]
814    },
815    {
816      "opname" : "ctz",
817      "opcode" : 152,
818      "operands" : [
819        { "kind" : "IdRef", "name" : "'x'" }
820      ]
821    },
822    {
823      "opname" : "s_mad_hi",
824      "opcode" : 153,
825      "operands" : [
826        { "kind" : "IdRef", "name" : "'a'" },
827        { "kind" : "IdRef", "name" : "'b'" },
828        { "kind" : "IdRef", "name" : "'c'" }
829      ]
830    },
831    {
832      "opname" : "u_mad_sat",
833      "opcode" : 154,
834      "operands" : [
835        { "kind" : "IdRef", "name" : "'x'" },
836        { "kind" : "IdRef", "name" : "'y'" },
837        { "kind" : "IdRef", "name" : "'z'" }
838      ]
839    },
840    {
841      "opname" : "s_mad_sat",
842      "opcode" : 155,
843      "operands" : [
844        { "kind" : "IdRef", "name" : "'x'" },
845        { "kind" : "IdRef", "name" : "'y'" },
846        { "kind" : "IdRef", "name" : "'z'" }
847      ]
848    },
849    {
850      "opname" : "s_max",
851      "opcode" : 156,
852      "operands" : [
853        { "kind" : "IdRef", "name" : "'x'" },
854        { "kind" : "IdRef", "name" : "'y'" }
855      ]
856    },
857    {
858      "opname" : "u_max",
859      "opcode" : 157,
860      "operands" : [
861        { "kind" : "IdRef", "name" : "'x'" },
862        { "kind" : "IdRef", "name" : "'y'" }
863      ]
864    },
865    {
866      "opname" : "s_min",
867      "opcode" : 158,
868      "operands" : [
869        { "kind" : "IdRef", "name" : "'x'" },
870        { "kind" : "IdRef", "name" : "'y'" }
871      ]
872    },
873    {
874      "opname" : "u_min",
875      "opcode" : 159,
876      "operands" : [
877        { "kind" : "IdRef", "name" : "'x'" },
878        { "kind" : "IdRef", "name" : "'y'" }
879      ]
880    },
881    {
882      "opname" : "s_mul_hi",
883      "opcode" : 160,
884      "operands" : [
885        { "kind" : "IdRef", "name" : "'x'" },
886        { "kind" : "IdRef", "name" : "'y'" }
887      ]
888    },
889    {
890      "opname" : "rotate",
891      "opcode" : 161,
892      "operands" : [
893        { "kind" : "IdRef", "name" : "'v'" },
894        { "kind" : "IdRef", "name" : "'i'" }
895      ]
896    },
897    {
898      "opname" : "s_sub_sat",
899      "opcode" : 162,
900      "operands" : [
901        { "kind" : "IdRef", "name" : "'x'" },
902        { "kind" : "IdRef", "name" : "'y'" }
903      ]
904    },
905    {
906      "opname" : "u_sub_sat",
907      "opcode" : 163,
908      "operands" : [
909        { "kind" : "IdRef", "name" : "'x'" },
910        { "kind" : "IdRef", "name" : "'y'" }
911      ]
912    },
913    {
914      "opname" : "u_upsample",
915      "opcode" : 164,
916      "operands" : [
917        { "kind" : "IdRef", "name" : "'hi'" },
918        { "kind" : "IdRef", "name" : "'lo'" }
919      ]
920    },
921    {
922      "opname" : "s_upsample",
923      "opcode" : 165,
924      "operands" : [
925        { "kind" : "IdRef", "name" : "'hi'" },
926        { "kind" : "IdRef", "name" : "'lo'" }
927      ]
928    },
929    {
930      "opname" : "popcount",
931      "opcode" : 166,
932      "operands" : [
933        { "kind" : "IdRef", "name" : "'x'" }
934      ]
935    },
936    {
937      "opname" : "s_mad24",
938      "opcode" : 167,
939      "operands" : [
940        { "kind" : "IdRef", "name" : "'x'" },
941        { "kind" : "IdRef", "name" : "'y'" },
942        { "kind" : "IdRef", "name" : "'z'" }
943      ]
944    },
945    {
946      "opname" : "u_mad24",
947      "opcode" : 168,
948      "operands" : [
949        { "kind" : "IdRef", "name" : "'x'" },
950        { "kind" : "IdRef", "name" : "'y'" },
951        { "kind" : "IdRef", "name" : "'z'" }
952      ]
953    },
954    {
955      "opname" : "s_mul24",
956      "opcode" : 169,
957      "operands" : [
958        { "kind" : "IdRef", "name" : "'x'" },
959        { "kind" : "IdRef", "name" : "'y'" }
960      ]
961    },
962    {
963      "opname" : "u_mul24",
964      "opcode" : 170,
965      "operands" : [
966        { "kind" : "IdRef", "name" : "'x'" },
967        { "kind" : "IdRef", "name" : "'y'" }
968      ]
969    },
970    {
971      "opname" : "u_abs",
972      "opcode" : 201,
973      "operands" : [
974        { "kind" : "IdRef", "name" : "'x'" }
975      ]
976    },
977    {
978      "opname" : "u_abs_diff",
979      "opcode" : 202,
980      "operands" : [
981        { "kind" : "IdRef", "name" : "'x'" },
982        { "kind" : "IdRef", "name" : "'y'" }
983      ]
984    },
985    {
986      "opname" : "u_mul_hi",
987      "opcode" : 203,
988      "operands" : [
989        { "kind" : "IdRef", "name" : "'x'" },
990        { "kind" : "IdRef", "name" : "'y'" }
991      ]
992    },
993    {
994      "opname" : "u_mad_hi",
995      "opcode" : 204,
996      "operands" : [
997        { "kind" : "IdRef", "name" : "'a'" },
998        { "kind" : "IdRef", "name" : "'b'" },
999        { "kind" : "IdRef", "name" : "'c'" }
1000      ]
1001    },
1002    {
1003      "opname" : "fclamp",
1004      "opcode" : 95,
1005      "operands" : [
1006        { "kind" : "IdRef", "name" : "'x'" },
1007        { "kind" : "IdRef", "name" : "'minval'" },
1008        { "kind" : "IdRef", "name" : "'maxval'" }
1009      ]
1010    },
1011    {
1012      "opname" : "degrees",
1013      "opcode" :96,
1014      "operands" : [
1015        { "kind" : "IdRef", "name" : "'radians'" }
1016      ]
1017    },
1018    {
1019      "opname" : "fmax_common",
1020      "opcode" : 97,
1021      "operands" : [
1022        { "kind" : "IdRef", "name" : "'x'" },
1023        { "kind" : "IdRef", "name" : "'y'" }
1024      ]
1025    },
1026    {
1027      "opname" : "fmin_common",
1028      "opcode" : 98,
1029      "operands" : [
1030        { "kind" : "IdRef", "name" : "'x'" },
1031        { "kind" : "IdRef", "name" : "'y'" }
1032      ]
1033    },
1034    {
1035      "opname" : "mix",
1036      "opcode" : 99,
1037      "operands" : [
1038        { "kind" : "IdRef", "name" : "'x'" },
1039        { "kind" : "IdRef", "name" : "'y'" },
1040        { "kind" : "IdRef", "name" : "'a'" }
1041      ]
1042    },
1043    {
1044      "opname" : "radians",
1045      "opcode" : 100,
1046      "operands" : [
1047        { "kind" : "IdRef", "name" : "'degrees'" }
1048      ]
1049    },
1050    {
1051      "opname" : "step",
1052      "opcode" : 101,
1053      "operands" : [
1054        { "kind" : "IdRef", "name" : "'edge'" },
1055        { "kind" : "IdRef", "name" : "'x'" }
1056      ]
1057    },
1058    {
1059      "opname" : "smoothstep",
1060      "opcode" : 102,
1061      "operands" : [
1062        { "kind" : "IdRef", "name" : "'edge0'" },
1063        { "kind" : "IdRef", "name" : "'edge1'" },
1064        { "kind" : "IdRef", "name" : "'x'" }
1065      ]
1066    },
1067    {
1068      "opname" : "sign",
1069      "opcode" : 103,
1070      "operands" : [
1071        { "kind" : "IdRef", "name" : "'x'" }
1072      ]
1073    },
1074    {
1075      "opname" : "cross",
1076      "opcode" : 104,
1077      "operands" : [
1078        { "kind" : "IdRef", "name" : "'p0'" },
1079        { "kind" : "IdRef", "name" : "'p1'" }
1080      ]
1081    },
1082    {
1083      "opname" : "distance",
1084      "opcode" : 105,
1085      "operands" : [
1086        { "kind" : "IdRef", "name" : "'p0'" },
1087        { "kind" : "IdRef", "name" : "'p1'" }
1088      ]
1089    },
1090    {
1091      "opname" : "length",
1092      "opcode" : 106,
1093      "operands" : [
1094        { "kind" : "IdRef", "name" : "'p'" }
1095      ]
1096    },
1097    {
1098      "opname" : "normalize",
1099      "opcode" : 107,
1100      "operands" : [
1101        { "kind" : "IdRef", "name" : "'p'" }
1102      ]
1103    },
1104    {
1105      "opname" : "fast_distance",
1106      "opcode" : 108,
1107      "operands" : [
1108        { "kind" : "IdRef", "name" : "'p0'" },
1109        { "kind" : "IdRef", "name" : "'p1'" }
1110      ]
1111    },
1112    {
1113      "opname" : "fast_length",
1114      "opcode" : 109,
1115      "operands" : [
1116        { "kind" : "IdRef", "name" : "'p'" }
1117      ]
1118    },
1119    {
1120      "opname" : "fast_normalize",
1121      "opcode" : 110,
1122      "operands" : [
1123        { "kind" : "IdRef", "name" : "'p'" }
1124      ]
1125    },
1126    {
1127      "opname" : "bitselect",
1128      "opcode" : 186,
1129      "operands" : [
1130        { "kind" : "IdRef", "name" : "'a'" },
1131        { "kind" : "IdRef", "name" : "'b'" },
1132        { "kind" : "IdRef", "name" : "'c'" }
1133      ]
1134    },
1135    {
1136      "opname" : "select",
1137      "opcode" : 187,
1138      "operands" : [
1139        { "kind" : "IdRef", "name" : "'a'" },
1140        { "kind" : "IdRef", "name" : "'b'" },
1141        { "kind" : "IdRef", "name" : "'c'" }
1142      ]
1143    },
1144    {
1145      "opname" : "vloadn",
1146      "opcode" : 171,
1147      "operands" : [
1148        { "kind" : "IdRef",          "name" : "'offset'" },
1149        { "kind" : "IdRef",          "name" : "'p'" },
1150        { "kind" : "LiteralInteger", "name" : "'n'" }
1151      ]
1152    },
1153    {
1154      "opname" : "vstoren",
1155      "opcode" : 172,
1156      "operands" : [
1157        { "kind" : "IdRef", "name" : "'data'" },
1158        { "kind" : "IdRef", "name" : "'offset'" },
1159        { "kind" : "IdRef", "name" : "'p'" }
1160      ]
1161    },
1162    {
1163      "opname" : "vload_half",
1164      "opcode" : 173,
1165      "operands" : [
1166        { "kind" : "IdRef",          "name" : "'offset'" },
1167        { "kind" : "IdRef",          "name" : "'p'" }
1168      ]
1169    },
1170    {
1171      "opname" : "vload_halfn",
1172      "opcode" : 174,
1173      "operands" : [
1174        { "kind" : "IdRef",          "name" : "'offset'" },
1175        { "kind" : "IdRef",          "name" : "'p'" },
1176        { "kind" : "LiteralInteger", "name" : "'n'" }
1177      ]
1178    },
1179    {
1180      "opname" : "vstore_half",
1181      "opcode" : 175,
1182      "operands" : [
1183        { "kind" : "IdRef", "name" : "'data'" },
1184        { "kind" : "IdRef", "name" : "'offset'" },
1185        { "kind" : "IdRef", "name" : "'p'" }
1186      ]
1187    },
1188    {
1189      "opname" : "vstore_half_r",
1190      "opcode" : 176,
1191      "operands" : [
1192        { "kind" : "IdRef",          "name" : "'data'" },
1193        { "kind" : "IdRef",          "name" : "'offset'" },
1194        { "kind" : "IdRef",          "name" : "'p'" },
1195        { "kind" : "FPRoundingMode", "name" : "'mode'" }
1196      ]
1197    },
1198    {
1199      "opname" : "vstore_halfn",
1200      "opcode" : 177,
1201      "operands" : [
1202        { "kind" : "IdRef",          "name" : "'data'" },
1203        { "kind" : "IdRef",          "name" : "'offset'" },
1204        { "kind" : "IdRef",          "name" : "'p'" }
1205      ]
1206    },
1207    {
1208      "opname" : "vstore_halfn_r",
1209      "opcode" : 178,
1210      "operands" : [
1211        { "kind" : "IdRef",          "name" : "'data'" },
1212        { "kind" : "IdRef",          "name" : "'offset'" },
1213        { "kind" : "IdRef",          "name" : "'p'" },
1214        { "kind" : "FPRoundingMode", "name" : "'mode'" }
1215      ]
1216    },
1217    {
1218      "opname" : "vloada_halfn",
1219      "opcode" : 179,
1220      "operands" : [
1221        { "kind" : "IdRef",          "name" : "'offset'" },
1222        { "kind" : "IdRef",          "name" : "'p'" },
1223        { "kind" : "LiteralInteger", "name" : "'n'" }
1224      ]
1225    },
1226    {
1227      "opname" : "vstorea_halfn",
1228      "opcode" : 180,
1229      "operands" : [
1230        { "kind" : "IdRef", "name" : "'data'" },
1231        { "kind" : "IdRef", "name" : "'offset'" },
1232        { "kind" : "IdRef", "name" : "'p'" }
1233      ]
1234    },
1235    {
1236      "opname" : "vstorea_halfn_r",
1237      "opcode" : 181,
1238      "operands" : [
1239        { "kind" : "IdRef",          "name" : "'data'" },
1240        { "kind" : "IdRef",          "name" : "'offset'" },
1241        { "kind" : "IdRef",          "name" : "'p'" },
1242        { "kind" : "FPRoundingMode", "name" : "'mode'" }
1243      ]
1244    },
1245    {
1246      "opname" : "shuffle",
1247      "opcode" : 182,
1248      "operands" : [
1249        { "kind" : "IdRef", "name" : "'x'" },
1250        { "kind" : "IdRef", "name" : "'shuffle mask'" }
1251      ]
1252    },
1253    {
1254      "opname" : "shuffle2",
1255      "opcode" : 183,
1256      "operands" : [
1257        { "kind" : "IdRef", "name" : "'x'" },
1258        { "kind" : "IdRef", "name" : "'y'" },
1259        { "kind" : "IdRef", "name" : "'shuffle mask'" }
1260      ]
1261    },
1262    {
1263      "opname" : "printf",
1264      "opcode" : 184,
1265      "operands" : [
1266        { "kind" : "IdRef", "name" : "'format'" },
1267        { "kind" : "IdRef", "name" : "'additional arguments'", "quantifier" : "*" }
1268      ]
1269    },
1270    {
1271      "opname" : "prefetch",
1272      "opcode" : 185,
1273      "operands" : [
1274        { "kind" : "IdRef", "name" : "'ptr'" },
1275        { "kind" : "IdRef", "name" : "'num elements'" }
1276      ]
1277    }
1278  ]
1279}
1280