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