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