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