2003-10-08 Dave Brolley <brolley@redhat.com>
[platform/upstream/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_stdf = {
922   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
923 };
924
925 static const CGEN_IFMT ifmt_cldbf = {
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_clddf = {
930   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 } }
931 };
932
933 static const CGEN_IFMT ifmt_cstdf = {
934   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 } }
935 };
936
937 static const CGEN_IFMT ifmt_stdfi = {
938   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
939 };
940
941 static const CGEN_IFMT ifmt_movgf = {
942   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
943 };
944
945 static const CGEN_IFMT ifmt_cmovgf = {
946   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 } }
947 };
948
949 static const CGEN_IFMT ifmt_movgs = {
950   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_OP) }, { F (F_SPR) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
951 };
952
953 static const CGEN_IFMT ifmt_bra = {
954   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 } }
955 };
956
957 static const CGEN_IFMT ifmt_bno = {
958   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 } }
959 };
960
961 static const CGEN_IFMT ifmt_beq = {
962   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
963 };
964
965 static const CGEN_IFMT ifmt_fbra = {
966   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 } }
967 };
968
969 static const CGEN_IFMT ifmt_fbno = {
970   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 } }
971 };
972
973 static const CGEN_IFMT ifmt_fbne = {
974   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
975 };
976
977 static const CGEN_IFMT ifmt_bctrlr = {
978   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 } }
979 };
980
981 static const CGEN_IFMT ifmt_bralr = {
982   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 } }
983 };
984
985 static const CGEN_IFMT ifmt_bnolr = {
986   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 } }
987 };
988
989 static const CGEN_IFMT ifmt_beqlr = {
990   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 } }
991 };
992
993 static const CGEN_IFMT ifmt_fbralr = {
994   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 } }
995 };
996
997 static const CGEN_IFMT ifmt_fbnolr = {
998   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 } }
999 };
1000
1001 static const CGEN_IFMT ifmt_fbeqlr = {
1002   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 } }
1003 };
1004
1005 static const CGEN_IFMT ifmt_bcralr = {
1006   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 } }
1007 };
1008
1009 static const CGEN_IFMT ifmt_bceqlr = {
1010   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 } }
1011 };
1012
1013 static const CGEN_IFMT ifmt_fcbralr = {
1014   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 } }
1015 };
1016
1017 static const CGEN_IFMT ifmt_fcbeqlr = {
1018   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 } }
1019 };
1020
1021 static const CGEN_IFMT ifmt_jmpl = {
1022   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 } }
1023 };
1024
1025 static const CGEN_IFMT ifmt_calll = {
1026   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 } }
1027 };
1028
1029 static const CGEN_IFMT ifmt_jmpil = {
1030   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 } }
1031 };
1032
1033 static const CGEN_IFMT ifmt_callil = {
1034   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 } }
1035 };
1036
1037 static const CGEN_IFMT ifmt_call = {
1038   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_OP) }, { F (F_LABEL24) }, { 0 } }
1039 };
1040
1041 static const CGEN_IFMT ifmt_rett = {
1042   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 } }
1043 };
1044
1045 static const CGEN_IFMT ifmt_rei = {
1046   32, 32, 0x7ffc0fff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_EIR) }, { F (F_S12_NULL) }, { 0 } }
1047 };
1048
1049 static const CGEN_IFMT ifmt_tra = {
1050   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 } }
1051 };
1052
1053 static const CGEN_IFMT ifmt_tno = {
1054   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 } }
1055 };
1056
1057 static const CGEN_IFMT ifmt_teq = {
1058   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 } }
1059 };
1060
1061 static const CGEN_IFMT ifmt_ftra = {
1062   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 } }
1063 };
1064
1065 static const CGEN_IFMT ifmt_ftno = {
1066   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 } }
1067 };
1068
1069 static const CGEN_IFMT ifmt_ftne = {
1070   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 } }
1071 };
1072
1073 static const CGEN_IFMT ifmt_tira = {
1074   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 } }
1075 };
1076
1077 static const CGEN_IFMT ifmt_tino = {
1078   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 } }
1079 };
1080
1081 static const CGEN_IFMT ifmt_tieq = {
1082   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1083 };
1084
1085 static const CGEN_IFMT ifmt_ftira = {
1086   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 } }
1087 };
1088
1089 static const CGEN_IFMT ifmt_ftino = {
1090   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 } }
1091 };
1092
1093 static const CGEN_IFMT ifmt_ftine = {
1094   32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1095 };
1096
1097 static const CGEN_IFMT ifmt_break = {
1098   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 } }
1099 };
1100
1101 static const CGEN_IFMT ifmt_andcr = {
1102   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 } }
1103 };
1104
1105 static const CGEN_IFMT ifmt_notcr = {
1106   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 } }
1107 };
1108
1109 static const CGEN_IFMT ifmt_ckra = {
1110   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 } }
1111 };
1112
1113 static const CGEN_IFMT ifmt_ckeq = {
1114   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 } }
1115 };
1116
1117 static const CGEN_IFMT ifmt_fckra = {
1118   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 } }
1119 };
1120
1121 static const CGEN_IFMT ifmt_cckra = {
1122   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 } }
1123 };
1124
1125 static const CGEN_IFMT ifmt_cckeq = {
1126   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 } }
1127 };
1128
1129 static const CGEN_IFMT ifmt_cfckra = {
1130   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 } }
1131 };
1132
1133 static const CGEN_IFMT ifmt_cfckne = {
1134   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 } }
1135 };
1136
1137 static const CGEN_IFMT ifmt_cjmpl = {
1138   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 } }
1139 };
1140
1141 static const CGEN_IFMT ifmt_ccalll = {
1142   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 } }
1143 };
1144
1145 static const CGEN_IFMT ifmt_icei = {
1146   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 } }
1147 };
1148
1149 static const CGEN_IFMT ifmt_icpl = {
1150   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 } }
1151 };
1152
1153 static const CGEN_IFMT ifmt_icul = {
1154   32, 32, 0x7ffc0fff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1155 };
1156
1157 static const CGEN_IFMT ifmt_bar = {
1158   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 } }
1159 };
1160
1161 static const CGEN_IFMT ifmt_cop1 = {
1162   32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_CPRI) }, { F (F_S6_1) }, { F (F_CPRJ) }, { 0 } }
1163 };
1164
1165 static const CGEN_IFMT ifmt_clrgr = {
1166   32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1167 };
1168
1169 static const CGEN_IFMT ifmt_clrfr = {
1170   32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1171 };
1172
1173 static const CGEN_IFMT ifmt_fitos = {
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_fstoi = {
1178   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1179 };
1180
1181 static const CGEN_IFMT ifmt_fitod = {
1182   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1183 };
1184
1185 static const CGEN_IFMT ifmt_fdtoi = {
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_cfitos = {
1190   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 } }
1191 };
1192
1193 static const CGEN_IFMT ifmt_cfstoi = {
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_fmovs = {
1198   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1199 };
1200
1201 static const CGEN_IFMT ifmt_fmovd = {
1202   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1203 };
1204
1205 static const CGEN_IFMT ifmt_cfmovs = {
1206   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 } }
1207 };
1208
1209 static const CGEN_IFMT ifmt_fadds = {
1210   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1211 };
1212
1213 static const CGEN_IFMT ifmt_faddd = {
1214   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1215 };
1216
1217 static const CGEN_IFMT ifmt_cfadds = {
1218   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 } }
1219 };
1220
1221 static const CGEN_IFMT ifmt_fcmps = {
1222   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 } }
1223 };
1224
1225 static const CGEN_IFMT ifmt_fcmpd = {
1226   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 } }
1227 };
1228
1229 static const CGEN_IFMT ifmt_cfcmps = {
1230   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 } }
1231 };
1232
1233 static const CGEN_IFMT ifmt_mhsetlos = {
1234   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1235 };
1236
1237 static const CGEN_IFMT ifmt_mhsethis = {
1238   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1239 };
1240
1241 static const CGEN_IFMT ifmt_mhdsets = {
1242   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1243 };
1244
1245 static const CGEN_IFMT ifmt_mhsetloh = {
1246   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 } }
1247 };
1248
1249 static const CGEN_IFMT ifmt_mhsethih = {
1250   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 } }
1251 };
1252
1253 static const CGEN_IFMT ifmt_mhdseth = {
1254   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 } }
1255 };
1256
1257 static const CGEN_IFMT ifmt_mand = {
1258   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1259 };
1260
1261 static const CGEN_IFMT ifmt_cmand = {
1262   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 } }
1263 };
1264
1265 static const CGEN_IFMT ifmt_mnot = {
1266   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1267 };
1268
1269 static const CGEN_IFMT ifmt_cmnot = {
1270   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 } }
1271 };
1272
1273 static const CGEN_IFMT ifmt_mrotli = {
1274   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1275 };
1276
1277 static const CGEN_IFMT ifmt_mcut = {
1278   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1279 };
1280
1281 static const CGEN_IFMT ifmt_mcuti = {
1282   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1283 };
1284
1285 static const CGEN_IFMT ifmt_mdcutssi = {
1286   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1287 };
1288
1289 static const CGEN_IFMT ifmt_mdrotli = {
1290   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1291 };
1292
1293 static const CGEN_IFMT ifmt_mqsaths = {
1294   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1295 };
1296
1297 static const CGEN_IFMT ifmt_mcmpsh = {
1298   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 } }
1299 };
1300
1301 static const CGEN_IFMT ifmt_mabshs = {
1302   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1303 };
1304
1305 static const CGEN_IFMT ifmt_cmqaddhss = {
1306   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 } }
1307 };
1308
1309 static const CGEN_IFMT ifmt_maddaccs = {
1310   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_ACCJ_NULL) }, { 0 } }
1311 };
1312
1313 static const CGEN_IFMT ifmt_mmulhs = {
1314   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1315 };
1316
1317 static const CGEN_IFMT ifmt_cmmulhs = {
1318   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 } }
1319 };
1320
1321 static const CGEN_IFMT ifmt_mqmulhs = {
1322   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1323 };
1324
1325 static const CGEN_IFMT ifmt_cmqmulhs = {
1326   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 } }
1327 };
1328
1329 static const CGEN_IFMT ifmt_mmachu = {
1330   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1331 };
1332
1333 static const CGEN_IFMT ifmt_cmmachu = {
1334   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 } }
1335 };
1336
1337 static const CGEN_IFMT ifmt_mqmachu = {
1338   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1339 };
1340
1341 static const CGEN_IFMT ifmt_cmqmachu = {
1342   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 } }
1343 };
1344
1345 static const CGEN_IFMT ifmt_cmexpdhw = {
1346   32, 32, 0x1fc00c0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_CCI) }, { F (F_COND) }, { F (F_OPE4) }, { F (F_U6) }, { 0 } }
1347 };
1348
1349 static const CGEN_IFMT ifmt_mexpdhd = {
1350   32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1351 };
1352
1353 static const CGEN_IFMT ifmt_cmexpdhd = {
1354   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 } }
1355 };
1356
1357 static const CGEN_IFMT ifmt_munpackh = {
1358   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1359 };
1360
1361 static const CGEN_IFMT ifmt_mdunpackh = {
1362   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1363 };
1364
1365 static const CGEN_IFMT ifmt_mbtoh = {
1366   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1367 };
1368
1369 static const CGEN_IFMT ifmt_cmbtoh = {
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_mhtob = {
1374   32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1375 };
1376
1377 static const CGEN_IFMT ifmt_cmhtob = {
1378   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 } }
1379 };
1380
1381 static const CGEN_IFMT ifmt_cmbtohe = {
1382   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 } }
1383 };
1384
1385 static const CGEN_IFMT ifmt_mnop = {
1386   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 } }
1387 };
1388
1389 static const CGEN_IFMT ifmt_mclracc_0 = {
1390   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 } }
1391 };
1392
1393 static const CGEN_IFMT ifmt_mrdacc = {
1394   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1395 };
1396
1397 static const CGEN_IFMT ifmt_mrdaccg = {
1398   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACCGI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1399 };
1400
1401 static const CGEN_IFMT ifmt_mwtacc = {
1402   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1403 };
1404
1405 static const CGEN_IFMT ifmt_mwtaccg = {
1406   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACCGK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1407 };
1408
1409 static const CGEN_IFMT ifmt_fnop = {
1410   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 } }
1411 };
1412
1413 #undef F
1414
1415 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
1416 #define A(a) (1 << CGEN_INSN_##a)
1417 #else
1418 #define A(a) (1 << CGEN_INSN_/**/a)
1419 #endif
1420 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
1421 #define OPERAND(op) FRV_OPERAND_##op
1422 #else
1423 #define OPERAND(op) FRV_OPERAND_/**/op
1424 #endif
1425 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
1426 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
1427
1428 /* The instruction table.  */
1429
1430 static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
1431 {
1432   /* Special null first entry.
1433      A `num' value of zero is thus invalid.
1434      Also, the special `invalid' insn resides here.  */
1435   { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
1436 /* add$pack $GRi,$GRj,$GRk */
1437   {
1438     { 0, 0, 0, 0 },
1439     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1440     & ifmt_add, { 0x0 }
1441   },
1442 /* sub$pack $GRi,$GRj,$GRk */
1443   {
1444     { 0, 0, 0, 0 },
1445     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1446     & ifmt_add, { 0x100 }
1447   },
1448 /* and$pack $GRi,$GRj,$GRk */
1449   {
1450     { 0, 0, 0, 0 },
1451     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1452     & ifmt_add, { 0x40000 }
1453   },
1454 /* or$pack $GRi,$GRj,$GRk */
1455   {
1456     { 0, 0, 0, 0 },
1457     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1458     & ifmt_add, { 0x40080 }
1459   },
1460 /* xor$pack $GRi,$GRj,$GRk */
1461   {
1462     { 0, 0, 0, 0 },
1463     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1464     & ifmt_add, { 0x40100 }
1465   },
1466 /* not$pack $GRj,$GRk */
1467   {
1468     { 0, 0, 0, 0 },
1469     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), 0 } },
1470     & ifmt_not, { 0x40180 }
1471   },
1472 /* sdiv$pack $GRi,$GRj,$GRk */
1473   {
1474     { 0, 0, 0, 0 },
1475     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1476     & ifmt_add, { 0x380 }
1477   },
1478 /* nsdiv$pack $GRi,$GRj,$GRk */
1479   {
1480     { 0, 0, 0, 0 },
1481     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1482     & ifmt_add, { 0x40380 }
1483   },
1484 /* udiv$pack $GRi,$GRj,$GRk */
1485   {
1486     { 0, 0, 0, 0 },
1487     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1488     & ifmt_add, { 0x3c0 }
1489   },
1490 /* nudiv$pack $GRi,$GRj,$GRk */
1491   {
1492     { 0, 0, 0, 0 },
1493     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1494     & ifmt_add, { 0x403c0 }
1495   },
1496 /* smul$pack $GRi,$GRj,$GRdoublek */
1497   {
1498     { 0, 0, 0, 0 },
1499     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), 0 } },
1500     & ifmt_smul, { 0x200 }
1501   },
1502 /* umul$pack $GRi,$GRj,$GRdoublek */
1503   {
1504     { 0, 0, 0, 0 },
1505     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), 0 } },
1506     & ifmt_smul, { 0x280 }
1507   },
1508 /* smu$pack $GRi,$GRj */
1509   {
1510     { 0, 0, 0, 0 },
1511     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1512     & ifmt_smu, { 0x1180140 }
1513   },
1514 /* smass$pack $GRi,$GRj */
1515   {
1516     { 0, 0, 0, 0 },
1517     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1518     & ifmt_smu, { 0x1180180 }
1519   },
1520 /* smsss$pack $GRi,$GRj */
1521   {
1522     { 0, 0, 0, 0 },
1523     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1524     & ifmt_smu, { 0x11801c0 }
1525   },
1526 /* sll$pack $GRi,$GRj,$GRk */
1527   {
1528     { 0, 0, 0, 0 },
1529     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1530     & ifmt_add, { 0x40200 }
1531   },
1532 /* srl$pack $GRi,$GRj,$GRk */
1533   {
1534     { 0, 0, 0, 0 },
1535     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1536     & ifmt_add, { 0x40280 }
1537   },
1538 /* sra$pack $GRi,$GRj,$GRk */
1539   {
1540     { 0, 0, 0, 0 },
1541     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1542     & ifmt_add, { 0x40300 }
1543   },
1544 /* slass$pack $GRi,$GRj,$GRk */
1545   {
1546     { 0, 0, 0, 0 },
1547     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1548     & ifmt_slass, { 0x1180080 }
1549   },
1550 /* scutss$pack $GRj,$GRk */
1551   {
1552     { 0, 0, 0, 0 },
1553     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), 0 } },
1554     & ifmt_scutss, { 0x1180100 }
1555   },
1556 /* scan$pack $GRi,$GRj,$GRk */
1557   {
1558     { 0, 0, 0, 0 },
1559     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1560     & ifmt_add, { 0x2c0000 }
1561   },
1562 /* cadd$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, { 0x1600000 }
1567   },
1568 /* csub$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, { 0x1600040 }
1573   },
1574 /* cand$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, { 0x1680000 }
1579   },
1580 /* cor$pack $GRi,$GRj,$GRk,$CCi,$cond */
1581   {
1582     { 0, 0, 0, 0 },
1583     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1584     & ifmt_cadd, { 0x1680040 }
1585   },
1586 /* cxor$pack $GRi,$GRj,$GRk,$CCi,$cond */
1587   {
1588     { 0, 0, 0, 0 },
1589     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1590     & ifmt_cadd, { 0x1680080 }
1591   },
1592 /* cnot$pack $GRj,$GRk,$CCi,$cond */
1593   {
1594     { 0, 0, 0, 0 },
1595     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1596     & ifmt_cnot, { 0x16800c0 }
1597   },
1598 /* csmul$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
1599   {
1600     { 0, 0, 0, 0 },
1601     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
1602     & ifmt_csmul, { 0x1600080 }
1603   },
1604 /* csdiv$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, { 0x16000c0 }
1609   },
1610 /* cudiv$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, { 0x16400c0 }
1615   },
1616 /* csll$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, { 0x1700000 }
1621   },
1622 /* csrl$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, { 0x1700040 }
1627   },
1628 /* csra$pack $GRi,$GRj,$GRk,$CCi,$cond */
1629   {
1630     { 0, 0, 0, 0 },
1631     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1632     & ifmt_cadd, { 0x1700080 }
1633   },
1634 /* cscan$pack $GRi,$GRj,$GRk,$CCi,$cond */
1635   {
1636     { 0, 0, 0, 0 },
1637     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1638     & ifmt_cadd, { 0x19400c0 }
1639   },
1640 /* addcc$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, { 0x40 }
1645   },
1646 /* subcc$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, { 0x140 }
1651   },
1652 /* andcc$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, { 0x40040 }
1657   },
1658 /* orcc$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, { 0x400c0 }
1663   },
1664 /* xorcc$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, { 0x40140 }
1669   },
1670 /* sllcc$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, { 0x40240 }
1675   },
1676 /* srlcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1677   {
1678     { 0, 0, 0, 0 },
1679     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1680     & ifmt_addcc, { 0x402c0 }
1681   },
1682 /* sracc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1683   {
1684     { 0, 0, 0, 0 },
1685     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1686     & ifmt_addcc, { 0x40340 }
1687   },
1688 /* smulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
1689   {
1690     { 0, 0, 0, 0 },
1691     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1692     & ifmt_smulcc, { 0x240 }
1693   },
1694 /* umulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
1695   {
1696     { 0, 0, 0, 0 },
1697     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1698     & ifmt_smulcc, { 0x2c0 }
1699   },
1700 /* caddcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1701   {
1702     { 0, 0, 0, 0 },
1703     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1704     & ifmt_cadd, { 0x1640000 }
1705   },
1706 /* csubcc$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, { 0x1640040 }
1711   },
1712 /* csmulcc$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
1713   {
1714     { 0, 0, 0, 0 },
1715     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
1716     & ifmt_csmul, { 0x1640080 }
1717   },
1718 /* candcc$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, { 0x16c0000 }
1723   },
1724 /* corcc$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, { 0x16c0040 }
1729   },
1730 /* cxorcc$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, { 0x16c0080 }
1735   },
1736 /* csllcc$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, { 0x1740000 }
1741   },
1742 /* csrlcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1743   {
1744     { 0, 0, 0, 0 },
1745     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1746     & ifmt_cadd, { 0x1740040 }
1747   },
1748 /* csracc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1749   {
1750     { 0, 0, 0, 0 },
1751     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1752     & ifmt_cadd, { 0x1740080 }
1753   },
1754 /* addx$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, { 0x80 }
1759   },
1760 /* subx$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, { 0x180 }
1765   },
1766 /* addxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1767   {
1768     { 0, 0, 0, 0 },
1769     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1770     & ifmt_addcc, { 0xc0 }
1771   },
1772 /* subxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1773   {
1774     { 0, 0, 0, 0 },
1775     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1776     & ifmt_addcc, { 0x1c0 }
1777   },
1778 /* addss$pack $GRi,$GRj,$GRk */
1779   {
1780     { 0, 0, 0, 0 },
1781     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1782     & ifmt_slass, { 0x1180000 }
1783   },
1784 /* subss$pack $GRi,$GRj,$GRk */
1785   {
1786     { 0, 0, 0, 0 },
1787     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1788     & ifmt_slass, { 0x1180040 }
1789   },
1790 /* addi$pack $GRi,$s12,$GRk */
1791   {
1792     { 0, 0, 0, 0 },
1793     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1794     & ifmt_addi, { 0x400000 }
1795   },
1796 /* subi$pack $GRi,$s12,$GRk */
1797   {
1798     { 0, 0, 0, 0 },
1799     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1800     & ifmt_addi, { 0x500000 }
1801   },
1802 /* andi$pack $GRi,$s12,$GRk */
1803   {
1804     { 0, 0, 0, 0 },
1805     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1806     & ifmt_addi, { 0x800000 }
1807   },
1808 /* ori$pack $GRi,$s12,$GRk */
1809   {
1810     { 0, 0, 0, 0 },
1811     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1812     & ifmt_addi, { 0x880000 }
1813   },
1814 /* xori$pack $GRi,$s12,$GRk */
1815   {
1816     { 0, 0, 0, 0 },
1817     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1818     & ifmt_addi, { 0x900000 }
1819   },
1820 /* sdivi$pack $GRi,$s12,$GRk */
1821   {
1822     { 0, 0, 0, 0 },
1823     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1824     & ifmt_addi, { 0x780000 }
1825   },
1826 /* nsdivi$pack $GRi,$s12,$GRk */
1827   {
1828     { 0, 0, 0, 0 },
1829     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1830     & ifmt_addi, { 0xb80000 }
1831   },
1832 /* udivi$pack $GRi,$s12,$GRk */
1833   {
1834     { 0, 0, 0, 0 },
1835     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1836     & ifmt_addi, { 0x7c0000 }
1837   },
1838 /* nudivi$pack $GRi,$s12,$GRk */
1839   {
1840     { 0, 0, 0, 0 },
1841     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1842     & ifmt_addi, { 0xbc0000 }
1843   },
1844 /* smuli$pack $GRi,$s12,$GRdoublek */
1845   {
1846     { 0, 0, 0, 0 },
1847     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRDOUBLEK), 0 } },
1848     & ifmt_smuli, { 0x600000 }
1849   },
1850 /* umuli$pack $GRi,$s12,$GRdoublek */
1851   {
1852     { 0, 0, 0, 0 },
1853     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRDOUBLEK), 0 } },
1854     & ifmt_smuli, { 0x680000 }
1855   },
1856 /* slli$pack $GRi,$s12,$GRk */
1857   {
1858     { 0, 0, 0, 0 },
1859     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1860     & ifmt_addi, { 0xa00000 }
1861   },
1862 /* srli$pack $GRi,$s12,$GRk */
1863   {
1864     { 0, 0, 0, 0 },
1865     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1866     & ifmt_addi, { 0xa80000 }
1867   },
1868 /* srai$pack $GRi,$s12,$GRk */
1869   {
1870     { 0, 0, 0, 0 },
1871     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1872     & ifmt_addi, { 0xb00000 }
1873   },
1874 /* scani$pack $GRi,$s12,$GRk */
1875   {
1876     { 0, 0, 0, 0 },
1877     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1878     & ifmt_addi, { 0x11c0000 }
1879   },
1880 /* addicc$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, { 0x440000 }
1885   },
1886 /* subicc$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, { 0x540000 }
1891   },
1892 /* andicc$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, { 0x840000 }
1897   },
1898 /* oricc$pack $GRi,$s10,$GRk,$ICCi_1 */
1899   {
1900     { 0, 0, 0, 0 },
1901     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1902     & ifmt_addicc, { 0x8c0000 }
1903   },
1904 /* xoricc$pack $GRi,$s10,$GRk,$ICCi_1 */
1905   {
1906     { 0, 0, 0, 0 },
1907     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1908     & ifmt_addicc, { 0x940000 }
1909   },
1910 /* smulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
1911   {
1912     { 0, 0, 0, 0 },
1913     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1914     & ifmt_smulicc, { 0x640000 }
1915   },
1916 /* umulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
1917   {
1918     { 0, 0, 0, 0 },
1919     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1920     & ifmt_smulicc, { 0x6c0000 }
1921   },
1922 /* sllicc$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, { 0xa40000 }
1927   },
1928 /* srlicc$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, { 0xac0000 }
1933   },
1934 /* sraicc$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, { 0xb40000 }
1939   },
1940 /* addxi$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, { 0x480000 }
1945   },
1946 /* subxi$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, { 0x580000 }
1951   },
1952 /* addxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1953   {
1954     { 0, 0, 0, 0 },
1955     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1956     & ifmt_addicc, { 0x4c0000 }
1957   },
1958 /* subxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1959   {
1960     { 0, 0, 0, 0 },
1961     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1962     & ifmt_addicc, { 0x5c0000 }
1963   },
1964 /* cmpb$pack $GRi,$GRj,$ICCi_1 */
1965   {
1966     { 0, 0, 0, 0 },
1967     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
1968     & ifmt_cmpb, { 0x300 }
1969   },
1970 /* cmpba$pack $GRi,$GRj,$ICCi_1 */
1971   {
1972     { 0, 0, 0, 0 },
1973     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
1974     & ifmt_cmpb, { 0x340 }
1975   },
1976 /* setlo$pack $ulo16,$GRklo */
1977   {
1978     { 0, 0, 0, 0 },
1979     { { MNEM, OP (PACK), ' ', OP (ULO16), ',', OP (GRKLO), 0 } },
1980     & ifmt_setlo, { 0xf40000 }
1981   },
1982 /* sethi$pack $uhi16,$GRkhi */
1983   {
1984     { 0, 0, 0, 0 },
1985     { { MNEM, OP (PACK), ' ', OP (UHI16), ',', OP (GRKHI), 0 } },
1986     & ifmt_sethi, { 0xf80000 }
1987   },
1988 /* setlos$pack $slo16,$GRk */
1989   {
1990     { 0, 0, 0, 0 },
1991     { { MNEM, OP (PACK), ' ', OP (SLO16), ',', OP (GRK), 0 } },
1992     & ifmt_setlos, { 0xfc0000 }
1993   },
1994 /* ldsb$pack @($GRi,$GRj),$GRk */
1995   {
1996     { 0, 0, 0, 0 },
1997     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
1998     & ifmt_slass, { 0x80000 }
1999   },
2000 /* ldub$pack @($GRi,$GRj),$GRk */
2001   {
2002     { 0, 0, 0, 0 },
2003     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2004     & ifmt_slass, { 0x80040 }
2005   },
2006 /* ldsh$pack @($GRi,$GRj),$GRk */
2007   {
2008     { 0, 0, 0, 0 },
2009     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2010     & ifmt_slass, { 0x80080 }
2011   },
2012 /* lduh$pack @($GRi,$GRj),$GRk */
2013   {
2014     { 0, 0, 0, 0 },
2015     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2016     & ifmt_slass, { 0x800c0 }
2017   },
2018 /* ld$pack @($GRi,$GRj),$GRk */
2019   {
2020     { 0, 0, 0, 0 },
2021     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2022     & ifmt_slass, { 0x80100 }
2023   },
2024 /* ldbf$pack @($GRi,$GRj),$FRintk */
2025   {
2026     { 0, 0, 0, 0 },
2027     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2028     & ifmt_ldbf, { 0x80200 }
2029   },
2030 /* ldhf$pack @($GRi,$GRj),$FRintk */
2031   {
2032     { 0, 0, 0, 0 },
2033     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2034     & ifmt_ldbf, { 0x80240 }
2035   },
2036 /* ldf$pack @($GRi,$GRj),$FRintk */
2037   {
2038     { 0, 0, 0, 0 },
2039     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2040     & ifmt_ldbf, { 0x80280 }
2041   },
2042 /* ldc$pack @($GRi,$GRj),$CPRk */
2043   {
2044     { 0, 0, 0, 0 },
2045     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2046     & ifmt_ldc, { 0x80340 }
2047   },
2048 /* nldsb$pack @($GRi,$GRj),$GRk */
2049   {
2050     { 0, 0, 0, 0 },
2051     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2052     & ifmt_slass, { 0x80800 }
2053   },
2054 /* nldub$pack @($GRi,$GRj),$GRk */
2055   {
2056     { 0, 0, 0, 0 },
2057     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2058     & ifmt_slass, { 0x80840 }
2059   },
2060 /* nldsh$pack @($GRi,$GRj),$GRk */
2061   {
2062     { 0, 0, 0, 0 },
2063     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2064     & ifmt_slass, { 0x80880 }
2065   },
2066 /* nlduh$pack @($GRi,$GRj),$GRk */
2067   {
2068     { 0, 0, 0, 0 },
2069     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2070     & ifmt_slass, { 0x808c0 }
2071   },
2072 /* nld$pack @($GRi,$GRj),$GRk */
2073   {
2074     { 0, 0, 0, 0 },
2075     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2076     & ifmt_slass, { 0x80900 }
2077   },
2078 /* nldbf$pack @($GRi,$GRj),$FRintk */
2079   {
2080     { 0, 0, 0, 0 },
2081     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2082     & ifmt_ldbf, { 0x80a00 }
2083   },
2084 /* nldhf$pack @($GRi,$GRj),$FRintk */
2085   {
2086     { 0, 0, 0, 0 },
2087     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2088     & ifmt_ldbf, { 0x80a40 }
2089   },
2090 /* nldf$pack @($GRi,$GRj),$FRintk */
2091   {
2092     { 0, 0, 0, 0 },
2093     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2094     & ifmt_ldbf, { 0x80a80 }
2095   },
2096 /* ldd$pack @($GRi,$GRj),$GRdoublek */
2097   {
2098     { 0, 0, 0, 0 },
2099     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2100     & ifmt_ldd, { 0x80140 }
2101   },
2102 /* lddf$pack @($GRi,$GRj),$FRdoublek */
2103   {
2104     { 0, 0, 0, 0 },
2105     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2106     & ifmt_lddf, { 0x802c0 }
2107   },
2108 /* lddc$pack @($GRi,$GRj),$CPRdoublek */
2109   {
2110     { 0, 0, 0, 0 },
2111     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRDOUBLEK), 0 } },
2112     & ifmt_lddc, { 0x80380 }
2113   },
2114 /* nldd$pack @($GRi,$GRj),$GRdoublek */
2115   {
2116     { 0, 0, 0, 0 },
2117     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2118     & ifmt_ldd, { 0x80940 }
2119   },
2120 /* nlddf$pack @($GRi,$GRj),$FRdoublek */
2121   {
2122     { 0, 0, 0, 0 },
2123     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2124     & ifmt_lddf, { 0x80ac0 }
2125   },
2126 /* ldq$pack @($GRi,$GRj),$GRk */
2127   {
2128     { 0, 0, 0, 0 },
2129     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2130     & ifmt_slass, { 0x80180 }
2131   },
2132 /* ldqf$pack @($GRi,$GRj),$FRintk */
2133   {
2134     { 0, 0, 0, 0 },
2135     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2136     & ifmt_ldbf, { 0x80300 }
2137   },
2138 /* ldqc$pack @($GRi,$GRj),$CPRk */
2139   {
2140     { 0, 0, 0, 0 },
2141     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2142     & ifmt_ldc, { 0x803c0 }
2143   },
2144 /* nldq$pack @($GRi,$GRj),$GRk */
2145   {
2146     { 0, 0, 0, 0 },
2147     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2148     & ifmt_slass, { 0x80980 }
2149   },
2150 /* nldqf$pack @($GRi,$GRj),$FRintk */
2151   {
2152     { 0, 0, 0, 0 },
2153     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2154     & ifmt_ldbf, { 0x80b00 }
2155   },
2156 /* ldsbu$pack @($GRi,$GRj),$GRk */
2157   {
2158     { 0, 0, 0, 0 },
2159     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2160     & ifmt_slass, { 0x80400 }
2161   },
2162 /* ldubu$pack @($GRi,$GRj),$GRk */
2163   {
2164     { 0, 0, 0, 0 },
2165     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2166     & ifmt_slass, { 0x80440 }
2167   },
2168 /* ldshu$pack @($GRi,$GRj),$GRk */
2169   {
2170     { 0, 0, 0, 0 },
2171     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2172     & ifmt_slass, { 0x80480 }
2173   },
2174 /* lduhu$pack @($GRi,$GRj),$GRk */
2175   {
2176     { 0, 0, 0, 0 },
2177     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2178     & ifmt_slass, { 0x804c0 }
2179   },
2180 /* ldu$pack @($GRi,$GRj),$GRk */
2181   {
2182     { 0, 0, 0, 0 },
2183     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2184     & ifmt_slass, { 0x80500 }
2185   },
2186 /* nldsbu$pack @($GRi,$GRj),$GRk */
2187   {
2188     { 0, 0, 0, 0 },
2189     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2190     & ifmt_slass, { 0x80c00 }
2191   },
2192 /* nldubu$pack @($GRi,$GRj),$GRk */
2193   {
2194     { 0, 0, 0, 0 },
2195     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2196     & ifmt_slass, { 0x80c40 }
2197   },
2198 /* nldshu$pack @($GRi,$GRj),$GRk */
2199   {
2200     { 0, 0, 0, 0 },
2201     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2202     & ifmt_slass, { 0x80c80 }
2203   },
2204 /* nlduhu$pack @($GRi,$GRj),$GRk */
2205   {
2206     { 0, 0, 0, 0 },
2207     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2208     & ifmt_slass, { 0x80cc0 }
2209   },
2210 /* nldu$pack @($GRi,$GRj),$GRk */
2211   {
2212     { 0, 0, 0, 0 },
2213     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2214     & ifmt_slass, { 0x80d00 }
2215   },
2216 /* ldbfu$pack @($GRi,$GRj),$FRintk */
2217   {
2218     { 0, 0, 0, 0 },
2219     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2220     & ifmt_ldbf, { 0x80600 }
2221   },
2222 /* ldhfu$pack @($GRi,$GRj),$FRintk */
2223   {
2224     { 0, 0, 0, 0 },
2225     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2226     & ifmt_ldbf, { 0x80640 }
2227   },
2228 /* ldfu$pack @($GRi,$GRj),$FRintk */
2229   {
2230     { 0, 0, 0, 0 },
2231     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2232     & ifmt_ldbf, { 0x80680 }
2233   },
2234 /* ldcu$pack @($GRi,$GRj),$CPRk */
2235   {
2236     { 0, 0, 0, 0 },
2237     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2238     & ifmt_ldc, { 0x80740 }
2239   },
2240 /* nldbfu$pack @($GRi,$GRj),$FRintk */
2241   {
2242     { 0, 0, 0, 0 },
2243     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2244     & ifmt_ldbf, { 0x80e00 }
2245   },
2246 /* nldhfu$pack @($GRi,$GRj),$FRintk */
2247   {
2248     { 0, 0, 0, 0 },
2249     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2250     & ifmt_ldbf, { 0x80e40 }
2251   },
2252 /* nldfu$pack @($GRi,$GRj),$FRintk */
2253   {
2254     { 0, 0, 0, 0 },
2255     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2256     & ifmt_ldbf, { 0x80e80 }
2257   },
2258 /* lddu$pack @($GRi,$GRj),$GRdoublek */
2259   {
2260     { 0, 0, 0, 0 },
2261     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2262     & ifmt_ldd, { 0x80540 }
2263   },
2264 /* nlddu$pack @($GRi,$GRj),$GRdoublek */
2265   {
2266     { 0, 0, 0, 0 },
2267     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2268     & ifmt_ldd, { 0x80d40 }
2269   },
2270 /* lddfu$pack @($GRi,$GRj),$FRdoublek */
2271   {
2272     { 0, 0, 0, 0 },
2273     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2274     & ifmt_lddf, { 0x806c0 }
2275   },
2276 /* lddcu$pack @($GRi,$GRj),$CPRdoublek */
2277   {
2278     { 0, 0, 0, 0 },
2279     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRDOUBLEK), 0 } },
2280     & ifmt_lddc, { 0x80780 }
2281   },
2282 /* nlddfu$pack @($GRi,$GRj),$FRdoublek */
2283   {
2284     { 0, 0, 0, 0 },
2285     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2286     & ifmt_lddf, { 0x80ec0 }
2287   },
2288 /* ldqu$pack @($GRi,$GRj),$GRk */
2289   {
2290     { 0, 0, 0, 0 },
2291     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2292     & ifmt_slass, { 0x80580 }
2293   },
2294 /* nldqu$pack @($GRi,$GRj),$GRk */
2295   {
2296     { 0, 0, 0, 0 },
2297     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2298     & ifmt_slass, { 0x80d80 }
2299   },
2300 /* ldqfu$pack @($GRi,$GRj),$FRintk */
2301   {
2302     { 0, 0, 0, 0 },
2303     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2304     & ifmt_ldbf, { 0x80700 }
2305   },
2306 /* ldqcu$pack @($GRi,$GRj),$CPRk */
2307   {
2308     { 0, 0, 0, 0 },
2309     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2310     & ifmt_ldc, { 0x807c0 }
2311   },
2312 /* nldqfu$pack @($GRi,$GRj),$FRintk */
2313   {
2314     { 0, 0, 0, 0 },
2315     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2316     & ifmt_ldbf, { 0x80f00 }
2317   },
2318 /* ldsbi$pack @($GRi,$d12),$GRk */
2319   {
2320     { 0, 0, 0, 0 },
2321     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2322     & ifmt_ldsbi, { 0xc00000 }
2323   },
2324 /* ldshi$pack @($GRi,$d12),$GRk */
2325   {
2326     { 0, 0, 0, 0 },
2327     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2328     & ifmt_ldsbi, { 0xc40000 }
2329   },
2330 /* ldi$pack @($GRi,$d12),$GRk */
2331   {
2332     { 0, 0, 0, 0 },
2333     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2334     & ifmt_ldsbi, { 0xc80000 }
2335   },
2336 /* ldubi$pack @($GRi,$d12),$GRk */
2337   {
2338     { 0, 0, 0, 0 },
2339     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2340     & ifmt_ldsbi, { 0xd40000 }
2341   },
2342 /* lduhi$pack @($GRi,$d12),$GRk */
2343   {
2344     { 0, 0, 0, 0 },
2345     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2346     & ifmt_ldsbi, { 0xd80000 }
2347   },
2348 /* ldbfi$pack @($GRi,$d12),$FRintk */
2349   {
2350     { 0, 0, 0, 0 },
2351     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2352     & ifmt_ldbfi, { 0xe00000 }
2353   },
2354 /* ldhfi$pack @($GRi,$d12),$FRintk */
2355   {
2356     { 0, 0, 0, 0 },
2357     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2358     & ifmt_ldbfi, { 0xe40000 }
2359   },
2360 /* ldfi$pack @($GRi,$d12),$FRintk */
2361   {
2362     { 0, 0, 0, 0 },
2363     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2364     & ifmt_ldbfi, { 0xe80000 }
2365   },
2366 /* nldsbi$pack @($GRi,$d12),$GRk */
2367   {
2368     { 0, 0, 0, 0 },
2369     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2370     & ifmt_ldsbi, { 0x1000000 }
2371   },
2372 /* nldubi$pack @($GRi,$d12),$GRk */
2373   {
2374     { 0, 0, 0, 0 },
2375     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2376     & ifmt_ldsbi, { 0x1040000 }
2377   },
2378 /* nldshi$pack @($GRi,$d12),$GRk */
2379   {
2380     { 0, 0, 0, 0 },
2381     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2382     & ifmt_ldsbi, { 0x1080000 }
2383   },
2384 /* nlduhi$pack @($GRi,$d12),$GRk */
2385   {
2386     { 0, 0, 0, 0 },
2387     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2388     & ifmt_ldsbi, { 0x10c0000 }
2389   },
2390 /* nldi$pack @($GRi,$d12),$GRk */
2391   {
2392     { 0, 0, 0, 0 },
2393     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2394     & ifmt_ldsbi, { 0x1100000 }
2395   },
2396 /* nldbfi$pack @($GRi,$d12),$FRintk */
2397   {
2398     { 0, 0, 0, 0 },
2399     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2400     & ifmt_ldbfi, { 0x1200000 }
2401   },
2402 /* nldhfi$pack @($GRi,$d12),$FRintk */
2403   {
2404     { 0, 0, 0, 0 },
2405     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2406     & ifmt_ldbfi, { 0x1240000 }
2407   },
2408 /* nldfi$pack @($GRi,$d12),$FRintk */
2409   {
2410     { 0, 0, 0, 0 },
2411     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2412     & ifmt_ldbfi, { 0x1280000 }
2413   },
2414 /* lddi$pack @($GRi,$d12),$GRdoublek */
2415   {
2416     { 0, 0, 0, 0 },
2417     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRDOUBLEK), 0 } },
2418     & ifmt_lddi, { 0xcc0000 }
2419   },
2420 /* lddfi$pack @($GRi,$d12),$FRdoublek */
2421   {
2422     { 0, 0, 0, 0 },
2423     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRDOUBLEK), 0 } },
2424     & ifmt_lddfi, { 0xec0000 }
2425   },
2426 /* nlddi$pack @($GRi,$d12),$GRdoublek */
2427   {
2428     { 0, 0, 0, 0 },
2429     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRDOUBLEK), 0 } },
2430     & ifmt_lddi, { 0x1140000 }
2431   },
2432 /* nlddfi$pack @($GRi,$d12),$FRdoublek */
2433   {
2434     { 0, 0, 0, 0 },
2435     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRDOUBLEK), 0 } },
2436     & ifmt_lddfi, { 0x12c0000 }
2437   },
2438 /* ldqi$pack @($GRi,$d12),$GRk */
2439   {
2440     { 0, 0, 0, 0 },
2441     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2442     & ifmt_ldsbi, { 0xd00000 }
2443   },
2444 /* ldqfi$pack @($GRi,$d12),$FRintk */
2445   {
2446     { 0, 0, 0, 0 },
2447     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2448     & ifmt_ldbfi, { 0xf00000 }
2449   },
2450 /* nldqfi$pack @($GRi,$d12),$FRintk */
2451   {
2452     { 0, 0, 0, 0 },
2453     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2454     & ifmt_ldbfi, { 0x1300000 }
2455   },
2456 /* stb$pack $GRk,@($GRi,$GRj) */
2457   {
2458     { 0, 0, 0, 0 },
2459     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2460     & ifmt_slass, { 0xc0000 }
2461   },
2462 /* sth$pack $GRk,@($GRi,$GRj) */
2463   {
2464     { 0, 0, 0, 0 },
2465     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2466     & ifmt_slass, { 0xc0040 }
2467   },
2468 /* st$pack $GRk,@($GRi,$GRj) */
2469   {
2470     { 0, 0, 0, 0 },
2471     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2472     & ifmt_slass, { 0xc0080 }
2473   },
2474 /* stbf$pack $FRintk,@($GRi,$GRj) */
2475   {
2476     { 0, 0, 0, 0 },
2477     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2478     & ifmt_ldbf, { 0xc0200 }
2479   },
2480 /* sthf$pack $FRintk,@($GRi,$GRj) */
2481   {
2482     { 0, 0, 0, 0 },
2483     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2484     & ifmt_ldbf, { 0xc0240 }
2485   },
2486 /* stf$pack $FRintk,@($GRi,$GRj) */
2487   {
2488     { 0, 0, 0, 0 },
2489     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2490     & ifmt_ldbf, { 0xc0280 }
2491   },
2492 /* stc$pack $CPRk,@($GRi,$GRj) */
2493   {
2494     { 0, 0, 0, 0 },
2495     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2496     & ifmt_ldc, { 0xc0940 }
2497   },
2498 /* rstb$pack $GRk,@($GRi,$GRj) */
2499   {
2500     { 0, 0, 0, 0 },
2501     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2502     & ifmt_slass, { 0xc0800 }
2503   },
2504 /* rsth$pack $GRk,@($GRi,$GRj) */
2505   {
2506     { 0, 0, 0, 0 },
2507     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2508     & ifmt_slass, { 0xc0840 }
2509   },
2510 /* rst$pack $GRk,@($GRi,$GRj) */
2511   {
2512     { 0, 0, 0, 0 },
2513     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2514     & ifmt_slass, { 0xc0880 }
2515   },
2516 /* rstbf$pack $FRintk,@($GRi,$GRj) */
2517   {
2518     { 0, 0, 0, 0 },
2519     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2520     & ifmt_ldbf, { 0xc0a00 }
2521   },
2522 /* rsthf$pack $FRintk,@($GRi,$GRj) */
2523   {
2524     { 0, 0, 0, 0 },
2525     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2526     & ifmt_ldbf, { 0xc0a40 }
2527   },
2528 /* rstf$pack $FRintk,@($GRi,$GRj) */
2529   {
2530     { 0, 0, 0, 0 },
2531     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2532     & ifmt_ldbf, { 0xc0a80 }
2533   },
2534 /* std$pack $GRk,@($GRi,$GRj) */
2535   {
2536     { 0, 0, 0, 0 },
2537     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2538     & ifmt_slass, { 0xc00c0 }
2539   },
2540 /* stdf$pack $FRk,@($GRi,$GRj) */
2541   {
2542     { 0, 0, 0, 0 },
2543     { { MNEM, OP (PACK), ' ', OP (FRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2544     & ifmt_stdf, { 0xc02c0 }
2545   },
2546 /* stdc$pack $CPRk,@($GRi,$GRj) */
2547   {
2548     { 0, 0, 0, 0 },
2549     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2550     & ifmt_ldc, { 0xc0980 }
2551   },
2552 /* rstd$pack $GRk,@($GRi,$GRj) */
2553   {
2554     { 0, 0, 0, 0 },
2555     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2556     & ifmt_slass, { 0xc08c0 }
2557   },
2558 /* rstdf$pack $FRk,@($GRi,$GRj) */
2559   {
2560     { 0, 0, 0, 0 },
2561     { { MNEM, OP (PACK), ' ', OP (FRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2562     & ifmt_stdf, { 0xc0ac0 }
2563   },
2564 /* stq$pack $GRk,@($GRi,$GRj) */
2565   {
2566     { 0, 0, 0, 0 },
2567     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2568     & ifmt_slass, { 0xc0100 }
2569   },
2570 /* stqf$pack $FRintk,@($GRi,$GRj) */
2571   {
2572     { 0, 0, 0, 0 },
2573     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2574     & ifmt_ldbf, { 0xc0300 }
2575   },
2576 /* stqc$pack $CPRk,@($GRi,$GRj) */
2577   {
2578     { 0, 0, 0, 0 },
2579     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2580     & ifmt_ldc, { 0xc09c0 }
2581   },
2582 /* rstq$pack $GRk,@($GRi,$GRj) */
2583   {
2584     { 0, 0, 0, 0 },
2585     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2586     & ifmt_slass, { 0xc0900 }
2587   },
2588 /* rstqf$pack $FRintk,@($GRi,$GRj) */
2589   {
2590     { 0, 0, 0, 0 },
2591     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2592     & ifmt_ldbf, { 0xc0b00 }
2593   },
2594 /* stbu$pack $GRk,@($GRi,$GRj) */
2595   {
2596     { 0, 0, 0, 0 },
2597     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2598     & ifmt_slass, { 0xc0400 }
2599   },
2600 /* sthu$pack $GRk,@($GRi,$GRj) */
2601   {
2602     { 0, 0, 0, 0 },
2603     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2604     & ifmt_slass, { 0xc0440 }
2605   },
2606 /* stu$pack $GRk,@($GRi,$GRj) */
2607   {
2608     { 0, 0, 0, 0 },
2609     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2610     & ifmt_slass, { 0xc0480 }
2611   },
2612 /* stbfu$pack $FRintk,@($GRi,$GRj) */
2613   {
2614     { 0, 0, 0, 0 },
2615     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2616     & ifmt_ldbf, { 0xc0600 }
2617   },
2618 /* sthfu$pack $FRintk,@($GRi,$GRj) */
2619   {
2620     { 0, 0, 0, 0 },
2621     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2622     & ifmt_ldbf, { 0xc0640 }
2623   },
2624 /* stfu$pack $FRintk,@($GRi,$GRj) */
2625   {
2626     { 0, 0, 0, 0 },
2627     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2628     & ifmt_ldbf, { 0xc0680 }
2629   },
2630 /* stcu$pack $CPRk,@($GRi,$GRj) */
2631   {
2632     { 0, 0, 0, 0 },
2633     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2634     & ifmt_ldc, { 0xc0b40 }
2635   },
2636 /* stdu$pack $GRk,@($GRi,$GRj) */
2637   {
2638     { 0, 0, 0, 0 },
2639     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2640     & ifmt_slass, { 0xc04c0 }
2641   },
2642 /* stdfu$pack $FRk,@($GRi,$GRj) */
2643   {
2644     { 0, 0, 0, 0 },
2645     { { MNEM, OP (PACK), ' ', OP (FRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2646     & ifmt_stdf, { 0xc06c0 }
2647   },
2648 /* stdcu$pack $CPRk,@($GRi,$GRj) */
2649   {
2650     { 0, 0, 0, 0 },
2651     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2652     & ifmt_ldc, { 0xc0b80 }
2653   },
2654 /* stqu$pack $GRk,@($GRi,$GRj) */
2655   {
2656     { 0, 0, 0, 0 },
2657     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2658     & ifmt_slass, { 0xc0500 }
2659   },
2660 /* stqfu$pack $FRintk,@($GRi,$GRj) */
2661   {
2662     { 0, 0, 0, 0 },
2663     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2664     & ifmt_ldbf, { 0xc0700 }
2665   },
2666 /* stqcu$pack $CPRk,@($GRi,$GRj) */
2667   {
2668     { 0, 0, 0, 0 },
2669     { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2670     & ifmt_ldc, { 0xc0bc0 }
2671   },
2672 /* cldsb$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, { 0x1780000 }
2677   },
2678 /* cldub$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, { 0x1780040 }
2683   },
2684 /* cldsh$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, { 0x1780080 }
2689   },
2690 /* clduh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2691   {
2692     { 0, 0, 0, 0 },
2693     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2694     & ifmt_cadd, { 0x17800c0 }
2695   },
2696 /* cld$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2697   {
2698     { 0, 0, 0, 0 },
2699     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2700     & ifmt_cadd, { 0x17c0000 }
2701   },
2702 /* cldbf$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, { 0x1800000 }
2707   },
2708 /* cldhf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2709   {
2710     { 0, 0, 0, 0 },
2711     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2712     & ifmt_cldbf, { 0x1800040 }
2713   },
2714 /* cldf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2715   {
2716     { 0, 0, 0, 0 },
2717     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2718     & ifmt_cldbf, { 0x1800080 }
2719   },
2720 /* cldd$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
2721   {
2722     { 0, 0, 0, 0 },
2723     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2724     & ifmt_csmul, { 0x17c0040 }
2725   },
2726 /* clddf$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
2727   {
2728     { 0, 0, 0, 0 },
2729     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2730     & ifmt_clddf, { 0x18000c0 }
2731   },
2732 /* cldq$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, { 0x17c0080 }
2737   },
2738 /* cldsbu$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, { 0x1840000 }
2743   },
2744 /* cldubu$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, { 0x1840040 }
2749   },
2750 /* cldshu$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, { 0x1840080 }
2755   },
2756 /* clduhu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2757   {
2758     { 0, 0, 0, 0 },
2759     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2760     & ifmt_cadd, { 0x18400c0 }
2761   },
2762 /* cldu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2763   {
2764     { 0, 0, 0, 0 },
2765     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2766     & ifmt_cadd, { 0x1880000 }
2767   },
2768 /* cldbfu$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, { 0x18c0000 }
2773   },
2774 /* cldhfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2775   {
2776     { 0, 0, 0, 0 },
2777     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2778     & ifmt_cldbf, { 0x18c0040 }
2779   },
2780 /* cldfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2781   {
2782     { 0, 0, 0, 0 },
2783     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2784     & ifmt_cldbf, { 0x18c0080 }
2785   },
2786 /* clddu$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
2787   {
2788     { 0, 0, 0, 0 },
2789     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2790     & ifmt_csmul, { 0x1880040 }
2791   },
2792 /* clddfu$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
2793   {
2794     { 0, 0, 0, 0 },
2795     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2796     & ifmt_clddf, { 0x18c00c0 }
2797   },
2798 /* cldqu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2799   {
2800     { 0, 0, 0, 0 },
2801     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2802     & ifmt_cadd, { 0x1880080 }
2803   },
2804 /* cstb$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, { 0x1900000 }
2809   },
2810 /* csth$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2811   {
2812     { 0, 0, 0, 0 },
2813     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2814     & ifmt_cadd, { 0x1900040 }
2815   },
2816 /* cst$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2817   {
2818     { 0, 0, 0, 0 },
2819     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2820     & ifmt_cadd, { 0x1900080 }
2821   },
2822 /* cstbf$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, { 0x1980000 }
2827   },
2828 /* csthf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2829   {
2830     { 0, 0, 0, 0 },
2831     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2832     & ifmt_cldbf, { 0x1980040 }
2833   },
2834 /* cstf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2835   {
2836     { 0, 0, 0, 0 },
2837     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2838     & ifmt_cldbf, { 0x1980080 }
2839   },
2840 /* cstd$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, { 0x19000c0 }
2845   },
2846 /* cstdf$pack $FRk,@($GRi,$GRj),$CCi,$cond */
2847   {
2848     { 0, 0, 0, 0 },
2849     { { MNEM, OP (PACK), ' ', OP (FRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2850     & ifmt_cstdf, { 0x19800c0 }
2851   },
2852 /* cstq$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, { 0x1940000 }
2857   },
2858 /* cstbu$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, { 0x19c0000 }
2863   },
2864 /* csthu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2865   {
2866     { 0, 0, 0, 0 },
2867     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2868     & ifmt_cadd, { 0x19c0040 }
2869   },
2870 /* cstu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2871   {
2872     { 0, 0, 0, 0 },
2873     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2874     & ifmt_cadd, { 0x19c0080 }
2875   },
2876 /* cstbfu$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, { 0x1a00000 }
2881   },
2882 /* csthfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2883   {
2884     { 0, 0, 0, 0 },
2885     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2886     & ifmt_cldbf, { 0x1a00040 }
2887   },
2888 /* cstfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2889   {
2890     { 0, 0, 0, 0 },
2891     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2892     & ifmt_cldbf, { 0x1a00080 }
2893   },
2894 /* cstdu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2895   {
2896     { 0, 0, 0, 0 },
2897     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2898     & ifmt_cadd, { 0x19c00c0 }
2899   },
2900 /* cstdfu$pack $FRk,@($GRi,$GRj),$CCi,$cond */
2901   {
2902     { 0, 0, 0, 0 },
2903     { { MNEM, OP (PACK), ' ', OP (FRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2904     & ifmt_cstdf, { 0x1a000c0 }
2905   },
2906 /* stbi$pack $GRk,@($GRi,$d12) */
2907   {
2908     { 0, 0, 0, 0 },
2909     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2910     & ifmt_ldsbi, { 0x1400000 }
2911   },
2912 /* sthi$pack $GRk,@($GRi,$d12) */
2913   {
2914     { 0, 0, 0, 0 },
2915     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2916     & ifmt_ldsbi, { 0x1440000 }
2917   },
2918 /* sti$pack $GRk,@($GRi,$d12) */
2919   {
2920     { 0, 0, 0, 0 },
2921     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2922     & ifmt_ldsbi, { 0x1480000 }
2923   },
2924 /* stbfi$pack $FRintk,@($GRi,$d12) */
2925   {
2926     { 0, 0, 0, 0 },
2927     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2928     & ifmt_ldbfi, { 0x1380000 }
2929   },
2930 /* sthfi$pack $FRintk,@($GRi,$d12) */
2931   {
2932     { 0, 0, 0, 0 },
2933     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2934     & ifmt_ldbfi, { 0x13c0000 }
2935   },
2936 /* stfi$pack $FRintk,@($GRi,$d12) */
2937   {
2938     { 0, 0, 0, 0 },
2939     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2940     & ifmt_ldbfi, { 0x1540000 }
2941   },
2942 /* stdi$pack $GRk,@($GRi,$d12) */
2943   {
2944     { 0, 0, 0, 0 },
2945     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2946     & ifmt_ldsbi, { 0x14c0000 }
2947   },
2948 /* stdfi$pack $FRk,@($GRi,$d12) */
2949   {
2950     { 0, 0, 0, 0 },
2951     { { MNEM, OP (PACK), ' ', OP (FRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2952     & ifmt_stdfi, { 0x1580000 }
2953   },
2954 /* stqi$pack $GRk,@($GRi,$d12) */
2955   {
2956     { 0, 0, 0, 0 },
2957     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2958     & ifmt_ldsbi, { 0x1500000 }
2959   },
2960 /* stqfi$pack $FRintk,@($GRi,$d12) */
2961   {
2962     { 0, 0, 0, 0 },
2963     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2964     & ifmt_ldbfi, { 0x15c0000 }
2965   },
2966 /* swap$pack @($GRi,$GRj),$GRk */
2967   {
2968     { 0, 0, 0, 0 },
2969     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2970     & ifmt_slass, { 0xc0140 }
2971   },
2972 /* swapi$pack @($GRi,$d12),$GRk */
2973   {
2974     { 0, 0, 0, 0 },
2975     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2976     & ifmt_ldsbi, { 0x1340000 }
2977   },
2978 /* cswap$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2979   {
2980     { 0, 0, 0, 0 },
2981     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2982     & ifmt_cadd, { 0x1940080 }
2983   },
2984 /* movgf$pack $GRj,$FRintk */
2985   {
2986     { 0, 0, 0, 0 },
2987     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
2988     & ifmt_movgf, { 0xc0540 }
2989   },
2990 /* movfg$pack $FRintk,$GRj */
2991   {
2992     { 0, 0, 0, 0 },
2993     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
2994     & ifmt_movgf, { 0xc0340 }
2995   },
2996 /* movgfd$pack $GRj,$FRintk */
2997   {
2998     { 0, 0, 0, 0 },
2999     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
3000     & ifmt_movgf, { 0xc0580 }
3001   },
3002 /* movfgd$pack $FRintk,$GRj */
3003   {
3004     { 0, 0, 0, 0 },
3005     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
3006     & ifmt_movgf, { 0xc0380 }
3007   },
3008 /* movgfq$pack $GRj,$FRintk */
3009   {
3010     { 0, 0, 0, 0 },
3011     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
3012     & ifmt_movgf, { 0xc05c0 }
3013   },
3014 /* movfgq$pack $FRintk,$GRj */
3015   {
3016     { 0, 0, 0, 0 },
3017     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
3018     & ifmt_movgf, { 0xc03c0 }
3019   },
3020 /* cmovgf$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, { 0x1a40000 }
3025   },
3026 /* cmovfg$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, { 0x1a40080 }
3031   },
3032 /* cmovgfd$pack $GRj,$FRintk,$CCi,$cond */
3033   {
3034     { 0, 0, 0, 0 },
3035     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
3036     & ifmt_cmovgf, { 0x1a40040 }
3037   },
3038 /* cmovfgd$pack $FRintk,$GRj,$CCi,$cond */
3039   {
3040     { 0, 0, 0, 0 },
3041     { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
3042     & ifmt_cmovgf, { 0x1a400c0 }
3043   },
3044 /* movgs$pack $GRj,$spr */
3045   {
3046     { 0, 0, 0, 0 },
3047     { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (SPR), 0 } },
3048     & ifmt_movgs, { 0xc0180 }
3049   },
3050 /* movsg$pack $spr,$GRj */
3051   {
3052     { 0, 0, 0, 0 },
3053     { { MNEM, OP (PACK), ' ', OP (SPR), ',', OP (GRJ), 0 } },
3054     & ifmt_movgs, { 0xc01c0 }
3055   },
3056 /* bra$pack $hint_taken$label16 */
3057   {
3058     { 0, 0, 0, 0 },
3059     { { MNEM, OP (PACK), ' ', OP (HINT_TAKEN), OP (LABEL16), 0 } },
3060     & ifmt_bra, { 0x40180000 }
3061   },
3062 /* bno$pack$hint_not_taken */
3063   {
3064     { 0, 0, 0, 0 },
3065     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3066     & ifmt_bno, { 0x180000 }
3067   },
3068 /* beq$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, { 0x20180000 }
3073   },
3074 /* bne$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, { 0x60180000 }
3079   },
3080 /* ble$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, { 0x38180000 }
3085   },
3086 /* bgt$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, { 0x78180000 }
3091   },
3092 /* blt$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, { 0x18180000 }
3097   },
3098 /* bge$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, { 0x58180000 }
3103   },
3104 /* bls$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, { 0x28180000 }
3109   },
3110 /* bhi$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, { 0x68180000 }
3115   },
3116 /* bc$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, { 0x8180000 }
3121   },
3122 /* bnc$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, { 0x48180000 }
3127   },
3128 /* bn$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, { 0x30180000 }
3133   },
3134 /* bp$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, { 0x70180000 }
3139   },
3140 /* bv$pack $ICCi_2,$hint,$label16 */
3141   {
3142     { 0, 0, 0, 0 },
3143     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3144     & ifmt_beq, { 0x10180000 }
3145   },
3146 /* bnv$pack $ICCi_2,$hint,$label16 */
3147   {
3148     { 0, 0, 0, 0 },
3149     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3150     & ifmt_beq, { 0x50180000 }
3151   },
3152 /* fbra$pack $hint_taken$label16 */
3153   {
3154     { 0, 0, 0, 0 },
3155     { { MNEM, OP (PACK), ' ', OP (HINT_TAKEN), OP (LABEL16), 0 } },
3156     & ifmt_fbra, { 0x781c0000 }
3157   },
3158 /* fbno$pack$hint_not_taken */
3159   {
3160     { 0, 0, 0, 0 },
3161     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3162     & ifmt_fbno, { 0x1c0000 }
3163   },
3164 /* fbne$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, { 0x381c0000 }
3169   },
3170 /* fbeq$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, { 0x401c0000 }
3175   },
3176 /* fblg$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, { 0x301c0000 }
3181   },
3182 /* fbue$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, { 0x481c0000 }
3187   },
3188 /* fbul$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, { 0x281c0000 }
3193   },
3194 /* fbge$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, { 0x501c0000 }
3199   },
3200 /* fblt$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, { 0x201c0000 }
3205   },
3206 /* fbuge$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, { 0x581c0000 }
3211   },
3212 /* fbug$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, { 0x181c0000 }
3217   },
3218 /* fble$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, { 0x601c0000 }
3223   },
3224 /* fbgt$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, { 0x101c0000 }
3229   },
3230 /* fbule$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, { 0x681c0000 }
3235   },
3236 /* fbu$pack $FCCi_2,$hint,$label16 */
3237   {
3238     { 0, 0, 0, 0 },
3239     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3240     & ifmt_fbne, { 0x81c0000 }
3241   },
3242 /* fbo$pack $FCCi_2,$hint,$label16 */
3243   {
3244     { 0, 0, 0, 0 },
3245     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3246     & ifmt_fbne, { 0x701c0000 }
3247   },
3248 /* bctrlr$pack $ccond,$hint */
3249   {
3250     { 0, 0, 0, 0 },
3251     { { MNEM, OP (PACK), ' ', OP (CCOND), ',', OP (HINT), 0 } },
3252     & ifmt_bctrlr, { 0x382000 }
3253   },
3254 /* bralr$pack$hint_taken */
3255   {
3256     { 0, 0, 0, 0 },
3257     { { MNEM, OP (PACK), OP (HINT_TAKEN), 0 } },
3258     & ifmt_bralr, { 0x40384000 }
3259   },
3260 /* bnolr$pack$hint_not_taken */
3261   {
3262     { 0, 0, 0, 0 },
3263     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3264     & ifmt_bnolr, { 0x384000 }
3265   },
3266 /* beqlr$pack $ICCi_2,$hint */
3267   {
3268     { 0, 0, 0, 0 },
3269     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3270     & ifmt_beqlr, { 0x20384000 }
3271   },
3272 /* bnelr$pack $ICCi_2,$hint */
3273   {
3274     { 0, 0, 0, 0 },
3275     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3276     & ifmt_beqlr, { 0x60384000 }
3277   },
3278 /* blelr$pack $ICCi_2,$hint */
3279   {
3280     { 0, 0, 0, 0 },
3281     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3282     & ifmt_beqlr, { 0x38384000 }
3283   },
3284 /* bgtlr$pack $ICCi_2,$hint */
3285   {
3286     { 0, 0, 0, 0 },
3287     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3288     & ifmt_beqlr, { 0x78384000 }
3289   },
3290 /* bltlr$pack $ICCi_2,$hint */
3291   {
3292     { 0, 0, 0, 0 },
3293     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3294     & ifmt_beqlr, { 0x18384000 }
3295   },
3296 /* bgelr$pack $ICCi_2,$hint */
3297   {
3298     { 0, 0, 0, 0 },
3299     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3300     & ifmt_beqlr, { 0x58384000 }
3301   },
3302 /* blslr$pack $ICCi_2,$hint */
3303   {
3304     { 0, 0, 0, 0 },
3305     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3306     & ifmt_beqlr, { 0x28384000 }
3307   },
3308 /* bhilr$pack $ICCi_2,$hint */
3309   {
3310     { 0, 0, 0, 0 },
3311     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3312     & ifmt_beqlr, { 0x68384000 }
3313   },
3314 /* bclr$pack $ICCi_2,$hint */
3315   {
3316     { 0, 0, 0, 0 },
3317     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3318     & ifmt_beqlr, { 0x8384000 }
3319   },
3320 /* bnclr$pack $ICCi_2,$hint */
3321   {
3322     { 0, 0, 0, 0 },
3323     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3324     & ifmt_beqlr, { 0x48384000 }
3325   },
3326 /* bnlr$pack $ICCi_2,$hint */
3327   {
3328     { 0, 0, 0, 0 },
3329     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3330     & ifmt_beqlr, { 0x30384000 }
3331   },
3332 /* bplr$pack $ICCi_2,$hint */
3333   {
3334     { 0, 0, 0, 0 },
3335     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3336     & ifmt_beqlr, { 0x70384000 }
3337   },
3338 /* bvlr$pack $ICCi_2,$hint */
3339   {
3340     { 0, 0, 0, 0 },
3341     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3342     & ifmt_beqlr, { 0x10384000 }
3343   },
3344 /* bnvlr$pack $ICCi_2,$hint */
3345   {
3346     { 0, 0, 0, 0 },
3347     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3348     & ifmt_beqlr, { 0x50384000 }
3349   },
3350 /* fbralr$pack$hint_taken */
3351   {
3352     { 0, 0, 0, 0 },
3353     { { MNEM, OP (PACK), OP (HINT_TAKEN), 0 } },
3354     & ifmt_fbralr, { 0x7838c000 }
3355   },
3356 /* fbnolr$pack$hint_not_taken */
3357   {
3358     { 0, 0, 0, 0 },
3359     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3360     & ifmt_fbnolr, { 0x38c000 }
3361   },
3362 /* fbeqlr$pack $FCCi_2,$hint */
3363   {
3364     { 0, 0, 0, 0 },
3365     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3366     & ifmt_fbeqlr, { 0x4038c000 }
3367   },
3368 /* fbnelr$pack $FCCi_2,$hint */
3369   {
3370     { 0, 0, 0, 0 },
3371     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3372     & ifmt_fbeqlr, { 0x3838c000 }
3373   },
3374 /* fblglr$pack $FCCi_2,$hint */
3375   {
3376     { 0, 0, 0, 0 },
3377     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3378     & ifmt_fbeqlr, { 0x3038c000 }
3379   },
3380 /* fbuelr$pack $FCCi_2,$hint */
3381   {
3382     { 0, 0, 0, 0 },
3383     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3384     & ifmt_fbeqlr, { 0x4838c000 }
3385   },
3386 /* fbullr$pack $FCCi_2,$hint */
3387   {
3388     { 0, 0, 0, 0 },
3389     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3390     & ifmt_fbeqlr, { 0x2838c000 }
3391   },
3392 /* fbgelr$pack $FCCi_2,$hint */
3393   {
3394     { 0, 0, 0, 0 },
3395     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3396     & ifmt_fbeqlr, { 0x5038c000 }
3397   },
3398 /* fbltlr$pack $FCCi_2,$hint */
3399   {
3400     { 0, 0, 0, 0 },
3401     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3402     & ifmt_fbeqlr, { 0x2038c000 }
3403   },
3404 /* fbugelr$pack $FCCi_2,$hint */
3405   {
3406     { 0, 0, 0, 0 },
3407     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3408     & ifmt_fbeqlr, { 0x5838c000 }
3409   },
3410 /* fbuglr$pack $FCCi_2,$hint */
3411   {
3412     { 0, 0, 0, 0 },
3413     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3414     & ifmt_fbeqlr, { 0x1838c000 }
3415   },
3416 /* fblelr$pack $FCCi_2,$hint */
3417   {
3418     { 0, 0, 0, 0 },
3419     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3420     & ifmt_fbeqlr, { 0x6038c000 }
3421   },
3422 /* fbgtlr$pack $FCCi_2,$hint */
3423   {
3424     { 0, 0, 0, 0 },
3425     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3426     & ifmt_fbeqlr, { 0x1038c000 }
3427   },
3428 /* fbulelr$pack $FCCi_2,$hint */
3429   {
3430     { 0, 0, 0, 0 },
3431     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3432     & ifmt_fbeqlr, { 0x6838c000 }
3433   },
3434 /* fbulr$pack $FCCi_2,$hint */
3435   {
3436     { 0, 0, 0, 0 },
3437     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3438     & ifmt_fbeqlr, { 0x838c000 }
3439   },
3440 /* fbolr$pack $FCCi_2,$hint */
3441   {
3442     { 0, 0, 0, 0 },
3443     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3444     & ifmt_fbeqlr, { 0x7038c000 }
3445   },
3446 /* bcralr$pack $ccond$hint_taken */
3447   {
3448     { 0, 0, 0, 0 },
3449     { { MNEM, OP (PACK), ' ', OP (CCOND), OP (HINT_TAKEN), 0 } },
3450     & ifmt_bcralr, { 0x40386000 }
3451   },
3452 /* bcnolr$pack$hint_not_taken */
3453   {
3454     { 0, 0, 0, 0 },
3455     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3456     & ifmt_bnolr, { 0x386000 }
3457   },
3458 /* bceqlr$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, { 0x20386000 }
3463   },
3464 /* bcnelr$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, { 0x60386000 }
3469   },
3470 /* bclelr$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, { 0x38386000 }
3475   },
3476 /* bcgtlr$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, { 0x78386000 }
3481   },
3482 /* bcltlr$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, { 0x18386000 }
3487   },
3488 /* bcgelr$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, { 0x58386000 }
3493   },
3494 /* bclslr$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, { 0x28386000 }
3499   },
3500 /* bchilr$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, { 0x68386000 }
3505   },
3506 /* bcclr$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, { 0x8386000 }
3511   },
3512 /* bcnclr$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, { 0x48386000 }
3517   },
3518 /* bcnlr$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, { 0x30386000 }
3523   },
3524 /* bcplr$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, { 0x70386000 }
3529   },
3530 /* bcvlr$pack $ICCi_2,$ccond,$hint */
3531   {
3532     { 0, 0, 0, 0 },
3533     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3534     & ifmt_bceqlr, { 0x10386000 }
3535   },
3536 /* bcnvlr$pack $ICCi_2,$ccond,$hint */
3537   {
3538     { 0, 0, 0, 0 },
3539     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3540     & ifmt_bceqlr, { 0x50386000 }
3541   },
3542 /* fcbralr$pack $ccond$hint_taken */
3543   {
3544     { 0, 0, 0, 0 },
3545     { { MNEM, OP (PACK), ' ', OP (CCOND), OP (HINT_TAKEN), 0 } },
3546     & ifmt_fcbralr, { 0x7838e000 }
3547   },
3548 /* fcbnolr$pack$hint_not_taken */
3549   {
3550     { 0, 0, 0, 0 },
3551     { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3552     & ifmt_fbnolr, { 0x38e000 }
3553   },
3554 /* fcbeqlr$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, { 0x4038e000 }
3559   },
3560 /* fcbnelr$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, { 0x3838e000 }
3565   },
3566 /* fcblglr$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, { 0x3038e000 }
3571   },
3572 /* fcbuelr$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, { 0x4838e000 }
3577   },
3578 /* fcbullr$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, { 0x2838e000 }
3583   },
3584 /* fcbgelr$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, { 0x5038e000 }
3589   },
3590 /* fcbltlr$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, { 0x2038e000 }
3595   },
3596 /* fcbugelr$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, { 0x5838e000 }
3601   },
3602 /* fcbuglr$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, { 0x1838e000 }
3607   },
3608 /* fcblelr$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, { 0x6038e000 }
3613   },
3614 /* fcbgtlr$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, { 0x1038e000 }
3619   },
3620 /* fcbulelr$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, { 0x6838e000 }
3625   },
3626 /* fcbulr$pack $FCCi_2,$ccond,$hint */
3627   {
3628     { 0, 0, 0, 0 },
3629     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3630     & ifmt_fcbeqlr, { 0x838e000 }
3631   },
3632 /* fcbolr$pack $FCCi_2,$ccond,$hint */
3633   {
3634     { 0, 0, 0, 0 },
3635     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3636     & ifmt_fcbeqlr, { 0x7038e000 }
3637   },
3638 /* jmpl$pack @($GRi,$GRj) */
3639   {
3640     { 0, 0, 0, 0 },
3641     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
3642     & ifmt_jmpl, { 0x300000 }
3643   },
3644 /* calll$pack @($GRi,$GRj) */
3645   {
3646     { 0, 0, 0, 0 },
3647     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
3648     & ifmt_calll, { 0x2300000 }
3649   },
3650 /* jmpil$pack @($GRi,$s12) */
3651   {
3652     { 0, 0, 0, 0 },
3653     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (S12), ')', 0 } },
3654     & ifmt_jmpil, { 0x340000 }
3655   },
3656 /* callil$pack @($GRi,$s12) */
3657   {
3658     { 0, 0, 0, 0 },
3659     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (S12), ')', 0 } },
3660     & ifmt_callil, { 0x2340000 }
3661   },
3662 /* call$pack $label24 */
3663   {
3664     { 0, 0, 0, 0 },
3665     { { MNEM, OP (PACK), ' ', OP (LABEL24), 0 } },
3666     & ifmt_call, { 0x3c0000 }
3667   },
3668 /* rett$pack $debug */
3669   {
3670     { 0, 0, 0, 0 },
3671     { { MNEM, OP (PACK), ' ', OP (DEBUG), 0 } },
3672     & ifmt_rett, { 0x140000 }
3673   },
3674 /* rei$pack $eir */
3675   {
3676     { 0, 0, 0, 0 },
3677     { { MNEM, OP (PACK), ' ', OP (EIR), 0 } },
3678     & ifmt_rei, { 0xdc0000 }
3679   },
3680 /* tra$pack $GRi,$GRj */
3681   {
3682     { 0, 0, 0, 0 },
3683     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
3684     & ifmt_tra, { 0x40100000 }
3685   },
3686 /* tno$pack */
3687   {
3688     { 0, 0, 0, 0 },
3689     { { MNEM, OP (PACK), 0 } },
3690     & ifmt_tno, { 0x100000 }
3691   },
3692 /* teq$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, { 0x20100000 }
3697   },
3698 /* tne$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, { 0x60100000 }
3703   },
3704 /* tle$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, { 0x38100000 }
3709   },
3710 /* tgt$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, { 0x78100000 }
3715   },
3716 /* tlt$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, { 0x18100000 }
3721   },
3722 /* tge$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, { 0x58100000 }
3727   },
3728 /* tls$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, { 0x28100000 }
3733   },
3734 /* thi$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, { 0x68100000 }
3739   },
3740 /* tc$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, { 0x8100000 }
3745   },
3746 /* tnc$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, { 0x48100000 }
3751   },
3752 /* tn$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, { 0x30100000 }
3757   },
3758 /* tp$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, { 0x70100000 }
3763   },
3764 /* tv$pack $ICCi_2,$GRi,$GRj */
3765   {
3766     { 0, 0, 0, 0 },
3767     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3768     & ifmt_teq, { 0x10100000 }
3769   },
3770 /* tnv$pack $ICCi_2,$GRi,$GRj */
3771   {
3772     { 0, 0, 0, 0 },
3773     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3774     & ifmt_teq, { 0x50100000 }
3775   },
3776 /* ftra$pack $GRi,$GRj */
3777   {
3778     { 0, 0, 0, 0 },
3779     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
3780     & ifmt_ftra, { 0x78100040 }
3781   },
3782 /* ftno$pack */
3783   {
3784     { 0, 0, 0, 0 },
3785     { { MNEM, OP (PACK), 0 } },
3786     & ifmt_ftno, { 0x100040 }
3787   },
3788 /* ftne$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, { 0x38100040 }
3793   },
3794 /* fteq$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, { 0x40100040 }
3799   },
3800 /* ftlg$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, { 0x30100040 }
3805   },
3806 /* ftue$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, { 0x48100040 }
3811   },
3812 /* ftul$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, { 0x28100040 }
3817   },
3818 /* ftge$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, { 0x50100040 }
3823   },
3824 /* ftlt$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, { 0x20100040 }
3829   },
3830 /* ftuge$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, { 0x58100040 }
3835   },
3836 /* ftug$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, { 0x18100040 }
3841   },
3842 /* ftle$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, { 0x60100040 }
3847   },
3848 /* ftgt$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, { 0x10100040 }
3853   },
3854 /* ftule$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, { 0x68100040 }
3859   },
3860 /* ftu$pack $FCCi_2,$GRi,$GRj */
3861   {
3862     { 0, 0, 0, 0 },
3863     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3864     & ifmt_ftne, { 0x8100040 }
3865   },
3866 /* fto$pack $FCCi_2,$GRi,$GRj */
3867   {
3868     { 0, 0, 0, 0 },
3869     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3870     & ifmt_ftne, { 0x70100040 }
3871   },
3872 /* tira$pack $GRi,$s12 */
3873   {
3874     { 0, 0, 0, 0 },
3875     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), 0 } },
3876     & ifmt_tira, { 0x40700000 }
3877   },
3878 /* tino$pack */
3879   {
3880     { 0, 0, 0, 0 },
3881     { { MNEM, OP (PACK), 0 } },
3882     & ifmt_tino, { 0x700000 }
3883   },
3884 /* tieq$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, { 0x20700000 }
3889   },
3890 /* tine$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, { 0x60700000 }
3895   },
3896 /* tile$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, { 0x38700000 }
3901   },
3902 /* tigt$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, { 0x78700000 }
3907   },
3908 /* tilt$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, { 0x18700000 }
3913   },
3914 /* tige$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, { 0x58700000 }
3919   },
3920 /* tils$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, { 0x28700000 }
3925   },
3926 /* tihi$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, { 0x68700000 }
3931   },
3932 /* tic$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, { 0x8700000 }
3937   },
3938 /* tinc$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, { 0x48700000 }
3943   },
3944 /* tin$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, { 0x30700000 }
3949   },
3950 /* tip$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, { 0x70700000 }
3955   },
3956 /* tiv$pack $ICCi_2,$GRi,$s12 */
3957   {
3958     { 0, 0, 0, 0 },
3959     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3960     & ifmt_tieq, { 0x10700000 }
3961   },
3962 /* tinv$pack $ICCi_2,$GRi,$s12 */
3963   {
3964     { 0, 0, 0, 0 },
3965     { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3966     & ifmt_tieq, { 0x50700000 }
3967   },
3968 /* ftira$pack $GRi,$s12 */
3969   {
3970     { 0, 0, 0, 0 },
3971     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), 0 } },
3972     & ifmt_ftira, { 0x78740000 }
3973   },
3974 /* ftino$pack */
3975   {
3976     { 0, 0, 0, 0 },
3977     { { MNEM, OP (PACK), 0 } },
3978     & ifmt_ftino, { 0x740000 }
3979   },
3980 /* ftine$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, { 0x38740000 }
3985   },
3986 /* ftieq$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, { 0x40740000 }
3991   },
3992 /* ftilg$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, { 0x30740000 }
3997   },
3998 /* ftiue$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, { 0x48740000 }
4003   },
4004 /* ftiul$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, { 0x28740000 }
4009   },
4010 /* ftige$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, { 0x50740000 }
4015   },
4016 /* ftilt$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, { 0x20740000 }
4021   },
4022 /* ftiuge$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, { 0x58740000 }
4027   },
4028 /* ftiug$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, { 0x18740000 }
4033   },
4034 /* ftile$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, { 0x60740000 }
4039   },
4040 /* ftigt$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, { 0x10740000 }
4045   },
4046 /* ftiule$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, { 0x68740000 }
4051   },
4052 /* ftiu$pack $FCCi_2,$GRi,$s12 */
4053   {
4054     { 0, 0, 0, 0 },
4055     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4056     & ifmt_ftine, { 0x8740000 }
4057   },
4058 /* ftio$pack $FCCi_2,$GRi,$s12 */
4059   {
4060     { 0, 0, 0, 0 },
4061     { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4062     & ifmt_ftine, { 0x70740000 }
4063   },
4064 /* break$pack */
4065   {
4066     { 0, 0, 0, 0 },
4067     { { MNEM, OP (PACK), 0 } },
4068     & ifmt_break, { 0x1000c0 }
4069   },
4070 /* mtrap$pack */
4071   {
4072     { 0, 0, 0, 0 },
4073     { { MNEM, OP (PACK), 0 } },
4074     & ifmt_break, { 0x100080 }
4075   },
4076 /* andcr$pack $CRi,$CRj,$CRk */
4077   {
4078     { 0, 0, 0, 0 },
4079     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4080     & ifmt_andcr, { 0x280200 }
4081   },
4082 /* orcr$pack $CRi,$CRj,$CRk */
4083   {
4084     { 0, 0, 0, 0 },
4085     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4086     & ifmt_andcr, { 0x280240 }
4087   },
4088 /* xorcr$pack $CRi,$CRj,$CRk */
4089   {
4090     { 0, 0, 0, 0 },
4091     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4092     & ifmt_andcr, { 0x280280 }
4093   },
4094 /* nandcr$pack $CRi,$CRj,$CRk */
4095   {
4096     { 0, 0, 0, 0 },
4097     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4098     & ifmt_andcr, { 0x280300 }
4099   },
4100 /* norcr$pack $CRi,$CRj,$CRk */
4101   {
4102     { 0, 0, 0, 0 },
4103     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4104     & ifmt_andcr, { 0x280340 }
4105   },
4106 /* andncr$pack $CRi,$CRj,$CRk */
4107   {
4108     { 0, 0, 0, 0 },
4109     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4110     & ifmt_andcr, { 0x280400 }
4111   },
4112 /* orncr$pack $CRi,$CRj,$CRk */
4113   {
4114     { 0, 0, 0, 0 },
4115     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4116     & ifmt_andcr, { 0x280440 }
4117   },
4118 /* nandncr$pack $CRi,$CRj,$CRk */
4119   {
4120     { 0, 0, 0, 0 },
4121     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4122     & ifmt_andcr, { 0x280500 }
4123   },
4124 /* norncr$pack $CRi,$CRj,$CRk */
4125   {
4126     { 0, 0, 0, 0 },
4127     { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4128     & ifmt_andcr, { 0x280540 }
4129   },
4130 /* notcr$pack $CRj,$CRk */
4131   {
4132     { 0, 0, 0, 0 },
4133     { { MNEM, OP (PACK), ' ', OP (CRJ), ',', OP (CRK), 0 } },
4134     & ifmt_notcr, { 0x2802c0 }
4135   },
4136 /* ckra$pack $CRj_int */
4137   {
4138     { 0, 0, 0, 0 },
4139     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), 0 } },
4140     & ifmt_ckra, { 0x40200000 }
4141   },
4142 /* ckno$pack $CRj_int */
4143   {
4144     { 0, 0, 0, 0 },
4145     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), 0 } },
4146     & ifmt_ckra, { 0x200000 }
4147   },
4148 /* ckeq$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, { 0x20200000 }
4153   },
4154 /* ckne$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, { 0x60200000 }
4159   },
4160 /* ckle$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, { 0x38200000 }
4165   },
4166 /* ckgt$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, { 0x78200000 }
4171   },
4172 /* cklt$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, { 0x18200000 }
4177   },
4178 /* ckge$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, { 0x58200000 }
4183   },
4184 /* ckls$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, { 0x28200000 }
4189   },
4190 /* ckhi$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, { 0x68200000 }
4195   },
4196 /* ckc$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, { 0x8200000 }
4201   },
4202 /* cknc$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, { 0x48200000 }
4207   },
4208 /* ckn$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, { 0x30200000 }
4213   },
4214 /* ckp$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, { 0x70200000 }
4219   },
4220 /* ckv$pack $ICCi_3,$CRj_int */
4221   {
4222     { 0, 0, 0, 0 },
4223     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4224     & ifmt_ckeq, { 0x10200000 }
4225   },
4226 /* cknv$pack $ICCi_3,$CRj_int */
4227   {
4228     { 0, 0, 0, 0 },
4229     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4230     & ifmt_ckeq, { 0x50200000 }
4231   },
4232 /* fckra$pack $CRj_float */
4233   {
4234     { 0, 0, 0, 0 },
4235     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), 0 } },
4236     & ifmt_fckra, { 0x78240000 }
4237   },
4238 /* fckno$pack $CRj_float */
4239   {
4240     { 0, 0, 0, 0 },
4241     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), 0 } },
4242     & ifmt_fckra, { 0x240000 }
4243   },
4244 /* fckne$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, { 0x38240000 }
4249   },
4250 /* fckeq$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, { 0x40240000 }
4255   },
4256 /* fcklg$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, { 0x30240000 }
4261   },
4262 /* fckue$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, { 0x48240000 }
4267   },
4268 /* fckul$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, { 0x28240000 }
4273   },
4274 /* fckge$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, { 0x50240000 }
4279   },
4280 /* fcklt$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, { 0x20240000 }
4285   },
4286 /* fckuge$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, { 0x58240000 }
4291   },
4292 /* fckug$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, { 0x18240000 }
4297   },
4298 /* fckle$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, { 0x60240000 }
4303   },
4304 /* fckgt$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, { 0x10240000 }
4309   },
4310 /* fckule$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, { 0x68240000 }
4315   },
4316 /* fcku$pack $FCCi_3,$CRj_float */
4317   {
4318     { 0, 0, 0, 0 },
4319     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4320     & ifmt_fckra, { 0x8240000 }
4321   },
4322 /* fcko$pack $FCCi_3,$CRj_float */
4323   {
4324     { 0, 0, 0, 0 },
4325     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4326     & ifmt_fckra, { 0x70240000 }
4327   },
4328 /* cckra$pack $CRj_int,$CCi,$cond */
4329   {
4330     { 0, 0, 0, 0 },
4331     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4332     & ifmt_cckra, { 0x41a80000 }
4333   },
4334 /* cckno$pack $CRj_int,$CCi,$cond */
4335   {
4336     { 0, 0, 0, 0 },
4337     { { MNEM, OP (PACK), ' ', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4338     & ifmt_cckra, { 0x1a80000 }
4339   },
4340 /* cckeq$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, { 0x21a80000 }
4345   },
4346 /* cckne$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, { 0x61a80000 }
4351   },
4352 /* cckle$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, { 0x39a80000 }
4357   },
4358 /* cckgt$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, { 0x79a80000 }
4363   },
4364 /* ccklt$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, { 0x19a80000 }
4369   },
4370 /* cckge$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, { 0x59a80000 }
4375   },
4376 /* cckls$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, { 0x29a80000 }
4381   },
4382 /* cckhi$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, { 0x69a80000 }
4387   },
4388 /* cckc$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, { 0x9a80000 }
4393   },
4394 /* ccknc$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, { 0x49a80000 }
4399   },
4400 /* cckn$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, { 0x31a80000 }
4405   },
4406 /* cckp$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, { 0x71a80000 }
4411   },
4412 /* cckv$pack $ICCi_3,$CRj_int,$CCi,$cond */
4413   {
4414     { 0, 0, 0, 0 },
4415     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4416     & ifmt_cckeq, { 0x11a80000 }
4417   },
4418 /* ccknv$pack $ICCi_3,$CRj_int,$CCi,$cond */
4419   {
4420     { 0, 0, 0, 0 },
4421     { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4422     & ifmt_cckeq, { 0x51a80000 }
4423   },
4424 /* cfckra$pack $CRj_float,$CCi,$cond */
4425   {
4426     { 0, 0, 0, 0 },
4427     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4428     & ifmt_cfckra, { 0x79a80040 }
4429   },
4430 /* cfckno$pack $CRj_float,$CCi,$cond */
4431   {
4432     { 0, 0, 0, 0 },
4433     { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4434     & ifmt_cfckra, { 0x1a80040 }
4435   },
4436 /* cfckne$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, { 0x39a80040 }
4441   },
4442 /* cfckeq$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, { 0x41a80040 }
4447   },
4448 /* cfcklg$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, { 0x31a80040 }
4453   },
4454 /* cfckue$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, { 0x49a80040 }
4459   },
4460 /* cfckul$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, { 0x29a80040 }
4465   },
4466 /* cfckge$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, { 0x51a80040 }
4471   },
4472 /* cfcklt$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, { 0x21a80040 }
4477   },
4478 /* cfckuge$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, { 0x59a80040 }
4483   },
4484 /* cfckug$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, { 0x19a80040 }
4489   },
4490 /* cfckle$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, { 0x61a80040 }
4495   },
4496 /* cfckgt$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, { 0x11a80040 }
4501   },
4502 /* cfckule$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, { 0x69a80040 }
4507   },
4508 /* cfcku$pack $FCCi_3,$CRj_float,$CCi,$cond */
4509   {
4510     { 0, 0, 0, 0 },
4511     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4512     & ifmt_cfckne, { 0x9a80040 }
4513   },
4514 /* cfcko$pack $FCCi_3,$CRj_float,$CCi,$cond */
4515   {
4516     { 0, 0, 0, 0 },
4517     { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4518     & ifmt_cfckne, { 0x71a80040 }
4519   },
4520 /* cjmpl$pack @($GRi,$GRj),$CCi,$cond */
4521   {
4522     { 0, 0, 0, 0 },
4523     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
4524     & ifmt_cjmpl, { 0x1a80080 }
4525   },
4526 /* ccalll$pack @($GRi,$GRj),$CCi,$cond */
4527   {
4528     { 0, 0, 0, 0 },
4529     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
4530     & ifmt_ccalll, { 0x3a80080 }
4531   },
4532 /* ici$pack @($GRi,$GRj) */
4533   {
4534     { 0, 0, 0, 0 },
4535     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4536     & ifmt_smu, { 0xc0e00 }
4537   },
4538 /* dci$pack @($GRi,$GRj) */
4539   {
4540     { 0, 0, 0, 0 },
4541     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4542     & ifmt_smu, { 0xc0f00 }
4543   },
4544 /* icei$pack @($GRi,$GRj),$ae */
4545   {
4546     { 0, 0, 0, 0 },
4547     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4548     & ifmt_icei, { 0xc0e40 }
4549   },
4550 /* dcei$pack @($GRi,$GRj),$ae */
4551   {
4552     { 0, 0, 0, 0 },
4553     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4554     & ifmt_icei, { 0xc0e80 }
4555   },
4556 /* dcf$pack @($GRi,$GRj) */
4557   {
4558     { 0, 0, 0, 0 },
4559     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4560     & ifmt_smu, { 0xc0f40 }
4561   },
4562 /* dcef$pack @($GRi,$GRj),$ae */
4563   {
4564     { 0, 0, 0, 0 },
4565     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4566     & ifmt_icei, { 0xc0ec0 }
4567   },
4568 /* witlb$pack $GRk,@($GRi,$GRj) */
4569   {
4570     { 0, 0, 0, 0 },
4571     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4572     & ifmt_slass, { 0xc0c80 }
4573   },
4574 /* wdtlb$pack $GRk,@($GRi,$GRj) */
4575   {
4576     { 0, 0, 0, 0 },
4577     { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4578     & ifmt_slass, { 0xc0d80 }
4579   },
4580 /* itlbi$pack @($GRi,$GRj) */
4581   {
4582     { 0, 0, 0, 0 },
4583     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4584     & ifmt_smu, { 0xc0cc0 }
4585   },
4586 /* dtlbi$pack @($GRi,$GRj) */
4587   {
4588     { 0, 0, 0, 0 },
4589     { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4590     & ifmt_smu, { 0xc0dc0 }
4591   },
4592 /* icpl$pack $GRi,$GRj,$lock */
4593   {
4594     { 0, 0, 0, 0 },
4595     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (LOCK), 0 } },
4596     & ifmt_icpl, { 0xc0c00 }
4597   },
4598 /* dcpl$pack $GRi,$GRj,$lock */
4599   {
4600     { 0, 0, 0, 0 },
4601     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (LOCK), 0 } },
4602     & ifmt_icpl, { 0xc0d00 }
4603   },
4604 /* icul$pack $GRi */
4605   {
4606     { 0, 0, 0, 0 },
4607     { { MNEM, OP (PACK), ' ', OP (GRI), 0 } },
4608     & ifmt_icul, { 0xc0c40 }
4609   },
4610 /* dcul$pack $GRi */
4611   {
4612     { 0, 0, 0, 0 },
4613     { { MNEM, OP (PACK), ' ', OP (GRI), 0 } },
4614     & ifmt_icul, { 0xc0d40 }
4615   },
4616 /* bar$pack */
4617   {
4618     { 0, 0, 0, 0 },
4619     { { MNEM, OP (PACK), 0 } },
4620     & ifmt_bar, { 0xc0f80 }
4621   },
4622 /* membar$pack */
4623   {
4624     { 0, 0, 0, 0 },
4625     { { MNEM, OP (PACK), 0 } },
4626     & ifmt_bar, { 0xc0fc0 }
4627   },
4628 /* cop1$pack $s6_1,$CPRi,$CPRj,$CPRk */
4629   {
4630     { 0, 0, 0, 0 },
4631     { { MNEM, OP (PACK), ' ', OP (S6_1), ',', OP (CPRI), ',', OP (CPRJ), ',', OP (CPRK), 0 } },
4632     & ifmt_cop1, { 0x1f80000 }
4633   },
4634 /* cop2$pack $s6_1,$CPRi,$CPRj,$CPRk */
4635   {
4636     { 0, 0, 0, 0 },
4637     { { MNEM, OP (PACK), ' ', OP (S6_1), ',', OP (CPRI), ',', OP (CPRJ), ',', OP (CPRK), 0 } },
4638     & ifmt_cop1, { 0x1fc0000 }
4639   },
4640 /* clrgr$pack $GRk */
4641   {
4642     { 0, 0, 0, 0 },
4643     { { MNEM, OP (PACK), ' ', OP (GRK), 0 } },
4644     & ifmt_clrgr, { 0x280000 }
4645   },
4646 /* clrfr$pack $FRk */
4647   {
4648     { 0, 0, 0, 0 },
4649     { { MNEM, OP (PACK), ' ', OP (FRK), 0 } },
4650     & ifmt_clrfr, { 0x280080 }
4651   },
4652 /* clrga$pack */
4653   {
4654     { 0, 0, 0, 0 },
4655     { { MNEM, OP (PACK), 0 } },
4656     & ifmt_bar, { 0x280040 }
4657   },
4658 /* clrfa$pack */
4659   {
4660     { 0, 0, 0, 0 },
4661     { { MNEM, OP (PACK), 0 } },
4662     & ifmt_bar, { 0x2800c0 }
4663   },
4664 /* commitgr$pack $GRk */
4665   {
4666     { 0, 0, 0, 0 },
4667     { { MNEM, OP (PACK), ' ', OP (GRK), 0 } },
4668     & ifmt_clrgr, { 0x280100 }
4669   },
4670 /* commitfr$pack $FRk */
4671   {
4672     { 0, 0, 0, 0 },
4673     { { MNEM, OP (PACK), ' ', OP (FRK), 0 } },
4674     & ifmt_clrfr, { 0x280180 }
4675   },
4676 /* commitga$pack */
4677   {
4678     { 0, 0, 0, 0 },
4679     { { MNEM, OP (PACK), 0 } },
4680     & ifmt_bar, { 0x280140 }
4681   },
4682 /* commitfa$pack */
4683   {
4684     { 0, 0, 0, 0 },
4685     { { MNEM, OP (PACK), 0 } },
4686     & ifmt_bar, { 0x2801c0 }
4687   },
4688 /* fitos$pack $FRintj,$FRk */
4689   {
4690     { 0, 0, 0, 0 },
4691     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4692     & ifmt_fitos, { 0x1e40000 }
4693   },
4694 /* fstoi$pack $FRj,$FRintk */
4695   {
4696     { 0, 0, 0, 0 },
4697     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4698     & ifmt_fstoi, { 0x1e40040 }
4699   },
4700 /* fitod$pack $FRintj,$FRdoublek */
4701   {
4702     { 0, 0, 0, 0 },
4703     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRDOUBLEK), 0 } },
4704     & ifmt_fitod, { 0x1e80000 }
4705   },
4706 /* fdtoi$pack $FRdoublej,$FRintk */
4707   {
4708     { 0, 0, 0, 0 },
4709     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRINTK), 0 } },
4710     & ifmt_fdtoi, { 0x1e80040 }
4711   },
4712 /* fditos$pack $FRintj,$FRk */
4713   {
4714     { 0, 0, 0, 0 },
4715     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4716     & ifmt_fitos, { 0x1e40400 }
4717   },
4718 /* fdstoi$pack $FRj,$FRintk */
4719   {
4720     { 0, 0, 0, 0 },
4721     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4722     & ifmt_fstoi, { 0x1e40440 }
4723   },
4724 /* nfditos$pack $FRintj,$FRk */
4725   {
4726     { 0, 0, 0, 0 },
4727     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4728     & ifmt_fitos, { 0x1e40c00 }
4729   },
4730 /* nfdstoi$pack $FRj,$FRintk */
4731   {
4732     { 0, 0, 0, 0 },
4733     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4734     & ifmt_fstoi, { 0x1e40c40 }
4735   },
4736 /* cfitos$pack $FRintj,$FRk,$CCi,$cond */
4737   {
4738     { 0, 0, 0, 0 },
4739     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4740     & ifmt_cfitos, { 0x1ac0000 }
4741   },
4742 /* cfstoi$pack $FRj,$FRintk,$CCi,$cond */
4743   {
4744     { 0, 0, 0, 0 },
4745     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
4746     & ifmt_cfstoi, { 0x1ac0040 }
4747   },
4748 /* nfitos$pack $FRintj,$FRk */
4749   {
4750     { 0, 0, 0, 0 },
4751     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4752     & ifmt_fitos, { 0x1e40800 }
4753   },
4754 /* nfstoi$pack $FRj,$FRintk */
4755   {
4756     { 0, 0, 0, 0 },
4757     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4758     & ifmt_fstoi, { 0x1e40840 }
4759   },
4760 /* fmovs$pack $FRj,$FRk */
4761   {
4762     { 0, 0, 0, 0 },
4763     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4764     & ifmt_fmovs, { 0x1e40080 }
4765   },
4766 /* fmovd$pack $FRdoublej,$FRdoublek */
4767   {
4768     { 0, 0, 0, 0 },
4769     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4770     & ifmt_fmovd, { 0x1e80080 }
4771   },
4772 /* fdmovs$pack $FRj,$FRk */
4773   {
4774     { 0, 0, 0, 0 },
4775     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4776     & ifmt_fmovs, { 0x1e40480 }
4777   },
4778 /* cfmovs$pack $FRj,$FRk,$CCi,$cond */
4779   {
4780     { 0, 0, 0, 0 },
4781     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4782     & ifmt_cfmovs, { 0x1b00000 }
4783   },
4784 /* fnegs$pack $FRj,$FRk */
4785   {
4786     { 0, 0, 0, 0 },
4787     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4788     & ifmt_fmovs, { 0x1e400c0 }
4789   },
4790 /* fnegd$pack $FRdoublej,$FRdoublek */
4791   {
4792     { 0, 0, 0, 0 },
4793     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4794     & ifmt_fmovd, { 0x1e800c0 }
4795   },
4796 /* fdnegs$pack $FRj,$FRk */
4797   {
4798     { 0, 0, 0, 0 },
4799     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4800     & ifmt_fmovs, { 0x1e404c0 }
4801   },
4802 /* cfnegs$pack $FRj,$FRk,$CCi,$cond */
4803   {
4804     { 0, 0, 0, 0 },
4805     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4806     & ifmt_cfmovs, { 0x1b00040 }
4807   },
4808 /* fabss$pack $FRj,$FRk */
4809   {
4810     { 0, 0, 0, 0 },
4811     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4812     & ifmt_fmovs, { 0x1e40100 }
4813   },
4814 /* fabsd$pack $FRdoublej,$FRdoublek */
4815   {
4816     { 0, 0, 0, 0 },
4817     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4818     & ifmt_fmovd, { 0x1e80100 }
4819   },
4820 /* fdabss$pack $FRj,$FRk */
4821   {
4822     { 0, 0, 0, 0 },
4823     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4824     & ifmt_fmovs, { 0x1e40500 }
4825   },
4826 /* cfabss$pack $FRj,$FRk,$CCi,$cond */
4827   {
4828     { 0, 0, 0, 0 },
4829     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4830     & ifmt_cfmovs, { 0x1b00080 }
4831   },
4832 /* fsqrts$pack $FRj,$FRk */
4833   {
4834     { 0, 0, 0, 0 },
4835     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4836     & ifmt_fmovs, { 0x1e40140 }
4837   },
4838 /* fdsqrts$pack $FRj,$FRk */
4839   {
4840     { 0, 0, 0, 0 },
4841     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4842     & ifmt_fmovs, { 0x1e40540 }
4843   },
4844 /* nfdsqrts$pack $FRj,$FRk */
4845   {
4846     { 0, 0, 0, 0 },
4847     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4848     & ifmt_fmovs, { 0x1e40d40 }
4849   },
4850 /* fsqrtd$pack $FRdoublej,$FRdoublek */
4851   {
4852     { 0, 0, 0, 0 },
4853     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4854     & ifmt_fmovd, { 0x1e80140 }
4855   },
4856 /* cfsqrts$pack $FRj,$FRk,$CCi,$cond */
4857   {
4858     { 0, 0, 0, 0 },
4859     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4860     & ifmt_cfmovs, { 0x1b80080 }
4861   },
4862 /* nfsqrts$pack $FRj,$FRk */
4863   {
4864     { 0, 0, 0, 0 },
4865     { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4866     & ifmt_fmovs, { 0x1e40940 }
4867   },
4868 /* fadds$pack $FRi,$FRj,$FRk */
4869   {
4870     { 0, 0, 0, 0 },
4871     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4872     & ifmt_fadds, { 0x1e40180 }
4873   },
4874 /* fsubs$pack $FRi,$FRj,$FRk */
4875   {
4876     { 0, 0, 0, 0 },
4877     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4878     & ifmt_fadds, { 0x1e401c0 }
4879   },
4880 /* fmuls$pack $FRi,$FRj,$FRk */
4881   {
4882     { 0, 0, 0, 0 },
4883     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4884     & ifmt_fadds, { 0x1e40200 }
4885   },
4886 /* fdivs$pack $FRi,$FRj,$FRk */
4887   {
4888     { 0, 0, 0, 0 },
4889     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4890     & ifmt_fadds, { 0x1e40240 }
4891   },
4892 /* faddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4893   {
4894     { 0, 0, 0, 0 },
4895     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4896     & ifmt_faddd, { 0x1e80180 }
4897   },
4898 /* fsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4899   {
4900     { 0, 0, 0, 0 },
4901     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4902     & ifmt_faddd, { 0x1e801c0 }
4903   },
4904 /* fmuld$pack $FRdoublei,$FRdoublej,$FRdoublek */
4905   {
4906     { 0, 0, 0, 0 },
4907     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4908     & ifmt_faddd, { 0x1e80200 }
4909   },
4910 /* fdivd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4911   {
4912     { 0, 0, 0, 0 },
4913     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4914     & ifmt_faddd, { 0x1e80240 }
4915   },
4916 /* cfadds$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, { 0x1b40000 }
4921   },
4922 /* cfsubs$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, { 0x1b40040 }
4927   },
4928 /* cfmuls$pack $FRi,$FRj,$FRk,$CCi,$cond */
4929   {
4930     { 0, 0, 0, 0 },
4931     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4932     & ifmt_cfadds, { 0x1b80000 }
4933   },
4934 /* cfdivs$pack $FRi,$FRj,$FRk,$CCi,$cond */
4935   {
4936     { 0, 0, 0, 0 },
4937     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4938     & ifmt_cfadds, { 0x1b80040 }
4939   },
4940 /* nfadds$pack $FRi,$FRj,$FRk */
4941   {
4942     { 0, 0, 0, 0 },
4943     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4944     & ifmt_fadds, { 0x1e40980 }
4945   },
4946 /* nfsubs$pack $FRi,$FRj,$FRk */
4947   {
4948     { 0, 0, 0, 0 },
4949     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4950     & ifmt_fadds, { 0x1e409c0 }
4951   },
4952 /* nfmuls$pack $FRi,$FRj,$FRk */
4953   {
4954     { 0, 0, 0, 0 },
4955     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4956     & ifmt_fadds, { 0x1e40a00 }
4957   },
4958 /* nfdivs$pack $FRi,$FRj,$FRk */
4959   {
4960     { 0, 0, 0, 0 },
4961     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4962     & ifmt_fadds, { 0x1e40a40 }
4963   },
4964 /* fcmps$pack $FRi,$FRj,$FCCi_2 */
4965   {
4966     { 0, 0, 0, 0 },
4967     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
4968     & ifmt_fcmps, { 0x1e40280 }
4969   },
4970 /* fcmpd$pack $FRdoublei,$FRdoublej,$FCCi_2 */
4971   {
4972     { 0, 0, 0, 0 },
4973     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FCCI_2), 0 } },
4974     & ifmt_fcmpd, { 0x1e80280 }
4975   },
4976 /* cfcmps$pack $FRi,$FRj,$FCCi_2,$CCi,$cond */
4977   {
4978     { 0, 0, 0, 0 },
4979     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), ',', OP (CCI), ',', OP (COND), 0 } },
4980     & ifmt_cfcmps, { 0x1b40080 }
4981   },
4982 /* fdcmps$pack $FRi,$FRj,$FCCi_2 */
4983   {
4984     { 0, 0, 0, 0 },
4985     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
4986     & ifmt_fcmps, { 0x1e40680 }
4987   },
4988 /* fmadds$pack $FRi,$FRj,$FRk */
4989   {
4990     { 0, 0, 0, 0 },
4991     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4992     & ifmt_fadds, { 0x1e402c0 }
4993   },
4994 /* fmsubs$pack $FRi,$FRj,$FRk */
4995   {
4996     { 0, 0, 0, 0 },
4997     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4998     & ifmt_fadds, { 0x1e40300 }
4999   },
5000 /* fmaddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
5001   {
5002     { 0, 0, 0, 0 },
5003     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
5004     & ifmt_faddd, { 0x1e802c0 }
5005   },
5006 /* fmsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
5007   {
5008     { 0, 0, 0, 0 },
5009     { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
5010     & ifmt_faddd, { 0x1e80300 }
5011   },
5012 /* fdmadds$pack $FRi,$FRj,$FRk */
5013   {
5014     { 0, 0, 0, 0 },
5015     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5016     & ifmt_fadds, { 0x1e406c0 }
5017   },
5018 /* nfdmadds$pack $FRi,$FRj,$FRk */
5019   {
5020     { 0, 0, 0, 0 },
5021     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5022     & ifmt_fadds, { 0x1e40ec0 }
5023   },
5024 /* cfmadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
5025   {
5026     { 0, 0, 0, 0 },
5027     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5028     & ifmt_cfadds, { 0x1bc0000 }
5029   },
5030 /* cfmsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
5031   {
5032     { 0, 0, 0, 0 },
5033     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5034     & ifmt_cfadds, { 0x1bc0040 }
5035   },
5036 /* nfmadds$pack $FRi,$FRj,$FRk */
5037   {
5038     { 0, 0, 0, 0 },
5039     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5040     & ifmt_fadds, { 0x1e40ac0 }
5041   },
5042 /* nfmsubs$pack $FRi,$FRj,$FRk */
5043   {
5044     { 0, 0, 0, 0 },
5045     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5046     & ifmt_fadds, { 0x1e40b00 }
5047   },
5048 /* fmas$pack $FRi,$FRj,$FRk */
5049   {
5050     { 0, 0, 0, 0 },
5051     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5052     & ifmt_fadds, { 0x1e40380 }
5053   },
5054 /* fmss$pack $FRi,$FRj,$FRk */
5055   {
5056     { 0, 0, 0, 0 },
5057     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5058     & ifmt_fadds, { 0x1e403c0 }
5059   },
5060 /* fdmas$pack $FRi,$FRj,$FRk */
5061   {
5062     { 0, 0, 0, 0 },
5063     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5064     & ifmt_fadds, { 0x1e40700 }
5065   },
5066 /* fdmss$pack $FRi,$FRj,$FRk */
5067   {
5068     { 0, 0, 0, 0 },
5069     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5070     & ifmt_fadds, { 0x1e40740 }
5071   },
5072 /* nfdmas$pack $FRi,$FRj,$FRk */
5073   {
5074     { 0, 0, 0, 0 },
5075     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5076     & ifmt_fadds, { 0x1e40f00 }
5077   },
5078 /* nfdmss$pack $FRi,$FRj,$FRk */
5079   {
5080     { 0, 0, 0, 0 },
5081     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5082     & ifmt_fadds, { 0x1e40f40 }
5083   },
5084 /* cfmas$pack $FRi,$FRj,$FRk,$CCi,$cond */
5085   {
5086     { 0, 0, 0, 0 },
5087     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5088     & ifmt_cfadds, { 0x1bc0080 }
5089   },
5090 /* cfmss$pack $FRi,$FRj,$FRk,$CCi,$cond */
5091   {
5092     { 0, 0, 0, 0 },
5093     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5094     & ifmt_cfadds, { 0x1bc00c0 }
5095   },
5096 /* fmad$pack $FRi,$FRj,$FRk */
5097   {
5098     { 0, 0, 0, 0 },
5099     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5100     & ifmt_fadds, { 0x1e80380 }
5101   },
5102 /* fmsd$pack $FRi,$FRj,$FRk */
5103   {
5104     { 0, 0, 0, 0 },
5105     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5106     & ifmt_fadds, { 0x1e803c0 }
5107   },
5108 /* nfmas$pack $FRi,$FRj,$FRk */
5109   {
5110     { 0, 0, 0, 0 },
5111     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5112     & ifmt_fadds, { 0x1e40b80 }
5113   },
5114 /* nfmss$pack $FRi,$FRj,$FRk */
5115   {
5116     { 0, 0, 0, 0 },
5117     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5118     & ifmt_fadds, { 0x1e40bc0 }
5119   },
5120 /* fdadds$pack $FRi,$FRj,$FRk */
5121   {
5122     { 0, 0, 0, 0 },
5123     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5124     & ifmt_fadds, { 0x1e40580 }
5125   },
5126 /* fdsubs$pack $FRi,$FRj,$FRk */
5127   {
5128     { 0, 0, 0, 0 },
5129     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5130     & ifmt_fadds, { 0x1e405c0 }
5131   },
5132 /* fdmuls$pack $FRi,$FRj,$FRk */
5133   {
5134     { 0, 0, 0, 0 },
5135     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5136     & ifmt_fadds, { 0x1e40600 }
5137   },
5138 /* fddivs$pack $FRi,$FRj,$FRk */
5139   {
5140     { 0, 0, 0, 0 },
5141     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5142     & ifmt_fadds, { 0x1e40640 }
5143   },
5144 /* fdsads$pack $FRi,$FRj,$FRk */
5145   {
5146     { 0, 0, 0, 0 },
5147     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5148     & ifmt_fadds, { 0x1e40780 }
5149   },
5150 /* fdmulcs$pack $FRi,$FRj,$FRk */
5151   {
5152     { 0, 0, 0, 0 },
5153     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5154     & ifmt_fadds, { 0x1e407c0 }
5155   },
5156 /* nfdmulcs$pack $FRi,$FRj,$FRk */
5157   {
5158     { 0, 0, 0, 0 },
5159     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5160     & ifmt_fadds, { 0x1e40fc0 }
5161   },
5162 /* nfdadds$pack $FRi,$FRj,$FRk */
5163   {
5164     { 0, 0, 0, 0 },
5165     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5166     & ifmt_fadds, { 0x1e40d80 }
5167   },
5168 /* nfdsubs$pack $FRi,$FRj,$FRk */
5169   {
5170     { 0, 0, 0, 0 },
5171     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5172     & ifmt_fadds, { 0x1e40dc0 }
5173   },
5174 /* nfdmuls$pack $FRi,$FRj,$FRk */
5175   {
5176     { 0, 0, 0, 0 },
5177     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5178     & ifmt_fadds, { 0x1e40e00 }
5179   },
5180 /* nfddivs$pack $FRi,$FRj,$FRk */
5181   {
5182     { 0, 0, 0, 0 },
5183     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5184     & ifmt_fadds, { 0x1e40e40 }
5185   },
5186 /* nfdsads$pack $FRi,$FRj,$FRk */
5187   {
5188     { 0, 0, 0, 0 },
5189     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5190     & ifmt_fadds, { 0x1e40f80 }
5191   },
5192 /* nfdcmps$pack $FRi,$FRj,$FCCi_2 */
5193   {
5194     { 0, 0, 0, 0 },
5195     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
5196     & ifmt_fcmps, { 0x1e40e80 }
5197   },
5198 /* mhsetlos$pack $u12,$FRklo */
5199   {
5200     { 0, 0, 0, 0 },
5201     { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRKLO), 0 } },
5202     & ifmt_mhsetlos, { 0x1e00800 }
5203   },
5204 /* mhsethis$pack $u12,$FRkhi */
5205   {
5206     { 0, 0, 0, 0 },
5207     { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRKHI), 0 } },
5208     & ifmt_mhsethis, { 0x1e00880 }
5209   },
5210 /* mhdsets$pack $u12,$FRintk */
5211   {
5212     { 0, 0, 0, 0 },
5213     { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRINTK), 0 } },
5214     & ifmt_mhdsets, { 0x1e00900 }
5215   },
5216 /* mhsetloh$pack $s5,$FRklo */
5217   {
5218     { 0, 0, 0, 0 },
5219     { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRKLO), 0 } },
5220     & ifmt_mhsetloh, { 0x1e00840 }
5221   },
5222 /* mhsethih$pack $s5,$FRkhi */
5223   {
5224     { 0, 0, 0, 0 },
5225     { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRKHI), 0 } },
5226     & ifmt_mhsethih, { 0x1e008c0 }
5227   },
5228 /* mhdseth$pack $s5,$FRintk */
5229   {
5230     { 0, 0, 0, 0 },
5231     { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRINTK), 0 } },
5232     & ifmt_mhdseth, { 0x1e00940 }
5233   },
5234 /* mand$pack $FRinti,$FRintj,$FRintk */
5235   {
5236     { 0, 0, 0, 0 },
5237     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5238     & ifmt_mand, { 0x1ec0000 }
5239   },
5240 /* mor$pack $FRinti,$FRintj,$FRintk */
5241   {
5242     { 0, 0, 0, 0 },
5243     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5244     & ifmt_mand, { 0x1ec0040 }
5245   },
5246 /* mxor$pack $FRinti,$FRintj,$FRintk */
5247   {
5248     { 0, 0, 0, 0 },
5249     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5250     & ifmt_mand, { 0x1ec0080 }
5251   },
5252 /* cmand$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, { 0x1c00000 }
5257   },
5258 /* cmor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5259   {
5260     { 0, 0, 0, 0 },
5261     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5262     & ifmt_cmand, { 0x1c00040 }
5263   },
5264 /* cmxor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5265   {
5266     { 0, 0, 0, 0 },
5267     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5268     & ifmt_cmand, { 0x1c00080 }
5269   },
5270 /* mnot$pack $FRintj,$FRintk */
5271   {
5272     { 0, 0, 0, 0 },
5273     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5274     & ifmt_mnot, { 0x1ec00c0 }
5275   },
5276 /* cmnot$pack $FRintj,$FRintk,$CCi,$cond */
5277   {
5278     { 0, 0, 0, 0 },
5279     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5280     & ifmt_cmnot, { 0x1c000c0 }
5281   },
5282 /* mrotli$pack $FRinti,$u6,$FRintk */
5283   {
5284     { 0, 0, 0, 0 },
5285     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5286     & ifmt_mrotli, { 0x1ec0100 }
5287   },
5288 /* mrotri$pack $FRinti,$u6,$FRintk */
5289   {
5290     { 0, 0, 0, 0 },
5291     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5292     & ifmt_mrotli, { 0x1ec0140 }
5293   },
5294 /* mwcut$pack $FRinti,$FRintj,$FRintk */
5295   {
5296     { 0, 0, 0, 0 },
5297     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5298     & ifmt_mand, { 0x1ec0180 }
5299   },
5300 /* mwcuti$pack $FRinti,$u6,$FRintk */
5301   {
5302     { 0, 0, 0, 0 },
5303     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5304     & ifmt_mrotli, { 0x1ec01c0 }
5305   },
5306 /* mcut$pack $ACC40Si,$FRintj,$FRintk */
5307   {
5308     { 0, 0, 0, 0 },
5309     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5310     & ifmt_mcut, { 0x1ec0b00 }
5311   },
5312 /* mcuti$pack $ACC40Si,$s6,$FRintk */
5313   {
5314     { 0, 0, 0, 0 },
5315     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTK), 0 } },
5316     & ifmt_mcuti, { 0x1ec0b80 }
5317   },
5318 /* mcutss$pack $ACC40Si,$FRintj,$FRintk */
5319   {
5320     { 0, 0, 0, 0 },
5321     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5322     & ifmt_mcut, { 0x1ec0b40 }
5323   },
5324 /* mcutssi$pack $ACC40Si,$s6,$FRintk */
5325   {
5326     { 0, 0, 0, 0 },
5327     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTK), 0 } },
5328     & ifmt_mcuti, { 0x1ec0bc0 }
5329   },
5330 /* mdcutssi$pack $ACC40Si,$s6,$FRintkeven */
5331   {
5332     { 0, 0, 0, 0 },
5333     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTKEVEN), 0 } },
5334     & ifmt_mdcutssi, { 0x1e00380 }
5335   },
5336 /* maveh$pack $FRinti,$FRintj,$FRintk */
5337   {
5338     { 0, 0, 0, 0 },
5339     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5340     & ifmt_mand, { 0x1ec0200 }
5341   },
5342 /* msllhi$pack $FRinti,$u6,$FRintk */
5343   {
5344     { 0, 0, 0, 0 },
5345     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5346     & ifmt_mrotli, { 0x1ec0240 }
5347   },
5348 /* msrlhi$pack $FRinti,$u6,$FRintk */
5349   {
5350     { 0, 0, 0, 0 },
5351     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5352     & ifmt_mrotli, { 0x1ec0280 }
5353   },
5354 /* msrahi$pack $FRinti,$u6,$FRintk */
5355   {
5356     { 0, 0, 0, 0 },
5357     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5358     & ifmt_mrotli, { 0x1ec02c0 }
5359   },
5360 /* mdrotli$pack $FRintieven,$s6,$FRintkeven */
5361   {
5362     { 0, 0, 0, 0 },
5363     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (S6), ',', OP (FRINTKEVEN), 0 } },
5364     & ifmt_mdrotli, { 0x1e002c0 }
5365   },
5366 /* mcplhi$pack $FRinti,$u6,$FRintk */
5367   {
5368     { 0, 0, 0, 0 },
5369     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5370     & ifmt_mrotli, { 0x1e00300 }
5371   },
5372 /* mcpli$pack $FRinti,$u6,$FRintk */
5373   {
5374     { 0, 0, 0, 0 },
5375     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5376     & ifmt_mrotli, { 0x1e00340 }
5377   },
5378 /* msaths$pack $FRinti,$FRintj,$FRintk */
5379   {
5380     { 0, 0, 0, 0 },
5381     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5382     & ifmt_mand, { 0x1ec0300 }
5383   },
5384 /* mqsaths$pack $FRintieven,$FRintjeven,$FRintkeven */
5385   {
5386     { 0, 0, 0, 0 },
5387     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5388     & ifmt_mqsaths, { 0x1e003c0 }
5389   },
5390 /* msathu$pack $FRinti,$FRintj,$FRintk */
5391   {
5392     { 0, 0, 0, 0 },
5393     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5394     & ifmt_mand, { 0x1ec0340 }
5395   },
5396 /* mcmpsh$pack $FRinti,$FRintj,$FCCk */
5397   {
5398     { 0, 0, 0, 0 },
5399     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FCCK), 0 } },
5400     & ifmt_mcmpsh, { 0x1ec0380 }
5401   },
5402 /* mcmpuh$pack $FRinti,$FRintj,$FCCk */
5403   {
5404     { 0, 0, 0, 0 },
5405     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FCCK), 0 } },
5406     & ifmt_mcmpsh, { 0x1ec03c0 }
5407   },
5408 /* mabshs$pack $FRintj,$FRintk */
5409   {
5410     { 0, 0, 0, 0 },
5411     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5412     & ifmt_mabshs, { 0x1e00280 }
5413   },
5414 /* maddhss$pack $FRinti,$FRintj,$FRintk */
5415   {
5416     { 0, 0, 0, 0 },
5417     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5418     & ifmt_mand, { 0x1ec0400 }
5419   },
5420 /* maddhus$pack $FRinti,$FRintj,$FRintk */
5421   {
5422     { 0, 0, 0, 0 },
5423     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5424     & ifmt_mand, { 0x1ec0440 }
5425   },
5426 /* msubhss$pack $FRinti,$FRintj,$FRintk */
5427   {
5428     { 0, 0, 0, 0 },
5429     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5430     & ifmt_mand, { 0x1ec0480 }
5431   },
5432 /* msubhus$pack $FRinti,$FRintj,$FRintk */
5433   {
5434     { 0, 0, 0, 0 },
5435     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5436     & ifmt_mand, { 0x1ec04c0 }
5437   },
5438 /* cmaddhss$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, { 0x1c40000 }
5443   },
5444 /* cmaddhus$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, { 0x1c40040 }
5449   },
5450 /* cmsubhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5451   {
5452     { 0, 0, 0, 0 },
5453     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5454     & ifmt_cmand, { 0x1c40080 }
5455   },
5456 /* cmsubhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5457   {
5458     { 0, 0, 0, 0 },
5459     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5460     & ifmt_cmand, { 0x1c400c0 }
5461   },
5462 /* mqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven */
5463   {
5464     { 0, 0, 0, 0 },
5465     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5466     & ifmt_mqsaths, { 0x1ec0600 }
5467   },
5468 /* mqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven */
5469   {
5470     { 0, 0, 0, 0 },
5471     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5472     & ifmt_mqsaths, { 0x1ec0640 }
5473   },
5474 /* mqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven */
5475   {
5476     { 0, 0, 0, 0 },
5477     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5478     & ifmt_mqsaths, { 0x1ec0680 }
5479   },
5480 /* mqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven */
5481   {
5482     { 0, 0, 0, 0 },
5483     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5484     & ifmt_mqsaths, { 0x1ec06c0 }
5485   },
5486 /* cmqaddhss$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, { 0x1cc0000 }
5491   },
5492 /* cmqaddhus$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, { 0x1cc0040 }
5497   },
5498 /* cmqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5499   {
5500     { 0, 0, 0, 0 },
5501     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5502     & ifmt_cmqaddhss, { 0x1cc0080 }
5503   },
5504 /* cmqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5505   {
5506     { 0, 0, 0, 0 },
5507     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5508     & ifmt_cmqaddhss, { 0x1cc00c0 }
5509   },
5510 /* maddaccs$pack $ACC40Si,$ACC40Sk */
5511   {
5512     { 0, 0, 0, 0 },
5513     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5514     & ifmt_maddaccs, { 0x1e00100 }
5515   },
5516 /* msubaccs$pack $ACC40Si,$ACC40Sk */
5517   {
5518     { 0, 0, 0, 0 },
5519     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5520     & ifmt_maddaccs, { 0x1e00140 }
5521   },
5522 /* mdaddaccs$pack $ACC40Si,$ACC40Sk */
5523   {
5524     { 0, 0, 0, 0 },
5525     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5526     & ifmt_maddaccs, { 0x1e00180 }
5527   },
5528 /* mdsubaccs$pack $ACC40Si,$ACC40Sk */
5529   {
5530     { 0, 0, 0, 0 },
5531     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5532     & ifmt_maddaccs, { 0x1e001c0 }
5533   },
5534 /* masaccs$pack $ACC40Si,$ACC40Sk */
5535   {
5536     { 0, 0, 0, 0 },
5537     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5538     & ifmt_maddaccs, { 0x1e00200 }
5539   },
5540 /* mdasaccs$pack $ACC40Si,$ACC40Sk */
5541   {
5542     { 0, 0, 0, 0 },
5543     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5544     & ifmt_maddaccs, { 0x1e00240 }
5545   },
5546 /* mmulhs$pack $FRinti,$FRintj,$ACC40Sk */
5547   {
5548     { 0, 0, 0, 0 },
5549     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5550     & ifmt_mmulhs, { 0x1ec0500 }
5551   },
5552 /* mmulhu$pack $FRinti,$FRintj,$ACC40Sk */
5553   {
5554     { 0, 0, 0, 0 },
5555     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5556     & ifmt_mmulhs, { 0x1ec0540 }
5557   },
5558 /* mmulxhs$pack $FRinti,$FRintj,$ACC40Sk */
5559   {
5560     { 0, 0, 0, 0 },
5561     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5562     & ifmt_mmulhs, { 0x1ec0a00 }
5563   },
5564 /* mmulxhu$pack $FRinti,$FRintj,$ACC40Sk */
5565   {
5566     { 0, 0, 0, 0 },
5567     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5568     & ifmt_mmulhs, { 0x1ec0a40 }
5569   },
5570 /* cmmulhs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5571   {
5572     { 0, 0, 0, 0 },
5573     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5574     & ifmt_cmmulhs, { 0x1c80000 }
5575   },
5576 /* cmmulhu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5577   {
5578     { 0, 0, 0, 0 },
5579     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5580     & ifmt_cmmulhs, { 0x1c80040 }
5581   },
5582 /* mqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5583   {
5584     { 0, 0, 0, 0 },
5585     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5586     & ifmt_mqmulhs, { 0x1ec0700 }
5587   },
5588 /* mqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5589   {
5590     { 0, 0, 0, 0 },
5591     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5592     & ifmt_mqmulhs, { 0x1ec0740 }
5593   },
5594 /* mqmulxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5595   {
5596     { 0, 0, 0, 0 },
5597     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5598     & ifmt_mqmulhs, { 0x1ec0a80 }
5599   },
5600 /* mqmulxhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5601   {
5602     { 0, 0, 0, 0 },
5603     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5604     & ifmt_mqmulhs, { 0x1ec0ac0 }
5605   },
5606 /* cmqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5607   {
5608     { 0, 0, 0, 0 },
5609     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5610     & ifmt_cmqmulhs, { 0x1d00000 }
5611   },
5612 /* cmqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5613   {
5614     { 0, 0, 0, 0 },
5615     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5616     & ifmt_cmqmulhs, { 0x1d00040 }
5617   },
5618 /* mmachs$pack $FRinti,$FRintj,$ACC40Sk */
5619   {
5620     { 0, 0, 0, 0 },
5621     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5622     & ifmt_mmulhs, { 0x1ec0580 }
5623   },
5624 /* mmachu$pack $FRinti,$FRintj,$ACC40Uk */
5625   {
5626     { 0, 0, 0, 0 },
5627     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), 0 } },
5628     & ifmt_mmachu, { 0x1ec05c0 }
5629   },
5630 /* mmrdhs$pack $FRinti,$FRintj,$ACC40Sk */
5631   {
5632     { 0, 0, 0, 0 },
5633     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5634     & ifmt_mmulhs, { 0x1ec0c00 }
5635   },
5636 /* mmrdhu$pack $FRinti,$FRintj,$ACC40Uk */
5637   {
5638     { 0, 0, 0, 0 },
5639     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), 0 } },
5640     & ifmt_mmachu, { 0x1ec0c40 }
5641   },
5642 /* cmmachs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5643   {
5644     { 0, 0, 0, 0 },
5645     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5646     & ifmt_cmmulhs, { 0x1c80080 }
5647   },
5648 /* cmmachu$pack $FRinti,$FRintj,$ACC40Uk,$CCi,$cond */
5649   {
5650     { 0, 0, 0, 0 },
5651     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), ',', OP (CCI), ',', OP (COND), 0 } },
5652     & ifmt_cmmachu, { 0x1c800c0 }
5653   },
5654 /* mqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5655   {
5656     { 0, 0, 0, 0 },
5657     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5658     & ifmt_mqmulhs, { 0x1ec0780 }
5659   },
5660 /* mqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk */
5661   {
5662     { 0, 0, 0, 0 },
5663     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40UK), 0 } },
5664     & ifmt_mqmachu, { 0x1ec07c0 }
5665   },
5666 /* cmqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5667   {
5668     { 0, 0, 0, 0 },
5669     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5670     & ifmt_cmqmulhs, { 0x1d00080 }
5671   },
5672 /* cmqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk,$CCi,$cond */
5673   {
5674     { 0, 0, 0, 0 },
5675     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40UK), ',', OP (CCI), ',', OP (COND), 0 } },
5676     & ifmt_cmqmachu, { 0x1d000c0 }
5677   },
5678 /* mqxmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5679   {
5680     { 0, 0, 0, 0 },
5681     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5682     & ifmt_mqmulhs, { 0x1e00000 }
5683   },
5684 /* mqxmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5685   {
5686     { 0, 0, 0, 0 },
5687     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5688     & ifmt_mqmulhs, { 0x1e00040 }
5689   },
5690 /* mqmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5691   {
5692     { 0, 0, 0, 0 },
5693     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5694     & ifmt_mqmulhs, { 0x1e00080 }
5695   },
5696 /* mcpxrs$pack $FRinti,$FRintj,$ACC40Sk */
5697   {
5698     { 0, 0, 0, 0 },
5699     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5700     & ifmt_mmulhs, { 0x1ec0800 }
5701   },
5702 /* mcpxru$pack $FRinti,$FRintj,$ACC40Sk */
5703   {
5704     { 0, 0, 0, 0 },
5705     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5706     & ifmt_mmulhs, { 0x1ec0840 }
5707   },
5708 /* mcpxis$pack $FRinti,$FRintj,$ACC40Sk */
5709   {
5710     { 0, 0, 0, 0 },
5711     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5712     & ifmt_mmulhs, { 0x1ec0880 }
5713   },
5714 /* mcpxiu$pack $FRinti,$FRintj,$ACC40Sk */
5715   {
5716     { 0, 0, 0, 0 },
5717     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5718     & ifmt_mmulhs, { 0x1ec08c0 }
5719   },
5720 /* cmcpxrs$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, { 0x1d40000 }
5725   },
5726 /* cmcpxru$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, { 0x1d40040 }
5731   },
5732 /* cmcpxis$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5733   {
5734     { 0, 0, 0, 0 },
5735     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5736     & ifmt_cmmulhs, { 0x1d40080 }
5737   },
5738 /* cmcpxiu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5739   {
5740     { 0, 0, 0, 0 },
5741     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5742     & ifmt_cmmulhs, { 0x1d400c0 }
5743   },
5744 /* mqcpxrs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5745   {
5746     { 0, 0, 0, 0 },
5747     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5748     & ifmt_mqmulhs, { 0x1ec0900 }
5749   },
5750 /* mqcpxru$pack $FRintieven,$FRintjeven,$ACC40Sk */
5751   {
5752     { 0, 0, 0, 0 },
5753     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5754     & ifmt_mqmulhs, { 0x1ec0940 }
5755   },
5756 /* mqcpxis$pack $FRintieven,$FRintjeven,$ACC40Sk */
5757   {
5758     { 0, 0, 0, 0 },
5759     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5760     & ifmt_mqmulhs, { 0x1ec0980 }
5761   },
5762 /* mqcpxiu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5763   {
5764     { 0, 0, 0, 0 },
5765     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5766     & ifmt_mqmulhs, { 0x1ec09c0 }
5767   },
5768 /* mexpdhw$pack $FRinti,$u6,$FRintk */
5769   {
5770     { 0, 0, 0, 0 },
5771     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5772     & ifmt_mrotli, { 0x1ec0c80 }
5773   },
5774 /* cmexpdhw$pack $FRinti,$u6,$FRintk,$CCi,$cond */
5775   {
5776     { 0, 0, 0, 0 },
5777     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5778     & ifmt_cmexpdhw, { 0x1d80080 }
5779   },
5780 /* mexpdhd$pack $FRinti,$u6,$FRintkeven */
5781   {
5782     { 0, 0, 0, 0 },
5783     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
5784     & ifmt_mexpdhd, { 0x1ec0cc0 }
5785   },
5786 /* cmexpdhd$pack $FRinti,$u6,$FRintkeven,$CCi,$cond */
5787   {
5788     { 0, 0, 0, 0 },
5789     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5790     & ifmt_cmexpdhd, { 0x1d800c0 }
5791   },
5792 /* mpackh$pack $FRinti,$FRintj,$FRintk */
5793   {
5794     { 0, 0, 0, 0 },
5795     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5796     & ifmt_mand, { 0x1ec0d00 }
5797   },
5798 /* mdpackh$pack $FRintieven,$FRintjeven,$FRintkeven */
5799   {
5800     { 0, 0, 0, 0 },
5801     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5802     & ifmt_mqsaths, { 0x1ec0d80 }
5803   },
5804 /* munpackh$pack $FRinti,$FRintkeven */
5805   {
5806     { 0, 0, 0, 0 },
5807     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTKEVEN), 0 } },
5808     & ifmt_munpackh, { 0x1ec0d40 }
5809   },
5810 /* mdunpackh$pack $FRintieven,$FRintk */
5811   {
5812     { 0, 0, 0, 0 },
5813     { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTK), 0 } },
5814     & ifmt_mdunpackh, { 0x1ec0dc0 }
5815   },
5816 /* mbtoh$pack $FRintj,$FRintkeven */
5817   {
5818     { 0, 0, 0, 0 },
5819     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTKEVEN), 0 } },
5820     & ifmt_mbtoh, { 0x1ec0e00 }
5821   },
5822 /* cmbtoh$pack $FRintj,$FRintkeven,$CCi,$cond */
5823   {
5824     { 0, 0, 0, 0 },
5825     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5826     & ifmt_cmbtoh, { 0x1dc0000 }
5827   },
5828 /* mhtob$pack $FRintjeven,$FRintk */
5829   {
5830     { 0, 0, 0, 0 },
5831     { { MNEM, OP (PACK), ' ', OP (FRINTJEVEN), ',', OP (FRINTK), 0 } },
5832     & ifmt_mhtob, { 0x1ec0e40 }
5833   },
5834 /* cmhtob$pack $FRintjeven,$FRintk,$CCi,$cond */
5835   {
5836     { 0, 0, 0, 0 },
5837     { { MNEM, OP (PACK), ' ', OP (FRINTJEVEN), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5838     & ifmt_cmhtob, { 0x1dc0040 }
5839   },
5840 /* mbtohe$pack $FRintj,$FRintk */
5841   {
5842     { 0, 0, 0, 0 },
5843     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5844     & ifmt_mabshs, { 0x1ec0e80 }
5845   },
5846 /* cmbtohe$pack $FRintj,$FRintk,$CCi,$cond */
5847   {
5848     { 0, 0, 0, 0 },
5849     { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5850     & ifmt_cmbtohe, { 0x1dc0080 }
5851   },
5852 /* mnop$pack */
5853   {
5854     { 0, 0, 0, 0 },
5855     { { MNEM, OP (PACK), 0 } },
5856     & ifmt_mnop, { 0x7fee0ec0 }
5857   },
5858 /* mclracc$pack $ACC40Sk,$A0 */
5859   {
5860     { 0, 0, 0, 0 },
5861     { { MNEM, OP (PACK), ' ', OP (ACC40SK), ',', OP (A0), 0 } },
5862     & ifmt_mclracc_0, { 0x1ec0ec0 }
5863   },
5864 /* mclracc$pack $ACC40Sk,$A1 */
5865   {
5866     { 0, 0, 0, 0 },
5867     { { MNEM, OP (PACK), ' ', OP (ACC40SK), ',', OP (A1), 0 } },
5868     & ifmt_mclracc_0, { 0x1ee0ec0 }
5869   },
5870 /* mrdacc$pack $ACC40Si,$FRintk */
5871   {
5872     { 0, 0, 0, 0 },
5873     { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTK), 0 } },
5874     & ifmt_mrdacc, { 0x1ec0f00 }
5875   },
5876 /* mrdaccg$pack $ACCGi,$FRintk */
5877   {
5878     { 0, 0, 0, 0 },
5879     { { MNEM, OP (PACK), ' ', OP (ACCGI), ',', OP (FRINTK), 0 } },
5880     & ifmt_mrdaccg, { 0x1ec0f80 }
5881   },
5882 /* mwtacc$pack $FRinti,$ACC40Sk */
5883   {
5884     { 0, 0, 0, 0 },
5885     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (ACC40SK), 0 } },
5886     & ifmt_mwtacc, { 0x1ec0f40 }
5887   },
5888 /* mwtaccg$pack $FRinti,$ACCGk */
5889   {
5890     { 0, 0, 0, 0 },
5891     { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (ACCGK), 0 } },
5892     & ifmt_mwtaccg, { 0x1ec0fc0 }
5893   },
5894 /* mcop1$pack $FRi,$FRj,$FRk */
5895   {
5896     { 0, 0, 0, 0 },
5897     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5898     & ifmt_fadds, { 0x1f00000 }
5899   },
5900 /* mcop2$pack $FRi,$FRj,$FRk */
5901   {
5902     { 0, 0, 0, 0 },
5903     { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5904     & ifmt_fadds, { 0x1f40000 }
5905   },
5906 /* fnop$pack */
5907   {
5908     { 0, 0, 0, 0 },
5909     { { MNEM, OP (PACK), 0 } },
5910     & ifmt_fnop, { 0x1e40340 }
5911   },
5912 };
5913
5914 #undef A
5915 #undef OPERAND
5916 #undef MNEM
5917 #undef OP
5918
5919 /* Formats for ALIAS macro-insns.  */
5920
5921 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
5922 #define F(f) & frv_cgen_ifld_table[FRV_##f]
5923 #else
5924 #define F(f) & frv_cgen_ifld_table[FRV_/**/f]
5925 #endif
5926 static const CGEN_IFMT ifmt_nop = {
5927   32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
5928 };
5929
5930 static const CGEN_IFMT ifmt_ret = {
5931   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 } }
5932 };
5933
5934 static const CGEN_IFMT ifmt_cmp = {
5935   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 } }
5936 };
5937
5938 static const CGEN_IFMT ifmt_cmpi = {
5939   32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
5940 };
5941
5942 static const CGEN_IFMT ifmt_ccmp = {
5943   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 } }
5944 };
5945
5946 static const CGEN_IFMT ifmt_mov = {
5947   32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
5948 };
5949
5950 static const CGEN_IFMT ifmt_cmov = {
5951   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 } }
5952 };
5953
5954 #undef F
5955
5956 /* Each non-simple macro entry points to an array of expansion possibilities.  */
5957
5958 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
5959 #define A(a) (1 << CGEN_INSN_##a)
5960 #else
5961 #define A(a) (1 << CGEN_INSN_/**/a)
5962 #endif
5963 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
5964 #define OPERAND(op) FRV_OPERAND_##op
5965 #else
5966 #define OPERAND(op) FRV_OPERAND_/**/op
5967 #endif
5968 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
5969 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
5970
5971 /* The macro instruction table.  */
5972
5973 static const CGEN_IBASE frv_cgen_macro_insn_table[] =
5974 {
5975 /* nop$pack */
5976   {
5977     -1, "nop", "nop", 32,
5978     { 0|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5979   },
5980 /* ret$pack */
5981   {
5982     -1, "ret", "ret", 32,
5983     { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_NONE } }
5984   },
5985 /* cmp$pack $GRi,$GRj,$ICCi_1 */
5986   {
5987     -1, "cmp", "cmp", 32,
5988     { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5989   },
5990 /* cmpi$pack $GRi,$s10,$ICCi_1 */
5991   {
5992     -1, "cmpi", "cmpi", 32,
5993     { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5994   },
5995 /* ccmp$pack $GRi,$GRj,$CCi,$cond */
5996   {
5997     -1, "ccmp", "ccmp", 32,
5998     { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5999   },
6000 /* mov$pack $GRi,$GRk */
6001   {
6002     -1, "mov", "mov", 32,
6003     { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
6004   },
6005 /* cmov$pack $GRi,$GRk,$CCi,$cond */
6006   {
6007     -1, "cmov", "cmov", 32,
6008     { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
6009   },
6010 };
6011
6012 /* The macro instruction opcode table.  */
6013
6014 static const CGEN_OPCODE frv_cgen_macro_insn_opcode_table[] =
6015 {
6016 /* nop$pack */
6017   {
6018     { 0, 0, 0, 0 },
6019     { { MNEM, OP (PACK), 0 } },
6020     & ifmt_nop, { 0x880000 }
6021   },
6022 /* ret$pack */
6023   {
6024     { 0, 0, 0, 0 },
6025     { { MNEM, OP (PACK), 0 } },
6026     & ifmt_ret, { 0x403a4000 }
6027   },
6028 /* cmp$pack $GRi,$GRj,$ICCi_1 */
6029   {
6030     { 0, 0, 0, 0 },
6031     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
6032     & ifmt_cmp, { 0x140 }
6033   },
6034 /* cmpi$pack $GRi,$s10,$ICCi_1 */
6035   {
6036     { 0, 0, 0, 0 },
6037     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (ICCI_1), 0 } },
6038     & ifmt_cmpi, { 0x540000 }
6039   },
6040 /* ccmp$pack $GRi,$GRj,$CCi,$cond */
6041   {
6042     { 0, 0, 0, 0 },
6043     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
6044     & ifmt_ccmp, { 0x1640040 }
6045   },
6046 /* mov$pack $GRi,$GRk */
6047   {
6048     { 0, 0, 0, 0 },
6049     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), 0 } },
6050     & ifmt_mov, { 0x880000 }
6051   },
6052 /* cmov$pack $GRi,$GRk,$CCi,$cond */
6053   {
6054     { 0, 0, 0, 0 },
6055     { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
6056     & ifmt_cmov, { 0x1680040 }
6057   },
6058 };
6059
6060 #undef A
6061 #undef OPERAND
6062 #undef MNEM
6063 #undef OP
6064
6065 #ifndef CGEN_ASM_HASH_P
6066 #define CGEN_ASM_HASH_P(insn) 1
6067 #endif
6068
6069 #ifndef CGEN_DIS_HASH_P
6070 #define CGEN_DIS_HASH_P(insn) 1
6071 #endif
6072
6073 /* Return non-zero if INSN is to be added to the hash table.
6074    Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file.  */
6075
6076 static int
6077 asm_hash_insn_p (insn)
6078      const CGEN_INSN *insn ATTRIBUTE_UNUSED;
6079 {
6080   return CGEN_ASM_HASH_P (insn);
6081 }
6082
6083 static int
6084 dis_hash_insn_p (insn)
6085      const CGEN_INSN *insn;
6086 {
6087   /* If building the hash table and the NO-DIS attribute is present,
6088      ignore.  */
6089   if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
6090     return 0;
6091   return CGEN_DIS_HASH_P (insn);
6092 }
6093
6094 #ifndef CGEN_ASM_HASH
6095 #define CGEN_ASM_HASH_SIZE 127
6096 #ifdef CGEN_MNEMONIC_OPERANDS
6097 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
6098 #else
6099 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
6100 #endif
6101 #endif
6102
6103 /* It doesn't make much sense to provide a default here,
6104    but while this is under development we do.
6105    BUFFER is a pointer to the bytes of the insn, target order.
6106    VALUE is the first base_insn_bitsize bits as an int in host order.  */
6107
6108 #ifndef CGEN_DIS_HASH
6109 #define CGEN_DIS_HASH_SIZE 256
6110 #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
6111 #endif
6112
6113 /* The result is the hash value of the insn.
6114    Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file.  */
6115
6116 static unsigned int
6117 asm_hash_insn (mnem)
6118      const char * mnem;
6119 {
6120   return CGEN_ASM_HASH (mnem);
6121 }
6122
6123 /* BUF is a pointer to the bytes of the insn, target order.
6124    VALUE is the first base_insn_bitsize bits as an int in host order.  */
6125
6126 static unsigned int
6127 dis_hash_insn (buf, value)
6128      const char * buf ATTRIBUTE_UNUSED;
6129      CGEN_INSN_INT value ATTRIBUTE_UNUSED;
6130 {
6131   return CGEN_DIS_HASH (buf, value);
6132 }
6133
6134 static void set_fields_bitsize PARAMS ((CGEN_FIELDS *, int));
6135
6136 /* Set the recorded length of the insn in the CGEN_FIELDS struct.  */
6137
6138 static void
6139 set_fields_bitsize (fields, size)
6140      CGEN_FIELDS *fields;
6141      int size;
6142 {
6143   CGEN_FIELDS_BITSIZE (fields) = size;
6144 }
6145
6146 /* Function to call before using the operand instance table.
6147    This plugs the opcode entries and macro instructions into the cpu table.  */
6148
6149 void
6150 frv_cgen_init_opcode_table (cd)
6151      CGEN_CPU_DESC cd;
6152 {
6153   int i;
6154   int num_macros = (sizeof (frv_cgen_macro_insn_table) /
6155                     sizeof (frv_cgen_macro_insn_table[0]));
6156   const CGEN_IBASE *ib = & frv_cgen_macro_insn_table[0];
6157   const CGEN_OPCODE *oc = & frv_cgen_macro_insn_opcode_table[0];
6158   CGEN_INSN *insns = (CGEN_INSN *) xmalloc (num_macros * sizeof (CGEN_INSN));
6159   memset (insns, 0, num_macros * sizeof (CGEN_INSN));
6160   for (i = 0; i < num_macros; ++i)
6161     {
6162       insns[i].base = &ib[i];
6163       insns[i].opcode = &oc[i];
6164       frv_cgen_build_insn_regex (& insns[i]);
6165     }
6166   cd->macro_insn_table.init_entries = insns;
6167   cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
6168   cd->macro_insn_table.num_init_entries = num_macros;
6169
6170   oc = & frv_cgen_insn_opcode_table[0];
6171   insns = (CGEN_INSN *) cd->insn_table.init_entries;
6172   for (i = 0; i < MAX_INSNS; ++i)
6173     {
6174       insns[i].opcode = &oc[i];
6175       frv_cgen_build_insn_regex (& insns[i]);
6176     }
6177
6178   cd->sizeof_fields = sizeof (CGEN_FIELDS);
6179   cd->set_fields_bitsize = set_fields_bitsize;
6180
6181   cd->asm_hash_p = asm_hash_insn_p;
6182   cd->asm_hash = asm_hash_insn;
6183   cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
6184
6185   cd->dis_hash_p = dis_hash_insn_p;
6186   cd->dis_hash = dis_hash_insn;
6187   cd->dis_hash_size = CGEN_DIS_HASH_SIZE;
6188 }