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