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