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