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