xref: /netbsd-src/external/gpl3/binutils/dist/include/opcode/kvx.h (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
1 /* KVX assembler/disassembler support.
2 
3    Copyright (C) 2009-2024 Free Software Foundation, Inc.
4    Contributed by Kalray SA.
5 
6    This file is part of GNU Binutils.
7 
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the license, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program; see the file COPYING3. If not,
20    see <http://www.gnu.org/licenses/>.  */
21 
22 
23 #ifndef OPCODE_KVX_H
24 #define OPCODE_KVX_H
25 
26 #define KVXMAXSYLLABLES 3
27 #define KVXMAXOPERANDS 7
28 #define KVXMAXBUNDLEISSUE 6
29 #define KVXMAXBUNDLEWORDS 8
30 #define KVXNUMCORES 3
31 #define KVXNUMBUNDLINGS 19
32 
33 
34 /*
35  * The following macros are provided for compatibility with old
36  * code.  They should not be used in new code.
37  */
38 
39 
40 /***********************************************/
41 /*       DATA TYPES                            */
42 /***********************************************/
43 
44 /*  Operand definition -- used in building     */
45 /*  format table                               */
46 
47 enum kvx_rel {
48   /* Absolute relocation. */
49   KVX_REL_ABS,
50   /* PC relative relocation. */
51   KVX_REL_PC,
52   /* GP relative relocation. */
53   KVX_REL_GP,
54   /* TP relative relocation. */
55   KVX_REL_TP,
56   /* GOT relative relocation. */
57   KVX_REL_GOT,
58   /* BASE load address relative relocation. */
59   KVX_REL_BASE,
60 };
61 
62 struct kvx_reloc {
63   /* Size in bits. */
64   int bitsize;
65   /* Type of relative relocation. */
66   enum kvx_rel relative;
67   /* Number of BFD relocations. */
68   int reloc_nb;
69   /* List of BFD relocations. */
70   unsigned int relocs[];
71 };
72 
73 struct kvx_bitfield {
74   /* Number of bits.  */
75   int size;
76   /* Offset in abstract value.  */
77   int from_offset;
78   /* Offset in encoded value.  */
79   int to_offset;
80 };
81 
82 struct kvx_operand {
83   /* Operand type name.  */
84   const char *tname;
85   /* Type of operand.  */
86   int type;
87   /* Width of the operand. */
88   int width;
89   /* Encoded value shift. */
90   int shift;
91   /* Encoded value bias.  */
92   int bias;
93   /* Can be SIGNED|CANEXTEND|BITMASK|WRAPPED.  */
94   int flags;
95   /* Number of registers.  */
96   int reg_nb;
97   /* Valid registers for this operand (if no register get null pointer).  */
98   int *regs;
99   /* Number of relocations.  */
100   int reloc_nb;
101   /* List of relocations that can be applied to this operand.  */
102   struct kvx_reloc **relocs;
103   /* Number of given bitfields.  */
104   int bitfields;
105   /* Bitfields in most to least significant order.  */
106   struct kvx_bitfield bfield[];
107 };
108 
109 struct kvx_pseudo_relocs
110 {
111   enum
112   {
113     S32_LO5_UP27,
114     S37_LO10_UP27,
115     S43_LO10_UP27_EX6,
116     S64_LO10_UP27_EX27,
117     S16,
118     S32,
119     S64,
120   } reloc_type;
121 
122   int bitsize;
123 
124   /* Used when pseudo func should expand to different relocations
125      based on the 32/64 bits mode.
126      Enum values should match the kvx_arch_size var set by -m32
127    */
128   enum
129   {
130     PSEUDO_ALL = 0,
131     PSEUDO_32_ONLY = 32,
132     PSEUDO_64_ONLY = 64,
133   } avail_modes;
134 
135   /* set to 1 when pseudo func does not take an argument */
136   int has_no_arg;
137 
138   bfd_reloc_code_real_type reloc_lo5, reloc_lo10, reloc_up27, reloc_ex;
139   bfd_reloc_code_real_type single;
140   struct kvx_reloc *kreloc;
141 };
142 
143 typedef struct symbol symbolS;
144 
145 struct pseudo_func
146 {
147   const char *name;
148 
149   symbolS *sym;
150   struct kvx_pseudo_relocs pseudo_relocs;
151 };
152 
153 /* some flags for kvx_operand                                 */
154 /* kvxSIGNED    : is this operand treated as signed ?         */
155 /* kvxCANEXTEND : can this operand have an extension          */
156 /* kvxBITMASK   : this operand is a bit mask */
157 /* kvxWRAPPED   : this operand can accept signed and unsigned integer ranges */
158 
159 
160 #define kvxSIGNED    1
161 #define kvxCANEXTEND 2
162 #define kvxBITMASK   4
163 #define kvxWRAPPED   8
164 
165 #define kvxOPCODE_FLAG_UNDEF 0
166 
167 #define kvxOPCODE_FLAG_IMMX0 1
168 #define kvxOPCODE_FLAG_IMMX1 2
169 #define kvxOPCODE_FLAG_BCU 4
170 #define kvxOPCODE_FLAG_ALU 8
171 #define kvxOPCODE_FLAG_LSU 16
172 #define kvxOPCODE_FLAG_MAU 32
173 #define kvxOPCODE_FLAG_MODE64 64
174 #define kvxOPCODE_FLAG_MODE32 128
175 /* Opcode definition.  */
176 
177 struct kvx_codeword {
178   /* The opcode.  */
179   unsigned opcode;
180   /* Disassembly mask.  */
181   unsigned mask;
182   /* Target dependent flags.  */
183   unsigned flags;
184 };
185 
186 struct kvxopc {
187   /* asm name */
188   const char  *as_op;
189   /* 32 bits code words. */
190   struct kvx_codeword codewords[KVXMAXSYLLABLES];
191   /* Number of words in codewords[].  */
192   int wordcount;
193   /* coding size in case of variable length.  */
194   unsigned coding_size;
195   /* Bundling class.  */
196   int bundling;
197   /* Reservation class.  */
198   int reservation;
199   /* 0 terminated.  */
200   struct kvx_operand *format[KVXMAXOPERANDS + 1];
201   /* Resource class.  */
202   const char *rclass;
203   /* Formating string.  */
204   const char *fmtstring;
205 };
206 
207 struct kvx_core_info {
208   struct kvxopc *optab;
209   const char *name;
210   const int *resources;
211   int elf_core;
212   struct pseudo_func *pseudo_funcs;
213   int nb_pseudo_funcs;
214   int **reservation_table_table;
215   int reservation_table_lines;
216   int resource_max;
217   char **resource_names;
218 };
219 
220 struct kvx_Register {
221   int id;
222   const char *name;
223 };
224 
225 extern const int kvx_kv3_v1_reservation_table_lines;
226 extern const int *kvx_kv3_v1_reservation_table_table[];
227 extern const char *kvx_kv3_v1_resource_names[];
228 
229 extern const int kvx_kv3_v1_resources[];
230 extern struct kvxopc kvx_kv3_v1_optab[];
231 extern const struct kvx_core_info kvx_kv3_v1_core_info;
232 extern const int kvx_kv3_v2_reservation_table_lines;
233 extern const int *kvx_kv3_v2_reservation_table_table[];
234 extern const char *kvx_kv3_v2_resource_names[];
235 
236 extern const int kvx_kv3_v2_resources[];
237 extern struct kvxopc kvx_kv3_v2_optab[];
238 extern const struct kvx_core_info kvx_kv3_v2_core_info;
239 extern const int kvx_kv4_v1_reservation_table_lines;
240 extern const int *kvx_kv4_v1_reservation_table_table[];
241 extern const char *kvx_kv4_v1_resource_names[];
242 
243 extern const int kvx_kv4_v1_resources[];
244 extern struct kvxopc kvx_kv4_v1_optab[];
245 extern const struct kvx_core_info kvx_kv4_v1_core_info;
246 extern const struct kvx_core_info *kvx_core_info_table[];
247 extern const char ***kvx_modifiers_table[];
248 extern const struct kvx_Register *kvx_registers_table[];
249 extern const int *kvx_regfiles_table[];
250 
251 #define KVX_REGFILE_FIRST_GPR 0
252 #define KVX_REGFILE_LAST_GPR 1
253 #define KVX_REGFILE_DEC_GPR 2
254 #define KVX_REGFILE_FIRST_PGR 3
255 #define KVX_REGFILE_LAST_PGR 4
256 #define KVX_REGFILE_DEC_PGR 5
257 #define KVX_REGFILE_FIRST_QGR 6
258 #define KVX_REGFILE_LAST_QGR 7
259 #define KVX_REGFILE_DEC_QGR 8
260 #define KVX_REGFILE_FIRST_SFR 9
261 #define KVX_REGFILE_LAST_SFR 10
262 #define KVX_REGFILE_DEC_SFR 11
263 #define KVX_REGFILE_FIRST_X16R 12
264 #define KVX_REGFILE_LAST_X16R 13
265 #define KVX_REGFILE_DEC_X16R 14
266 #define KVX_REGFILE_FIRST_X2R 15
267 #define KVX_REGFILE_LAST_X2R 16
268 #define KVX_REGFILE_DEC_X2R 17
269 #define KVX_REGFILE_FIRST_X32R 18
270 #define KVX_REGFILE_LAST_X32R 19
271 #define KVX_REGFILE_DEC_X32R 20
272 #define KVX_REGFILE_FIRST_X4R 21
273 #define KVX_REGFILE_LAST_X4R 22
274 #define KVX_REGFILE_DEC_X4R 23
275 #define KVX_REGFILE_FIRST_X64R 24
276 #define KVX_REGFILE_LAST_X64R 25
277 #define KVX_REGFILE_DEC_X64R 26
278 #define KVX_REGFILE_FIRST_X8R 27
279 #define KVX_REGFILE_LAST_X8R 28
280 #define KVX_REGFILE_DEC_X8R 29
281 #define KVX_REGFILE_FIRST_XBR 30
282 #define KVX_REGFILE_LAST_XBR 31
283 #define KVX_REGFILE_DEC_XBR 32
284 #define KVX_REGFILE_FIRST_XCR 33
285 #define KVX_REGFILE_LAST_XCR 34
286 #define KVX_REGFILE_DEC_XCR 35
287 #define KVX_REGFILE_FIRST_XMR 36
288 #define KVX_REGFILE_LAST_XMR 37
289 #define KVX_REGFILE_DEC_XMR 38
290 #define KVX_REGFILE_FIRST_XTR 39
291 #define KVX_REGFILE_LAST_XTR 40
292 #define KVX_REGFILE_DEC_XTR 41
293 #define KVX_REGFILE_FIRST_XVR 42
294 #define KVX_REGFILE_LAST_XVR 43
295 #define KVX_REGFILE_DEC_XVR 44
296 #define KVX_REGFILE_REGISTERS 45
297 #define KVX_REGFILE_DEC_REGISTERS 46
298 
299 
300 extern int kvx_kv3_v1_regfiles[];
301 extern const char **kvx_kv3_v1_modifiers[];
302 extern struct kvx_Register kvx_kv3_v1_registers[];
303 
304 extern int kvx_kv3_v1_dec_registers[];
305 
306 enum Method_kvx_kv3_v1_enum {
307   Immediate_kv3_v1_pcrel17 = 1,
308   Immediate_kv3_v1_pcrel27 = 2,
309   Immediate_kv3_v1_signed10 = 3,
310   Immediate_kv3_v1_signed16 = 4,
311   Immediate_kv3_v1_signed27 = 5,
312   Immediate_kv3_v1_signed37 = 6,
313   Immediate_kv3_v1_signed43 = 7,
314   Immediate_kv3_v1_signed54 = 8,
315   Immediate_kv3_v1_sysnumber = 9,
316   Immediate_kv3_v1_unsigned6 = 10,
317   Immediate_kv3_v1_wrapped32 = 11,
318   Immediate_kv3_v1_wrapped64 = 12,
319   Modifier_kv3_v1_column = 13,
320   Modifier_kv3_v1_comparison = 14,
321   Modifier_kv3_v1_doscale = 15,
322   Modifier_kv3_v1_exunum = 16,
323   Modifier_kv3_v1_floatcomp = 17,
324   Modifier_kv3_v1_qindex = 18,
325   Modifier_kv3_v1_rectify = 19,
326   Modifier_kv3_v1_rounding = 20,
327   Modifier_kv3_v1_roundint = 21,
328   Modifier_kv3_v1_saturate = 22,
329   Modifier_kv3_v1_scalarcond = 23,
330   Modifier_kv3_v1_silent = 24,
331   Modifier_kv3_v1_simplecond = 25,
332   Modifier_kv3_v1_speculate = 26,
333   Modifier_kv3_v1_splat32 = 27,
334   Modifier_kv3_v1_variant = 28,
335   RegClass_kv3_v1_aloneReg = 29,
336   RegClass_kv3_v1_blockReg = 30,
337   RegClass_kv3_v1_blockReg0M4 = 31,
338   RegClass_kv3_v1_blockReg1M4 = 32,
339   RegClass_kv3_v1_blockReg2M4 = 33,
340   RegClass_kv3_v1_blockReg3M4 = 34,
341   RegClass_kv3_v1_blockRegE = 35,
342   RegClass_kv3_v1_blockRegO = 36,
343   RegClass_kv3_v1_blockReg_0 = 37,
344   RegClass_kv3_v1_blockReg_1 = 38,
345   RegClass_kv3_v1_buffer16Reg = 39,
346   RegClass_kv3_v1_buffer2Reg = 40,
347   RegClass_kv3_v1_buffer32Reg = 41,
348   RegClass_kv3_v1_buffer4Reg = 42,
349   RegClass_kv3_v1_buffer64Reg = 43,
350   RegClass_kv3_v1_buffer8Reg = 44,
351   RegClass_kv3_v1_coproReg = 45,
352   RegClass_kv3_v1_coproReg0M4 = 46,
353   RegClass_kv3_v1_coproReg1M4 = 47,
354   RegClass_kv3_v1_coproReg2M4 = 48,
355   RegClass_kv3_v1_coproReg3M4 = 49,
356   RegClass_kv3_v1_matrixReg = 50,
357   RegClass_kv3_v1_matrixReg_0 = 51,
358   RegClass_kv3_v1_matrixReg_1 = 52,
359   RegClass_kv3_v1_matrixReg_2 = 53,
360   RegClass_kv3_v1_matrixReg_3 = 54,
361   RegClass_kv3_v1_onlyfxReg = 55,
362   RegClass_kv3_v1_onlygetReg = 56,
363   RegClass_kv3_v1_onlyraReg = 57,
364   RegClass_kv3_v1_onlysetReg = 58,
365   RegClass_kv3_v1_onlyswapReg = 59,
366   RegClass_kv3_v1_pairedReg = 60,
367   RegClass_kv3_v1_pairedReg_0 = 61,
368   RegClass_kv3_v1_pairedReg_1 = 62,
369   RegClass_kv3_v1_quadReg = 63,
370   RegClass_kv3_v1_quadReg_0 = 64,
371   RegClass_kv3_v1_quadReg_1 = 65,
372   RegClass_kv3_v1_quadReg_2 = 66,
373   RegClass_kv3_v1_quadReg_3 = 67,
374   RegClass_kv3_v1_singleReg = 68,
375   RegClass_kv3_v1_systemReg = 69,
376   RegClass_kv3_v1_tileReg = 70,
377   RegClass_kv3_v1_tileReg_0 = 71,
378   RegClass_kv3_v1_tileReg_1 = 72,
379   RegClass_kv3_v1_vectorReg = 73,
380   RegClass_kv3_v1_vectorRegE = 74,
381   RegClass_kv3_v1_vectorRegO = 75,
382   RegClass_kv3_v1_vectorReg_0 = 76,
383   RegClass_kv3_v1_vectorReg_1 = 77,
384   RegClass_kv3_v1_vectorReg_2 = 78,
385   RegClass_kv3_v1_vectorReg_3 = 79,
386   Instruction_kv3_v1_abdd = 80,
387   Instruction_kv3_v1_abdd_abase = 81,
388   Instruction_kv3_v1_abdhq = 82,
389   Instruction_kv3_v1_abdw = 83,
390   Instruction_kv3_v1_abdwp = 84,
391   Instruction_kv3_v1_absd = 85,
392   Instruction_kv3_v1_abshq = 86,
393   Instruction_kv3_v1_absw = 87,
394   Instruction_kv3_v1_abswp = 88,
395   Instruction_kv3_v1_acswapd = 89,
396   Instruction_kv3_v1_acswapw = 90,
397   Instruction_kv3_v1_addcd = 91,
398   Instruction_kv3_v1_addcd_i = 92,
399   Instruction_kv3_v1_addd = 93,
400   Instruction_kv3_v1_addd_abase = 94,
401   Instruction_kv3_v1_addhcp_c = 95,
402   Instruction_kv3_v1_addhq = 96,
403   Instruction_kv3_v1_addsd = 97,
404   Instruction_kv3_v1_addshq = 98,
405   Instruction_kv3_v1_addsw = 99,
406   Instruction_kv3_v1_addswp = 100,
407   Instruction_kv3_v1_adduwd = 101,
408   Instruction_kv3_v1_addw = 102,
409   Instruction_kv3_v1_addwc_c = 103,
410   Instruction_kv3_v1_addwd = 104,
411   Instruction_kv3_v1_addwp = 105,
412   Instruction_kv3_v1_addx16d = 106,
413   Instruction_kv3_v1_addx16hq = 107,
414   Instruction_kv3_v1_addx16uwd = 108,
415   Instruction_kv3_v1_addx16w = 109,
416   Instruction_kv3_v1_addx16wd = 110,
417   Instruction_kv3_v1_addx16wp = 111,
418   Instruction_kv3_v1_addx2d = 112,
419   Instruction_kv3_v1_addx2hq = 113,
420   Instruction_kv3_v1_addx2uwd = 114,
421   Instruction_kv3_v1_addx2w = 115,
422   Instruction_kv3_v1_addx2wd = 116,
423   Instruction_kv3_v1_addx2wp = 117,
424   Instruction_kv3_v1_addx4d = 118,
425   Instruction_kv3_v1_addx4hq = 119,
426   Instruction_kv3_v1_addx4uwd = 120,
427   Instruction_kv3_v1_addx4w = 121,
428   Instruction_kv3_v1_addx4wd = 122,
429   Instruction_kv3_v1_addx4wp = 123,
430   Instruction_kv3_v1_addx8d = 124,
431   Instruction_kv3_v1_addx8hq = 125,
432   Instruction_kv3_v1_addx8uwd = 126,
433   Instruction_kv3_v1_addx8w = 127,
434   Instruction_kv3_v1_addx8wd = 128,
435   Instruction_kv3_v1_addx8wp = 129,
436   Instruction_kv3_v1_aladdd = 130,
437   Instruction_kv3_v1_aladdw = 131,
438   Instruction_kv3_v1_alclrd = 132,
439   Instruction_kv3_v1_alclrw = 133,
440   Instruction_kv3_v1_aligno = 134,
441   Instruction_kv3_v1_alignv = 135,
442   Instruction_kv3_v1_andd = 136,
443   Instruction_kv3_v1_andd_abase = 137,
444   Instruction_kv3_v1_andnd = 138,
445   Instruction_kv3_v1_andnd_abase = 139,
446   Instruction_kv3_v1_andnw = 140,
447   Instruction_kv3_v1_andw = 141,
448   Instruction_kv3_v1_avghq = 142,
449   Instruction_kv3_v1_avgrhq = 143,
450   Instruction_kv3_v1_avgruhq = 144,
451   Instruction_kv3_v1_avgruw = 145,
452   Instruction_kv3_v1_avgruwp = 146,
453   Instruction_kv3_v1_avgrw = 147,
454   Instruction_kv3_v1_avgrwp = 148,
455   Instruction_kv3_v1_avguhq = 149,
456   Instruction_kv3_v1_avguw = 150,
457   Instruction_kv3_v1_avguwp = 151,
458   Instruction_kv3_v1_avgw = 152,
459   Instruction_kv3_v1_avgwp = 153,
460   Instruction_kv3_v1_await = 154,
461   Instruction_kv3_v1_barrier = 155,
462   Instruction_kv3_v1_call = 156,
463   Instruction_kv3_v1_cb = 157,
464   Instruction_kv3_v1_cbsd = 158,
465   Instruction_kv3_v1_cbsw = 159,
466   Instruction_kv3_v1_cbswp = 160,
467   Instruction_kv3_v1_clrf = 161,
468   Instruction_kv3_v1_clsd = 162,
469   Instruction_kv3_v1_clsw = 163,
470   Instruction_kv3_v1_clswp = 164,
471   Instruction_kv3_v1_clzd = 165,
472   Instruction_kv3_v1_clzw = 166,
473   Instruction_kv3_v1_clzwp = 167,
474   Instruction_kv3_v1_cmoved = 168,
475   Instruction_kv3_v1_cmovehq = 169,
476   Instruction_kv3_v1_cmovewp = 170,
477   Instruction_kv3_v1_cmuldt = 171,
478   Instruction_kv3_v1_cmulghxdt = 172,
479   Instruction_kv3_v1_cmulglxdt = 173,
480   Instruction_kv3_v1_cmulgmxdt = 174,
481   Instruction_kv3_v1_cmulxdt = 175,
482   Instruction_kv3_v1_compd = 176,
483   Instruction_kv3_v1_compnhq = 177,
484   Instruction_kv3_v1_compnwp = 178,
485   Instruction_kv3_v1_compuwd = 179,
486   Instruction_kv3_v1_compw = 180,
487   Instruction_kv3_v1_compwd = 181,
488   Instruction_kv3_v1_convdhv0 = 182,
489   Instruction_kv3_v1_convdhv1 = 183,
490   Instruction_kv3_v1_convwbv0 = 184,
491   Instruction_kv3_v1_convwbv1 = 185,
492   Instruction_kv3_v1_convwbv2 = 186,
493   Instruction_kv3_v1_convwbv3 = 187,
494   Instruction_kv3_v1_copyd = 188,
495   Instruction_kv3_v1_copyo = 189,
496   Instruction_kv3_v1_copyq = 190,
497   Instruction_kv3_v1_copyw = 191,
498   Instruction_kv3_v1_crcbellw = 192,
499   Instruction_kv3_v1_crcbelmw = 193,
500   Instruction_kv3_v1_crclellw = 194,
501   Instruction_kv3_v1_crclelmw = 195,
502   Instruction_kv3_v1_ctzd = 196,
503   Instruction_kv3_v1_ctzw = 197,
504   Instruction_kv3_v1_ctzwp = 198,
505   Instruction_kv3_v1_d1inval = 199,
506   Instruction_kv3_v1_dinvall = 200,
507   Instruction_kv3_v1_dot2suwd = 201,
508   Instruction_kv3_v1_dot2suwdp = 202,
509   Instruction_kv3_v1_dot2uwd = 203,
510   Instruction_kv3_v1_dot2uwdp = 204,
511   Instruction_kv3_v1_dot2w = 205,
512   Instruction_kv3_v1_dot2wd = 206,
513   Instruction_kv3_v1_dot2wdp = 207,
514   Instruction_kv3_v1_dot2wzp = 208,
515   Instruction_kv3_v1_dtouchl = 209,
516   Instruction_kv3_v1_dzerol = 210,
517   Instruction_kv3_v1_errop = 211,
518   Instruction_kv3_v1_extfs = 212,
519   Instruction_kv3_v1_extfz = 213,
520   Instruction_kv3_v1_fabsd = 214,
521   Instruction_kv3_v1_fabshq = 215,
522   Instruction_kv3_v1_fabsw = 216,
523   Instruction_kv3_v1_fabswp = 217,
524   Instruction_kv3_v1_faddd = 218,
525   Instruction_kv3_v1_fadddc = 219,
526   Instruction_kv3_v1_fadddc_c = 220,
527   Instruction_kv3_v1_fadddp = 221,
528   Instruction_kv3_v1_faddhq = 222,
529   Instruction_kv3_v1_faddw = 223,
530   Instruction_kv3_v1_faddwc = 224,
531   Instruction_kv3_v1_faddwc_c = 225,
532   Instruction_kv3_v1_faddwcp = 226,
533   Instruction_kv3_v1_faddwcp_c = 227,
534   Instruction_kv3_v1_faddwp = 228,
535   Instruction_kv3_v1_faddwq = 229,
536   Instruction_kv3_v1_fcdivd = 230,
537   Instruction_kv3_v1_fcdivw = 231,
538   Instruction_kv3_v1_fcdivwp = 232,
539   Instruction_kv3_v1_fcompd = 233,
540   Instruction_kv3_v1_fcompnhq = 234,
541   Instruction_kv3_v1_fcompnwp = 235,
542   Instruction_kv3_v1_fcompw = 236,
543   Instruction_kv3_v1_fdot2w = 237,
544   Instruction_kv3_v1_fdot2wd = 238,
545   Instruction_kv3_v1_fdot2wdp = 239,
546   Instruction_kv3_v1_fdot2wzp = 240,
547   Instruction_kv3_v1_fence = 241,
548   Instruction_kv3_v1_ffmad = 242,
549   Instruction_kv3_v1_ffmahq = 243,
550   Instruction_kv3_v1_ffmahw = 244,
551   Instruction_kv3_v1_ffmahwq = 245,
552   Instruction_kv3_v1_ffmaw = 246,
553   Instruction_kv3_v1_ffmawd = 247,
554   Instruction_kv3_v1_ffmawdp = 248,
555   Instruction_kv3_v1_ffmawp = 249,
556   Instruction_kv3_v1_ffmsd = 250,
557   Instruction_kv3_v1_ffmshq = 251,
558   Instruction_kv3_v1_ffmshw = 252,
559   Instruction_kv3_v1_ffmshwq = 253,
560   Instruction_kv3_v1_ffmsw = 254,
561   Instruction_kv3_v1_ffmswd = 255,
562   Instruction_kv3_v1_ffmswdp = 256,
563   Instruction_kv3_v1_ffmswp = 257,
564   Instruction_kv3_v1_fixedd = 258,
565   Instruction_kv3_v1_fixedud = 259,
566   Instruction_kv3_v1_fixeduw = 260,
567   Instruction_kv3_v1_fixeduwp = 261,
568   Instruction_kv3_v1_fixedw = 262,
569   Instruction_kv3_v1_fixedwp = 263,
570   Instruction_kv3_v1_floatd = 264,
571   Instruction_kv3_v1_floatud = 265,
572   Instruction_kv3_v1_floatuw = 266,
573   Instruction_kv3_v1_floatuwp = 267,
574   Instruction_kv3_v1_floatw = 268,
575   Instruction_kv3_v1_floatwp = 269,
576   Instruction_kv3_v1_fmaxd = 270,
577   Instruction_kv3_v1_fmaxhq = 271,
578   Instruction_kv3_v1_fmaxw = 272,
579   Instruction_kv3_v1_fmaxwp = 273,
580   Instruction_kv3_v1_fmind = 274,
581   Instruction_kv3_v1_fminhq = 275,
582   Instruction_kv3_v1_fminw = 276,
583   Instruction_kv3_v1_fminwp = 277,
584   Instruction_kv3_v1_fmm212w = 278,
585   Instruction_kv3_v1_fmma212w = 279,
586   Instruction_kv3_v1_fmma242hw0 = 280,
587   Instruction_kv3_v1_fmma242hw1 = 281,
588   Instruction_kv3_v1_fmma242hw2 = 282,
589   Instruction_kv3_v1_fmma242hw3 = 283,
590   Instruction_kv3_v1_fmms212w = 284,
591   Instruction_kv3_v1_fmuld = 285,
592   Instruction_kv3_v1_fmulhq = 286,
593   Instruction_kv3_v1_fmulhw = 287,
594   Instruction_kv3_v1_fmulhwq = 288,
595   Instruction_kv3_v1_fmulw = 289,
596   Instruction_kv3_v1_fmulwc = 290,
597   Instruction_kv3_v1_fmulwc_c = 291,
598   Instruction_kv3_v1_fmulwd = 292,
599   Instruction_kv3_v1_fmulwdc = 293,
600   Instruction_kv3_v1_fmulwdc_c = 294,
601   Instruction_kv3_v1_fmulwdp = 295,
602   Instruction_kv3_v1_fmulwp = 296,
603   Instruction_kv3_v1_fmulwq = 297,
604   Instruction_kv3_v1_fnarrow44wh = 298,
605   Instruction_kv3_v1_fnarrowdw = 299,
606   Instruction_kv3_v1_fnarrowdwp = 300,
607   Instruction_kv3_v1_fnarrowwh = 301,
608   Instruction_kv3_v1_fnarrowwhq = 302,
609   Instruction_kv3_v1_fnegd = 303,
610   Instruction_kv3_v1_fneghq = 304,
611   Instruction_kv3_v1_fnegw = 305,
612   Instruction_kv3_v1_fnegwp = 306,
613   Instruction_kv3_v1_frecw = 307,
614   Instruction_kv3_v1_frsrw = 308,
615   Instruction_kv3_v1_fsbfd = 309,
616   Instruction_kv3_v1_fsbfdc = 310,
617   Instruction_kv3_v1_fsbfdc_c = 311,
618   Instruction_kv3_v1_fsbfdp = 312,
619   Instruction_kv3_v1_fsbfhq = 313,
620   Instruction_kv3_v1_fsbfw = 314,
621   Instruction_kv3_v1_fsbfwc = 315,
622   Instruction_kv3_v1_fsbfwc_c = 316,
623   Instruction_kv3_v1_fsbfwcp = 317,
624   Instruction_kv3_v1_fsbfwcp_c = 318,
625   Instruction_kv3_v1_fsbfwp = 319,
626   Instruction_kv3_v1_fsbfwq = 320,
627   Instruction_kv3_v1_fscalewv = 321,
628   Instruction_kv3_v1_fsdivd = 322,
629   Instruction_kv3_v1_fsdivw = 323,
630   Instruction_kv3_v1_fsdivwp = 324,
631   Instruction_kv3_v1_fsrecd = 325,
632   Instruction_kv3_v1_fsrecw = 326,
633   Instruction_kv3_v1_fsrecwp = 327,
634   Instruction_kv3_v1_fsrsrd = 328,
635   Instruction_kv3_v1_fsrsrw = 329,
636   Instruction_kv3_v1_fsrsrwp = 330,
637   Instruction_kv3_v1_fwidenlhw = 331,
638   Instruction_kv3_v1_fwidenlhwp = 332,
639   Instruction_kv3_v1_fwidenlwd = 333,
640   Instruction_kv3_v1_fwidenmhw = 334,
641   Instruction_kv3_v1_fwidenmhwp = 335,
642   Instruction_kv3_v1_fwidenmwd = 336,
643   Instruction_kv3_v1_get = 337,
644   Instruction_kv3_v1_goto = 338,
645   Instruction_kv3_v1_i1inval = 339,
646   Instruction_kv3_v1_i1invals = 340,
647   Instruction_kv3_v1_icall = 341,
648   Instruction_kv3_v1_iget = 342,
649   Instruction_kv3_v1_igoto = 343,
650   Instruction_kv3_v1_insf = 344,
651   Instruction_kv3_v1_landd = 345,
652   Instruction_kv3_v1_landhq = 346,
653   Instruction_kv3_v1_landw = 347,
654   Instruction_kv3_v1_landwp = 348,
655   Instruction_kv3_v1_lbs = 349,
656   Instruction_kv3_v1_lbz = 350,
657   Instruction_kv3_v1_ld = 351,
658   Instruction_kv3_v1_lhs = 352,
659   Instruction_kv3_v1_lhz = 353,
660   Instruction_kv3_v1_lnandd = 354,
661   Instruction_kv3_v1_lnandhq = 355,
662   Instruction_kv3_v1_lnandw = 356,
663   Instruction_kv3_v1_lnandwp = 357,
664   Instruction_kv3_v1_lnord = 358,
665   Instruction_kv3_v1_lnorhq = 359,
666   Instruction_kv3_v1_lnorw = 360,
667   Instruction_kv3_v1_lnorwp = 361,
668   Instruction_kv3_v1_lo = 362,
669   Instruction_kv3_v1_loopdo = 363,
670   Instruction_kv3_v1_lord = 364,
671   Instruction_kv3_v1_lorhq = 365,
672   Instruction_kv3_v1_lorw = 366,
673   Instruction_kv3_v1_lorwp = 367,
674   Instruction_kv3_v1_lq = 368,
675   Instruction_kv3_v1_lws = 369,
676   Instruction_kv3_v1_lwz = 370,
677   Instruction_kv3_v1_maddd = 371,
678   Instruction_kv3_v1_madddt = 372,
679   Instruction_kv3_v1_maddhq = 373,
680   Instruction_kv3_v1_maddhwq = 374,
681   Instruction_kv3_v1_maddsudt = 375,
682   Instruction_kv3_v1_maddsuhwq = 376,
683   Instruction_kv3_v1_maddsuwd = 377,
684   Instruction_kv3_v1_maddsuwdp = 378,
685   Instruction_kv3_v1_maddudt = 379,
686   Instruction_kv3_v1_madduhwq = 380,
687   Instruction_kv3_v1_madduwd = 381,
688   Instruction_kv3_v1_madduwdp = 382,
689   Instruction_kv3_v1_madduzdt = 383,
690   Instruction_kv3_v1_maddw = 384,
691   Instruction_kv3_v1_maddwd = 385,
692   Instruction_kv3_v1_maddwdp = 386,
693   Instruction_kv3_v1_maddwp = 387,
694   Instruction_kv3_v1_make = 388,
695   Instruction_kv3_v1_maxd = 389,
696   Instruction_kv3_v1_maxd_abase = 390,
697   Instruction_kv3_v1_maxhq = 391,
698   Instruction_kv3_v1_maxud = 392,
699   Instruction_kv3_v1_maxud_abase = 393,
700   Instruction_kv3_v1_maxuhq = 394,
701   Instruction_kv3_v1_maxuw = 395,
702   Instruction_kv3_v1_maxuwp = 396,
703   Instruction_kv3_v1_maxw = 397,
704   Instruction_kv3_v1_maxwp = 398,
705   Instruction_kv3_v1_mind = 399,
706   Instruction_kv3_v1_mind_abase = 400,
707   Instruction_kv3_v1_minhq = 401,
708   Instruction_kv3_v1_minud = 402,
709   Instruction_kv3_v1_minud_abase = 403,
710   Instruction_kv3_v1_minuhq = 404,
711   Instruction_kv3_v1_minuw = 405,
712   Instruction_kv3_v1_minuwp = 406,
713   Instruction_kv3_v1_minw = 407,
714   Instruction_kv3_v1_minwp = 408,
715   Instruction_kv3_v1_mm212w = 409,
716   Instruction_kv3_v1_mma212w = 410,
717   Instruction_kv3_v1_mma444hbd0 = 411,
718   Instruction_kv3_v1_mma444hbd1 = 412,
719   Instruction_kv3_v1_mma444hd = 413,
720   Instruction_kv3_v1_mma444suhbd0 = 414,
721   Instruction_kv3_v1_mma444suhbd1 = 415,
722   Instruction_kv3_v1_mma444suhd = 416,
723   Instruction_kv3_v1_mma444uhbd0 = 417,
724   Instruction_kv3_v1_mma444uhbd1 = 418,
725   Instruction_kv3_v1_mma444uhd = 419,
726   Instruction_kv3_v1_mma444ushbd0 = 420,
727   Instruction_kv3_v1_mma444ushbd1 = 421,
728   Instruction_kv3_v1_mma444ushd = 422,
729   Instruction_kv3_v1_mms212w = 423,
730   Instruction_kv3_v1_movetq = 424,
731   Instruction_kv3_v1_msbfd = 425,
732   Instruction_kv3_v1_msbfdt = 426,
733   Instruction_kv3_v1_msbfhq = 427,
734   Instruction_kv3_v1_msbfhwq = 428,
735   Instruction_kv3_v1_msbfsudt = 429,
736   Instruction_kv3_v1_msbfsuhwq = 430,
737   Instruction_kv3_v1_msbfsuwd = 431,
738   Instruction_kv3_v1_msbfsuwdp = 432,
739   Instruction_kv3_v1_msbfudt = 433,
740   Instruction_kv3_v1_msbfuhwq = 434,
741   Instruction_kv3_v1_msbfuwd = 435,
742   Instruction_kv3_v1_msbfuwdp = 436,
743   Instruction_kv3_v1_msbfuzdt = 437,
744   Instruction_kv3_v1_msbfw = 438,
745   Instruction_kv3_v1_msbfwd = 439,
746   Instruction_kv3_v1_msbfwdp = 440,
747   Instruction_kv3_v1_msbfwp = 441,
748   Instruction_kv3_v1_muld = 442,
749   Instruction_kv3_v1_muldt = 443,
750   Instruction_kv3_v1_mulhq = 444,
751   Instruction_kv3_v1_mulhwq = 445,
752   Instruction_kv3_v1_mulsudt = 446,
753   Instruction_kv3_v1_mulsuhwq = 447,
754   Instruction_kv3_v1_mulsuwd = 448,
755   Instruction_kv3_v1_mulsuwdp = 449,
756   Instruction_kv3_v1_muludt = 450,
757   Instruction_kv3_v1_muluhwq = 451,
758   Instruction_kv3_v1_muluwd = 452,
759   Instruction_kv3_v1_muluwdp = 453,
760   Instruction_kv3_v1_mulw = 454,
761   Instruction_kv3_v1_mulwc = 455,
762   Instruction_kv3_v1_mulwc_c = 456,
763   Instruction_kv3_v1_mulwd = 457,
764   Instruction_kv3_v1_mulwdc = 458,
765   Instruction_kv3_v1_mulwdc_c = 459,
766   Instruction_kv3_v1_mulwdp = 460,
767   Instruction_kv3_v1_mulwp = 461,
768   Instruction_kv3_v1_mulwq = 462,
769   Instruction_kv3_v1_nandd = 463,
770   Instruction_kv3_v1_nandd_abase = 464,
771   Instruction_kv3_v1_nandw = 465,
772   Instruction_kv3_v1_negd = 466,
773   Instruction_kv3_v1_neghq = 467,
774   Instruction_kv3_v1_negw = 468,
775   Instruction_kv3_v1_negwp = 469,
776   Instruction_kv3_v1_nop = 470,
777   Instruction_kv3_v1_nord = 471,
778   Instruction_kv3_v1_nord_abase = 472,
779   Instruction_kv3_v1_norw = 473,
780   Instruction_kv3_v1_notd = 474,
781   Instruction_kv3_v1_notw = 475,
782   Instruction_kv3_v1_nxord = 476,
783   Instruction_kv3_v1_nxord_abase = 477,
784   Instruction_kv3_v1_nxorw = 478,
785   Instruction_kv3_v1_ord = 479,
786   Instruction_kv3_v1_ord_abase = 480,
787   Instruction_kv3_v1_ornd = 481,
788   Instruction_kv3_v1_ornd_abase = 482,
789   Instruction_kv3_v1_ornw = 483,
790   Instruction_kv3_v1_orw = 484,
791   Instruction_kv3_v1_pcrel = 485,
792   Instruction_kv3_v1_ret = 486,
793   Instruction_kv3_v1_rfe = 487,
794   Instruction_kv3_v1_rolw = 488,
795   Instruction_kv3_v1_rolwps = 489,
796   Instruction_kv3_v1_rorw = 490,
797   Instruction_kv3_v1_rorwps = 491,
798   Instruction_kv3_v1_rswap = 492,
799   Instruction_kv3_v1_satd = 493,
800   Instruction_kv3_v1_satdh = 494,
801   Instruction_kv3_v1_satdw = 495,
802   Instruction_kv3_v1_sb = 496,
803   Instruction_kv3_v1_sbfcd = 497,
804   Instruction_kv3_v1_sbfcd_i = 498,
805   Instruction_kv3_v1_sbfd = 499,
806   Instruction_kv3_v1_sbfd_abase = 500,
807   Instruction_kv3_v1_sbfhcp_c = 501,
808   Instruction_kv3_v1_sbfhq = 502,
809   Instruction_kv3_v1_sbfsd = 503,
810   Instruction_kv3_v1_sbfshq = 504,
811   Instruction_kv3_v1_sbfsw = 505,
812   Instruction_kv3_v1_sbfswp = 506,
813   Instruction_kv3_v1_sbfuwd = 507,
814   Instruction_kv3_v1_sbfw = 508,
815   Instruction_kv3_v1_sbfwc_c = 509,
816   Instruction_kv3_v1_sbfwd = 510,
817   Instruction_kv3_v1_sbfwp = 511,
818   Instruction_kv3_v1_sbfx16d = 512,
819   Instruction_kv3_v1_sbfx16hq = 513,
820   Instruction_kv3_v1_sbfx16uwd = 514,
821   Instruction_kv3_v1_sbfx16w = 515,
822   Instruction_kv3_v1_sbfx16wd = 516,
823   Instruction_kv3_v1_sbfx16wp = 517,
824   Instruction_kv3_v1_sbfx2d = 518,
825   Instruction_kv3_v1_sbfx2hq = 519,
826   Instruction_kv3_v1_sbfx2uwd = 520,
827   Instruction_kv3_v1_sbfx2w = 521,
828   Instruction_kv3_v1_sbfx2wd = 522,
829   Instruction_kv3_v1_sbfx2wp = 523,
830   Instruction_kv3_v1_sbfx4d = 524,
831   Instruction_kv3_v1_sbfx4hq = 525,
832   Instruction_kv3_v1_sbfx4uwd = 526,
833   Instruction_kv3_v1_sbfx4w = 527,
834   Instruction_kv3_v1_sbfx4wd = 528,
835   Instruction_kv3_v1_sbfx4wp = 529,
836   Instruction_kv3_v1_sbfx8d = 530,
837   Instruction_kv3_v1_sbfx8hq = 531,
838   Instruction_kv3_v1_sbfx8uwd = 532,
839   Instruction_kv3_v1_sbfx8w = 533,
840   Instruction_kv3_v1_sbfx8wd = 534,
841   Instruction_kv3_v1_sbfx8wp = 535,
842   Instruction_kv3_v1_sbmm8 = 536,
843   Instruction_kv3_v1_sbmm8_abase = 537,
844   Instruction_kv3_v1_sbmmt8 = 538,
845   Instruction_kv3_v1_sbmmt8_abase = 539,
846   Instruction_kv3_v1_scall = 540,
847   Instruction_kv3_v1_sd = 541,
848   Instruction_kv3_v1_set = 542,
849   Instruction_kv3_v1_sh = 543,
850   Instruction_kv3_v1_sleep = 544,
851   Instruction_kv3_v1_slld = 545,
852   Instruction_kv3_v1_sllhqs = 546,
853   Instruction_kv3_v1_sllw = 547,
854   Instruction_kv3_v1_sllwps = 548,
855   Instruction_kv3_v1_slsd = 549,
856   Instruction_kv3_v1_slshqs = 550,
857   Instruction_kv3_v1_slsw = 551,
858   Instruction_kv3_v1_slswps = 552,
859   Instruction_kv3_v1_so = 553,
860   Instruction_kv3_v1_sq = 554,
861   Instruction_kv3_v1_srad = 555,
862   Instruction_kv3_v1_srahqs = 556,
863   Instruction_kv3_v1_sraw = 557,
864   Instruction_kv3_v1_srawps = 558,
865   Instruction_kv3_v1_srld = 559,
866   Instruction_kv3_v1_srlhqs = 560,
867   Instruction_kv3_v1_srlw = 561,
868   Instruction_kv3_v1_srlwps = 562,
869   Instruction_kv3_v1_srsd = 563,
870   Instruction_kv3_v1_srshqs = 564,
871   Instruction_kv3_v1_srsw = 565,
872   Instruction_kv3_v1_srswps = 566,
873   Instruction_kv3_v1_stop = 567,
874   Instruction_kv3_v1_stsud = 568,
875   Instruction_kv3_v1_stsuw = 569,
876   Instruction_kv3_v1_sw = 570,
877   Instruction_kv3_v1_sxbd = 571,
878   Instruction_kv3_v1_sxhd = 572,
879   Instruction_kv3_v1_sxlbhq = 573,
880   Instruction_kv3_v1_sxlhwp = 574,
881   Instruction_kv3_v1_sxmbhq = 575,
882   Instruction_kv3_v1_sxmhwp = 576,
883   Instruction_kv3_v1_sxwd = 577,
884   Instruction_kv3_v1_syncgroup = 578,
885   Instruction_kv3_v1_tlbdinval = 579,
886   Instruction_kv3_v1_tlbiinval = 580,
887   Instruction_kv3_v1_tlbprobe = 581,
888   Instruction_kv3_v1_tlbread = 582,
889   Instruction_kv3_v1_tlbwrite = 583,
890   Instruction_kv3_v1_waitit = 584,
891   Instruction_kv3_v1_wfxl = 585,
892   Instruction_kv3_v1_wfxm = 586,
893   Instruction_kv3_v1_xcopyo = 587,
894   Instruction_kv3_v1_xlo = 588,
895   Instruction_kv3_v1_xmma484bw = 589,
896   Instruction_kv3_v1_xmma484subw = 590,
897   Instruction_kv3_v1_xmma484ubw = 591,
898   Instruction_kv3_v1_xmma484usbw = 592,
899   Instruction_kv3_v1_xmovefo = 593,
900   Instruction_kv3_v1_xmovetq = 594,
901   Instruction_kv3_v1_xmt44d = 595,
902   Instruction_kv3_v1_xord = 596,
903   Instruction_kv3_v1_xord_abase = 597,
904   Instruction_kv3_v1_xorw = 598,
905   Instruction_kv3_v1_xso = 599,
906   Instruction_kv3_v1_zxbd = 600,
907   Instruction_kv3_v1_zxhd = 601,
908   Instruction_kv3_v1_zxwd = 602,
909   Separator_kv3_v1_comma = 603,
910   Separator_kv3_v1_equal = 604,
911   Separator_kv3_v1_qmark = 605,
912   Separator_kv3_v1_rsbracket = 606,
913   Separator_kv3_v1_lsbracket = 607
914 };
915 
916 enum Modifier_kv3_v1_exunum_enum {
917   Modifier_kv3_v1_exunum_ALU0=0,
918   Modifier_kv3_v1_exunum_ALU1=1,
919   Modifier_kv3_v1_exunum_MAU=2,
920   Modifier_kv3_v1_exunum_LSU=3,
921 };
922 
923 extern const char *mod_kv3_v1_exunum[];
924 extern const char *mod_kv3_v1_scalarcond[];
925 extern const char *mod_kv3_v1_simplecond[];
926 extern const char *mod_kv3_v1_comparison[];
927 extern const char *mod_kv3_v1_floatcomp[];
928 extern const char *mod_kv3_v1_rounding[];
929 extern const char *mod_kv3_v1_silent[];
930 extern const char *mod_kv3_v1_roundint[];
931 extern const char *mod_kv3_v1_saturate[];
932 extern const char *mod_kv3_v1_rectify[];
933 extern const char *mod_kv3_v1_variant[];
934 extern const char *mod_kv3_v1_speculate[];
935 extern const char *mod_kv3_v1_column[];
936 extern const char *mod_kv3_v1_doscale[];
937 extern const char *mod_kv3_v1_qindex[];
938 extern const char *mod_kv3_v1_splat32[];
939 typedef enum {
940   Bundling_kv3_v1_ALL,
941   Bundling_kv3_v1_BCU,
942   Bundling_kv3_v1_TCA,
943   Bundling_kv3_v1_FULL,
944   Bundling_kv3_v1_FULL_X,
945   Bundling_kv3_v1_FULL_Y,
946   Bundling_kv3_v1_LITE,
947   Bundling_kv3_v1_LITE_X,
948   Bundling_kv3_v1_LITE_Y,
949   Bundling_kv3_v1_MAU,
950   Bundling_kv3_v1_MAU_X,
951   Bundling_kv3_v1_MAU_Y,
952   Bundling_kv3_v1_LSU,
953   Bundling_kv3_v1_LSU_X,
954   Bundling_kv3_v1_LSU_Y,
955   Bundling_kv3_v1_TINY,
956   Bundling_kv3_v1_TINY_X,
957   Bundling_kv3_v1_TINY_Y,
958   Bundling_kv3_v1_NOP,
959 } Bundling_kv3_v1;
960 
961 
962 static const char *bundling_kv3_v1_names(Bundling_kv3_v1 bundling) __attribute__((unused));
bundling_kv3_v1_names(Bundling_kv3_v1 bundling)963 static const char *bundling_kv3_v1_names(Bundling_kv3_v1 bundling) {
964   switch(bundling) {
965   case Bundling_kv3_v1_ALL: return "Bundling_kv3_v1_ALL";
966   case Bundling_kv3_v1_BCU: return "Bundling_kv3_v1_BCU";
967   case Bundling_kv3_v1_TCA: return "Bundling_kv3_v1_TCA";
968   case Bundling_kv3_v1_FULL: return "Bundling_kv3_v1_FULL";
969   case Bundling_kv3_v1_FULL_X: return "Bundling_kv3_v1_FULL_X";
970   case Bundling_kv3_v1_FULL_Y: return "Bundling_kv3_v1_FULL_Y";
971   case Bundling_kv3_v1_LITE: return "Bundling_kv3_v1_LITE";
972   case Bundling_kv3_v1_LITE_X: return "Bundling_kv3_v1_LITE_X";
973   case Bundling_kv3_v1_LITE_Y: return "Bundling_kv3_v1_LITE_Y";
974   case Bundling_kv3_v1_MAU: return "Bundling_kv3_v1_MAU";
975   case Bundling_kv3_v1_MAU_X: return "Bundling_kv3_v1_MAU_X";
976   case Bundling_kv3_v1_MAU_Y: return "Bundling_kv3_v1_MAU_Y";
977   case Bundling_kv3_v1_LSU: return "Bundling_kv3_v1_LSU";
978   case Bundling_kv3_v1_LSU_X: return "Bundling_kv3_v1_LSU_X";
979   case Bundling_kv3_v1_LSU_Y: return "Bundling_kv3_v1_LSU_Y";
980   case Bundling_kv3_v1_TINY: return "Bundling_kv3_v1_TINY";
981   case Bundling_kv3_v1_TINY_X: return "Bundling_kv3_v1_TINY_X";
982   case Bundling_kv3_v1_TINY_Y: return "Bundling_kv3_v1_TINY_Y";
983   case Bundling_kv3_v1_NOP: return "Bundling_kv3_v1_NOP";
984   };
985   return "unknown bundling";
986 };
987 
988 /* Resources list */
989 #define Resource_kv3_v1_ISSUE 0
990 #define Resource_kv3_v1_TINY 1
991 #define Resource_kv3_v1_LITE 2
992 #define Resource_kv3_v1_FULL 3
993 #define Resource_kv3_v1_LSU 4
994 #define Resource_kv3_v1_MAU 5
995 #define Resource_kv3_v1_BCU 6
996 #define Resource_kv3_v1_TCA 7
997 #define Resource_kv3_v1_AUXR 8
998 #define Resource_kv3_v1_AUXW 9
999 #define Resource_kv3_v1_CRRP 10
1000 #define Resource_kv3_v1_CRWL 11
1001 #define Resource_kv3_v1_CRWH 12
1002 #define Resource_kv3_v1_NOP 13
1003 #define kvx_kv3_v1_RESOURCE_MAX 14
1004 
1005 
1006 /* Reservations list */
1007 #define Reservation_kv3_v1_ALL 0
1008 #define Reservation_kv3_v1_ALU_NOP 1
1009 #define Reservation_kv3_v1_ALU_TINY 2
1010 #define Reservation_kv3_v1_ALU_TINY_X 3
1011 #define Reservation_kv3_v1_ALU_TINY_Y 4
1012 #define Reservation_kv3_v1_ALU_LITE 5
1013 #define Reservation_kv3_v1_ALU_LITE_X 6
1014 #define Reservation_kv3_v1_ALU_LITE_Y 7
1015 #define Reservation_kv3_v1_ALU_LITE_CRWL 8
1016 #define Reservation_kv3_v1_ALU_LITE_CRWH 9
1017 #define Reservation_kv3_v1_ALU_FULL 10
1018 #define Reservation_kv3_v1_ALU_FULL_X 11
1019 #define Reservation_kv3_v1_ALU_FULL_Y 12
1020 #define Reservation_kv3_v1_BCU 13
1021 #define Reservation_kv3_v1_BCU_CRRP_CRWL_CRWH 14
1022 #define Reservation_kv3_v1_BCU_TINY_AUXW_CRRP 15
1023 #define Reservation_kv3_v1_BCU_TINY_TINY_MAU_XNOP 16
1024 #define Reservation_kv3_v1_TCA 17
1025 #define Reservation_kv3_v1_LSU 18
1026 #define Reservation_kv3_v1_LSU_X 19
1027 #define Reservation_kv3_v1_LSU_Y 20
1028 #define Reservation_kv3_v1_LSU_CRRP 21
1029 #define Reservation_kv3_v1_LSU_CRRP_X 22
1030 #define Reservation_kv3_v1_LSU_CRRP_Y 23
1031 #define Reservation_kv3_v1_LSU_AUXR 24
1032 #define Reservation_kv3_v1_LSU_AUXR_X 25
1033 #define Reservation_kv3_v1_LSU_AUXR_Y 26
1034 #define Reservation_kv3_v1_LSU_AUXW 27
1035 #define Reservation_kv3_v1_LSU_AUXW_X 28
1036 #define Reservation_kv3_v1_LSU_AUXW_Y 29
1037 #define Reservation_kv3_v1_LSU_AUXR_AUXW 30
1038 #define Reservation_kv3_v1_LSU_AUXR_AUXW_X 31
1039 #define Reservation_kv3_v1_LSU_AUXR_AUXW_Y 32
1040 #define Reservation_kv3_v1_MAU 33
1041 #define Reservation_kv3_v1_MAU_X 34
1042 #define Reservation_kv3_v1_MAU_Y 35
1043 #define Reservation_kv3_v1_MAU_AUXR 36
1044 #define Reservation_kv3_v1_MAU_AUXR_X 37
1045 #define Reservation_kv3_v1_MAU_AUXR_Y 38
1046 
1047 
1048 extern struct kvx_reloc kv3_v1_rel16_reloc;
1049 extern struct kvx_reloc kv3_v1_rel32_reloc;
1050 extern struct kvx_reloc kv3_v1_rel64_reloc;
1051 extern struct kvx_reloc kv3_v1_pcrel_signed16_reloc;
1052 extern struct kvx_reloc kv3_v1_pcrel17_reloc;
1053 extern struct kvx_reloc kv3_v1_pcrel27_reloc;
1054 extern struct kvx_reloc kv3_v1_pcrel32_reloc;
1055 extern struct kvx_reloc kv3_v1_pcrel_signed37_reloc;
1056 extern struct kvx_reloc kv3_v1_pcrel_signed43_reloc;
1057 extern struct kvx_reloc kv3_v1_pcrel_signed64_reloc;
1058 extern struct kvx_reloc kv3_v1_pcrel64_reloc;
1059 extern struct kvx_reloc kv3_v1_signed16_reloc;
1060 extern struct kvx_reloc kv3_v1_signed32_reloc;
1061 extern struct kvx_reloc kv3_v1_signed37_reloc;
1062 extern struct kvx_reloc kv3_v1_gotoff_signed37_reloc;
1063 extern struct kvx_reloc kv3_v1_gotoff_signed43_reloc;
1064 extern struct kvx_reloc kv3_v1_gotoff_32_reloc;
1065 extern struct kvx_reloc kv3_v1_gotoff_64_reloc;
1066 extern struct kvx_reloc kv3_v1_got_32_reloc;
1067 extern struct kvx_reloc kv3_v1_got_signed37_reloc;
1068 extern struct kvx_reloc kv3_v1_got_signed43_reloc;
1069 extern struct kvx_reloc kv3_v1_got_64_reloc;
1070 extern struct kvx_reloc kv3_v1_glob_dat_reloc;
1071 extern struct kvx_reloc kv3_v1_copy_reloc;
1072 extern struct kvx_reloc kv3_v1_jump_slot_reloc;
1073 extern struct kvx_reloc kv3_v1_relative_reloc;
1074 extern struct kvx_reloc kv3_v1_signed43_reloc;
1075 extern struct kvx_reloc kv3_v1_signed64_reloc;
1076 extern struct kvx_reloc kv3_v1_gotaddr_signed37_reloc;
1077 extern struct kvx_reloc kv3_v1_gotaddr_signed43_reloc;
1078 extern struct kvx_reloc kv3_v1_gotaddr_signed64_reloc;
1079 extern struct kvx_reloc kv3_v1_dtpmod64_reloc;
1080 extern struct kvx_reloc kv3_v1_dtpoff64_reloc;
1081 extern struct kvx_reloc kv3_v1_dtpoff_signed37_reloc;
1082 extern struct kvx_reloc kv3_v1_dtpoff_signed43_reloc;
1083 extern struct kvx_reloc kv3_v1_tlsgd_signed37_reloc;
1084 extern struct kvx_reloc kv3_v1_tlsgd_signed43_reloc;
1085 extern struct kvx_reloc kv3_v1_tlsld_signed37_reloc;
1086 extern struct kvx_reloc kv3_v1_tlsld_signed43_reloc;
1087 extern struct kvx_reloc kv3_v1_tpoff64_reloc;
1088 extern struct kvx_reloc kv3_v1_tlsie_signed37_reloc;
1089 extern struct kvx_reloc kv3_v1_tlsie_signed43_reloc;
1090 extern struct kvx_reloc kv3_v1_tlsle_signed37_reloc;
1091 extern struct kvx_reloc kv3_v1_tlsle_signed43_reloc;
1092 extern struct kvx_reloc kv3_v1_rel8_reloc;
1093 
1094 #define KVX_REGFILE_FIRST_GPR 0
1095 #define KVX_REGFILE_LAST_GPR 1
1096 #define KVX_REGFILE_DEC_GPR 2
1097 #define KVX_REGFILE_FIRST_PGR 3
1098 #define KVX_REGFILE_LAST_PGR 4
1099 #define KVX_REGFILE_DEC_PGR 5
1100 #define KVX_REGFILE_FIRST_QGR 6
1101 #define KVX_REGFILE_LAST_QGR 7
1102 #define KVX_REGFILE_DEC_QGR 8
1103 #define KVX_REGFILE_FIRST_SFR 9
1104 #define KVX_REGFILE_LAST_SFR 10
1105 #define KVX_REGFILE_DEC_SFR 11
1106 #define KVX_REGFILE_FIRST_X16R 12
1107 #define KVX_REGFILE_LAST_X16R 13
1108 #define KVX_REGFILE_DEC_X16R 14
1109 #define KVX_REGFILE_FIRST_X2R 15
1110 #define KVX_REGFILE_LAST_X2R 16
1111 #define KVX_REGFILE_DEC_X2R 17
1112 #define KVX_REGFILE_FIRST_X32R 18
1113 #define KVX_REGFILE_LAST_X32R 19
1114 #define KVX_REGFILE_DEC_X32R 20
1115 #define KVX_REGFILE_FIRST_X4R 21
1116 #define KVX_REGFILE_LAST_X4R 22
1117 #define KVX_REGFILE_DEC_X4R 23
1118 #define KVX_REGFILE_FIRST_X64R 24
1119 #define KVX_REGFILE_LAST_X64R 25
1120 #define KVX_REGFILE_DEC_X64R 26
1121 #define KVX_REGFILE_FIRST_X8R 27
1122 #define KVX_REGFILE_LAST_X8R 28
1123 #define KVX_REGFILE_DEC_X8R 29
1124 #define KVX_REGFILE_FIRST_XBR 30
1125 #define KVX_REGFILE_LAST_XBR 31
1126 #define KVX_REGFILE_DEC_XBR 32
1127 #define KVX_REGFILE_FIRST_XCR 33
1128 #define KVX_REGFILE_LAST_XCR 34
1129 #define KVX_REGFILE_DEC_XCR 35
1130 #define KVX_REGFILE_FIRST_XMR 36
1131 #define KVX_REGFILE_LAST_XMR 37
1132 #define KVX_REGFILE_DEC_XMR 38
1133 #define KVX_REGFILE_FIRST_XTR 39
1134 #define KVX_REGFILE_LAST_XTR 40
1135 #define KVX_REGFILE_DEC_XTR 41
1136 #define KVX_REGFILE_FIRST_XVR 42
1137 #define KVX_REGFILE_LAST_XVR 43
1138 #define KVX_REGFILE_DEC_XVR 44
1139 #define KVX_REGFILE_REGISTERS 45
1140 #define KVX_REGFILE_DEC_REGISTERS 46
1141 
1142 
1143 extern int kvx_kv3_v2_regfiles[];
1144 extern const char **kvx_kv3_v2_modifiers[];
1145 extern struct kvx_Register kvx_kv3_v2_registers[];
1146 
1147 extern int kvx_kv3_v2_dec_registers[];
1148 
1149 enum Method_kvx_kv3_v2_enum {
1150   Immediate_kv3_v2_brknumber = 1,
1151   Immediate_kv3_v2_pcrel17 = 2,
1152   Immediate_kv3_v2_pcrel27 = 3,
1153   Immediate_kv3_v2_signed10 = 4,
1154   Immediate_kv3_v2_signed16 = 5,
1155   Immediate_kv3_v2_signed27 = 6,
1156   Immediate_kv3_v2_signed37 = 7,
1157   Immediate_kv3_v2_signed43 = 8,
1158   Immediate_kv3_v2_signed54 = 9,
1159   Immediate_kv3_v2_sysnumber = 10,
1160   Immediate_kv3_v2_unsigned6 = 11,
1161   Immediate_kv3_v2_wrapped32 = 12,
1162   Immediate_kv3_v2_wrapped64 = 13,
1163   Immediate_kv3_v2_wrapped8 = 14,
1164   Modifier_kv3_v2_accesses = 15,
1165   Modifier_kv3_v2_boolcas = 16,
1166   Modifier_kv3_v2_cachelev = 17,
1167   Modifier_kv3_v2_channel = 18,
1168   Modifier_kv3_v2_coherency = 19,
1169   Modifier_kv3_v2_comparison = 20,
1170   Modifier_kv3_v2_conjugate = 21,
1171   Modifier_kv3_v2_doscale = 22,
1172   Modifier_kv3_v2_exunum = 23,
1173   Modifier_kv3_v2_floatcomp = 24,
1174   Modifier_kv3_v2_hindex = 25,
1175   Modifier_kv3_v2_lsomask = 26,
1176   Modifier_kv3_v2_lsumask = 27,
1177   Modifier_kv3_v2_lsupack = 28,
1178   Modifier_kv3_v2_qindex = 29,
1179   Modifier_kv3_v2_rounding = 30,
1180   Modifier_kv3_v2_scalarcond = 31,
1181   Modifier_kv3_v2_shuffleV = 32,
1182   Modifier_kv3_v2_shuffleX = 33,
1183   Modifier_kv3_v2_silent = 34,
1184   Modifier_kv3_v2_simplecond = 35,
1185   Modifier_kv3_v2_speculate = 36,
1186   Modifier_kv3_v2_splat32 = 37,
1187   Modifier_kv3_v2_transpose = 38,
1188   Modifier_kv3_v2_variant = 39,
1189   RegClass_kv3_v2_aloneReg = 40,
1190   RegClass_kv3_v2_blockReg = 41,
1191   RegClass_kv3_v2_blockRegE = 42,
1192   RegClass_kv3_v2_blockRegO = 43,
1193   RegClass_kv3_v2_blockReg_0 = 44,
1194   RegClass_kv3_v2_blockReg_1 = 45,
1195   RegClass_kv3_v2_buffer16Reg = 46,
1196   RegClass_kv3_v2_buffer2Reg = 47,
1197   RegClass_kv3_v2_buffer32Reg = 48,
1198   RegClass_kv3_v2_buffer4Reg = 49,
1199   RegClass_kv3_v2_buffer64Reg = 50,
1200   RegClass_kv3_v2_buffer8Reg = 51,
1201   RegClass_kv3_v2_coproReg = 52,
1202   RegClass_kv3_v2_coproReg0M4 = 53,
1203   RegClass_kv3_v2_coproReg1M4 = 54,
1204   RegClass_kv3_v2_coproReg2M4 = 55,
1205   RegClass_kv3_v2_coproReg3M4 = 56,
1206   RegClass_kv3_v2_matrixReg = 57,
1207   RegClass_kv3_v2_matrixReg_0 = 58,
1208   RegClass_kv3_v2_matrixReg_1 = 59,
1209   RegClass_kv3_v2_matrixReg_2 = 60,
1210   RegClass_kv3_v2_matrixReg_3 = 61,
1211   RegClass_kv3_v2_onlyfxReg = 62,
1212   RegClass_kv3_v2_onlygetReg = 63,
1213   RegClass_kv3_v2_onlyraReg = 64,
1214   RegClass_kv3_v2_onlysetReg = 65,
1215   RegClass_kv3_v2_onlyswapReg = 66,
1216   RegClass_kv3_v2_pairedReg = 67,
1217   RegClass_kv3_v2_pairedReg_0 = 68,
1218   RegClass_kv3_v2_pairedReg_1 = 69,
1219   RegClass_kv3_v2_quadReg = 70,
1220   RegClass_kv3_v2_quadReg_0 = 71,
1221   RegClass_kv3_v2_quadReg_1 = 72,
1222   RegClass_kv3_v2_quadReg_2 = 73,
1223   RegClass_kv3_v2_quadReg_3 = 74,
1224   RegClass_kv3_v2_singleReg = 75,
1225   RegClass_kv3_v2_systemReg = 76,
1226   RegClass_kv3_v2_tileReg = 77,
1227   RegClass_kv3_v2_tileReg_0 = 78,
1228   RegClass_kv3_v2_tileReg_1 = 79,
1229   RegClass_kv3_v2_vectorReg = 80,
1230   RegClass_kv3_v2_vectorReg_0 = 81,
1231   RegClass_kv3_v2_vectorReg_1 = 82,
1232   RegClass_kv3_v2_vectorReg_2 = 83,
1233   RegClass_kv3_v2_vectorReg_3 = 84,
1234   Instruction_kv3_v2_abdbo = 85,
1235   Instruction_kv3_v2_abdd = 86,
1236   Instruction_kv3_v2_abdd_abase = 87,
1237   Instruction_kv3_v2_abdhq = 88,
1238   Instruction_kv3_v2_abdsbo = 89,
1239   Instruction_kv3_v2_abdsd = 90,
1240   Instruction_kv3_v2_abdshq = 91,
1241   Instruction_kv3_v2_abdsw = 92,
1242   Instruction_kv3_v2_abdswp = 93,
1243   Instruction_kv3_v2_abdubo = 94,
1244   Instruction_kv3_v2_abdud = 95,
1245   Instruction_kv3_v2_abduhq = 96,
1246   Instruction_kv3_v2_abduw = 97,
1247   Instruction_kv3_v2_abduwp = 98,
1248   Instruction_kv3_v2_abdw = 99,
1249   Instruction_kv3_v2_abdwp = 100,
1250   Instruction_kv3_v2_absbo = 101,
1251   Instruction_kv3_v2_absd = 102,
1252   Instruction_kv3_v2_abshq = 103,
1253   Instruction_kv3_v2_abssbo = 104,
1254   Instruction_kv3_v2_abssd = 105,
1255   Instruction_kv3_v2_absshq = 106,
1256   Instruction_kv3_v2_abssw = 107,
1257   Instruction_kv3_v2_absswp = 108,
1258   Instruction_kv3_v2_absw = 109,
1259   Instruction_kv3_v2_abswp = 110,
1260   Instruction_kv3_v2_acswapd = 111,
1261   Instruction_kv3_v2_acswapq = 112,
1262   Instruction_kv3_v2_acswapw = 113,
1263   Instruction_kv3_v2_addbo = 114,
1264   Instruction_kv3_v2_addcd = 115,
1265   Instruction_kv3_v2_addcd_i = 116,
1266   Instruction_kv3_v2_addd = 117,
1267   Instruction_kv3_v2_addd_abase = 118,
1268   Instruction_kv3_v2_addhq = 119,
1269   Instruction_kv3_v2_addrbod = 120,
1270   Instruction_kv3_v2_addrhqd = 121,
1271   Instruction_kv3_v2_addrwpd = 122,
1272   Instruction_kv3_v2_addsbo = 123,
1273   Instruction_kv3_v2_addsd = 124,
1274   Instruction_kv3_v2_addshq = 125,
1275   Instruction_kv3_v2_addsw = 126,
1276   Instruction_kv3_v2_addswp = 127,
1277   Instruction_kv3_v2_addurbod = 128,
1278   Instruction_kv3_v2_addurhqd = 129,
1279   Instruction_kv3_v2_addurwpd = 130,
1280   Instruction_kv3_v2_addusbo = 131,
1281   Instruction_kv3_v2_addusd = 132,
1282   Instruction_kv3_v2_addushq = 133,
1283   Instruction_kv3_v2_addusw = 134,
1284   Instruction_kv3_v2_adduswp = 135,
1285   Instruction_kv3_v2_adduwd = 136,
1286   Instruction_kv3_v2_addw = 137,
1287   Instruction_kv3_v2_addwd = 138,
1288   Instruction_kv3_v2_addwp = 139,
1289   Instruction_kv3_v2_addx16bo = 140,
1290   Instruction_kv3_v2_addx16d = 141,
1291   Instruction_kv3_v2_addx16hq = 142,
1292   Instruction_kv3_v2_addx16uwd = 143,
1293   Instruction_kv3_v2_addx16w = 144,
1294   Instruction_kv3_v2_addx16wd = 145,
1295   Instruction_kv3_v2_addx16wp = 146,
1296   Instruction_kv3_v2_addx2bo = 147,
1297   Instruction_kv3_v2_addx2d = 148,
1298   Instruction_kv3_v2_addx2hq = 149,
1299   Instruction_kv3_v2_addx2uwd = 150,
1300   Instruction_kv3_v2_addx2w = 151,
1301   Instruction_kv3_v2_addx2wd = 152,
1302   Instruction_kv3_v2_addx2wp = 153,
1303   Instruction_kv3_v2_addx32d = 154,
1304   Instruction_kv3_v2_addx32uwd = 155,
1305   Instruction_kv3_v2_addx32w = 156,
1306   Instruction_kv3_v2_addx32wd = 157,
1307   Instruction_kv3_v2_addx4bo = 158,
1308   Instruction_kv3_v2_addx4d = 159,
1309   Instruction_kv3_v2_addx4hq = 160,
1310   Instruction_kv3_v2_addx4uwd = 161,
1311   Instruction_kv3_v2_addx4w = 162,
1312   Instruction_kv3_v2_addx4wd = 163,
1313   Instruction_kv3_v2_addx4wp = 164,
1314   Instruction_kv3_v2_addx64d = 165,
1315   Instruction_kv3_v2_addx64uwd = 166,
1316   Instruction_kv3_v2_addx64w = 167,
1317   Instruction_kv3_v2_addx64wd = 168,
1318   Instruction_kv3_v2_addx8bo = 169,
1319   Instruction_kv3_v2_addx8d = 170,
1320   Instruction_kv3_v2_addx8hq = 171,
1321   Instruction_kv3_v2_addx8uwd = 172,
1322   Instruction_kv3_v2_addx8w = 173,
1323   Instruction_kv3_v2_addx8wd = 174,
1324   Instruction_kv3_v2_addx8wp = 175,
1325   Instruction_kv3_v2_aladdd = 176,
1326   Instruction_kv3_v2_aladdw = 177,
1327   Instruction_kv3_v2_alclrd = 178,
1328   Instruction_kv3_v2_alclrw = 179,
1329   Instruction_kv3_v2_ald = 180,
1330   Instruction_kv3_v2_alw = 181,
1331   Instruction_kv3_v2_andd = 182,
1332   Instruction_kv3_v2_andd_abase = 183,
1333   Instruction_kv3_v2_andnd = 184,
1334   Instruction_kv3_v2_andnd_abase = 185,
1335   Instruction_kv3_v2_andnw = 186,
1336   Instruction_kv3_v2_andrbod = 187,
1337   Instruction_kv3_v2_andrhqd = 188,
1338   Instruction_kv3_v2_andrwpd = 189,
1339   Instruction_kv3_v2_andw = 190,
1340   Instruction_kv3_v2_asd = 191,
1341   Instruction_kv3_v2_asw = 192,
1342   Instruction_kv3_v2_avgbo = 193,
1343   Instruction_kv3_v2_avghq = 194,
1344   Instruction_kv3_v2_avgrbo = 195,
1345   Instruction_kv3_v2_avgrhq = 196,
1346   Instruction_kv3_v2_avgrubo = 197,
1347   Instruction_kv3_v2_avgruhq = 198,
1348   Instruction_kv3_v2_avgruw = 199,
1349   Instruction_kv3_v2_avgruwp = 200,
1350   Instruction_kv3_v2_avgrw = 201,
1351   Instruction_kv3_v2_avgrwp = 202,
1352   Instruction_kv3_v2_avgubo = 203,
1353   Instruction_kv3_v2_avguhq = 204,
1354   Instruction_kv3_v2_avguw = 205,
1355   Instruction_kv3_v2_avguwp = 206,
1356   Instruction_kv3_v2_avgw = 207,
1357   Instruction_kv3_v2_avgwp = 208,
1358   Instruction_kv3_v2_await = 209,
1359   Instruction_kv3_v2_barrier = 210,
1360   Instruction_kv3_v2_break = 211,
1361   Instruction_kv3_v2_call = 212,
1362   Instruction_kv3_v2_cb = 213,
1363   Instruction_kv3_v2_cbsd = 214,
1364   Instruction_kv3_v2_cbsw = 215,
1365   Instruction_kv3_v2_cbswp = 216,
1366   Instruction_kv3_v2_clrf = 217,
1367   Instruction_kv3_v2_clsd = 218,
1368   Instruction_kv3_v2_clsw = 219,
1369   Instruction_kv3_v2_clswp = 220,
1370   Instruction_kv3_v2_clzd = 221,
1371   Instruction_kv3_v2_clzw = 222,
1372   Instruction_kv3_v2_clzwp = 223,
1373   Instruction_kv3_v2_cmovebo = 224,
1374   Instruction_kv3_v2_cmoved = 225,
1375   Instruction_kv3_v2_cmovehq = 226,
1376   Instruction_kv3_v2_cmovewp = 227,
1377   Instruction_kv3_v2_cmuldt = 228,
1378   Instruction_kv3_v2_cmulghxdt = 229,
1379   Instruction_kv3_v2_cmulglxdt = 230,
1380   Instruction_kv3_v2_cmulgmxdt = 231,
1381   Instruction_kv3_v2_cmulxdt = 232,
1382   Instruction_kv3_v2_compd = 233,
1383   Instruction_kv3_v2_compnbo = 234,
1384   Instruction_kv3_v2_compnd = 235,
1385   Instruction_kv3_v2_compnhq = 236,
1386   Instruction_kv3_v2_compnw = 237,
1387   Instruction_kv3_v2_compnwp = 238,
1388   Instruction_kv3_v2_compuwd = 239,
1389   Instruction_kv3_v2_compw = 240,
1390   Instruction_kv3_v2_compwd = 241,
1391   Instruction_kv3_v2_copyd = 242,
1392   Instruction_kv3_v2_copyo = 243,
1393   Instruction_kv3_v2_copyq = 244,
1394   Instruction_kv3_v2_copyw = 245,
1395   Instruction_kv3_v2_crcbellw = 246,
1396   Instruction_kv3_v2_crcbelmw = 247,
1397   Instruction_kv3_v2_crclellw = 248,
1398   Instruction_kv3_v2_crclelmw = 249,
1399   Instruction_kv3_v2_ctzd = 250,
1400   Instruction_kv3_v2_ctzw = 251,
1401   Instruction_kv3_v2_ctzwp = 252,
1402   Instruction_kv3_v2_d1inval = 253,
1403   Instruction_kv3_v2_dflushl = 254,
1404   Instruction_kv3_v2_dflushsw = 255,
1405   Instruction_kv3_v2_dinvall = 256,
1406   Instruction_kv3_v2_dinvalsw = 257,
1407   Instruction_kv3_v2_dot2suwd = 258,
1408   Instruction_kv3_v2_dot2suwdp = 259,
1409   Instruction_kv3_v2_dot2uwd = 260,
1410   Instruction_kv3_v2_dot2uwdp = 261,
1411   Instruction_kv3_v2_dot2w = 262,
1412   Instruction_kv3_v2_dot2wd = 263,
1413   Instruction_kv3_v2_dot2wdp = 264,
1414   Instruction_kv3_v2_dot2wzp = 265,
1415   Instruction_kv3_v2_dpurgel = 266,
1416   Instruction_kv3_v2_dpurgesw = 267,
1417   Instruction_kv3_v2_dtouchl = 268,
1418   Instruction_kv3_v2_errop = 269,
1419   Instruction_kv3_v2_extfs = 270,
1420   Instruction_kv3_v2_extfz = 271,
1421   Instruction_kv3_v2_fabsd = 272,
1422   Instruction_kv3_v2_fabshq = 273,
1423   Instruction_kv3_v2_fabsw = 274,
1424   Instruction_kv3_v2_fabswp = 275,
1425   Instruction_kv3_v2_faddd = 276,
1426   Instruction_kv3_v2_fadddc = 277,
1427   Instruction_kv3_v2_fadddc_c = 278,
1428   Instruction_kv3_v2_fadddp = 279,
1429   Instruction_kv3_v2_faddho = 280,
1430   Instruction_kv3_v2_faddhq = 281,
1431   Instruction_kv3_v2_faddw = 282,
1432   Instruction_kv3_v2_faddwc = 283,
1433   Instruction_kv3_v2_faddwc_c = 284,
1434   Instruction_kv3_v2_faddwcp = 285,
1435   Instruction_kv3_v2_faddwcp_c = 286,
1436   Instruction_kv3_v2_faddwp = 287,
1437   Instruction_kv3_v2_faddwq = 288,
1438   Instruction_kv3_v2_fcdivd = 289,
1439   Instruction_kv3_v2_fcdivw = 290,
1440   Instruction_kv3_v2_fcdivwp = 291,
1441   Instruction_kv3_v2_fcompd = 292,
1442   Instruction_kv3_v2_fcompnd = 293,
1443   Instruction_kv3_v2_fcompnhq = 294,
1444   Instruction_kv3_v2_fcompnw = 295,
1445   Instruction_kv3_v2_fcompnwp = 296,
1446   Instruction_kv3_v2_fcompw = 297,
1447   Instruction_kv3_v2_fdot2w = 298,
1448   Instruction_kv3_v2_fdot2wd = 299,
1449   Instruction_kv3_v2_fdot2wdp = 300,
1450   Instruction_kv3_v2_fdot2wzp = 301,
1451   Instruction_kv3_v2_fence = 302,
1452   Instruction_kv3_v2_ffdmasw = 303,
1453   Instruction_kv3_v2_ffdmaswp = 304,
1454   Instruction_kv3_v2_ffdmaswq = 305,
1455   Instruction_kv3_v2_ffdmaw = 306,
1456   Instruction_kv3_v2_ffdmawp = 307,
1457   Instruction_kv3_v2_ffdmawq = 308,
1458   Instruction_kv3_v2_ffdmdaw = 309,
1459   Instruction_kv3_v2_ffdmdawp = 310,
1460   Instruction_kv3_v2_ffdmdawq = 311,
1461   Instruction_kv3_v2_ffdmdsw = 312,
1462   Instruction_kv3_v2_ffdmdswp = 313,
1463   Instruction_kv3_v2_ffdmdswq = 314,
1464   Instruction_kv3_v2_ffdmsaw = 315,
1465   Instruction_kv3_v2_ffdmsawp = 316,
1466   Instruction_kv3_v2_ffdmsawq = 317,
1467   Instruction_kv3_v2_ffdmsw = 318,
1468   Instruction_kv3_v2_ffdmswp = 319,
1469   Instruction_kv3_v2_ffdmswq = 320,
1470   Instruction_kv3_v2_ffmad = 321,
1471   Instruction_kv3_v2_ffmaho = 322,
1472   Instruction_kv3_v2_ffmahq = 323,
1473   Instruction_kv3_v2_ffmahw = 324,
1474   Instruction_kv3_v2_ffmahwq = 325,
1475   Instruction_kv3_v2_ffmaw = 326,
1476   Instruction_kv3_v2_ffmawc = 327,
1477   Instruction_kv3_v2_ffmawcp = 328,
1478   Instruction_kv3_v2_ffmawd = 329,
1479   Instruction_kv3_v2_ffmawdp = 330,
1480   Instruction_kv3_v2_ffmawp = 331,
1481   Instruction_kv3_v2_ffmawq = 332,
1482   Instruction_kv3_v2_ffmsd = 333,
1483   Instruction_kv3_v2_ffmsho = 334,
1484   Instruction_kv3_v2_ffmshq = 335,
1485   Instruction_kv3_v2_ffmshw = 336,
1486   Instruction_kv3_v2_ffmshwq = 337,
1487   Instruction_kv3_v2_ffmsw = 338,
1488   Instruction_kv3_v2_ffmswc = 339,
1489   Instruction_kv3_v2_ffmswcp = 340,
1490   Instruction_kv3_v2_ffmswd = 341,
1491   Instruction_kv3_v2_ffmswdp = 342,
1492   Instruction_kv3_v2_ffmswp = 343,
1493   Instruction_kv3_v2_ffmswq = 344,
1494   Instruction_kv3_v2_fixedd = 345,
1495   Instruction_kv3_v2_fixedud = 346,
1496   Instruction_kv3_v2_fixeduw = 347,
1497   Instruction_kv3_v2_fixeduwp = 348,
1498   Instruction_kv3_v2_fixedw = 349,
1499   Instruction_kv3_v2_fixedwp = 350,
1500   Instruction_kv3_v2_floatd = 351,
1501   Instruction_kv3_v2_floatud = 352,
1502   Instruction_kv3_v2_floatuw = 353,
1503   Instruction_kv3_v2_floatuwp = 354,
1504   Instruction_kv3_v2_floatw = 355,
1505   Instruction_kv3_v2_floatwp = 356,
1506   Instruction_kv3_v2_fmaxd = 357,
1507   Instruction_kv3_v2_fmaxhq = 358,
1508   Instruction_kv3_v2_fmaxw = 359,
1509   Instruction_kv3_v2_fmaxwp = 360,
1510   Instruction_kv3_v2_fmind = 361,
1511   Instruction_kv3_v2_fminhq = 362,
1512   Instruction_kv3_v2_fminw = 363,
1513   Instruction_kv3_v2_fminwp = 364,
1514   Instruction_kv3_v2_fmm212w = 365,
1515   Instruction_kv3_v2_fmm222w = 366,
1516   Instruction_kv3_v2_fmma212w = 367,
1517   Instruction_kv3_v2_fmma222w = 368,
1518   Instruction_kv3_v2_fmms212w = 369,
1519   Instruction_kv3_v2_fmms222w = 370,
1520   Instruction_kv3_v2_fmuld = 371,
1521   Instruction_kv3_v2_fmulho = 372,
1522   Instruction_kv3_v2_fmulhq = 373,
1523   Instruction_kv3_v2_fmulhw = 374,
1524   Instruction_kv3_v2_fmulhwq = 375,
1525   Instruction_kv3_v2_fmulw = 376,
1526   Instruction_kv3_v2_fmulwc = 377,
1527   Instruction_kv3_v2_fmulwcp = 378,
1528   Instruction_kv3_v2_fmulwd = 379,
1529   Instruction_kv3_v2_fmulwdp = 380,
1530   Instruction_kv3_v2_fmulwp = 381,
1531   Instruction_kv3_v2_fmulwq = 382,
1532   Instruction_kv3_v2_fnarrowdw = 383,
1533   Instruction_kv3_v2_fnarrowdwp = 384,
1534   Instruction_kv3_v2_fnarrowwh = 385,
1535   Instruction_kv3_v2_fnarrowwhq = 386,
1536   Instruction_kv3_v2_fnegd = 387,
1537   Instruction_kv3_v2_fneghq = 388,
1538   Instruction_kv3_v2_fnegw = 389,
1539   Instruction_kv3_v2_fnegwp = 390,
1540   Instruction_kv3_v2_frecw = 391,
1541   Instruction_kv3_v2_frsrw = 392,
1542   Instruction_kv3_v2_fsbfd = 393,
1543   Instruction_kv3_v2_fsbfdc = 394,
1544   Instruction_kv3_v2_fsbfdc_c = 395,
1545   Instruction_kv3_v2_fsbfdp = 396,
1546   Instruction_kv3_v2_fsbfho = 397,
1547   Instruction_kv3_v2_fsbfhq = 398,
1548   Instruction_kv3_v2_fsbfw = 399,
1549   Instruction_kv3_v2_fsbfwc = 400,
1550   Instruction_kv3_v2_fsbfwc_c = 401,
1551   Instruction_kv3_v2_fsbfwcp = 402,
1552   Instruction_kv3_v2_fsbfwcp_c = 403,
1553   Instruction_kv3_v2_fsbfwp = 404,
1554   Instruction_kv3_v2_fsbfwq = 405,
1555   Instruction_kv3_v2_fsdivd = 406,
1556   Instruction_kv3_v2_fsdivw = 407,
1557   Instruction_kv3_v2_fsdivwp = 408,
1558   Instruction_kv3_v2_fsrecd = 409,
1559   Instruction_kv3_v2_fsrecw = 410,
1560   Instruction_kv3_v2_fsrecwp = 411,
1561   Instruction_kv3_v2_fsrsrd = 412,
1562   Instruction_kv3_v2_fsrsrw = 413,
1563   Instruction_kv3_v2_fsrsrwp = 414,
1564   Instruction_kv3_v2_fwidenlhw = 415,
1565   Instruction_kv3_v2_fwidenlhwp = 416,
1566   Instruction_kv3_v2_fwidenlwd = 417,
1567   Instruction_kv3_v2_fwidenmhw = 418,
1568   Instruction_kv3_v2_fwidenmhwp = 419,
1569   Instruction_kv3_v2_fwidenmwd = 420,
1570   Instruction_kv3_v2_get = 421,
1571   Instruction_kv3_v2_goto = 422,
1572   Instruction_kv3_v2_i1inval = 423,
1573   Instruction_kv3_v2_i1invals = 424,
1574   Instruction_kv3_v2_icall = 425,
1575   Instruction_kv3_v2_iget = 426,
1576   Instruction_kv3_v2_igoto = 427,
1577   Instruction_kv3_v2_insf = 428,
1578   Instruction_kv3_v2_landd = 429,
1579   Instruction_kv3_v2_landw = 430,
1580   Instruction_kv3_v2_lbs = 431,
1581   Instruction_kv3_v2_lbz = 432,
1582   Instruction_kv3_v2_ld = 433,
1583   Instruction_kv3_v2_lhs = 434,
1584   Instruction_kv3_v2_lhz = 435,
1585   Instruction_kv3_v2_lnandd = 436,
1586   Instruction_kv3_v2_lnandw = 437,
1587   Instruction_kv3_v2_lnord = 438,
1588   Instruction_kv3_v2_lnorw = 439,
1589   Instruction_kv3_v2_lo = 440,
1590   Instruction_kv3_v2_loopdo = 441,
1591   Instruction_kv3_v2_lord = 442,
1592   Instruction_kv3_v2_lorw = 443,
1593   Instruction_kv3_v2_lq = 444,
1594   Instruction_kv3_v2_lws = 445,
1595   Instruction_kv3_v2_lwz = 446,
1596   Instruction_kv3_v2_maddd = 447,
1597   Instruction_kv3_v2_madddt = 448,
1598   Instruction_kv3_v2_maddhq = 449,
1599   Instruction_kv3_v2_maddhwq = 450,
1600   Instruction_kv3_v2_maddmwq = 451,
1601   Instruction_kv3_v2_maddsudt = 452,
1602   Instruction_kv3_v2_maddsuhwq = 453,
1603   Instruction_kv3_v2_maddsumwq = 454,
1604   Instruction_kv3_v2_maddsuwd = 455,
1605   Instruction_kv3_v2_maddsuwdp = 456,
1606   Instruction_kv3_v2_maddudt = 457,
1607   Instruction_kv3_v2_madduhwq = 458,
1608   Instruction_kv3_v2_maddumwq = 459,
1609   Instruction_kv3_v2_madduwd = 460,
1610   Instruction_kv3_v2_madduwdp = 461,
1611   Instruction_kv3_v2_madduzdt = 462,
1612   Instruction_kv3_v2_maddw = 463,
1613   Instruction_kv3_v2_maddwd = 464,
1614   Instruction_kv3_v2_maddwdp = 465,
1615   Instruction_kv3_v2_maddwp = 466,
1616   Instruction_kv3_v2_maddwq = 467,
1617   Instruction_kv3_v2_make = 468,
1618   Instruction_kv3_v2_maxbo = 469,
1619   Instruction_kv3_v2_maxd = 470,
1620   Instruction_kv3_v2_maxd_abase = 471,
1621   Instruction_kv3_v2_maxhq = 472,
1622   Instruction_kv3_v2_maxrbod = 473,
1623   Instruction_kv3_v2_maxrhqd = 474,
1624   Instruction_kv3_v2_maxrwpd = 475,
1625   Instruction_kv3_v2_maxubo = 476,
1626   Instruction_kv3_v2_maxud = 477,
1627   Instruction_kv3_v2_maxud_abase = 478,
1628   Instruction_kv3_v2_maxuhq = 479,
1629   Instruction_kv3_v2_maxurbod = 480,
1630   Instruction_kv3_v2_maxurhqd = 481,
1631   Instruction_kv3_v2_maxurwpd = 482,
1632   Instruction_kv3_v2_maxuw = 483,
1633   Instruction_kv3_v2_maxuwp = 484,
1634   Instruction_kv3_v2_maxw = 485,
1635   Instruction_kv3_v2_maxwp = 486,
1636   Instruction_kv3_v2_minbo = 487,
1637   Instruction_kv3_v2_mind = 488,
1638   Instruction_kv3_v2_mind_abase = 489,
1639   Instruction_kv3_v2_minhq = 490,
1640   Instruction_kv3_v2_minrbod = 491,
1641   Instruction_kv3_v2_minrhqd = 492,
1642   Instruction_kv3_v2_minrwpd = 493,
1643   Instruction_kv3_v2_minubo = 494,
1644   Instruction_kv3_v2_minud = 495,
1645   Instruction_kv3_v2_minud_abase = 496,
1646   Instruction_kv3_v2_minuhq = 497,
1647   Instruction_kv3_v2_minurbod = 498,
1648   Instruction_kv3_v2_minurhqd = 499,
1649   Instruction_kv3_v2_minurwpd = 500,
1650   Instruction_kv3_v2_minuw = 501,
1651   Instruction_kv3_v2_minuwp = 502,
1652   Instruction_kv3_v2_minw = 503,
1653   Instruction_kv3_v2_minwp = 504,
1654   Instruction_kv3_v2_mm212w = 505,
1655   Instruction_kv3_v2_mma212w = 506,
1656   Instruction_kv3_v2_mms212w = 507,
1657   Instruction_kv3_v2_msbfd = 508,
1658   Instruction_kv3_v2_msbfdt = 509,
1659   Instruction_kv3_v2_msbfhq = 510,
1660   Instruction_kv3_v2_msbfhwq = 511,
1661   Instruction_kv3_v2_msbfmwq = 512,
1662   Instruction_kv3_v2_msbfsudt = 513,
1663   Instruction_kv3_v2_msbfsuhwq = 514,
1664   Instruction_kv3_v2_msbfsumwq = 515,
1665   Instruction_kv3_v2_msbfsuwd = 516,
1666   Instruction_kv3_v2_msbfsuwdp = 517,
1667   Instruction_kv3_v2_msbfudt = 518,
1668   Instruction_kv3_v2_msbfuhwq = 519,
1669   Instruction_kv3_v2_msbfumwq = 520,
1670   Instruction_kv3_v2_msbfuwd = 521,
1671   Instruction_kv3_v2_msbfuwdp = 522,
1672   Instruction_kv3_v2_msbfuzdt = 523,
1673   Instruction_kv3_v2_msbfw = 524,
1674   Instruction_kv3_v2_msbfwd = 525,
1675   Instruction_kv3_v2_msbfwdp = 526,
1676   Instruction_kv3_v2_msbfwp = 527,
1677   Instruction_kv3_v2_msbfwq = 528,
1678   Instruction_kv3_v2_muld = 529,
1679   Instruction_kv3_v2_muldt = 530,
1680   Instruction_kv3_v2_mulhq = 531,
1681   Instruction_kv3_v2_mulhwq = 532,
1682   Instruction_kv3_v2_mulmwq = 533,
1683   Instruction_kv3_v2_mulsudt = 534,
1684   Instruction_kv3_v2_mulsuhwq = 535,
1685   Instruction_kv3_v2_mulsumwq = 536,
1686   Instruction_kv3_v2_mulsuwd = 537,
1687   Instruction_kv3_v2_mulsuwdp = 538,
1688   Instruction_kv3_v2_muludt = 539,
1689   Instruction_kv3_v2_muluhwq = 540,
1690   Instruction_kv3_v2_mulumwq = 541,
1691   Instruction_kv3_v2_muluwd = 542,
1692   Instruction_kv3_v2_muluwdp = 543,
1693   Instruction_kv3_v2_mulw = 544,
1694   Instruction_kv3_v2_mulwd = 545,
1695   Instruction_kv3_v2_mulwdp = 546,
1696   Instruction_kv3_v2_mulwp = 547,
1697   Instruction_kv3_v2_mulwq = 548,
1698   Instruction_kv3_v2_nandd = 549,
1699   Instruction_kv3_v2_nandd_abase = 550,
1700   Instruction_kv3_v2_nandw = 551,
1701   Instruction_kv3_v2_negbo = 552,
1702   Instruction_kv3_v2_negd = 553,
1703   Instruction_kv3_v2_neghq = 554,
1704   Instruction_kv3_v2_negsbo = 555,
1705   Instruction_kv3_v2_negsd = 556,
1706   Instruction_kv3_v2_negshq = 557,
1707   Instruction_kv3_v2_negsw = 558,
1708   Instruction_kv3_v2_negswp = 559,
1709   Instruction_kv3_v2_negw = 560,
1710   Instruction_kv3_v2_negwp = 561,
1711   Instruction_kv3_v2_nop = 562,
1712   Instruction_kv3_v2_nord = 563,
1713   Instruction_kv3_v2_nord_abase = 564,
1714   Instruction_kv3_v2_norw = 565,
1715   Instruction_kv3_v2_notd = 566,
1716   Instruction_kv3_v2_notw = 567,
1717   Instruction_kv3_v2_nxord = 568,
1718   Instruction_kv3_v2_nxord_abase = 569,
1719   Instruction_kv3_v2_nxorw = 570,
1720   Instruction_kv3_v2_ord = 571,
1721   Instruction_kv3_v2_ord_abase = 572,
1722   Instruction_kv3_v2_ornd = 573,
1723   Instruction_kv3_v2_ornd_abase = 574,
1724   Instruction_kv3_v2_ornw = 575,
1725   Instruction_kv3_v2_orrbod = 576,
1726   Instruction_kv3_v2_orrhqd = 577,
1727   Instruction_kv3_v2_orrwpd = 578,
1728   Instruction_kv3_v2_orw = 579,
1729   Instruction_kv3_v2_pcrel = 580,
1730   Instruction_kv3_v2_ret = 581,
1731   Instruction_kv3_v2_rfe = 582,
1732   Instruction_kv3_v2_rolw = 583,
1733   Instruction_kv3_v2_rolwps = 584,
1734   Instruction_kv3_v2_rorw = 585,
1735   Instruction_kv3_v2_rorwps = 586,
1736   Instruction_kv3_v2_rswap = 587,
1737   Instruction_kv3_v2_sb = 588,
1738   Instruction_kv3_v2_sbfbo = 589,
1739   Instruction_kv3_v2_sbfcd = 590,
1740   Instruction_kv3_v2_sbfcd_i = 591,
1741   Instruction_kv3_v2_sbfd = 592,
1742   Instruction_kv3_v2_sbfd_abase = 593,
1743   Instruction_kv3_v2_sbfhq = 594,
1744   Instruction_kv3_v2_sbfsbo = 595,
1745   Instruction_kv3_v2_sbfsd = 596,
1746   Instruction_kv3_v2_sbfshq = 597,
1747   Instruction_kv3_v2_sbfsw = 598,
1748   Instruction_kv3_v2_sbfswp = 599,
1749   Instruction_kv3_v2_sbfusbo = 600,
1750   Instruction_kv3_v2_sbfusd = 601,
1751   Instruction_kv3_v2_sbfushq = 602,
1752   Instruction_kv3_v2_sbfusw = 603,
1753   Instruction_kv3_v2_sbfuswp = 604,
1754   Instruction_kv3_v2_sbfuwd = 605,
1755   Instruction_kv3_v2_sbfw = 606,
1756   Instruction_kv3_v2_sbfwd = 607,
1757   Instruction_kv3_v2_sbfwp = 608,
1758   Instruction_kv3_v2_sbfx16bo = 609,
1759   Instruction_kv3_v2_sbfx16d = 610,
1760   Instruction_kv3_v2_sbfx16hq = 611,
1761   Instruction_kv3_v2_sbfx16uwd = 612,
1762   Instruction_kv3_v2_sbfx16w = 613,
1763   Instruction_kv3_v2_sbfx16wd = 614,
1764   Instruction_kv3_v2_sbfx16wp = 615,
1765   Instruction_kv3_v2_sbfx2bo = 616,
1766   Instruction_kv3_v2_sbfx2d = 617,
1767   Instruction_kv3_v2_sbfx2hq = 618,
1768   Instruction_kv3_v2_sbfx2uwd = 619,
1769   Instruction_kv3_v2_sbfx2w = 620,
1770   Instruction_kv3_v2_sbfx2wd = 621,
1771   Instruction_kv3_v2_sbfx2wp = 622,
1772   Instruction_kv3_v2_sbfx32d = 623,
1773   Instruction_kv3_v2_sbfx32uwd = 624,
1774   Instruction_kv3_v2_sbfx32w = 625,
1775   Instruction_kv3_v2_sbfx32wd = 626,
1776   Instruction_kv3_v2_sbfx4bo = 627,
1777   Instruction_kv3_v2_sbfx4d = 628,
1778   Instruction_kv3_v2_sbfx4hq = 629,
1779   Instruction_kv3_v2_sbfx4uwd = 630,
1780   Instruction_kv3_v2_sbfx4w = 631,
1781   Instruction_kv3_v2_sbfx4wd = 632,
1782   Instruction_kv3_v2_sbfx4wp = 633,
1783   Instruction_kv3_v2_sbfx64d = 634,
1784   Instruction_kv3_v2_sbfx64uwd = 635,
1785   Instruction_kv3_v2_sbfx64w = 636,
1786   Instruction_kv3_v2_sbfx64wd = 637,
1787   Instruction_kv3_v2_sbfx8bo = 638,
1788   Instruction_kv3_v2_sbfx8d = 639,
1789   Instruction_kv3_v2_sbfx8hq = 640,
1790   Instruction_kv3_v2_sbfx8uwd = 641,
1791   Instruction_kv3_v2_sbfx8w = 642,
1792   Instruction_kv3_v2_sbfx8wd = 643,
1793   Instruction_kv3_v2_sbfx8wp = 644,
1794   Instruction_kv3_v2_sbmm8 = 645,
1795   Instruction_kv3_v2_sbmm8_abase = 646,
1796   Instruction_kv3_v2_sbmmt8 = 647,
1797   Instruction_kv3_v2_sbmmt8_abase = 648,
1798   Instruction_kv3_v2_scall = 649,
1799   Instruction_kv3_v2_sd = 650,
1800   Instruction_kv3_v2_set = 651,
1801   Instruction_kv3_v2_sh = 652,
1802   Instruction_kv3_v2_sleep = 653,
1803   Instruction_kv3_v2_sllbos = 654,
1804   Instruction_kv3_v2_slld = 655,
1805   Instruction_kv3_v2_sllhqs = 656,
1806   Instruction_kv3_v2_sllw = 657,
1807   Instruction_kv3_v2_sllwps = 658,
1808   Instruction_kv3_v2_slsbos = 659,
1809   Instruction_kv3_v2_slsd = 660,
1810   Instruction_kv3_v2_slshqs = 661,
1811   Instruction_kv3_v2_slsw = 662,
1812   Instruction_kv3_v2_slswps = 663,
1813   Instruction_kv3_v2_slusbos = 664,
1814   Instruction_kv3_v2_slusd = 665,
1815   Instruction_kv3_v2_slushqs = 666,
1816   Instruction_kv3_v2_slusw = 667,
1817   Instruction_kv3_v2_sluswps = 668,
1818   Instruction_kv3_v2_so = 669,
1819   Instruction_kv3_v2_sq = 670,
1820   Instruction_kv3_v2_srabos = 671,
1821   Instruction_kv3_v2_srad = 672,
1822   Instruction_kv3_v2_srahqs = 673,
1823   Instruction_kv3_v2_sraw = 674,
1824   Instruction_kv3_v2_srawps = 675,
1825   Instruction_kv3_v2_srlbos = 676,
1826   Instruction_kv3_v2_srld = 677,
1827   Instruction_kv3_v2_srlhqs = 678,
1828   Instruction_kv3_v2_srlw = 679,
1829   Instruction_kv3_v2_srlwps = 680,
1830   Instruction_kv3_v2_srsbos = 681,
1831   Instruction_kv3_v2_srsd = 682,
1832   Instruction_kv3_v2_srshqs = 683,
1833   Instruction_kv3_v2_srsw = 684,
1834   Instruction_kv3_v2_srswps = 685,
1835   Instruction_kv3_v2_stop = 686,
1836   Instruction_kv3_v2_stsud = 687,
1837   Instruction_kv3_v2_stsuhq = 688,
1838   Instruction_kv3_v2_stsuw = 689,
1839   Instruction_kv3_v2_stsuwp = 690,
1840   Instruction_kv3_v2_sw = 691,
1841   Instruction_kv3_v2_sxbd = 692,
1842   Instruction_kv3_v2_sxhd = 693,
1843   Instruction_kv3_v2_sxlbhq = 694,
1844   Instruction_kv3_v2_sxlhwp = 695,
1845   Instruction_kv3_v2_sxmbhq = 696,
1846   Instruction_kv3_v2_sxmhwp = 697,
1847   Instruction_kv3_v2_sxwd = 698,
1848   Instruction_kv3_v2_syncgroup = 699,
1849   Instruction_kv3_v2_tlbdinval = 700,
1850   Instruction_kv3_v2_tlbiinval = 701,
1851   Instruction_kv3_v2_tlbprobe = 702,
1852   Instruction_kv3_v2_tlbread = 703,
1853   Instruction_kv3_v2_tlbwrite = 704,
1854   Instruction_kv3_v2_waitit = 705,
1855   Instruction_kv3_v2_wfxl = 706,
1856   Instruction_kv3_v2_wfxm = 707,
1857   Instruction_kv3_v2_xaccesso = 708,
1858   Instruction_kv3_v2_xaligno = 709,
1859   Instruction_kv3_v2_xandno = 710,
1860   Instruction_kv3_v2_xando = 711,
1861   Instruction_kv3_v2_xclampwo = 712,
1862   Instruction_kv3_v2_xcopyo = 713,
1863   Instruction_kv3_v2_xcopyv = 714,
1864   Instruction_kv3_v2_xcopyx = 715,
1865   Instruction_kv3_v2_xffma44hw = 716,
1866   Instruction_kv3_v2_xfmaxhx = 717,
1867   Instruction_kv3_v2_xfminhx = 718,
1868   Instruction_kv3_v2_xfmma484hw = 719,
1869   Instruction_kv3_v2_xfnarrow44wh = 720,
1870   Instruction_kv3_v2_xfscalewo = 721,
1871   Instruction_kv3_v2_xlo = 722,
1872   Instruction_kv3_v2_xmadd44bw0 = 723,
1873   Instruction_kv3_v2_xmadd44bw1 = 724,
1874   Instruction_kv3_v2_xmaddifwo = 725,
1875   Instruction_kv3_v2_xmaddsu44bw0 = 726,
1876   Instruction_kv3_v2_xmaddsu44bw1 = 727,
1877   Instruction_kv3_v2_xmaddu44bw0 = 728,
1878   Instruction_kv3_v2_xmaddu44bw1 = 729,
1879   Instruction_kv3_v2_xmma4164bw = 730,
1880   Instruction_kv3_v2_xmma484bw = 731,
1881   Instruction_kv3_v2_xmmasu4164bw = 732,
1882   Instruction_kv3_v2_xmmasu484bw = 733,
1883   Instruction_kv3_v2_xmmau4164bw = 734,
1884   Instruction_kv3_v2_xmmau484bw = 735,
1885   Instruction_kv3_v2_xmmaus4164bw = 736,
1886   Instruction_kv3_v2_xmmaus484bw = 737,
1887   Instruction_kv3_v2_xmovefd = 738,
1888   Instruction_kv3_v2_xmovefo = 739,
1889   Instruction_kv3_v2_xmovefq = 740,
1890   Instruction_kv3_v2_xmovetd = 741,
1891   Instruction_kv3_v2_xmovetq = 742,
1892   Instruction_kv3_v2_xmsbfifwo = 743,
1893   Instruction_kv3_v2_xmt44d = 744,
1894   Instruction_kv3_v2_xnando = 745,
1895   Instruction_kv3_v2_xnoro = 746,
1896   Instruction_kv3_v2_xnxoro = 747,
1897   Instruction_kv3_v2_xord = 748,
1898   Instruction_kv3_v2_xord_abase = 749,
1899   Instruction_kv3_v2_xorno = 750,
1900   Instruction_kv3_v2_xoro = 751,
1901   Instruction_kv3_v2_xorrbod = 752,
1902   Instruction_kv3_v2_xorrhqd = 753,
1903   Instruction_kv3_v2_xorrwpd = 754,
1904   Instruction_kv3_v2_xorw = 755,
1905   Instruction_kv3_v2_xrecvo = 756,
1906   Instruction_kv3_v2_xsbmm8dq = 757,
1907   Instruction_kv3_v2_xsbmmt8dq = 758,
1908   Instruction_kv3_v2_xsendo = 759,
1909   Instruction_kv3_v2_xsendrecvo = 760,
1910   Instruction_kv3_v2_xso = 761,
1911   Instruction_kv3_v2_xsplatdo = 762,
1912   Instruction_kv3_v2_xsplatov = 763,
1913   Instruction_kv3_v2_xsplatox = 764,
1914   Instruction_kv3_v2_xsx48bw = 765,
1915   Instruction_kv3_v2_xtrunc48wb = 766,
1916   Instruction_kv3_v2_xxoro = 767,
1917   Instruction_kv3_v2_xzx48bw = 768,
1918   Instruction_kv3_v2_zxbd = 769,
1919   Instruction_kv3_v2_zxhd = 770,
1920   Instruction_kv3_v2_zxlbhq = 771,
1921   Instruction_kv3_v2_zxlhwp = 772,
1922   Instruction_kv3_v2_zxmbhq = 773,
1923   Instruction_kv3_v2_zxmhwp = 774,
1924   Instruction_kv3_v2_zxwd = 775,
1925   Separator_kv3_v2_comma = 776,
1926   Separator_kv3_v2_equal = 777,
1927   Separator_kv3_v2_qmark = 778,
1928   Separator_kv3_v2_rsbracket = 779,
1929   Separator_kv3_v2_lsbracket = 780
1930 };
1931 
1932 enum Modifier_kv3_v2_exunum_enum {
1933   Modifier_kv3_v2_exunum_ALU0=0,
1934   Modifier_kv3_v2_exunum_ALU1=1,
1935   Modifier_kv3_v2_exunum_MAU=2,
1936   Modifier_kv3_v2_exunum_LSU=3,
1937 };
1938 
1939 extern const char *mod_kv3_v2_exunum[];
1940 extern const char *mod_kv3_v2_scalarcond[];
1941 extern const char *mod_kv3_v2_lsomask[];
1942 extern const char *mod_kv3_v2_lsumask[];
1943 extern const char *mod_kv3_v2_lsupack[];
1944 extern const char *mod_kv3_v2_simplecond[];
1945 extern const char *mod_kv3_v2_comparison[];
1946 extern const char *mod_kv3_v2_floatcomp[];
1947 extern const char *mod_kv3_v2_rounding[];
1948 extern const char *mod_kv3_v2_silent[];
1949 extern const char *mod_kv3_v2_variant[];
1950 extern const char *mod_kv3_v2_speculate[];
1951 extern const char *mod_kv3_v2_doscale[];
1952 extern const char *mod_kv3_v2_qindex[];
1953 extern const char *mod_kv3_v2_hindex[];
1954 extern const char *mod_kv3_v2_cachelev[];
1955 extern const char *mod_kv3_v2_coherency[];
1956 extern const char *mod_kv3_v2_boolcas[];
1957 extern const char *mod_kv3_v2_accesses[];
1958 extern const char *mod_kv3_v2_channel[];
1959 extern const char *mod_kv3_v2_conjugate[];
1960 extern const char *mod_kv3_v2_transpose[];
1961 extern const char *mod_kv3_v2_shuffleV[];
1962 extern const char *mod_kv3_v2_shuffleX[];
1963 extern const char *mod_kv3_v2_splat32[];
1964 typedef enum {
1965   Bundling_kv3_v2_ALL,
1966   Bundling_kv3_v2_BCU,
1967   Bundling_kv3_v2_TCA,
1968   Bundling_kv3_v2_FULL,
1969   Bundling_kv3_v2_FULL_X,
1970   Bundling_kv3_v2_FULL_Y,
1971   Bundling_kv3_v2_LITE,
1972   Bundling_kv3_v2_LITE_X,
1973   Bundling_kv3_v2_LITE_Y,
1974   Bundling_kv3_v2_MAU,
1975   Bundling_kv3_v2_MAU_X,
1976   Bundling_kv3_v2_MAU_Y,
1977   Bundling_kv3_v2_LSU,
1978   Bundling_kv3_v2_LSU_X,
1979   Bundling_kv3_v2_LSU_Y,
1980   Bundling_kv3_v2_TINY,
1981   Bundling_kv3_v2_TINY_X,
1982   Bundling_kv3_v2_TINY_Y,
1983   Bundling_kv3_v2_NOP,
1984 } Bundling_kv3_v2;
1985 
1986 
1987 static const char *bundling_kv3_v2_names(Bundling_kv3_v2 bundling) __attribute__((unused));
bundling_kv3_v2_names(Bundling_kv3_v2 bundling)1988 static const char *bundling_kv3_v2_names(Bundling_kv3_v2 bundling) {
1989   switch(bundling) {
1990   case Bundling_kv3_v2_ALL: return "Bundling_kv3_v2_ALL";
1991   case Bundling_kv3_v2_BCU: return "Bundling_kv3_v2_BCU";
1992   case Bundling_kv3_v2_TCA: return "Bundling_kv3_v2_TCA";
1993   case Bundling_kv3_v2_FULL: return "Bundling_kv3_v2_FULL";
1994   case Bundling_kv3_v2_FULL_X: return "Bundling_kv3_v2_FULL_X";
1995   case Bundling_kv3_v2_FULL_Y: return "Bundling_kv3_v2_FULL_Y";
1996   case Bundling_kv3_v2_LITE: return "Bundling_kv3_v2_LITE";
1997   case Bundling_kv3_v2_LITE_X: return "Bundling_kv3_v2_LITE_X";
1998   case Bundling_kv3_v2_LITE_Y: return "Bundling_kv3_v2_LITE_Y";
1999   case Bundling_kv3_v2_MAU: return "Bundling_kv3_v2_MAU";
2000   case Bundling_kv3_v2_MAU_X: return "Bundling_kv3_v2_MAU_X";
2001   case Bundling_kv3_v2_MAU_Y: return "Bundling_kv3_v2_MAU_Y";
2002   case Bundling_kv3_v2_LSU: return "Bundling_kv3_v2_LSU";
2003   case Bundling_kv3_v2_LSU_X: return "Bundling_kv3_v2_LSU_X";
2004   case Bundling_kv3_v2_LSU_Y: return "Bundling_kv3_v2_LSU_Y";
2005   case Bundling_kv3_v2_TINY: return "Bundling_kv3_v2_TINY";
2006   case Bundling_kv3_v2_TINY_X: return "Bundling_kv3_v2_TINY_X";
2007   case Bundling_kv3_v2_TINY_Y: return "Bundling_kv3_v2_TINY_Y";
2008   case Bundling_kv3_v2_NOP: return "Bundling_kv3_v2_NOP";
2009   };
2010   return "unknown bundling";
2011 };
2012 
2013 /* Resources list */
2014 #define Resource_kv3_v2_ISSUE 0
2015 #define Resource_kv3_v2_TINY 1
2016 #define Resource_kv3_v2_LITE 2
2017 #define Resource_kv3_v2_FULL 3
2018 #define Resource_kv3_v2_LSU 4
2019 #define Resource_kv3_v2_MAU 5
2020 #define Resource_kv3_v2_BCU 6
2021 #define Resource_kv3_v2_TCA 7
2022 #define Resource_kv3_v2_AUXR 8
2023 #define Resource_kv3_v2_AUXW 9
2024 #define Resource_kv3_v2_CRRP 10
2025 #define Resource_kv3_v2_CRWL 11
2026 #define Resource_kv3_v2_CRWH 12
2027 #define Resource_kv3_v2_NOP 13
2028 #define kvx_kv3_v2_RESOURCE_MAX 14
2029 
2030 
2031 /* Reservations list */
2032 #define Reservation_kv3_v2_ALL 0
2033 #define Reservation_kv3_v2_ALU_NOP 1
2034 #define Reservation_kv3_v2_ALU_TINY 2
2035 #define Reservation_kv3_v2_ALU_TINY_X 3
2036 #define Reservation_kv3_v2_ALU_TINY_Y 4
2037 #define Reservation_kv3_v2_ALU_TINY_CRRP 5
2038 #define Reservation_kv3_v2_ALU_TINY_CRWL_CRWH 6
2039 #define Reservation_kv3_v2_ALU_TINY_CRWL_CRWH_X 7
2040 #define Reservation_kv3_v2_ALU_TINY_CRWL_CRWH_Y 8
2041 #define Reservation_kv3_v2_ALU_TINY_CRRP_CRWL_CRWH 9
2042 #define Reservation_kv3_v2_ALU_TINY_CRWL 10
2043 #define Reservation_kv3_v2_ALU_TINY_CRWH 11
2044 #define Reservation_kv3_v2_ALU_LITE 12
2045 #define Reservation_kv3_v2_ALU_LITE_X 13
2046 #define Reservation_kv3_v2_ALU_LITE_Y 14
2047 #define Reservation_kv3_v2_ALU_LITE_CRWL 15
2048 #define Reservation_kv3_v2_ALU_LITE_CRWH 16
2049 #define Reservation_kv3_v2_ALU_FULL 17
2050 #define Reservation_kv3_v2_ALU_FULL_X 18
2051 #define Reservation_kv3_v2_ALU_FULL_Y 19
2052 #define Reservation_kv3_v2_BCU 20
2053 #define Reservation_kv3_v2_BCU_CRRP_CRWL_CRWH 21
2054 #define Reservation_kv3_v2_BCU_TINY_AUXW_CRRP 22
2055 #define Reservation_kv3_v2_BCU_TINY_TINY_MAU_XNOP 23
2056 #define Reservation_kv3_v2_TCA 24
2057 #define Reservation_kv3_v2_LSU 25
2058 #define Reservation_kv3_v2_LSU_X 26
2059 #define Reservation_kv3_v2_LSU_Y 27
2060 #define Reservation_kv3_v2_LSU_CRRP 28
2061 #define Reservation_kv3_v2_LSU_CRRP_X 29
2062 #define Reservation_kv3_v2_LSU_CRRP_Y 30
2063 #define Reservation_kv3_v2_LSU_AUXR 31
2064 #define Reservation_kv3_v2_LSU_AUXR_X 32
2065 #define Reservation_kv3_v2_LSU_AUXR_Y 33
2066 #define Reservation_kv3_v2_LSU_AUXW 34
2067 #define Reservation_kv3_v2_LSU_AUXW_X 35
2068 #define Reservation_kv3_v2_LSU_AUXW_Y 36
2069 #define Reservation_kv3_v2_LSU_AUXR_AUXW 37
2070 #define Reservation_kv3_v2_LSU_AUXR_AUXW_X 38
2071 #define Reservation_kv3_v2_LSU_AUXR_AUXW_Y 39
2072 #define Reservation_kv3_v2_MAU 40
2073 #define Reservation_kv3_v2_MAU_X 41
2074 #define Reservation_kv3_v2_MAU_Y 42
2075 #define Reservation_kv3_v2_MAU_AUXR 43
2076 #define Reservation_kv3_v2_MAU_AUXR_X 44
2077 #define Reservation_kv3_v2_MAU_AUXR_Y 45
2078 
2079 
2080 extern struct kvx_reloc kv3_v2_rel16_reloc;
2081 extern struct kvx_reloc kv3_v2_rel32_reloc;
2082 extern struct kvx_reloc kv3_v2_rel64_reloc;
2083 extern struct kvx_reloc kv3_v2_pcrel_signed16_reloc;
2084 extern struct kvx_reloc kv3_v2_pcrel17_reloc;
2085 extern struct kvx_reloc kv3_v2_pcrel27_reloc;
2086 extern struct kvx_reloc kv3_v2_pcrel32_reloc;
2087 extern struct kvx_reloc kv3_v2_pcrel_signed37_reloc;
2088 extern struct kvx_reloc kv3_v2_pcrel_signed43_reloc;
2089 extern struct kvx_reloc kv3_v2_pcrel_signed64_reloc;
2090 extern struct kvx_reloc kv3_v2_pcrel64_reloc;
2091 extern struct kvx_reloc kv3_v2_signed16_reloc;
2092 extern struct kvx_reloc kv3_v2_signed32_reloc;
2093 extern struct kvx_reloc kv3_v2_signed37_reloc;
2094 extern struct kvx_reloc kv3_v2_gotoff_signed37_reloc;
2095 extern struct kvx_reloc kv3_v2_gotoff_signed43_reloc;
2096 extern struct kvx_reloc kv3_v2_gotoff_32_reloc;
2097 extern struct kvx_reloc kv3_v2_gotoff_64_reloc;
2098 extern struct kvx_reloc kv3_v2_got_32_reloc;
2099 extern struct kvx_reloc kv3_v2_got_signed37_reloc;
2100 extern struct kvx_reloc kv3_v2_got_signed43_reloc;
2101 extern struct kvx_reloc kv3_v2_got_64_reloc;
2102 extern struct kvx_reloc kv3_v2_glob_dat_reloc;
2103 extern struct kvx_reloc kv3_v2_copy_reloc;
2104 extern struct kvx_reloc kv3_v2_jump_slot_reloc;
2105 extern struct kvx_reloc kv3_v2_relative_reloc;
2106 extern struct kvx_reloc kv3_v2_signed43_reloc;
2107 extern struct kvx_reloc kv3_v2_signed64_reloc;
2108 extern struct kvx_reloc kv3_v2_gotaddr_signed37_reloc;
2109 extern struct kvx_reloc kv3_v2_gotaddr_signed43_reloc;
2110 extern struct kvx_reloc kv3_v2_gotaddr_signed64_reloc;
2111 extern struct kvx_reloc kv3_v2_dtpmod64_reloc;
2112 extern struct kvx_reloc kv3_v2_dtpoff64_reloc;
2113 extern struct kvx_reloc kv3_v2_dtpoff_signed37_reloc;
2114 extern struct kvx_reloc kv3_v2_dtpoff_signed43_reloc;
2115 extern struct kvx_reloc kv3_v2_tlsgd_signed37_reloc;
2116 extern struct kvx_reloc kv3_v2_tlsgd_signed43_reloc;
2117 extern struct kvx_reloc kv3_v2_tlsld_signed37_reloc;
2118 extern struct kvx_reloc kv3_v2_tlsld_signed43_reloc;
2119 extern struct kvx_reloc kv3_v2_tpoff64_reloc;
2120 extern struct kvx_reloc kv3_v2_tlsie_signed37_reloc;
2121 extern struct kvx_reloc kv3_v2_tlsie_signed43_reloc;
2122 extern struct kvx_reloc kv3_v2_tlsle_signed37_reloc;
2123 extern struct kvx_reloc kv3_v2_tlsle_signed43_reloc;
2124 extern struct kvx_reloc kv3_v2_rel8_reloc;
2125 
2126 #define KVX_REGFILE_FIRST_GPR 0
2127 #define KVX_REGFILE_LAST_GPR 1
2128 #define KVX_REGFILE_DEC_GPR 2
2129 #define KVX_REGFILE_FIRST_PGR 3
2130 #define KVX_REGFILE_LAST_PGR 4
2131 #define KVX_REGFILE_DEC_PGR 5
2132 #define KVX_REGFILE_FIRST_QGR 6
2133 #define KVX_REGFILE_LAST_QGR 7
2134 #define KVX_REGFILE_DEC_QGR 8
2135 #define KVX_REGFILE_FIRST_SFR 9
2136 #define KVX_REGFILE_LAST_SFR 10
2137 #define KVX_REGFILE_DEC_SFR 11
2138 #define KVX_REGFILE_FIRST_X16R 12
2139 #define KVX_REGFILE_LAST_X16R 13
2140 #define KVX_REGFILE_DEC_X16R 14
2141 #define KVX_REGFILE_FIRST_X2R 15
2142 #define KVX_REGFILE_LAST_X2R 16
2143 #define KVX_REGFILE_DEC_X2R 17
2144 #define KVX_REGFILE_FIRST_X32R 18
2145 #define KVX_REGFILE_LAST_X32R 19
2146 #define KVX_REGFILE_DEC_X32R 20
2147 #define KVX_REGFILE_FIRST_X4R 21
2148 #define KVX_REGFILE_LAST_X4R 22
2149 #define KVX_REGFILE_DEC_X4R 23
2150 #define KVX_REGFILE_FIRST_X64R 24
2151 #define KVX_REGFILE_LAST_X64R 25
2152 #define KVX_REGFILE_DEC_X64R 26
2153 #define KVX_REGFILE_FIRST_X8R 27
2154 #define KVX_REGFILE_LAST_X8R 28
2155 #define KVX_REGFILE_DEC_X8R 29
2156 #define KVX_REGFILE_FIRST_XBR 30
2157 #define KVX_REGFILE_LAST_XBR 31
2158 #define KVX_REGFILE_DEC_XBR 32
2159 #define KVX_REGFILE_FIRST_XCR 33
2160 #define KVX_REGFILE_LAST_XCR 34
2161 #define KVX_REGFILE_DEC_XCR 35
2162 #define KVX_REGFILE_FIRST_XMR 36
2163 #define KVX_REGFILE_LAST_XMR 37
2164 #define KVX_REGFILE_DEC_XMR 38
2165 #define KVX_REGFILE_FIRST_XTR 39
2166 #define KVX_REGFILE_LAST_XTR 40
2167 #define KVX_REGFILE_DEC_XTR 41
2168 #define KVX_REGFILE_FIRST_XVR 42
2169 #define KVX_REGFILE_LAST_XVR 43
2170 #define KVX_REGFILE_DEC_XVR 44
2171 #define KVX_REGFILE_REGISTERS 45
2172 #define KVX_REGFILE_DEC_REGISTERS 46
2173 
2174 
2175 extern int kvx_kv4_v1_regfiles[];
2176 extern const char **kvx_kv4_v1_modifiers[];
2177 extern struct kvx_Register kvx_kv4_v1_registers[];
2178 
2179 extern int kvx_kv4_v1_dec_registers[];
2180 
2181 enum Method_kvx_kv4_v1_enum {
2182   Immediate_kv4_v1_brknumber = 1,
2183   Immediate_kv4_v1_pcrel17 = 2,
2184   Immediate_kv4_v1_pcrel27 = 3,
2185   Immediate_kv4_v1_signed10 = 4,
2186   Immediate_kv4_v1_signed16 = 5,
2187   Immediate_kv4_v1_signed27 = 6,
2188   Immediate_kv4_v1_signed37 = 7,
2189   Immediate_kv4_v1_signed43 = 8,
2190   Immediate_kv4_v1_signed54 = 9,
2191   Immediate_kv4_v1_sysnumber = 10,
2192   Immediate_kv4_v1_unsigned6 = 11,
2193   Immediate_kv4_v1_wrapped32 = 12,
2194   Immediate_kv4_v1_wrapped64 = 13,
2195   Immediate_kv4_v1_wrapped8 = 14,
2196   Modifier_kv4_v1_accesses = 15,
2197   Modifier_kv4_v1_boolcas = 16,
2198   Modifier_kv4_v1_cachelev = 17,
2199   Modifier_kv4_v1_channel = 18,
2200   Modifier_kv4_v1_coherency = 19,
2201   Modifier_kv4_v1_comparison = 20,
2202   Modifier_kv4_v1_conjugate = 21,
2203   Modifier_kv4_v1_doscale = 22,
2204   Modifier_kv4_v1_exunum = 23,
2205   Modifier_kv4_v1_floatcomp = 24,
2206   Modifier_kv4_v1_hindex = 25,
2207   Modifier_kv4_v1_lsomask = 26,
2208   Modifier_kv4_v1_lsumask = 27,
2209   Modifier_kv4_v1_lsupack = 28,
2210   Modifier_kv4_v1_qindex = 29,
2211   Modifier_kv4_v1_rounding = 30,
2212   Modifier_kv4_v1_scalarcond = 31,
2213   Modifier_kv4_v1_shuffleV = 32,
2214   Modifier_kv4_v1_shuffleX = 33,
2215   Modifier_kv4_v1_silent = 34,
2216   Modifier_kv4_v1_simplecond = 35,
2217   Modifier_kv4_v1_speculate = 36,
2218   Modifier_kv4_v1_splat32 = 37,
2219   Modifier_kv4_v1_transpose = 38,
2220   Modifier_kv4_v1_variant = 39,
2221   RegClass_kv4_v1_aloneReg = 40,
2222   RegClass_kv4_v1_blockReg = 41,
2223   RegClass_kv4_v1_blockRegE = 42,
2224   RegClass_kv4_v1_blockRegO = 43,
2225   RegClass_kv4_v1_blockReg_0 = 44,
2226   RegClass_kv4_v1_blockReg_1 = 45,
2227   RegClass_kv4_v1_buffer16Reg = 46,
2228   RegClass_kv4_v1_buffer2Reg = 47,
2229   RegClass_kv4_v1_buffer32Reg = 48,
2230   RegClass_kv4_v1_buffer4Reg = 49,
2231   RegClass_kv4_v1_buffer64Reg = 50,
2232   RegClass_kv4_v1_buffer8Reg = 51,
2233   RegClass_kv4_v1_coproReg = 52,
2234   RegClass_kv4_v1_coproReg0M4 = 53,
2235   RegClass_kv4_v1_coproReg1M4 = 54,
2236   RegClass_kv4_v1_coproReg2M4 = 55,
2237   RegClass_kv4_v1_coproReg3M4 = 56,
2238   RegClass_kv4_v1_matrixReg = 57,
2239   RegClass_kv4_v1_matrixReg_0 = 58,
2240   RegClass_kv4_v1_matrixReg_1 = 59,
2241   RegClass_kv4_v1_matrixReg_2 = 60,
2242   RegClass_kv4_v1_matrixReg_3 = 61,
2243   RegClass_kv4_v1_onlyfxReg = 62,
2244   RegClass_kv4_v1_onlygetReg = 63,
2245   RegClass_kv4_v1_onlyraReg = 64,
2246   RegClass_kv4_v1_onlysetReg = 65,
2247   RegClass_kv4_v1_onlyswapReg = 66,
2248   RegClass_kv4_v1_pairedReg = 67,
2249   RegClass_kv4_v1_pairedReg_0 = 68,
2250   RegClass_kv4_v1_pairedReg_1 = 69,
2251   RegClass_kv4_v1_quadReg = 70,
2252   RegClass_kv4_v1_quadReg_0 = 71,
2253   RegClass_kv4_v1_quadReg_1 = 72,
2254   RegClass_kv4_v1_quadReg_2 = 73,
2255   RegClass_kv4_v1_quadReg_3 = 74,
2256   RegClass_kv4_v1_singleReg = 75,
2257   RegClass_kv4_v1_systemReg = 76,
2258   RegClass_kv4_v1_tileReg = 77,
2259   RegClass_kv4_v1_tileReg_0 = 78,
2260   RegClass_kv4_v1_tileReg_1 = 79,
2261   RegClass_kv4_v1_vectorReg = 80,
2262   RegClass_kv4_v1_vectorReg_0 = 81,
2263   RegClass_kv4_v1_vectorReg_1 = 82,
2264   RegClass_kv4_v1_vectorReg_2 = 83,
2265   RegClass_kv4_v1_vectorReg_3 = 84,
2266   Instruction_kv4_v1_abdbo = 85,
2267   Instruction_kv4_v1_abdd = 86,
2268   Instruction_kv4_v1_abdd_abase = 87,
2269   Instruction_kv4_v1_abdhq = 88,
2270   Instruction_kv4_v1_abdsbo = 89,
2271   Instruction_kv4_v1_abdsd = 90,
2272   Instruction_kv4_v1_abdshq = 91,
2273   Instruction_kv4_v1_abdsw = 92,
2274   Instruction_kv4_v1_abdswp = 93,
2275   Instruction_kv4_v1_abdubo = 94,
2276   Instruction_kv4_v1_abdud = 95,
2277   Instruction_kv4_v1_abduhq = 96,
2278   Instruction_kv4_v1_abduw = 97,
2279   Instruction_kv4_v1_abduwp = 98,
2280   Instruction_kv4_v1_abdw = 99,
2281   Instruction_kv4_v1_abdwp = 100,
2282   Instruction_kv4_v1_absbo = 101,
2283   Instruction_kv4_v1_absd = 102,
2284   Instruction_kv4_v1_abshq = 103,
2285   Instruction_kv4_v1_abssbo = 104,
2286   Instruction_kv4_v1_abssd = 105,
2287   Instruction_kv4_v1_absshq = 106,
2288   Instruction_kv4_v1_abssw = 107,
2289   Instruction_kv4_v1_absswp = 108,
2290   Instruction_kv4_v1_absw = 109,
2291   Instruction_kv4_v1_abswp = 110,
2292   Instruction_kv4_v1_acswapd = 111,
2293   Instruction_kv4_v1_acswapq = 112,
2294   Instruction_kv4_v1_acswapw = 113,
2295   Instruction_kv4_v1_addbo = 114,
2296   Instruction_kv4_v1_addcd = 115,
2297   Instruction_kv4_v1_addcd_i = 116,
2298   Instruction_kv4_v1_addd = 117,
2299   Instruction_kv4_v1_addd_abase = 118,
2300   Instruction_kv4_v1_addhq = 119,
2301   Instruction_kv4_v1_addrbod = 120,
2302   Instruction_kv4_v1_addrhqd = 121,
2303   Instruction_kv4_v1_addrwpd = 122,
2304   Instruction_kv4_v1_addsbo = 123,
2305   Instruction_kv4_v1_addsd = 124,
2306   Instruction_kv4_v1_addshq = 125,
2307   Instruction_kv4_v1_addsw = 126,
2308   Instruction_kv4_v1_addswp = 127,
2309   Instruction_kv4_v1_addurbod = 128,
2310   Instruction_kv4_v1_addurhqd = 129,
2311   Instruction_kv4_v1_addurwpd = 130,
2312   Instruction_kv4_v1_addusbo = 131,
2313   Instruction_kv4_v1_addusd = 132,
2314   Instruction_kv4_v1_addushq = 133,
2315   Instruction_kv4_v1_addusw = 134,
2316   Instruction_kv4_v1_adduswp = 135,
2317   Instruction_kv4_v1_adduwd = 136,
2318   Instruction_kv4_v1_addw = 137,
2319   Instruction_kv4_v1_addwd = 138,
2320   Instruction_kv4_v1_addwp = 139,
2321   Instruction_kv4_v1_addx16bo = 140,
2322   Instruction_kv4_v1_addx16d = 141,
2323   Instruction_kv4_v1_addx16hq = 142,
2324   Instruction_kv4_v1_addx16uwd = 143,
2325   Instruction_kv4_v1_addx16w = 144,
2326   Instruction_kv4_v1_addx16wd = 145,
2327   Instruction_kv4_v1_addx16wp = 146,
2328   Instruction_kv4_v1_addx2bo = 147,
2329   Instruction_kv4_v1_addx2d = 148,
2330   Instruction_kv4_v1_addx2hq = 149,
2331   Instruction_kv4_v1_addx2uwd = 150,
2332   Instruction_kv4_v1_addx2w = 151,
2333   Instruction_kv4_v1_addx2wd = 152,
2334   Instruction_kv4_v1_addx2wp = 153,
2335   Instruction_kv4_v1_addx32d = 154,
2336   Instruction_kv4_v1_addx32uwd = 155,
2337   Instruction_kv4_v1_addx32w = 156,
2338   Instruction_kv4_v1_addx32wd = 157,
2339   Instruction_kv4_v1_addx4bo = 158,
2340   Instruction_kv4_v1_addx4d = 159,
2341   Instruction_kv4_v1_addx4hq = 160,
2342   Instruction_kv4_v1_addx4uwd = 161,
2343   Instruction_kv4_v1_addx4w = 162,
2344   Instruction_kv4_v1_addx4wd = 163,
2345   Instruction_kv4_v1_addx4wp = 164,
2346   Instruction_kv4_v1_addx64d = 165,
2347   Instruction_kv4_v1_addx64uwd = 166,
2348   Instruction_kv4_v1_addx64w = 167,
2349   Instruction_kv4_v1_addx64wd = 168,
2350   Instruction_kv4_v1_addx8bo = 169,
2351   Instruction_kv4_v1_addx8d = 170,
2352   Instruction_kv4_v1_addx8hq = 171,
2353   Instruction_kv4_v1_addx8uwd = 172,
2354   Instruction_kv4_v1_addx8w = 173,
2355   Instruction_kv4_v1_addx8wd = 174,
2356   Instruction_kv4_v1_addx8wp = 175,
2357   Instruction_kv4_v1_aladdd = 176,
2358   Instruction_kv4_v1_aladdw = 177,
2359   Instruction_kv4_v1_alclrd = 178,
2360   Instruction_kv4_v1_alclrw = 179,
2361   Instruction_kv4_v1_ald = 180,
2362   Instruction_kv4_v1_alw = 181,
2363   Instruction_kv4_v1_andd = 182,
2364   Instruction_kv4_v1_andd_abase = 183,
2365   Instruction_kv4_v1_andnd = 184,
2366   Instruction_kv4_v1_andnd_abase = 185,
2367   Instruction_kv4_v1_andnw = 186,
2368   Instruction_kv4_v1_andrbod = 187,
2369   Instruction_kv4_v1_andrhqd = 188,
2370   Instruction_kv4_v1_andrwpd = 189,
2371   Instruction_kv4_v1_andw = 190,
2372   Instruction_kv4_v1_asd = 191,
2373   Instruction_kv4_v1_asw = 192,
2374   Instruction_kv4_v1_avgbo = 193,
2375   Instruction_kv4_v1_avghq = 194,
2376   Instruction_kv4_v1_avgrbo = 195,
2377   Instruction_kv4_v1_avgrhq = 196,
2378   Instruction_kv4_v1_avgrubo = 197,
2379   Instruction_kv4_v1_avgruhq = 198,
2380   Instruction_kv4_v1_avgruw = 199,
2381   Instruction_kv4_v1_avgruwp = 200,
2382   Instruction_kv4_v1_avgrw = 201,
2383   Instruction_kv4_v1_avgrwp = 202,
2384   Instruction_kv4_v1_avgubo = 203,
2385   Instruction_kv4_v1_avguhq = 204,
2386   Instruction_kv4_v1_avguw = 205,
2387   Instruction_kv4_v1_avguwp = 206,
2388   Instruction_kv4_v1_avgw = 207,
2389   Instruction_kv4_v1_avgwp = 208,
2390   Instruction_kv4_v1_await = 209,
2391   Instruction_kv4_v1_barrier = 210,
2392   Instruction_kv4_v1_break = 211,
2393   Instruction_kv4_v1_call = 212,
2394   Instruction_kv4_v1_cb = 213,
2395   Instruction_kv4_v1_cbsd = 214,
2396   Instruction_kv4_v1_cbsw = 215,
2397   Instruction_kv4_v1_cbswp = 216,
2398   Instruction_kv4_v1_clrf = 217,
2399   Instruction_kv4_v1_clsd = 218,
2400   Instruction_kv4_v1_clsw = 219,
2401   Instruction_kv4_v1_clswp = 220,
2402   Instruction_kv4_v1_clzd = 221,
2403   Instruction_kv4_v1_clzw = 222,
2404   Instruction_kv4_v1_clzwp = 223,
2405   Instruction_kv4_v1_cmovebo = 224,
2406   Instruction_kv4_v1_cmoved = 225,
2407   Instruction_kv4_v1_cmovehq = 226,
2408   Instruction_kv4_v1_cmovewp = 227,
2409   Instruction_kv4_v1_cmuldt = 228,
2410   Instruction_kv4_v1_cmulghxdt = 229,
2411   Instruction_kv4_v1_cmulglxdt = 230,
2412   Instruction_kv4_v1_cmulgmxdt = 231,
2413   Instruction_kv4_v1_cmulxdt = 232,
2414   Instruction_kv4_v1_compd = 233,
2415   Instruction_kv4_v1_compnbo = 234,
2416   Instruction_kv4_v1_compnd = 235,
2417   Instruction_kv4_v1_compnhq = 236,
2418   Instruction_kv4_v1_compnw = 237,
2419   Instruction_kv4_v1_compnwp = 238,
2420   Instruction_kv4_v1_compuwd = 239,
2421   Instruction_kv4_v1_compw = 240,
2422   Instruction_kv4_v1_compwd = 241,
2423   Instruction_kv4_v1_copyd = 242,
2424   Instruction_kv4_v1_copyo = 243,
2425   Instruction_kv4_v1_copyq = 244,
2426   Instruction_kv4_v1_copyw = 245,
2427   Instruction_kv4_v1_crcbellw = 246,
2428   Instruction_kv4_v1_crcbelmw = 247,
2429   Instruction_kv4_v1_crclellw = 248,
2430   Instruction_kv4_v1_crclelmw = 249,
2431   Instruction_kv4_v1_ctzd = 250,
2432   Instruction_kv4_v1_ctzw = 251,
2433   Instruction_kv4_v1_ctzwp = 252,
2434   Instruction_kv4_v1_d1inval = 253,
2435   Instruction_kv4_v1_dflushl = 254,
2436   Instruction_kv4_v1_dflushsw = 255,
2437   Instruction_kv4_v1_dinvall = 256,
2438   Instruction_kv4_v1_dinvalsw = 257,
2439   Instruction_kv4_v1_dot2suwd = 258,
2440   Instruction_kv4_v1_dot2suwdp = 259,
2441   Instruction_kv4_v1_dot2uwd = 260,
2442   Instruction_kv4_v1_dot2uwdp = 261,
2443   Instruction_kv4_v1_dot2w = 262,
2444   Instruction_kv4_v1_dot2wd = 263,
2445   Instruction_kv4_v1_dot2wdp = 264,
2446   Instruction_kv4_v1_dot2wzp = 265,
2447   Instruction_kv4_v1_dpurgel = 266,
2448   Instruction_kv4_v1_dpurgesw = 267,
2449   Instruction_kv4_v1_dtouchl = 268,
2450   Instruction_kv4_v1_errop = 269,
2451   Instruction_kv4_v1_extfs = 270,
2452   Instruction_kv4_v1_extfz = 271,
2453   Instruction_kv4_v1_fabsd = 272,
2454   Instruction_kv4_v1_fabshq = 273,
2455   Instruction_kv4_v1_fabsw = 274,
2456   Instruction_kv4_v1_fabswp = 275,
2457   Instruction_kv4_v1_faddd = 276,
2458   Instruction_kv4_v1_fadddc = 277,
2459   Instruction_kv4_v1_fadddc_c = 278,
2460   Instruction_kv4_v1_fadddp = 279,
2461   Instruction_kv4_v1_faddho = 280,
2462   Instruction_kv4_v1_faddhq = 281,
2463   Instruction_kv4_v1_faddw = 282,
2464   Instruction_kv4_v1_faddwc = 283,
2465   Instruction_kv4_v1_faddwc_c = 284,
2466   Instruction_kv4_v1_faddwcp = 285,
2467   Instruction_kv4_v1_faddwcp_c = 286,
2468   Instruction_kv4_v1_faddwp = 287,
2469   Instruction_kv4_v1_faddwq = 288,
2470   Instruction_kv4_v1_fcdivd = 289,
2471   Instruction_kv4_v1_fcdivw = 290,
2472   Instruction_kv4_v1_fcdivwp = 291,
2473   Instruction_kv4_v1_fcompd = 292,
2474   Instruction_kv4_v1_fcompnd = 293,
2475   Instruction_kv4_v1_fcompnhq = 294,
2476   Instruction_kv4_v1_fcompnw = 295,
2477   Instruction_kv4_v1_fcompnwp = 296,
2478   Instruction_kv4_v1_fcompw = 297,
2479   Instruction_kv4_v1_fdot2w = 298,
2480   Instruction_kv4_v1_fdot2wd = 299,
2481   Instruction_kv4_v1_fdot2wdp = 300,
2482   Instruction_kv4_v1_fdot2wzp = 301,
2483   Instruction_kv4_v1_fence = 302,
2484   Instruction_kv4_v1_ffdmasw = 303,
2485   Instruction_kv4_v1_ffdmaswp = 304,
2486   Instruction_kv4_v1_ffdmaswq = 305,
2487   Instruction_kv4_v1_ffdmaw = 306,
2488   Instruction_kv4_v1_ffdmawp = 307,
2489   Instruction_kv4_v1_ffdmawq = 308,
2490   Instruction_kv4_v1_ffdmdaw = 309,
2491   Instruction_kv4_v1_ffdmdawp = 310,
2492   Instruction_kv4_v1_ffdmdawq = 311,
2493   Instruction_kv4_v1_ffdmdsw = 312,
2494   Instruction_kv4_v1_ffdmdswp = 313,
2495   Instruction_kv4_v1_ffdmdswq = 314,
2496   Instruction_kv4_v1_ffdmsaw = 315,
2497   Instruction_kv4_v1_ffdmsawp = 316,
2498   Instruction_kv4_v1_ffdmsawq = 317,
2499   Instruction_kv4_v1_ffdmsw = 318,
2500   Instruction_kv4_v1_ffdmswp = 319,
2501   Instruction_kv4_v1_ffdmswq = 320,
2502   Instruction_kv4_v1_ffmad = 321,
2503   Instruction_kv4_v1_ffmaho = 322,
2504   Instruction_kv4_v1_ffmahq = 323,
2505   Instruction_kv4_v1_ffmahw = 324,
2506   Instruction_kv4_v1_ffmahwq = 325,
2507   Instruction_kv4_v1_ffmaw = 326,
2508   Instruction_kv4_v1_ffmawc = 327,
2509   Instruction_kv4_v1_ffmawcp = 328,
2510   Instruction_kv4_v1_ffmawd = 329,
2511   Instruction_kv4_v1_ffmawdp = 330,
2512   Instruction_kv4_v1_ffmawp = 331,
2513   Instruction_kv4_v1_ffmawq = 332,
2514   Instruction_kv4_v1_ffmsd = 333,
2515   Instruction_kv4_v1_ffmsho = 334,
2516   Instruction_kv4_v1_ffmshq = 335,
2517   Instruction_kv4_v1_ffmshw = 336,
2518   Instruction_kv4_v1_ffmshwq = 337,
2519   Instruction_kv4_v1_ffmsw = 338,
2520   Instruction_kv4_v1_ffmswc = 339,
2521   Instruction_kv4_v1_ffmswcp = 340,
2522   Instruction_kv4_v1_ffmswd = 341,
2523   Instruction_kv4_v1_ffmswdp = 342,
2524   Instruction_kv4_v1_ffmswp = 343,
2525   Instruction_kv4_v1_ffmswq = 344,
2526   Instruction_kv4_v1_fixedd = 345,
2527   Instruction_kv4_v1_fixedud = 346,
2528   Instruction_kv4_v1_fixeduw = 347,
2529   Instruction_kv4_v1_fixeduwp = 348,
2530   Instruction_kv4_v1_fixedw = 349,
2531   Instruction_kv4_v1_fixedwp = 350,
2532   Instruction_kv4_v1_floatd = 351,
2533   Instruction_kv4_v1_floatud = 352,
2534   Instruction_kv4_v1_floatuw = 353,
2535   Instruction_kv4_v1_floatuwp = 354,
2536   Instruction_kv4_v1_floatw = 355,
2537   Instruction_kv4_v1_floatwp = 356,
2538   Instruction_kv4_v1_fmaxd = 357,
2539   Instruction_kv4_v1_fmaxhq = 358,
2540   Instruction_kv4_v1_fmaxw = 359,
2541   Instruction_kv4_v1_fmaxwp = 360,
2542   Instruction_kv4_v1_fmind = 361,
2543   Instruction_kv4_v1_fminhq = 362,
2544   Instruction_kv4_v1_fminw = 363,
2545   Instruction_kv4_v1_fminwp = 364,
2546   Instruction_kv4_v1_fmm212w = 365,
2547   Instruction_kv4_v1_fmm222w = 366,
2548   Instruction_kv4_v1_fmma212w = 367,
2549   Instruction_kv4_v1_fmma222w = 368,
2550   Instruction_kv4_v1_fmms212w = 369,
2551   Instruction_kv4_v1_fmms222w = 370,
2552   Instruction_kv4_v1_fmuld = 371,
2553   Instruction_kv4_v1_fmulho = 372,
2554   Instruction_kv4_v1_fmulhq = 373,
2555   Instruction_kv4_v1_fmulhw = 374,
2556   Instruction_kv4_v1_fmulhwq = 375,
2557   Instruction_kv4_v1_fmulw = 376,
2558   Instruction_kv4_v1_fmulwc = 377,
2559   Instruction_kv4_v1_fmulwcp = 378,
2560   Instruction_kv4_v1_fmulwd = 379,
2561   Instruction_kv4_v1_fmulwdp = 380,
2562   Instruction_kv4_v1_fmulwp = 381,
2563   Instruction_kv4_v1_fmulwq = 382,
2564   Instruction_kv4_v1_fnarrowdw = 383,
2565   Instruction_kv4_v1_fnarrowdwp = 384,
2566   Instruction_kv4_v1_fnarrowwh = 385,
2567   Instruction_kv4_v1_fnarrowwhq = 386,
2568   Instruction_kv4_v1_fnegd = 387,
2569   Instruction_kv4_v1_fneghq = 388,
2570   Instruction_kv4_v1_fnegw = 389,
2571   Instruction_kv4_v1_fnegwp = 390,
2572   Instruction_kv4_v1_frecw = 391,
2573   Instruction_kv4_v1_frsrw = 392,
2574   Instruction_kv4_v1_fsbfd = 393,
2575   Instruction_kv4_v1_fsbfdc = 394,
2576   Instruction_kv4_v1_fsbfdc_c = 395,
2577   Instruction_kv4_v1_fsbfdp = 396,
2578   Instruction_kv4_v1_fsbfho = 397,
2579   Instruction_kv4_v1_fsbfhq = 398,
2580   Instruction_kv4_v1_fsbfw = 399,
2581   Instruction_kv4_v1_fsbfwc = 400,
2582   Instruction_kv4_v1_fsbfwc_c = 401,
2583   Instruction_kv4_v1_fsbfwcp = 402,
2584   Instruction_kv4_v1_fsbfwcp_c = 403,
2585   Instruction_kv4_v1_fsbfwp = 404,
2586   Instruction_kv4_v1_fsbfwq = 405,
2587   Instruction_kv4_v1_fsdivd = 406,
2588   Instruction_kv4_v1_fsdivw = 407,
2589   Instruction_kv4_v1_fsdivwp = 408,
2590   Instruction_kv4_v1_fsrecd = 409,
2591   Instruction_kv4_v1_fsrecw = 410,
2592   Instruction_kv4_v1_fsrecwp = 411,
2593   Instruction_kv4_v1_fsrsrd = 412,
2594   Instruction_kv4_v1_fsrsrw = 413,
2595   Instruction_kv4_v1_fsrsrwp = 414,
2596   Instruction_kv4_v1_fwidenlhw = 415,
2597   Instruction_kv4_v1_fwidenlhwp = 416,
2598   Instruction_kv4_v1_fwidenlwd = 417,
2599   Instruction_kv4_v1_fwidenmhw = 418,
2600   Instruction_kv4_v1_fwidenmhwp = 419,
2601   Instruction_kv4_v1_fwidenmwd = 420,
2602   Instruction_kv4_v1_get = 421,
2603   Instruction_kv4_v1_goto = 422,
2604   Instruction_kv4_v1_i1inval = 423,
2605   Instruction_kv4_v1_i1invals = 424,
2606   Instruction_kv4_v1_icall = 425,
2607   Instruction_kv4_v1_iget = 426,
2608   Instruction_kv4_v1_igoto = 427,
2609   Instruction_kv4_v1_insf = 428,
2610   Instruction_kv4_v1_landd = 429,
2611   Instruction_kv4_v1_landw = 430,
2612   Instruction_kv4_v1_lbs = 431,
2613   Instruction_kv4_v1_lbz = 432,
2614   Instruction_kv4_v1_ld = 433,
2615   Instruction_kv4_v1_lhs = 434,
2616   Instruction_kv4_v1_lhz = 435,
2617   Instruction_kv4_v1_lnandd = 436,
2618   Instruction_kv4_v1_lnandw = 437,
2619   Instruction_kv4_v1_lnord = 438,
2620   Instruction_kv4_v1_lnorw = 439,
2621   Instruction_kv4_v1_lo = 440,
2622   Instruction_kv4_v1_loopdo = 441,
2623   Instruction_kv4_v1_lord = 442,
2624   Instruction_kv4_v1_lorw = 443,
2625   Instruction_kv4_v1_lq = 444,
2626   Instruction_kv4_v1_lws = 445,
2627   Instruction_kv4_v1_lwz = 446,
2628   Instruction_kv4_v1_maddd = 447,
2629   Instruction_kv4_v1_madddt = 448,
2630   Instruction_kv4_v1_maddhq = 449,
2631   Instruction_kv4_v1_maddhwq = 450,
2632   Instruction_kv4_v1_maddmwq = 451,
2633   Instruction_kv4_v1_maddsudt = 452,
2634   Instruction_kv4_v1_maddsuhwq = 453,
2635   Instruction_kv4_v1_maddsumwq = 454,
2636   Instruction_kv4_v1_maddsuwd = 455,
2637   Instruction_kv4_v1_maddsuwdp = 456,
2638   Instruction_kv4_v1_maddudt = 457,
2639   Instruction_kv4_v1_madduhwq = 458,
2640   Instruction_kv4_v1_maddumwq = 459,
2641   Instruction_kv4_v1_madduwd = 460,
2642   Instruction_kv4_v1_madduwdp = 461,
2643   Instruction_kv4_v1_madduzdt = 462,
2644   Instruction_kv4_v1_maddw = 463,
2645   Instruction_kv4_v1_maddwd = 464,
2646   Instruction_kv4_v1_maddwdp = 465,
2647   Instruction_kv4_v1_maddwp = 466,
2648   Instruction_kv4_v1_maddwq = 467,
2649   Instruction_kv4_v1_make = 468,
2650   Instruction_kv4_v1_maxbo = 469,
2651   Instruction_kv4_v1_maxd = 470,
2652   Instruction_kv4_v1_maxd_abase = 471,
2653   Instruction_kv4_v1_maxhq = 472,
2654   Instruction_kv4_v1_maxrbod = 473,
2655   Instruction_kv4_v1_maxrhqd = 474,
2656   Instruction_kv4_v1_maxrwpd = 475,
2657   Instruction_kv4_v1_maxubo = 476,
2658   Instruction_kv4_v1_maxud = 477,
2659   Instruction_kv4_v1_maxud_abase = 478,
2660   Instruction_kv4_v1_maxuhq = 479,
2661   Instruction_kv4_v1_maxurbod = 480,
2662   Instruction_kv4_v1_maxurhqd = 481,
2663   Instruction_kv4_v1_maxurwpd = 482,
2664   Instruction_kv4_v1_maxuw = 483,
2665   Instruction_kv4_v1_maxuwp = 484,
2666   Instruction_kv4_v1_maxw = 485,
2667   Instruction_kv4_v1_maxwp = 486,
2668   Instruction_kv4_v1_minbo = 487,
2669   Instruction_kv4_v1_mind = 488,
2670   Instruction_kv4_v1_mind_abase = 489,
2671   Instruction_kv4_v1_minhq = 490,
2672   Instruction_kv4_v1_minrbod = 491,
2673   Instruction_kv4_v1_minrhqd = 492,
2674   Instruction_kv4_v1_minrwpd = 493,
2675   Instruction_kv4_v1_minubo = 494,
2676   Instruction_kv4_v1_minud = 495,
2677   Instruction_kv4_v1_minud_abase = 496,
2678   Instruction_kv4_v1_minuhq = 497,
2679   Instruction_kv4_v1_minurbod = 498,
2680   Instruction_kv4_v1_minurhqd = 499,
2681   Instruction_kv4_v1_minurwpd = 500,
2682   Instruction_kv4_v1_minuw = 501,
2683   Instruction_kv4_v1_minuwp = 502,
2684   Instruction_kv4_v1_minw = 503,
2685   Instruction_kv4_v1_minwp = 504,
2686   Instruction_kv4_v1_mm212w = 505,
2687   Instruction_kv4_v1_mma212w = 506,
2688   Instruction_kv4_v1_mms212w = 507,
2689   Instruction_kv4_v1_msbfd = 508,
2690   Instruction_kv4_v1_msbfdt = 509,
2691   Instruction_kv4_v1_msbfhq = 510,
2692   Instruction_kv4_v1_msbfhwq = 511,
2693   Instruction_kv4_v1_msbfmwq = 512,
2694   Instruction_kv4_v1_msbfsudt = 513,
2695   Instruction_kv4_v1_msbfsuhwq = 514,
2696   Instruction_kv4_v1_msbfsumwq = 515,
2697   Instruction_kv4_v1_msbfsuwd = 516,
2698   Instruction_kv4_v1_msbfsuwdp = 517,
2699   Instruction_kv4_v1_msbfudt = 518,
2700   Instruction_kv4_v1_msbfuhwq = 519,
2701   Instruction_kv4_v1_msbfumwq = 520,
2702   Instruction_kv4_v1_msbfuwd = 521,
2703   Instruction_kv4_v1_msbfuwdp = 522,
2704   Instruction_kv4_v1_msbfuzdt = 523,
2705   Instruction_kv4_v1_msbfw = 524,
2706   Instruction_kv4_v1_msbfwd = 525,
2707   Instruction_kv4_v1_msbfwdp = 526,
2708   Instruction_kv4_v1_msbfwp = 527,
2709   Instruction_kv4_v1_msbfwq = 528,
2710   Instruction_kv4_v1_muld = 529,
2711   Instruction_kv4_v1_muldt = 530,
2712   Instruction_kv4_v1_mulhq = 531,
2713   Instruction_kv4_v1_mulhwq = 532,
2714   Instruction_kv4_v1_mulmwq = 533,
2715   Instruction_kv4_v1_mulsudt = 534,
2716   Instruction_kv4_v1_mulsuhwq = 535,
2717   Instruction_kv4_v1_mulsumwq = 536,
2718   Instruction_kv4_v1_mulsuwd = 537,
2719   Instruction_kv4_v1_mulsuwdp = 538,
2720   Instruction_kv4_v1_muludt = 539,
2721   Instruction_kv4_v1_muluhwq = 540,
2722   Instruction_kv4_v1_mulumwq = 541,
2723   Instruction_kv4_v1_muluwd = 542,
2724   Instruction_kv4_v1_muluwdp = 543,
2725   Instruction_kv4_v1_mulw = 544,
2726   Instruction_kv4_v1_mulwd = 545,
2727   Instruction_kv4_v1_mulwdp = 546,
2728   Instruction_kv4_v1_mulwp = 547,
2729   Instruction_kv4_v1_mulwq = 548,
2730   Instruction_kv4_v1_nandd = 549,
2731   Instruction_kv4_v1_nandd_abase = 550,
2732   Instruction_kv4_v1_nandw = 551,
2733   Instruction_kv4_v1_negbo = 552,
2734   Instruction_kv4_v1_negd = 553,
2735   Instruction_kv4_v1_neghq = 554,
2736   Instruction_kv4_v1_negsbo = 555,
2737   Instruction_kv4_v1_negsd = 556,
2738   Instruction_kv4_v1_negshq = 557,
2739   Instruction_kv4_v1_negsw = 558,
2740   Instruction_kv4_v1_negswp = 559,
2741   Instruction_kv4_v1_negw = 560,
2742   Instruction_kv4_v1_negwp = 561,
2743   Instruction_kv4_v1_nop = 562,
2744   Instruction_kv4_v1_nord = 563,
2745   Instruction_kv4_v1_nord_abase = 564,
2746   Instruction_kv4_v1_norw = 565,
2747   Instruction_kv4_v1_notd = 566,
2748   Instruction_kv4_v1_notw = 567,
2749   Instruction_kv4_v1_nxord = 568,
2750   Instruction_kv4_v1_nxord_abase = 569,
2751   Instruction_kv4_v1_nxorw = 570,
2752   Instruction_kv4_v1_ord = 571,
2753   Instruction_kv4_v1_ord_abase = 572,
2754   Instruction_kv4_v1_ornd = 573,
2755   Instruction_kv4_v1_ornd_abase = 574,
2756   Instruction_kv4_v1_ornw = 575,
2757   Instruction_kv4_v1_orrbod = 576,
2758   Instruction_kv4_v1_orrhqd = 577,
2759   Instruction_kv4_v1_orrwpd = 578,
2760   Instruction_kv4_v1_orw = 579,
2761   Instruction_kv4_v1_pcrel = 580,
2762   Instruction_kv4_v1_ret = 581,
2763   Instruction_kv4_v1_rfe = 582,
2764   Instruction_kv4_v1_rolw = 583,
2765   Instruction_kv4_v1_rolwps = 584,
2766   Instruction_kv4_v1_rorw = 585,
2767   Instruction_kv4_v1_rorwps = 586,
2768   Instruction_kv4_v1_rswap = 587,
2769   Instruction_kv4_v1_sb = 588,
2770   Instruction_kv4_v1_sbfbo = 589,
2771   Instruction_kv4_v1_sbfcd = 590,
2772   Instruction_kv4_v1_sbfcd_i = 591,
2773   Instruction_kv4_v1_sbfd = 592,
2774   Instruction_kv4_v1_sbfd_abase = 593,
2775   Instruction_kv4_v1_sbfhq = 594,
2776   Instruction_kv4_v1_sbfsbo = 595,
2777   Instruction_kv4_v1_sbfsd = 596,
2778   Instruction_kv4_v1_sbfshq = 597,
2779   Instruction_kv4_v1_sbfsw = 598,
2780   Instruction_kv4_v1_sbfswp = 599,
2781   Instruction_kv4_v1_sbfusbo = 600,
2782   Instruction_kv4_v1_sbfusd = 601,
2783   Instruction_kv4_v1_sbfushq = 602,
2784   Instruction_kv4_v1_sbfusw = 603,
2785   Instruction_kv4_v1_sbfuswp = 604,
2786   Instruction_kv4_v1_sbfuwd = 605,
2787   Instruction_kv4_v1_sbfw = 606,
2788   Instruction_kv4_v1_sbfwd = 607,
2789   Instruction_kv4_v1_sbfwp = 608,
2790   Instruction_kv4_v1_sbfx16bo = 609,
2791   Instruction_kv4_v1_sbfx16d = 610,
2792   Instruction_kv4_v1_sbfx16hq = 611,
2793   Instruction_kv4_v1_sbfx16uwd = 612,
2794   Instruction_kv4_v1_sbfx16w = 613,
2795   Instruction_kv4_v1_sbfx16wd = 614,
2796   Instruction_kv4_v1_sbfx16wp = 615,
2797   Instruction_kv4_v1_sbfx2bo = 616,
2798   Instruction_kv4_v1_sbfx2d = 617,
2799   Instruction_kv4_v1_sbfx2hq = 618,
2800   Instruction_kv4_v1_sbfx2uwd = 619,
2801   Instruction_kv4_v1_sbfx2w = 620,
2802   Instruction_kv4_v1_sbfx2wd = 621,
2803   Instruction_kv4_v1_sbfx2wp = 622,
2804   Instruction_kv4_v1_sbfx32d = 623,
2805   Instruction_kv4_v1_sbfx32uwd = 624,
2806   Instruction_kv4_v1_sbfx32w = 625,
2807   Instruction_kv4_v1_sbfx32wd = 626,
2808   Instruction_kv4_v1_sbfx4bo = 627,
2809   Instruction_kv4_v1_sbfx4d = 628,
2810   Instruction_kv4_v1_sbfx4hq = 629,
2811   Instruction_kv4_v1_sbfx4uwd = 630,
2812   Instruction_kv4_v1_sbfx4w = 631,
2813   Instruction_kv4_v1_sbfx4wd = 632,
2814   Instruction_kv4_v1_sbfx4wp = 633,
2815   Instruction_kv4_v1_sbfx64d = 634,
2816   Instruction_kv4_v1_sbfx64uwd = 635,
2817   Instruction_kv4_v1_sbfx64w = 636,
2818   Instruction_kv4_v1_sbfx64wd = 637,
2819   Instruction_kv4_v1_sbfx8bo = 638,
2820   Instruction_kv4_v1_sbfx8d = 639,
2821   Instruction_kv4_v1_sbfx8hq = 640,
2822   Instruction_kv4_v1_sbfx8uwd = 641,
2823   Instruction_kv4_v1_sbfx8w = 642,
2824   Instruction_kv4_v1_sbfx8wd = 643,
2825   Instruction_kv4_v1_sbfx8wp = 644,
2826   Instruction_kv4_v1_sbmm8 = 645,
2827   Instruction_kv4_v1_sbmm8_abase = 646,
2828   Instruction_kv4_v1_sbmmt8 = 647,
2829   Instruction_kv4_v1_sbmmt8_abase = 648,
2830   Instruction_kv4_v1_scall = 649,
2831   Instruction_kv4_v1_sd = 650,
2832   Instruction_kv4_v1_set = 651,
2833   Instruction_kv4_v1_sh = 652,
2834   Instruction_kv4_v1_sleep = 653,
2835   Instruction_kv4_v1_sllbos = 654,
2836   Instruction_kv4_v1_slld = 655,
2837   Instruction_kv4_v1_sllhqs = 656,
2838   Instruction_kv4_v1_sllw = 657,
2839   Instruction_kv4_v1_sllwps = 658,
2840   Instruction_kv4_v1_slsbos = 659,
2841   Instruction_kv4_v1_slsd = 660,
2842   Instruction_kv4_v1_slshqs = 661,
2843   Instruction_kv4_v1_slsw = 662,
2844   Instruction_kv4_v1_slswps = 663,
2845   Instruction_kv4_v1_slusbos = 664,
2846   Instruction_kv4_v1_slusd = 665,
2847   Instruction_kv4_v1_slushqs = 666,
2848   Instruction_kv4_v1_slusw = 667,
2849   Instruction_kv4_v1_sluswps = 668,
2850   Instruction_kv4_v1_so = 669,
2851   Instruction_kv4_v1_sq = 670,
2852   Instruction_kv4_v1_srabos = 671,
2853   Instruction_kv4_v1_srad = 672,
2854   Instruction_kv4_v1_srahqs = 673,
2855   Instruction_kv4_v1_sraw = 674,
2856   Instruction_kv4_v1_srawps = 675,
2857   Instruction_kv4_v1_srlbos = 676,
2858   Instruction_kv4_v1_srld = 677,
2859   Instruction_kv4_v1_srlhqs = 678,
2860   Instruction_kv4_v1_srlw = 679,
2861   Instruction_kv4_v1_srlwps = 680,
2862   Instruction_kv4_v1_srsbos = 681,
2863   Instruction_kv4_v1_srsd = 682,
2864   Instruction_kv4_v1_srshqs = 683,
2865   Instruction_kv4_v1_srsw = 684,
2866   Instruction_kv4_v1_srswps = 685,
2867   Instruction_kv4_v1_stop = 686,
2868   Instruction_kv4_v1_stsud = 687,
2869   Instruction_kv4_v1_stsuhq = 688,
2870   Instruction_kv4_v1_stsuw = 689,
2871   Instruction_kv4_v1_stsuwp = 690,
2872   Instruction_kv4_v1_sw = 691,
2873   Instruction_kv4_v1_sxbd = 692,
2874   Instruction_kv4_v1_sxhd = 693,
2875   Instruction_kv4_v1_sxlbhq = 694,
2876   Instruction_kv4_v1_sxlhwp = 695,
2877   Instruction_kv4_v1_sxmbhq = 696,
2878   Instruction_kv4_v1_sxmhwp = 697,
2879   Instruction_kv4_v1_sxwd = 698,
2880   Instruction_kv4_v1_syncgroup = 699,
2881   Instruction_kv4_v1_tlbdinval = 700,
2882   Instruction_kv4_v1_tlbiinval = 701,
2883   Instruction_kv4_v1_tlbprobe = 702,
2884   Instruction_kv4_v1_tlbread = 703,
2885   Instruction_kv4_v1_tlbwrite = 704,
2886   Instruction_kv4_v1_waitit = 705,
2887   Instruction_kv4_v1_wfxl = 706,
2888   Instruction_kv4_v1_wfxm = 707,
2889   Instruction_kv4_v1_xaccesso = 708,
2890   Instruction_kv4_v1_xaligno = 709,
2891   Instruction_kv4_v1_xandno = 710,
2892   Instruction_kv4_v1_xando = 711,
2893   Instruction_kv4_v1_xclampwo = 712,
2894   Instruction_kv4_v1_xcopyo = 713,
2895   Instruction_kv4_v1_xcopyv = 714,
2896   Instruction_kv4_v1_xcopyx = 715,
2897   Instruction_kv4_v1_xffma44hw = 716,
2898   Instruction_kv4_v1_xfmaxhx = 717,
2899   Instruction_kv4_v1_xfminhx = 718,
2900   Instruction_kv4_v1_xfmma484hw = 719,
2901   Instruction_kv4_v1_xfnarrow44wh = 720,
2902   Instruction_kv4_v1_xfscalewo = 721,
2903   Instruction_kv4_v1_xlo = 722,
2904   Instruction_kv4_v1_xmadd44bw0 = 723,
2905   Instruction_kv4_v1_xmadd44bw1 = 724,
2906   Instruction_kv4_v1_xmaddifwo = 725,
2907   Instruction_kv4_v1_xmaddsu44bw0 = 726,
2908   Instruction_kv4_v1_xmaddsu44bw1 = 727,
2909   Instruction_kv4_v1_xmaddu44bw0 = 728,
2910   Instruction_kv4_v1_xmaddu44bw1 = 729,
2911   Instruction_kv4_v1_xmma4164bw = 730,
2912   Instruction_kv4_v1_xmma484bw = 731,
2913   Instruction_kv4_v1_xmmasu4164bw = 732,
2914   Instruction_kv4_v1_xmmasu484bw = 733,
2915   Instruction_kv4_v1_xmmau4164bw = 734,
2916   Instruction_kv4_v1_xmmau484bw = 735,
2917   Instruction_kv4_v1_xmmaus4164bw = 736,
2918   Instruction_kv4_v1_xmmaus484bw = 737,
2919   Instruction_kv4_v1_xmovefd = 738,
2920   Instruction_kv4_v1_xmovefo = 739,
2921   Instruction_kv4_v1_xmovefq = 740,
2922   Instruction_kv4_v1_xmovetd = 741,
2923   Instruction_kv4_v1_xmovetq = 742,
2924   Instruction_kv4_v1_xmsbfifwo = 743,
2925   Instruction_kv4_v1_xmt44d = 744,
2926   Instruction_kv4_v1_xnando = 745,
2927   Instruction_kv4_v1_xnoro = 746,
2928   Instruction_kv4_v1_xnxoro = 747,
2929   Instruction_kv4_v1_xord = 748,
2930   Instruction_kv4_v1_xord_abase = 749,
2931   Instruction_kv4_v1_xorno = 750,
2932   Instruction_kv4_v1_xoro = 751,
2933   Instruction_kv4_v1_xorrbod = 752,
2934   Instruction_kv4_v1_xorrhqd = 753,
2935   Instruction_kv4_v1_xorrwpd = 754,
2936   Instruction_kv4_v1_xorw = 755,
2937   Instruction_kv4_v1_xrecvo = 756,
2938   Instruction_kv4_v1_xsbmm8dq = 757,
2939   Instruction_kv4_v1_xsbmmt8dq = 758,
2940   Instruction_kv4_v1_xsendo = 759,
2941   Instruction_kv4_v1_xsendrecvo = 760,
2942   Instruction_kv4_v1_xso = 761,
2943   Instruction_kv4_v1_xsplatdo = 762,
2944   Instruction_kv4_v1_xsplatov = 763,
2945   Instruction_kv4_v1_xsplatox = 764,
2946   Instruction_kv4_v1_xsx48bw = 765,
2947   Instruction_kv4_v1_xtrunc48wb = 766,
2948   Instruction_kv4_v1_xxoro = 767,
2949   Instruction_kv4_v1_xzx48bw = 768,
2950   Instruction_kv4_v1_zxbd = 769,
2951   Instruction_kv4_v1_zxhd = 770,
2952   Instruction_kv4_v1_zxlbhq = 771,
2953   Instruction_kv4_v1_zxlhwp = 772,
2954   Instruction_kv4_v1_zxmbhq = 773,
2955   Instruction_kv4_v1_zxmhwp = 774,
2956   Instruction_kv4_v1_zxwd = 775,
2957   Separator_kv4_v1_comma = 776,
2958   Separator_kv4_v1_equal = 777,
2959   Separator_kv4_v1_qmark = 778,
2960   Separator_kv4_v1_rsbracket = 779,
2961   Separator_kv4_v1_lsbracket = 780
2962 };
2963 
2964 enum Modifier_kv4_v1_exunum_enum {
2965   Modifier_kv4_v1_exunum_ALU0=0,
2966   Modifier_kv4_v1_exunum_ALU1=1,
2967   Modifier_kv4_v1_exunum_MAU=2,
2968   Modifier_kv4_v1_exunum_LSU=3,
2969 };
2970 
2971 extern const char *mod_kv4_v1_exunum[];
2972 extern const char *mod_kv4_v1_scalarcond[];
2973 extern const char *mod_kv4_v1_lsomask[];
2974 extern const char *mod_kv4_v1_lsumask[];
2975 extern const char *mod_kv4_v1_lsupack[];
2976 extern const char *mod_kv4_v1_simplecond[];
2977 extern const char *mod_kv4_v1_comparison[];
2978 extern const char *mod_kv4_v1_floatcomp[];
2979 extern const char *mod_kv4_v1_rounding[];
2980 extern const char *mod_kv4_v1_silent[];
2981 extern const char *mod_kv4_v1_variant[];
2982 extern const char *mod_kv4_v1_speculate[];
2983 extern const char *mod_kv4_v1_doscale[];
2984 extern const char *mod_kv4_v1_qindex[];
2985 extern const char *mod_kv4_v1_hindex[];
2986 extern const char *mod_kv4_v1_cachelev[];
2987 extern const char *mod_kv4_v1_coherency[];
2988 extern const char *mod_kv4_v1_boolcas[];
2989 extern const char *mod_kv4_v1_accesses[];
2990 extern const char *mod_kv4_v1_channel[];
2991 extern const char *mod_kv4_v1_conjugate[];
2992 extern const char *mod_kv4_v1_transpose[];
2993 extern const char *mod_kv4_v1_shuffleV[];
2994 extern const char *mod_kv4_v1_shuffleX[];
2995 extern const char *mod_kv4_v1_splat32[];
2996 typedef enum {
2997   Bundling_kv4_v1_ALL,
2998   Bundling_kv4_v1_BCU,
2999   Bundling_kv4_v1_TCA,
3000   Bundling_kv4_v1_FULL,
3001   Bundling_kv4_v1_FULL_X,
3002   Bundling_kv4_v1_FULL_Y,
3003   Bundling_kv4_v1_LITE,
3004   Bundling_kv4_v1_LITE_X,
3005   Bundling_kv4_v1_LITE_Y,
3006   Bundling_kv4_v1_MAU,
3007   Bundling_kv4_v1_MAU_X,
3008   Bundling_kv4_v1_MAU_Y,
3009   Bundling_kv4_v1_LSU,
3010   Bundling_kv4_v1_LSU_X,
3011   Bundling_kv4_v1_LSU_Y,
3012   Bundling_kv4_v1_TINY,
3013   Bundling_kv4_v1_TINY_X,
3014   Bundling_kv4_v1_TINY_Y,
3015   Bundling_kv4_v1_NOP,
3016 } Bundling_kv4_v1;
3017 
3018 
3019 static const char *bundling_kv4_v1_names(Bundling_kv4_v1 bundling) __attribute__((unused));
bundling_kv4_v1_names(Bundling_kv4_v1 bundling)3020 static const char *bundling_kv4_v1_names(Bundling_kv4_v1 bundling) {
3021   switch(bundling) {
3022   case Bundling_kv4_v1_ALL: return "Bundling_kv4_v1_ALL";
3023   case Bundling_kv4_v1_BCU: return "Bundling_kv4_v1_BCU";
3024   case Bundling_kv4_v1_TCA: return "Bundling_kv4_v1_TCA";
3025   case Bundling_kv4_v1_FULL: return "Bundling_kv4_v1_FULL";
3026   case Bundling_kv4_v1_FULL_X: return "Bundling_kv4_v1_FULL_X";
3027   case Bundling_kv4_v1_FULL_Y: return "Bundling_kv4_v1_FULL_Y";
3028   case Bundling_kv4_v1_LITE: return "Bundling_kv4_v1_LITE";
3029   case Bundling_kv4_v1_LITE_X: return "Bundling_kv4_v1_LITE_X";
3030   case Bundling_kv4_v1_LITE_Y: return "Bundling_kv4_v1_LITE_Y";
3031   case Bundling_kv4_v1_MAU: return "Bundling_kv4_v1_MAU";
3032   case Bundling_kv4_v1_MAU_X: return "Bundling_kv4_v1_MAU_X";
3033   case Bundling_kv4_v1_MAU_Y: return "Bundling_kv4_v1_MAU_Y";
3034   case Bundling_kv4_v1_LSU: return "Bundling_kv4_v1_LSU";
3035   case Bundling_kv4_v1_LSU_X: return "Bundling_kv4_v1_LSU_X";
3036   case Bundling_kv4_v1_LSU_Y: return "Bundling_kv4_v1_LSU_Y";
3037   case Bundling_kv4_v1_TINY: return "Bundling_kv4_v1_TINY";
3038   case Bundling_kv4_v1_TINY_X: return "Bundling_kv4_v1_TINY_X";
3039   case Bundling_kv4_v1_TINY_Y: return "Bundling_kv4_v1_TINY_Y";
3040   case Bundling_kv4_v1_NOP: return "Bundling_kv4_v1_NOP";
3041   };
3042   return "unknown bundling";
3043 };
3044 
3045 /* Resources list */
3046 #define Resource_kv4_v1_ISSUE 0
3047 #define Resource_kv4_v1_TINY 1
3048 #define Resource_kv4_v1_LITE 2
3049 #define Resource_kv4_v1_FULL 3
3050 #define Resource_kv4_v1_LSU 4
3051 #define Resource_kv4_v1_MAU 5
3052 #define Resource_kv4_v1_BCU 6
3053 #define Resource_kv4_v1_TCA 7
3054 #define Resource_kv4_v1_AUXR 8
3055 #define Resource_kv4_v1_AUXW 9
3056 #define Resource_kv4_v1_CRRP 10
3057 #define Resource_kv4_v1_CRWL 11
3058 #define Resource_kv4_v1_CRWH 12
3059 #define Resource_kv4_v1_NOP 13
3060 #define kvx_kv4_v1_RESOURCE_MAX 14
3061 
3062 
3063 /* Reservations list */
3064 #define Reservation_kv4_v1_ALL 0
3065 #define Reservation_kv4_v1_ALU_NOP 1
3066 #define Reservation_kv4_v1_ALU_TINY 2
3067 #define Reservation_kv4_v1_ALU_TINY_X 3
3068 #define Reservation_kv4_v1_ALU_TINY_Y 4
3069 #define Reservation_kv4_v1_ALU_TINY_CRRP 5
3070 #define Reservation_kv4_v1_ALU_TINY_CRWL_CRWH 6
3071 #define Reservation_kv4_v1_ALU_TINY_CRWL_CRWH_X 7
3072 #define Reservation_kv4_v1_ALU_TINY_CRWL_CRWH_Y 8
3073 #define Reservation_kv4_v1_ALU_TINY_CRRP_CRWL_CRWH 9
3074 #define Reservation_kv4_v1_ALU_TINY_CRWL 10
3075 #define Reservation_kv4_v1_ALU_TINY_CRWH 11
3076 #define Reservation_kv4_v1_ALU_LITE 12
3077 #define Reservation_kv4_v1_ALU_LITE_X 13
3078 #define Reservation_kv4_v1_ALU_LITE_Y 14
3079 #define Reservation_kv4_v1_ALU_LITE_CRWL 15
3080 #define Reservation_kv4_v1_ALU_LITE_CRWH 16
3081 #define Reservation_kv4_v1_ALU_FULL 17
3082 #define Reservation_kv4_v1_ALU_FULL_X 18
3083 #define Reservation_kv4_v1_ALU_FULL_Y 19
3084 #define Reservation_kv4_v1_BCU 20
3085 #define Reservation_kv4_v1_BCU_CRRP_CRWL_CRWH 21
3086 #define Reservation_kv4_v1_BCU_TINY_AUXW_CRRP 22
3087 #define Reservation_kv4_v1_BCU_TINY_TINY_MAU_XNOP 23
3088 #define Reservation_kv4_v1_TCA 24
3089 #define Reservation_kv4_v1_LSU 25
3090 #define Reservation_kv4_v1_LSU_X 26
3091 #define Reservation_kv4_v1_LSU_Y 27
3092 #define Reservation_kv4_v1_LSU_CRRP 28
3093 #define Reservation_kv4_v1_LSU_CRRP_X 29
3094 #define Reservation_kv4_v1_LSU_CRRP_Y 30
3095 #define Reservation_kv4_v1_LSU_AUXR 31
3096 #define Reservation_kv4_v1_LSU_AUXR_X 32
3097 #define Reservation_kv4_v1_LSU_AUXR_Y 33
3098 #define Reservation_kv4_v1_LSU_AUXW 34
3099 #define Reservation_kv4_v1_LSU_AUXW_X 35
3100 #define Reservation_kv4_v1_LSU_AUXW_Y 36
3101 #define Reservation_kv4_v1_LSU_AUXR_AUXW 37
3102 #define Reservation_kv4_v1_LSU_AUXR_AUXW_X 38
3103 #define Reservation_kv4_v1_LSU_AUXR_AUXW_Y 39
3104 #define Reservation_kv4_v1_MAU 40
3105 #define Reservation_kv4_v1_MAU_X 41
3106 #define Reservation_kv4_v1_MAU_Y 42
3107 #define Reservation_kv4_v1_MAU_AUXR 43
3108 #define Reservation_kv4_v1_MAU_AUXR_X 44
3109 #define Reservation_kv4_v1_MAU_AUXR_Y 45
3110 
3111 
3112 extern struct kvx_reloc kv4_v1_rel16_reloc;
3113 extern struct kvx_reloc kv4_v1_rel32_reloc;
3114 extern struct kvx_reloc kv4_v1_rel64_reloc;
3115 extern struct kvx_reloc kv4_v1_pcrel_signed16_reloc;
3116 extern struct kvx_reloc kv4_v1_pcrel17_reloc;
3117 extern struct kvx_reloc kv4_v1_pcrel27_reloc;
3118 extern struct kvx_reloc kv4_v1_pcrel32_reloc;
3119 extern struct kvx_reloc kv4_v1_pcrel_signed37_reloc;
3120 extern struct kvx_reloc kv4_v1_pcrel_signed43_reloc;
3121 extern struct kvx_reloc kv4_v1_pcrel_signed64_reloc;
3122 extern struct kvx_reloc kv4_v1_pcrel64_reloc;
3123 extern struct kvx_reloc kv4_v1_signed16_reloc;
3124 extern struct kvx_reloc kv4_v1_signed32_reloc;
3125 extern struct kvx_reloc kv4_v1_signed37_reloc;
3126 extern struct kvx_reloc kv4_v1_gotoff_signed37_reloc;
3127 extern struct kvx_reloc kv4_v1_gotoff_signed43_reloc;
3128 extern struct kvx_reloc kv4_v1_gotoff_32_reloc;
3129 extern struct kvx_reloc kv4_v1_gotoff_64_reloc;
3130 extern struct kvx_reloc kv4_v1_got_32_reloc;
3131 extern struct kvx_reloc kv4_v1_got_signed37_reloc;
3132 extern struct kvx_reloc kv4_v1_got_signed43_reloc;
3133 extern struct kvx_reloc kv4_v1_got_64_reloc;
3134 extern struct kvx_reloc kv4_v1_glob_dat_reloc;
3135 extern struct kvx_reloc kv4_v1_copy_reloc;
3136 extern struct kvx_reloc kv4_v1_jump_slot_reloc;
3137 extern struct kvx_reloc kv4_v1_relative_reloc;
3138 extern struct kvx_reloc kv4_v1_signed43_reloc;
3139 extern struct kvx_reloc kv4_v1_signed64_reloc;
3140 extern struct kvx_reloc kv4_v1_gotaddr_signed37_reloc;
3141 extern struct kvx_reloc kv4_v1_gotaddr_signed43_reloc;
3142 extern struct kvx_reloc kv4_v1_gotaddr_signed64_reloc;
3143 extern struct kvx_reloc kv4_v1_dtpmod64_reloc;
3144 extern struct kvx_reloc kv4_v1_dtpoff64_reloc;
3145 extern struct kvx_reloc kv4_v1_dtpoff_signed37_reloc;
3146 extern struct kvx_reloc kv4_v1_dtpoff_signed43_reloc;
3147 extern struct kvx_reloc kv4_v1_tlsgd_signed37_reloc;
3148 extern struct kvx_reloc kv4_v1_tlsgd_signed43_reloc;
3149 extern struct kvx_reloc kv4_v1_tlsld_signed37_reloc;
3150 extern struct kvx_reloc kv4_v1_tlsld_signed43_reloc;
3151 extern struct kvx_reloc kv4_v1_tpoff64_reloc;
3152 extern struct kvx_reloc kv4_v1_tlsie_signed37_reloc;
3153 extern struct kvx_reloc kv4_v1_tlsie_signed43_reloc;
3154 extern struct kvx_reloc kv4_v1_tlsle_signed37_reloc;
3155 extern struct kvx_reloc kv4_v1_tlsle_signed43_reloc;
3156 extern struct kvx_reloc kv4_v1_rel8_reloc;
3157 
3158 
3159 #endif /* OPCODE_KVX_H */
3160