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