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