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