Add support for ARC instruction relaxation in the assembler.
[external/binutils.git] / opcodes / frv-opc.c
1 /* Instruction opcode table for frv.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright (C) 1996-2016 Free Software Foundation, Inc.
6
7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
8
9    This file is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 3, or (at your option)
12    any later version.
13
14    It is distributed in the hope that it will be useful, but WITHOUT
15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17    License for more details.
18
19    You should have received a copy of the GNU General Public License along
20    with this program; if not, write to the Free Software Foundation, Inc.,
21    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
22
23 */
24
25 #include "sysdep.h"
26 #include "ansidecl.h"
27 #include "bfd.h"
28 #include "symcat.h"
29 #include "frv-desc.h"
30 #include "frv-opc.h"
31 #include "libiberty.h"
32
33 /* -- opc.c */
34 #include "elf/frv.h"
35 #include <stdio.h>
36
37 /* DEBUG appears below as argument of OP macro.  */
38 #undef DEBUG
39
40 /* Returns TRUE if {MAJOR,MACH} is a major branch of the FRV
41    development tree.  */
42
43 bfd_boolean
44 frv_is_branch_major (CGEN_ATTR_VALUE_ENUM_TYPE major, unsigned long mach)
45 {
46   switch (mach)
47     {
48     case bfd_mach_fr400:
49       if (major >= FR400_MAJOR_B_1 && major <= FR400_MAJOR_B_6)
50         return TRUE;
51       break;
52     case bfd_mach_fr450:
53       if (major >= FR450_MAJOR_B_1 && major <= FR450_MAJOR_B_6)
54         return TRUE;
55       break;
56     default:
57       if (major >= FR500_MAJOR_B_1 && major <= FR500_MAJOR_B_6)
58         return TRUE;
59       break;
60     }
61
62   return FALSE;
63 }
64
65 /* Returns TRUE if {MAJOR,MACH} supports floating point insns.  */
66
67 bfd_boolean
68 frv_is_float_major (CGEN_ATTR_VALUE_ENUM_TYPE major, unsigned long mach)
69 {
70   switch (mach)
71     {
72     case bfd_mach_fr400:
73     case bfd_mach_fr450:
74       return FALSE;
75     default:
76       if (major >= FR500_MAJOR_F_1 && major <= FR500_MAJOR_F_8)
77         return TRUE;
78       break;
79     }
80
81   return FALSE;
82 }
83
84 /* Returns TRUE if {MAJOR,MACH} supports media insns.  */
85
86 bfd_boolean
87 frv_is_media_major (CGEN_ATTR_VALUE_ENUM_TYPE major, unsigned long mach)
88 {
89   switch (mach)
90     {
91     case bfd_mach_fr400:
92       if (major >= FR400_MAJOR_M_1 && major <= FR400_MAJOR_M_2)
93         return TRUE;
94       break;
95     case bfd_mach_fr450:
96       if (major >= FR450_MAJOR_M_1 && major <= FR450_MAJOR_M_6)
97         return TRUE;
98       break;
99     default:
100       if (major >= FR500_MAJOR_M_1 && major <= FR500_MAJOR_M_8)
101         return TRUE;
102       break;
103     }
104
105   return FALSE;
106 }
107
108 bfd_boolean
109 frv_is_branch_insn (const CGEN_INSN *insn)
110 {
111   if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
112                            bfd_mach_fr400))
113     return TRUE;
114   if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
115                            bfd_mach_fr450))
116     return TRUE;
117   if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
118                            bfd_mach_fr500))
119     return TRUE;
120
121   return FALSE;
122 }
123
124 bfd_boolean
125 frv_is_float_insn (const CGEN_INSN *insn)
126 {
127   if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
128                           bfd_mach_fr400))
129     return TRUE;
130   if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
131                           bfd_mach_fr450))
132     return TRUE;
133   if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
134                           bfd_mach_fr500))
135     return TRUE;
136
137   return FALSE;
138 }
139
140 bfd_boolean
141 frv_is_media_insn (const CGEN_INSN *insn)
142 {
143   if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
144                           bfd_mach_fr400))
145     return TRUE;
146   if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR),
147                           bfd_mach_fr450))
148     return TRUE;
149   if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
150                           bfd_mach_fr500))
151     return TRUE;
152
153   return FALSE;
154 }
155
156 /* This table represents the allowable packing for vliw insns for the fr400.
157    The fr400 has only 2 vliw slots. Represent this by not allowing any insns
158    in the extra slots.
159    Subsets of any given row are also allowed.  */
160 static VLIW_COMBO fr400_allowed_vliw[] =
161 {
162   /*  slot0       slot1       slot2       slot3    */
163   {  UNIT_I0,    UNIT_I1,    UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
164   {  UNIT_I0,    UNIT_FM0,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
165   {  UNIT_I0,    UNIT_B0,    UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
166   {  UNIT_FM0,   UNIT_FM1,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
167   {  UNIT_FM0,   UNIT_B0,    UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
168   {  UNIT_B0,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
169   {  UNIT_C,     UNIT_NIL,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
170   {  UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO }
171 };
172
173 /* This table represents the allowable packing for vliw insns for the fr500.
174    The fr500 has only 4 vliw slots. Represent this by not allowing any insns
175    in the extra slots.
176    Subsets of any given row are also allowed.  */
177 static VLIW_COMBO fr500_allowed_vliw[] =
178 {
179   /*  slot0       slot1       slot2       slot3    */
180   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1  PAD_VLIW_COMBO },
181   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_B0   PAD_VLIW_COMBO },
182   {  UNIT_I0,    UNIT_FM0,   UNIT_FM1,   UNIT_B0   PAD_VLIW_COMBO },
183   {  UNIT_I0,    UNIT_FM0,   UNIT_B0,    UNIT_B1   PAD_VLIW_COMBO },
184   {  UNIT_I0,    UNIT_I1,    UNIT_B0,    UNIT_B1   PAD_VLIW_COMBO },
185   {  UNIT_I0,    UNIT_B0,    UNIT_B1,    UNIT_NIL  PAD_VLIW_COMBO },
186   {  UNIT_FM0,   UNIT_FM1,   UNIT_B0,    UNIT_B1   PAD_VLIW_COMBO },
187   {  UNIT_FM0,   UNIT_B0,    UNIT_B1,    UNIT_NIL  PAD_VLIW_COMBO },
188   {  UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
189   {  UNIT_C,     UNIT_NIL,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO },
190   {  UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL  PAD_VLIW_COMBO }
191 };
192
193 /* This table represents the allowable packing for vliw insns for the fr550.
194    Subsets of any given row are also allowed.  */
195 static VLIW_COMBO fr550_allowed_vliw[] =
196 {
197   /*  slot0       slot1       slot2       slot3       slot4       slot5       slot6       slot7   */
198   {  UNIT_I0,    UNIT_I1,    UNIT_I2,    UNIT_I3,    UNIT_B0,    UNIT_B1 ,   UNIT_NIL,   UNIT_NIL },
199   {  UNIT_I0,    UNIT_I1,    UNIT_I2,    UNIT_B0,    UNIT_B1 ,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
200   {  UNIT_I0,    UNIT_I1,    UNIT_B0,    UNIT_B1 ,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
201   {  UNIT_I0,    UNIT_B0,    UNIT_B1 ,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
202   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_I2,    UNIT_FM2,   UNIT_I3,    UNIT_FM3 },
203   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_I2,    UNIT_FM2,   UNIT_I3,    UNIT_B0  },
204   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_I2,    UNIT_FM2,   UNIT_FM3,   UNIT_B0  },
205   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_I2,    UNIT_FM2,   UNIT_B0,    UNIT_B1  },
206   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_I2,    UNIT_I3,    UNIT_B0,    UNIT_B1  },
207   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_I2,    UNIT_B0,    UNIT_B1,    UNIT_NIL },
208   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_FM2,   UNIT_FM3,   UNIT_B0,    UNIT_B1  },
209   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_FM2,   UNIT_FM3,   UNIT_B0,    UNIT_B1  },
210   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_FM2,   UNIT_B0,    UNIT_B1,    UNIT_NIL },
211   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_FM1,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL },
212   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_I2,    UNIT_I3,    UNIT_B0,    UNIT_B1,    UNIT_NIL },
213   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_I2,    UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL },
214   {  UNIT_I0,    UNIT_FM0,   UNIT_I1,    UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
215   {  UNIT_I0,    UNIT_FM0,   UNIT_FM1,   UNIT_FM2,   UNIT_FM3,   UNIT_B0,    UNIT_B1,    UNIT_NIL },
216   {  UNIT_I0,    UNIT_FM0,   UNIT_FM1,   UNIT_FM2,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL },
217   {  UNIT_I0,    UNIT_FM0,   UNIT_FM1,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
218   {  UNIT_I0,    UNIT_FM0,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
219   {  UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
220   {  UNIT_C,     UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
221   {  UNIT_FM0,   UNIT_FM1,   UNIT_FM2,   UNIT_FM3,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL },
222   {  UNIT_FM0,   UNIT_FM1,   UNIT_FM2,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
223   {  UNIT_FM0,   UNIT_FM1,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
224   {  UNIT_FM0,   UNIT_B0,    UNIT_B1,    UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL },
225   {  UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL,   UNIT_NIL }
226 };
227
228 /* Some insns are assigned specialized implementation units which map to
229    different actual implementation units on different machines.  These
230    tables perform that mapping.  */
231 static CGEN_ATTR_VALUE_ENUM_TYPE fr400_unit_mapping[] =
232 {
233 /* unit in insn    actual unit */
234 /* NIL      */     UNIT_NIL,
235 /* I0       */     UNIT_I0,
236 /* I1       */     UNIT_I1,
237 /* I01      */     UNIT_I01,
238 /* I2       */     UNIT_NIL, /* no I2 or I3 unit */
239 /* I3       */     UNIT_NIL,
240 /* IALL     */     UNIT_I01, /* only I0 and I1 units */
241 /* FM0      */     UNIT_FM0,
242 /* FM1      */     UNIT_FM1,
243 /* FM01     */     UNIT_FM01,
244 /* FM2      */     UNIT_NIL, /* no F2 or M2 units */
245 /* FM3      */     UNIT_NIL, /* no F3 or M3 units */
246 /* FMALL    */     UNIT_FM01,/* Only F0,F1,M0,M1 units */
247 /* FMLOW    */     UNIT_FM0, /* Only F0,M0 units */
248 /* B0       */     UNIT_B0,  /* branches only in B0 unit.  */
249 /* B1       */     UNIT_B0,
250 /* B01      */     UNIT_B0,
251 /* C        */     UNIT_C,
252 /* MULT-DIV */     UNIT_I0,  /* multiply and divide only in I0  unit.  */
253 /* IACC     */     UNIT_I01, /* iacc multiply       in I0 or I1 unit.  */
254 /* LOAD     */     UNIT_I0,  /* load                only in I0  unit.  */
255 /* STORE    */     UNIT_I0,  /* store               only in I0  unit.  */
256 /* SCAN     */     UNIT_I0,  /* scan                only in I0  unit.  */
257 /* DCPL     */     UNIT_C,   /* dcpl                only in C   unit.  */
258 /* MDUALACC */     UNIT_FM0, /* media dual acc insn only in FM0 unit.  */
259 /* MDCUTSSI */     UNIT_FM0, /* mdcutssi            only in FM0 unit.  */
260 /* MCLRACC-1*/     UNIT_FM0  /* mclracc,A==1   insn only in FM0 unit.  */
261 };
262
263 /* Some insns are assigned specialized implementation units which map to
264    different actual implementation units on different machines.  These
265    tables perform that mapping.  */
266 static CGEN_ATTR_VALUE_ENUM_TYPE fr450_unit_mapping[] =
267 {
268 /* unit in insn    actual unit */
269 /* NIL      */     UNIT_NIL,
270 /* I0       */     UNIT_I0,
271 /* I1       */     UNIT_I1,
272 /* I01      */     UNIT_I01,
273 /* I2       */     UNIT_NIL, /* no I2 or I3 unit */
274 /* I3       */     UNIT_NIL,
275 /* IALL     */     UNIT_I01, /* only I0 and I1 units */
276 /* FM0      */     UNIT_FM0,
277 /* FM1      */     UNIT_FM1,
278 /* FM01     */     UNIT_FM01,
279 /* FM2      */     UNIT_NIL, /* no F2 or M2 units */
280 /* FM3      */     UNIT_NIL, /* no F3 or M3 units */
281 /* FMALL    */     UNIT_FM01,/* Only F0,F1,M0,M1 units */
282 /* FMLOW    */     UNIT_FM0, /* Only F0,M0 units */
283 /* B0       */     UNIT_B0,  /* branches only in B0 unit.  */
284 /* B1       */     UNIT_B0,
285 /* B01      */     UNIT_B0,
286 /* C        */     UNIT_C,
287 /* MULT-DIV */     UNIT_I0,  /* multiply and divide only in I0  unit.  */
288 /* IACC     */     UNIT_I01, /* iacc multiply       in I0 or I1 unit.  */
289 /* LOAD     */     UNIT_I0,  /* load                only in I0  unit.  */
290 /* STORE    */     UNIT_I0,  /* store               only in I0  unit.  */
291 /* SCAN     */     UNIT_I0,  /* scan                only in I0  unit.  */
292 /* DCPL     */     UNIT_I0,  /* dcpl                only in I0  unit.  */
293 /* MDUALACC */     UNIT_FM0, /* media dual acc insn only in FM0 unit.  */
294 /* MDCUTSSI */     UNIT_FM01, /* mdcutssi           in FM0 or FM1.  */
295 /* MCLRACC-1*/     UNIT_FM0  /* mclracc,A==1   insn only in FM0 unit.  */
296 };
297
298 static CGEN_ATTR_VALUE_ENUM_TYPE fr500_unit_mapping[] =
299 {
300 /* unit in insn    actual unit */
301 /* NIL      */     UNIT_NIL,
302 /* I0       */     UNIT_I0,
303 /* I1       */     UNIT_I1,
304 /* I01      */     UNIT_I01,
305 /* I2       */     UNIT_NIL, /* no I2 or I3 unit */
306 /* I3       */     UNIT_NIL,
307 /* IALL     */     UNIT_I01, /* only I0 and I1 units */
308 /* FM0      */     UNIT_FM0,
309 /* FM1      */     UNIT_FM1,
310 /* FM01     */     UNIT_FM01,
311 /* FM2      */     UNIT_NIL, /* no F2 or M2 units */
312 /* FM3      */     UNIT_NIL, /* no F3 or M2 units */
313 /* FMALL    */     UNIT_FM01,/* Only F0,F1,M0,M1 units */
314 /* FMLOW    */     UNIT_FM0, /* Only F0,M0 units */
315 /* B0       */     UNIT_B0,
316 /* B1       */     UNIT_B1,
317 /* B01      */     UNIT_B01,
318 /* C        */     UNIT_C,
319 /* MULT-DIV */     UNIT_I01, /* multiply and divide in I0 or I1 unit.  */
320 /* IACC     */     UNIT_NIL, /* iacc multiply       not implemented */
321 /* LOAD     */     UNIT_I01, /* load                in I0 or I1 unit.  */
322 /* STORE    */     UNIT_I0,  /* store               only in I0 unit.  */
323 /* SCAN     */     UNIT_I01, /* scan                in I0 or I1 unit.  */
324 /* DCPL     */     UNIT_C,   /* dcpl                only in C unit.  */
325 /* MDUALACC */     UNIT_FM0, /* media dual acc insn only in FM0 unit.  */
326 /* MDCUTSSI */     UNIT_FM0, /* mdcutssi            only in FM0 unit.  */
327 /* MCLRACC-1*/     UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit.  */
328 };
329
330 static CGEN_ATTR_VALUE_ENUM_TYPE fr550_unit_mapping[] =
331 {
332 /* unit in insn    actual unit */
333 /* NIL      */     UNIT_NIL,
334 /* I0       */     UNIT_I0,
335 /* I1       */     UNIT_I1,
336 /* I01      */     UNIT_I01,
337 /* I2       */     UNIT_I2,
338 /* I3       */     UNIT_I3,
339 /* IALL     */     UNIT_IALL,
340 /* FM0      */     UNIT_FM0,
341 /* FM1      */     UNIT_FM1,
342 /* FM01     */     UNIT_FM01,
343 /* FM2      */     UNIT_FM2,
344 /* FM3      */     UNIT_FM3,
345 /* FMALL    */     UNIT_FMALL,
346 /* FMLOW    */     UNIT_FM01, /* Only F0,F1,M0,M1 units */
347 /* B0       */     UNIT_B0,
348 /* B1       */     UNIT_B1,
349 /* B01      */     UNIT_B01,
350 /* C        */     UNIT_C,
351 /* MULT-DIV */     UNIT_I01,  /* multiply and divide in I0 or I1 unit.    */
352 /* IACC     */     UNIT_NIL,  /* iacc multiply       not implemented.     */
353 /* LOAD     */     UNIT_I01,  /* load                in I0 or I1 unit.    */
354 /* STORE    */     UNIT_I01,  /* store               in I0 or I1 unit.    */
355 /* SCAN     */     UNIT_IALL, /* scan                in any integer unit. */
356 /* DCPL     */     UNIT_I0,   /* dcpl                only in I0 unit.     */
357 /* MDUALACC */     UNIT_FMALL,/* media dual acc insn in all media units   */
358 /* MDCUTSSI */     UNIT_FM01, /* mdcutssi            in FM0 or FM1 unit.  */
359 /* MCLRACC-1*/     UNIT_FM01  /* mclracc,A==1 in FM0 or FM1 unit.         */
360 };
361
362 void
363 frv_vliw_reset (FRV_VLIW *vliw, unsigned long mach, unsigned long elf_flags)
364 {
365   vliw->next_slot = 0;
366   vliw->constraint_violation = 0;
367   vliw->mach = mach;
368   vliw->elf_flags = elf_flags;
369
370   switch (mach)
371     {
372     case bfd_mach_fr400:
373       vliw->current_vliw = fr400_allowed_vliw;
374       vliw->unit_mapping = fr400_unit_mapping;
375       break;
376     case bfd_mach_fr450:
377       vliw->current_vliw = fr400_allowed_vliw;
378       vliw->unit_mapping = fr450_unit_mapping;
379       break;
380     case bfd_mach_fr550:
381       vliw->current_vliw = fr550_allowed_vliw;
382       vliw->unit_mapping = fr550_unit_mapping;
383       break;
384     default:
385       vliw->current_vliw = fr500_allowed_vliw;
386       vliw->unit_mapping = fr500_unit_mapping;
387       break;
388     }
389 }
390
391 /* Return TRUE if unit1 is a match for unit2.
392    Unit1 comes from the insn's UNIT attribute. unit2 comes from one of the
393    *_allowed_vliw tables above.  */
394 static bfd_boolean
395 match_unit (FRV_VLIW *vliw,
396             CGEN_ATTR_VALUE_ENUM_TYPE unit1, CGEN_ATTR_VALUE_ENUM_TYPE unit2)
397 {
398   /* Map any specialized implementation units to actual ones.  */
399   unit1 = vliw->unit_mapping[unit1];
400
401   if (unit1 == unit2)
402     return TRUE;
403   if (unit1 < unit2)
404     return FALSE;
405
406   switch (unit1)
407     {
408     case UNIT_I01:
409     case UNIT_FM01:
410     case UNIT_B01:
411       /* The 01 versions of these units are within 2 enums of the 0 or 1
412          versions.  */
413       if (unit1 - unit2 <= 2)
414         return TRUE;
415       break;
416     case UNIT_IALL:
417     case UNIT_FMALL:
418       /* The ALL versions of these units are within 5 enums of the 0, 1, 2 or 3
419          versions.  */
420       if (unit1 - unit2 <= 5)
421         return TRUE;
422       break;
423     default:
424       break;
425     }
426
427   return FALSE;
428 }
429
430 /* Return TRUE if the vliws match, FALSE otherwise.  */
431
432 static bfd_boolean
433 match_vliw (VLIW_COMBO *vliw1, VLIW_COMBO *vliw2, int vliw_size)
434 {
435   int i;
436
437   for (i = 0; i < vliw_size; ++i)
438     if ((*vliw1)[i] != (*vliw2)[i])
439       return FALSE;
440
441   return TRUE;
442 }
443
444 /* Find the next vliw vliw in the table that can accomodate the new insn.
445    If one is found then return it. Otherwise return NULL.  */
446
447 static VLIW_COMBO *
448 add_next_to_vliw (FRV_VLIW *vliw, CGEN_ATTR_VALUE_ENUM_TYPE unit)
449 {
450   int           next    = vliw->next_slot;
451   VLIW_COMBO    *current = vliw->current_vliw;
452   VLIW_COMBO    *potential;
453
454   if (next <= 0)
455     {
456       fprintf (stderr, "frv-opc.c line %d: bad vliw->next_slot value.\n",
457                __LINE__);
458       abort (); /* Should never happen.  */
459     }
460
461   /* The table is sorted by units allowed within slots, so vliws with
462      identical starting sequences are together.  */
463   potential = current;
464   do
465     {
466       if (match_unit (vliw, unit, (*potential)[next]))
467         return potential;
468       ++potential;
469     }
470   while (match_vliw (potential, current, next));
471
472   return NULL;
473 }
474
475 /* Look for the given major insn type in the given vliw.
476    Returns TRUE if found, FALSE otherwise.  */
477
478 static bfd_boolean
479 find_major_in_vliw (FRV_VLIW *vliw, CGEN_ATTR_VALUE_ENUM_TYPE major)
480 {
481   int i;
482
483   for (i = 0; i < vliw->next_slot; ++i)
484     if (vliw->major[i] == major)
485       return TRUE;
486
487   return FALSE;
488 }
489
490 /* Check for constraints between the insns in the vliw due to major insn
491    types.  */
492
493 static bfd_boolean
494 fr400_check_insn_major_constraints (FRV_VLIW *vliw, CGEN_ATTR_VALUE_ENUM_TYPE major)
495 {
496   /* In the cpu file, all media insns are represented as being allowed in
497      both media units. This makes it easier since this is the case for fr500.
498      Catch the invalid combinations here.  Insns of major class FR400_MAJOR_M_2
499      cannot coexist with any other media insn in a vliw.  */
500   switch (major)
501     {
502     case FR400_MAJOR_M_2:
503       return ! find_major_in_vliw (vliw, FR400_MAJOR_M_1)
504         &&   ! find_major_in_vliw (vliw, FR400_MAJOR_M_2);
505     case FR400_MAJOR_M_1:
506       return ! find_major_in_vliw (vliw, FR400_MAJOR_M_2);
507     default:
508       break;
509     }
510   return TRUE;
511 }
512
513 static bfd_boolean
514 fr450_check_insn_major_constraints (FRV_VLIW *vliw, CGEN_ATTR_VALUE_ENUM_TYPE major)
515 {
516   CGEN_ATTR_VALUE_ENUM_TYPE other_major;
517
518   /* Our caller guarantees there's at least one other instruction.  */
519   other_major = CGEN_INSN_ATTR_VALUE (vliw->insn[0], CGEN_INSN_FR450_MAJOR);
520
521   /* (M4, M5) and (M4, M6) are allowed.  */
522   if (other_major == FR450_MAJOR_M_4)
523     if (major == FR450_MAJOR_M_5 || major == FR450_MAJOR_M_6)
524       return TRUE;
525
526   /* Otherwise, instructions in even-numbered media categories cannot be
527      executed in parallel with other media instructions.  */
528   switch (major)
529     {
530     case FR450_MAJOR_M_2:
531     case FR450_MAJOR_M_4:
532     case FR450_MAJOR_M_6:
533       return !(other_major >= FR450_MAJOR_M_1
534                && other_major <= FR450_MAJOR_M_6);
535
536     case FR450_MAJOR_M_1:
537     case FR450_MAJOR_M_3:
538     case FR450_MAJOR_M_5:
539       return !(other_major == FR450_MAJOR_M_2
540                || other_major == FR450_MAJOR_M_4
541                || other_major == FR450_MAJOR_M_6);
542
543     default:
544       return TRUE;
545     }
546 }
547
548 static bfd_boolean
549 find_unit_in_vliw (FRV_VLIW *vliw, CGEN_ATTR_VALUE_ENUM_TYPE unit)
550 {
551   int i;
552
553   for (i = 0; i < vliw->next_slot; ++i)
554     if (CGEN_INSN_ATTR_VALUE (vliw->insn[i], CGEN_INSN_UNIT) == unit)
555       return TRUE;
556
557   return FALSE; /* Not found.  */
558 }
559
560 static bfd_boolean
561 find_major_in_slot (FRV_VLIW *vliw,
562                     CGEN_ATTR_VALUE_ENUM_TYPE major,
563                     CGEN_ATTR_VALUE_ENUM_TYPE slot)
564 {
565   int i;
566
567   for (i = 0; i < vliw->next_slot; ++i)
568     if (vliw->major[i] == major && (*vliw->current_vliw)[i] == slot)
569       return TRUE;
570
571   return FALSE;
572 }
573
574 static bfd_boolean
575 fr550_find_media_in_vliw (FRV_VLIW *vliw)
576 {
577   int i;
578
579   for (i = 0; i < vliw->next_slot; ++i)
580     {
581       if (vliw->major[i] < FR550_MAJOR_M_1 || vliw->major[i] > FR550_MAJOR_M_5)
582         continue;
583
584       /* Found a media insn, however, MNOP and MCLRACC don't count.  */
585       if (CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_MNOP
586           || CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_MCLRACC_0
587           || CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_MCLRACC_1)
588         continue;
589
590       return TRUE; /* Found one.  */
591     }
592
593   return FALSE;
594 }
595
596 static bfd_boolean
597 fr550_find_float_in_vliw (FRV_VLIW *vliw)
598 {
599   int i;
600
601   for (i = 0; i < vliw->next_slot; ++i)
602     {
603       if (vliw->major[i] < FR550_MAJOR_F_1 || vliw->major[i] > FR550_MAJOR_F_4)
604         continue;
605
606       /* Found a floating point insn, however, FNOP doesn't count.  */
607       if (CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_FNOP)
608         continue;
609
610       return TRUE; /* Found one.  */
611     }
612
613   return FALSE;
614 }
615
616 static bfd_boolean
617 fr550_check_insn_major_constraints (FRV_VLIW *vliw,
618                                     CGEN_ATTR_VALUE_ENUM_TYPE major,
619                                     const CGEN_INSN *insn)
620 {
621   CGEN_ATTR_VALUE_ENUM_TYPE unit;
622   CGEN_ATTR_VALUE_ENUM_TYPE slot = (*vliw->current_vliw)[vliw->next_slot];
623   switch (slot)
624     {
625     case UNIT_I2:
626       /* If it's a store, then there must be another store in I1 */
627       unit = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_UNIT);
628       if (unit == UNIT_STORE)
629         return find_unit_in_vliw (vliw, UNIT_STORE);
630       break;
631     case UNIT_FM2:
632     case UNIT_FM3:
633       /* Floating point insns other than FNOP in slot f2 or f3 cannot coexist
634          with media insns.  */
635       if (major >= FR550_MAJOR_F_1 && major <= FR550_MAJOR_F_4
636           && CGEN_INSN_NUM (insn) != FRV_INSN_FNOP)
637         return ! fr550_find_media_in_vliw (vliw);
638       /* Media insns other than MNOP in slot m2 or m3 cannot coexist with
639          floating point insns.  */
640       if (major >= FR550_MAJOR_M_1 && major <= FR550_MAJOR_M_5
641           && CGEN_INSN_NUM (insn) != FRV_INSN_MNOP)
642         return ! fr550_find_float_in_vliw (vliw);
643       /* F-2 in slot f2 or f3 cannot coexist with F-2 or F-4 in slot f1 or f2
644          respectively.  */
645       if (major == FR550_MAJOR_F_2)
646         return ! find_major_in_slot (vliw, FR550_MAJOR_F_2,
647                                      slot - (UNIT_FM2 - UNIT_FM0))
648           &&   ! find_major_in_slot (vliw, FR550_MAJOR_F_4,
649                                      slot - (UNIT_FM2 - UNIT_FM0));
650       /* M-2 or M-5 in slot m2 or m3 cannot coexist with M-2 in slot m1 or m2
651          respectively.  */
652       if (major == FR550_MAJOR_M_2 || major == FR550_MAJOR_M_5)
653         return ! find_major_in_slot (vliw, FR550_MAJOR_M_2,
654                                      slot - (UNIT_FM2 - UNIT_FM0));
655       /* M-4 in slot m2 or m3 cannot coexist with M-4 in slot m1 or m2
656          respectively.  */
657       if (major == FR550_MAJOR_M_4)
658         return ! find_major_in_slot (vliw, FR550_MAJOR_M_4,
659                                      slot - (UNIT_FM2 - UNIT_FM0));
660       break;
661     default:
662       break;
663     }
664   return TRUE; /* All OK.  */
665 }
666
667 static bfd_boolean
668 fr500_check_insn_major_constraints (FRV_VLIW *vliw, CGEN_ATTR_VALUE_ENUM_TYPE major)
669 {
670   /* TODO: A table might be faster for some of the more complex instances
671      here.  */
672   switch (major)
673     {
674     case FR500_MAJOR_I_1:
675     case FR500_MAJOR_I_4:
676     case FR500_MAJOR_I_5:
677     case FR500_MAJOR_I_6:
678     case FR500_MAJOR_B_1:
679     case FR500_MAJOR_B_2:
680     case FR500_MAJOR_B_3:
681     case FR500_MAJOR_B_4:
682     case FR500_MAJOR_B_5:
683     case FR500_MAJOR_B_6:
684     case FR500_MAJOR_F_4:
685     case FR500_MAJOR_F_8:
686     case FR500_MAJOR_M_8:
687       return TRUE; /* OK */
688     case FR500_MAJOR_I_2:
689       /* Cannot coexist with I-3 insn.  */
690       return ! find_major_in_vliw (vliw, FR500_MAJOR_I_3);
691     case FR500_MAJOR_I_3:
692       /* Cannot coexist with I-2 insn.  */
693       return ! find_major_in_vliw (vliw, FR500_MAJOR_I_2);
694     case FR500_MAJOR_F_1:
695     case FR500_MAJOR_F_2:
696       /* Cannot coexist with F-5, F-6, or M-7 insn.  */
697       return ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
698         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
699         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
700     case FR500_MAJOR_F_3:
701       /* Cannot coexist with F-7, or M-7 insn.  */
702       return ! find_major_in_vliw (vliw, FR500_MAJOR_F_7)
703         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
704     case FR500_MAJOR_F_5:
705       /* Cannot coexist with F-1, F-2, F-6, F-7, or M-7 insn.  */
706       return ! find_major_in_vliw (vliw, FR500_MAJOR_F_1)
707         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_2)
708         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
709         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_7)
710         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
711     case FR500_MAJOR_F_6:
712       /* Cannot coexist with F-1, F-2, F-5, F-6, or M-7 insn.  */
713       return ! find_major_in_vliw (vliw, FR500_MAJOR_F_1)
714         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_2)
715         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
716         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
717         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
718     case FR500_MAJOR_F_7:
719       /* Cannot coexist with F-3, F-5, F-7, or M-7 insn.  */
720       return ! find_major_in_vliw (vliw, FR500_MAJOR_F_3)
721         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
722         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_7)
723         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
724     case FR500_MAJOR_M_1:
725       /* Cannot coexist with M-7 insn.  */
726       return ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
727     case FR500_MAJOR_M_2:
728     case FR500_MAJOR_M_3:
729       /* Cannot coexist with M-5, M-6 or M-7 insn.  */
730       return ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
731         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
732         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
733     case FR500_MAJOR_M_4:
734       /* Cannot coexist with M-6 insn.  */
735       return ! find_major_in_vliw (vliw, FR500_MAJOR_M_6);
736     case FR500_MAJOR_M_5:
737       /* Cannot coexist with M-2, M-3, M-5, M-6  or M-7 insn.  */
738       return ! find_major_in_vliw (vliw, FR500_MAJOR_M_2)
739         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_3)
740         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
741         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
742         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
743     case FR500_MAJOR_M_6:
744       /* Cannot coexist with M-2, M-3, M-4, M-5, M-6  or M-7 insn.  */
745       return ! find_major_in_vliw (vliw, FR500_MAJOR_M_2)
746         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_3)
747         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_4)
748         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
749         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
750         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
751     case FR500_MAJOR_M_7:
752       /* Cannot coexist with M-1, M-2, M-3, M-5, M-6  or M-7 insn.  */
753       return ! find_major_in_vliw (vliw, FR500_MAJOR_M_1)
754         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_2)
755         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_3)
756         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
757         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
758         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_M_7)
759         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_1)
760         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_2)
761         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_3)
762         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
763         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
764         &&   ! find_major_in_vliw (vliw, FR500_MAJOR_F_7);
765     default:
766       fprintf (stderr, "frv-opc.c, line %d: bad major code, aborting.\n",
767                __LINE__);
768       abort ();
769       break;
770     }
771   return TRUE;
772 }
773
774 static bfd_boolean
775 check_insn_major_constraints (FRV_VLIW *vliw,
776                               CGEN_ATTR_VALUE_ENUM_TYPE major,
777                               const CGEN_INSN *insn)
778 {
779   switch (vliw->mach)
780     {
781     case bfd_mach_fr400:
782       return fr400_check_insn_major_constraints (vliw, major);
783
784     case bfd_mach_fr450:
785       return fr450_check_insn_major_constraints (vliw, major);
786
787     case bfd_mach_fr550:
788       return fr550_check_insn_major_constraints (vliw, major, insn);
789
790     default:
791       return fr500_check_insn_major_constraints (vliw, major);
792     }
793 }
794
795 /* Add in insn to the VLIW vliw if possible.
796    Return 0 if successful, non-zero otherwise.  */
797
798 int
799 frv_vliw_add_insn (FRV_VLIW *vliw, const CGEN_INSN *insn)
800 {
801   int slot_index;
802   CGEN_ATTR_VALUE_ENUM_TYPE major;
803   CGEN_ATTR_VALUE_ENUM_TYPE unit;
804   VLIW_COMBO *new_vliw;
805
806   if (vliw->constraint_violation || CGEN_INSN_INVALID_P (insn))
807     return 1;
808
809   slot_index = vliw->next_slot;
810   if (slot_index >= FRV_VLIW_SIZE)
811     return 1;
812
813   unit = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_UNIT);
814   if (unit == UNIT_NIL)
815     {
816       fprintf (stderr, "frv-opc.c line %d: bad insn unit.\n",
817                __LINE__);
818       abort (); /* No UNIT specified for this insn in frv.cpu.  */
819     }
820
821   switch (vliw->mach)
822     {
823     case bfd_mach_fr400:
824       major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR);
825       break;
826     case bfd_mach_fr450:
827       major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR450_MAJOR);
828       break;
829     case bfd_mach_fr550:
830       major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR550_MAJOR);
831       break;
832     default:
833       major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR);
834       break;
835     }
836
837   if (slot_index <= 0)
838     {
839       /* Any insn can be added to slot 0.  */
840       while (! match_unit (vliw, unit, (*vliw->current_vliw)[0]))
841         ++vliw->current_vliw;
842       vliw->major[0] = major;
843       vliw->insn[0] = insn;
844       vliw->next_slot = 1;
845       return 0;
846     }
847
848   /* If there are already insns in the vliw(s) check to see that
849      this one can be added.  Do this by finding an allowable vliw
850      combination that can accept the new insn.  */
851   if (! (vliw->elf_flags & EF_FRV_NOPACK))
852     {
853       new_vliw = add_next_to_vliw (vliw, unit);
854       if (new_vliw && check_insn_major_constraints (vliw, major, insn))
855         {
856           vliw->current_vliw = new_vliw;
857           vliw->major[slot_index] = major;
858           vliw->insn[slot_index] = insn;
859           vliw->next_slot++;
860           return 0;
861         }
862
863       /* The frv machine supports all packing conbinations.  If we fail,
864          to add the insn, then it could not be handled as if it was the fr500.
865          Just return as if it was handled ok.  */
866       if (vliw->mach == bfd_mach_frv)
867         return 0;
868     }
869
870   vliw->constraint_violation = 1;
871   return 1;
872 }
873
874 bfd_boolean
875 spr_valid (long regno)
876 {
877   if (regno < 0)     return FALSE;
878   if (regno <= 4095) return TRUE;
879   return FALSE;
880 }
881 /* -- */
882 /* The hash functions are recorded here to help keep assembler code out of
883    the disassembler and vice versa.  */
884
885 static int asm_hash_insn_p        (const CGEN_INSN *);
886 static unsigned int asm_hash_insn (const char *);
887 static int dis_hash_insn_p        (const CGEN_INSN *);
888 static unsigned int dis_hash_insn (const char *, CGEN_INSN_INT);
889
890 /* Instruction formats.  */
891
892 #define F(f) & frv_cgen_ifld_table[FRV_##f]
893 static const CGEN_IFMT ifmt_empty ATTRIBUTE_UNUSED = {
894   0, 0, 0x0, { { 0 } }
895 };
896
897 static const CGEN_IFMT ifmt_add ATTRIBUTE_UNUSED = {
898   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1_NULL) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
899 };
900
901 static const CGEN_IFMT ifmt_not ATTRIBUTE_UNUSED = {
902   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_ICCI_1_NULL) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
903 };
904
905 static const CGEN_IFMT ifmt_smul ATTRIBUTE_UNUSED = {
906   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1_NULL) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
907 };
908
909 static const CGEN_IFMT ifmt_smu ATTRIBUTE_UNUSED = {
910   32, 32, 0x7ffc0fc0, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
911 };
912
913 static const CGEN_IFMT ifmt_slass ATTRIBUTE_UNUSED = {
914   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
915 };
916
917 static const CGEN_IFMT ifmt_scutss ATTRIBUTE_UNUSED = {
918   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
919 };
920
921 static const CGEN_IFMT ifmt_cadd ATTRIBUTE_UNUSED = {
922   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
923 };
924
925 static const CGEN_IFMT ifmt_cnot ATTRIBUTE_UNUSED = {
926   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
927 };
928
929 static const CGEN_IFMT ifmt_csmul ATTRIBUTE_UNUSED = {
930   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
931 };
932
933 static const CGEN_IFMT ifmt_addcc ATTRIBUTE_UNUSED = {
934   32, 32, 0x1fc03c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
935 };
936
937 static const CGEN_IFMT ifmt_smulcc ATTRIBUTE_UNUSED = {
938   32, 32, 0x1fc03c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
939 };
940
941 static const CGEN_IFMT ifmt_addi ATTRIBUTE_UNUSED = {
942   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
943 };
944
945 static const CGEN_IFMT ifmt_smuli ATTRIBUTE_UNUSED = {
946   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
947 };
948
949 static const CGEN_IFMT ifmt_addicc ATTRIBUTE_UNUSED = {
950   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
951 };
952
953 static const CGEN_IFMT ifmt_smulicc ATTRIBUTE_UNUSED = {
954   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
955 };
956
957 static const CGEN_IFMT ifmt_cmpb ATTRIBUTE_UNUSED = {
958   32, 32, 0x7ffc03c0, { { F (F_PACK) }, { F (F_GRK_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
959 };
960
961 static const CGEN_IFMT ifmt_setlo ATTRIBUTE_UNUSED = {
962   32, 32, 0x1ff0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_MISC_NULL_4) }, { F (F_U16) }, { 0 } }
963 };
964
965 static const CGEN_IFMT ifmt_sethi ATTRIBUTE_UNUSED = {
966   32, 32, 0x1ff0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_MISC_NULL_4) }, { F (F_U16) }, { 0 } }
967 };
968
969 static const CGEN_IFMT ifmt_setlos ATTRIBUTE_UNUSED = {
970   32, 32, 0x1ff0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_MISC_NULL_4) }, { F (F_S16) }, { 0 } }
971 };
972
973 static const CGEN_IFMT ifmt_ldbf ATTRIBUTE_UNUSED = {
974   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
975 };
976
977 static const CGEN_IFMT ifmt_ldc ATTRIBUTE_UNUSED = {
978   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
979 };
980
981 static const CGEN_IFMT ifmt_ldd ATTRIBUTE_UNUSED = {
982   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
983 };
984
985 static const CGEN_IFMT ifmt_lddf ATTRIBUTE_UNUSED = {
986   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
987 };
988
989 static const CGEN_IFMT ifmt_lddc ATTRIBUTE_UNUSED = {
990   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
991 };
992
993 static const CGEN_IFMT ifmt_ldsbi ATTRIBUTE_UNUSED = {
994   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
995 };
996
997 static const CGEN_IFMT ifmt_ldbfi ATTRIBUTE_UNUSED = {
998   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
999 };
1000
1001 static const CGEN_IFMT ifmt_lddi ATTRIBUTE_UNUSED = {
1002   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1003 };
1004
1005 static const CGEN_IFMT ifmt_lddfi ATTRIBUTE_UNUSED = {
1006   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1007 };
1008
1009 static const CGEN_IFMT ifmt_cldbf ATTRIBUTE_UNUSED = {
1010   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1011 };
1012
1013 static const CGEN_IFMT ifmt_clddf ATTRIBUTE_UNUSED = {
1014   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1015 };
1016
1017 static const CGEN_IFMT ifmt_movgf ATTRIBUTE_UNUSED = {
1018   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
1019 };
1020
1021 static const CGEN_IFMT ifmt_cmovgf ATTRIBUTE_UNUSED = {
1022   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1023 };
1024
1025 static const CGEN_IFMT ifmt_movgs ATTRIBUTE_UNUSED = {
1026   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_OP) }, { F (F_SPR) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
1027 };
1028
1029 static const CGEN_IFMT ifmt_bra ATTRIBUTE_UNUSED = {
1030   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
1031 };
1032
1033 static const CGEN_IFMT ifmt_bno ATTRIBUTE_UNUSED = {
1034   32, 32, 0x7ffcffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16_NULL) }, { 0 } }
1035 };
1036
1037 static const CGEN_IFMT ifmt_beq ATTRIBUTE_UNUSED = {
1038   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
1039 };
1040
1041 static const CGEN_IFMT ifmt_fbra ATTRIBUTE_UNUSED = {
1042   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
1043 };
1044
1045 static const CGEN_IFMT ifmt_fbno ATTRIBUTE_UNUSED = {
1046   32, 32, 0x7ffcffff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16_NULL) }, { 0 } }
1047 };
1048
1049 static const CGEN_IFMT ifmt_fbne ATTRIBUTE_UNUSED = {
1050   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
1051 };
1052
1053 static const CGEN_IFMT ifmt_bctrlr ATTRIBUTE_UNUSED = {
1054   32, 32, 0x7ffcefff, { { F (F_PACK) }, { F (F_COND_NULL) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND) }, { F (F_S12_NULL) }, { 0 } }
1055 };
1056
1057 static const CGEN_IFMT ifmt_bralr ATTRIBUTE_UNUSED = {
1058   32, 32, 0x7ffcffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
1059 };
1060
1061 static const CGEN_IFMT ifmt_bnolr ATTRIBUTE_UNUSED = {
1062   32, 32, 0x7ffcffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
1063 };
1064
1065 static const CGEN_IFMT ifmt_beqlr ATTRIBUTE_UNUSED = {
1066   32, 32, 0x79fcffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
1067 };
1068
1069 static const CGEN_IFMT ifmt_fbralr ATTRIBUTE_UNUSED = {
1070   32, 32, 0x7ffcffff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
1071 };
1072
1073 static const CGEN_IFMT ifmt_fbnolr ATTRIBUTE_UNUSED = {
1074   32, 32, 0x7ffcffff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
1075 };
1076
1077 static const CGEN_IFMT ifmt_fbeqlr ATTRIBUTE_UNUSED = {
1078   32, 32, 0x79fcffff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
1079 };
1080
1081 static const CGEN_IFMT ifmt_bcralr ATTRIBUTE_UNUSED = {
1082   32, 32, 0x7ffcefff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND) }, { F (F_S12_NULL) }, { 0 } }
1083 };
1084
1085 static const CGEN_IFMT ifmt_bceqlr ATTRIBUTE_UNUSED = {
1086   32, 32, 0x79fcefff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND) }, { F (F_S12_NULL) }, { 0 } }
1087 };
1088
1089 static const CGEN_IFMT ifmt_fcbralr ATTRIBUTE_UNUSED = {
1090   32, 32, 0x7ffcefff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND) }, { F (F_S12_NULL) }, { 0 } }
1091 };
1092
1093 static const CGEN_IFMT ifmt_fcbeqlr ATTRIBUTE_UNUSED = {
1094   32, 32, 0x79fcefff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND) }, { F (F_S12_NULL) }, { 0 } }
1095 };
1096
1097 static const CGEN_IFMT ifmt_jmpl ATTRIBUTE_UNUSED = {
1098   32, 32, 0x7ffc0fc0, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LI_OFF) }, { F (F_OP) }, { F (F_GRI) }, { F (F_MISC_NULL_2) }, { F (F_GRJ) }, { 0 } }
1099 };
1100
1101 static const CGEN_IFMT ifmt_calll ATTRIBUTE_UNUSED = {
1102   32, 32, 0x7ffc0fc0, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LI_ON) }, { F (F_OP) }, { F (F_GRI) }, { F (F_MISC_NULL_2) }, { F (F_GRJ) }, { 0 } }
1103 };
1104
1105 static const CGEN_IFMT ifmt_jmpil ATTRIBUTE_UNUSED = {
1106   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LI_OFF) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1107 };
1108
1109 static const CGEN_IFMT ifmt_callil ATTRIBUTE_UNUSED = {
1110   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LI_ON) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1111 };
1112
1113 static const CGEN_IFMT ifmt_call ATTRIBUTE_UNUSED = {
1114   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_OP) }, { F (F_LABEL24) }, { 0 } }
1115 };
1116
1117 static const CGEN_IFMT ifmt_rett ATTRIBUTE_UNUSED = {
1118   32, 32, 0x7dffffff, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_DEBUG) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_S12_NULL) }, { 0 } }
1119 };
1120
1121 static const CGEN_IFMT ifmt_rei ATTRIBUTE_UNUSED = {
1122   32, 32, 0x7ffc0fff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_EIR) }, { F (F_S12_NULL) }, { 0 } }
1123 };
1124
1125 static const CGEN_IFMT ifmt_tra ATTRIBUTE_UNUSED = {
1126   32, 32, 0x7ffc0fc0, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1127 };
1128
1129 static const CGEN_IFMT ifmt_tno ATTRIBUTE_UNUSED = {
1130   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_GRI_NULL) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ_NULL) }, { 0 } }
1131 };
1132
1133 static const CGEN_IFMT ifmt_teq ATTRIBUTE_UNUSED = {
1134   32, 32, 0x79fc0fc0, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1135 };
1136
1137 static const CGEN_IFMT ifmt_ftra ATTRIBUTE_UNUSED = {
1138   32, 32, 0x7ffc0fc0, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1139 };
1140
1141 static const CGEN_IFMT ifmt_ftno ATTRIBUTE_UNUSED = {
1142   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_GRI_NULL) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ_NULL) }, { 0 } }
1143 };
1144
1145 static const CGEN_IFMT ifmt_ftne ATTRIBUTE_UNUSED = {
1146   32, 32, 0x79fc0fc0, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1147 };
1148
1149 static const CGEN_IFMT ifmt_tira ATTRIBUTE_UNUSED = {
1150   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1151 };
1152
1153 static const CGEN_IFMT ifmt_tino ATTRIBUTE_UNUSED = {
1154   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_GRI_NULL) }, { F (F_S12_NULL) }, { 0 } }
1155 };
1156
1157 static const CGEN_IFMT ifmt_tieq ATTRIBUTE_UNUSED = {
1158   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1159 };
1160
1161 static const CGEN_IFMT ifmt_ftira ATTRIBUTE_UNUSED = {
1162   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1163 };
1164
1165 static const CGEN_IFMT ifmt_ftino ATTRIBUTE_UNUSED = {
1166   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2_NULL) }, { F (F_OP) }, { F (F_GRI_NULL) }, { F (F_S12_NULL) }, { 0 } }
1167 };
1168
1169 static const CGEN_IFMT ifmt_ftine ATTRIBUTE_UNUSED = {
1170   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1171 };
1172
1173 static const CGEN_IFMT ifmt_break ATTRIBUTE_UNUSED = {
1174   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_MISC_NULL_3) }, { F (F_OPE4) }, { F (F_GRJ_NULL) }, { 0 } }
1175 };
1176
1177 static const CGEN_IFMT ifmt_andcr ATTRIBUTE_UNUSED = {
1178   32, 32, 0x71ff8ff8, { { F (F_PACK) }, { F (F_MISC_NULL_6) }, { F (F_CRK) }, { F (F_OP) }, { F (F_MISC_NULL_7) }, { F (F_CRI) }, { F (F_OPE1) }, { F (F_MISC_NULL_8) }, { F (F_CRJ) }, { 0 } }
1179 };
1180
1181 static const CGEN_IFMT ifmt_notcr ATTRIBUTE_UNUSED = {
1182   32, 32, 0x71fffff8, { { F (F_PACK) }, { F (F_MISC_NULL_6) }, { F (F_CRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_MISC_NULL_8) }, { F (F_CRJ) }, { 0 } }
1183 };
1184
1185 static const CGEN_IFMT ifmt_ckra ATTRIBUTE_UNUSED = {
1186   32, 32, 0x79ffffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_CRJ_INT) }, { F (F_OP) }, { F (F_MISC_NULL_5) }, { F (F_ICCI_3_NULL) }, { 0 } }
1187 };
1188
1189 static const CGEN_IFMT ifmt_ckeq ATTRIBUTE_UNUSED = {
1190   32, 32, 0x79fffffc, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_CRJ_INT) }, { F (F_OP) }, { F (F_MISC_NULL_5) }, { F (F_ICCI_3) }, { 0 } }
1191 };
1192
1193 static const CGEN_IFMT ifmt_fckra ATTRIBUTE_UNUSED = {
1194   32, 32, 0x79fffffc, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_CRJ_FLOAT) }, { F (F_OP) }, { F (F_MISC_NULL_5) }, { F (F_FCCI_3) }, { 0 } }
1195 };
1196
1197 static const CGEN_IFMT ifmt_cckra ATTRIBUTE_UNUSED = {
1198   32, 32, 0x79fff0ff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_CRJ_INT) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_MISC_NULL_9) }, { F (F_ICCI_3_NULL) }, { 0 } }
1199 };
1200
1201 static const CGEN_IFMT ifmt_cckeq ATTRIBUTE_UNUSED = {
1202   32, 32, 0x79fff0fc, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_CRJ_INT) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_MISC_NULL_9) }, { F (F_ICCI_3) }, { 0 } }
1203 };
1204
1205 static const CGEN_IFMT ifmt_cfckra ATTRIBUTE_UNUSED = {
1206   32, 32, 0x79fff0ff, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_CRJ_FLOAT) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_MISC_NULL_9) }, { F (F_FCCI_3_NULL) }, { 0 } }
1207 };
1208
1209 static const CGEN_IFMT ifmt_cfckne ATTRIBUTE_UNUSED = {
1210   32, 32, 0x79fff0fc, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_CRJ_FLOAT) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_MISC_NULL_9) }, { F (F_FCCI_3) }, { 0 } }
1211 };
1212
1213 static const CGEN_IFMT ifmt_cjmpl ATTRIBUTE_UNUSED = {
1214   32, 32, 0x7ffc00c0, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LI_OFF) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1215 };
1216
1217 static const CGEN_IFMT ifmt_ccalll ATTRIBUTE_UNUSED = {
1218   32, 32, 0x7ffc00c0, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LI_ON) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
1219 };
1220
1221 static const CGEN_IFMT ifmt_icei ATTRIBUTE_UNUSED = {
1222   32, 32, 0x7dfc0fc0, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_AE) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
1223 };
1224
1225 static const CGEN_IFMT ifmt_icpl ATTRIBUTE_UNUSED = {
1226   32, 32, 0x7dfc0fc0, { { F (F_PACK) }, { F (F_MISC_NULL_1) }, { F (F_LOCK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
1227 };
1228
1229 static const CGEN_IFMT ifmt_icul ATTRIBUTE_UNUSED = {
1230   32, 32, 0x7ffc0fff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1231 };
1232
1233 static const CGEN_IFMT ifmt_bar ATTRIBUTE_UNUSED = {
1234   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1235 };
1236
1237 static const CGEN_IFMT ifmt_lrai ATTRIBUTE_UNUSED = {
1238   32, 32, 0x1fc0fc7, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_LRAE) }, { F (F_LRAD) }, { F (F_LRAS) }, { F (F_LRA_NULL) }, { 0 } }
1239 };
1240
1241 static const CGEN_IFMT ifmt_tlbpr ATTRIBUTE_UNUSED = {
1242   32, 32, 0x61fc0fc0, { { F (F_PACK) }, { F (F_TLBPR_NULL) }, { F (F_TLBPROPX) }, { F (F_TLBPRL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
1243 };
1244
1245 static const CGEN_IFMT ifmt_cop1 ATTRIBUTE_UNUSED = {
1246   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_CPRI) }, { F (F_S6_1) }, { F (F_CPRJ) }, { 0 } }
1247 };
1248
1249 static const CGEN_IFMT ifmt_clrgr ATTRIBUTE_UNUSED = {
1250   32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1251 };
1252
1253 static const CGEN_IFMT ifmt_clrfr ATTRIBUTE_UNUSED = {
1254   32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1255 };
1256
1257 static const CGEN_IFMT ifmt_fitos ATTRIBUTE_UNUSED = {
1258   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1259 };
1260
1261 static const CGEN_IFMT ifmt_fstoi ATTRIBUTE_UNUSED = {
1262   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1263 };
1264
1265 static const CGEN_IFMT ifmt_fitod ATTRIBUTE_UNUSED = {
1266   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1267 };
1268
1269 static const CGEN_IFMT ifmt_fdtoi ATTRIBUTE_UNUSED = {
1270   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1271 };
1272
1273 static const CGEN_IFMT ifmt_cfitos ATTRIBUTE_UNUSED = {
1274   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1275 };
1276
1277 static const CGEN_IFMT ifmt_cfstoi ATTRIBUTE_UNUSED = {
1278   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1279 };
1280
1281 static const CGEN_IFMT ifmt_fmovs ATTRIBUTE_UNUSED = {
1282   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1283 };
1284
1285 static const CGEN_IFMT ifmt_fmovd ATTRIBUTE_UNUSED = {
1286   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1287 };
1288
1289 static const CGEN_IFMT ifmt_cfmovs ATTRIBUTE_UNUSED = {
1290   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1291 };
1292
1293 static const CGEN_IFMT ifmt_fadds ATTRIBUTE_UNUSED = {
1294   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1295 };
1296
1297 static const CGEN_IFMT ifmt_faddd ATTRIBUTE_UNUSED = {
1298   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1299 };
1300
1301 static const CGEN_IFMT ifmt_cfadds ATTRIBUTE_UNUSED = {
1302   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1303 };
1304
1305 static const CGEN_IFMT ifmt_fcmps ATTRIBUTE_UNUSED = {
1306   32, 32, 0x79fc0fc0, { { F (F_PACK) }, { F (F_COND_NULL) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1307 };
1308
1309 static const CGEN_IFMT ifmt_fcmpd ATTRIBUTE_UNUSED = {
1310   32, 32, 0x79fc0fc0, { { F (F_PACK) }, { F (F_COND_NULL) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1311 };
1312
1313 static const CGEN_IFMT ifmt_cfcmps ATTRIBUTE_UNUSED = {
1314   32, 32, 0x79fc00c0, { { F (F_PACK) }, { F (F_COND_NULL) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1315 };
1316
1317 static const CGEN_IFMT ifmt_mhsetlos ATTRIBUTE_UNUSED = {
1318   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1319 };
1320
1321 static const CGEN_IFMT ifmt_mhsethis ATTRIBUTE_UNUSED = {
1322   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1323 };
1324
1325 static const CGEN_IFMT ifmt_mhdsets ATTRIBUTE_UNUSED = {
1326   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1327 };
1328
1329 static const CGEN_IFMT ifmt_mhsetloh ATTRIBUTE_UNUSED = {
1330   32, 32, 0x1ffffe0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_MISC_NULL_11) }, { F (F_S5) }, { 0 } }
1331 };
1332
1333 static const CGEN_IFMT ifmt_mhsethih ATTRIBUTE_UNUSED = {
1334   32, 32, 0x1ffffe0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_MISC_NULL_11) }, { F (F_S5) }, { 0 } }
1335 };
1336
1337 static const CGEN_IFMT ifmt_mhdseth ATTRIBUTE_UNUSED = {
1338   32, 32, 0x1ffffe0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_MISC_NULL_11) }, { F (F_S5) }, { 0 } }
1339 };
1340
1341 static const CGEN_IFMT ifmt_mand ATTRIBUTE_UNUSED = {
1342   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1343 };
1344
1345 static const CGEN_IFMT ifmt_cmand ATTRIBUTE_UNUSED = {
1346   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1347 };
1348
1349 static const CGEN_IFMT ifmt_mnot ATTRIBUTE_UNUSED = {
1350   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1351 };
1352
1353 static const CGEN_IFMT ifmt_cmnot ATTRIBUTE_UNUSED = {
1354   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1355 };
1356
1357 static const CGEN_IFMT ifmt_mrotli ATTRIBUTE_UNUSED = {
1358   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1359 };
1360
1361 static const CGEN_IFMT ifmt_mcut ATTRIBUTE_UNUSED = {
1362   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1363 };
1364
1365 static const CGEN_IFMT ifmt_mcuti ATTRIBUTE_UNUSED = {
1366   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1367 };
1368
1369 static const CGEN_IFMT ifmt_mdcutssi ATTRIBUTE_UNUSED = {
1370   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1371 };
1372
1373 static const CGEN_IFMT ifmt_mdrotli ATTRIBUTE_UNUSED = {
1374   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1375 };
1376
1377 static const CGEN_IFMT ifmt_mqsaths ATTRIBUTE_UNUSED = {
1378   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1379 };
1380
1381 static const CGEN_IFMT ifmt_mcmpsh ATTRIBUTE_UNUSED = {
1382   32, 32, 0x79fc0fc0, { { F (F_PACK) }, { F (F_COND_NULL) }, { F (F_FCCK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1383 };
1384
1385 static const CGEN_IFMT ifmt_mabshs ATTRIBUTE_UNUSED = {
1386   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1387 };
1388
1389 static const CGEN_IFMT ifmt_cmqaddhss ATTRIBUTE_UNUSED = {
1390   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1391 };
1392
1393 static const CGEN_IFMT ifmt_mqsllhi ATTRIBUTE_UNUSED = {
1394   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1395 };
1396
1397 static const CGEN_IFMT ifmt_maddaccs ATTRIBUTE_UNUSED = {
1398   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_ACCJ_NULL) }, { 0 } }
1399 };
1400
1401 static const CGEN_IFMT ifmt_mmulhs ATTRIBUTE_UNUSED = {
1402   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1403 };
1404
1405 static const CGEN_IFMT ifmt_cmmulhs ATTRIBUTE_UNUSED = {
1406   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1407 };
1408
1409 static const CGEN_IFMT ifmt_mqmulhs ATTRIBUTE_UNUSED = {
1410   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1411 };
1412
1413 static const CGEN_IFMT ifmt_cmqmulhs ATTRIBUTE_UNUSED = {
1414   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1415 };
1416
1417 static const CGEN_IFMT ifmt_mmachu ATTRIBUTE_UNUSED = {
1418   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1419 };
1420
1421 static const CGEN_IFMT ifmt_cmmachu ATTRIBUTE_UNUSED = {
1422   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1423 };
1424
1425 static const CGEN_IFMT ifmt_mqmachu ATTRIBUTE_UNUSED = {
1426   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1427 };
1428
1429 static const CGEN_IFMT ifmt_cmqmachu ATTRIBUTE_UNUSED = {
1430   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1431 };
1432
1433 static const CGEN_IFMT ifmt_cmexpdhw ATTRIBUTE_UNUSED = {
1434   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_U6) }, { 0 } }
1435 };
1436
1437 static const CGEN_IFMT ifmt_mexpdhd ATTRIBUTE_UNUSED = {
1438   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1439 };
1440
1441 static const CGEN_IFMT ifmt_cmexpdhd ATTRIBUTE_UNUSED = {
1442   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_U6) }, { 0 } }
1443 };
1444
1445 static const CGEN_IFMT ifmt_munpackh ATTRIBUTE_UNUSED = {
1446   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1447 };
1448
1449 static const CGEN_IFMT ifmt_mdunpackh ATTRIBUTE_UNUSED = {
1450   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1451 };
1452
1453 static const CGEN_IFMT ifmt_mbtoh ATTRIBUTE_UNUSED = {
1454   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1455 };
1456
1457 static const CGEN_IFMT ifmt_cmbtoh ATTRIBUTE_UNUSED = {
1458   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1459 };
1460
1461 static const CGEN_IFMT ifmt_mhtob ATTRIBUTE_UNUSED = {
1462   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1463 };
1464
1465 static const CGEN_IFMT ifmt_cmhtob ATTRIBUTE_UNUSED = {
1466   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1467 };
1468
1469 static const CGEN_IFMT ifmt_cmbtohe ATTRIBUTE_UNUSED = {
1470   32, 32, 0x1fff0c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_FRJ) }, { 0 } }
1471 };
1472
1473 static const CGEN_IFMT ifmt_mnop ATTRIBUTE_UNUSED = {
1474   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_A) }, { F (F_MISC_NULL_10) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1475 };
1476
1477 static const CGEN_IFMT ifmt_mclracc_0 ATTRIBUTE_UNUSED = {
1478   32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_A) }, { F (F_MISC_NULL_10) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1479 };
1480
1481 static const CGEN_IFMT ifmt_mrdacc ATTRIBUTE_UNUSED = {
1482   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1483 };
1484
1485 static const CGEN_IFMT ifmt_mrdaccg ATTRIBUTE_UNUSED = {
1486   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACCGI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1487 };
1488
1489 static const CGEN_IFMT ifmt_mwtacc ATTRIBUTE_UNUSED = {
1490   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1491 };
1492
1493 static const CGEN_IFMT ifmt_mwtaccg ATTRIBUTE_UNUSED = {
1494   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACCGK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1495 };
1496
1497 static const CGEN_IFMT ifmt_fnop ATTRIBUTE_UNUSED = {
1498   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1499 };
1500
1501 #undef F
1502
1503 #define A(a) (1 << CGEN_INSN_##a)
1504 #define OPERAND(op) FRV_OPERAND_##op
1505 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
1506 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
1507
1508 /* The instruction table.  */
1509
1510 static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
1511 {
1512   /* Special null first entry.
1513      A `num' value of zero is thus invalid.
1514      Also, the special `invalid' insn resides here.  */
1515   { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
1516 /* add$pack $GRi,$GRj,$GRk */
1517   {
1518     { 0, 0, 0, 0 },
1519     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1520     & ifmt_add, { 0x0 }
1521   },
1522 /* sub$pack $GRi,$GRj,$GRk */
1523   {
1524     { 0, 0, 0, 0 },
1525     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1526     & ifmt_add, { 0x100 }
1527   },
1528 /* and$pack $GRi,$GRj,$GRk */
1529   {
1530     { 0, 0, 0, 0 },
1531     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1532     & ifmt_add, { 0x40000 }
1533   },
1534 /* or$pack $GRi,$GRj,$GRk */
1535   {
1536     { 0, 0, 0, 0 },
1537     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1538     & ifmt_add, { 0x40080 }
1539   },
1540 /* xor$pack $GRi,$GRj,$GRk */
1541   {
1542     { 0, 0, 0, 0 },
1543     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1544     & ifmt_add, { 0x40100 }
1545   },
1546 /* not$pack $GRj,$GRk */
1547   {
1548     { 0, 0, 0, 0 },
1549     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), 0 } },
1550     & ifmt_not, { 0x40180 }
1551   },
1552 /* sdiv$pack $GRi,$GRj,$GRk */
1553   {
1554     { 0, 0, 0, 0 },
1555     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1556     & ifmt_add, { 0x380 }
1557   },
1558 /* nsdiv$pack $GRi,$GRj,$GRk */
1559   {
1560     { 0, 0, 0, 0 },
1561     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1562     & ifmt_add, { 0x40380 }
1563   },
1564 /* udiv$pack $GRi,$GRj,$GRk */
1565   {
1566     { 0, 0, 0, 0 },
1567     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1568     & ifmt_add, { 0x3c0 }
1569   },
1570 /* nudiv$pack $GRi,$GRj,$GRk */
1571   {
1572     { 0, 0, 0, 0 },
1573     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1574     & ifmt_add, { 0x403c0 }
1575   },
1576 /* smul$pack $GRi,$GRj,$GRdoublek */
1577   {
1578     { 0, 0, 0, 0 },
1579     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), 0 } },
1580     & ifmt_smul, { 0x200 }
1581   },
1582 /* umul$pack $GRi,$GRj,$GRdoublek */
1583   {
1584     { 0, 0, 0, 0 },
1585     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), 0 } },
1586     & ifmt_smul, { 0x280 }
1587   },
1588 /* smu$pack $GRi,$GRj */
1589   {
1590     { 0, 0, 0, 0 },
1591     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1592     & ifmt_smu, { 0x1180140 }
1593   },
1594 /* smass$pack $GRi,$GRj */
1595   {
1596     { 0, 0, 0, 0 },
1597     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1598     & ifmt_smu, { 0x1180180 }
1599   },
1600 /* smsss$pack $GRi,$GRj */
1601   {
1602     { 0, 0, 0, 0 },
1603     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1604     & ifmt_smu, { 0x11801c0 }
1605   },
1606 /* sll$pack $GRi,$GRj,$GRk */
1607   {
1608     { 0, 0, 0, 0 },
1609     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1610     & ifmt_add, { 0x40200 }
1611   },
1612 /* srl$pack $GRi,$GRj,$GRk */
1613   {
1614     { 0, 0, 0, 0 },
1615     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1616     & ifmt_add, { 0x40280 }
1617   },
1618 /* sra$pack $GRi,$GRj,$GRk */
1619   {
1620     { 0, 0, 0, 0 },
1621     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1622     & ifmt_add, { 0x40300 }
1623   },
1624 /* slass$pack $GRi,$GRj,$GRk */
1625   {
1626     { 0, 0, 0, 0 },
1627     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1628     & ifmt_slass, { 0x1180080 }
1629   },
1630 /* scutss$pack $GRj,$GRk */
1631   {
1632     { 0, 0, 0, 0 },
1633     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), 0 } },
1634     & ifmt_scutss, { 0x1180100 }
1635   },
1636 /* scan$pack $GRi,$GRj,$GRk */
1637   {
1638     { 0, 0, 0, 0 },
1639     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1640     & ifmt_add, { 0x2c0000 }
1641   },
1642 /* cadd$pack $GRi,$GRj,$GRk,$CCi,$cond */
1643   {
1644     { 0, 0, 0, 0 },
1645     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1646     & ifmt_cadd, { 0x1600000 }
1647   },
1648 /* csub$pack $GRi,$GRj,$GRk,$CCi,$cond */
1649   {
1650     { 0, 0, 0, 0 },
1651     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1652     & ifmt_cadd, { 0x1600040 }
1653   },
1654 /* cand$pack $GRi,$GRj,$GRk,$CCi,$cond */
1655   {
1656     { 0, 0, 0, 0 },
1657     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1658     & ifmt_cadd, { 0x1680000 }
1659   },
1660 /* cor$pack $GRi,$GRj,$GRk,$CCi,$cond */
1661   {
1662     { 0, 0, 0, 0 },
1663     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1664     & ifmt_cadd, { 0x1680040 }
1665   },
1666 /* cxor$pack $GRi,$GRj,$GRk,$CCi,$cond */
1667   {
1668     { 0, 0, 0, 0 },
1669     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1670     & ifmt_cadd, { 0x1680080 }
1671   },
1672 /* cnot$pack $GRj,$GRk,$CCi,$cond */
1673   {
1674     { 0, 0, 0, 0 },
1675     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1676     & ifmt_cnot, { 0x16800c0 }
1677   },
1678 /* csmul$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
1679   {
1680     { 0, 0, 0, 0 },
1681     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
1682     & ifmt_csmul, { 0x1600080 }
1683   },
1684 /* csdiv$pack $GRi,$GRj,$GRk,$CCi,$cond */
1685   {
1686     { 0, 0, 0, 0 },
1687     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1688     & ifmt_cadd, { 0x16000c0 }
1689   },
1690 /* cudiv$pack $GRi,$GRj,$GRk,$CCi,$cond */
1691   {
1692     { 0, 0, 0, 0 },
1693     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1694     & ifmt_cadd, { 0x16400c0 }
1695   },
1696 /* csll$pack $GRi,$GRj,$GRk,$CCi,$cond */
1697   {
1698     { 0, 0, 0, 0 },
1699     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1700     & ifmt_cadd, { 0x1700000 }
1701   },
1702 /* csrl$pack $GRi,$GRj,$GRk,$CCi,$cond */
1703   {
1704     { 0, 0, 0, 0 },
1705     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1706     & ifmt_cadd, { 0x1700040 }
1707   },
1708 /* csra$pack $GRi,$GRj,$GRk,$CCi,$cond */
1709   {
1710     { 0, 0, 0, 0 },
1711     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1712     & ifmt_cadd, { 0x1700080 }
1713   },
1714 /* cscan$pack $GRi,$GRj,$GRk,$CCi,$cond */
1715   {
1716     { 0, 0, 0, 0 },
1717     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1718     & ifmt_cadd, { 0x19400c0 }
1719   },
1720 /* addcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1721   {
1722     { 0, 0, 0, 0 },
1723     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1724     & ifmt_addcc, { 0x40 }
1725   },
1726 /* subcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1727   {
1728     { 0, 0, 0, 0 },
1729     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1730     & ifmt_addcc, { 0x140 }
1731   },
1732 /* andcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1733   {
1734     { 0, 0, 0, 0 },
1735     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1736     & ifmt_addcc, { 0x40040 }
1737   },
1738 /* orcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1739   {
1740     { 0, 0, 0, 0 },
1741     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1742     & ifmt_addcc, { 0x400c0 }
1743   },
1744 /* xorcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1745   {
1746     { 0, 0, 0, 0 },
1747     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1748     & ifmt_addcc, { 0x40140 }
1749   },
1750 /* sllcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1751   {
1752     { 0, 0, 0, 0 },
1753     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1754     & ifmt_addcc, { 0x40240 }
1755   },
1756 /* srlcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1757   {
1758     { 0, 0, 0, 0 },
1759     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1760     & ifmt_addcc, { 0x402c0 }
1761   },
1762 /* sracc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1763   {
1764     { 0, 0, 0, 0 },
1765     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1766     & ifmt_addcc, { 0x40340 }
1767   },
1768 /* smulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
1769   {
1770     { 0, 0, 0, 0 },
1771     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1772     & ifmt_smulcc, { 0x240 }
1773   },
1774 /* umulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
1775   {
1776     { 0, 0, 0, 0 },
1777     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1778     & ifmt_smulcc, { 0x2c0 }
1779   },
1780 /* caddcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1781   {
1782     { 0, 0, 0, 0 },
1783     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1784     & ifmt_cadd, { 0x1640000 }
1785   },
1786 /* csubcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1787   {
1788     { 0, 0, 0, 0 },
1789     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1790     & ifmt_cadd, { 0x1640040 }
1791   },
1792 /* csmulcc$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
1793   {
1794     { 0, 0, 0, 0 },
1795     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
1796     & ifmt_csmul, { 0x1640080 }
1797   },
1798 /* candcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1799   {
1800     { 0, 0, 0, 0 },
1801     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1802     & ifmt_cadd, { 0x16c0000 }
1803   },
1804 /* corcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1805   {
1806     { 0, 0, 0, 0 },
1807     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1808     & ifmt_cadd, { 0x16c0040 }
1809   },
1810 /* cxorcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1811   {
1812     { 0, 0, 0, 0 },
1813     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1814     & ifmt_cadd, { 0x16c0080 }
1815   },
1816 /* csllcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1817   {
1818     { 0, 0, 0, 0 },
1819     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1820     & ifmt_cadd, { 0x1740000 }
1821   },
1822 /* csrlcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1823   {
1824     { 0, 0, 0, 0 },
1825     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1826     & ifmt_cadd, { 0x1740040 }
1827   },
1828 /* csracc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1829   {
1830     { 0, 0, 0, 0 },
1831     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1832     & ifmt_cadd, { 0x1740080 }
1833   },
1834 /* addx$pack $GRi,$GRj,$GRk,$ICCi_1 */
1835   {
1836     { 0, 0, 0, 0 },
1837     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1838     & ifmt_addcc, { 0x80 }
1839   },
1840 /* subx$pack $GRi,$GRj,$GRk,$ICCi_1 */
1841   {
1842     { 0, 0, 0, 0 },
1843     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1844     & ifmt_addcc, { 0x180 }
1845   },
1846 /* addxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1847   {
1848     { 0, 0, 0, 0 },
1849     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1850     & ifmt_addcc, { 0xc0 }
1851   },
1852 /* subxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1853   {
1854     { 0, 0, 0, 0 },
1855     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1856     & ifmt_addcc, { 0x1c0 }
1857   },
1858 /* addss$pack $GRi,$GRj,$GRk */
1859   {
1860     { 0, 0, 0, 0 },
1861     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1862     & ifmt_slass, { 0x1180000 }
1863   },
1864 /* subss$pack $GRi,$GRj,$GRk */
1865   {
1866     { 0, 0, 0, 0 },
1867     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1868     & ifmt_slass, { 0x1180040 }
1869   },
1870 /* addi$pack $GRi,$s12,$GRk */
1871   {
1872     { 0, 0, 0, 0 },
1873     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1874     & ifmt_addi, { 0x400000 }
1875   },
1876 /* subi$pack $GRi,$s12,$GRk */
1877   {
1878     { 0, 0, 0, 0 },
1879     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1880     & ifmt_addi, { 0x500000 }
1881   },
1882 /* andi$pack $GRi,$s12,$GRk */
1883   {
1884     { 0, 0, 0, 0 },
1885     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1886     & ifmt_addi, { 0x800000 }
1887   },
1888 /* ori$pack $GRi,$s12,$GRk */
1889   {
1890     { 0, 0, 0, 0 },
1891     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1892     & ifmt_addi, { 0x880000 }
1893   },
1894 /* xori$pack $GRi,$s12,$GRk */
1895   {
1896     { 0, 0, 0, 0 },
1897     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1898     & ifmt_addi, { 0x900000 }
1899   },
1900 /* sdivi$pack $GRi,$s12,$GRk */
1901   {
1902     { 0, 0, 0, 0 },
1903     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1904     & ifmt_addi, { 0x780000 }
1905   },
1906 /* nsdivi$pack $GRi,$s12,$GRk */
1907   {
1908     { 0, 0, 0, 0 },
1909     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1910     & ifmt_addi, { 0xb80000 }
1911   },
1912 /* udivi$pack $GRi,$s12,$GRk */
1913   {
1914     { 0, 0, 0, 0 },
1915     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1916     & ifmt_addi, { 0x7c0000 }
1917   },
1918 /* nudivi$pack $GRi,$s12,$GRk */
1919   {
1920     { 0, 0, 0, 0 },
1921     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1922     & ifmt_addi, { 0xbc0000 }
1923   },
1924 /* smuli$pack $GRi,$s12,$GRdoublek */
1925   {
1926     { 0, 0, 0, 0 },
1927     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRDOUBLEK), 0 } },
1928     & ifmt_smuli, { 0x600000 }
1929   },
1930 /* umuli$pack $GRi,$s12,$GRdoublek */
1931   {
1932     { 0, 0, 0, 0 },
1933     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRDOUBLEK), 0 } },
1934     & ifmt_smuli, { 0x680000 }
1935   },
1936 /* slli$pack $GRi,$s12,$GRk */
1937   {
1938     { 0, 0, 0, 0 },
1939     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1940     & ifmt_addi, { 0xa00000 }
1941   },
1942 /* srli$pack $GRi,$s12,$GRk */
1943   {
1944     { 0, 0, 0, 0 },
1945     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1946     & ifmt_addi, { 0xa80000 }
1947   },
1948 /* srai$pack $GRi,$s12,$GRk */
1949   {
1950     { 0, 0, 0, 0 },
1951     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1952     & ifmt_addi, { 0xb00000 }
1953   },
1954 /* scani$pack $GRi,$s12,$GRk */
1955   {
1956     { 0, 0, 0, 0 },
1957     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1958     & ifmt_addi, { 0x11c0000 }
1959   },
1960 /* addicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1961   {
1962     { 0, 0, 0, 0 },
1963     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1964     & ifmt_addicc, { 0x440000 }
1965   },
1966 /* subicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1967   {
1968     { 0, 0, 0, 0 },
1969     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1970     & ifmt_addicc, { 0x540000 }
1971   },
1972 /* andicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1973   {
1974     { 0, 0, 0, 0 },
1975     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1976     & ifmt_addicc, { 0x840000 }
1977   },
1978 /* oricc$pack $GRi,$s10,$GRk,$ICCi_1 */
1979   {
1980     { 0, 0, 0, 0 },
1981     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1982     & ifmt_addicc, { 0x8c0000 }
1983   },
1984 /* xoricc$pack $GRi,$s10,$GRk,$ICCi_1 */
1985   {
1986     { 0, 0, 0, 0 },
1987     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1988     & ifmt_addicc, { 0x940000 }
1989   },
1990 /* smulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
1991   {
1992     { 0, 0, 0, 0 },
1993     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1994     & ifmt_smulicc, { 0x640000 }
1995   },
1996 /* umulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
1997   {
1998     { 0, 0, 0, 0 },
1999     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
2000     & ifmt_smulicc, { 0x6c0000 }
2001   },
2002 /* sllicc$pack $GRi,$s10,$GRk,$ICCi_1 */
2003   {
2004     { 0, 0, 0, 0 },
2005     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2006     & ifmt_addicc, { 0xa40000 }
2007   },
2008 /* srlicc$pack $GRi,$s10,$GRk,$ICCi_1 */
2009   {
2010     { 0, 0, 0, 0 },
2011     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2012     & ifmt_addicc, { 0xac0000 }
2013   },
2014 /* sraicc$pack $GRi,$s10,$GRk,$ICCi_1 */
2015   {
2016     { 0, 0, 0, 0 },
2017     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2018     & ifmt_addicc, { 0xb40000 }
2019   },
2020 /* addxi$pack $GRi,$s10,$GRk,$ICCi_1 */
2021   {
2022     { 0, 0, 0, 0 },
2023     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2024     & ifmt_addicc, { 0x480000 }
2025   },
2026 /* subxi$pack $GRi,$s10,$GRk,$ICCi_1 */
2027   {
2028     { 0, 0, 0, 0 },
2029     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2030     & ifmt_addicc, { 0x580000 }
2031   },
2032 /* addxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
2033   {
2034     { 0, 0, 0, 0 },
2035     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2036     & ifmt_addicc, { 0x4c0000 }
2037   },
2038 /* subxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
2039   {
2040     { 0, 0, 0, 0 },
2041     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
2042     & ifmt_addicc, { 0x5c0000 }
2043   },
2044 /* cmpb$pack $GRi,$GRj,$ICCi_1 */
2045   {
2046     { 0, 0, 0, 0 },
2047     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
2048     & ifmt_cmpb, { 0x300 }
2049   },
2050 /* cmpba$pack $GRi,$GRj,$ICCi_1 */
2051   {
2052     { 0, 0, 0, 0 },
2053     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
2054     & ifmt_cmpb, { 0x340 }
2055   },
2056 /* setlo$pack $ulo16,$GRklo */
2057   {
2058     { 0, 0, 0, 0 },
2059     { { MNEM, OP (PACK), ' ', OP (ULO16), ',', OP (GRKLO), 0 } },
2060     & ifmt_setlo, { 0xf40000 }
2061   },
2062 /* sethi$pack $uhi16,$GRkhi */
2063   {
2064     { 0, 0, 0, 0 },
2065     { { MNEM, OP (PACK), ' ', OP (UHI16), ',', OP (GRKHI), 0 } },
2066     & ifmt_sethi, { 0xf80000 }
2067   },
2068 /* setlos$pack $slo16,$GRk */
2069   {
2070     { 0, 0, 0, 0 },
2071     { { MNEM, OP (PACK), ' ', OP (SLO16), ',', OP (GRK), 0 } },
2072     & ifmt_setlos, { 0xfc0000 }
2073   },
2074 /* ldsb$pack @($GRi,$GRj),$GRk */
2075   {
2076     { 0, 0, 0, 0 },
2077     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2078     & ifmt_slass, { 0x80000 }
2079   },
2080 /* ldub$pack @($GRi,$GRj),$GRk */
2081   {
2082     { 0, 0, 0, 0 },
2083     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2084     & ifmt_slass, { 0x80040 }
2085   },
2086 /* ldsh$pack @($GRi,$GRj),$GRk */
2087   {
2088     { 0, 0, 0, 0 },
2089     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2090     & ifmt_slass, { 0x80080 }
2091   },
2092 /* lduh$pack @($GRi,$GRj),$GRk */
2093   {
2094     { 0, 0, 0, 0 },
2095     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2096     & ifmt_slass, { 0x800c0 }
2097   },
2098 /* ld$pack $ldann($GRi,$GRj),$GRk */
2099   {
2100     { 0, 0, 0, 0 },
2101     { { MNEM, OP (PACK), ' ', OP (LDANN), '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2102     & ifmt_slass, { 0x80100 }
2103   },
2104 /* ldbf$pack @($GRi,$GRj),$FRintk */
2105   {
2106     { 0, 0, 0, 0 },
2107     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2108     & ifmt_ldbf, { 0x80200 }
2109   },
2110 /* ldhf$pack @($GRi,$GRj),$FRintk */
2111   {
2112     { 0, 0, 0, 0 },
2113     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2114     & ifmt_ldbf, { 0x80240 }
2115   },
2116 /* ldf$pack @($GRi,$GRj),$FRintk */
2117   {
2118     { 0, 0, 0, 0 },
2119     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2120     & ifmt_ldbf, { 0x80280 }
2121   },
2122 /* ldc$pack @($GRi,$GRj),$CPRk */
2123   {
2124     { 0, 0, 0, 0 },
2125     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2126     & ifmt_ldc, { 0x80340 }
2127   },
2128 /* nldsb$pack @($GRi,$GRj),$GRk */
2129   {
2130     { 0, 0, 0, 0 },
2131     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2132     & ifmt_slass, { 0x80800 }
2133   },
2134 /* nldub$pack @($GRi,$GRj),$GRk */
2135   {
2136     { 0, 0, 0, 0 },
2137     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2138     & ifmt_slass, { 0x80840 }
2139   },
2140 /* nldsh$pack @($GRi,$GRj),$GRk */
2141   {
2142     { 0, 0, 0, 0 },
2143     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2144     & ifmt_slass, { 0x80880 }
2145   },
2146 /* nlduh$pack @($GRi,$GRj),$GRk */
2147   {
2148     { 0, 0, 0, 0 },
2149     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2150     & ifmt_slass, { 0x808c0 }
2151   },
2152 /* nld$pack @($GRi,$GRj),$GRk */
2153   {
2154     { 0, 0, 0, 0 },
2155     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2156     & ifmt_slass, { 0x80900 }
2157   },
2158 /* nldbf$pack @($GRi,$GRj),$FRintk */
2159   {
2160     { 0, 0, 0, 0 },
2161     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2162     & ifmt_ldbf, { 0x80a00 }
2163   },
2164 /* nldhf$pack @($GRi,$GRj),$FRintk */
2165   {
2166     { 0, 0, 0, 0 },
2167     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2168     & ifmt_ldbf, { 0x80a40 }
2169   },
2170 /* nldf$pack @($GRi,$GRj),$FRintk */
2171   {
2172     { 0, 0, 0, 0 },
2173     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2174     & ifmt_ldbf, { 0x80a80 }
2175   },
2176 /* ldd$pack $lddann($GRi,$GRj),$GRdoublek */
2177   {
2178     { 0, 0, 0, 0 },
2179     { { MNEM, OP (PACK), ' ', OP (LDDANN), '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2180     & ifmt_ldd, { 0x80140 }
2181   },
2182 /* lddf$pack @($GRi,$GRj),$FRdoublek */
2183   {
2184     { 0, 0, 0, 0 },
2185     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2186     & ifmt_lddf, { 0x802c0 }
2187   },
2188 /* lddc$pack @($GRi,$GRj),$CPRdoublek */
2189   {
2190     { 0, 0, 0, 0 },
2191     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRDOUBLEK), 0 } },
2192     & ifmt_lddc, { 0x80380 }
2193   },
2194 /* nldd$pack @($GRi,$GRj),$GRdoublek */
2195   {
2196     { 0, 0, 0, 0 },
2197     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2198     & ifmt_ldd, { 0x80940 }
2199   },
2200 /* nlddf$pack @($GRi,$GRj),$FRdoublek */
2201   {
2202     { 0, 0, 0, 0 },
2203     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2204     & ifmt_lddf, { 0x80ac0 }
2205   },
2206 /* ldq$pack @($GRi,$GRj),$GRk */
2207   {
2208     { 0, 0, 0, 0 },
2209     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2210     & ifmt_slass, { 0x80180 }
2211   },
2212 /* ldqf$pack @($GRi,$GRj),$FRintk */
2213   {
2214     { 0, 0, 0, 0 },
2215     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2216     & ifmt_ldbf, { 0x80300 }
2217   },
2218 /* ldqc$pack @($GRi,$GRj),$CPRk */
2219   {
2220     { 0, 0, 0, 0 },
2221     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2222     & ifmt_ldc, { 0x803c0 }
2223   },
2224 /* nldq$pack @($GRi,$GRj),$GRk */
2225   {
2226     { 0, 0, 0, 0 },
2227     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2228     & ifmt_slass, { 0x80980 }
2229   },
2230 /* nldqf$pack @($GRi,$GRj),$FRintk */
2231   {
2232     { 0, 0, 0, 0 },
2233     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2234     & ifmt_ldbf, { 0x80b00 }
2235   },
2236 /* ldsbu$pack @($GRi,$GRj),$GRk */
2237   {
2238     { 0, 0, 0, 0 },
2239     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2240     & ifmt_slass, { 0x80400 }
2241   },
2242 /* ldubu$pack @($GRi,$GRj),$GRk */
2243   {
2244     { 0, 0, 0, 0 },
2245     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2246     & ifmt_slass, { 0x80440 }
2247   },
2248 /* ldshu$pack @($GRi,$GRj),$GRk */
2249   {
2250     { 0, 0, 0, 0 },
2251     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2252     & ifmt_slass, { 0x80480 }
2253   },
2254 /* lduhu$pack @($GRi,$GRj),$GRk */
2255   {
2256     { 0, 0, 0, 0 },
2257     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2258     & ifmt_slass, { 0x804c0 }
2259   },
2260 /* ldu$pack @($GRi,$GRj),$GRk */
2261   {
2262     { 0, 0, 0, 0 },
2263     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2264     & ifmt_slass, { 0x80500 }
2265   },
2266 /* nldsbu$pack @($GRi,$GRj),$GRk */
2267   {
2268     { 0, 0, 0, 0 },
2269     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2270     & ifmt_slass, { 0x80c00 }
2271   },
2272 /* nldubu$pack @($GRi,$GRj),$GRk */
2273   {
2274     { 0, 0, 0, 0 },
2275     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2276     & ifmt_slass, { 0x80c40 }
2277   },
2278 /* nldshu$pack @($GRi,$GRj),$GRk */
2279   {
2280     { 0, 0, 0, 0 },
2281     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2282     & ifmt_slass, { 0x80c80 }
2283   },
2284 /* nlduhu$pack @($GRi,$GRj),$GRk */
2285   {
2286     { 0, 0, 0, 0 },
2287     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2288     & ifmt_slass, { 0x80cc0 }
2289   },
2290 /* nldu$pack @($GRi,$GRj),$GRk */
2291   {
2292     { 0, 0, 0, 0 },
2293     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2294     & ifmt_slass, { 0x80d00 }
2295   },
2296 /* ldbfu$pack @($GRi,$GRj),$FRintk */
2297   {
2298     { 0, 0, 0, 0 },
2299     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2300     & ifmt_ldbf, { 0x80600 }
2301   },
2302 /* ldhfu$pack @($GRi,$GRj),$FRintk */
2303   {
2304     { 0, 0, 0, 0 },
2305     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2306     & ifmt_ldbf, { 0x80640 }
2307   },
2308 /* ldfu$pack @($GRi,$GRj),$FRintk */
2309   {
2310     { 0, 0, 0, 0 },
2311     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2312     & ifmt_ldbf, { 0x80680 }
2313   },
2314 /* ldcu$pack @($GRi,$GRj),$CPRk */
2315   {
2316     { 0, 0, 0, 0 },
2317     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2318     & ifmt_ldc, { 0x80740 }
2319   },
2320 /* nldbfu$pack @($GRi,$GRj),$FRintk */
2321   {
2322     { 0, 0, 0, 0 },
2323     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2324     & ifmt_ldbf, { 0x80e00 }
2325   },
2326 /* nldhfu$pack @($GRi,$GRj),$FRintk */
2327   {
2328     { 0, 0, 0, 0 },
2329     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2330     & ifmt_ldbf, { 0x80e40 }
2331   },
2332 /* nldfu$pack @($GRi,$GRj),$FRintk */
2333   {
2334     { 0, 0, 0, 0 },
2335     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2336     & ifmt_ldbf, { 0x80e80 }
2337   },
2338 /* lddu$pack @($GRi,$GRj),$GRdoublek */
2339   {
2340     { 0, 0, 0, 0 },
2341     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2342     & ifmt_ldd, { 0x80540 }
2343   },
2344 /* nlddu$pack @($GRi,$GRj),$GRdoublek */
2345   {
2346     { 0, 0, 0, 0 },
2347     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2348     & ifmt_ldd, { 0x80d40 }
2349   },
2350 /* lddfu$pack @($GRi,$GRj),$FRdoublek */
2351   {
2352     { 0, 0, 0, 0 },
2353     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2354     & ifmt_lddf, { 0x806c0 }
2355   },
2356 /* lddcu$pack @($GRi,$GRj),$CPRdoublek */
2357   {
2358     { 0, 0, 0, 0 },
2359     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRDOUBLEK), 0 } },
2360     & ifmt_lddc, { 0x80780 }
2361   },
2362 /* nlddfu$pack @($GRi,$GRj),$FRdoublek */
2363   {
2364     { 0, 0, 0, 0 },
2365     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2366     & ifmt_lddf, { 0x80ec0 }
2367   },
2368 /* ldqu$pack @($GRi,$GRj),$GRk */
2369   {
2370     { 0, 0, 0, 0 },
2371     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2372     & ifmt_slass, { 0x80580 }
2373   },
2374 /* nldqu$pack @($GRi,$GRj),$GRk */
2375   {
2376     { 0, 0, 0, 0 },
2377     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2378     & ifmt_slass, { 0x80d80 }
2379   },
2380 /* ldqfu$pack @($GRi,$GRj),$FRintk */
2381   {
2382     { 0, 0, 0, 0 },
2383     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2384     & ifmt_ldbf, { 0x80700 }
2385   },
2386 /* ldqcu$pack @($GRi,$GRj),$CPRk */
2387   {
2388     { 0, 0, 0, 0 },
2389     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2390     & ifmt_ldc, { 0x807c0 }
2391   },
2392 /* nldqfu$pack @($GRi,$GRj),$FRintk */
2393   {
2394     { 0, 0, 0, 0 },
2395     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2396     & ifmt_ldbf, { 0x80f00 }
2397   },
2398 /* ldsbi$pack @($GRi,$d12),$GRk */
2399   {
2400     { 0, 0, 0, 0 },
2401     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2402     & ifmt_ldsbi, { 0xc00000 }
2403   },
2404 /* ldshi$pack @($GRi,$d12),$GRk */
2405   {
2406     { 0, 0, 0, 0 },
2407     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2408     & ifmt_ldsbi, { 0xc40000 }
2409   },
2410 /* ldi$pack @($GRi,$d12),$GRk */
2411   {
2412     { 0, 0, 0, 0 },
2413     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2414     & ifmt_ldsbi, { 0xc80000 }
2415   },
2416 /* ldubi$pack @($GRi,$d12),$GRk */
2417   {
2418     { 0, 0, 0, 0 },
2419     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2420     & ifmt_ldsbi, { 0xd40000 }
2421   },
2422 /* lduhi$pack @($GRi,$d12),$GRk */
2423   {
2424     { 0, 0, 0, 0 },
2425     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2426     & ifmt_ldsbi, { 0xd80000 }
2427   },
2428 /* ldbfi$pack @($GRi,$d12),$FRintk */
2429   {
2430     { 0, 0, 0, 0 },
2431     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2432     & ifmt_ldbfi, { 0xe00000 }
2433   },
2434 /* ldhfi$pack @($GRi,$d12),$FRintk */
2435   {
2436     { 0, 0, 0, 0 },
2437     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2438     & ifmt_ldbfi, { 0xe40000 }
2439   },
2440 /* ldfi$pack @($GRi,$d12),$FRintk */
2441   {
2442     { 0, 0, 0, 0 },
2443     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2444     & ifmt_ldbfi, { 0xe80000 }
2445   },
2446 /* nldsbi$pack @($GRi,$d12),$GRk */
2447   {
2448     { 0, 0, 0, 0 },
2449     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2450     & ifmt_ldsbi, { 0x1000000 }
2451   },
2452 /* nldubi$pack @($GRi,$d12),$GRk */
2453   {
2454     { 0, 0, 0, 0 },
2455     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2456     & ifmt_ldsbi, { 0x1040000 }
2457   },
2458 /* nldshi$pack @($GRi,$d12),$GRk */
2459   {
2460     { 0, 0, 0, 0 },
2461     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2462     & ifmt_ldsbi, { 0x1080000 }
2463   },
2464 /* nlduhi$pack @($GRi,$d12),$GRk */
2465   {
2466     { 0, 0, 0, 0 },
2467     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2468     & ifmt_ldsbi, { 0x10c0000 }
2469   },
2470 /* nldi$pack @($GRi,$d12),$GRk */
2471   {
2472     { 0, 0, 0, 0 },
2473     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2474     & ifmt_ldsbi, { 0x1100000 }
2475   },
2476 /* nldbfi$pack @($GRi,$d12),$FRintk */
2477   {
2478     { 0, 0, 0, 0 },
2479     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2480     & ifmt_ldbfi, { 0x1200000 }
2481   },
2482 /* nldhfi$pack @($GRi,$d12),$FRintk */
2483   {
2484     { 0, 0, 0, 0 },
2485     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2486     & ifmt_ldbfi, { 0x1240000 }
2487   },
2488 /* nldfi$pack @($GRi,$d12),$FRintk */
2489   {
2490     { 0, 0, 0, 0 },
2491     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2492     & ifmt_ldbfi, { 0x1280000 }
2493   },
2494 /* lddi$pack @($GRi,$d12),$GRdoublek */
2495   {
2496     { 0, 0, 0, 0 },
2497     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRDOUBLEK), 0 } },
2498     & ifmt_lddi, { 0xcc0000 }
2499   },
2500 /* lddfi$pack @($GRi,$d12),$FRdoublek */
2501   {
2502     { 0, 0, 0, 0 },
2503     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRDOUBLEK), 0 } },
2504     & ifmt_lddfi, { 0xec0000 }
2505   },
2506 /* nlddi$pack @($GRi,$d12),$GRdoublek */
2507   {
2508     { 0, 0, 0, 0 },
2509     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRDOUBLEK), 0 } },
2510     & ifmt_lddi, { 0x1140000 }
2511   },
2512 /* nlddfi$pack @($GRi,$d12),$FRdoublek */
2513   {
2514     { 0, 0, 0, 0 },
2515     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRDOUBLEK), 0 } },
2516     & ifmt_lddfi, { 0x12c0000 }
2517   },
2518 /* ldqi$pack @($GRi,$d12),$GRk */
2519   {
2520     { 0, 0, 0, 0 },
2521     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2522     & ifmt_ldsbi, { 0xd00000 }
2523   },
2524 /* ldqfi$pack @($GRi,$d12),$FRintk */
2525   {
2526     { 0, 0, 0, 0 },
2527     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2528     & ifmt_ldbfi, { 0xf00000 }
2529   },
2530 /* nldqfi$pack @($GRi,$d12),$FRintk */
2531   {
2532     { 0, 0, 0, 0 },
2533     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2534     & ifmt_ldbfi, { 0x1300000 }
2535   },
2536 /* stb$pack $GRk,@($GRi,$GRj) */
2537   {
2538     { 0, 0, 0, 0 },
2539     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2540     & ifmt_slass, { 0xc0000 }
2541   },
2542 /* sth$pack $GRk,@($GRi,$GRj) */
2543   {
2544     { 0, 0, 0, 0 },
2545     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2546     & ifmt_slass, { 0xc0040 }
2547   },
2548 /* st$pack $GRk,@($GRi,$GRj) */
2549   {
2550     { 0, 0, 0, 0 },
2551     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2552     & ifmt_slass, { 0xc0080 }
2553   },
2554 /* stbf$pack $FRintk,@($GRi,$GRj) */
2555   {
2556     { 0, 0, 0, 0 },
2557     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2558     & ifmt_ldbf, { 0xc0200 }
2559   },
2560 /* sthf$pack $FRintk,@($GRi,$GRj) */
2561   {
2562     { 0, 0, 0, 0 },
2563     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2564     & ifmt_ldbf, { 0xc0240 }
2565   },
2566 /* stf$pack $FRintk,@($GRi,$GRj) */
2567   {
2568     { 0, 0, 0, 0 },
2569     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2570     & ifmt_ldbf, { 0xc0280 }
2571   },
2572 /* stc$pack $CPRk,@($GRi,$GRj) */
2573   {
2574     { 0, 0, 0, 0 },
2575     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2576     & ifmt_ldc, { 0xc0940 }
2577   },
2578 /* std$pack $GRdoublek,@($GRi,$GRj) */
2579   {
2580     { 0, 0, 0, 0 },
2581     { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2582     & ifmt_ldd, { 0xc00c0 }
2583   },
2584 /* stdf$pack $FRdoublek,@($GRi,$GRj) */
2585   {
2586     { 0, 0, 0, 0 },
2587     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2588     & ifmt_lddf, { 0xc02c0 }
2589   },
2590 /* stdc$pack $CPRdoublek,@($GRi,$GRj) */
2591   {
2592     { 0, 0, 0, 0 },
2593     { { MNEM, OP (PACK), ' ', OP (CPRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2594     & ifmt_lddc, { 0xc0980 }
2595   },
2596 /* stq$pack $GRk,@($GRi,$GRj) */
2597   {
2598     { 0, 0, 0, 0 },
2599     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2600     & ifmt_slass, { 0xc0100 }
2601   },
2602 /* stqf$pack $FRintk,@($GRi,$GRj) */
2603   {
2604     { 0, 0, 0, 0 },
2605     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2606     & ifmt_ldbf, { 0xc0300 }
2607   },
2608 /* stqc$pack $CPRk,@($GRi,$GRj) */
2609   {
2610     { 0, 0, 0, 0 },
2611     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2612     & ifmt_ldc, { 0xc09c0 }
2613   },
2614 /* stbu$pack $GRk,@($GRi,$GRj) */
2615   {
2616     { 0, 0, 0, 0 },
2617     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2618     & ifmt_slass, { 0xc0400 }
2619   },
2620 /* sthu$pack $GRk,@($GRi,$GRj) */
2621   {
2622     { 0, 0, 0, 0 },
2623     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2624     & ifmt_slass, { 0xc0440 }
2625   },
2626 /* stu$pack $GRk,@($GRi,$GRj) */
2627   {
2628     { 0, 0, 0, 0 },
2629     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2630     & ifmt_slass, { 0xc0480 }
2631   },
2632 /* stbfu$pack $FRintk,@($GRi,$GRj) */
2633   {
2634     { 0, 0, 0, 0 },
2635     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2636     & ifmt_ldbf, { 0xc0600 }
2637   },
2638 /* sthfu$pack $FRintk,@($GRi,$GRj) */
2639   {
2640     { 0, 0, 0, 0 },
2641     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2642     & ifmt_ldbf, { 0xc0640 }
2643   },
2644 /* stfu$pack $FRintk,@($GRi,$GRj) */
2645   {
2646     { 0, 0, 0, 0 },
2647     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2648     & ifmt_ldbf, { 0xc0680 }
2649   },
2650 /* stcu$pack $CPRk,@($GRi,$GRj) */
2651   {
2652     { 0, 0, 0, 0 },
2653     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2654     & ifmt_ldc, { 0xc0b40 }
2655   },
2656 /* stdu$pack $GRdoublek,@($GRi,$GRj) */
2657   {
2658     { 0, 0, 0, 0 },
2659     { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2660     & ifmt_ldd, { 0xc04c0 }
2661   },
2662 /* stdfu$pack $FRdoublek,@($GRi,$GRj) */
2663   {
2664     { 0, 0, 0, 0 },
2665     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2666     & ifmt_lddf, { 0xc06c0 }
2667   },
2668 /* stdcu$pack $CPRdoublek,@($GRi,$GRj) */
2669   {
2670     { 0, 0, 0, 0 },
2671     { { MNEM, OP (PACK), ' ', OP (CPRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2672     & ifmt_lddc, { 0xc0b80 }
2673   },
2674 /* stqu$pack $GRk,@($GRi,$GRj) */
2675   {
2676     { 0, 0, 0, 0 },
2677     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2678     & ifmt_slass, { 0xc0500 }
2679   },
2680 /* stqfu$pack $FRintk,@($GRi,$GRj) */
2681   {
2682     { 0, 0, 0, 0 },
2683     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2684     & ifmt_ldbf, { 0xc0700 }
2685   },
2686 /* stqcu$pack $CPRk,@($GRi,$GRj) */
2687   {
2688     { 0, 0, 0, 0 },
2689     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2690     & ifmt_ldc, { 0xc0bc0 }
2691   },
2692 /* cldsb$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2693   {
2694     { 0, 0, 0, 0 },
2695     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2696     & ifmt_cadd, { 0x1780000 }
2697   },
2698 /* cldub$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2699   {
2700     { 0, 0, 0, 0 },
2701     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2702     & ifmt_cadd, { 0x1780040 }
2703   },
2704 /* cldsh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2705   {
2706     { 0, 0, 0, 0 },
2707     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2708     & ifmt_cadd, { 0x1780080 }
2709   },
2710 /* clduh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2711   {
2712     { 0, 0, 0, 0 },
2713     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2714     & ifmt_cadd, { 0x17800c0 }
2715   },
2716 /* cld$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2717   {
2718     { 0, 0, 0, 0 },
2719     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2720     & ifmt_cadd, { 0x17c0000 }
2721   },
2722 /* cldbf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2723   {
2724     { 0, 0, 0, 0 },
2725     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2726     & ifmt_cldbf, { 0x1800000 }
2727   },
2728 /* cldhf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2729   {
2730     { 0, 0, 0, 0 },
2731     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2732     & ifmt_cldbf, { 0x1800040 }
2733   },
2734 /* cldf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2735   {
2736     { 0, 0, 0, 0 },
2737     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2738     & ifmt_cldbf, { 0x1800080 }
2739   },
2740 /* cldd$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
2741   {
2742     { 0, 0, 0, 0 },
2743     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2744     & ifmt_csmul, { 0x17c0040 }
2745   },
2746 /* clddf$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
2747   {
2748     { 0, 0, 0, 0 },
2749     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2750     & ifmt_clddf, { 0x18000c0 }
2751   },
2752 /* cldq$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2753   {
2754     { 0, 0, 0, 0 },
2755     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2756     & ifmt_cadd, { 0x17c0080 }
2757   },
2758 /* cldsbu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2759   {
2760     { 0, 0, 0, 0 },
2761     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2762     & ifmt_cadd, { 0x1840000 }
2763   },
2764 /* cldubu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2765   {
2766     { 0, 0, 0, 0 },
2767     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2768     & ifmt_cadd, { 0x1840040 }
2769   },
2770 /* cldshu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2771   {
2772     { 0, 0, 0, 0 },
2773     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2774     & ifmt_cadd, { 0x1840080 }
2775   },
2776 /* clduhu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2777   {
2778     { 0, 0, 0, 0 },
2779     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2780     & ifmt_cadd, { 0x18400c0 }
2781   },
2782 /* cldu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2783   {
2784     { 0, 0, 0, 0 },
2785     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2786     & ifmt_cadd, { 0x1880000 }
2787   },
2788 /* cldbfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2789   {
2790     { 0, 0, 0, 0 },
2791     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2792     & ifmt_cldbf, { 0x18c0000 }
2793   },
2794 /* cldhfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2795   {
2796     { 0, 0, 0, 0 },
2797     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2798     & ifmt_cldbf, { 0x18c0040 }
2799   },
2800 /* cldfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2801   {
2802     { 0, 0, 0, 0 },
2803     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2804     & ifmt_cldbf, { 0x18c0080 }
2805   },
2806 /* clddu$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
2807   {
2808     { 0, 0, 0, 0 },
2809     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2810     & ifmt_csmul, { 0x1880040 }
2811   },
2812 /* clddfu$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
2813   {
2814     { 0, 0, 0, 0 },
2815     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2816     & ifmt_clddf, { 0x18c00c0 }
2817   },
2818 /* cldqu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2819   {
2820     { 0, 0, 0, 0 },
2821     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2822     & ifmt_cadd, { 0x1880080 }
2823   },
2824 /* cstb$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2825   {
2826     { 0, 0, 0, 0 },
2827     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2828     & ifmt_cadd, { 0x1900000 }
2829   },
2830 /* csth$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2831   {
2832     { 0, 0, 0, 0 },
2833     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2834     & ifmt_cadd, { 0x1900040 }
2835   },
2836 /* cst$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2837   {
2838     { 0, 0, 0, 0 },
2839     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2840     & ifmt_cadd, { 0x1900080 }
2841   },
2842 /* cstbf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2843   {
2844     { 0, 0, 0, 0 },
2845     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2846     & ifmt_cldbf, { 0x1980000 }
2847   },
2848 /* csthf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2849   {
2850     { 0, 0, 0, 0 },
2851     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2852     & ifmt_cldbf, { 0x1980040 }
2853   },
2854 /* cstf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2855   {
2856     { 0, 0, 0, 0 },
2857     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2858     & ifmt_cldbf, { 0x1980080 }
2859   },
2860 /* cstd$pack $GRdoublek,@($GRi,$GRj),$CCi,$cond */
2861   {
2862     { 0, 0, 0, 0 },
2863     { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2864     & ifmt_csmul, { 0x19000c0 }
2865   },
2866 /* cstdf$pack $FRdoublek,@($GRi,$GRj),$CCi,$cond */
2867   {
2868     { 0, 0, 0, 0 },
2869     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2870     & ifmt_clddf, { 0x19800c0 }
2871   },
2872 /* cstq$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2873   {
2874     { 0, 0, 0, 0 },
2875     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2876     & ifmt_cadd, { 0x1940000 }
2877   },
2878 /* cstbu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2879   {
2880     { 0, 0, 0, 0 },
2881     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2882     & ifmt_cadd, { 0x19c0000 }
2883   },
2884 /* csthu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2885   {
2886     { 0, 0, 0, 0 },
2887     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2888     & ifmt_cadd, { 0x19c0040 }
2889   },
2890 /* cstu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2891   {
2892     { 0, 0, 0, 0 },
2893     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2894     & ifmt_cadd, { 0x19c0080 }
2895   },
2896 /* cstbfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2897   {
2898     { 0, 0, 0, 0 },
2899     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2900     & ifmt_cldbf, { 0x1a00000 }
2901   },
2902 /* csthfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2903   {
2904     { 0, 0, 0, 0 },
2905     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2906     & ifmt_cldbf, { 0x1a00040 }
2907   },
2908 /* cstfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2909   {
2910     { 0, 0, 0, 0 },
2911     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2912     & ifmt_cldbf, { 0x1a00080 }
2913   },
2914 /* cstdu$pack $GRdoublek,@($GRi,$GRj),$CCi,$cond */
2915   {
2916     { 0, 0, 0, 0 },
2917     { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2918     & ifmt_csmul, { 0x19c00c0 }
2919   },
2920 /* cstdfu$pack $FRdoublek,@($GRi,$GRj),$CCi,$cond */
2921   {
2922     { 0, 0, 0, 0 },
2923     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2924     & ifmt_clddf, { 0x1a000c0 }
2925   },
2926 /* stbi$pack $GRk,@($GRi,$d12) */
2927   {
2928     { 0, 0, 0, 0 },
2929     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2930     & ifmt_ldsbi, { 0x1400000 }
2931   },
2932 /* sthi$pack $GRk,@($GRi,$d12) */
2933   {
2934     { 0, 0, 0, 0 },
2935     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2936     & ifmt_ldsbi, { 0x1440000 }
2937   },
2938 /* sti$pack $GRk,@($GRi,$d12) */
2939   {
2940     { 0, 0, 0, 0 },
2941     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2942     & ifmt_ldsbi, { 0x1480000 }
2943   },
2944 /* stbfi$pack $FRintk,@($GRi,$d12) */
2945   {
2946     { 0, 0, 0, 0 },
2947     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2948     & ifmt_ldbfi, { 0x1380000 }
2949   },
2950 /* sthfi$pack $FRintk,@($GRi,$d12) */
2951   {
2952     { 0, 0, 0, 0 },
2953     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2954     & ifmt_ldbfi, { 0x13c0000 }
2955   },
2956 /* stfi$pack $FRintk,@($GRi,$d12) */
2957   {
2958     { 0, 0, 0, 0 },
2959     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2960     & ifmt_ldbfi, { 0x1540000 }
2961   },
2962 /* stdi$pack $GRdoublek,@($GRi,$d12) */
2963   {
2964     { 0, 0, 0, 0 },
2965     { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2966     & ifmt_lddi, { 0x14c0000 }
2967   },
2968 /* stdfi$pack $FRdoublek,@($GRi,$d12) */
2969   {
2970     { 0, 0, 0, 0 },
2971     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2972     & ifmt_lddfi, { 0x1580000 }
2973   },
2974 /* stqi$pack $GRk,@($GRi,$d12) */
2975   {
2976     { 0, 0, 0, 0 },
2977     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2978     & ifmt_ldsbi, { 0x1500000 }
2979   },
2980 /* stqfi$pack $FRintk,@($GRi,$d12) */
2981   {
2982     { 0, 0, 0, 0 },
2983     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2984     & ifmt_ldbfi, { 0x15c0000 }
2985   },
2986 /* swap$pack @($GRi,$GRj),$GRk */
2987   {
2988     { 0, 0, 0, 0 },
2989     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2990     & ifmt_slass, { 0xc0140 }
2991   },
2992 /* swapi$pack @($GRi,$d12),$GRk */
2993   {
2994     { 0, 0, 0, 0 },
2995     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2996     & ifmt_ldsbi, { 0x1340000 }
2997   },
2998 /* cswap$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2999   {
3000     { 0, 0, 0, 0 },
3001     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
3002     & ifmt_cadd, { 0x1940080 }
3003   },
3004 /* movgf$pack $GRj,$FRintk */
3005   {
3006     { 0, 0, 0, 0 },
3007     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
3008     & ifmt_movgf, { 0xc0540 }
3009   },
3010 /* movfg$pack $FRintk,$GRj */
3011   {
3012     { 0, 0, 0, 0 },
3013     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
3014     & ifmt_movgf, { 0xc0340 }
3015   },
3016 /* movgfd$pack $GRj,$FRintk */
3017   {
3018     { 0, 0, 0, 0 },
3019     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
3020     & ifmt_movgf, { 0xc0580 }
3021   },
3022 /* movfgd$pack $FRintk,$GRj */
3023   {
3024     { 0, 0, 0, 0 },
3025     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
3026     & ifmt_movgf, { 0xc0380 }
3027   },
3028 /* movgfq$pack $GRj,$FRintk */
3029   {
3030     { 0, 0, 0, 0 },
3031     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
3032     & ifmt_movgf, { 0xc05c0 }
3033   },
3034 /* movfgq$pack $FRintk,$GRj */
3035   {
3036     { 0, 0, 0, 0 },
3037     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
3038     & ifmt_movgf, { 0xc03c0 }
3039   },
3040 /* cmovgf$pack $GRj,$FRintk,$CCi,$cond */
3041   {
3042     { 0, 0, 0, 0 },
3043     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
3044     & ifmt_cmovgf, { 0x1a40000 }
3045   },
3046 /* cmovfg$pack $FRintk,$GRj,$CCi,$cond */
3047   {
3048     { 0, 0, 0, 0 },
3049     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
3050     & ifmt_cmovgf, { 0x1a40080 }
3051   },
3052 /* cmovgfd$pack $GRj,$FRintk,$CCi,$cond */
3053   {
3054     { 0, 0, 0, 0 },
3055     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
3056     & ifmt_cmovgf, { 0x1a40040 }
3057   },
3058 /* cmovfgd$pack $FRintk,$GRj,$CCi,$cond */
3059   {
3060     { 0, 0, 0, 0 },
3061     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
3062     & ifmt_cmovgf, { 0x1a400c0 }
3063   },
3064 /* movgs$pack $GRj,$spr */
3065   {
3066     { 0, 0, 0, 0 },
3067     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (SPR), 0 } },
3068     & ifmt_movgs, { 0xc0180 }
3069   },
3070 /* movsg$pack $spr,$GRj */
3071   {
3072     { 0, 0, 0, 0 },
3073     { { MNEM, OP (PACK), ' ', OP (SPR), ',', OP (GRJ), 0 } },
3074     & ifmt_movgs, { 0xc01c0 }
3075   },
3076 /* bra$pack $hint_taken$label16 */
3077   {
3078     { 0, 0, 0, 0 },
3079     { { MNEM, OP (PACK), ' ', OP (HINT_TAKEN), OP (LABEL16), 0 } },
3080     & ifmt_bra, { 0x40180000 }
3081   },
3082 /* bno$pack$hint_not_taken */
3083   {
3084     { 0, 0, 0, 0 },
3085     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3086     & ifmt_bno, { 0x180000 }
3087   },
3088 /* beq$pack $ICCi_2,$hint,$label16 */
3089   {
3090     { 0, 0, 0, 0 },
3091     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3092     & ifmt_beq, { 0x20180000 }
3093   },
3094 /* bne$pack $ICCi_2,$hint,$label16 */
3095   {
3096     { 0, 0, 0, 0 },
3097     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3098     & ifmt_beq, { 0x60180000 }
3099   },
3100 /* ble$pack $ICCi_2,$hint,$label16 */
3101   {
3102     { 0, 0, 0, 0 },
3103     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3104     & ifmt_beq, { 0x38180000 }
3105   },
3106 /* bgt$pack $ICCi_2,$hint,$label16 */
3107   {
3108     { 0, 0, 0, 0 },
3109     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3110     & ifmt_beq, { 0x78180000 }
3111   },
3112 /* blt$pack $ICCi_2,$hint,$label16 */
3113   {
3114     { 0, 0, 0, 0 },
3115     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3116     & ifmt_beq, { 0x18180000 }
3117   },
3118 /* bge$pack $ICCi_2,$hint,$label16 */
3119   {
3120     { 0, 0, 0, 0 },
3121     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3122     & ifmt_beq, { 0x58180000 }
3123   },
3124 /* bls$pack $ICCi_2,$hint,$label16 */
3125   {
3126     { 0, 0, 0, 0 },
3127     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3128     & ifmt_beq, { 0x28180000 }
3129   },
3130 /* bhi$pack $ICCi_2,$hint,$label16 */
3131   {
3132     { 0, 0, 0, 0 },
3133     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3134     & ifmt_beq, { 0x68180000 }
3135   },
3136 /* bc$pack $ICCi_2,$hint,$label16 */
3137   {
3138     { 0, 0, 0, 0 },
3139     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3140     & ifmt_beq, { 0x8180000 }
3141   },
3142 /* bnc$pack $ICCi_2,$hint,$label16 */
3143   {
3144     { 0, 0, 0, 0 },
3145     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3146     & ifmt_beq, { 0x48180000 }
3147   },
3148 /* bn$pack $ICCi_2,$hint,$label16 */
3149   {
3150     { 0, 0, 0, 0 },
3151     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3152     & ifmt_beq, { 0x30180000 }
3153   },
3154 /* bp$pack $ICCi_2,$hint,$label16 */
3155   {
3156     { 0, 0, 0, 0 },
3157     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3158     & ifmt_beq, { 0x70180000 }
3159   },
3160 /* bv$pack $ICCi_2,$hint,$label16 */
3161   {
3162     { 0, 0, 0, 0 },
3163     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3164     & ifmt_beq, { 0x10180000 }
3165   },
3166 /* bnv$pack $ICCi_2,$hint,$label16 */
3167   {
3168     { 0, 0, 0, 0 },
3169     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3170     & ifmt_beq, { 0x50180000 }
3171   },
3172 /* fbra$pack $hint_taken$label16 */
3173   {
3174     { 0, 0, 0, 0 },
3175     { { MNEM, OP (PACK), ' ', OP (HINT_TAKEN), OP (LABEL16), 0 } },
3176     & ifmt_fbra, { 0x781c0000 }
3177   },
3178 /* fbno$pack$hint_not_taken */
3179   {
3180     { 0, 0, 0, 0 },
3181     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3182     & ifmt_fbno, { 0x1c0000 }
3183   },
3184 /* fbne$pack $FCCi_2,$hint,$label16 */
3185   {
3186     { 0, 0, 0, 0 },
3187     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3188     & ifmt_fbne, { 0x381c0000 }
3189   },
3190 /* fbeq$pack $FCCi_2,$hint,$label16 */
3191   {
3192     { 0, 0, 0, 0 },
3193     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3194     & ifmt_fbne, { 0x401c0000 }
3195   },
3196 /* fblg$pack $FCCi_2,$hint,$label16 */
3197   {
3198     { 0, 0, 0, 0 },
3199     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3200     & ifmt_fbne, { 0x301c0000 }
3201   },
3202 /* fbue$pack $FCCi_2,$hint,$label16 */
3203   {
3204     { 0, 0, 0, 0 },
3205     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3206     & ifmt_fbne, { 0x481c0000 }
3207   },
3208 /* fbul$pack $FCCi_2,$hint,$label16 */
3209   {
3210     { 0, 0, 0, 0 },
3211     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3212     & ifmt_fbne, { 0x281c0000 }
3213   },
3214 /* fbge$pack $FCCi_2,$hint,$label16 */
3215   {
3216     { 0, 0, 0, 0 },
3217     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3218     & ifmt_fbne, { 0x501c0000 }
3219   },
3220 /* fblt$pack $FCCi_2,$hint,$label16 */
3221   {
3222     { 0, 0, 0, 0 },
3223     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3224     & ifmt_fbne, { 0x201c0000 }
3225   },
3226 /* fbuge$pack $FCCi_2,$hint,$label16 */
3227   {
3228     { 0, 0, 0, 0 },
3229     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3230     & ifmt_fbne, { 0x581c0000 }
3231   },
3232 /* fbug$pack $FCCi_2,$hint,$label16 */
3233   {
3234     { 0, 0, 0, 0 },
3235     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3236     & ifmt_fbne, { 0x181c0000 }
3237   },
3238 /* fble$pack $FCCi_2,$hint,$label16 */
3239   {
3240     { 0, 0, 0, 0 },
3241     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3242     & ifmt_fbne, { 0x601c0000 }
3243   },
3244 /* fbgt$pack $FCCi_2,$hint,$label16 */
3245   {
3246     { 0, 0, 0, 0 },
3247     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3248     & ifmt_fbne, { 0x101c0000 }
3249   },
3250 /* fbule$pack $FCCi_2,$hint,$label16 */
3251   {
3252     { 0, 0, 0, 0 },
3253     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3254     & ifmt_fbne, { 0x681c0000 }
3255   },
3256 /* fbu$pack $FCCi_2,$hint,$label16 */
3257   {
3258     { 0, 0, 0, 0 },
3259     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3260     & ifmt_fbne, { 0x81c0000 }
3261   },
3262 /* fbo$pack $FCCi_2,$hint,$label16 */
3263   {
3264     { 0, 0, 0, 0 },
3265     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3266     & ifmt_fbne, { 0x701c0000 }
3267   },
3268 /* bctrlr$pack $ccond,$hint */
3269   {
3270     { 0, 0, 0, 0 },
3271     { { MNEM, OP (PACK), ' ', OP (CCOND), ',', OP (HINT), 0 } },
3272     & ifmt_bctrlr, { 0x382000 }
3273   },
3274 /* bralr$pack$hint_taken */
3275   {
3276     { 0, 0, 0, 0 },
3277     { { MNEM, OP (PACK), OP (HINT_TAKEN), 0 } },
3278     & ifmt_bralr, { 0x40384000 }
3279   },
3280 /* bnolr$pack$hint_not_taken */
3281   {
3282     { 0, 0, 0, 0 },
3283     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3284     & ifmt_bnolr, { 0x384000 }
3285   },
3286 /* beqlr$pack $ICCi_2,$hint */
3287   {
3288     { 0, 0, 0, 0 },
3289     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3290     & ifmt_beqlr, { 0x20384000 }
3291   },
3292 /* bnelr$pack $ICCi_2,$hint */
3293   {
3294     { 0, 0, 0, 0 },
3295     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3296     & ifmt_beqlr, { 0x60384000 }
3297   },
3298 /* blelr$pack $ICCi_2,$hint */
3299   {
3300     { 0, 0, 0, 0 },
3301     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3302     & ifmt_beqlr, { 0x38384000 }
3303   },
3304 /* bgtlr$pack $ICCi_2,$hint */
3305   {
3306     { 0, 0, 0, 0 },
3307     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3308     & ifmt_beqlr, { 0x78384000 }
3309   },
3310 /* bltlr$pack $ICCi_2,$hint */
3311   {
3312     { 0, 0, 0, 0 },
3313     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3314     & ifmt_beqlr, { 0x18384000 }
3315   },
3316 /* bgelr$pack $ICCi_2,$hint */
3317   {
3318     { 0, 0, 0, 0 },
3319     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3320     & ifmt_beqlr, { 0x58384000 }
3321   },
3322 /* blslr$pack $ICCi_2,$hint */
3323   {
3324     { 0, 0, 0, 0 },
3325     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3326     & ifmt_beqlr, { 0x28384000 }
3327   },
3328 /* bhilr$pack $ICCi_2,$hint */
3329   {
3330     { 0, 0, 0, 0 },
3331     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3332     & ifmt_beqlr, { 0x68384000 }
3333   },
3334 /* bclr$pack $ICCi_2,$hint */
3335   {
3336     { 0, 0, 0, 0 },
3337     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3338     & ifmt_beqlr, { 0x8384000 }
3339   },
3340 /* bnclr$pack $ICCi_2,$hint */
3341   {
3342     { 0, 0, 0, 0 },
3343     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3344     & ifmt_beqlr, { 0x48384000 }
3345   },
3346 /* bnlr$pack $ICCi_2,$hint */
3347   {
3348     { 0, 0, 0, 0 },
3349     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3350     & ifmt_beqlr, { 0x30384000 }
3351   },
3352 /* bplr$pack $ICCi_2,$hint */
3353   {
3354     { 0, 0, 0, 0 },
3355     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3356     & ifmt_beqlr, { 0x70384000 }
3357   },
3358 /* bvlr$pack $ICCi_2,$hint */
3359   {
3360     { 0, 0, 0, 0 },
3361     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3362     & ifmt_beqlr, { 0x10384000 }
3363   },
3364 /* bnvlr$pack $ICCi_2,$hint */
3365   {
3366     { 0, 0, 0, 0 },
3367     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3368     & ifmt_beqlr, { 0x50384000 }
3369   },
3370 /* fbralr$pack$hint_taken */
3371   {
3372     { 0, 0, 0, 0 },
3373     { { MNEM, OP (PACK), OP (HINT_TAKEN), 0 } },
3374     & ifmt_fbralr, { 0x7838c000 }
3375   },
3376 /* fbnolr$pack$hint_not_taken */
3377   {
3378     { 0, 0, 0, 0 },
3379     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3380     & ifmt_fbnolr, { 0x38c000 }
3381   },
3382 /* fbeqlr$pack $FCCi_2,$hint */
3383   {
3384     { 0, 0, 0, 0 },
3385     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3386     & ifmt_fbeqlr, { 0x4038c000 }
3387   },
3388 /* fbnelr$pack $FCCi_2,$hint */
3389   {
3390     { 0, 0, 0, 0 },
3391     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3392     & ifmt_fbeqlr, { 0x3838c000 }
3393   },
3394 /* fblglr$pack $FCCi_2,$hint */
3395   {
3396     { 0, 0, 0, 0 },
3397     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3398     & ifmt_fbeqlr, { 0x3038c000 }
3399   },
3400 /* fbuelr$pack $FCCi_2,$hint */
3401   {
3402     { 0, 0, 0, 0 },
3403     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3404     & ifmt_fbeqlr, { 0x4838c000 }
3405   },
3406 /* fbullr$pack $FCCi_2,$hint */
3407   {
3408     { 0, 0, 0, 0 },
3409     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3410     & ifmt_fbeqlr, { 0x2838c000 }
3411   },
3412 /* fbgelr$pack $FCCi_2,$hint */
3413   {
3414     { 0, 0, 0, 0 },
3415     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3416     & ifmt_fbeqlr, { 0x5038c000 }
3417   },
3418 /* fbltlr$pack $FCCi_2,$hint */
3419   {
3420     { 0, 0, 0, 0 },
3421     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3422     & ifmt_fbeqlr, { 0x2038c000 }
3423   },
3424 /* fbugelr$pack $FCCi_2,$hint */
3425   {
3426     { 0, 0, 0, 0 },
3427     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3428     & ifmt_fbeqlr, { 0x5838c000 }
3429   },
3430 /* fbuglr$pack $FCCi_2,$hint */
3431   {
3432     { 0, 0, 0, 0 },
3433     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3434     & ifmt_fbeqlr, { 0x1838c000 }
3435   },
3436 /* fblelr$pack $FCCi_2,$hint */
3437   {
3438     { 0, 0, 0, 0 },
3439     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3440     & ifmt_fbeqlr, { 0x6038c000 }
3441   },
3442 /* fbgtlr$pack $FCCi_2,$hint */
3443   {
3444     { 0, 0, 0, 0 },
3445     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3446     & ifmt_fbeqlr, { 0x1038c000 }
3447   },
3448 /* fbulelr$pack $FCCi_2,$hint */
3449   {
3450     { 0, 0, 0, 0 },
3451     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3452     & ifmt_fbeqlr, { 0x6838c000 }
3453   },
3454 /* fbulr$pack $FCCi_2,$hint */
3455   {
3456     { 0, 0, 0, 0 },
3457     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3458     & ifmt_fbeqlr, { 0x838c000 }
3459   },
3460 /* fbolr$pack $FCCi_2,$hint */
3461   {
3462     { 0, 0, 0, 0 },
3463     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3464     & ifmt_fbeqlr, { 0x7038c000 }
3465   },
3466 /* bcralr$pack $ccond$hint_taken */
3467   {
3468     { 0, 0, 0, 0 },
3469     { { MNEM, OP (PACK), ' ', OP (CCOND), OP (HINT_TAKEN), 0 } },
3470     & ifmt_bcralr, { 0x40386000 }
3471   },
3472 /* bcnolr$pack$hint_not_taken */
3473   {
3474     { 0, 0, 0, 0 },
3475     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3476     & ifmt_bnolr, { 0x386000 }
3477   },
3478 /* bceqlr$pack $ICCi_2,$ccond,$hint */
3479   {
3480     { 0, 0, 0, 0 },
3481     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3482     & ifmt_bceqlr, { 0x20386000 }
3483   },
3484 /* bcnelr$pack $ICCi_2,$ccond,$hint */
3485   {
3486     { 0, 0, 0, 0 },
3487     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3488     & ifmt_bceqlr, { 0x60386000 }
3489   },
3490 /* bclelr$pack $ICCi_2,$ccond,$hint */
3491   {
3492     { 0, 0, 0, 0 },
3493     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3494     & ifmt_bceqlr, { 0x38386000 }
3495   },
3496 /* bcgtlr$pack $ICCi_2,$ccond,$hint */
3497   {
3498     { 0, 0, 0, 0 },
3499     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3500     & ifmt_bceqlr, { 0x78386000 }
3501   },
3502 /* bcltlr$pack $ICCi_2,$ccond,$hint */
3503   {
3504     { 0, 0, 0, 0 },
3505     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3506     & ifmt_bceqlr, { 0x18386000 }
3507   },
3508 /* bcgelr$pack $ICCi_2,$ccond,$hint */
3509   {
3510     { 0, 0, 0, 0 },
3511     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3512     & ifmt_bceqlr, { 0x58386000 }
3513   },
3514 /* bclslr$pack $ICCi_2,$ccond,$hint */
3515   {
3516     { 0, 0, 0, 0 },
3517     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3518     & ifmt_bceqlr, { 0x28386000 }
3519   },
3520 /* bchilr$pack $ICCi_2,$ccond,$hint */
3521   {
3522     { 0, 0, 0, 0 },
3523     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3524     & ifmt_bceqlr, { 0x68386000 }
3525   },
3526 /* bcclr$pack $ICCi_2,$ccond,$hint */
3527   {
3528     { 0, 0, 0, 0 },
3529     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3530     & ifmt_bceqlr, { 0x8386000 }
3531   },
3532 /* bcnclr$pack $ICCi_2,$ccond,$hint */
3533   {
3534     { 0, 0, 0, 0 },
3535     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3536     & ifmt_bceqlr, { 0x48386000 }
3537   },
3538 /* bcnlr$pack $ICCi_2,$ccond,$hint */
3539   {
3540     { 0, 0, 0, 0 },
3541     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3542     & ifmt_bceqlr, { 0x30386000 }
3543   },
3544 /* bcplr$pack $ICCi_2,$ccond,$hint */
3545   {
3546     { 0, 0, 0, 0 },
3547     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3548     & ifmt_bceqlr, { 0x70386000 }
3549   },
3550 /* bcvlr$pack $ICCi_2,$ccond,$hint */
3551   {
3552     { 0, 0, 0, 0 },
3553     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3554     & ifmt_bceqlr, { 0x10386000 }
3555   },
3556 /* bcnvlr$pack $ICCi_2,$ccond,$hint */
3557   {
3558     { 0, 0, 0, 0 },
3559     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3560     & ifmt_bceqlr, { 0x50386000 }
3561   },
3562 /* fcbralr$pack $ccond$hint_taken */
3563   {
3564     { 0, 0, 0, 0 },
3565     { { MNEM, OP (PACK), ' ', OP (CCOND), OP (HINT_TAKEN), 0 } },
3566     & ifmt_fcbralr, { 0x7838e000 }
3567   },
3568 /* fcbnolr$pack$hint_not_taken */
3569   {
3570     { 0, 0, 0, 0 },
3571     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3572     & ifmt_fbnolr, { 0x38e000 }
3573   },
3574 /* fcbeqlr$pack $FCCi_2,$ccond,$hint */
3575   {
3576     { 0, 0, 0, 0 },
3577     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3578     & ifmt_fcbeqlr, { 0x4038e000 }
3579   },
3580 /* fcbnelr$pack $FCCi_2,$ccond,$hint */
3581   {
3582     { 0, 0, 0, 0 },
3583     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3584     & ifmt_fcbeqlr, { 0x3838e000 }
3585   },
3586 /* fcblglr$pack $FCCi_2,$ccond,$hint */
3587   {
3588     { 0, 0, 0, 0 },
3589     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3590     & ifmt_fcbeqlr, { 0x3038e000 }
3591   },
3592 /* fcbuelr$pack $FCCi_2,$ccond,$hint */
3593   {
3594     { 0, 0, 0, 0 },
3595     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3596     & ifmt_fcbeqlr, { 0x4838e000 }
3597   },
3598 /* fcbullr$pack $FCCi_2,$ccond,$hint */
3599   {
3600     { 0, 0, 0, 0 },
3601     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3602     & ifmt_fcbeqlr, { 0x2838e000 }
3603   },
3604 /* fcbgelr$pack $FCCi_2,$ccond,$hint */
3605   {
3606     { 0, 0, 0, 0 },
3607     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3608     & ifmt_fcbeqlr, { 0x5038e000 }
3609   },
3610 /* fcbltlr$pack $FCCi_2,$ccond,$hint */
3611   {
3612     { 0, 0, 0, 0 },
3613     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3614     & ifmt_fcbeqlr, { 0x2038e000 }
3615   },
3616 /* fcbugelr$pack $FCCi_2,$ccond,$hint */
3617   {
3618     { 0, 0, 0, 0 },
3619     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3620     & ifmt_fcbeqlr, { 0x5838e000 }
3621   },
3622 /* fcbuglr$pack $FCCi_2,$ccond,$hint */
3623   {
3624     { 0, 0, 0, 0 },
3625     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3626     & ifmt_fcbeqlr, { 0x1838e000 }
3627   },
3628 /* fcblelr$pack $FCCi_2,$ccond,$hint */
3629   {
3630     { 0, 0, 0, 0 },
3631     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3632     & ifmt_fcbeqlr, { 0x6038e000 }
3633   },
3634 /* fcbgtlr$pack $FCCi_2,$ccond,$hint */
3635   {
3636     { 0, 0, 0, 0 },
3637     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3638     & ifmt_fcbeqlr, { 0x1038e000 }
3639   },
3640 /* fcbulelr$pack $FCCi_2,$ccond,$hint */
3641   {
3642     { 0, 0, 0, 0 },
3643     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3644     & ifmt_fcbeqlr, { 0x6838e000 }
3645   },
3646 /* fcbulr$pack $FCCi_2,$ccond,$hint */
3647   {
3648     { 0, 0, 0, 0 },
3649     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3650     & ifmt_fcbeqlr, { 0x838e000 }
3651   },
3652 /* fcbolr$pack $FCCi_2,$ccond,$hint */
3653   {
3654     { 0, 0, 0, 0 },
3655     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3656     & ifmt_fcbeqlr, { 0x7038e000 }
3657   },
3658 /* jmpl$pack @($GRi,$GRj) */
3659   {
3660     { 0, 0, 0, 0 },
3661     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
3662     & ifmt_jmpl, { 0x300000 }
3663   },
3664 /* calll$pack $callann($GRi,$GRj) */
3665   {
3666     { 0, 0, 0, 0 },
3667     { { MNEM, OP (PACK), ' ', OP (CALLANN), '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
3668     & ifmt_calll, { 0x2300000 }
3669   },
3670 /* jmpil$pack @($GRi,$s12) */
3671   {
3672     { 0, 0, 0, 0 },
3673     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (S12), ')', 0 } },
3674     & ifmt_jmpil, { 0x340000 }
3675   },
3676 /* callil$pack @($GRi,$s12) */
3677   {
3678     { 0, 0, 0, 0 },
3679     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (S12), ')', 0 } },
3680     & ifmt_callil, { 0x2340000 }
3681   },
3682 /* call$pack $label24 */
3683   {
3684     { 0, 0, 0, 0 },
3685     { { MNEM, OP (PACK), ' ', OP (LABEL24), 0 } },
3686     & ifmt_call, { 0x3c0000 }
3687   },
3688 /* rett$pack $debug */
3689   {
3690     { 0, 0, 0, 0 },
3691     { { MNEM, OP (PACK), ' ', OP (DEBUG), 0 } },
3692     & ifmt_rett, { 0x140000 }
3693   },
3694 /* rei$pack $eir */
3695   {
3696     { 0, 0, 0, 0 },
3697     { { MNEM, OP (PACK), ' ', OP (EIR), 0 } },
3698     & ifmt_rei, { 0xdc0000 }
3699   },
3700 /* tra$pack $GRi,$GRj */
3701   {
3702     { 0, 0, 0, 0 },
3703     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
3704     & ifmt_tra, { 0x40100000 }
3705   },
3706 /* tno$pack */
3707   {
3708     { 0, 0, 0, 0 },
3709     { { MNEM, OP (PACK), 0 } },
3710     & ifmt_tno, { 0x100000 }
3711   },
3712 /* teq$pack $ICCi_2,$GRi,$GRj */
3713   {
3714     { 0, 0, 0, 0 },
3715     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3716     & ifmt_teq, { 0x20100000 }
3717   },
3718 /* tne$pack $ICCi_2,$GRi,$GRj */
3719   {
3720     { 0, 0, 0, 0 },
3721     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3722     & ifmt_teq, { 0x60100000 }
3723   },
3724 /* tle$pack $ICCi_2,$GRi,$GRj */
3725   {
3726     { 0, 0, 0, 0 },
3727     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3728     & ifmt_teq, { 0x38100000 }
3729   },
3730 /* tgt$pack $ICCi_2,$GRi,$GRj */
3731   {
3732     { 0, 0, 0, 0 },
3733     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3734     & ifmt_teq, { 0x78100000 }
3735   },
3736 /* tlt$pack $ICCi_2,$GRi,$GRj */
3737   {
3738     { 0, 0, 0, 0 },
3739     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3740     & ifmt_teq, { 0x18100000 }
3741   },
3742 /* tge$pack $ICCi_2,$GRi,$GRj */
3743   {
3744     { 0, 0, 0, 0 },
3745     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3746     & ifmt_teq, { 0x58100000 }
3747   },
3748 /* tls$pack $ICCi_2,$GRi,$GRj */
3749   {
3750     { 0, 0, 0, 0 },
3751     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3752     & ifmt_teq, { 0x28100000 }
3753   },
3754 /* thi$pack $ICCi_2,$GRi,$GRj */
3755   {
3756     { 0, 0, 0, 0 },
3757     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3758     & ifmt_teq, { 0x68100000 }
3759   },
3760 /* tc$pack $ICCi_2,$GRi,$GRj */
3761   {
3762     { 0, 0, 0, 0 },
3763     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3764     & ifmt_teq, { 0x8100000 }
3765   },
3766 /* tnc$pack $ICCi_2,$GRi,$GRj */
3767   {
3768     { 0, 0, 0, 0 },
3769     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3770     & ifmt_teq, { 0x48100000 }
3771   },
3772 /* tn$pack $ICCi_2,$GRi,$GRj */
3773   {
3774     { 0, 0, 0, 0 },
3775     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3776     & ifmt_teq, { 0x30100000 }
3777   },
3778 /* tp$pack $ICCi_2,$GRi,$GRj */
3779   {
3780     { 0, 0, 0, 0 },
3781     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3782     & ifmt_teq, { 0x70100000 }
3783   },
3784 /* tv$pack $ICCi_2,$GRi,$GRj */
3785   {
3786     { 0, 0, 0, 0 },
3787     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3788     & ifmt_teq, { 0x10100000 }
3789   },
3790 /* tnv$pack $ICCi_2,$GRi,$GRj */
3791   {
3792     { 0, 0, 0, 0 },
3793     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3794     & ifmt_teq, { 0x50100000 }
3795   },
3796 /* ftra$pack $GRi,$GRj */
3797   {
3798     { 0, 0, 0, 0 },
3799     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
3800     & ifmt_ftra, { 0x78100040 }
3801   },
3802 /* ftno$pack */
3803   {
3804     { 0, 0, 0, 0 },
3805     { { MNEM, OP (PACK), 0 } },
3806     & ifmt_ftno, { 0x100040 }
3807   },
3808 /* ftne$pack $FCCi_2,$GRi,$GRj */
3809   {
3810     { 0, 0, 0, 0 },
3811     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3812     & ifmt_ftne, { 0x38100040 }
3813   },
3814 /* fteq$pack $FCCi_2,$GRi,$GRj */
3815   {
3816     { 0, 0, 0, 0 },
3817     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3818     & ifmt_ftne, { 0x40100040 }
3819   },
3820 /* ftlg$pack $FCCi_2,$GRi,$GRj */
3821   {
3822     { 0, 0, 0, 0 },
3823     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3824     & ifmt_ftne, { 0x30100040 }
3825   },
3826 /* ftue$pack $FCCi_2,$GRi,$GRj */
3827   {
3828     { 0, 0, 0, 0 },
3829     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3830     & ifmt_ftne, { 0x48100040 }
3831   },
3832 /* ftul$pack $FCCi_2,$GRi,$GRj */
3833   {
3834     { 0, 0, 0, 0 },
3835     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3836     & ifmt_ftne, { 0x28100040 }
3837   },
3838 /* ftge$pack $FCCi_2,$GRi,$GRj */
3839   {
3840     { 0, 0, 0, 0 },
3841     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3842     & ifmt_ftne, { 0x50100040 }
3843   },
3844 /* ftlt$pack $FCCi_2,$GRi,$GRj */
3845   {
3846     { 0, 0, 0, 0 },
3847     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3848     & ifmt_ftne, { 0x20100040 }
3849   },
3850 /* ftuge$pack $FCCi_2,$GRi,$GRj */
3851   {
3852     { 0, 0, 0, 0 },
3853     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3854     & ifmt_ftne, { 0x58100040 }
3855   },
3856 /* ftug$pack $FCCi_2,$GRi,$GRj */
3857   {
3858     { 0, 0, 0, 0 },
3859     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3860     & ifmt_ftne, { 0x18100040 }
3861   },
3862 /* ftle$pack $FCCi_2,$GRi,$GRj */
3863   {
3864     { 0, 0, 0, 0 },
3865     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3866     & ifmt_ftne, { 0x60100040 }
3867   },
3868 /* ftgt$pack $FCCi_2,$GRi,$GRj */
3869   {
3870     { 0, 0, 0, 0 },
3871     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3872     & ifmt_ftne, { 0x10100040 }
3873   },
3874 /* ftule$pack $FCCi_2,$GRi,$GRj */
3875   {
3876     { 0, 0, 0, 0 },
3877     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3878     & ifmt_ftne, { 0x68100040 }
3879   },
3880 /* ftu$pack $FCCi_2,$GRi,$GRj */
3881   {
3882     { 0, 0, 0, 0 },
3883     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3884     & ifmt_ftne, { 0x8100040 }
3885   },
3886 /* fto$pack $FCCi_2,$GRi,$GRj */
3887   {
3888     { 0, 0, 0, 0 },
3889     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3890     & ifmt_ftne, { 0x70100040 }
3891   },
3892 /* tira$pack $GRi,$s12 */
3893   {
3894     { 0, 0, 0, 0 },
3895     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), 0 } },
3896     & ifmt_tira, { 0x40700000 }
3897   },
3898 /* tino$pack */
3899   {
3900     { 0, 0, 0, 0 },
3901     { { MNEM, OP (PACK), 0 } },
3902     & ifmt_tino, { 0x700000 }
3903   },
3904 /* tieq$pack $ICCi_2,$GRi,$s12 */
3905   {
3906     { 0, 0, 0, 0 },
3907     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3908     & ifmt_tieq, { 0x20700000 }
3909   },
3910 /* tine$pack $ICCi_2,$GRi,$s12 */
3911   {
3912     { 0, 0, 0, 0 },
3913     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3914     & ifmt_tieq, { 0x60700000 }
3915   },
3916 /* tile$pack $ICCi_2,$GRi,$s12 */
3917   {
3918     { 0, 0, 0, 0 },
3919     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3920     & ifmt_tieq, { 0x38700000 }
3921   },
3922 /* tigt$pack $ICCi_2,$GRi,$s12 */
3923   {
3924     { 0, 0, 0, 0 },
3925     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3926     & ifmt_tieq, { 0x78700000 }
3927   },
3928 /* tilt$pack $ICCi_2,$GRi,$s12 */
3929   {
3930     { 0, 0, 0, 0 },
3931     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3932     & ifmt_tieq, { 0x18700000 }
3933   },
3934 /* tige$pack $ICCi_2,$GRi,$s12 */
3935   {
3936     { 0, 0, 0, 0 },
3937     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3938     & ifmt_tieq, { 0x58700000 }
3939   },
3940 /* tils$pack $ICCi_2,$GRi,$s12 */
3941   {
3942     { 0, 0, 0, 0 },
3943     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3944     & ifmt_tieq, { 0x28700000 }
3945   },
3946 /* tihi$pack $ICCi_2,$GRi,$s12 */
3947   {
3948     { 0, 0, 0, 0 },
3949     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3950     & ifmt_tieq, { 0x68700000 }
3951   },
3952 /* tic$pack $ICCi_2,$GRi,$s12 */
3953   {
3954     { 0, 0, 0, 0 },
3955     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3956     & ifmt_tieq, { 0x8700000 }
3957   },
3958 /* tinc$pack $ICCi_2,$GRi,$s12 */
3959   {
3960     { 0, 0, 0, 0 },
3961     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3962     & ifmt_tieq, { 0x48700000 }
3963   },
3964 /* tin$pack $ICCi_2,$GRi,$s12 */
3965   {
3966     { 0, 0, 0, 0 },
3967     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3968     & ifmt_tieq, { 0x30700000 }
3969   },
3970 /* tip$pack $ICCi_2,$GRi,$s12 */
3971   {
3972     { 0, 0, 0, 0 },
3973     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3974     & ifmt_tieq, { 0x70700000 }
3975   },
3976 /* tiv$pack $ICCi_2,$GRi,$s12 */
3977   {
3978     { 0, 0, 0, 0 },
3979     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3980     & ifmt_tieq, { 0x10700000 }
3981   },
3982 /* tinv$pack $ICCi_2,$GRi,$s12 */
3983   {
3984     { 0, 0, 0, 0 },
3985     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3986     & ifmt_tieq, { 0x50700000 }
3987   },
3988 /* ftira$pack $GRi,$s12 */
3989   {
3990     { 0, 0, 0, 0 },
3991     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), 0 } },
3992     & ifmt_ftira, { 0x78740000 }
3993   },
3994 /* ftino$pack */
3995   {
3996     { 0, 0, 0, 0 },
3997     { { MNEM, OP (PACK), 0 } },
3998     & ifmt_ftino, { 0x740000 }
3999   },
4000 /* ftine$pack $FCCi_2,$GRi,$s12 */
4001   {
4002     { 0, 0, 0, 0 },
4003     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4004     & ifmt_ftine, { 0x38740000 }
4005   },
4006 /* ftieq$pack $FCCi_2,$GRi,$s12 */
4007   {
4008     { 0, 0, 0, 0 },
4009     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4010     & ifmt_ftine, { 0x40740000 }
4011   },
4012 /* ftilg$pack $FCCi_2,$GRi,$s12 */
4013   {
4014     { 0, 0, 0, 0 },
4015     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4016     & ifmt_ftine, { 0x30740000 }
4017   },
4018 /* ftiue$pack $FCCi_2,$GRi,$s12 */
4019   {
4020     { 0, 0, 0, 0 },
4021     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4022     & ifmt_ftine, { 0x48740000 }
4023   },
4024 /* ftiul$pack $FCCi_2,$GRi,$s12 */
4025   {
4026     { 0, 0, 0, 0 },
4027     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4028     & ifmt_ftine, { 0x28740000 }
4029   },
4030 /* ftige$pack $FCCi_2,$GRi,$s12 */
4031   {
4032     { 0, 0, 0, 0 },
4033     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4034     & ifmt_ftine, { 0x50740000 }
4035   },
4036 /* ftilt$pack $FCCi_2,$GRi,$s12 */
4037   {
4038     { 0, 0, 0, 0 },
4039     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4040     & ifmt_ftine, { 0x20740000 }
4041   },
4042 /* ftiuge$pack $FCCi_2,$GRi,$s12 */
4043   {
4044     { 0, 0, 0, 0 },
4045     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4046     & ifmt_ftine, { 0x58740000 }
4047   },
4048 /* ftiug$pack $FCCi_2,$GRi,$s12 */
4049   {
4050     { 0, 0, 0, 0 },
4051     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4052     & ifmt_ftine, { 0x18740000 }
4053   },
4054 /* ftile$pack $FCCi_2,$GRi,$s12 */
4055   {
4056     { 0, 0, 0, 0 },
4057     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4058     & ifmt_ftine, { 0x60740000 }
4059   },
4060 /* ftigt$pack $FCCi_2,$GRi,$s12 */
4061   {
4062     { 0, 0, 0, 0 },
4063     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4064     & ifmt_ftine, { 0x10740000 }
4065   },
4066 /* ftiule$pack $FCCi_2,$GRi,$s12 */
4067   {
4068     { 0, 0, 0, 0 },
4069     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4070     & ifmt_ftine, { 0x68740000 }
4071   },
4072 /* ftiu$pack $FCCi_2,$GRi,$s12 */
4073   {
4074     { 0, 0, 0, 0 },
4075     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4076     & ifmt_ftine, { 0x8740000 }
4077   },
4078 /* ftio$pack $FCCi_2,$GRi,$s12 */
4079   {
4080     { 0, 0, 0, 0 },
4081     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4082     & ifmt_ftine, { 0x70740000 }
4083   },
4084 /* break$pack */
4085   {
4086     { 0, 0, 0, 0 },
4087     { { MNEM, OP (PACK), 0 } },
4088     & ifmt_break, { 0x1000c0 }
4089   },
4090 /* mtrap$pack */
4091   {
4092     { 0, 0, 0, 0 },
4093     { { MNEM, OP (PACK), 0 } },
4094     & ifmt_break, { 0x100080 }
4095   },
4096 /* andcr$pack $CRi,$CRj,$CRk */
4097   {
4098     { 0, 0, 0, 0 },
4099     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4100     & ifmt_andcr, { 0x280200 }
4101   },
4102 /* orcr$pack $CRi,$CRj,$CRk */
4103   {
4104     { 0, 0, 0, 0 },
4105     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4106     & ifmt_andcr, { 0x280240 }
4107   },
4108 /* xorcr$pack $CRi,$CRj,$CRk */
4109   {
4110     { 0, 0, 0, 0 },
4111     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4112     & ifmt_andcr, { 0x280280 }
4113   },
4114 /* nandcr$pack $CRi,$CRj,$CRk */
4115   {
4116     { 0, 0, 0, 0 },
4117     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4118     & ifmt_andcr, { 0x280300 }
4119   },
4120 /* norcr$pack $CRi,$CRj,$CRk */
4121   {
4122     { 0, 0, 0, 0 },
4123     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4124     & ifmt_andcr, { 0x280340 }
4125   },
4126 /* andncr$pack $CRi,$CRj,$CRk */
4127   {
4128     { 0, 0, 0, 0 },
4129     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4130     & ifmt_andcr, { 0x280400 }
4131   },
4132 /* orncr$pack $CRi,$CRj,$CRk */
4133   {
4134     { 0, 0, 0, 0 },
4135     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4136     & ifmt_andcr, { 0x280440 }
4137   },
4138 /* nandncr$pack $CRi,$CRj,$CRk */
4139   {
4140     { 0, 0, 0, 0 },
4141     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4142     & ifmt_andcr, { 0x280500 }
4143   },
4144 /* norncr$pack $CRi,$CRj,$CRk */
4145   {
4146     { 0, 0, 0, 0 },
4147     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4148     & ifmt_andcr, { 0x280540 }
4149   },
4150 /* notcr$pack $CRj,$CRk */
4151   {
4152     { 0, 0, 0, 0 },
4153     { { MNEM, OP (PACK), ' ', OP (CRJ), ',', OP (CRK), 0 } },
4154     & ifmt_notcr, { 0x2802c0 }
4155   },
4156 /* ckra$pack $CRj_int */
4157   {
4158     { 0, 0, 0, 0 },
4159     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), 0 } },
4160     & ifmt_ckra, { 0x40200000 }
4161   },
4162 /* ckno$pack $CRj_int */
4163   {
4164     { 0, 0, 0, 0 },
4165     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), 0 } },
4166     & ifmt_ckra, { 0x200000 }
4167   },
4168 /* ckeq$pack $ICCi_3,$CRj_int */
4169   {
4170     { 0, 0, 0, 0 },
4171     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4172     & ifmt_ckeq, { 0x20200000 }
4173   },
4174 /* ckne$pack $ICCi_3,$CRj_int */
4175   {
4176     { 0, 0, 0, 0 },
4177     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4178     & ifmt_ckeq, { 0x60200000 }
4179   },
4180 /* ckle$pack $ICCi_3,$CRj_int */
4181   {
4182     { 0, 0, 0, 0 },
4183     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4184     & ifmt_ckeq, { 0x38200000 }
4185   },
4186 /* ckgt$pack $ICCi_3,$CRj_int */
4187   {
4188     { 0, 0, 0, 0 },
4189     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4190     & ifmt_ckeq, { 0x78200000 }
4191   },
4192 /* cklt$pack $ICCi_3,$CRj_int */
4193   {
4194     { 0, 0, 0, 0 },
4195     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4196     & ifmt_ckeq, { 0x18200000 }
4197   },
4198 /* ckge$pack $ICCi_3,$CRj_int */
4199   {
4200     { 0, 0, 0, 0 },
4201     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4202     & ifmt_ckeq, { 0x58200000 }
4203   },
4204 /* ckls$pack $ICCi_3,$CRj_int */
4205   {
4206     { 0, 0, 0, 0 },
4207     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4208     & ifmt_ckeq, { 0x28200000 }
4209   },
4210 /* ckhi$pack $ICCi_3,$CRj_int */
4211   {
4212     { 0, 0, 0, 0 },
4213     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4214     & ifmt_ckeq, { 0x68200000 }
4215   },
4216 /* ckc$pack $ICCi_3,$CRj_int */
4217   {
4218     { 0, 0, 0, 0 },
4219     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4220     & ifmt_ckeq, { 0x8200000 }
4221   },
4222 /* cknc$pack $ICCi_3,$CRj_int */
4223   {
4224     { 0, 0, 0, 0 },
4225     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4226     & ifmt_ckeq, { 0x48200000 }
4227   },
4228 /* ckn$pack $ICCi_3,$CRj_int */
4229   {
4230     { 0, 0, 0, 0 },
4231     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4232     & ifmt_ckeq, { 0x30200000 }
4233   },
4234 /* ckp$pack $ICCi_3,$CRj_int */
4235   {
4236     { 0, 0, 0, 0 },
4237     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4238     & ifmt_ckeq, { 0x70200000 }
4239   },
4240 /* ckv$pack $ICCi_3,$CRj_int */
4241   {
4242     { 0, 0, 0, 0 },
4243     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4244     & ifmt_ckeq, { 0x10200000 }
4245   },
4246 /* cknv$pack $ICCi_3,$CRj_int */
4247   {
4248     { 0, 0, 0, 0 },
4249     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4250     & ifmt_ckeq, { 0x50200000 }
4251   },
4252 /* fckra$pack $CRj_float */
4253   {
4254     { 0, 0, 0, 0 },
4255     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), 0 } },
4256     & ifmt_fckra, { 0x78240000 }
4257   },
4258 /* fckno$pack $CRj_float */
4259   {
4260     { 0, 0, 0, 0 },
4261     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), 0 } },
4262     & ifmt_fckra, { 0x240000 }
4263   },
4264 /* fckne$pack $FCCi_3,$CRj_float */
4265   {
4266     { 0, 0, 0, 0 },
4267     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4268     & ifmt_fckra, { 0x38240000 }
4269   },
4270 /* fckeq$pack $FCCi_3,$CRj_float */
4271   {
4272     { 0, 0, 0, 0 },
4273     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4274     & ifmt_fckra, { 0x40240000 }
4275   },
4276 /* fcklg$pack $FCCi_3,$CRj_float */
4277   {
4278     { 0, 0, 0, 0 },
4279     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4280     & ifmt_fckra, { 0x30240000 }
4281   },
4282 /* fckue$pack $FCCi_3,$CRj_float */
4283   {
4284     { 0, 0, 0, 0 },
4285     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4286     & ifmt_fckra, { 0x48240000 }
4287   },
4288 /* fckul$pack $FCCi_3,$CRj_float */
4289   {
4290     { 0, 0, 0, 0 },
4291     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4292     & ifmt_fckra, { 0x28240000 }
4293   },
4294 /* fckge$pack $FCCi_3,$CRj_float */
4295   {
4296     { 0, 0, 0, 0 },
4297     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4298     & ifmt_fckra, { 0x50240000 }
4299   },
4300 /* fcklt$pack $FCCi_3,$CRj_float */
4301   {
4302     { 0, 0, 0, 0 },
4303     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4304     & ifmt_fckra, { 0x20240000 }
4305   },
4306 /* fckuge$pack $FCCi_3,$CRj_float */
4307   {
4308     { 0, 0, 0, 0 },
4309     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4310     & ifmt_fckra, { 0x58240000 }
4311   },
4312 /* fckug$pack $FCCi_3,$CRj_float */
4313   {
4314     { 0, 0, 0, 0 },
4315     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4316     & ifmt_fckra, { 0x18240000 }
4317   },
4318 /* fckle$pack $FCCi_3,$CRj_float */
4319   {
4320     { 0, 0, 0, 0 },
4321     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4322     & ifmt_fckra, { 0x60240000 }
4323   },
4324 /* fckgt$pack $FCCi_3,$CRj_float */
4325   {
4326     { 0, 0, 0, 0 },
4327     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4328     & ifmt_fckra, { 0x10240000 }
4329   },
4330 /* fckule$pack $FCCi_3,$CRj_float */
4331   {
4332     { 0, 0, 0, 0 },
4333     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4334     & ifmt_fckra, { 0x68240000 }
4335   },
4336 /* fcku$pack $FCCi_3,$CRj_float */
4337   {
4338     { 0, 0, 0, 0 },
4339     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4340     & ifmt_fckra, { 0x8240000 }
4341   },
4342 /* fcko$pack $FCCi_3,$CRj_float */
4343   {
4344     { 0, 0, 0, 0 },
4345     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4346     & ifmt_fckra, { 0x70240000 }
4347   },
4348 /* cckra$pack $CRj_int,$CCi,$cond */
4349   {
4350     { 0, 0, 0, 0 },
4351     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4352     & ifmt_cckra, { 0x41a80000 }
4353   },
4354 /* cckno$pack $CRj_int,$CCi,$cond */
4355   {
4356     { 0, 0, 0, 0 },
4357     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4358     & ifmt_cckra, { 0x1a80000 }
4359   },
4360 /* cckeq$pack $ICCi_3,$CRj_int,$CCi,$cond */
4361   {
4362     { 0, 0, 0, 0 },
4363     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4364     & ifmt_cckeq, { 0x21a80000 }
4365   },
4366 /* cckne$pack $ICCi_3,$CRj_int,$CCi,$cond */
4367   {
4368     { 0, 0, 0, 0 },
4369     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4370     & ifmt_cckeq, { 0x61a80000 }
4371   },
4372 /* cckle$pack $ICCi_3,$CRj_int,$CCi,$cond */
4373   {
4374     { 0, 0, 0, 0 },
4375     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4376     & ifmt_cckeq, { 0x39a80000 }
4377   },
4378 /* cckgt$pack $ICCi_3,$CRj_int,$CCi,$cond */
4379   {
4380     { 0, 0, 0, 0 },
4381     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4382     & ifmt_cckeq, { 0x79a80000 }
4383   },
4384 /* ccklt$pack $ICCi_3,$CRj_int,$CCi,$cond */
4385   {
4386     { 0, 0, 0, 0 },
4387     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4388     & ifmt_cckeq, { 0x19a80000 }
4389   },
4390 /* cckge$pack $ICCi_3,$CRj_int,$CCi,$cond */
4391   {
4392     { 0, 0, 0, 0 },
4393     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4394     & ifmt_cckeq, { 0x59a80000 }
4395   },
4396 /* cckls$pack $ICCi_3,$CRj_int,$CCi,$cond */
4397   {
4398     { 0, 0, 0, 0 },
4399     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4400     & ifmt_cckeq, { 0x29a80000 }
4401   },
4402 /* cckhi$pack $ICCi_3,$CRj_int,$CCi,$cond */
4403   {
4404     { 0, 0, 0, 0 },
4405     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4406     & ifmt_cckeq, { 0x69a80000 }
4407   },
4408 /* cckc$pack $ICCi_3,$CRj_int,$CCi,$cond */
4409   {
4410     { 0, 0, 0, 0 },
4411     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4412     & ifmt_cckeq, { 0x9a80000 }
4413   },
4414 /* ccknc$pack $ICCi_3,$CRj_int,$CCi,$cond */
4415   {
4416     { 0, 0, 0, 0 },
4417     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4418     & ifmt_cckeq, { 0x49a80000 }
4419   },
4420 /* cckn$pack $ICCi_3,$CRj_int,$CCi,$cond */
4421   {
4422     { 0, 0, 0, 0 },
4423     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4424     & ifmt_cckeq, { 0x31a80000 }
4425   },
4426 /* cckp$pack $ICCi_3,$CRj_int,$CCi,$cond */
4427   {
4428     { 0, 0, 0, 0 },
4429     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4430     & ifmt_cckeq, { 0x71a80000 }
4431   },
4432 /* cckv$pack $ICCi_3,$CRj_int,$CCi,$cond */
4433   {
4434     { 0, 0, 0, 0 },
4435     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4436     & ifmt_cckeq, { 0x11a80000 }
4437   },
4438 /* ccknv$pack $ICCi_3,$CRj_int,$CCi,$cond */
4439   {
4440     { 0, 0, 0, 0 },
4441     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4442     & ifmt_cckeq, { 0x51a80000 }
4443   },
4444 /* cfckra$pack $CRj_float,$CCi,$cond */
4445   {
4446     { 0, 0, 0, 0 },
4447     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4448     & ifmt_cfckra, { 0x79a80040 }
4449   },
4450 /* cfckno$pack $CRj_float,$CCi,$cond */
4451   {
4452     { 0, 0, 0, 0 },
4453     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4454     & ifmt_cfckra, { 0x1a80040 }
4455   },
4456 /* cfckne$pack $FCCi_3,$CRj_float,$CCi,$cond */
4457   {
4458     { 0, 0, 0, 0 },
4459     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4460     & ifmt_cfckne, { 0x39a80040 }
4461   },
4462 /* cfckeq$pack $FCCi_3,$CRj_float,$CCi,$cond */
4463   {
4464     { 0, 0, 0, 0 },
4465     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4466     & ifmt_cfckne, { 0x41a80040 }
4467   },
4468 /* cfcklg$pack $FCCi_3,$CRj_float,$CCi,$cond */
4469   {
4470     { 0, 0, 0, 0 },
4471     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4472     & ifmt_cfckne, { 0x31a80040 }
4473   },
4474 /* cfckue$pack $FCCi_3,$CRj_float,$CCi,$cond */
4475   {
4476     { 0, 0, 0, 0 },
4477     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4478     & ifmt_cfckne, { 0x49a80040 }
4479   },
4480 /* cfckul$pack $FCCi_3,$CRj_float,$CCi,$cond */
4481   {
4482     { 0, 0, 0, 0 },
4483     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4484     & ifmt_cfckne, { 0x29a80040 }
4485   },
4486 /* cfckge$pack $FCCi_3,$CRj_float,$CCi,$cond */
4487   {
4488     { 0, 0, 0, 0 },
4489     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4490     & ifmt_cfckne, { 0x51a80040 }
4491   },
4492 /* cfcklt$pack $FCCi_3,$CRj_float,$CCi,$cond */
4493   {
4494     { 0, 0, 0, 0 },
4495     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4496     & ifmt_cfckne, { 0x21a80040 }
4497   },
4498 /* cfckuge$pack $FCCi_3,$CRj_float,$CCi,$cond */
4499   {
4500     { 0, 0, 0, 0 },
4501     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4502     & ifmt_cfckne, { 0x59a80040 }
4503   },
4504 /* cfckug$pack $FCCi_3,$CRj_float,$CCi,$cond */
4505   {
4506     { 0, 0, 0, 0 },
4507     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4508     & ifmt_cfckne, { 0x19a80040 }
4509   },
4510 /* cfckle$pack $FCCi_3,$CRj_float,$CCi,$cond */
4511   {
4512     { 0, 0, 0, 0 },
4513     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4514     & ifmt_cfckne, { 0x61a80040 }
4515   },
4516 /* cfckgt$pack $FCCi_3,$CRj_float,$CCi,$cond */
4517   {
4518     { 0, 0, 0, 0 },
4519     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4520     & ifmt_cfckne, { 0x11a80040 }
4521   },
4522 /* cfckule$pack $FCCi_3,$CRj_float,$CCi,$cond */
4523   {
4524     { 0, 0, 0, 0 },
4525     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4526     & ifmt_cfckne, { 0x69a80040 }
4527   },
4528 /* cfcku$pack $FCCi_3,$CRj_float,$CCi,$cond */
4529   {
4530     { 0, 0, 0, 0 },
4531     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4532     & ifmt_cfckne, { 0x9a80040 }
4533   },
4534 /* cfcko$pack $FCCi_3,$CRj_float,$CCi,$cond */
4535   {
4536     { 0, 0, 0, 0 },
4537     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4538     & ifmt_cfckne, { 0x71a80040 }
4539   },
4540 /* cjmpl$pack @($GRi,$GRj),$CCi,$cond */
4541   {
4542     { 0, 0, 0, 0 },
4543     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
4544     & ifmt_cjmpl, { 0x1a80080 }
4545   },
4546 /* ccalll$pack @($GRi,$GRj),$CCi,$cond */
4547   {
4548     { 0, 0, 0, 0 },
4549     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
4550     & ifmt_ccalll, { 0x3a80080 }
4551   },
4552 /* ici$pack @($GRi,$GRj) */
4553   {
4554     { 0, 0, 0, 0 },
4555     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4556     & ifmt_smu, { 0xc0e00 }
4557   },
4558 /* dci$pack @($GRi,$GRj) */
4559   {
4560     { 0, 0, 0, 0 },
4561     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4562     & ifmt_smu, { 0xc0f00 }
4563   },
4564 /* icei$pack @($GRi,$GRj),$ae */
4565   {
4566     { 0, 0, 0, 0 },
4567     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4568     & ifmt_icei, { 0xc0e40 }
4569   },
4570 /* dcei$pack @($GRi,$GRj),$ae */
4571   {
4572     { 0, 0, 0, 0 },
4573     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4574     & ifmt_icei, { 0xc0e80 }
4575   },
4576 /* dcf$pack @($GRi,$GRj) */
4577   {
4578     { 0, 0, 0, 0 },
4579     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4580     & ifmt_smu, { 0xc0f40 }
4581   },
4582 /* dcef$pack @($GRi,$GRj),$ae */
4583   {
4584     { 0, 0, 0, 0 },
4585     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4586     & ifmt_icei, { 0xc0ec0 }
4587   },
4588 /* witlb$pack $GRk,@($GRi,$GRj) */
4589   {
4590     { 0, 0, 0, 0 },
4591     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4592     & ifmt_slass, { 0xc0c80 }
4593   },
4594 /* wdtlb$pack $GRk,@($GRi,$GRj) */
4595   {
4596     { 0, 0, 0, 0 },
4597     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4598     & ifmt_slass, { 0xc0d80 }
4599   },
4600 /* itlbi$pack @($GRi,$GRj) */
4601   {
4602     { 0, 0, 0, 0 },
4603     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4604     & ifmt_smu, { 0xc0cc0 }
4605   },
4606 /* dtlbi$pack @($GRi,$GRj) */
4607   {
4608     { 0, 0, 0, 0 },
4609     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4610     & ifmt_smu, { 0xc0dc0 }
4611   },
4612 /* icpl$pack $GRi,$GRj,$lock */
4613   {
4614     { 0, 0, 0, 0 },
4615     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (LOCK), 0 } },
4616     & ifmt_icpl, { 0xc0c00 }
4617   },
4618 /* dcpl$pack $GRi,$GRj,$lock */
4619   {
4620     { 0, 0, 0, 0 },
4621     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (LOCK), 0 } },
4622     & ifmt_icpl, { 0xc0d00 }
4623   },
4624 /* icul$pack $GRi */
4625   {
4626     { 0, 0, 0, 0 },
4627     { { MNEM, OP (PACK), ' ', OP (GRI), 0 } },
4628     & ifmt_icul, { 0xc0c40 }
4629   },
4630 /* dcul$pack $GRi */
4631   {
4632     { 0, 0, 0, 0 },
4633     { { MNEM, OP (PACK), ' ', OP (GRI), 0 } },
4634     & ifmt_icul, { 0xc0d40 }
4635   },
4636 /* bar$pack */
4637   {
4638     { 0, 0, 0, 0 },
4639     { { MNEM, OP (PACK), 0 } },
4640     & ifmt_bar, { 0xc0f80 }
4641   },
4642 /* membar$pack */
4643   {
4644     { 0, 0, 0, 0 },
4645     { { MNEM, OP (PACK), 0 } },
4646     & ifmt_bar, { 0xc0fc0 }
4647   },
4648 /* lrai$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
4649   {
4650     { 0, 0, 0, 0 },
4651     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (LRAE), ',', OP (LRAD), ',', OP (LRAS), 0 } },
4652     & ifmt_lrai, { 0xc0800 }
4653   },
4654 /* lrad$pack $GRi,$GRk,$LRAE,$LRAD,$LRAS */
4655   {
4656     { 0, 0, 0, 0 },
4657     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (LRAE), ',', OP (LRAD), ',', OP (LRAS), 0 } },
4658     & ifmt_lrai, { 0xc0840 }
4659   },
4660 /* tlbpr$pack $GRi,$GRj,$TLBPRopx,$TLBPRL */
4661   {
4662     { 0, 0, 0, 0 },
4663     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (TLBPROPX), ',', OP (TLBPRL), 0 } },
4664     & ifmt_tlbpr, { 0xc0900 }
4665   },
4666 /* cop1$pack $s6_1,$CPRi,$CPRj,$CPRk */
4667   {
4668     { 0, 0, 0, 0 },
4669     { { MNEM, OP (PACK), ' ', OP (S6_1), ',', OP (CPRI), ',', OP (CPRJ), ',', OP (CPRK), 0 } },
4670     & ifmt_cop1, { 0x1f80000 }
4671   },
4672 /* cop2$pack $s6_1,$CPRi,$CPRj,$CPRk */
4673   {
4674     { 0, 0, 0, 0 },
4675     { { MNEM, OP (PACK), ' ', OP (S6_1), ',', OP (CPRI), ',', OP (CPRJ), ',', OP (CPRK), 0 } },
4676     & ifmt_cop1, { 0x1fc0000 }
4677   },
4678 /* clrgr$pack $GRk */
4679   {
4680     { 0, 0, 0, 0 },
4681     { { MNEM, OP (PACK), ' ', OP (GRK), 0 } },
4682     & ifmt_clrgr, { 0x280000 }
4683   },
4684 /* clrfr$pack $FRk */
4685   {
4686     { 0, 0, 0, 0 },
4687     { { MNEM, OP (PACK), ' ', OP (FRK), 0 } },
4688     & ifmt_clrfr, { 0x280080 }
4689   },
4690 /* clrga$pack */
4691   {
4692     { 0, 0, 0, 0 },
4693     { { MNEM, OP (PACK), 0 } },
4694     & ifmt_bar, { 0x280040 }
4695   },
4696 /* clrfa$pack */
4697   {
4698     { 0, 0, 0, 0 },
4699     { { MNEM, OP (PACK), 0 } },
4700     & ifmt_bar, { 0x2800c0 }
4701   },
4702 /* commitgr$pack $GRk */
4703   {
4704     { 0, 0, 0, 0 },
4705     { { MNEM, OP (PACK), ' ', OP (GRK), 0 } },
4706     & ifmt_clrgr, { 0x280100 }
4707   },
4708 /* commitfr$pack $FRk */
4709   {
4710     { 0, 0, 0, 0 },
4711     { { MNEM, OP (PACK), ' ', OP (FRK), 0 } },
4712     & ifmt_clrfr, { 0x280180 }
4713   },
4714 /* commitga$pack */
4715   {
4716     { 0, 0, 0, 0 },
4717     { { MNEM, OP (PACK), 0 } },
4718     & ifmt_bar, { 0x280140 }
4719   },
4720 /* commitfa$pack */
4721   {
4722     { 0, 0, 0, 0 },
4723     { { MNEM, OP (PACK), 0 } },
4724     & ifmt_bar, { 0x2801c0 }
4725   },
4726 /* fitos$pack $FRintj,$FRk */
4727   {
4728     { 0, 0, 0, 0 },
4729     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4730     & ifmt_fitos, { 0x1e40000 }
4731   },
4732 /* fstoi$pack $FRj,$FRintk */
4733   {
4734     { 0, 0, 0, 0 },
4735     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4736     & ifmt_fstoi, { 0x1e40040 }
4737   },
4738 /* fitod$pack $FRintj,$FRdoublek */
4739   {
4740     { 0, 0, 0, 0 },
4741     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRDOUBLEK), 0 } },
4742     & ifmt_fitod, { 0x1e80000 }
4743   },
4744 /* fdtoi$pack $FRdoublej,$FRintk */
4745   {
4746     { 0, 0, 0, 0 },
4747     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRINTK), 0 } },
4748     & ifmt_fdtoi, { 0x1e80040 }
4749   },
4750 /* fditos$pack $FRintj,$FRk */
4751   {
4752     { 0, 0, 0, 0 },
4753     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4754     & ifmt_fitos, { 0x1e40400 }
4755   },
4756 /* fdstoi$pack $FRj,$FRintk */
4757   {
4758     { 0, 0, 0, 0 },
4759     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4760     & ifmt_fstoi, { 0x1e40440 }
4761   },
4762 /* nfditos$pack $FRintj,$FRk */
4763   {
4764     { 0, 0, 0, 0 },
4765     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4766     & ifmt_fitos, { 0x1e40c00 }
4767   },
4768 /* nfdstoi$pack $FRj,$FRintk */
4769   {
4770     { 0, 0, 0, 0 },
4771     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4772     & ifmt_fstoi, { 0x1e40c40 }
4773   },
4774 /* cfitos$pack $FRintj,$FRk,$CCi,$cond */
4775   {
4776     { 0, 0, 0, 0 },
4777     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4778     & ifmt_cfitos, { 0x1ac0000 }
4779   },
4780 /* cfstoi$pack $FRj,$FRintk,$CCi,$cond */
4781   {
4782     { 0, 0, 0, 0 },
4783     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
4784     & ifmt_cfstoi, { 0x1ac0040 }
4785   },
4786 /* nfitos$pack $FRintj,$FRk */
4787   {
4788     { 0, 0, 0, 0 },
4789     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4790     & ifmt_fitos, { 0x1e40800 }
4791   },
4792 /* nfstoi$pack $FRj,$FRintk */
4793   {
4794     { 0, 0, 0, 0 },
4795     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4796     & ifmt_fstoi, { 0x1e40840 }
4797   },
4798 /* fmovs$pack $FRj,$FRk */
4799   {
4800     { 0, 0, 0, 0 },
4801     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4802     & ifmt_fmovs, { 0x1e40080 }
4803   },
4804 /* fmovd$pack $FRdoublej,$FRdoublek */
4805   {
4806     { 0, 0, 0, 0 },
4807     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4808     & ifmt_fmovd, { 0x1e80080 }
4809   },
4810 /* fdmovs$pack $FRj,$FRk */
4811   {
4812     { 0, 0, 0, 0 },
4813     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4814     & ifmt_fmovs, { 0x1e40480 }
4815   },
4816 /* cfmovs$pack $FRj,$FRk,$CCi,$cond */
4817   {
4818     { 0, 0, 0, 0 },
4819     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4820     & ifmt_cfmovs, { 0x1b00000 }
4821   },
4822 /* fnegs$pack $FRj,$FRk */
4823   {
4824     { 0, 0, 0, 0 },
4825     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4826     & ifmt_fmovs, { 0x1e400c0 }
4827   },
4828 /* fnegd$pack $FRdoublej,$FRdoublek */
4829   {
4830     { 0, 0, 0, 0 },
4831     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4832     & ifmt_fmovd, { 0x1e800c0 }
4833   },
4834 /* fdnegs$pack $FRj,$FRk */
4835   {
4836     { 0, 0, 0, 0 },
4837     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4838     & ifmt_fmovs, { 0x1e404c0 }
4839   },
4840 /* cfnegs$pack $FRj,$FRk,$CCi,$cond */
4841   {
4842     { 0, 0, 0, 0 },
4843     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4844     & ifmt_cfmovs, { 0x1b00040 }
4845   },
4846 /* fabss$pack $FRj,$FRk */
4847   {
4848     { 0, 0, 0, 0 },
4849     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4850     & ifmt_fmovs, { 0x1e40100 }
4851   },
4852 /* fabsd$pack $FRdoublej,$FRdoublek */
4853   {
4854     { 0, 0, 0, 0 },
4855     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4856     & ifmt_fmovd, { 0x1e80100 }
4857   },
4858 /* fdabss$pack $FRj,$FRk */
4859   {
4860     { 0, 0, 0, 0 },
4861     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4862     & ifmt_fmovs, { 0x1e40500 }
4863   },
4864 /* cfabss$pack $FRj,$FRk,$CCi,$cond */
4865   {
4866     { 0, 0, 0, 0 },
4867     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4868     & ifmt_cfmovs, { 0x1b00080 }
4869   },
4870 /* fsqrts$pack $FRj,$FRk */
4871   {
4872     { 0, 0, 0, 0 },
4873     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4874     & ifmt_fmovs, { 0x1e40140 }
4875   },
4876 /* fdsqrts$pack $FRj,$FRk */
4877   {
4878     { 0, 0, 0, 0 },
4879     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4880     & ifmt_fmovs, { 0x1e40540 }
4881   },
4882 /* nfdsqrts$pack $FRj,$FRk */
4883   {
4884     { 0, 0, 0, 0 },
4885     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4886     & ifmt_fmovs, { 0x1e40d40 }
4887   },
4888 /* fsqrtd$pack $FRdoublej,$FRdoublek */
4889   {
4890     { 0, 0, 0, 0 },
4891     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4892     & ifmt_fmovd, { 0x1e80140 }
4893   },
4894 /* cfsqrts$pack $FRj,$FRk,$CCi,$cond */
4895   {
4896     { 0, 0, 0, 0 },
4897     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4898     & ifmt_cfmovs, { 0x1b80080 }
4899   },
4900 /* nfsqrts$pack $FRj,$FRk */
4901   {
4902     { 0, 0, 0, 0 },
4903     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4904     & ifmt_fmovs, { 0x1e40940 }
4905   },
4906 /* fadds$pack $FRi,$FRj,$FRk */
4907   {
4908     { 0, 0, 0, 0 },
4909     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4910     & ifmt_fadds, { 0x1e40180 }
4911   },
4912 /* fsubs$pack $FRi,$FRj,$FRk */
4913   {
4914     { 0, 0, 0, 0 },
4915     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4916     & ifmt_fadds, { 0x1e401c0 }
4917   },
4918 /* fmuls$pack $FRi,$FRj,$FRk */
4919   {
4920     { 0, 0, 0, 0 },
4921     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4922     & ifmt_fadds, { 0x1e40200 }
4923   },
4924 /* fdivs$pack $FRi,$FRj,$FRk */
4925   {
4926     { 0, 0, 0, 0 },
4927     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4928     & ifmt_fadds, { 0x1e40240 }
4929   },
4930 /* faddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4931   {
4932     { 0, 0, 0, 0 },
4933     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4934     & ifmt_faddd, { 0x1e80180 }
4935   },
4936 /* fsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4937   {
4938     { 0, 0, 0, 0 },
4939     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4940     & ifmt_faddd, { 0x1e801c0 }
4941   },
4942 /* fmuld$pack $FRdoublei,$FRdoublej,$FRdoublek */
4943   {
4944     { 0, 0, 0, 0 },
4945     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4946     & ifmt_faddd, { 0x1e80200 }
4947   },
4948 /* fdivd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4949   {
4950     { 0, 0, 0, 0 },
4951     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4952     & ifmt_faddd, { 0x1e80240 }
4953   },
4954 /* cfadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
4955   {
4956     { 0, 0, 0, 0 },
4957     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4958     & ifmt_cfadds, { 0x1b40000 }
4959   },
4960 /* cfsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
4961   {
4962     { 0, 0, 0, 0 },
4963     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4964     & ifmt_cfadds, { 0x1b40040 }
4965   },
4966 /* cfmuls$pack $FRi,$FRj,$FRk,$CCi,$cond */
4967   {
4968     { 0, 0, 0, 0 },
4969     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4970     & ifmt_cfadds, { 0x1b80000 }
4971   },
4972 /* cfdivs$pack $FRi,$FRj,$FRk,$CCi,$cond */
4973   {
4974     { 0, 0, 0, 0 },
4975     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4976     & ifmt_cfadds, { 0x1b80040 }
4977   },
4978 /* nfadds$pack $FRi,$FRj,$FRk */
4979   {
4980     { 0, 0, 0, 0 },
4981     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4982     & ifmt_fadds, { 0x1e40980 }
4983   },
4984 /* nfsubs$pack $FRi,$FRj,$FRk */
4985   {
4986     { 0, 0, 0, 0 },
4987     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4988     & ifmt_fadds, { 0x1e409c0 }
4989   },
4990 /* nfmuls$pack $FRi,$FRj,$FRk */
4991   {
4992     { 0, 0, 0, 0 },
4993     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4994     & ifmt_fadds, { 0x1e40a00 }
4995   },
4996 /* nfdivs$pack $FRi,$FRj,$FRk */
4997   {
4998     { 0, 0, 0, 0 },
4999     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5000     & ifmt_fadds, { 0x1e40a40 }
5001   },
5002 /* fcmps$pack $FRi,$FRj,$FCCi_2 */
5003   {
5004     { 0, 0, 0, 0 },
5005     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
5006     & ifmt_fcmps, { 0x1e40280 }
5007   },
5008 /* fcmpd$pack $FRdoublei,$FRdoublej,$FCCi_2 */
5009   {
5010     { 0, 0, 0, 0 },
5011     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FCCI_2), 0 } },
5012     & ifmt_fcmpd, { 0x1e80280 }
5013   },
5014 /* cfcmps$pack $FRi,$FRj,$FCCi_2,$CCi,$cond */
5015   {
5016     { 0, 0, 0, 0 },
5017     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), ',', OP (CCI), ',', OP (COND), 0 } },
5018     & ifmt_cfcmps, { 0x1b40080 }
5019   },
5020 /* fdcmps$pack $FRi,$FRj,$FCCi_2 */
5021   {
5022     { 0, 0, 0, 0 },
5023     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
5024     & ifmt_fcmps, { 0x1e40680 }
5025   },
5026 /* fmadds$pack $FRi,$FRj,$FRk */
5027   {
5028     { 0, 0, 0, 0 },
5029     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5030     & ifmt_fadds, { 0x1e402c0 }
5031   },
5032 /* fmsubs$pack $FRi,$FRj,$FRk */
5033   {
5034     { 0, 0, 0, 0 },
5035     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5036     & ifmt_fadds, { 0x1e40300 }
5037   },
5038 /* fmaddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
5039   {
5040     { 0, 0, 0, 0 },
5041     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
5042     & ifmt_faddd, { 0x1e802c0 }
5043   },
5044 /* fmsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
5045   {
5046     { 0, 0, 0, 0 },
5047     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
5048     & ifmt_faddd, { 0x1e80300 }
5049   },
5050 /* fdmadds$pack $FRi,$FRj,$FRk */
5051   {
5052     { 0, 0, 0, 0 },
5053     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5054     & ifmt_fadds, { 0x1e406c0 }
5055   },
5056 /* nfdmadds$pack $FRi,$FRj,$FRk */
5057   {
5058     { 0, 0, 0, 0 },
5059     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5060     & ifmt_fadds, { 0x1e40ec0 }
5061   },
5062 /* cfmadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
5063   {
5064     { 0, 0, 0, 0 },
5065     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5066     & ifmt_cfadds, { 0x1bc0000 }
5067   },
5068 /* cfmsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
5069   {
5070     { 0, 0, 0, 0 },
5071     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5072     & ifmt_cfadds, { 0x1bc0040 }
5073   },
5074 /* nfmadds$pack $FRi,$FRj,$FRk */
5075   {
5076     { 0, 0, 0, 0 },
5077     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5078     & ifmt_fadds, { 0x1e40ac0 }
5079   },
5080 /* nfmsubs$pack $FRi,$FRj,$FRk */
5081   {
5082     { 0, 0, 0, 0 },
5083     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5084     & ifmt_fadds, { 0x1e40b00 }
5085   },
5086 /* fmas$pack $FRi,$FRj,$FRk */
5087   {
5088     { 0, 0, 0, 0 },
5089     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5090     & ifmt_fadds, { 0x1e40380 }
5091   },
5092 /* fmss$pack $FRi,$FRj,$FRk */
5093   {
5094     { 0, 0, 0, 0 },
5095     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5096     & ifmt_fadds, { 0x1e403c0 }
5097   },
5098 /* fdmas$pack $FRi,$FRj,$FRk */
5099   {
5100     { 0, 0, 0, 0 },
5101     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5102     & ifmt_fadds, { 0x1e40700 }
5103   },
5104 /* fdmss$pack $FRi,$FRj,$FRk */
5105   {
5106     { 0, 0, 0, 0 },
5107     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5108     & ifmt_fadds, { 0x1e40740 }
5109   },
5110 /* nfdmas$pack $FRi,$FRj,$FRk */
5111   {
5112     { 0, 0, 0, 0 },
5113     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5114     & ifmt_fadds, { 0x1e40f00 }
5115   },
5116 /* nfdmss$pack $FRi,$FRj,$FRk */
5117   {
5118     { 0, 0, 0, 0 },
5119     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5120     & ifmt_fadds, { 0x1e40f40 }
5121   },
5122 /* cfmas$pack $FRi,$FRj,$FRk,$CCi,$cond */
5123   {
5124     { 0, 0, 0, 0 },
5125     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5126     & ifmt_cfadds, { 0x1bc0080 }
5127   },
5128 /* cfmss$pack $FRi,$FRj,$FRk,$CCi,$cond */
5129   {
5130     { 0, 0, 0, 0 },
5131     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5132     & ifmt_cfadds, { 0x1bc00c0 }
5133   },
5134 /* fmad$pack $FRi,$FRj,$FRk */
5135   {
5136     { 0, 0, 0, 0 },
5137     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5138     & ifmt_fadds, { 0x1e80380 }
5139   },
5140 /* fmsd$pack $FRi,$FRj,$FRk */
5141   {
5142     { 0, 0, 0, 0 },
5143     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5144     & ifmt_fadds, { 0x1e803c0 }
5145   },
5146 /* nfmas$pack $FRi,$FRj,$FRk */
5147   {
5148     { 0, 0, 0, 0 },
5149     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5150     & ifmt_fadds, { 0x1e40b80 }
5151   },
5152 /* nfmss$pack $FRi,$FRj,$FRk */
5153   {
5154     { 0, 0, 0, 0 },
5155     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5156     & ifmt_fadds, { 0x1e40bc0 }
5157   },
5158 /* fdadds$pack $FRi,$FRj,$FRk */
5159   {
5160     { 0, 0, 0, 0 },
5161     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5162     & ifmt_fadds, { 0x1e40580 }
5163   },
5164 /* fdsubs$pack $FRi,$FRj,$FRk */
5165   {
5166     { 0, 0, 0, 0 },
5167     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5168     & ifmt_fadds, { 0x1e405c0 }
5169   },
5170 /* fdmuls$pack $FRi,$FRj,$FRk */
5171   {
5172     { 0, 0, 0, 0 },
5173     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5174     & ifmt_fadds, { 0x1e40600 }
5175   },
5176 /* fddivs$pack $FRi,$FRj,$FRk */
5177   {
5178     { 0, 0, 0, 0 },
5179     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5180     & ifmt_fadds, { 0x1e40640 }
5181   },
5182 /* fdsads$pack $FRi,$FRj,$FRk */
5183   {
5184     { 0, 0, 0, 0 },
5185     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5186     & ifmt_fadds, { 0x1e40780 }
5187   },
5188 /* fdmulcs$pack $FRi,$FRj,$FRk */
5189   {
5190     { 0, 0, 0, 0 },
5191     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5192     & ifmt_fadds, { 0x1e407c0 }
5193   },
5194 /* nfdmulcs$pack $FRi,$FRj,$FRk */
5195   {
5196     { 0, 0, 0, 0 },
5197     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5198     & ifmt_fadds, { 0x1e40fc0 }
5199   },
5200 /* nfdadds$pack $FRi,$FRj,$FRk */
5201   {
5202     { 0, 0, 0, 0 },
5203     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5204     & ifmt_fadds, { 0x1e40d80 }
5205   },
5206 /* nfdsubs$pack $FRi,$FRj,$FRk */
5207   {
5208     { 0, 0, 0, 0 },
5209     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5210     & ifmt_fadds, { 0x1e40dc0 }
5211   },
5212 /* nfdmuls$pack $FRi,$FRj,$FRk */
5213   {
5214     { 0, 0, 0, 0 },
5215     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5216     & ifmt_fadds, { 0x1e40e00 }
5217   },
5218 /* nfddivs$pack $FRi,$FRj,$FRk */
5219   {
5220     { 0, 0, 0, 0 },
5221     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5222     & ifmt_fadds, { 0x1e40e40 }
5223   },
5224 /* nfdsads$pack $FRi,$FRj,$FRk */
5225   {
5226     { 0, 0, 0, 0 },
5227     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5228     & ifmt_fadds, { 0x1e40f80 }
5229   },
5230 /* nfdcmps$pack $FRi,$FRj,$FCCi_2 */
5231   {
5232     { 0, 0, 0, 0 },
5233     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
5234     & ifmt_fcmps, { 0x1e40e80 }
5235   },
5236 /* mhsetlos$pack $u12,$FRklo */
5237   {
5238     { 0, 0, 0, 0 },
5239     { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRKLO), 0 } },
5240     & ifmt_mhsetlos, { 0x1e00800 }
5241   },
5242 /* mhsethis$pack $u12,$FRkhi */
5243   {
5244     { 0, 0, 0, 0 },
5245     { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRKHI), 0 } },
5246     & ifmt_mhsethis, { 0x1e00880 }
5247   },
5248 /* mhdsets$pack $u12,$FRintk */
5249   {
5250     { 0, 0, 0, 0 },
5251     { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRINTK), 0 } },
5252     & ifmt_mhdsets, { 0x1e00900 }
5253   },
5254 /* mhsetloh$pack $s5,$FRklo */
5255   {
5256     { 0, 0, 0, 0 },
5257     { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRKLO), 0 } },
5258     & ifmt_mhsetloh, { 0x1e00840 }
5259   },
5260 /* mhsethih$pack $s5,$FRkhi */
5261   {
5262     { 0, 0, 0, 0 },
5263     { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRKHI), 0 } },
5264     & ifmt_mhsethih, { 0x1e008c0 }
5265   },
5266 /* mhdseth$pack $s5,$FRintk */
5267   {
5268     { 0, 0, 0, 0 },
5269     { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRINTK), 0 } },
5270     & ifmt_mhdseth, { 0x1e00940 }
5271   },
5272 /* mand$pack $FRinti,$FRintj,$FRintk */
5273   {
5274     { 0, 0, 0, 0 },
5275     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5276     & ifmt_mand, { 0x1ec0000 }
5277   },
5278 /* mor$pack $FRinti,$FRintj,$FRintk */
5279   {
5280     { 0, 0, 0, 0 },
5281     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5282     & ifmt_mand, { 0x1ec0040 }
5283   },
5284 /* mxor$pack $FRinti,$FRintj,$FRintk */
5285   {
5286     { 0, 0, 0, 0 },
5287     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5288     & ifmt_mand, { 0x1ec0080 }
5289   },
5290 /* cmand$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5291   {
5292     { 0, 0, 0, 0 },
5293     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5294     & ifmt_cmand, { 0x1c00000 }
5295   },
5296 /* cmor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5297   {
5298     { 0, 0, 0, 0 },
5299     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5300     & ifmt_cmand, { 0x1c00040 }
5301   },
5302 /* cmxor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5303   {
5304     { 0, 0, 0, 0 },
5305     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5306     & ifmt_cmand, { 0x1c00080 }
5307   },
5308 /* mnot$pack $FRintj,$FRintk */
5309   {
5310     { 0, 0, 0, 0 },
5311     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5312     & ifmt_mnot, { 0x1ec00c0 }
5313   },
5314 /* cmnot$pack $FRintj,$FRintk,$CCi,$cond */
5315   {
5316     { 0, 0, 0, 0 },
5317     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5318     & ifmt_cmnot, { 0x1c000c0 }
5319   },
5320 /* mrotli$pack $FRinti,$u6,$FRintk */
5321   {
5322     { 0, 0, 0, 0 },
5323     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5324     & ifmt_mrotli, { 0x1ec0100 }
5325   },
5326 /* mrotri$pack $FRinti,$u6,$FRintk */
5327   {
5328     { 0, 0, 0, 0 },
5329     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5330     & ifmt_mrotli, { 0x1ec0140 }
5331   },
5332 /* mwcut$pack $FRinti,$FRintj,$FRintk */
5333   {
5334     { 0, 0, 0, 0 },
5335     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5336     & ifmt_mand, { 0x1ec0180 }
5337   },
5338 /* mwcuti$pack $FRinti,$u6,$FRintk */
5339   {
5340     { 0, 0, 0, 0 },
5341     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5342     & ifmt_mrotli, { 0x1ec01c0 }
5343   },
5344 /* mcut$pack $ACC40Si,$FRintj,$FRintk */
5345   {
5346     { 0, 0, 0, 0 },
5347     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5348     & ifmt_mcut, { 0x1ec0b00 }
5349   },
5350 /* mcuti$pack $ACC40Si,$s6,$FRintk */
5351   {
5352     { 0, 0, 0, 0 },
5353     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTK), 0 } },
5354     & ifmt_mcuti, { 0x1ec0b80 }
5355   },
5356 /* mcutss$pack $ACC40Si,$FRintj,$FRintk */
5357   {
5358     { 0, 0, 0, 0 },
5359     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5360     & ifmt_mcut, { 0x1ec0b40 }
5361   },
5362 /* mcutssi$pack $ACC40Si,$s6,$FRintk */
5363   {
5364     { 0, 0, 0, 0 },
5365     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTK), 0 } },
5366     & ifmt_mcuti, { 0x1ec0bc0 }
5367   },
5368 /* mdcutssi$pack $ACC40Si,$s6,$FRintkeven */
5369   {
5370     { 0, 0, 0, 0 },
5371     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTKEVEN), 0 } },
5372     & ifmt_mdcutssi, { 0x1e00380 }
5373   },
5374 /* maveh$pack $FRinti,$FRintj,$FRintk */
5375   {
5376     { 0, 0, 0, 0 },
5377     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5378     & ifmt_mand, { 0x1ec0200 }
5379   },
5380 /* msllhi$pack $FRinti,$u6,$FRintk */
5381   {
5382     { 0, 0, 0, 0 },
5383     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5384     & ifmt_mrotli, { 0x1ec0240 }
5385   },
5386 /* msrlhi$pack $FRinti,$u6,$FRintk */
5387   {
5388     { 0, 0, 0, 0 },
5389     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5390     & ifmt_mrotli, { 0x1ec0280 }
5391   },
5392 /* msrahi$pack $FRinti,$u6,$FRintk */
5393   {
5394     { 0, 0, 0, 0 },
5395     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5396     & ifmt_mrotli, { 0x1ec02c0 }
5397   },
5398 /* mdrotli$pack $FRintieven,$s6,$FRintkeven */
5399   {
5400     { 0, 0, 0, 0 },
5401     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (S6), ',', OP (FRINTKEVEN), 0 } },
5402     & ifmt_mdrotli, { 0x1e002c0 }
5403   },
5404 /* mcplhi$pack $FRinti,$u6,$FRintk */
5405   {
5406     { 0, 0, 0, 0 },
5407     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5408     & ifmt_mrotli, { 0x1e00300 }
5409   },
5410 /* mcpli$pack $FRinti,$u6,$FRintk */
5411   {
5412     { 0, 0, 0, 0 },
5413     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5414     & ifmt_mrotli, { 0x1e00340 }
5415   },
5416 /* msaths$pack $FRinti,$FRintj,$FRintk */
5417   {
5418     { 0, 0, 0, 0 },
5419     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5420     & ifmt_mand, { 0x1ec0300 }
5421   },
5422 /* mqsaths$pack $FRintieven,$FRintjeven,$FRintkeven */
5423   {
5424     { 0, 0, 0, 0 },
5425     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5426     & ifmt_mqsaths, { 0x1e003c0 }
5427   },
5428 /* msathu$pack $FRinti,$FRintj,$FRintk */
5429   {
5430     { 0, 0, 0, 0 },
5431     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5432     & ifmt_mand, { 0x1ec0340 }
5433   },
5434 /* mcmpsh$pack $FRinti,$FRintj,$FCCk */
5435   {
5436     { 0, 0, 0, 0 },
5437     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FCCK), 0 } },
5438     & ifmt_mcmpsh, { 0x1ec0380 }
5439   },
5440 /* mcmpuh$pack $FRinti,$FRintj,$FCCk */
5441   {
5442     { 0, 0, 0, 0 },
5443     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FCCK), 0 } },
5444     & ifmt_mcmpsh, { 0x1ec03c0 }
5445   },
5446 /* mabshs$pack $FRintj,$FRintk */
5447   {
5448     { 0, 0, 0, 0 },
5449     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5450     & ifmt_mabshs, { 0x1e00280 }
5451   },
5452 /* maddhss$pack $FRinti,$FRintj,$FRintk */
5453   {
5454     { 0, 0, 0, 0 },
5455     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5456     & ifmt_mand, { 0x1ec0400 }
5457   },
5458 /* maddhus$pack $FRinti,$FRintj,$FRintk */
5459   {
5460     { 0, 0, 0, 0 },
5461     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5462     & ifmt_mand, { 0x1ec0440 }
5463   },
5464 /* msubhss$pack $FRinti,$FRintj,$FRintk */
5465   {
5466     { 0, 0, 0, 0 },
5467     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5468     & ifmt_mand, { 0x1ec0480 }
5469   },
5470 /* msubhus$pack $FRinti,$FRintj,$FRintk */
5471   {
5472     { 0, 0, 0, 0 },
5473     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5474     & ifmt_mand, { 0x1ec04c0 }
5475   },
5476 /* cmaddhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5477   {
5478     { 0, 0, 0, 0 },
5479     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5480     & ifmt_cmand, { 0x1c40000 }
5481   },
5482 /* cmaddhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5483   {
5484     { 0, 0, 0, 0 },
5485     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5486     & ifmt_cmand, { 0x1c40040 }
5487   },
5488 /* cmsubhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5489   {
5490     { 0, 0, 0, 0 },
5491     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5492     & ifmt_cmand, { 0x1c40080 }
5493   },
5494 /* cmsubhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5495   {
5496     { 0, 0, 0, 0 },
5497     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5498     & ifmt_cmand, { 0x1c400c0 }
5499   },
5500 /* mqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven */
5501   {
5502     { 0, 0, 0, 0 },
5503     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5504     & ifmt_mqsaths, { 0x1ec0600 }
5505   },
5506 /* mqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven */
5507   {
5508     { 0, 0, 0, 0 },
5509     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5510     & ifmt_mqsaths, { 0x1ec0640 }
5511   },
5512 /* mqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven */
5513   {
5514     { 0, 0, 0, 0 },
5515     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5516     & ifmt_mqsaths, { 0x1ec0680 }
5517   },
5518 /* mqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven */
5519   {
5520     { 0, 0, 0, 0 },
5521     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5522     & ifmt_mqsaths, { 0x1ec06c0 }
5523   },
5524 /* cmqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5525   {
5526     { 0, 0, 0, 0 },
5527     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5528     & ifmt_cmqaddhss, { 0x1cc0000 }
5529   },
5530 /* cmqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5531   {
5532     { 0, 0, 0, 0 },
5533     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5534     & ifmt_cmqaddhss, { 0x1cc0040 }
5535   },
5536 /* cmqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5537   {
5538     { 0, 0, 0, 0 },
5539     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5540     & ifmt_cmqaddhss, { 0x1cc0080 }
5541   },
5542 /* cmqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5543   {
5544     { 0, 0, 0, 0 },
5545     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5546     & ifmt_cmqaddhss, { 0x1cc00c0 }
5547   },
5548 /* mqlclrhs$pack $FRintieven,$FRintjeven,$FRintkeven */
5549   {
5550     { 0, 0, 0, 0 },
5551     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5552     & ifmt_mqsaths, { 0x1e00400 }
5553   },
5554 /* mqlmths$pack $FRintieven,$FRintjeven,$FRintkeven */
5555   {
5556     { 0, 0, 0, 0 },
5557     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5558     & ifmt_mqsaths, { 0x1e00500 }
5559   },
5560 /* mqsllhi$pack $FRintieven,$u6,$FRintkeven */
5561   {
5562     { 0, 0, 0, 0 },
5563     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
5564     & ifmt_mqsllhi, { 0x1e00440 }
5565   },
5566 /* mqsrahi$pack $FRintieven,$u6,$FRintkeven */
5567   {
5568     { 0, 0, 0, 0 },
5569     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
5570     & ifmt_mqsllhi, { 0x1e004c0 }
5571   },
5572 /* maddaccs$pack $ACC40Si,$ACC40Sk */
5573   {
5574     { 0, 0, 0, 0 },
5575     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5576     & ifmt_maddaccs, { 0x1e00100 }
5577   },
5578 /* msubaccs$pack $ACC40Si,$ACC40Sk */
5579   {
5580     { 0, 0, 0, 0 },
5581     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5582     & ifmt_maddaccs, { 0x1e00140 }
5583   },
5584 /* mdaddaccs$pack $ACC40Si,$ACC40Sk */
5585   {
5586     { 0, 0, 0, 0 },
5587     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5588     & ifmt_maddaccs, { 0x1e00180 }
5589   },
5590 /* mdsubaccs$pack $ACC40Si,$ACC40Sk */
5591   {
5592     { 0, 0, 0, 0 },
5593     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5594     & ifmt_maddaccs, { 0x1e001c0 }
5595   },
5596 /* masaccs$pack $ACC40Si,$ACC40Sk */
5597   {
5598     { 0, 0, 0, 0 },
5599     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5600     & ifmt_maddaccs, { 0x1e00200 }
5601   },
5602 /* mdasaccs$pack $ACC40Si,$ACC40Sk */
5603   {
5604     { 0, 0, 0, 0 },
5605     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5606     & ifmt_maddaccs, { 0x1e00240 }
5607   },
5608 /* mmulhs$pack $FRinti,$FRintj,$ACC40Sk */
5609   {
5610     { 0, 0, 0, 0 },
5611     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5612     & ifmt_mmulhs, { 0x1ec0500 }
5613   },
5614 /* mmulhu$pack $FRinti,$FRintj,$ACC40Sk */
5615   {
5616     { 0, 0, 0, 0 },
5617     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5618     & ifmt_mmulhs, { 0x1ec0540 }
5619   },
5620 /* mmulxhs$pack $FRinti,$FRintj,$ACC40Sk */
5621   {
5622     { 0, 0, 0, 0 },
5623     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5624     & ifmt_mmulhs, { 0x1ec0a00 }
5625   },
5626 /* mmulxhu$pack $FRinti,$FRintj,$ACC40Sk */
5627   {
5628     { 0, 0, 0, 0 },
5629     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5630     & ifmt_mmulhs, { 0x1ec0a40 }
5631   },
5632 /* cmmulhs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5633   {
5634     { 0, 0, 0, 0 },
5635     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5636     & ifmt_cmmulhs, { 0x1c80000 }
5637   },
5638 /* cmmulhu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5639   {
5640     { 0, 0, 0, 0 },
5641     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5642     & ifmt_cmmulhs, { 0x1c80040 }
5643   },
5644 /* mqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5645   {
5646     { 0, 0, 0, 0 },
5647     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5648     & ifmt_mqmulhs, { 0x1ec0700 }
5649   },
5650 /* mqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5651   {
5652     { 0, 0, 0, 0 },
5653     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5654     & ifmt_mqmulhs, { 0x1ec0740 }
5655   },
5656 /* mqmulxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5657   {
5658     { 0, 0, 0, 0 },
5659     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5660     & ifmt_mqmulhs, { 0x1ec0a80 }
5661   },
5662 /* mqmulxhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5663   {
5664     { 0, 0, 0, 0 },
5665     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5666     & ifmt_mqmulhs, { 0x1ec0ac0 }
5667   },
5668 /* cmqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5669   {
5670     { 0, 0, 0, 0 },
5671     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5672     & ifmt_cmqmulhs, { 0x1d00000 }
5673   },
5674 /* cmqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5675   {
5676     { 0, 0, 0, 0 },
5677     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5678     & ifmt_cmqmulhs, { 0x1d00040 }
5679   },
5680 /* mmachs$pack $FRinti,$FRintj,$ACC40Sk */
5681   {
5682     { 0, 0, 0, 0 },
5683     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5684     & ifmt_mmulhs, { 0x1ec0580 }
5685   },
5686 /* mmachu$pack $FRinti,$FRintj,$ACC40Uk */
5687   {
5688     { 0, 0, 0, 0 },
5689     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), 0 } },
5690     & ifmt_mmachu, { 0x1ec05c0 }
5691   },
5692 /* mmrdhs$pack $FRinti,$FRintj,$ACC40Sk */
5693   {
5694     { 0, 0, 0, 0 },
5695     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5696     & ifmt_mmulhs, { 0x1ec0c00 }
5697   },
5698 /* mmrdhu$pack $FRinti,$FRintj,$ACC40Uk */
5699   {
5700     { 0, 0, 0, 0 },
5701     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), 0 } },
5702     & ifmt_mmachu, { 0x1ec0c40 }
5703   },
5704 /* cmmachs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5705   {
5706     { 0, 0, 0, 0 },
5707     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5708     & ifmt_cmmulhs, { 0x1c80080 }
5709   },
5710 /* cmmachu$pack $FRinti,$FRintj,$ACC40Uk,$CCi,$cond */
5711   {
5712     { 0, 0, 0, 0 },
5713     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), ',', OP (CCI), ',', OP (COND), 0 } },
5714     & ifmt_cmmachu, { 0x1c800c0 }
5715   },
5716 /* mqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5717   {
5718     { 0, 0, 0, 0 },
5719     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5720     & ifmt_mqmulhs, { 0x1ec0780 }
5721   },
5722 /* mqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk */
5723   {
5724     { 0, 0, 0, 0 },
5725     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40UK), 0 } },
5726     & ifmt_mqmachu, { 0x1ec07c0 }
5727   },
5728 /* cmqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5729   {
5730     { 0, 0, 0, 0 },
5731     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5732     & ifmt_cmqmulhs, { 0x1d00080 }
5733   },
5734 /* cmqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk,$CCi,$cond */
5735   {
5736     { 0, 0, 0, 0 },
5737     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40UK), ',', OP (CCI), ',', OP (COND), 0 } },
5738     & ifmt_cmqmachu, { 0x1d000c0 }
5739   },
5740 /* mqxmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5741   {
5742     { 0, 0, 0, 0 },
5743     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5744     & ifmt_mqmulhs, { 0x1e00000 }
5745   },
5746 /* mqxmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5747   {
5748     { 0, 0, 0, 0 },
5749     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5750     & ifmt_mqmulhs, { 0x1e00040 }
5751   },
5752 /* mqmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5753   {
5754     { 0, 0, 0, 0 },
5755     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5756     & ifmt_mqmulhs, { 0x1e00080 }
5757   },
5758 /* mcpxrs$pack $FRinti,$FRintj,$ACC40Sk */
5759   {
5760     { 0, 0, 0, 0 },
5761     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5762     & ifmt_mmulhs, { 0x1ec0800 }
5763   },
5764 /* mcpxru$pack $FRinti,$FRintj,$ACC40Sk */
5765   {
5766     { 0, 0, 0, 0 },
5767     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5768     & ifmt_mmulhs, { 0x1ec0840 }
5769   },
5770 /* mcpxis$pack $FRinti,$FRintj,$ACC40Sk */
5771   {
5772     { 0, 0, 0, 0 },
5773     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5774     & ifmt_mmulhs, { 0x1ec0880 }
5775   },
5776 /* mcpxiu$pack $FRinti,$FRintj,$ACC40Sk */
5777   {
5778     { 0, 0, 0, 0 },
5779     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5780     & ifmt_mmulhs, { 0x1ec08c0 }
5781   },
5782 /* cmcpxrs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5783   {
5784     { 0, 0, 0, 0 },
5785     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5786     & ifmt_cmmulhs, { 0x1d40000 }
5787   },
5788 /* cmcpxru$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5789   {
5790     { 0, 0, 0, 0 },
5791     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5792     & ifmt_cmmulhs, { 0x1d40040 }
5793   },
5794 /* cmcpxis$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5795   {
5796     { 0, 0, 0, 0 },
5797     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5798     & ifmt_cmmulhs, { 0x1d40080 }
5799   },
5800 /* cmcpxiu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5801   {
5802     { 0, 0, 0, 0 },
5803     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5804     & ifmt_cmmulhs, { 0x1d400c0 }
5805   },
5806 /* mqcpxrs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5807   {
5808     { 0, 0, 0, 0 },
5809     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5810     & ifmt_mqmulhs, { 0x1ec0900 }
5811   },
5812 /* mqcpxru$pack $FRintieven,$FRintjeven,$ACC40Sk */
5813   {
5814     { 0, 0, 0, 0 },
5815     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5816     & ifmt_mqmulhs, { 0x1ec0940 }
5817   },
5818 /* mqcpxis$pack $FRintieven,$FRintjeven,$ACC40Sk */
5819   {
5820     { 0, 0, 0, 0 },
5821     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5822     & ifmt_mqmulhs, { 0x1ec0980 }
5823   },
5824 /* mqcpxiu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5825   {
5826     { 0, 0, 0, 0 },
5827     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5828     & ifmt_mqmulhs, { 0x1ec09c0 }
5829   },
5830 /* mexpdhw$pack $FRinti,$u6,$FRintk */
5831   {
5832     { 0, 0, 0, 0 },
5833     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5834     & ifmt_mrotli, { 0x1ec0c80 }
5835   },
5836 /* cmexpdhw$pack $FRinti,$u6,$FRintk,$CCi,$cond */
5837   {
5838     { 0, 0, 0, 0 },
5839     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5840     & ifmt_cmexpdhw, { 0x1d80080 }
5841   },
5842 /* mexpdhd$pack $FRinti,$u6,$FRintkeven */
5843   {
5844     { 0, 0, 0, 0 },
5845     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
5846     & ifmt_mexpdhd, { 0x1ec0cc0 }
5847   },
5848 /* cmexpdhd$pack $FRinti,$u6,$FRintkeven,$CCi,$cond */
5849   {
5850     { 0, 0, 0, 0 },
5851     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5852     & ifmt_cmexpdhd, { 0x1d800c0 }
5853   },
5854 /* mpackh$pack $FRinti,$FRintj,$FRintk */
5855   {
5856     { 0, 0, 0, 0 },
5857     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5858     & ifmt_mand, { 0x1ec0d00 }
5859   },
5860 /* mdpackh$pack $FRintieven,$FRintjeven,$FRintkeven */
5861   {
5862     { 0, 0, 0, 0 },
5863     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5864     & ifmt_mqsaths, { 0x1ec0d80 }
5865   },
5866 /* munpackh$pack $FRinti,$FRintkeven */
5867   {
5868     { 0, 0, 0, 0 },
5869     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTKEVEN), 0 } },
5870     & ifmt_munpackh, { 0x1ec0d40 }
5871   },
5872 /* mdunpackh$pack $FRintieven,$FRintk */
5873   {
5874     { 0, 0, 0, 0 },
5875     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTK), 0 } },
5876     & ifmt_mdunpackh, { 0x1ec0dc0 }
5877   },
5878 /* mbtoh$pack $FRintj,$FRintkeven */
5879   {
5880     { 0, 0, 0, 0 },
5881     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTKEVEN), 0 } },
5882     & ifmt_mbtoh, { 0x1ec0e00 }
5883   },
5884 /* cmbtoh$pack $FRintj,$FRintkeven,$CCi,$cond */
5885   {
5886     { 0, 0, 0, 0 },
5887     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5888     & ifmt_cmbtoh, { 0x1dc0000 }
5889   },
5890 /* mhtob$pack $FRintjeven,$FRintk */
5891   {
5892     { 0, 0, 0, 0 },
5893     { { MNEM, OP (PACK), ' ', OP (FRINTJEVEN), ',', OP (FRINTK), 0 } },
5894     & ifmt_mhtob, { 0x1ec0e40 }
5895   },
5896 /* cmhtob$pack $FRintjeven,$FRintk,$CCi,$cond */
5897   {
5898     { 0, 0, 0, 0 },
5899     { { MNEM, OP (PACK), ' ', OP (FRINTJEVEN), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5900     & ifmt_cmhtob, { 0x1dc0040 }
5901   },
5902 /* mbtohe$pack $FRintj,$FRintk */
5903   {
5904     { 0, 0, 0, 0 },
5905     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5906     & ifmt_mabshs, { 0x1ec0e80 }
5907   },
5908 /* cmbtohe$pack $FRintj,$FRintk,$CCi,$cond */
5909   {
5910     { 0, 0, 0, 0 },
5911     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5912     & ifmt_cmbtohe, { 0x1dc0080 }
5913   },
5914 /* mnop$pack */
5915   {
5916     { 0, 0, 0, 0 },
5917     { { MNEM, OP (PACK), 0 } },
5918     & ifmt_mnop, { 0x7fee0ec0 }
5919   },
5920 /* mclracc$pack $ACC40Sk,$A0 */
5921   {
5922     { 0, 0, 0, 0 },
5923     { { MNEM, OP (PACK), ' ', OP (ACC40SK), ',', OP (A0), 0 } },
5924     & ifmt_mclracc_0, { 0x1ec0ec0 }
5925   },
5926 /* mclracc$pack $ACC40Sk,$A1 */
5927   {
5928     { 0, 0, 0, 0 },
5929     { { MNEM, OP (PACK), ' ', OP (ACC40SK), ',', OP (A1), 0 } },
5930     & ifmt_mclracc_0, { 0x1ee0ec0 }
5931   },
5932 /* mrdacc$pack $ACC40Si,$FRintk */
5933   {
5934     { 0, 0, 0, 0 },
5935     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTK), 0 } },
5936     & ifmt_mrdacc, { 0x1ec0f00 }
5937   },
5938 /* mrdaccg$pack $ACCGi,$FRintk */
5939   {
5940     { 0, 0, 0, 0 },
5941     { { MNEM, OP (PACK), ' ', OP (ACCGI), ',', OP (FRINTK), 0 } },
5942     & ifmt_mrdaccg, { 0x1ec0f80 }
5943   },
5944 /* mwtacc$pack $FRinti,$ACC40Sk */
5945   {
5946     { 0, 0, 0, 0 },
5947     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (ACC40SK), 0 } },
5948     & ifmt_mwtacc, { 0x1ec0f40 }
5949   },
5950 /* mwtaccg$pack $FRinti,$ACCGk */
5951   {
5952     { 0, 0, 0, 0 },
5953     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (ACCGK), 0 } },
5954     & ifmt_mwtaccg, { 0x1ec0fc0 }
5955   },
5956 /* mcop1$pack $FRi,$FRj,$FRk */
5957   {
5958     { 0, 0, 0, 0 },
5959     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5960     & ifmt_fadds, { 0x1f00000 }
5961   },
5962 /* mcop2$pack $FRi,$FRj,$FRk */
5963   {
5964     { 0, 0, 0, 0 },
5965     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5966     & ifmt_fadds, { 0x1f40000 }
5967   },
5968 /* fnop$pack */
5969   {
5970     { 0, 0, 0, 0 },
5971     { { MNEM, OP (PACK), 0 } },
5972     & ifmt_fnop, { 0x1e40340 }
5973   },
5974 };
5975
5976 #undef A
5977 #undef OPERAND
5978 #undef MNEM
5979 #undef OP
5980
5981 /* Formats for ALIAS macro-insns.  */
5982
5983 #define F(f) & frv_cgen_ifld_table[FRV_##f]
5984 static const CGEN_IFMT ifmt_nop ATTRIBUTE_UNUSED = {
5985   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
5986 };
5987
5988 static const CGEN_IFMT ifmt_ret ATTRIBUTE_UNUSED = {
5989   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2_NULL) }, { F (F_OP) }, { F (F_HINT) }, { F (F_OPE3) }, { F (F_CCOND_NULL) }, { F (F_S12_NULL) }, { 0 } }
5990 };
5991
5992 static const CGEN_IFMT ifmt_cmp ATTRIBUTE_UNUSED = {
5993   32, 32, 0x7ffc03c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_OPE2) }, { F (F_GRJ) }, { 0 } }
5994 };
5995
5996 static const CGEN_IFMT ifmt_cmpi ATTRIBUTE_UNUSED = {
5997   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
5998 };
5999
6000 static const CGEN_IFMT ifmt_ccmp ATTRIBUTE_UNUSED = {
6001   32, 32, 0x7ffc00c0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
6002 };
6003
6004 static const CGEN_IFMT ifmt_mov ATTRIBUTE_UNUSED = {
6005   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
6006 };
6007
6008 static const CGEN_IFMT ifmt_cmov ATTRIBUTE_UNUSED = {
6009   32, 32, 0x1fc00ff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_GRJ) }, { 0 } }
6010 };
6011
6012 #undef F
6013
6014 /* Each non-simple macro entry points to an array of expansion possibilities.  */
6015
6016 #define A(a) (1 << CGEN_INSN_##a)
6017 #define OPERAND(op) FRV_OPERAND_##op
6018 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
6019 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
6020
6021 /* The macro instruction table.  */
6022
6023 static const CGEN_IBASE frv_cgen_macro_insn_table[] =
6024 {
6025 /* nop$pack */
6026   {
6027     -1, "nop", "nop", 32,
6028     { 0|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_IALL, 0 } }, { { FR400_MAJOR_I_1, 0 } }, { { FR450_MAJOR_I_1, 0 } }, { { FR500_MAJOR_I_1, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6029   },
6030 /* ret$pack */
6031   {
6032     -1, "ret", "ret", 32,
6033     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_B01, 0 } }, { { FR400_MAJOR_B_3, 0 } }, { { FR450_MAJOR_B_3, 0 } }, { { FR500_MAJOR_B_3, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6034   },
6035 /* cmp$pack $GRi,$GRj,$ICCi_1 */
6036   {
6037     -1, "cmp", "cmp", 32,
6038     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_IALL, 0 } }, { { FR400_MAJOR_I_1, 0 } }, { { FR450_MAJOR_I_1, 0 } }, { { FR500_MAJOR_I_1, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6039   },
6040 /* cmpi$pack $GRi,$s10,$ICCi_1 */
6041   {
6042     -1, "cmpi", "cmpi", 32,
6043     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_IALL, 0 } }, { { FR400_MAJOR_I_1, 0 } }, { { FR450_MAJOR_I_1, 0 } }, { { FR500_MAJOR_I_1, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6044   },
6045 /* ccmp$pack $GRi,$GRj,$CCi,$cond */
6046   {
6047     -1, "ccmp", "ccmp", 32,
6048     { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_IALL, 0 } }, { { FR400_MAJOR_I_1, 0 } }, { { FR450_MAJOR_I_1, 0 } }, { { FR500_MAJOR_I_1, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6049   },
6050 /* mov$pack $GRi,$GRk */
6051   {
6052     -1, "mov", "mov", 32,
6053     { 0|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_IALL, 0 } }, { { FR400_MAJOR_I_1, 0 } }, { { FR450_MAJOR_I_1, 0 } }, { { FR500_MAJOR_I_1, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6054   },
6055 /* cmov$pack $GRi,$GRk,$CCi,$cond */
6056   {
6057     -1, "cmov", "cmov", 32,
6058     { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { { { (1<<MACH_BASE), 0 } }, { { UNIT_IALL, 0 } }, { { FR400_MAJOR_I_1, 0 } }, { { FR450_MAJOR_I_1, 0 } }, { { FR500_MAJOR_I_1, 0 } }, { { FR550_MAJOR_NONE, 0 } } } }
6059   },
6060 };
6061
6062 /* The macro instruction opcode table.  */
6063
6064 static const CGEN_OPCODE frv_cgen_macro_insn_opcode_table[] =
6065 {
6066 /* nop$pack */
6067   {
6068     { 0, 0, 0, 0 },
6069     { { MNEM, OP (PACK), 0 } },
6070     & ifmt_nop, { 0x880000 }
6071   },
6072 /* ret$pack */
6073   {
6074     { 0, 0, 0, 0 },
6075     { { MNEM, OP (PACK), 0 } },
6076     & ifmt_ret, { 0x403a4000 }
6077   },
6078 /* cmp$pack $GRi,$GRj,$ICCi_1 */
6079   {
6080     { 0, 0, 0, 0 },
6081     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
6082     & ifmt_cmp, { 0x140 }
6083   },
6084 /* cmpi$pack $GRi,$s10,$ICCi_1 */
6085   {
6086     { 0, 0, 0, 0 },
6087     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (ICCI_1), 0 } },
6088     & ifmt_cmpi, { 0x540000 }
6089   },
6090 /* ccmp$pack $GRi,$GRj,$CCi,$cond */
6091   {
6092     { 0, 0, 0, 0 },
6093     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
6094     & ifmt_ccmp, { 0x1640040 }
6095   },
6096 /* mov$pack $GRi,$GRk */
6097   {
6098     { 0, 0, 0, 0 },
6099     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), 0 } },
6100     & ifmt_mov, { 0x880000 }
6101   },
6102 /* cmov$pack $GRi,$GRk,$CCi,$cond */
6103   {
6104     { 0, 0, 0, 0 },
6105     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
6106     & ifmt_cmov, { 0x1680040 }
6107   },
6108 };
6109
6110 #undef A
6111 #undef OPERAND
6112 #undef MNEM
6113 #undef OP
6114
6115 #ifndef CGEN_ASM_HASH_P
6116 #define CGEN_ASM_HASH_P(insn) 1
6117 #endif
6118
6119 #ifndef CGEN_DIS_HASH_P
6120 #define CGEN_DIS_HASH_P(insn) 1
6121 #endif
6122
6123 /* Return non-zero if INSN is to be added to the hash table.
6124    Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file.  */
6125
6126 static int
6127 asm_hash_insn_p (insn)
6128      const CGEN_INSN *insn ATTRIBUTE_UNUSED;
6129 {
6130   return CGEN_ASM_HASH_P (insn);
6131 }
6132
6133 static int
6134 dis_hash_insn_p (insn)
6135      const CGEN_INSN *insn;
6136 {
6137   /* If building the hash table and the NO-DIS attribute is present,
6138      ignore.  */
6139   if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
6140     return 0;
6141   return CGEN_DIS_HASH_P (insn);
6142 }
6143
6144 #ifndef CGEN_ASM_HASH
6145 #define CGEN_ASM_HASH_SIZE 127
6146 #ifdef CGEN_MNEMONIC_OPERANDS
6147 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
6148 #else
6149 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
6150 #endif
6151 #endif
6152
6153 /* It doesn't make much sense to provide a default here,
6154    but while this is under development we do.
6155    BUFFER is a pointer to the bytes of the insn, target order.
6156    VALUE is the first base_insn_bitsize bits as an int in host order.  */
6157
6158 #ifndef CGEN_DIS_HASH
6159 #define CGEN_DIS_HASH_SIZE 256
6160 #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
6161 #endif
6162
6163 /* The result is the hash value of the insn.
6164    Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file.  */
6165
6166 static unsigned int
6167 asm_hash_insn (mnem)
6168      const char * mnem;
6169 {
6170   return CGEN_ASM_HASH (mnem);
6171 }
6172
6173 /* BUF is a pointer to the bytes of the insn, target order.
6174    VALUE is the first base_insn_bitsize bits as an int in host order.  */
6175
6176 static unsigned int
6177 dis_hash_insn (buf, value)
6178      const char * buf ATTRIBUTE_UNUSED;
6179      CGEN_INSN_INT value ATTRIBUTE_UNUSED;
6180 {
6181   return CGEN_DIS_HASH (buf, value);
6182 }
6183
6184 /* Set the recorded length of the insn in the CGEN_FIELDS struct.  */
6185
6186 static void
6187 set_fields_bitsize (CGEN_FIELDS *fields, int size)
6188 {
6189   CGEN_FIELDS_BITSIZE (fields) = size;
6190 }
6191
6192 /* Function to call before using the operand instance table.
6193    This plugs the opcode entries and macro instructions into the cpu table.  */
6194
6195 void
6196 frv_cgen_init_opcode_table (CGEN_CPU_DESC cd)
6197 {
6198   int i;
6199   int num_macros = (sizeof (frv_cgen_macro_insn_table) /
6200                     sizeof (frv_cgen_macro_insn_table[0]));
6201   const CGEN_IBASE *ib = & frv_cgen_macro_insn_table[0];
6202   const CGEN_OPCODE *oc = & frv_cgen_macro_insn_opcode_table[0];
6203   CGEN_INSN *insns = xmalloc (num_macros * sizeof (CGEN_INSN));
6204
6205   /* This test has been added to avoid a warning generated
6206      if memset is called with a third argument of value zero.  */
6207   if (num_macros >= 1)
6208     memset (insns, 0, num_macros * sizeof (CGEN_INSN));
6209   for (i = 0; i < num_macros; ++i)
6210     {
6211       insns[i].base = &ib[i];
6212       insns[i].opcode = &oc[i];
6213       frv_cgen_build_insn_regex (& insns[i]);
6214     }
6215   cd->macro_insn_table.init_entries = insns;
6216   cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
6217   cd->macro_insn_table.num_init_entries = num_macros;
6218
6219   oc = & frv_cgen_insn_opcode_table[0];
6220   insns = (CGEN_INSN *) cd->insn_table.init_entries;
6221   for (i = 0; i < MAX_INSNS; ++i)
6222     {
6223       insns[i].opcode = &oc[i];
6224       frv_cgen_build_insn_regex (& insns[i]);
6225     }
6226
6227   cd->sizeof_fields = sizeof (CGEN_FIELDS);
6228   cd->set_fields_bitsize = set_fields_bitsize;
6229
6230   cd->asm_hash_p = asm_hash_insn_p;
6231   cd->asm_hash = asm_hash_insn;
6232   cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
6233
6234   cd->dis_hash_p = dis_hash_insn_p;
6235   cd->dis_hash = dis_hash_insn;
6236   cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
6237 }