1 /* Instruction opcode table for frv.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 #include "libiberty.h"
38 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE, CGEN_ATTR_VALUE_TYPE));
40 PARAMS ((VLIW_COMBO *, VLIW_COMBO *, int));
41 static VLIW_COMBO * add_next_to_vliw
42 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
43 static int find_major_in_vliw
44 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
45 static int fr400_check_insn_major_constraints
46 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
47 static int fr500_check_insn_major_constraints
48 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE));
49 static int fr550_check_insn_major_constraints
50 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE, const CGEN_INSN *));
51 static int check_insn_major_constraints
52 PARAMS ((FRV_VLIW *, CGEN_ATTR_VALUE_TYPE, const CGEN_INSN *));
55 frv_is_branch_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
60 if (major >= FR400_MAJOR_B_1 && major <= FR400_MAJOR_B_6)
61 return 1; /* is a branch */
64 if (major >= FR500_MAJOR_B_1 && major <= FR500_MAJOR_B_6)
65 return 1; /* is a branch */
69 return 0; /* not a branch */
73 frv_is_float_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
78 return 0; /* No float insns */
80 if (major >= FR500_MAJOR_F_1 && major <= FR500_MAJOR_F_8)
81 return 1; /* is a float insn */
85 return 0; /* not a branch */
89 frv_is_media_major (CGEN_ATTR_VALUE_TYPE major, unsigned long mach)
94 if (major >= FR400_MAJOR_M_1 && major <= FR400_MAJOR_M_2)
95 return 1; /* is a media insn */
98 if (major >= FR500_MAJOR_M_1 && major <= FR500_MAJOR_M_8)
99 return 1; /* is a media insn */
103 return 0; /* not a branch */
107 frv_is_branch_insn (const CGEN_INSN *insn)
109 if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
112 if (frv_is_branch_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
120 frv_is_float_insn (const CGEN_INSN *insn)
122 if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
125 if (frv_is_float_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
133 frv_is_media_insn (const CGEN_INSN *insn)
135 if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR),
138 if (frv_is_media_major (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR),
145 /* This table represents the allowable packing for vliw insns for the fr400.
146 The fr400 has only 2 vliw slots. Represent this by not allowing any insns
148 Subsets of any given row are also allowed. */
149 static VLIW_COMBO fr400_allowed_vliw[] =
151 /* slot0 slot1 slot2 slot3 */
152 { UNIT_I0, UNIT_I1, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
153 { UNIT_I0, UNIT_FM0, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
154 { UNIT_I0, UNIT_B0, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
155 { UNIT_FM0, UNIT_FM1, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
156 { UNIT_FM0, UNIT_B0, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
157 { UNIT_B0, UNIT_NIL, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
158 { UNIT_C, UNIT_NIL, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
159 { UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO }
162 /* This table represents the allowable packing for vliw insns for the fr500.
163 The fr500 has only 4 vliw slots. Represent this by not allowing any insns
165 Subsets of any given row are also allowed. */
166 static VLIW_COMBO fr500_allowed_vliw[] =
168 /* slot0 slot1 slot2 slot3 */
169 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1 PAD_VLIW_COMBO },
170 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_B0 PAD_VLIW_COMBO },
171 { UNIT_I0, UNIT_FM0, UNIT_FM1, UNIT_B0 PAD_VLIW_COMBO },
172 { UNIT_I0, UNIT_FM0, UNIT_B0, UNIT_B1 PAD_VLIW_COMBO },
173 { UNIT_I0, UNIT_I1, UNIT_B0, UNIT_B1 PAD_VLIW_COMBO },
174 { UNIT_I0, UNIT_B0, UNIT_B1, UNIT_NIL PAD_VLIW_COMBO },
175 { UNIT_FM0, UNIT_FM1, UNIT_B0, UNIT_B1 PAD_VLIW_COMBO },
176 { UNIT_FM0, UNIT_B0, UNIT_B1, UNIT_NIL PAD_VLIW_COMBO },
177 { UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
178 { UNIT_C, UNIT_NIL, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO },
179 { UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL PAD_VLIW_COMBO }
182 /* This table represents the allowable packing for vliw insns for the fr550.
183 Subsets of any given row are also allowed. */
184 static VLIW_COMBO fr550_allowed_vliw[] =
186 /* slot0 slot1 slot2 slot3 slot4 slot5 slot6 slot7 */
187 { UNIT_I0, UNIT_I1, UNIT_I2, UNIT_I3, UNIT_B0, UNIT_B1 , UNIT_NIL, UNIT_NIL },
188 { UNIT_I0, UNIT_I1, UNIT_I2, UNIT_B0, UNIT_B1 , UNIT_NIL, UNIT_NIL, UNIT_NIL },
189 { UNIT_I0, UNIT_I1, UNIT_B0, UNIT_B1 , UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
190 { UNIT_I0, UNIT_B0, UNIT_B1 , UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
191 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_I2, UNIT_FM2, UNIT_I3, UNIT_FM3 },
192 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_I2, UNIT_FM2, UNIT_I3, UNIT_B0 },
193 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_I2, UNIT_FM2, UNIT_FM3, UNIT_B0 },
194 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_I2, UNIT_FM2, UNIT_B0, UNIT_B1 },
195 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_I2, UNIT_I3, UNIT_B0, UNIT_B1 },
196 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_I2, UNIT_B0, UNIT_B1, UNIT_NIL },
197 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_FM2, UNIT_FM3, UNIT_B0, UNIT_B1 },
198 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_FM2, UNIT_FM3, UNIT_B0, UNIT_B1 },
199 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_FM2, UNIT_B0, UNIT_B1, UNIT_NIL },
200 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_FM1, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL },
201 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_I2, UNIT_I3, UNIT_B0, UNIT_B1, UNIT_NIL },
202 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_I2, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL },
203 { UNIT_I0, UNIT_FM0, UNIT_I1, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL },
204 { UNIT_I0, UNIT_FM0, UNIT_FM1, UNIT_FM2, UNIT_FM3, UNIT_B0, UNIT_B1, UNIT_NIL },
205 { UNIT_I0, UNIT_FM0, UNIT_FM1, UNIT_FM2, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL },
206 { UNIT_I0, UNIT_FM0, UNIT_FM1, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL },
207 { UNIT_I0, UNIT_FM0, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
208 { UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
209 { UNIT_C, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
210 { UNIT_FM0, UNIT_FM1, UNIT_FM2, UNIT_FM3, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL },
211 { UNIT_FM0, UNIT_FM1, UNIT_FM2, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL },
212 { UNIT_FM0, UNIT_FM1, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
213 { UNIT_FM0, UNIT_B0, UNIT_B1, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL },
214 { UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL, UNIT_NIL }
217 /* Some insns are assigned specialized implementation units which map to
218 different actual implementation units on different machines. These
219 tables perform that mapping. */
220 static CGEN_ATTR_VALUE_TYPE fr400_unit_mapping[] =
222 /* unit in insn actual unit */
227 /* I2 */ UNIT_NIL, /* no I2 or I3 unit */
229 /* IALL */ UNIT_I01, /* only I0 and I1 units */
232 /* FM01 */ UNIT_FM01,
233 /* FM2 */ UNIT_NIL, /* no F2 or M2 units */
234 /* FM3 */ UNIT_NIL, /* no F3 or M3 units */
235 /* FMALL */ UNIT_FM01,/* Only F0,F1,M0,M1 units */
236 /* FMLOW */ UNIT_FM0, /* Only F0,M0 units */
237 /* B0 */ UNIT_B0, /* branches only in B0 unit. */
241 /* MULT-DIV */ UNIT_I0, /* multiply and divide only in I0 unit. */
242 /* LOAD */ UNIT_I0, /* load only in I0 unit. */
243 /* STORE */ UNIT_I0, /* store only in I0 unit. */
244 /* SCAN */ UNIT_I0, /* scan only in I0 unit. */
245 /* DCPL */ UNIT_C, /* dcpl only in C unit. */
246 /* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
247 /* MCLRACC-1*/ UNIT_FM0 /* mclracc,A==1 insn only in FM0 unit. */
250 static CGEN_ATTR_VALUE_TYPE fr500_unit_mapping[] =
252 /* unit in insn actual unit */
257 /* I2 */ UNIT_NIL, /* no I2 or I3 unit */
259 /* IALL */ UNIT_I01, /* only I0 and I1 units */
262 /* FM01 */ UNIT_FM01,
263 /* FM2 */ UNIT_NIL, /* no F2 or M2 units */
264 /* FM3 */ UNIT_NIL, /* no F3 or M2 units */
265 /* FMALL */ UNIT_FM01,/* Only F0,F1,M0,M1 units */
266 /* FMLOW */ UNIT_FM0, /* Only F0,M0 units */
271 /* MULT-DIV */ UNIT_I01, /* multiply and divide in I0 or I1 unit. */
272 /* LOAD */ UNIT_I01, /* load in I0 or I1 unit. */
273 /* STORE */ UNIT_I0, /* store only in I0 unit. */
274 /* SCAN */ UNIT_I01, /* scan in I0 or I1 unit. */
275 /* DCPL */ UNIT_C, /* dcpl only in C unit. */
276 /* MDUALACC */ UNIT_FM0, /* media dual acc insn only in FM0 unit. */
277 /* MCLRACC-1*/ UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit. */
280 static CGEN_ATTR_VALUE_TYPE fr550_unit_mapping[] =
282 /* unit in insn actual unit */
289 /* IALL */ UNIT_IALL,
292 /* FM01 */ UNIT_FM01,
295 /* FMALL */ UNIT_FMALL,
296 /* FMLOW */ UNIT_FM01, /* Only F0,F1,M0,M1 units */
301 /* MULT-DIV */ UNIT_I01, /* multiply and divide in I0 or I1 unit. */
302 /* LOAD */ UNIT_I01, /* load in I0 or I1 unit. */
303 /* STORE */ UNIT_I01, /* store in I0 or I1 unit. */
304 /* SCAN */ UNIT_IALL, /* scan in any integer unit. */
305 /* DCPL */ UNIT_I0, /* dcpl only in I0 unit. */
306 /* MDUALACC */ UNIT_FMALL,/* media dual acc insn in all media units */
307 /* MCLRACC-1*/ UNIT_FM01 /* mclracc,A==1 in FM0 or FM1 unit. */
311 frv_vliw_reset (FRV_VLIW *vliw, unsigned long mach, unsigned long elf_flags)
314 vliw->constraint_violation = 0;
316 vliw->elf_flags = elf_flags;
321 vliw->current_vliw = fr400_allowed_vliw;
322 vliw->unit_mapping = fr400_unit_mapping;
325 vliw->current_vliw = fr550_allowed_vliw;
326 vliw->unit_mapping = fr550_unit_mapping;
329 vliw->current_vliw = fr500_allowed_vliw;
330 vliw->unit_mapping = fr500_unit_mapping;
335 /* Return 1 if unit1 is a match for unit2.
336 Unit1 comes from the insn's UNIT attribute. unit2 comes from one of the
337 *_allowed_vliw tables above. */
339 match_unit (FRV_VLIW *vliw,
340 CGEN_ATTR_VALUE_TYPE unit1, CGEN_ATTR_VALUE_TYPE unit2)
342 /* Map any specialized implementation units to actual ones. */
343 unit1 = vliw->unit_mapping[unit1];
355 /* The 01 versions of these units are within 2 enums of the 0 or 1
357 if (unit1 - unit2 <= 2)
362 /* The ALL versions of these units are within 5 enums of the 0, 1, 2 or 3
364 if (unit1 - unit2 <= 5)
374 /* Return 1 if the vliws match, 0 otherwise. */
377 match_vliw (VLIW_COMBO *vliw1, VLIW_COMBO *vliw2, int vliw_size)
381 for (i = 0; i < vliw_size; ++i)
383 if ((*vliw1)[i] != (*vliw2)[i])
390 /* Find the next vliw vliw in the table that can accomodate the new insn.
391 If one is found then return it. Otherwise return NULL. */
394 add_next_to_vliw (FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE unit)
396 int next = vliw->next_slot;
397 VLIW_COMBO *current = vliw->current_vliw;
398 VLIW_COMBO *potential;
402 fprintf (stderr, "frv-opc.c line %d: bad vliw->next_slot value.\n",
404 abort (); /* Should never happen */
407 /* The table is sorted by units allowed within slots, so vliws with
408 identical starting sequences are together. */
412 if (match_unit (vliw, unit, (*potential)[next]))
416 while (match_vliw (potential, current, next));
421 /* Look for the given major insn type in the given vliw. Return 1 if found,
422 return 0 otherwise. */
425 find_major_in_vliw (FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major)
429 for (i = 0; i < vliw->next_slot; ++i)
430 if (vliw->major[i] == major)
436 /* Check for constraints between the insns in the vliw due to major insn
440 fr400_check_insn_major_constraints (
441 FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major
444 /* In the cpu file, all media insns are represented as being allowed in
445 both media units. This makes it easier since this is the case for fr500.
446 Catch the invalid combinations here. Insns of major class FR400_MAJOR_M_2
447 cannot coexist with any other media insn in a vliw. */
450 case FR400_MAJOR_M_2:
451 return ! find_major_in_vliw (vliw, FR400_MAJOR_M_1)
452 && ! find_major_in_vliw (vliw, FR400_MAJOR_M_2);
461 FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE unit
465 for (i = 0; i < vliw->next_slot; ++i)
466 if (CGEN_INSN_ATTR_VALUE (vliw->insn[i], CGEN_INSN_UNIT) == unit)
469 return 0; /* not found */
474 FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major, CGEN_ATTR_VALUE_TYPE slot
479 for (i = 0; i < vliw->next_slot; ++i)
480 if (vliw->major[i] == major && (*vliw->current_vliw)[i] == slot)
487 fr550_find_media_in_vliw (FRV_VLIW *vliw)
491 for (i = 0; i < vliw->next_slot; ++i)
493 if (vliw->major[i] < FR550_MAJOR_M_1 || vliw->major[i] > FR550_MAJOR_M_5)
496 /* Found a media insn, however, MNOP and MCLRACC don't count. */
497 if (CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_MNOP
498 || CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_MCLRACC_0
499 || CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_MCLRACC_1)
502 return 1; /* found one */
509 fr550_find_float_in_vliw (FRV_VLIW *vliw)
513 for (i = 0; i < vliw->next_slot; ++i)
515 if (vliw->major[i] < FR550_MAJOR_F_1 || vliw->major[i] > FR550_MAJOR_F_4)
518 /* Found a floating point insn, however, FNOP doesn't count. */
519 if (CGEN_INSN_NUM (vliw->insn[i]) == FRV_INSN_FNOP)
522 return 1; /* found one */
529 fr550_check_insn_major_constraints (
530 FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major, const CGEN_INSN *insn
533 CGEN_ATTR_VALUE_TYPE unit;
534 CGEN_ATTR_VALUE_TYPE slot = (*vliw->current_vliw)[vliw->next_slot];
538 /* If it's a store, then there must be another store in I1 */
539 unit = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_UNIT);
540 if (unit == UNIT_STORE)
541 return find_unit_in_vliw (vliw, UNIT_STORE);
545 /* Floating point insns other than FNOP in slot f2 or f3 cannot coexist with
547 if (major >= FR550_MAJOR_F_1 && major <= FR550_MAJOR_F_4
548 && CGEN_INSN_NUM (insn) != FRV_INSN_FNOP)
549 return ! fr550_find_media_in_vliw (vliw);
550 /* Media insns other than MNOP in slot m2 or m3 cannot coexist with
551 floating point insns. */
552 if (major >= FR550_MAJOR_M_1 && major <= FR550_MAJOR_M_5
553 && CGEN_INSN_NUM (insn) != FRV_INSN_MNOP)
554 return ! fr550_find_float_in_vliw (vliw);
555 /* F-2 in slot f2 or f3 cannot coexist with F-2 or F-4 in slot f1 or f2
558 if (major == FR550_MAJOR_F_2)
559 return ! find_major_in_slot (vliw, FR550_MAJOR_F_2, slot - (UNIT_FM2 - UNIT_FM0))
560 && ! find_major_in_slot (vliw, FR550_MAJOR_F_4, slot - (UNIT_FM2 - UNIT_FM0));
561 /* M-2 or M-5 in slot m2 or m3 cannot coexist with M-2 in slot m1 or m2
563 if (major == FR550_MAJOR_M_2 || major == FR550_MAJOR_M_5)
564 return ! find_major_in_slot (vliw, FR550_MAJOR_M_2, slot - (UNIT_FM2 - UNIT_FM0));
565 /* M-4 in slot m2 or m3 cannot coexist with M-4 in slot m1 or m2
567 if (major == FR550_MAJOR_M_4)
568 return ! find_major_in_slot (vliw, FR550_MAJOR_M_4, slot - (UNIT_FM2 - UNIT_FM0));
573 return 1; /* all ok */
577 fr500_check_insn_major_constraints (
578 FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major
581 /* TODO: A table might be faster for some of the more complex instances
585 case FR500_MAJOR_I_1:
586 case FR500_MAJOR_I_4:
587 case FR500_MAJOR_I_5:
588 case FR500_MAJOR_I_6:
589 case FR500_MAJOR_B_1:
590 case FR500_MAJOR_B_2:
591 case FR500_MAJOR_B_3:
592 case FR500_MAJOR_B_4:
593 case FR500_MAJOR_B_5:
594 case FR500_MAJOR_B_6:
595 case FR500_MAJOR_F_4:
596 case FR500_MAJOR_F_8:
597 case FR500_MAJOR_M_8:
599 case FR500_MAJOR_I_2:
600 /* Cannot coexist with I-3 insn. */
601 return ! find_major_in_vliw (vliw, FR500_MAJOR_I_3);
602 case FR500_MAJOR_I_3:
603 /* Cannot coexist with I-2 insn. */
604 return ! find_major_in_vliw (vliw, FR500_MAJOR_I_2);
605 case FR500_MAJOR_F_1:
606 case FR500_MAJOR_F_2:
607 /* Cannot coexist with F-5, F-6, or M-7 insn. */
608 return ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
609 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
610 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
611 case FR500_MAJOR_F_3:
612 /* Cannot coexist with F-7, or M-7 insn. */
613 return ! find_major_in_vliw (vliw, FR500_MAJOR_F_7)
614 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
615 case FR500_MAJOR_F_5:
616 /* Cannot coexist with F-1, F-2, F-6, F-7, or M-7 insn. */
617 return ! find_major_in_vliw (vliw, FR500_MAJOR_F_1)
618 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_2)
619 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
620 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_7)
621 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
622 case FR500_MAJOR_F_6:
623 /* Cannot coexist with F-1, F-2, F-5, F-6, or M-7 insn. */
624 return ! find_major_in_vliw (vliw, FR500_MAJOR_F_1)
625 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_2)
626 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
627 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
628 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
629 case FR500_MAJOR_F_7:
630 /* Cannot coexist with F-3, F-5, F-7, or M-7 insn. */
631 return ! find_major_in_vliw (vliw, FR500_MAJOR_F_3)
632 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
633 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_7)
634 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
635 case FR500_MAJOR_M_1:
636 /* Cannot coexist with M-7 insn. */
637 return ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
638 case FR500_MAJOR_M_2:
639 case FR500_MAJOR_M_3:
640 /* Cannot coexist with M-5, M-6 or M-7 insn. */
641 return ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
642 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
643 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
644 case FR500_MAJOR_M_4:
645 /* Cannot coexist with M-6 insn. */
646 return ! find_major_in_vliw (vliw, FR500_MAJOR_M_6);
647 case FR500_MAJOR_M_5:
648 /* Cannot coexist with M-2, M-3, M-5, M-6 or M-7 insn. */
649 return ! find_major_in_vliw (vliw, FR500_MAJOR_M_2)
650 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_3)
651 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
652 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
653 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
654 case FR500_MAJOR_M_6:
655 /* Cannot coexist with M-2, M-3, M-4, M-5, M-6 or M-7 insn. */
656 return ! find_major_in_vliw (vliw, FR500_MAJOR_M_2)
657 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_3)
658 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_4)
659 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
660 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
661 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7);
662 case FR500_MAJOR_M_7:
663 /* Cannot coexist with M-1, M-2, M-3, M-5, M-6 or M-7 insn. */
664 return ! find_major_in_vliw (vliw, FR500_MAJOR_M_1)
665 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_2)
666 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_3)
667 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_5)
668 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_6)
669 && ! find_major_in_vliw (vliw, FR500_MAJOR_M_7)
670 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_1)
671 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_2)
672 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_3)
673 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_5)
674 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_6)
675 && ! find_major_in_vliw (vliw, FR500_MAJOR_F_7);
677 fprintf (stderr, "frv-opc.c, line %d: bad major code, aborting.\n",
686 check_insn_major_constraints (
687 FRV_VLIW *vliw, CGEN_ATTR_VALUE_TYPE major, const CGEN_INSN *insn
694 rc = fr400_check_insn_major_constraints (vliw, major);
697 rc = fr550_check_insn_major_constraints (vliw, major, insn);
700 rc = fr500_check_insn_major_constraints (vliw, major);
706 /* Add in insn to the VLIW vliw if possible. Return 0 if successful,
707 non-zero otherwise. */
709 frv_vliw_add_insn (FRV_VLIW *vliw, const CGEN_INSN *insn)
712 CGEN_ATTR_VALUE_TYPE major;
713 CGEN_ATTR_VALUE_TYPE unit;
714 VLIW_COMBO *new_vliw;
716 if (vliw->constraint_violation || CGEN_INSN_INVALID_P (insn))
719 index = vliw->next_slot;
720 if (index >= FRV_VLIW_SIZE)
723 unit = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_UNIT);
724 if (unit == UNIT_NIL)
726 fprintf (stderr, "frv-opc.c line %d: bad insn unit.\n",
728 abort (); /* no UNIT specified for this insn in frv.cpu */
734 major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR400_MAJOR);
737 major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR550_MAJOR);
740 major = CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_FR500_MAJOR);
746 /* Any insn can be added to slot 0. */
747 while (! match_unit (vliw, unit, (*vliw->current_vliw)[0]))
748 ++vliw->current_vliw;
749 vliw->major[0] = major;
750 vliw->insn[0] = insn;
755 /* If there are already insns in the vliw(s) check to see that
756 this one can be added. Do this by finding an allowable vliw
757 combination that can accept the new insn. */
758 if (! (vliw->elf_flags & EF_FRV_NOPACK))
760 new_vliw = add_next_to_vliw (vliw, unit);
761 if (new_vliw && check_insn_major_constraints (vliw, major, insn))
763 vliw->current_vliw = new_vliw;
764 vliw->major[index] = major;
765 vliw->insn[index] = insn;
770 /* The frv machine supports all packing conbinations. If we fail,
771 to add the insn, then it could not be handled as if it was the fr500.
772 Just return as if it was handled ok. */
773 if (vliw->mach == bfd_mach_frv)
777 vliw->constraint_violation = 1;
785 if (regno < 0) return 0;
786 if (regno <= 4095) return 1;
790 /* The hash functions are recorded here to help keep assembler code out of
791 the disassembler and vice versa. */
793 static int asm_hash_insn_p PARAMS ((const CGEN_INSN *));
794 static unsigned int asm_hash_insn PARAMS ((const char *));
795 static int dis_hash_insn_p PARAMS ((const CGEN_INSN *));
796 static unsigned int dis_hash_insn PARAMS ((const char *, CGEN_INSN_INT));
798 /* Instruction formats. */
800 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
801 #define F(f) & frv_cgen_ifld_table[FRV_##f]
803 #define F(f) & frv_cgen_ifld_table[FRV_/**/f]
805 static const CGEN_IFMT ifmt_empty = {
809 static const CGEN_IFMT ifmt_add = {
810 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 } }
813 static const CGEN_IFMT ifmt_not = {
814 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 } }
817 static const CGEN_IFMT ifmt_smul = {
818 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 } }
821 static const CGEN_IFMT ifmt_smu = {
822 32, 32, 0x7ffc0fc0, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
825 static const CGEN_IFMT ifmt_slass = {
826 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
829 static const CGEN_IFMT ifmt_scutss = {
830 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
833 static const CGEN_IFMT ifmt_cadd = {
834 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 } }
837 static const CGEN_IFMT ifmt_cnot = {
838 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 } }
841 static const CGEN_IFMT ifmt_csmul = {
842 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 } }
845 static const CGEN_IFMT ifmt_addcc = {
846 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 } }
849 static const CGEN_IFMT ifmt_smulcc = {
850 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 } }
853 static const CGEN_IFMT ifmt_addi = {
854 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
857 static const CGEN_IFMT ifmt_smuli = {
858 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
861 static const CGEN_IFMT ifmt_addicc = {
862 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
865 static const CGEN_IFMT ifmt_smulicc = {
866 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
869 static const CGEN_IFMT ifmt_cmpb = {
870 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 } }
873 static const CGEN_IFMT ifmt_setlo = {
874 32, 32, 0x1ff0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_MISC_NULL_4) }, { F (F_U16) }, { 0 } }
877 static const CGEN_IFMT ifmt_sethi = {
878 32, 32, 0x1ff0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_MISC_NULL_4) }, { F (F_U16) }, { 0 } }
881 static const CGEN_IFMT ifmt_setlos = {
882 32, 32, 0x1ff0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_MISC_NULL_4) }, { F (F_S16) }, { 0 } }
885 static const CGEN_IFMT ifmt_ldbf = {
886 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
889 static const CGEN_IFMT ifmt_ldc = {
890 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
893 static const CGEN_IFMT ifmt_ldd = {
894 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
897 static const CGEN_IFMT ifmt_lddf = {
898 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
901 static const CGEN_IFMT ifmt_lddc = {
902 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
905 static const CGEN_IFMT ifmt_ldsbi = {
906 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
909 static const CGEN_IFMT ifmt_ldbfi = {
910 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
913 static const CGEN_IFMT ifmt_lddi = {
914 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
917 static const CGEN_IFMT ifmt_lddfi = {
918 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
921 static const CGEN_IFMT ifmt_cldbf = {
922 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 } }
925 static const CGEN_IFMT ifmt_clddf = {
926 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 } }
929 static const CGEN_IFMT ifmt_movgf = {
930 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
933 static const CGEN_IFMT ifmt_cmovgf = {
934 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 } }
937 static const CGEN_IFMT ifmt_movgs = {
938 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_OP) }, { F (F_SPR) }, { F (F_OPE1) }, { F (F_GRJ) }, { 0 } }
941 static const CGEN_IFMT ifmt_bra = {
942 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 } }
945 static const CGEN_IFMT ifmt_bno = {
946 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 } }
949 static const CGEN_IFMT ifmt_beq = {
950 32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
953 static const CGEN_IFMT ifmt_fbra = {
954 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 } }
957 static const CGEN_IFMT ifmt_fbno = {
958 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 } }
961 static const CGEN_IFMT ifmt_fbne = {
962 32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_HINT) }, { F (F_LABEL16) }, { 0 } }
965 static const CGEN_IFMT ifmt_bctrlr = {
966 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 } }
969 static const CGEN_IFMT ifmt_bralr = {
970 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 } }
973 static const CGEN_IFMT ifmt_bnolr = {
974 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 } }
977 static const CGEN_IFMT ifmt_beqlr = {
978 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 } }
981 static const CGEN_IFMT ifmt_fbralr = {
982 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 } }
985 static const CGEN_IFMT ifmt_fbnolr = {
986 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 } }
989 static const CGEN_IFMT ifmt_fbeqlr = {
990 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 } }
993 static const CGEN_IFMT ifmt_bcralr = {
994 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 } }
997 static const CGEN_IFMT ifmt_bceqlr = {
998 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 } }
1001 static const CGEN_IFMT ifmt_fcbralr = {
1002 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 } }
1005 static const CGEN_IFMT ifmt_fcbeqlr = {
1006 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 } }
1009 static const CGEN_IFMT ifmt_jmpl = {
1010 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 } }
1013 static const CGEN_IFMT ifmt_calll = {
1014 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 } }
1017 static const CGEN_IFMT ifmt_jmpil = {
1018 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 } }
1021 static const CGEN_IFMT ifmt_callil = {
1022 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 } }
1025 static const CGEN_IFMT ifmt_call = {
1026 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_OP) }, { F (F_LABEL24) }, { 0 } }
1029 static const CGEN_IFMT ifmt_rett = {
1030 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 } }
1033 static const CGEN_IFMT ifmt_rei = {
1034 32, 32, 0x7ffc0fff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_EIR) }, { F (F_S12_NULL) }, { 0 } }
1037 static const CGEN_IFMT ifmt_tra = {
1038 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 } }
1041 static const CGEN_IFMT ifmt_tno = {
1042 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 } }
1045 static const CGEN_IFMT ifmt_teq = {
1046 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 } }
1049 static const CGEN_IFMT ifmt_ftra = {
1050 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 } }
1053 static const CGEN_IFMT ifmt_ftno = {
1054 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 } }
1057 static const CGEN_IFMT ifmt_ftne = {
1058 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 } }
1061 static const CGEN_IFMT ifmt_tira = {
1062 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 } }
1065 static const CGEN_IFMT ifmt_tino = {
1066 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 } }
1069 static const CGEN_IFMT ifmt_tieq = {
1070 32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_INT_CC) }, { F (F_ICCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1073 static const CGEN_IFMT ifmt_ftira = {
1074 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 } }
1077 static const CGEN_IFMT ifmt_ftino = {
1078 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 } }
1081 static const CGEN_IFMT ifmt_ftine = {
1082 32, 32, 0x79fc0000, { { F (F_PACK) }, { F (F_FLT_CC) }, { F (F_FCCI_2) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
1085 static const CGEN_IFMT ifmt_break = {
1086 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 } }
1089 static const CGEN_IFMT ifmt_andcr = {
1090 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 } }
1093 static const CGEN_IFMT ifmt_notcr = {
1094 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 } }
1097 static const CGEN_IFMT ifmt_ckra = {
1098 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 } }
1101 static const CGEN_IFMT ifmt_ckeq = {
1102 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 } }
1105 static const CGEN_IFMT ifmt_fckra = {
1106 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 } }
1109 static const CGEN_IFMT ifmt_cckra = {
1110 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 } }
1113 static const CGEN_IFMT ifmt_cckeq = {
1114 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 } }
1117 static const CGEN_IFMT ifmt_cfckra = {
1118 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 } }
1121 static const CGEN_IFMT ifmt_cfckne = {
1122 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 } }
1125 static const CGEN_IFMT ifmt_cjmpl = {
1126 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 } }
1129 static const CGEN_IFMT ifmt_ccalll = {
1130 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 } }
1133 static const CGEN_IFMT ifmt_icei = {
1134 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 } }
1137 static const CGEN_IFMT ifmt_icpl = {
1138 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 } }
1141 static const CGEN_IFMT ifmt_icul = {
1142 32, 32, 0x7ffc0fff, { { F (F_PACK) }, { F (F_RD_NULL) }, { F (F_OP) }, { F (F_GRI) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1145 static const CGEN_IFMT ifmt_bar = {
1146 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 } }
1149 static const CGEN_IFMT ifmt_cop1 = {
1150 32, 32, 0x1fc0000, { { F (F_PACK) }, { F (F_CPRK) }, { F (F_OP) }, { F (F_CPRI) }, { F (F_S6_1) }, { F (F_CPRJ) }, { 0 } }
1153 static const CGEN_IFMT ifmt_clrgr = {
1154 32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1157 static const CGEN_IFMT ifmt_clrfr = {
1158 32, 32, 0x1ffffff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_GRJ_NULL) }, { 0 } }
1161 static const CGEN_IFMT ifmt_fitos = {
1162 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1165 static const CGEN_IFMT ifmt_fstoi = {
1166 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1169 static const CGEN_IFMT ifmt_fitod = {
1170 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1173 static const CGEN_IFMT ifmt_fdtoi = {
1174 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1177 static const CGEN_IFMT ifmt_cfitos = {
1178 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 } }
1181 static const CGEN_IFMT ifmt_cfstoi = {
1182 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 } }
1185 static const CGEN_IFMT ifmt_fmovs = {
1186 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1189 static const CGEN_IFMT ifmt_fmovd = {
1190 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1193 static const CGEN_IFMT ifmt_cfmovs = {
1194 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 } }
1197 static const CGEN_IFMT ifmt_fadds = {
1198 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1201 static const CGEN_IFMT ifmt_faddd = {
1202 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1205 static const CGEN_IFMT ifmt_cfadds = {
1206 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 } }
1209 static const CGEN_IFMT ifmt_fcmps = {
1210 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 } }
1213 static const CGEN_IFMT ifmt_fcmpd = {
1214 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 } }
1217 static const CGEN_IFMT ifmt_cfcmps = {
1218 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 } }
1221 static const CGEN_IFMT ifmt_mhsetlos = {
1222 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1225 static const CGEN_IFMT ifmt_mhsethis = {
1226 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1229 static const CGEN_IFMT ifmt_mhdsets = {
1230 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_OPE1) }, { F (F_U12) }, { 0 } }
1233 static const CGEN_IFMT ifmt_mhsetloh = {
1234 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 } }
1237 static const CGEN_IFMT ifmt_mhsethih = {
1238 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 } }
1241 static const CGEN_IFMT ifmt_mhdseth = {
1242 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 } }
1245 static const CGEN_IFMT ifmt_mand = {
1246 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1249 static const CGEN_IFMT ifmt_cmand = {
1250 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 } }
1253 static const CGEN_IFMT ifmt_mnot = {
1254 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_RS_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1257 static const CGEN_IFMT ifmt_cmnot = {
1258 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 } }
1261 static const CGEN_IFMT ifmt_mrotli = {
1262 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1265 static const CGEN_IFMT ifmt_mcut = {
1266 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1269 static const CGEN_IFMT ifmt_mcuti = {
1270 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1273 static const CGEN_IFMT ifmt_mdcutssi = {
1274 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1277 static const CGEN_IFMT ifmt_mdrotli = {
1278 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_S6) }, { 0 } }
1281 static const CGEN_IFMT ifmt_mqsaths = {
1282 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1285 static const CGEN_IFMT ifmt_mcmpsh = {
1286 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 } }
1289 static const CGEN_IFMT ifmt_mabshs = {
1290 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1293 static const CGEN_IFMT ifmt_cmqaddhss = {
1294 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 } }
1297 static const CGEN_IFMT ifmt_maddaccs = {
1298 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_ACCJ_NULL) }, { 0 } }
1301 static const CGEN_IFMT ifmt_mmulhs = {
1302 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1305 static const CGEN_IFMT ifmt_cmmulhs = {
1306 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 } }
1309 static const CGEN_IFMT ifmt_mqmulhs = {
1310 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1313 static const CGEN_IFMT ifmt_cmqmulhs = {
1314 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 } }
1317 static const CGEN_IFMT ifmt_mmachu = {
1318 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1321 static const CGEN_IFMT ifmt_cmmachu = {
1322 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 } }
1325 static const CGEN_IFMT ifmt_mqmachu = {
1326 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_ACC40UK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1329 static const CGEN_IFMT ifmt_cmqmachu = {
1330 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 } }
1333 static const CGEN_IFMT ifmt_cmexpdhw = {
1334 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 } }
1337 static const CGEN_IFMT ifmt_mexpdhd = {
1338 32, 32, 0x1fc0fc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_U6) }, { 0 } }
1341 static const CGEN_IFMT ifmt_cmexpdhd = {
1342 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 } }
1345 static const CGEN_IFMT ifmt_munpackh = {
1346 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1349 static const CGEN_IFMT ifmt_mdunpackh = {
1350 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1353 static const CGEN_IFMT ifmt_mbtoh = {
1354 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1357 static const CGEN_IFMT ifmt_cmbtoh = {
1358 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 } }
1361 static const CGEN_IFMT ifmt_mhtob = {
1362 32, 32, 0x1ffffc0, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_FRI_NULL) }, { F (F_OPE1) }, { F (F_FRJ) }, { 0 } }
1365 static const CGEN_IFMT ifmt_cmhtob = {
1366 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 } }
1369 static const CGEN_IFMT ifmt_cmbtohe = {
1370 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 } }
1373 static const CGEN_IFMT ifmt_mnop = {
1374 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 } }
1377 static const CGEN_IFMT ifmt_mclracc_0 = {
1378 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 } }
1381 static const CGEN_IFMT ifmt_mrdacc = {
1382 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACC40SI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1385 static const CGEN_IFMT ifmt_mrdaccg = {
1386 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_FRK) }, { F (F_OP) }, { F (F_ACCGI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1389 static const CGEN_IFMT ifmt_mwtacc = {
1390 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACC40SK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1393 static const CGEN_IFMT ifmt_mwtaccg = {
1394 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_ACCGK) }, { F (F_OP) }, { F (F_FRI) }, { F (F_OPE1) }, { F (F_FRJ_NULL) }, { 0 } }
1397 static const CGEN_IFMT ifmt_fnop = {
1398 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 } }
1403 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
1404 #define A(a) (1 << CGEN_INSN_##a)
1406 #define A(a) (1 << CGEN_INSN_/**/a)
1408 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
1409 #define OPERAND(op) FRV_OPERAND_##op
1411 #define OPERAND(op) FRV_OPERAND_/**/op
1413 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
1414 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
1416 /* The instruction table. */
1418 static const CGEN_OPCODE frv_cgen_insn_opcode_table[MAX_INSNS] =
1420 /* Special null first entry.
1421 A `num' value of zero is thus invalid.
1422 Also, the special `invalid' insn resides here. */
1423 { { 0, 0, 0, 0 }, {{0}}, 0, {0}},
1424 /* add$pack $GRi,$GRj,$GRk */
1427 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1430 /* sub$pack $GRi,$GRj,$GRk */
1433 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1434 & ifmt_add, { 0x100 }
1436 /* and$pack $GRi,$GRj,$GRk */
1439 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1440 & ifmt_add, { 0x40000 }
1442 /* or$pack $GRi,$GRj,$GRk */
1445 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1446 & ifmt_add, { 0x40080 }
1448 /* xor$pack $GRi,$GRj,$GRk */
1451 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1452 & ifmt_add, { 0x40100 }
1454 /* not$pack $GRj,$GRk */
1457 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), 0 } },
1458 & ifmt_not, { 0x40180 }
1460 /* sdiv$pack $GRi,$GRj,$GRk */
1463 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1464 & ifmt_add, { 0x380 }
1466 /* nsdiv$pack $GRi,$GRj,$GRk */
1469 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1470 & ifmt_add, { 0x40380 }
1472 /* udiv$pack $GRi,$GRj,$GRk */
1475 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1476 & ifmt_add, { 0x3c0 }
1478 /* nudiv$pack $GRi,$GRj,$GRk */
1481 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1482 & ifmt_add, { 0x403c0 }
1484 /* smul$pack $GRi,$GRj,$GRdoublek */
1487 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), 0 } },
1488 & ifmt_smul, { 0x200 }
1490 /* umul$pack $GRi,$GRj,$GRdoublek */
1493 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), 0 } },
1494 & ifmt_smul, { 0x280 }
1496 /* smu$pack $GRi,$GRj */
1499 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1500 & ifmt_smu, { 0x1180140 }
1502 /* smass$pack $GRi,$GRj */
1505 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1506 & ifmt_smu, { 0x1180180 }
1508 /* smsss$pack $GRi,$GRj */
1511 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
1512 & ifmt_smu, { 0x11801c0 }
1514 /* sll$pack $GRi,$GRj,$GRk */
1517 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1518 & ifmt_add, { 0x40200 }
1520 /* srl$pack $GRi,$GRj,$GRk */
1523 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1524 & ifmt_add, { 0x40280 }
1526 /* sra$pack $GRi,$GRj,$GRk */
1529 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1530 & ifmt_add, { 0x40300 }
1532 /* slass$pack $GRi,$GRj,$GRk */
1535 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1536 & ifmt_slass, { 0x1180080 }
1538 /* scutss$pack $GRj,$GRk */
1541 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), 0 } },
1542 & ifmt_scutss, { 0x1180100 }
1544 /* scan$pack $GRi,$GRj,$GRk */
1547 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1548 & ifmt_add, { 0x2c0000 }
1550 /* cadd$pack $GRi,$GRj,$GRk,$CCi,$cond */
1553 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1554 & ifmt_cadd, { 0x1600000 }
1556 /* csub$pack $GRi,$GRj,$GRk,$CCi,$cond */
1559 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1560 & ifmt_cadd, { 0x1600040 }
1562 /* cand$pack $GRi,$GRj,$GRk,$CCi,$cond */
1565 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1566 & ifmt_cadd, { 0x1680000 }
1568 /* cor$pack $GRi,$GRj,$GRk,$CCi,$cond */
1571 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1572 & ifmt_cadd, { 0x1680040 }
1574 /* cxor$pack $GRi,$GRj,$GRk,$CCi,$cond */
1577 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1578 & ifmt_cadd, { 0x1680080 }
1580 /* cnot$pack $GRj,$GRk,$CCi,$cond */
1583 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1584 & ifmt_cnot, { 0x16800c0 }
1586 /* csmul$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
1589 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
1590 & ifmt_csmul, { 0x1600080 }
1592 /* csdiv$pack $GRi,$GRj,$GRk,$CCi,$cond */
1595 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1596 & ifmt_cadd, { 0x16000c0 }
1598 /* cudiv$pack $GRi,$GRj,$GRk,$CCi,$cond */
1601 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1602 & ifmt_cadd, { 0x16400c0 }
1604 /* csll$pack $GRi,$GRj,$GRk,$CCi,$cond */
1607 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1608 & ifmt_cadd, { 0x1700000 }
1610 /* csrl$pack $GRi,$GRj,$GRk,$CCi,$cond */
1613 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1614 & ifmt_cadd, { 0x1700040 }
1616 /* csra$pack $GRi,$GRj,$GRk,$CCi,$cond */
1619 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1620 & ifmt_cadd, { 0x1700080 }
1622 /* cscan$pack $GRi,$GRj,$GRk,$CCi,$cond */
1625 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1626 & ifmt_cadd, { 0x19400c0 }
1628 /* addcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1631 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1632 & ifmt_addcc, { 0x40 }
1634 /* subcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1637 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1638 & ifmt_addcc, { 0x140 }
1640 /* andcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1643 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1644 & ifmt_addcc, { 0x40040 }
1646 /* orcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1649 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1650 & ifmt_addcc, { 0x400c0 }
1652 /* xorcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1655 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1656 & ifmt_addcc, { 0x40140 }
1658 /* sllcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1661 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1662 & ifmt_addcc, { 0x40240 }
1664 /* srlcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1667 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1668 & ifmt_addcc, { 0x402c0 }
1670 /* sracc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1673 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1674 & ifmt_addcc, { 0x40340 }
1676 /* smulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
1679 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1680 & ifmt_smulcc, { 0x240 }
1682 /* umulcc$pack $GRi,$GRj,$GRdoublek,$ICCi_1 */
1685 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1686 & ifmt_smulcc, { 0x2c0 }
1688 /* caddcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1691 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1692 & ifmt_cadd, { 0x1640000 }
1694 /* csubcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1697 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1698 & ifmt_cadd, { 0x1640040 }
1700 /* csmulcc$pack $GRi,$GRj,$GRdoublek,$CCi,$cond */
1703 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
1704 & ifmt_csmul, { 0x1640080 }
1706 /* candcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1709 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1710 & ifmt_cadd, { 0x16c0000 }
1712 /* corcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1715 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1716 & ifmt_cadd, { 0x16c0040 }
1718 /* cxorcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1721 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1722 & ifmt_cadd, { 0x16c0080 }
1724 /* csllcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1727 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1728 & ifmt_cadd, { 0x1740000 }
1730 /* csrlcc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1733 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1734 & ifmt_cadd, { 0x1740040 }
1736 /* csracc$pack $GRi,$GRj,$GRk,$CCi,$cond */
1739 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
1740 & ifmt_cadd, { 0x1740080 }
1742 /* addx$pack $GRi,$GRj,$GRk,$ICCi_1 */
1745 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1746 & ifmt_addcc, { 0x80 }
1748 /* subx$pack $GRi,$GRj,$GRk,$ICCi_1 */
1751 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1752 & ifmt_addcc, { 0x180 }
1754 /* addxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1757 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1758 & ifmt_addcc, { 0xc0 }
1760 /* subxcc$pack $GRi,$GRj,$GRk,$ICCi_1 */
1763 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1764 & ifmt_addcc, { 0x1c0 }
1766 /* addss$pack $GRi,$GRj,$GRk */
1769 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1770 & ifmt_slass, { 0x1180000 }
1772 /* subss$pack $GRi,$GRj,$GRk */
1775 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (GRK), 0 } },
1776 & ifmt_slass, { 0x1180040 }
1778 /* addi$pack $GRi,$s12,$GRk */
1781 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1782 & ifmt_addi, { 0x400000 }
1784 /* subi$pack $GRi,$s12,$GRk */
1787 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1788 & ifmt_addi, { 0x500000 }
1790 /* andi$pack $GRi,$s12,$GRk */
1793 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1794 & ifmt_addi, { 0x800000 }
1796 /* ori$pack $GRi,$s12,$GRk */
1799 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1800 & ifmt_addi, { 0x880000 }
1802 /* xori$pack $GRi,$s12,$GRk */
1805 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1806 & ifmt_addi, { 0x900000 }
1808 /* sdivi$pack $GRi,$s12,$GRk */
1811 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1812 & ifmt_addi, { 0x780000 }
1814 /* nsdivi$pack $GRi,$s12,$GRk */
1817 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1818 & ifmt_addi, { 0xb80000 }
1820 /* udivi$pack $GRi,$s12,$GRk */
1823 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1824 & ifmt_addi, { 0x7c0000 }
1826 /* nudivi$pack $GRi,$s12,$GRk */
1829 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1830 & ifmt_addi, { 0xbc0000 }
1832 /* smuli$pack $GRi,$s12,$GRdoublek */
1835 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRDOUBLEK), 0 } },
1836 & ifmt_smuli, { 0x600000 }
1838 /* umuli$pack $GRi,$s12,$GRdoublek */
1841 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRDOUBLEK), 0 } },
1842 & ifmt_smuli, { 0x680000 }
1844 /* slli$pack $GRi,$s12,$GRk */
1847 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1848 & ifmt_addi, { 0xa00000 }
1850 /* srli$pack $GRi,$s12,$GRk */
1853 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1854 & ifmt_addi, { 0xa80000 }
1856 /* srai$pack $GRi,$s12,$GRk */
1859 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1860 & ifmt_addi, { 0xb00000 }
1862 /* scani$pack $GRi,$s12,$GRk */
1865 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), ',', OP (GRK), 0 } },
1866 & ifmt_addi, { 0x11c0000 }
1868 /* addicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1871 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1872 & ifmt_addicc, { 0x440000 }
1874 /* subicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1877 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1878 & ifmt_addicc, { 0x540000 }
1880 /* andicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1883 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1884 & ifmt_addicc, { 0x840000 }
1886 /* oricc$pack $GRi,$s10,$GRk,$ICCi_1 */
1889 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1890 & ifmt_addicc, { 0x8c0000 }
1892 /* xoricc$pack $GRi,$s10,$GRk,$ICCi_1 */
1895 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1896 & ifmt_addicc, { 0x940000 }
1898 /* smulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
1901 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1902 & ifmt_smulicc, { 0x640000 }
1904 /* umulicc$pack $GRi,$s10,$GRdoublek,$ICCi_1 */
1907 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRDOUBLEK), ',', OP (ICCI_1), 0 } },
1908 & ifmt_smulicc, { 0x6c0000 }
1910 /* sllicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1913 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1914 & ifmt_addicc, { 0xa40000 }
1916 /* srlicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1919 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1920 & ifmt_addicc, { 0xac0000 }
1922 /* sraicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1925 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1926 & ifmt_addicc, { 0xb40000 }
1928 /* addxi$pack $GRi,$s10,$GRk,$ICCi_1 */
1931 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1932 & ifmt_addicc, { 0x480000 }
1934 /* subxi$pack $GRi,$s10,$GRk,$ICCi_1 */
1937 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1938 & ifmt_addicc, { 0x580000 }
1940 /* addxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1943 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1944 & ifmt_addicc, { 0x4c0000 }
1946 /* subxicc$pack $GRi,$s10,$GRk,$ICCi_1 */
1949 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (GRK), ',', OP (ICCI_1), 0 } },
1950 & ifmt_addicc, { 0x5c0000 }
1952 /* cmpb$pack $GRi,$GRj,$ICCi_1 */
1955 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
1956 & ifmt_cmpb, { 0x300 }
1958 /* cmpba$pack $GRi,$GRj,$ICCi_1 */
1961 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
1962 & ifmt_cmpb, { 0x340 }
1964 /* setlo$pack $ulo16,$GRklo */
1967 { { MNEM, OP (PACK), ' ', OP (ULO16), ',', OP (GRKLO), 0 } },
1968 & ifmt_setlo, { 0xf40000 }
1970 /* sethi$pack $uhi16,$GRkhi */
1973 { { MNEM, OP (PACK), ' ', OP (UHI16), ',', OP (GRKHI), 0 } },
1974 & ifmt_sethi, { 0xf80000 }
1976 /* setlos$pack $slo16,$GRk */
1979 { { MNEM, OP (PACK), ' ', OP (SLO16), ',', OP (GRK), 0 } },
1980 & ifmt_setlos, { 0xfc0000 }
1982 /* ldsb$pack @($GRi,$GRj),$GRk */
1985 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
1986 & ifmt_slass, { 0x80000 }
1988 /* ldub$pack @($GRi,$GRj),$GRk */
1991 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
1992 & ifmt_slass, { 0x80040 }
1994 /* ldsh$pack @($GRi,$GRj),$GRk */
1997 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
1998 & ifmt_slass, { 0x80080 }
2000 /* lduh$pack @($GRi,$GRj),$GRk */
2003 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2004 & ifmt_slass, { 0x800c0 }
2006 /* ld$pack @($GRi,$GRj),$GRk */
2009 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2010 & ifmt_slass, { 0x80100 }
2012 /* ldbf$pack @($GRi,$GRj),$FRintk */
2015 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2016 & ifmt_ldbf, { 0x80200 }
2018 /* ldhf$pack @($GRi,$GRj),$FRintk */
2021 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2022 & ifmt_ldbf, { 0x80240 }
2024 /* ldf$pack @($GRi,$GRj),$FRintk */
2027 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2028 & ifmt_ldbf, { 0x80280 }
2030 /* ldc$pack @($GRi,$GRj),$CPRk */
2033 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2034 & ifmt_ldc, { 0x80340 }
2036 /* nldsb$pack @($GRi,$GRj),$GRk */
2039 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2040 & ifmt_slass, { 0x80800 }
2042 /* nldub$pack @($GRi,$GRj),$GRk */
2045 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2046 & ifmt_slass, { 0x80840 }
2048 /* nldsh$pack @($GRi,$GRj),$GRk */
2051 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2052 & ifmt_slass, { 0x80880 }
2054 /* nlduh$pack @($GRi,$GRj),$GRk */
2057 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2058 & ifmt_slass, { 0x808c0 }
2060 /* nld$pack @($GRi,$GRj),$GRk */
2063 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2064 & ifmt_slass, { 0x80900 }
2066 /* nldbf$pack @($GRi,$GRj),$FRintk */
2069 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2070 & ifmt_ldbf, { 0x80a00 }
2072 /* nldhf$pack @($GRi,$GRj),$FRintk */
2075 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2076 & ifmt_ldbf, { 0x80a40 }
2078 /* nldf$pack @($GRi,$GRj),$FRintk */
2081 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2082 & ifmt_ldbf, { 0x80a80 }
2084 /* ldd$pack @($GRi,$GRj),$GRdoublek */
2087 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2088 & ifmt_ldd, { 0x80140 }
2090 /* lddf$pack @($GRi,$GRj),$FRdoublek */
2093 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2094 & ifmt_lddf, { 0x802c0 }
2096 /* lddc$pack @($GRi,$GRj),$CPRdoublek */
2099 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRDOUBLEK), 0 } },
2100 & ifmt_lddc, { 0x80380 }
2102 /* nldd$pack @($GRi,$GRj),$GRdoublek */
2105 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2106 & ifmt_ldd, { 0x80940 }
2108 /* nlddf$pack @($GRi,$GRj),$FRdoublek */
2111 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2112 & ifmt_lddf, { 0x80ac0 }
2114 /* ldq$pack @($GRi,$GRj),$GRk */
2117 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2118 & ifmt_slass, { 0x80180 }
2120 /* ldqf$pack @($GRi,$GRj),$FRintk */
2123 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2124 & ifmt_ldbf, { 0x80300 }
2126 /* ldqc$pack @($GRi,$GRj),$CPRk */
2129 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2130 & ifmt_ldc, { 0x803c0 }
2132 /* nldq$pack @($GRi,$GRj),$GRk */
2135 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2136 & ifmt_slass, { 0x80980 }
2138 /* nldqf$pack @($GRi,$GRj),$FRintk */
2141 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2142 & ifmt_ldbf, { 0x80b00 }
2144 /* ldsbu$pack @($GRi,$GRj),$GRk */
2147 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2148 & ifmt_slass, { 0x80400 }
2150 /* ldubu$pack @($GRi,$GRj),$GRk */
2153 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2154 & ifmt_slass, { 0x80440 }
2156 /* ldshu$pack @($GRi,$GRj),$GRk */
2159 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2160 & ifmt_slass, { 0x80480 }
2162 /* lduhu$pack @($GRi,$GRj),$GRk */
2165 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2166 & ifmt_slass, { 0x804c0 }
2168 /* ldu$pack @($GRi,$GRj),$GRk */
2171 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2172 & ifmt_slass, { 0x80500 }
2174 /* nldsbu$pack @($GRi,$GRj),$GRk */
2177 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2178 & ifmt_slass, { 0x80c00 }
2180 /* nldubu$pack @($GRi,$GRj),$GRk */
2183 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2184 & ifmt_slass, { 0x80c40 }
2186 /* nldshu$pack @($GRi,$GRj),$GRk */
2189 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2190 & ifmt_slass, { 0x80c80 }
2192 /* nlduhu$pack @($GRi,$GRj),$GRk */
2195 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2196 & ifmt_slass, { 0x80cc0 }
2198 /* nldu$pack @($GRi,$GRj),$GRk */
2201 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2202 & ifmt_slass, { 0x80d00 }
2204 /* ldbfu$pack @($GRi,$GRj),$FRintk */
2207 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2208 & ifmt_ldbf, { 0x80600 }
2210 /* ldhfu$pack @($GRi,$GRj),$FRintk */
2213 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2214 & ifmt_ldbf, { 0x80640 }
2216 /* ldfu$pack @($GRi,$GRj),$FRintk */
2219 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2220 & ifmt_ldbf, { 0x80680 }
2222 /* ldcu$pack @($GRi,$GRj),$CPRk */
2225 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2226 & ifmt_ldc, { 0x80740 }
2228 /* nldbfu$pack @($GRi,$GRj),$FRintk */
2231 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2232 & ifmt_ldbf, { 0x80e00 }
2234 /* nldhfu$pack @($GRi,$GRj),$FRintk */
2237 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2238 & ifmt_ldbf, { 0x80e40 }
2240 /* nldfu$pack @($GRi,$GRj),$FRintk */
2243 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2244 & ifmt_ldbf, { 0x80e80 }
2246 /* lddu$pack @($GRi,$GRj),$GRdoublek */
2249 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2250 & ifmt_ldd, { 0x80540 }
2252 /* nlddu$pack @($GRi,$GRj),$GRdoublek */
2255 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), 0 } },
2256 & ifmt_ldd, { 0x80d40 }
2258 /* lddfu$pack @($GRi,$GRj),$FRdoublek */
2261 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2262 & ifmt_lddf, { 0x806c0 }
2264 /* lddcu$pack @($GRi,$GRj),$CPRdoublek */
2267 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRDOUBLEK), 0 } },
2268 & ifmt_lddc, { 0x80780 }
2270 /* nlddfu$pack @($GRi,$GRj),$FRdoublek */
2273 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), 0 } },
2274 & ifmt_lddf, { 0x80ec0 }
2276 /* ldqu$pack @($GRi,$GRj),$GRk */
2279 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2280 & ifmt_slass, { 0x80580 }
2282 /* nldqu$pack @($GRi,$GRj),$GRk */
2285 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2286 & ifmt_slass, { 0x80d80 }
2288 /* ldqfu$pack @($GRi,$GRj),$FRintk */
2291 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2292 & ifmt_ldbf, { 0x80700 }
2294 /* ldqcu$pack @($GRi,$GRj),$CPRk */
2297 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CPRK), 0 } },
2298 & ifmt_ldc, { 0x807c0 }
2300 /* nldqfu$pack @($GRi,$GRj),$FRintk */
2303 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), 0 } },
2304 & ifmt_ldbf, { 0x80f00 }
2306 /* ldsbi$pack @($GRi,$d12),$GRk */
2309 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2310 & ifmt_ldsbi, { 0xc00000 }
2312 /* ldshi$pack @($GRi,$d12),$GRk */
2315 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2316 & ifmt_ldsbi, { 0xc40000 }
2318 /* ldi$pack @($GRi,$d12),$GRk */
2321 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2322 & ifmt_ldsbi, { 0xc80000 }
2324 /* ldubi$pack @($GRi,$d12),$GRk */
2327 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2328 & ifmt_ldsbi, { 0xd40000 }
2330 /* lduhi$pack @($GRi,$d12),$GRk */
2333 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2334 & ifmt_ldsbi, { 0xd80000 }
2336 /* ldbfi$pack @($GRi,$d12),$FRintk */
2339 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2340 & ifmt_ldbfi, { 0xe00000 }
2342 /* ldhfi$pack @($GRi,$d12),$FRintk */
2345 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2346 & ifmt_ldbfi, { 0xe40000 }
2348 /* ldfi$pack @($GRi,$d12),$FRintk */
2351 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2352 & ifmt_ldbfi, { 0xe80000 }
2354 /* nldsbi$pack @($GRi,$d12),$GRk */
2357 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2358 & ifmt_ldsbi, { 0x1000000 }
2360 /* nldubi$pack @($GRi,$d12),$GRk */
2363 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2364 & ifmt_ldsbi, { 0x1040000 }
2366 /* nldshi$pack @($GRi,$d12),$GRk */
2369 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2370 & ifmt_ldsbi, { 0x1080000 }
2372 /* nlduhi$pack @($GRi,$d12),$GRk */
2375 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2376 & ifmt_ldsbi, { 0x10c0000 }
2378 /* nldi$pack @($GRi,$d12),$GRk */
2381 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2382 & ifmt_ldsbi, { 0x1100000 }
2384 /* nldbfi$pack @($GRi,$d12),$FRintk */
2387 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2388 & ifmt_ldbfi, { 0x1200000 }
2390 /* nldhfi$pack @($GRi,$d12),$FRintk */
2393 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2394 & ifmt_ldbfi, { 0x1240000 }
2396 /* nldfi$pack @($GRi,$d12),$FRintk */
2399 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2400 & ifmt_ldbfi, { 0x1280000 }
2402 /* lddi$pack @($GRi,$d12),$GRdoublek */
2405 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRDOUBLEK), 0 } },
2406 & ifmt_lddi, { 0xcc0000 }
2408 /* lddfi$pack @($GRi,$d12),$FRdoublek */
2411 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRDOUBLEK), 0 } },
2412 & ifmt_lddfi, { 0xec0000 }
2414 /* nlddi$pack @($GRi,$d12),$GRdoublek */
2417 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRDOUBLEK), 0 } },
2418 & ifmt_lddi, { 0x1140000 }
2420 /* nlddfi$pack @($GRi,$d12),$FRdoublek */
2423 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRDOUBLEK), 0 } },
2424 & ifmt_lddfi, { 0x12c0000 }
2426 /* ldqi$pack @($GRi,$d12),$GRk */
2429 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2430 & ifmt_ldsbi, { 0xd00000 }
2432 /* ldqfi$pack @($GRi,$d12),$FRintk */
2435 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2436 & ifmt_ldbfi, { 0xf00000 }
2438 /* nldqfi$pack @($GRi,$d12),$FRintk */
2441 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (FRINTK), 0 } },
2442 & ifmt_ldbfi, { 0x1300000 }
2444 /* stb$pack $GRk,@($GRi,$GRj) */
2447 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2448 & ifmt_slass, { 0xc0000 }
2450 /* sth$pack $GRk,@($GRi,$GRj) */
2453 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2454 & ifmt_slass, { 0xc0040 }
2456 /* st$pack $GRk,@($GRi,$GRj) */
2459 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2460 & ifmt_slass, { 0xc0080 }
2462 /* stbf$pack $FRintk,@($GRi,$GRj) */
2465 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2466 & ifmt_ldbf, { 0xc0200 }
2468 /* sthf$pack $FRintk,@($GRi,$GRj) */
2471 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2472 & ifmt_ldbf, { 0xc0240 }
2474 /* stf$pack $FRintk,@($GRi,$GRj) */
2477 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2478 & ifmt_ldbf, { 0xc0280 }
2480 /* stc$pack $CPRk,@($GRi,$GRj) */
2483 { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2484 & ifmt_ldc, { 0xc0940 }
2486 /* rstb$pack $GRk,@($GRi,$GRj) */
2489 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2490 & ifmt_slass, { 0xc0800 }
2492 /* rsth$pack $GRk,@($GRi,$GRj) */
2495 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2496 & ifmt_slass, { 0xc0840 }
2498 /* rst$pack $GRk,@($GRi,$GRj) */
2501 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2502 & ifmt_slass, { 0xc0880 }
2504 /* rstbf$pack $FRintk,@($GRi,$GRj) */
2507 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2508 & ifmt_ldbf, { 0xc0a00 }
2510 /* rsthf$pack $FRintk,@($GRi,$GRj) */
2513 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2514 & ifmt_ldbf, { 0xc0a40 }
2516 /* rstf$pack $FRintk,@($GRi,$GRj) */
2519 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2520 & ifmt_ldbf, { 0xc0a80 }
2522 /* std$pack $GRdoublek,@($GRi,$GRj) */
2525 { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2526 & ifmt_ldd, { 0xc00c0 }
2528 /* stdf$pack $FRdoublek,@($GRi,$GRj) */
2531 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2532 & ifmt_lddf, { 0xc02c0 }
2534 /* stdc$pack $CPRdoublek,@($GRi,$GRj) */
2537 { { MNEM, OP (PACK), ' ', OP (CPRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2538 & ifmt_lddc, { 0xc0980 }
2540 /* rstd$pack $GRdoublek,@($GRi,$GRj) */
2543 { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2544 & ifmt_ldd, { 0xc08c0 }
2546 /* rstdf$pack $FRdoublek,@($GRi,$GRj) */
2549 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2550 & ifmt_lddf, { 0xc0ac0 }
2552 /* stq$pack $GRk,@($GRi,$GRj) */
2555 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2556 & ifmt_slass, { 0xc0100 }
2558 /* stqf$pack $FRintk,@($GRi,$GRj) */
2561 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2562 & ifmt_ldbf, { 0xc0300 }
2564 /* stqc$pack $CPRk,@($GRi,$GRj) */
2567 { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2568 & ifmt_ldc, { 0xc09c0 }
2570 /* rstq$pack $GRk,@($GRi,$GRj) */
2573 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2574 & ifmt_slass, { 0xc0900 }
2576 /* rstqf$pack $FRintk,@($GRi,$GRj) */
2579 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2580 & ifmt_ldbf, { 0xc0b00 }
2582 /* stbu$pack $GRk,@($GRi,$GRj) */
2585 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2586 & ifmt_slass, { 0xc0400 }
2588 /* sthu$pack $GRk,@($GRi,$GRj) */
2591 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2592 & ifmt_slass, { 0xc0440 }
2594 /* stu$pack $GRk,@($GRi,$GRj) */
2597 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2598 & ifmt_slass, { 0xc0480 }
2600 /* stbfu$pack $FRintk,@($GRi,$GRj) */
2603 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2604 & ifmt_ldbf, { 0xc0600 }
2606 /* sthfu$pack $FRintk,@($GRi,$GRj) */
2609 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2610 & ifmt_ldbf, { 0xc0640 }
2612 /* stfu$pack $FRintk,@($GRi,$GRj) */
2615 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2616 & ifmt_ldbf, { 0xc0680 }
2618 /* stcu$pack $CPRk,@($GRi,$GRj) */
2621 { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2622 & ifmt_ldc, { 0xc0b40 }
2624 /* stdu$pack $GRdoublek,@($GRi,$GRj) */
2627 { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2628 & ifmt_ldd, { 0xc04c0 }
2630 /* stdfu$pack $FRdoublek,@($GRi,$GRj) */
2633 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2634 & ifmt_lddf, { 0xc06c0 }
2636 /* stdcu$pack $CPRdoublek,@($GRi,$GRj) */
2639 { { MNEM, OP (PACK), ' ', OP (CPRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2640 & ifmt_lddc, { 0xc0b80 }
2642 /* stqu$pack $GRk,@($GRi,$GRj) */
2645 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2646 & ifmt_slass, { 0xc0500 }
2648 /* stqfu$pack $FRintk,@($GRi,$GRj) */
2651 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2652 & ifmt_ldbf, { 0xc0700 }
2654 /* stqcu$pack $CPRk,@($GRi,$GRj) */
2657 { { MNEM, OP (PACK), ' ', OP (CPRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
2658 & ifmt_ldc, { 0xc0bc0 }
2660 /* cldsb$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2663 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2664 & ifmt_cadd, { 0x1780000 }
2666 /* cldub$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2669 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2670 & ifmt_cadd, { 0x1780040 }
2672 /* cldsh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2675 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2676 & ifmt_cadd, { 0x1780080 }
2678 /* clduh$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2681 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2682 & ifmt_cadd, { 0x17800c0 }
2684 /* cld$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2687 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2688 & ifmt_cadd, { 0x17c0000 }
2690 /* cldbf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2693 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2694 & ifmt_cldbf, { 0x1800000 }
2696 /* cldhf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2699 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2700 & ifmt_cldbf, { 0x1800040 }
2702 /* cldf$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2705 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2706 & ifmt_cldbf, { 0x1800080 }
2708 /* cldd$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
2711 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2712 & ifmt_csmul, { 0x17c0040 }
2714 /* clddf$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
2717 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2718 & ifmt_clddf, { 0x18000c0 }
2720 /* cldq$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2723 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2724 & ifmt_cadd, { 0x17c0080 }
2726 /* cldsbu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2729 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2730 & ifmt_cadd, { 0x1840000 }
2732 /* cldubu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2735 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2736 & ifmt_cadd, { 0x1840040 }
2738 /* cldshu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2741 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2742 & ifmt_cadd, { 0x1840080 }
2744 /* clduhu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2747 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2748 & ifmt_cadd, { 0x18400c0 }
2750 /* cldu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2753 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2754 & ifmt_cadd, { 0x1880000 }
2756 /* cldbfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2759 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2760 & ifmt_cldbf, { 0x18c0000 }
2762 /* cldhfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2765 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2766 & ifmt_cldbf, { 0x18c0040 }
2768 /* cldfu$pack @($GRi,$GRj),$FRintk,$CCi,$cond */
2771 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
2772 & ifmt_cldbf, { 0x18c0080 }
2774 /* clddu$pack @($GRi,$GRj),$GRdoublek,$CCi,$cond */
2777 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2778 & ifmt_csmul, { 0x1880040 }
2780 /* clddfu$pack @($GRi,$GRj),$FRdoublek,$CCi,$cond */
2783 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (FRDOUBLEK), ',', OP (CCI), ',', OP (COND), 0 } },
2784 & ifmt_clddf, { 0x18c00c0 }
2786 /* cldqu$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2789 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2790 & ifmt_cadd, { 0x1880080 }
2792 /* cstb$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2795 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2796 & ifmt_cadd, { 0x1900000 }
2798 /* csth$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2801 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2802 & ifmt_cadd, { 0x1900040 }
2804 /* cst$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2807 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2808 & ifmt_cadd, { 0x1900080 }
2810 /* cstbf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2813 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2814 & ifmt_cldbf, { 0x1980000 }
2816 /* csthf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2819 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2820 & ifmt_cldbf, { 0x1980040 }
2822 /* cstf$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2825 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2826 & ifmt_cldbf, { 0x1980080 }
2828 /* cstd$pack $GRdoublek,@($GRi,$GRj),$CCi,$cond */
2831 { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2832 & ifmt_csmul, { 0x19000c0 }
2834 /* cstdf$pack $FRdoublek,@($GRi,$GRj),$CCi,$cond */
2837 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2838 & ifmt_clddf, { 0x19800c0 }
2840 /* cstq$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2843 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2844 & ifmt_cadd, { 0x1940000 }
2846 /* cstbu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2849 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2850 & ifmt_cadd, { 0x19c0000 }
2852 /* csthu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2855 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2856 & ifmt_cadd, { 0x19c0040 }
2858 /* cstu$pack $GRk,@($GRi,$GRj),$CCi,$cond */
2861 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2862 & ifmt_cadd, { 0x19c0080 }
2864 /* cstbfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2867 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2868 & ifmt_cldbf, { 0x1a00000 }
2870 /* csthfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2873 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2874 & ifmt_cldbf, { 0x1a00040 }
2876 /* cstfu$pack $FRintk,@($GRi,$GRj),$CCi,$cond */
2879 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2880 & ifmt_cldbf, { 0x1a00080 }
2882 /* cstdu$pack $GRdoublek,@($GRi,$GRj),$CCi,$cond */
2885 { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2886 & ifmt_csmul, { 0x19c00c0 }
2888 /* cstdfu$pack $FRdoublek,@($GRi,$GRj),$CCi,$cond */
2891 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
2892 & ifmt_clddf, { 0x1a000c0 }
2894 /* stbi$pack $GRk,@($GRi,$d12) */
2897 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2898 & ifmt_ldsbi, { 0x1400000 }
2900 /* sthi$pack $GRk,@($GRi,$d12) */
2903 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2904 & ifmt_ldsbi, { 0x1440000 }
2906 /* sti$pack $GRk,@($GRi,$d12) */
2909 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2910 & ifmt_ldsbi, { 0x1480000 }
2912 /* stbfi$pack $FRintk,@($GRi,$d12) */
2915 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2916 & ifmt_ldbfi, { 0x1380000 }
2918 /* sthfi$pack $FRintk,@($GRi,$d12) */
2921 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2922 & ifmt_ldbfi, { 0x13c0000 }
2924 /* stfi$pack $FRintk,@($GRi,$d12) */
2927 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2928 & ifmt_ldbfi, { 0x1540000 }
2930 /* stdi$pack $GRdoublek,@($GRi,$d12) */
2933 { { MNEM, OP (PACK), ' ', OP (GRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2934 & ifmt_lddi, { 0x14c0000 }
2936 /* stdfi$pack $FRdoublek,@($GRi,$d12) */
2939 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2940 & ifmt_lddfi, { 0x1580000 }
2942 /* stqi$pack $GRk,@($GRi,$d12) */
2945 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2946 & ifmt_ldsbi, { 0x1500000 }
2948 /* stqfi$pack $FRintk,@($GRi,$d12) */
2951 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', '@', '(', OP (GRI), ',', OP (D12), ')', 0 } },
2952 & ifmt_ldbfi, { 0x15c0000 }
2954 /* swap$pack @($GRi,$GRj),$GRk */
2957 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), 0 } },
2958 & ifmt_slass, { 0xc0140 }
2960 /* swapi$pack @($GRi,$d12),$GRk */
2963 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (D12), ')', ',', OP (GRK), 0 } },
2964 & ifmt_ldsbi, { 0x1340000 }
2966 /* cswap$pack @($GRi,$GRj),$GRk,$CCi,$cond */
2969 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
2970 & ifmt_cadd, { 0x1940080 }
2972 /* movgf$pack $GRj,$FRintk */
2975 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
2976 & ifmt_movgf, { 0xc0540 }
2978 /* movfg$pack $FRintk,$GRj */
2981 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
2982 & ifmt_movgf, { 0xc0340 }
2984 /* movgfd$pack $GRj,$FRintk */
2987 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
2988 & ifmt_movgf, { 0xc0580 }
2990 /* movfgd$pack $FRintk,$GRj */
2993 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
2994 & ifmt_movgf, { 0xc0380 }
2996 /* movgfq$pack $GRj,$FRintk */
2999 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), 0 } },
3000 & ifmt_movgf, { 0xc05c0 }
3002 /* movfgq$pack $FRintk,$GRj */
3005 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), 0 } },
3006 & ifmt_movgf, { 0xc03c0 }
3008 /* cmovgf$pack $GRj,$FRintk,$CCi,$cond */
3011 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
3012 & ifmt_cmovgf, { 0x1a40000 }
3014 /* cmovfg$pack $FRintk,$GRj,$CCi,$cond */
3017 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
3018 & ifmt_cmovgf, { 0x1a40080 }
3020 /* cmovgfd$pack $GRj,$FRintk,$CCi,$cond */
3023 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
3024 & ifmt_cmovgf, { 0x1a40040 }
3026 /* cmovfgd$pack $FRintk,$GRj,$CCi,$cond */
3029 { { MNEM, OP (PACK), ' ', OP (FRINTK), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
3030 & ifmt_cmovgf, { 0x1a400c0 }
3032 /* movgs$pack $GRj,$spr */
3035 { { MNEM, OP (PACK), ' ', OP (GRJ), ',', OP (SPR), 0 } },
3036 & ifmt_movgs, { 0xc0180 }
3038 /* movsg$pack $spr,$GRj */
3041 { { MNEM, OP (PACK), ' ', OP (SPR), ',', OP (GRJ), 0 } },
3042 & ifmt_movgs, { 0xc01c0 }
3044 /* bra$pack $hint_taken$label16 */
3047 { { MNEM, OP (PACK), ' ', OP (HINT_TAKEN), OP (LABEL16), 0 } },
3048 & ifmt_bra, { 0x40180000 }
3050 /* bno$pack$hint_not_taken */
3053 { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3054 & ifmt_bno, { 0x180000 }
3056 /* beq$pack $ICCi_2,$hint,$label16 */
3059 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3060 & ifmt_beq, { 0x20180000 }
3062 /* bne$pack $ICCi_2,$hint,$label16 */
3065 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3066 & ifmt_beq, { 0x60180000 }
3068 /* ble$pack $ICCi_2,$hint,$label16 */
3071 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3072 & ifmt_beq, { 0x38180000 }
3074 /* bgt$pack $ICCi_2,$hint,$label16 */
3077 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3078 & ifmt_beq, { 0x78180000 }
3080 /* blt$pack $ICCi_2,$hint,$label16 */
3083 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3084 & ifmt_beq, { 0x18180000 }
3086 /* bge$pack $ICCi_2,$hint,$label16 */
3089 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3090 & ifmt_beq, { 0x58180000 }
3092 /* bls$pack $ICCi_2,$hint,$label16 */
3095 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3096 & ifmt_beq, { 0x28180000 }
3098 /* bhi$pack $ICCi_2,$hint,$label16 */
3101 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3102 & ifmt_beq, { 0x68180000 }
3104 /* bc$pack $ICCi_2,$hint,$label16 */
3107 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3108 & ifmt_beq, { 0x8180000 }
3110 /* bnc$pack $ICCi_2,$hint,$label16 */
3113 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3114 & ifmt_beq, { 0x48180000 }
3116 /* bn$pack $ICCi_2,$hint,$label16 */
3119 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3120 & ifmt_beq, { 0x30180000 }
3122 /* bp$pack $ICCi_2,$hint,$label16 */
3125 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3126 & ifmt_beq, { 0x70180000 }
3128 /* bv$pack $ICCi_2,$hint,$label16 */
3131 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3132 & ifmt_beq, { 0x10180000 }
3134 /* bnv$pack $ICCi_2,$hint,$label16 */
3137 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3138 & ifmt_beq, { 0x50180000 }
3140 /* fbra$pack $hint_taken$label16 */
3143 { { MNEM, OP (PACK), ' ', OP (HINT_TAKEN), OP (LABEL16), 0 } },
3144 & ifmt_fbra, { 0x781c0000 }
3146 /* fbno$pack$hint_not_taken */
3149 { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3150 & ifmt_fbno, { 0x1c0000 }
3152 /* fbne$pack $FCCi_2,$hint,$label16 */
3155 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3156 & ifmt_fbne, { 0x381c0000 }
3158 /* fbeq$pack $FCCi_2,$hint,$label16 */
3161 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3162 & ifmt_fbne, { 0x401c0000 }
3164 /* fblg$pack $FCCi_2,$hint,$label16 */
3167 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3168 & ifmt_fbne, { 0x301c0000 }
3170 /* fbue$pack $FCCi_2,$hint,$label16 */
3173 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3174 & ifmt_fbne, { 0x481c0000 }
3176 /* fbul$pack $FCCi_2,$hint,$label16 */
3179 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3180 & ifmt_fbne, { 0x281c0000 }
3182 /* fbge$pack $FCCi_2,$hint,$label16 */
3185 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3186 & ifmt_fbne, { 0x501c0000 }
3188 /* fblt$pack $FCCi_2,$hint,$label16 */
3191 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3192 & ifmt_fbne, { 0x201c0000 }
3194 /* fbuge$pack $FCCi_2,$hint,$label16 */
3197 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3198 & ifmt_fbne, { 0x581c0000 }
3200 /* fbug$pack $FCCi_2,$hint,$label16 */
3203 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3204 & ifmt_fbne, { 0x181c0000 }
3206 /* fble$pack $FCCi_2,$hint,$label16 */
3209 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3210 & ifmt_fbne, { 0x601c0000 }
3212 /* fbgt$pack $FCCi_2,$hint,$label16 */
3215 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3216 & ifmt_fbne, { 0x101c0000 }
3218 /* fbule$pack $FCCi_2,$hint,$label16 */
3221 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3222 & ifmt_fbne, { 0x681c0000 }
3224 /* fbu$pack $FCCi_2,$hint,$label16 */
3227 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3228 & ifmt_fbne, { 0x81c0000 }
3230 /* fbo$pack $FCCi_2,$hint,$label16 */
3233 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), ',', OP (LABEL16), 0 } },
3234 & ifmt_fbne, { 0x701c0000 }
3236 /* bctrlr$pack $ccond,$hint */
3239 { { MNEM, OP (PACK), ' ', OP (CCOND), ',', OP (HINT), 0 } },
3240 & ifmt_bctrlr, { 0x382000 }
3242 /* bralr$pack$hint_taken */
3245 { { MNEM, OP (PACK), OP (HINT_TAKEN), 0 } },
3246 & ifmt_bralr, { 0x40384000 }
3248 /* bnolr$pack$hint_not_taken */
3251 { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3252 & ifmt_bnolr, { 0x384000 }
3254 /* beqlr$pack $ICCi_2,$hint */
3257 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3258 & ifmt_beqlr, { 0x20384000 }
3260 /* bnelr$pack $ICCi_2,$hint */
3263 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3264 & ifmt_beqlr, { 0x60384000 }
3266 /* blelr$pack $ICCi_2,$hint */
3269 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3270 & ifmt_beqlr, { 0x38384000 }
3272 /* bgtlr$pack $ICCi_2,$hint */
3275 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3276 & ifmt_beqlr, { 0x78384000 }
3278 /* bltlr$pack $ICCi_2,$hint */
3281 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3282 & ifmt_beqlr, { 0x18384000 }
3284 /* bgelr$pack $ICCi_2,$hint */
3287 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3288 & ifmt_beqlr, { 0x58384000 }
3290 /* blslr$pack $ICCi_2,$hint */
3293 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3294 & ifmt_beqlr, { 0x28384000 }
3296 /* bhilr$pack $ICCi_2,$hint */
3299 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3300 & ifmt_beqlr, { 0x68384000 }
3302 /* bclr$pack $ICCi_2,$hint */
3305 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3306 & ifmt_beqlr, { 0x8384000 }
3308 /* bnclr$pack $ICCi_2,$hint */
3311 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3312 & ifmt_beqlr, { 0x48384000 }
3314 /* bnlr$pack $ICCi_2,$hint */
3317 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3318 & ifmt_beqlr, { 0x30384000 }
3320 /* bplr$pack $ICCi_2,$hint */
3323 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3324 & ifmt_beqlr, { 0x70384000 }
3326 /* bvlr$pack $ICCi_2,$hint */
3329 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3330 & ifmt_beqlr, { 0x10384000 }
3332 /* bnvlr$pack $ICCi_2,$hint */
3335 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (HINT), 0 } },
3336 & ifmt_beqlr, { 0x50384000 }
3338 /* fbralr$pack$hint_taken */
3341 { { MNEM, OP (PACK), OP (HINT_TAKEN), 0 } },
3342 & ifmt_fbralr, { 0x7838c000 }
3344 /* fbnolr$pack$hint_not_taken */
3347 { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3348 & ifmt_fbnolr, { 0x38c000 }
3350 /* fbeqlr$pack $FCCi_2,$hint */
3353 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3354 & ifmt_fbeqlr, { 0x4038c000 }
3356 /* fbnelr$pack $FCCi_2,$hint */
3359 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3360 & ifmt_fbeqlr, { 0x3838c000 }
3362 /* fblglr$pack $FCCi_2,$hint */
3365 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3366 & ifmt_fbeqlr, { 0x3038c000 }
3368 /* fbuelr$pack $FCCi_2,$hint */
3371 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3372 & ifmt_fbeqlr, { 0x4838c000 }
3374 /* fbullr$pack $FCCi_2,$hint */
3377 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3378 & ifmt_fbeqlr, { 0x2838c000 }
3380 /* fbgelr$pack $FCCi_2,$hint */
3383 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3384 & ifmt_fbeqlr, { 0x5038c000 }
3386 /* fbltlr$pack $FCCi_2,$hint */
3389 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3390 & ifmt_fbeqlr, { 0x2038c000 }
3392 /* fbugelr$pack $FCCi_2,$hint */
3395 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3396 & ifmt_fbeqlr, { 0x5838c000 }
3398 /* fbuglr$pack $FCCi_2,$hint */
3401 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3402 & ifmt_fbeqlr, { 0x1838c000 }
3404 /* fblelr$pack $FCCi_2,$hint */
3407 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3408 & ifmt_fbeqlr, { 0x6038c000 }
3410 /* fbgtlr$pack $FCCi_2,$hint */
3413 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3414 & ifmt_fbeqlr, { 0x1038c000 }
3416 /* fbulelr$pack $FCCi_2,$hint */
3419 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3420 & ifmt_fbeqlr, { 0x6838c000 }
3422 /* fbulr$pack $FCCi_2,$hint */
3425 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3426 & ifmt_fbeqlr, { 0x838c000 }
3428 /* fbolr$pack $FCCi_2,$hint */
3431 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (HINT), 0 } },
3432 & ifmt_fbeqlr, { 0x7038c000 }
3434 /* bcralr$pack $ccond$hint_taken */
3437 { { MNEM, OP (PACK), ' ', OP (CCOND), OP (HINT_TAKEN), 0 } },
3438 & ifmt_bcralr, { 0x40386000 }
3440 /* bcnolr$pack$hint_not_taken */
3443 { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3444 & ifmt_bnolr, { 0x386000 }
3446 /* bceqlr$pack $ICCi_2,$ccond,$hint */
3449 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3450 & ifmt_bceqlr, { 0x20386000 }
3452 /* bcnelr$pack $ICCi_2,$ccond,$hint */
3455 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3456 & ifmt_bceqlr, { 0x60386000 }
3458 /* bclelr$pack $ICCi_2,$ccond,$hint */
3461 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3462 & ifmt_bceqlr, { 0x38386000 }
3464 /* bcgtlr$pack $ICCi_2,$ccond,$hint */
3467 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3468 & ifmt_bceqlr, { 0x78386000 }
3470 /* bcltlr$pack $ICCi_2,$ccond,$hint */
3473 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3474 & ifmt_bceqlr, { 0x18386000 }
3476 /* bcgelr$pack $ICCi_2,$ccond,$hint */
3479 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3480 & ifmt_bceqlr, { 0x58386000 }
3482 /* bclslr$pack $ICCi_2,$ccond,$hint */
3485 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3486 & ifmt_bceqlr, { 0x28386000 }
3488 /* bchilr$pack $ICCi_2,$ccond,$hint */
3491 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3492 & ifmt_bceqlr, { 0x68386000 }
3494 /* bcclr$pack $ICCi_2,$ccond,$hint */
3497 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3498 & ifmt_bceqlr, { 0x8386000 }
3500 /* bcnclr$pack $ICCi_2,$ccond,$hint */
3503 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3504 & ifmt_bceqlr, { 0x48386000 }
3506 /* bcnlr$pack $ICCi_2,$ccond,$hint */
3509 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3510 & ifmt_bceqlr, { 0x30386000 }
3512 /* bcplr$pack $ICCi_2,$ccond,$hint */
3515 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3516 & ifmt_bceqlr, { 0x70386000 }
3518 /* bcvlr$pack $ICCi_2,$ccond,$hint */
3521 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3522 & ifmt_bceqlr, { 0x10386000 }
3524 /* bcnvlr$pack $ICCi_2,$ccond,$hint */
3527 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3528 & ifmt_bceqlr, { 0x50386000 }
3530 /* fcbralr$pack $ccond$hint_taken */
3533 { { MNEM, OP (PACK), ' ', OP (CCOND), OP (HINT_TAKEN), 0 } },
3534 & ifmt_fcbralr, { 0x7838e000 }
3536 /* fcbnolr$pack$hint_not_taken */
3539 { { MNEM, OP (PACK), OP (HINT_NOT_TAKEN), 0 } },
3540 & ifmt_fbnolr, { 0x38e000 }
3542 /* fcbeqlr$pack $FCCi_2,$ccond,$hint */
3545 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3546 & ifmt_fcbeqlr, { 0x4038e000 }
3548 /* fcbnelr$pack $FCCi_2,$ccond,$hint */
3551 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3552 & ifmt_fcbeqlr, { 0x3838e000 }
3554 /* fcblglr$pack $FCCi_2,$ccond,$hint */
3557 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3558 & ifmt_fcbeqlr, { 0x3038e000 }
3560 /* fcbuelr$pack $FCCi_2,$ccond,$hint */
3563 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3564 & ifmt_fcbeqlr, { 0x4838e000 }
3566 /* fcbullr$pack $FCCi_2,$ccond,$hint */
3569 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3570 & ifmt_fcbeqlr, { 0x2838e000 }
3572 /* fcbgelr$pack $FCCi_2,$ccond,$hint */
3575 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3576 & ifmt_fcbeqlr, { 0x5038e000 }
3578 /* fcbltlr$pack $FCCi_2,$ccond,$hint */
3581 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3582 & ifmt_fcbeqlr, { 0x2038e000 }
3584 /* fcbugelr$pack $FCCi_2,$ccond,$hint */
3587 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3588 & ifmt_fcbeqlr, { 0x5838e000 }
3590 /* fcbuglr$pack $FCCi_2,$ccond,$hint */
3593 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3594 & ifmt_fcbeqlr, { 0x1838e000 }
3596 /* fcblelr$pack $FCCi_2,$ccond,$hint */
3599 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3600 & ifmt_fcbeqlr, { 0x6038e000 }
3602 /* fcbgtlr$pack $FCCi_2,$ccond,$hint */
3605 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3606 & ifmt_fcbeqlr, { 0x1038e000 }
3608 /* fcbulelr$pack $FCCi_2,$ccond,$hint */
3611 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3612 & ifmt_fcbeqlr, { 0x6838e000 }
3614 /* fcbulr$pack $FCCi_2,$ccond,$hint */
3617 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3618 & ifmt_fcbeqlr, { 0x838e000 }
3620 /* fcbolr$pack $FCCi_2,$ccond,$hint */
3623 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (CCOND), ',', OP (HINT), 0 } },
3624 & ifmt_fcbeqlr, { 0x7038e000 }
3626 /* jmpl$pack @($GRi,$GRj) */
3629 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
3630 & ifmt_jmpl, { 0x300000 }
3632 /* calll$pack @($GRi,$GRj) */
3635 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
3636 & ifmt_calll, { 0x2300000 }
3638 /* jmpil$pack @($GRi,$s12) */
3641 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (S12), ')', 0 } },
3642 & ifmt_jmpil, { 0x340000 }
3644 /* callil$pack @($GRi,$s12) */
3647 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (S12), ')', 0 } },
3648 & ifmt_callil, { 0x2340000 }
3650 /* call$pack $label24 */
3653 { { MNEM, OP (PACK), ' ', OP (LABEL24), 0 } },
3654 & ifmt_call, { 0x3c0000 }
3656 /* rett$pack $debug */
3659 { { MNEM, OP (PACK), ' ', OP (DEBUG), 0 } },
3660 & ifmt_rett, { 0x140000 }
3665 { { MNEM, OP (PACK), ' ', OP (EIR), 0 } },
3666 & ifmt_rei, { 0xdc0000 }
3668 /* tra$pack $GRi,$GRj */
3671 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
3672 & ifmt_tra, { 0x40100000 }
3677 { { MNEM, OP (PACK), 0 } },
3678 & ifmt_tno, { 0x100000 }
3680 /* teq$pack $ICCi_2,$GRi,$GRj */
3683 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3684 & ifmt_teq, { 0x20100000 }
3686 /* tne$pack $ICCi_2,$GRi,$GRj */
3689 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3690 & ifmt_teq, { 0x60100000 }
3692 /* tle$pack $ICCi_2,$GRi,$GRj */
3695 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3696 & ifmt_teq, { 0x38100000 }
3698 /* tgt$pack $ICCi_2,$GRi,$GRj */
3701 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3702 & ifmt_teq, { 0x78100000 }
3704 /* tlt$pack $ICCi_2,$GRi,$GRj */
3707 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3708 & ifmt_teq, { 0x18100000 }
3710 /* tge$pack $ICCi_2,$GRi,$GRj */
3713 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3714 & ifmt_teq, { 0x58100000 }
3716 /* tls$pack $ICCi_2,$GRi,$GRj */
3719 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3720 & ifmt_teq, { 0x28100000 }
3722 /* thi$pack $ICCi_2,$GRi,$GRj */
3725 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3726 & ifmt_teq, { 0x68100000 }
3728 /* tc$pack $ICCi_2,$GRi,$GRj */
3731 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3732 & ifmt_teq, { 0x8100000 }
3734 /* tnc$pack $ICCi_2,$GRi,$GRj */
3737 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3738 & ifmt_teq, { 0x48100000 }
3740 /* tn$pack $ICCi_2,$GRi,$GRj */
3743 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3744 & ifmt_teq, { 0x30100000 }
3746 /* tp$pack $ICCi_2,$GRi,$GRj */
3749 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3750 & ifmt_teq, { 0x70100000 }
3752 /* tv$pack $ICCi_2,$GRi,$GRj */
3755 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3756 & ifmt_teq, { 0x10100000 }
3758 /* tnv$pack $ICCi_2,$GRi,$GRj */
3761 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3762 & ifmt_teq, { 0x50100000 }
3764 /* ftra$pack $GRi,$GRj */
3767 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), 0 } },
3768 & ifmt_ftra, { 0x78100040 }
3773 { { MNEM, OP (PACK), 0 } },
3774 & ifmt_ftno, { 0x100040 }
3776 /* ftne$pack $FCCi_2,$GRi,$GRj */
3779 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3780 & ifmt_ftne, { 0x38100040 }
3782 /* fteq$pack $FCCi_2,$GRi,$GRj */
3785 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3786 & ifmt_ftne, { 0x40100040 }
3788 /* ftlg$pack $FCCi_2,$GRi,$GRj */
3791 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3792 & ifmt_ftne, { 0x30100040 }
3794 /* ftue$pack $FCCi_2,$GRi,$GRj */
3797 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3798 & ifmt_ftne, { 0x48100040 }
3800 /* ftul$pack $FCCi_2,$GRi,$GRj */
3803 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3804 & ifmt_ftne, { 0x28100040 }
3806 /* ftge$pack $FCCi_2,$GRi,$GRj */
3809 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3810 & ifmt_ftne, { 0x50100040 }
3812 /* ftlt$pack $FCCi_2,$GRi,$GRj */
3815 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3816 & ifmt_ftne, { 0x20100040 }
3818 /* ftuge$pack $FCCi_2,$GRi,$GRj */
3821 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3822 & ifmt_ftne, { 0x58100040 }
3824 /* ftug$pack $FCCi_2,$GRi,$GRj */
3827 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3828 & ifmt_ftne, { 0x18100040 }
3830 /* ftle$pack $FCCi_2,$GRi,$GRj */
3833 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3834 & ifmt_ftne, { 0x60100040 }
3836 /* ftgt$pack $FCCi_2,$GRi,$GRj */
3839 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3840 & ifmt_ftne, { 0x10100040 }
3842 /* ftule$pack $FCCi_2,$GRi,$GRj */
3845 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3846 & ifmt_ftne, { 0x68100040 }
3848 /* ftu$pack $FCCi_2,$GRi,$GRj */
3851 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3852 & ifmt_ftne, { 0x8100040 }
3854 /* fto$pack $FCCi_2,$GRi,$GRj */
3857 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (GRJ), 0 } },
3858 & ifmt_ftne, { 0x70100040 }
3860 /* tira$pack $GRi,$s12 */
3863 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), 0 } },
3864 & ifmt_tira, { 0x40700000 }
3869 { { MNEM, OP (PACK), 0 } },
3870 & ifmt_tino, { 0x700000 }
3872 /* tieq$pack $ICCi_2,$GRi,$s12 */
3875 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3876 & ifmt_tieq, { 0x20700000 }
3878 /* tine$pack $ICCi_2,$GRi,$s12 */
3881 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3882 & ifmt_tieq, { 0x60700000 }
3884 /* tile$pack $ICCi_2,$GRi,$s12 */
3887 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3888 & ifmt_tieq, { 0x38700000 }
3890 /* tigt$pack $ICCi_2,$GRi,$s12 */
3893 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3894 & ifmt_tieq, { 0x78700000 }
3896 /* tilt$pack $ICCi_2,$GRi,$s12 */
3899 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3900 & ifmt_tieq, { 0x18700000 }
3902 /* tige$pack $ICCi_2,$GRi,$s12 */
3905 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3906 & ifmt_tieq, { 0x58700000 }
3908 /* tils$pack $ICCi_2,$GRi,$s12 */
3911 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3912 & ifmt_tieq, { 0x28700000 }
3914 /* tihi$pack $ICCi_2,$GRi,$s12 */
3917 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3918 & ifmt_tieq, { 0x68700000 }
3920 /* tic$pack $ICCi_2,$GRi,$s12 */
3923 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3924 & ifmt_tieq, { 0x8700000 }
3926 /* tinc$pack $ICCi_2,$GRi,$s12 */
3929 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3930 & ifmt_tieq, { 0x48700000 }
3932 /* tin$pack $ICCi_2,$GRi,$s12 */
3935 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3936 & ifmt_tieq, { 0x30700000 }
3938 /* tip$pack $ICCi_2,$GRi,$s12 */
3941 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3942 & ifmt_tieq, { 0x70700000 }
3944 /* tiv$pack $ICCi_2,$GRi,$s12 */
3947 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3948 & ifmt_tieq, { 0x10700000 }
3950 /* tinv$pack $ICCi_2,$GRi,$s12 */
3953 { { MNEM, OP (PACK), ' ', OP (ICCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3954 & ifmt_tieq, { 0x50700000 }
3956 /* ftira$pack $GRi,$s12 */
3959 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S12), 0 } },
3960 & ifmt_ftira, { 0x78740000 }
3965 { { MNEM, OP (PACK), 0 } },
3966 & ifmt_ftino, { 0x740000 }
3968 /* ftine$pack $FCCi_2,$GRi,$s12 */
3971 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3972 & ifmt_ftine, { 0x38740000 }
3974 /* ftieq$pack $FCCi_2,$GRi,$s12 */
3977 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3978 & ifmt_ftine, { 0x40740000 }
3980 /* ftilg$pack $FCCi_2,$GRi,$s12 */
3983 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3984 & ifmt_ftine, { 0x30740000 }
3986 /* ftiue$pack $FCCi_2,$GRi,$s12 */
3989 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3990 & ifmt_ftine, { 0x48740000 }
3992 /* ftiul$pack $FCCi_2,$GRi,$s12 */
3995 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
3996 & ifmt_ftine, { 0x28740000 }
3998 /* ftige$pack $FCCi_2,$GRi,$s12 */
4001 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4002 & ifmt_ftine, { 0x50740000 }
4004 /* ftilt$pack $FCCi_2,$GRi,$s12 */
4007 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4008 & ifmt_ftine, { 0x20740000 }
4010 /* ftiuge$pack $FCCi_2,$GRi,$s12 */
4013 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4014 & ifmt_ftine, { 0x58740000 }
4016 /* ftiug$pack $FCCi_2,$GRi,$s12 */
4019 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4020 & ifmt_ftine, { 0x18740000 }
4022 /* ftile$pack $FCCi_2,$GRi,$s12 */
4025 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4026 & ifmt_ftine, { 0x60740000 }
4028 /* ftigt$pack $FCCi_2,$GRi,$s12 */
4031 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4032 & ifmt_ftine, { 0x10740000 }
4034 /* ftiule$pack $FCCi_2,$GRi,$s12 */
4037 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4038 & ifmt_ftine, { 0x68740000 }
4040 /* ftiu$pack $FCCi_2,$GRi,$s12 */
4043 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4044 & ifmt_ftine, { 0x8740000 }
4046 /* ftio$pack $FCCi_2,$GRi,$s12 */
4049 { { MNEM, OP (PACK), ' ', OP (FCCI_2), ',', OP (GRI), ',', OP (S12), 0 } },
4050 & ifmt_ftine, { 0x70740000 }
4055 { { MNEM, OP (PACK), 0 } },
4056 & ifmt_break, { 0x1000c0 }
4061 { { MNEM, OP (PACK), 0 } },
4062 & ifmt_break, { 0x100080 }
4064 /* andcr$pack $CRi,$CRj,$CRk */
4067 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4068 & ifmt_andcr, { 0x280200 }
4070 /* orcr$pack $CRi,$CRj,$CRk */
4073 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4074 & ifmt_andcr, { 0x280240 }
4076 /* xorcr$pack $CRi,$CRj,$CRk */
4079 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4080 & ifmt_andcr, { 0x280280 }
4082 /* nandcr$pack $CRi,$CRj,$CRk */
4085 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4086 & ifmt_andcr, { 0x280300 }
4088 /* norcr$pack $CRi,$CRj,$CRk */
4091 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4092 & ifmt_andcr, { 0x280340 }
4094 /* andncr$pack $CRi,$CRj,$CRk */
4097 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4098 & ifmt_andcr, { 0x280400 }
4100 /* orncr$pack $CRi,$CRj,$CRk */
4103 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4104 & ifmt_andcr, { 0x280440 }
4106 /* nandncr$pack $CRi,$CRj,$CRk */
4109 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4110 & ifmt_andcr, { 0x280500 }
4112 /* norncr$pack $CRi,$CRj,$CRk */
4115 { { MNEM, OP (PACK), ' ', OP (CRI), ',', OP (CRJ), ',', OP (CRK), 0 } },
4116 & ifmt_andcr, { 0x280540 }
4118 /* notcr$pack $CRj,$CRk */
4121 { { MNEM, OP (PACK), ' ', OP (CRJ), ',', OP (CRK), 0 } },
4122 & ifmt_notcr, { 0x2802c0 }
4124 /* ckra$pack $CRj_int */
4127 { { MNEM, OP (PACK), ' ', OP (CRJ_INT), 0 } },
4128 & ifmt_ckra, { 0x40200000 }
4130 /* ckno$pack $CRj_int */
4133 { { MNEM, OP (PACK), ' ', OP (CRJ_INT), 0 } },
4134 & ifmt_ckra, { 0x200000 }
4136 /* ckeq$pack $ICCi_3,$CRj_int */
4139 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4140 & ifmt_ckeq, { 0x20200000 }
4142 /* ckne$pack $ICCi_3,$CRj_int */
4145 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4146 & ifmt_ckeq, { 0x60200000 }
4148 /* ckle$pack $ICCi_3,$CRj_int */
4151 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4152 & ifmt_ckeq, { 0x38200000 }
4154 /* ckgt$pack $ICCi_3,$CRj_int */
4157 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4158 & ifmt_ckeq, { 0x78200000 }
4160 /* cklt$pack $ICCi_3,$CRj_int */
4163 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4164 & ifmt_ckeq, { 0x18200000 }
4166 /* ckge$pack $ICCi_3,$CRj_int */
4169 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4170 & ifmt_ckeq, { 0x58200000 }
4172 /* ckls$pack $ICCi_3,$CRj_int */
4175 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4176 & ifmt_ckeq, { 0x28200000 }
4178 /* ckhi$pack $ICCi_3,$CRj_int */
4181 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4182 & ifmt_ckeq, { 0x68200000 }
4184 /* ckc$pack $ICCi_3,$CRj_int */
4187 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4188 & ifmt_ckeq, { 0x8200000 }
4190 /* cknc$pack $ICCi_3,$CRj_int */
4193 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4194 & ifmt_ckeq, { 0x48200000 }
4196 /* ckn$pack $ICCi_3,$CRj_int */
4199 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4200 & ifmt_ckeq, { 0x30200000 }
4202 /* ckp$pack $ICCi_3,$CRj_int */
4205 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4206 & ifmt_ckeq, { 0x70200000 }
4208 /* ckv$pack $ICCi_3,$CRj_int */
4211 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4212 & ifmt_ckeq, { 0x10200000 }
4214 /* cknv$pack $ICCi_3,$CRj_int */
4217 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), 0 } },
4218 & ifmt_ckeq, { 0x50200000 }
4220 /* fckra$pack $CRj_float */
4223 { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), 0 } },
4224 & ifmt_fckra, { 0x78240000 }
4226 /* fckno$pack $CRj_float */
4229 { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), 0 } },
4230 & ifmt_fckra, { 0x240000 }
4232 /* fckne$pack $FCCi_3,$CRj_float */
4235 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4236 & ifmt_fckra, { 0x38240000 }
4238 /* fckeq$pack $FCCi_3,$CRj_float */
4241 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4242 & ifmt_fckra, { 0x40240000 }
4244 /* fcklg$pack $FCCi_3,$CRj_float */
4247 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4248 & ifmt_fckra, { 0x30240000 }
4250 /* fckue$pack $FCCi_3,$CRj_float */
4253 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4254 & ifmt_fckra, { 0x48240000 }
4256 /* fckul$pack $FCCi_3,$CRj_float */
4259 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4260 & ifmt_fckra, { 0x28240000 }
4262 /* fckge$pack $FCCi_3,$CRj_float */
4265 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4266 & ifmt_fckra, { 0x50240000 }
4268 /* fcklt$pack $FCCi_3,$CRj_float */
4271 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4272 & ifmt_fckra, { 0x20240000 }
4274 /* fckuge$pack $FCCi_3,$CRj_float */
4277 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4278 & ifmt_fckra, { 0x58240000 }
4280 /* fckug$pack $FCCi_3,$CRj_float */
4283 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4284 & ifmt_fckra, { 0x18240000 }
4286 /* fckle$pack $FCCi_3,$CRj_float */
4289 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4290 & ifmt_fckra, { 0x60240000 }
4292 /* fckgt$pack $FCCi_3,$CRj_float */
4295 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4296 & ifmt_fckra, { 0x10240000 }
4298 /* fckule$pack $FCCi_3,$CRj_float */
4301 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4302 & ifmt_fckra, { 0x68240000 }
4304 /* fcku$pack $FCCi_3,$CRj_float */
4307 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4308 & ifmt_fckra, { 0x8240000 }
4310 /* fcko$pack $FCCi_3,$CRj_float */
4313 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), 0 } },
4314 & ifmt_fckra, { 0x70240000 }
4316 /* cckra$pack $CRj_int,$CCi,$cond */
4319 { { MNEM, OP (PACK), ' ', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4320 & ifmt_cckra, { 0x41a80000 }
4322 /* cckno$pack $CRj_int,$CCi,$cond */
4325 { { MNEM, OP (PACK), ' ', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4326 & ifmt_cckra, { 0x1a80000 }
4328 /* cckeq$pack $ICCi_3,$CRj_int,$CCi,$cond */
4331 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4332 & ifmt_cckeq, { 0x21a80000 }
4334 /* cckne$pack $ICCi_3,$CRj_int,$CCi,$cond */
4337 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4338 & ifmt_cckeq, { 0x61a80000 }
4340 /* cckle$pack $ICCi_3,$CRj_int,$CCi,$cond */
4343 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4344 & ifmt_cckeq, { 0x39a80000 }
4346 /* cckgt$pack $ICCi_3,$CRj_int,$CCi,$cond */
4349 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4350 & ifmt_cckeq, { 0x79a80000 }
4352 /* ccklt$pack $ICCi_3,$CRj_int,$CCi,$cond */
4355 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4356 & ifmt_cckeq, { 0x19a80000 }
4358 /* cckge$pack $ICCi_3,$CRj_int,$CCi,$cond */
4361 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4362 & ifmt_cckeq, { 0x59a80000 }
4364 /* cckls$pack $ICCi_3,$CRj_int,$CCi,$cond */
4367 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4368 & ifmt_cckeq, { 0x29a80000 }
4370 /* cckhi$pack $ICCi_3,$CRj_int,$CCi,$cond */
4373 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4374 & ifmt_cckeq, { 0x69a80000 }
4376 /* cckc$pack $ICCi_3,$CRj_int,$CCi,$cond */
4379 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4380 & ifmt_cckeq, { 0x9a80000 }
4382 /* ccknc$pack $ICCi_3,$CRj_int,$CCi,$cond */
4385 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4386 & ifmt_cckeq, { 0x49a80000 }
4388 /* cckn$pack $ICCi_3,$CRj_int,$CCi,$cond */
4391 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4392 & ifmt_cckeq, { 0x31a80000 }
4394 /* cckp$pack $ICCi_3,$CRj_int,$CCi,$cond */
4397 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4398 & ifmt_cckeq, { 0x71a80000 }
4400 /* cckv$pack $ICCi_3,$CRj_int,$CCi,$cond */
4403 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4404 & ifmt_cckeq, { 0x11a80000 }
4406 /* ccknv$pack $ICCi_3,$CRj_int,$CCi,$cond */
4409 { { MNEM, OP (PACK), ' ', OP (ICCI_3), ',', OP (CRJ_INT), ',', OP (CCI), ',', OP (COND), 0 } },
4410 & ifmt_cckeq, { 0x51a80000 }
4412 /* cfckra$pack $CRj_float,$CCi,$cond */
4415 { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4416 & ifmt_cfckra, { 0x79a80040 }
4418 /* cfckno$pack $CRj_float,$CCi,$cond */
4421 { { MNEM, OP (PACK), ' ', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4422 & ifmt_cfckra, { 0x1a80040 }
4424 /* cfckne$pack $FCCi_3,$CRj_float,$CCi,$cond */
4427 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4428 & ifmt_cfckne, { 0x39a80040 }
4430 /* cfckeq$pack $FCCi_3,$CRj_float,$CCi,$cond */
4433 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4434 & ifmt_cfckne, { 0x41a80040 }
4436 /* cfcklg$pack $FCCi_3,$CRj_float,$CCi,$cond */
4439 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4440 & ifmt_cfckne, { 0x31a80040 }
4442 /* cfckue$pack $FCCi_3,$CRj_float,$CCi,$cond */
4445 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4446 & ifmt_cfckne, { 0x49a80040 }
4448 /* cfckul$pack $FCCi_3,$CRj_float,$CCi,$cond */
4451 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4452 & ifmt_cfckne, { 0x29a80040 }
4454 /* cfckge$pack $FCCi_3,$CRj_float,$CCi,$cond */
4457 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4458 & ifmt_cfckne, { 0x51a80040 }
4460 /* cfcklt$pack $FCCi_3,$CRj_float,$CCi,$cond */
4463 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4464 & ifmt_cfckne, { 0x21a80040 }
4466 /* cfckuge$pack $FCCi_3,$CRj_float,$CCi,$cond */
4469 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4470 & ifmt_cfckne, { 0x59a80040 }
4472 /* cfckug$pack $FCCi_3,$CRj_float,$CCi,$cond */
4475 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4476 & ifmt_cfckne, { 0x19a80040 }
4478 /* cfckle$pack $FCCi_3,$CRj_float,$CCi,$cond */
4481 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4482 & ifmt_cfckne, { 0x61a80040 }
4484 /* cfckgt$pack $FCCi_3,$CRj_float,$CCi,$cond */
4487 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4488 & ifmt_cfckne, { 0x11a80040 }
4490 /* cfckule$pack $FCCi_3,$CRj_float,$CCi,$cond */
4493 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4494 & ifmt_cfckne, { 0x69a80040 }
4496 /* cfcku$pack $FCCi_3,$CRj_float,$CCi,$cond */
4499 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4500 & ifmt_cfckne, { 0x9a80040 }
4502 /* cfcko$pack $FCCi_3,$CRj_float,$CCi,$cond */
4505 { { MNEM, OP (PACK), ' ', OP (FCCI_3), ',', OP (CRJ_FLOAT), ',', OP (CCI), ',', OP (COND), 0 } },
4506 & ifmt_cfckne, { 0x71a80040 }
4508 /* cjmpl$pack @($GRi,$GRj),$CCi,$cond */
4511 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
4512 & ifmt_cjmpl, { 0x1a80080 }
4514 /* ccalll$pack @($GRi,$GRj),$CCi,$cond */
4517 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (CCI), ',', OP (COND), 0 } },
4518 & ifmt_ccalll, { 0x3a80080 }
4520 /* ici$pack @($GRi,$GRj) */
4523 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4524 & ifmt_smu, { 0xc0e00 }
4526 /* dci$pack @($GRi,$GRj) */
4529 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4530 & ifmt_smu, { 0xc0f00 }
4532 /* icei$pack @($GRi,$GRj),$ae */
4535 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4536 & ifmt_icei, { 0xc0e40 }
4538 /* dcei$pack @($GRi,$GRj),$ae */
4541 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4542 & ifmt_icei, { 0xc0e80 }
4544 /* dcf$pack @($GRi,$GRj) */
4547 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4548 & ifmt_smu, { 0xc0f40 }
4550 /* dcef$pack @($GRi,$GRj),$ae */
4553 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', ',', OP (AE), 0 } },
4554 & ifmt_icei, { 0xc0ec0 }
4556 /* witlb$pack $GRk,@($GRi,$GRj) */
4559 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4560 & ifmt_slass, { 0xc0c80 }
4562 /* wdtlb$pack $GRk,@($GRi,$GRj) */
4565 { { MNEM, OP (PACK), ' ', OP (GRK), ',', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4566 & ifmt_slass, { 0xc0d80 }
4568 /* itlbi$pack @($GRi,$GRj) */
4571 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4572 & ifmt_smu, { 0xc0cc0 }
4574 /* dtlbi$pack @($GRi,$GRj) */
4577 { { MNEM, OP (PACK), ' ', '@', '(', OP (GRI), ',', OP (GRJ), ')', 0 } },
4578 & ifmt_smu, { 0xc0dc0 }
4580 /* icpl$pack $GRi,$GRj,$lock */
4583 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (LOCK), 0 } },
4584 & ifmt_icpl, { 0xc0c00 }
4586 /* dcpl$pack $GRi,$GRj,$lock */
4589 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (LOCK), 0 } },
4590 & ifmt_icpl, { 0xc0d00 }
4592 /* icul$pack $GRi */
4595 { { MNEM, OP (PACK), ' ', OP (GRI), 0 } },
4596 & ifmt_icul, { 0xc0c40 }
4598 /* dcul$pack $GRi */
4601 { { MNEM, OP (PACK), ' ', OP (GRI), 0 } },
4602 & ifmt_icul, { 0xc0d40 }
4607 { { MNEM, OP (PACK), 0 } },
4608 & ifmt_bar, { 0xc0f80 }
4613 { { MNEM, OP (PACK), 0 } },
4614 & ifmt_bar, { 0xc0fc0 }
4616 /* cop1$pack $s6_1,$CPRi,$CPRj,$CPRk */
4619 { { MNEM, OP (PACK), ' ', OP (S6_1), ',', OP (CPRI), ',', OP (CPRJ), ',', OP (CPRK), 0 } },
4620 & ifmt_cop1, { 0x1f80000 }
4622 /* cop2$pack $s6_1,$CPRi,$CPRj,$CPRk */
4625 { { MNEM, OP (PACK), ' ', OP (S6_1), ',', OP (CPRI), ',', OP (CPRJ), ',', OP (CPRK), 0 } },
4626 & ifmt_cop1, { 0x1fc0000 }
4628 /* clrgr$pack $GRk */
4631 { { MNEM, OP (PACK), ' ', OP (GRK), 0 } },
4632 & ifmt_clrgr, { 0x280000 }
4634 /* clrfr$pack $FRk */
4637 { { MNEM, OP (PACK), ' ', OP (FRK), 0 } },
4638 & ifmt_clrfr, { 0x280080 }
4643 { { MNEM, OP (PACK), 0 } },
4644 & ifmt_bar, { 0x280040 }
4649 { { MNEM, OP (PACK), 0 } },
4650 & ifmt_bar, { 0x2800c0 }
4652 /* commitgr$pack $GRk */
4655 { { MNEM, OP (PACK), ' ', OP (GRK), 0 } },
4656 & ifmt_clrgr, { 0x280100 }
4658 /* commitfr$pack $FRk */
4661 { { MNEM, OP (PACK), ' ', OP (FRK), 0 } },
4662 & ifmt_clrfr, { 0x280180 }
4667 { { MNEM, OP (PACK), 0 } },
4668 & ifmt_bar, { 0x280140 }
4673 { { MNEM, OP (PACK), 0 } },
4674 & ifmt_bar, { 0x2801c0 }
4676 /* fitos$pack $FRintj,$FRk */
4679 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4680 & ifmt_fitos, { 0x1e40000 }
4682 /* fstoi$pack $FRj,$FRintk */
4685 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4686 & ifmt_fstoi, { 0x1e40040 }
4688 /* fitod$pack $FRintj,$FRdoublek */
4691 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRDOUBLEK), 0 } },
4692 & ifmt_fitod, { 0x1e80000 }
4694 /* fdtoi$pack $FRdoublej,$FRintk */
4697 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRINTK), 0 } },
4698 & ifmt_fdtoi, { 0x1e80040 }
4700 /* fditos$pack $FRintj,$FRk */
4703 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4704 & ifmt_fitos, { 0x1e40400 }
4706 /* fdstoi$pack $FRj,$FRintk */
4709 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4710 & ifmt_fstoi, { 0x1e40440 }
4712 /* nfditos$pack $FRintj,$FRk */
4715 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4716 & ifmt_fitos, { 0x1e40c00 }
4718 /* nfdstoi$pack $FRj,$FRintk */
4721 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4722 & ifmt_fstoi, { 0x1e40c40 }
4724 /* cfitos$pack $FRintj,$FRk,$CCi,$cond */
4727 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4728 & ifmt_cfitos, { 0x1ac0000 }
4730 /* cfstoi$pack $FRj,$FRintk,$CCi,$cond */
4733 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
4734 & ifmt_cfstoi, { 0x1ac0040 }
4736 /* nfitos$pack $FRintj,$FRk */
4739 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRK), 0 } },
4740 & ifmt_fitos, { 0x1e40800 }
4742 /* nfstoi$pack $FRj,$FRintk */
4745 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRINTK), 0 } },
4746 & ifmt_fstoi, { 0x1e40840 }
4748 /* fmovs$pack $FRj,$FRk */
4751 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4752 & ifmt_fmovs, { 0x1e40080 }
4754 /* fmovd$pack $FRdoublej,$FRdoublek */
4757 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4758 & ifmt_fmovd, { 0x1e80080 }
4760 /* fdmovs$pack $FRj,$FRk */
4763 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4764 & ifmt_fmovs, { 0x1e40480 }
4766 /* cfmovs$pack $FRj,$FRk,$CCi,$cond */
4769 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4770 & ifmt_cfmovs, { 0x1b00000 }
4772 /* fnegs$pack $FRj,$FRk */
4775 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4776 & ifmt_fmovs, { 0x1e400c0 }
4778 /* fnegd$pack $FRdoublej,$FRdoublek */
4781 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4782 & ifmt_fmovd, { 0x1e800c0 }
4784 /* fdnegs$pack $FRj,$FRk */
4787 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4788 & ifmt_fmovs, { 0x1e404c0 }
4790 /* cfnegs$pack $FRj,$FRk,$CCi,$cond */
4793 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4794 & ifmt_cfmovs, { 0x1b00040 }
4796 /* fabss$pack $FRj,$FRk */
4799 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4800 & ifmt_fmovs, { 0x1e40100 }
4802 /* fabsd$pack $FRdoublej,$FRdoublek */
4805 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4806 & ifmt_fmovd, { 0x1e80100 }
4808 /* fdabss$pack $FRj,$FRk */
4811 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4812 & ifmt_fmovs, { 0x1e40500 }
4814 /* cfabss$pack $FRj,$FRk,$CCi,$cond */
4817 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4818 & ifmt_cfmovs, { 0x1b00080 }
4820 /* fsqrts$pack $FRj,$FRk */
4823 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4824 & ifmt_fmovs, { 0x1e40140 }
4826 /* fdsqrts$pack $FRj,$FRk */
4829 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4830 & ifmt_fmovs, { 0x1e40540 }
4832 /* nfdsqrts$pack $FRj,$FRk */
4835 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4836 & ifmt_fmovs, { 0x1e40d40 }
4838 /* fsqrtd$pack $FRdoublej,$FRdoublek */
4841 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4842 & ifmt_fmovd, { 0x1e80140 }
4844 /* cfsqrts$pack $FRj,$FRk,$CCi,$cond */
4847 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4848 & ifmt_cfmovs, { 0x1b80080 }
4850 /* nfsqrts$pack $FRj,$FRk */
4853 { { MNEM, OP (PACK), ' ', OP (FRJ), ',', OP (FRK), 0 } },
4854 & ifmt_fmovs, { 0x1e40940 }
4856 /* fadds$pack $FRi,$FRj,$FRk */
4859 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4860 & ifmt_fadds, { 0x1e40180 }
4862 /* fsubs$pack $FRi,$FRj,$FRk */
4865 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4866 & ifmt_fadds, { 0x1e401c0 }
4868 /* fmuls$pack $FRi,$FRj,$FRk */
4871 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4872 & ifmt_fadds, { 0x1e40200 }
4874 /* fdivs$pack $FRi,$FRj,$FRk */
4877 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4878 & ifmt_fadds, { 0x1e40240 }
4880 /* faddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4883 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4884 & ifmt_faddd, { 0x1e80180 }
4886 /* fsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4889 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4890 & ifmt_faddd, { 0x1e801c0 }
4892 /* fmuld$pack $FRdoublei,$FRdoublej,$FRdoublek */
4895 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4896 & ifmt_faddd, { 0x1e80200 }
4898 /* fdivd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4901 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4902 & ifmt_faddd, { 0x1e80240 }
4904 /* cfadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
4907 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4908 & ifmt_cfadds, { 0x1b40000 }
4910 /* cfsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
4913 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4914 & ifmt_cfadds, { 0x1b40040 }
4916 /* cfmuls$pack $FRi,$FRj,$FRk,$CCi,$cond */
4919 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4920 & ifmt_cfadds, { 0x1b80000 }
4922 /* cfdivs$pack $FRi,$FRj,$FRk,$CCi,$cond */
4925 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
4926 & ifmt_cfadds, { 0x1b80040 }
4928 /* nfadds$pack $FRi,$FRj,$FRk */
4931 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4932 & ifmt_fadds, { 0x1e40980 }
4934 /* nfsubs$pack $FRi,$FRj,$FRk */
4937 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4938 & ifmt_fadds, { 0x1e409c0 }
4940 /* nfmuls$pack $FRi,$FRj,$FRk */
4943 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4944 & ifmt_fadds, { 0x1e40a00 }
4946 /* nfdivs$pack $FRi,$FRj,$FRk */
4949 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4950 & ifmt_fadds, { 0x1e40a40 }
4952 /* fcmps$pack $FRi,$FRj,$FCCi_2 */
4955 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
4956 & ifmt_fcmps, { 0x1e40280 }
4958 /* fcmpd$pack $FRdoublei,$FRdoublej,$FCCi_2 */
4961 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FCCI_2), 0 } },
4962 & ifmt_fcmpd, { 0x1e80280 }
4964 /* cfcmps$pack $FRi,$FRj,$FCCi_2,$CCi,$cond */
4967 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), ',', OP (CCI), ',', OP (COND), 0 } },
4968 & ifmt_cfcmps, { 0x1b40080 }
4970 /* fdcmps$pack $FRi,$FRj,$FCCi_2 */
4973 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
4974 & ifmt_fcmps, { 0x1e40680 }
4976 /* fmadds$pack $FRi,$FRj,$FRk */
4979 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4980 & ifmt_fadds, { 0x1e402c0 }
4982 /* fmsubs$pack $FRi,$FRj,$FRk */
4985 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
4986 & ifmt_fadds, { 0x1e40300 }
4988 /* fmaddd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4991 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4992 & ifmt_faddd, { 0x1e802c0 }
4994 /* fmsubd$pack $FRdoublei,$FRdoublej,$FRdoublek */
4997 { { MNEM, OP (PACK), ' ', OP (FRDOUBLEI), ',', OP (FRDOUBLEJ), ',', OP (FRDOUBLEK), 0 } },
4998 & ifmt_faddd, { 0x1e80300 }
5000 /* fdmadds$pack $FRi,$FRj,$FRk */
5003 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5004 & ifmt_fadds, { 0x1e406c0 }
5006 /* nfdmadds$pack $FRi,$FRj,$FRk */
5009 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5010 & ifmt_fadds, { 0x1e40ec0 }
5012 /* cfmadds$pack $FRi,$FRj,$FRk,$CCi,$cond */
5015 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5016 & ifmt_cfadds, { 0x1bc0000 }
5018 /* cfmsubs$pack $FRi,$FRj,$FRk,$CCi,$cond */
5021 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5022 & ifmt_cfadds, { 0x1bc0040 }
5024 /* nfmadds$pack $FRi,$FRj,$FRk */
5027 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5028 & ifmt_fadds, { 0x1e40ac0 }
5030 /* nfmsubs$pack $FRi,$FRj,$FRk */
5033 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5034 & ifmt_fadds, { 0x1e40b00 }
5036 /* fmas$pack $FRi,$FRj,$FRk */
5039 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5040 & ifmt_fadds, { 0x1e40380 }
5042 /* fmss$pack $FRi,$FRj,$FRk */
5045 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5046 & ifmt_fadds, { 0x1e403c0 }
5048 /* fdmas$pack $FRi,$FRj,$FRk */
5051 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5052 & ifmt_fadds, { 0x1e40700 }
5054 /* fdmss$pack $FRi,$FRj,$FRk */
5057 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5058 & ifmt_fadds, { 0x1e40740 }
5060 /* nfdmas$pack $FRi,$FRj,$FRk */
5063 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5064 & ifmt_fadds, { 0x1e40f00 }
5066 /* nfdmss$pack $FRi,$FRj,$FRk */
5069 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5070 & ifmt_fadds, { 0x1e40f40 }
5072 /* cfmas$pack $FRi,$FRj,$FRk,$CCi,$cond */
5075 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5076 & ifmt_cfadds, { 0x1bc0080 }
5078 /* cfmss$pack $FRi,$FRj,$FRk,$CCi,$cond */
5081 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), ',', OP (CCI), ',', OP (COND), 0 } },
5082 & ifmt_cfadds, { 0x1bc00c0 }
5084 /* fmad$pack $FRi,$FRj,$FRk */
5087 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5088 & ifmt_fadds, { 0x1e80380 }
5090 /* fmsd$pack $FRi,$FRj,$FRk */
5093 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5094 & ifmt_fadds, { 0x1e803c0 }
5096 /* nfmas$pack $FRi,$FRj,$FRk */
5099 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5100 & ifmt_fadds, { 0x1e40b80 }
5102 /* nfmss$pack $FRi,$FRj,$FRk */
5105 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5106 & ifmt_fadds, { 0x1e40bc0 }
5108 /* fdadds$pack $FRi,$FRj,$FRk */
5111 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5112 & ifmt_fadds, { 0x1e40580 }
5114 /* fdsubs$pack $FRi,$FRj,$FRk */
5117 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5118 & ifmt_fadds, { 0x1e405c0 }
5120 /* fdmuls$pack $FRi,$FRj,$FRk */
5123 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5124 & ifmt_fadds, { 0x1e40600 }
5126 /* fddivs$pack $FRi,$FRj,$FRk */
5129 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5130 & ifmt_fadds, { 0x1e40640 }
5132 /* fdsads$pack $FRi,$FRj,$FRk */
5135 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5136 & ifmt_fadds, { 0x1e40780 }
5138 /* fdmulcs$pack $FRi,$FRj,$FRk */
5141 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5142 & ifmt_fadds, { 0x1e407c0 }
5144 /* nfdmulcs$pack $FRi,$FRj,$FRk */
5147 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5148 & ifmt_fadds, { 0x1e40fc0 }
5150 /* nfdadds$pack $FRi,$FRj,$FRk */
5153 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5154 & ifmt_fadds, { 0x1e40d80 }
5156 /* nfdsubs$pack $FRi,$FRj,$FRk */
5159 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5160 & ifmt_fadds, { 0x1e40dc0 }
5162 /* nfdmuls$pack $FRi,$FRj,$FRk */
5165 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5166 & ifmt_fadds, { 0x1e40e00 }
5168 /* nfddivs$pack $FRi,$FRj,$FRk */
5171 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5172 & ifmt_fadds, { 0x1e40e40 }
5174 /* nfdsads$pack $FRi,$FRj,$FRk */
5177 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5178 & ifmt_fadds, { 0x1e40f80 }
5180 /* nfdcmps$pack $FRi,$FRj,$FCCi_2 */
5183 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FCCI_2), 0 } },
5184 & ifmt_fcmps, { 0x1e40e80 }
5186 /* mhsetlos$pack $u12,$FRklo */
5189 { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRKLO), 0 } },
5190 & ifmt_mhsetlos, { 0x1e00800 }
5192 /* mhsethis$pack $u12,$FRkhi */
5195 { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRKHI), 0 } },
5196 & ifmt_mhsethis, { 0x1e00880 }
5198 /* mhdsets$pack $u12,$FRintk */
5201 { { MNEM, OP (PACK), ' ', OP (U12), ',', OP (FRINTK), 0 } },
5202 & ifmt_mhdsets, { 0x1e00900 }
5204 /* mhsetloh$pack $s5,$FRklo */
5207 { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRKLO), 0 } },
5208 & ifmt_mhsetloh, { 0x1e00840 }
5210 /* mhsethih$pack $s5,$FRkhi */
5213 { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRKHI), 0 } },
5214 & ifmt_mhsethih, { 0x1e008c0 }
5216 /* mhdseth$pack $s5,$FRintk */
5219 { { MNEM, OP (PACK), ' ', OP (S5), ',', OP (FRINTK), 0 } },
5220 & ifmt_mhdseth, { 0x1e00940 }
5222 /* mand$pack $FRinti,$FRintj,$FRintk */
5225 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5226 & ifmt_mand, { 0x1ec0000 }
5228 /* mor$pack $FRinti,$FRintj,$FRintk */
5231 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5232 & ifmt_mand, { 0x1ec0040 }
5234 /* mxor$pack $FRinti,$FRintj,$FRintk */
5237 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5238 & ifmt_mand, { 0x1ec0080 }
5240 /* cmand$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5243 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5244 & ifmt_cmand, { 0x1c00000 }
5246 /* cmor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5249 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5250 & ifmt_cmand, { 0x1c00040 }
5252 /* cmxor$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5255 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5256 & ifmt_cmand, { 0x1c00080 }
5258 /* mnot$pack $FRintj,$FRintk */
5261 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5262 & ifmt_mnot, { 0x1ec00c0 }
5264 /* cmnot$pack $FRintj,$FRintk,$CCi,$cond */
5267 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5268 & ifmt_cmnot, { 0x1c000c0 }
5270 /* mrotli$pack $FRinti,$u6,$FRintk */
5273 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5274 & ifmt_mrotli, { 0x1ec0100 }
5276 /* mrotri$pack $FRinti,$u6,$FRintk */
5279 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5280 & ifmt_mrotli, { 0x1ec0140 }
5282 /* mwcut$pack $FRinti,$FRintj,$FRintk */
5285 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5286 & ifmt_mand, { 0x1ec0180 }
5288 /* mwcuti$pack $FRinti,$u6,$FRintk */
5291 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5292 & ifmt_mrotli, { 0x1ec01c0 }
5294 /* mcut$pack $ACC40Si,$FRintj,$FRintk */
5297 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5298 & ifmt_mcut, { 0x1ec0b00 }
5300 /* mcuti$pack $ACC40Si,$s6,$FRintk */
5303 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTK), 0 } },
5304 & ifmt_mcuti, { 0x1ec0b80 }
5306 /* mcutss$pack $ACC40Si,$FRintj,$FRintk */
5309 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5310 & ifmt_mcut, { 0x1ec0b40 }
5312 /* mcutssi$pack $ACC40Si,$s6,$FRintk */
5315 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTK), 0 } },
5316 & ifmt_mcuti, { 0x1ec0bc0 }
5318 /* mdcutssi$pack $ACC40Si,$s6,$FRintkeven */
5321 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (S6), ',', OP (FRINTKEVEN), 0 } },
5322 & ifmt_mdcutssi, { 0x1e00380 }
5324 /* maveh$pack $FRinti,$FRintj,$FRintk */
5327 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5328 & ifmt_mand, { 0x1ec0200 }
5330 /* msllhi$pack $FRinti,$u6,$FRintk */
5333 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5334 & ifmt_mrotli, { 0x1ec0240 }
5336 /* msrlhi$pack $FRinti,$u6,$FRintk */
5339 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5340 & ifmt_mrotli, { 0x1ec0280 }
5342 /* msrahi$pack $FRinti,$u6,$FRintk */
5345 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5346 & ifmt_mrotli, { 0x1ec02c0 }
5348 /* mdrotli$pack $FRintieven,$s6,$FRintkeven */
5351 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (S6), ',', OP (FRINTKEVEN), 0 } },
5352 & ifmt_mdrotli, { 0x1e002c0 }
5354 /* mcplhi$pack $FRinti,$u6,$FRintk */
5357 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5358 & ifmt_mrotli, { 0x1e00300 }
5360 /* mcpli$pack $FRinti,$u6,$FRintk */
5363 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5364 & ifmt_mrotli, { 0x1e00340 }
5366 /* msaths$pack $FRinti,$FRintj,$FRintk */
5369 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5370 & ifmt_mand, { 0x1ec0300 }
5372 /* mqsaths$pack $FRintieven,$FRintjeven,$FRintkeven */
5375 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5376 & ifmt_mqsaths, { 0x1e003c0 }
5378 /* msathu$pack $FRinti,$FRintj,$FRintk */
5381 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5382 & ifmt_mand, { 0x1ec0340 }
5384 /* mcmpsh$pack $FRinti,$FRintj,$FCCk */
5387 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FCCK), 0 } },
5388 & ifmt_mcmpsh, { 0x1ec0380 }
5390 /* mcmpuh$pack $FRinti,$FRintj,$FCCk */
5393 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FCCK), 0 } },
5394 & ifmt_mcmpsh, { 0x1ec03c0 }
5396 /* mabshs$pack $FRintj,$FRintk */
5399 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5400 & ifmt_mabshs, { 0x1e00280 }
5402 /* maddhss$pack $FRinti,$FRintj,$FRintk */
5405 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5406 & ifmt_mand, { 0x1ec0400 }
5408 /* maddhus$pack $FRinti,$FRintj,$FRintk */
5411 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5412 & ifmt_mand, { 0x1ec0440 }
5414 /* msubhss$pack $FRinti,$FRintj,$FRintk */
5417 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5418 & ifmt_mand, { 0x1ec0480 }
5420 /* msubhus$pack $FRinti,$FRintj,$FRintk */
5423 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5424 & ifmt_mand, { 0x1ec04c0 }
5426 /* cmaddhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5429 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5430 & ifmt_cmand, { 0x1c40000 }
5432 /* cmaddhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5435 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5436 & ifmt_cmand, { 0x1c40040 }
5438 /* cmsubhss$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5441 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5442 & ifmt_cmand, { 0x1c40080 }
5444 /* cmsubhus$pack $FRinti,$FRintj,$FRintk,$CCi,$cond */
5447 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5448 & ifmt_cmand, { 0x1c400c0 }
5450 /* mqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven */
5453 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5454 & ifmt_mqsaths, { 0x1ec0600 }
5456 /* mqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven */
5459 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5460 & ifmt_mqsaths, { 0x1ec0640 }
5462 /* mqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven */
5465 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5466 & ifmt_mqsaths, { 0x1ec0680 }
5468 /* mqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven */
5471 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5472 & ifmt_mqsaths, { 0x1ec06c0 }
5474 /* cmqaddhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5477 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5478 & ifmt_cmqaddhss, { 0x1cc0000 }
5480 /* cmqaddhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5483 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5484 & ifmt_cmqaddhss, { 0x1cc0040 }
5486 /* cmqsubhss$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5489 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5490 & ifmt_cmqaddhss, { 0x1cc0080 }
5492 /* cmqsubhus$pack $FRintieven,$FRintjeven,$FRintkeven,$CCi,$cond */
5495 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5496 & ifmt_cmqaddhss, { 0x1cc00c0 }
5498 /* maddaccs$pack $ACC40Si,$ACC40Sk */
5501 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5502 & ifmt_maddaccs, { 0x1e00100 }
5504 /* msubaccs$pack $ACC40Si,$ACC40Sk */
5507 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5508 & ifmt_maddaccs, { 0x1e00140 }
5510 /* mdaddaccs$pack $ACC40Si,$ACC40Sk */
5513 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5514 & ifmt_maddaccs, { 0x1e00180 }
5516 /* mdsubaccs$pack $ACC40Si,$ACC40Sk */
5519 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5520 & ifmt_maddaccs, { 0x1e001c0 }
5522 /* masaccs$pack $ACC40Si,$ACC40Sk */
5525 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5526 & ifmt_maddaccs, { 0x1e00200 }
5528 /* mdasaccs$pack $ACC40Si,$ACC40Sk */
5531 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (ACC40SK), 0 } },
5532 & ifmt_maddaccs, { 0x1e00240 }
5534 /* mmulhs$pack $FRinti,$FRintj,$ACC40Sk */
5537 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5538 & ifmt_mmulhs, { 0x1ec0500 }
5540 /* mmulhu$pack $FRinti,$FRintj,$ACC40Sk */
5543 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5544 & ifmt_mmulhs, { 0x1ec0540 }
5546 /* mmulxhs$pack $FRinti,$FRintj,$ACC40Sk */
5549 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5550 & ifmt_mmulhs, { 0x1ec0a00 }
5552 /* mmulxhu$pack $FRinti,$FRintj,$ACC40Sk */
5555 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5556 & ifmt_mmulhs, { 0x1ec0a40 }
5558 /* cmmulhs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5561 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5562 & ifmt_cmmulhs, { 0x1c80000 }
5564 /* cmmulhu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5567 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5568 & ifmt_cmmulhs, { 0x1c80040 }
5570 /* mqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5573 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5574 & ifmt_mqmulhs, { 0x1ec0700 }
5576 /* mqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5579 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5580 & ifmt_mqmulhs, { 0x1ec0740 }
5582 /* mqmulxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5585 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5586 & ifmt_mqmulhs, { 0x1ec0a80 }
5588 /* mqmulxhu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5591 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5592 & ifmt_mqmulhs, { 0x1ec0ac0 }
5594 /* cmqmulhs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5597 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5598 & ifmt_cmqmulhs, { 0x1d00000 }
5600 /* cmqmulhu$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5603 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5604 & ifmt_cmqmulhs, { 0x1d00040 }
5606 /* mmachs$pack $FRinti,$FRintj,$ACC40Sk */
5609 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5610 & ifmt_mmulhs, { 0x1ec0580 }
5612 /* mmachu$pack $FRinti,$FRintj,$ACC40Uk */
5615 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), 0 } },
5616 & ifmt_mmachu, { 0x1ec05c0 }
5618 /* mmrdhs$pack $FRinti,$FRintj,$ACC40Sk */
5621 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5622 & ifmt_mmulhs, { 0x1ec0c00 }
5624 /* mmrdhu$pack $FRinti,$FRintj,$ACC40Uk */
5627 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), 0 } },
5628 & ifmt_mmachu, { 0x1ec0c40 }
5630 /* cmmachs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5633 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5634 & ifmt_cmmulhs, { 0x1c80080 }
5636 /* cmmachu$pack $FRinti,$FRintj,$ACC40Uk,$CCi,$cond */
5639 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40UK), ',', OP (CCI), ',', OP (COND), 0 } },
5640 & ifmt_cmmachu, { 0x1c800c0 }
5642 /* mqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5645 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5646 & ifmt_mqmulhs, { 0x1ec0780 }
5648 /* mqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk */
5651 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40UK), 0 } },
5652 & ifmt_mqmachu, { 0x1ec07c0 }
5654 /* cmqmachs$pack $FRintieven,$FRintjeven,$ACC40Sk,$CCi,$cond */
5657 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5658 & ifmt_cmqmulhs, { 0x1d00080 }
5660 /* cmqmachu$pack $FRintieven,$FRintjeven,$ACC40Uk,$CCi,$cond */
5663 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40UK), ',', OP (CCI), ',', OP (COND), 0 } },
5664 & ifmt_cmqmachu, { 0x1d000c0 }
5666 /* mqxmachs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5669 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5670 & ifmt_mqmulhs, { 0x1e00000 }
5672 /* mqxmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5675 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5676 & ifmt_mqmulhs, { 0x1e00040 }
5678 /* mqmacxhs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5681 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5682 & ifmt_mqmulhs, { 0x1e00080 }
5684 /* mcpxrs$pack $FRinti,$FRintj,$ACC40Sk */
5687 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5688 & ifmt_mmulhs, { 0x1ec0800 }
5690 /* mcpxru$pack $FRinti,$FRintj,$ACC40Sk */
5693 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5694 & ifmt_mmulhs, { 0x1ec0840 }
5696 /* mcpxis$pack $FRinti,$FRintj,$ACC40Sk */
5699 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5700 & ifmt_mmulhs, { 0x1ec0880 }
5702 /* mcpxiu$pack $FRinti,$FRintj,$ACC40Sk */
5705 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), 0 } },
5706 & ifmt_mmulhs, { 0x1ec08c0 }
5708 /* cmcpxrs$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5711 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5712 & ifmt_cmmulhs, { 0x1d40000 }
5714 /* cmcpxru$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5717 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5718 & ifmt_cmmulhs, { 0x1d40040 }
5720 /* cmcpxis$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5723 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5724 & ifmt_cmmulhs, { 0x1d40080 }
5726 /* cmcpxiu$pack $FRinti,$FRintj,$ACC40Sk,$CCi,$cond */
5729 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (ACC40SK), ',', OP (CCI), ',', OP (COND), 0 } },
5730 & ifmt_cmmulhs, { 0x1d400c0 }
5732 /* mqcpxrs$pack $FRintieven,$FRintjeven,$ACC40Sk */
5735 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5736 & ifmt_mqmulhs, { 0x1ec0900 }
5738 /* mqcpxru$pack $FRintieven,$FRintjeven,$ACC40Sk */
5741 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5742 & ifmt_mqmulhs, { 0x1ec0940 }
5744 /* mqcpxis$pack $FRintieven,$FRintjeven,$ACC40Sk */
5747 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5748 & ifmt_mqmulhs, { 0x1ec0980 }
5750 /* mqcpxiu$pack $FRintieven,$FRintjeven,$ACC40Sk */
5753 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (ACC40SK), 0 } },
5754 & ifmt_mqmulhs, { 0x1ec09c0 }
5756 /* mexpdhw$pack $FRinti,$u6,$FRintk */
5759 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), 0 } },
5760 & ifmt_mrotli, { 0x1ec0c80 }
5762 /* cmexpdhw$pack $FRinti,$u6,$FRintk,$CCi,$cond */
5765 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5766 & ifmt_cmexpdhw, { 0x1d80080 }
5768 /* mexpdhd$pack $FRinti,$u6,$FRintkeven */
5771 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTKEVEN), 0 } },
5772 & ifmt_mexpdhd, { 0x1ec0cc0 }
5774 /* cmexpdhd$pack $FRinti,$u6,$FRintkeven,$CCi,$cond */
5777 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (U6), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5778 & ifmt_cmexpdhd, { 0x1d800c0 }
5780 /* mpackh$pack $FRinti,$FRintj,$FRintk */
5783 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5784 & ifmt_mand, { 0x1ec0d00 }
5786 /* mdpackh$pack $FRintieven,$FRintjeven,$FRintkeven */
5789 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTJEVEN), ',', OP (FRINTKEVEN), 0 } },
5790 & ifmt_mqsaths, { 0x1ec0d80 }
5792 /* munpackh$pack $FRinti,$FRintkeven */
5795 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (FRINTKEVEN), 0 } },
5796 & ifmt_munpackh, { 0x1ec0d40 }
5798 /* mdunpackh$pack $FRintieven,$FRintk */
5801 { { MNEM, OP (PACK), ' ', OP (FRINTIEVEN), ',', OP (FRINTK), 0 } },
5802 & ifmt_mdunpackh, { 0x1ec0dc0 }
5804 /* mbtoh$pack $FRintj,$FRintkeven */
5807 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTKEVEN), 0 } },
5808 & ifmt_mbtoh, { 0x1ec0e00 }
5810 /* cmbtoh$pack $FRintj,$FRintkeven,$CCi,$cond */
5813 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTKEVEN), ',', OP (CCI), ',', OP (COND), 0 } },
5814 & ifmt_cmbtoh, { 0x1dc0000 }
5816 /* mhtob$pack $FRintjeven,$FRintk */
5819 { { MNEM, OP (PACK), ' ', OP (FRINTJEVEN), ',', OP (FRINTK), 0 } },
5820 & ifmt_mhtob, { 0x1ec0e40 }
5822 /* cmhtob$pack $FRintjeven,$FRintk,$CCi,$cond */
5825 { { MNEM, OP (PACK), ' ', OP (FRINTJEVEN), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5826 & ifmt_cmhtob, { 0x1dc0040 }
5828 /* mbtohe$pack $FRintj,$FRintk */
5831 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), 0 } },
5832 & ifmt_mabshs, { 0x1ec0e80 }
5834 /* cmbtohe$pack $FRintj,$FRintk,$CCi,$cond */
5837 { { MNEM, OP (PACK), ' ', OP (FRINTJ), ',', OP (FRINTK), ',', OP (CCI), ',', OP (COND), 0 } },
5838 & ifmt_cmbtohe, { 0x1dc0080 }
5843 { { MNEM, OP (PACK), 0 } },
5844 & ifmt_mnop, { 0x7fee0ec0 }
5846 /* mclracc$pack $ACC40Sk,$A0 */
5849 { { MNEM, OP (PACK), ' ', OP (ACC40SK), ',', OP (A0), 0 } },
5850 & ifmt_mclracc_0, { 0x1ec0ec0 }
5852 /* mclracc$pack $ACC40Sk,$A1 */
5855 { { MNEM, OP (PACK), ' ', OP (ACC40SK), ',', OP (A1), 0 } },
5856 & ifmt_mclracc_0, { 0x1ee0ec0 }
5858 /* mrdacc$pack $ACC40Si,$FRintk */
5861 { { MNEM, OP (PACK), ' ', OP (ACC40SI), ',', OP (FRINTK), 0 } },
5862 & ifmt_mrdacc, { 0x1ec0f00 }
5864 /* mrdaccg$pack $ACCGi,$FRintk */
5867 { { MNEM, OP (PACK), ' ', OP (ACCGI), ',', OP (FRINTK), 0 } },
5868 & ifmt_mrdaccg, { 0x1ec0f80 }
5870 /* mwtacc$pack $FRinti,$ACC40Sk */
5873 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (ACC40SK), 0 } },
5874 & ifmt_mwtacc, { 0x1ec0f40 }
5876 /* mwtaccg$pack $FRinti,$ACCGk */
5879 { { MNEM, OP (PACK), ' ', OP (FRINTI), ',', OP (ACCGK), 0 } },
5880 & ifmt_mwtaccg, { 0x1ec0fc0 }
5882 /* mcop1$pack $FRi,$FRj,$FRk */
5885 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5886 & ifmt_fadds, { 0x1f00000 }
5888 /* mcop2$pack $FRi,$FRj,$FRk */
5891 { { MNEM, OP (PACK), ' ', OP (FRI), ',', OP (FRJ), ',', OP (FRK), 0 } },
5892 & ifmt_fadds, { 0x1f40000 }
5897 { { MNEM, OP (PACK), 0 } },
5898 & ifmt_fnop, { 0x1e40340 }
5907 /* Formats for ALIAS macro-insns. */
5909 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
5910 #define F(f) & frv_cgen_ifld_table[FRV_##f]
5912 #define F(f) & frv_cgen_ifld_table[FRV_/**/f]
5914 static const CGEN_IFMT ifmt_nop = {
5915 32, 32, 0x7fffffff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
5918 static const CGEN_IFMT ifmt_ret = {
5919 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 } }
5922 static const CGEN_IFMT ifmt_cmp = {
5923 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 } }
5926 static const CGEN_IFMT ifmt_cmpi = {
5927 32, 32, 0x7ffc0000, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_ICCI_1) }, { F (F_S10) }, { 0 } }
5930 static const CGEN_IFMT ifmt_ccmp = {
5931 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 } }
5934 static const CGEN_IFMT ifmt_mov = {
5935 32, 32, 0x1fc0fff, { { F (F_PACK) }, { F (F_GRK) }, { F (F_OP) }, { F (F_GRI) }, { F (F_D12) }, { 0 } }
5938 static const CGEN_IFMT ifmt_cmov = {
5939 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 } }
5944 /* Each non-simple macro entry points to an array of expansion possibilities. */
5946 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
5947 #define A(a) (1 << CGEN_INSN_##a)
5949 #define A(a) (1 << CGEN_INSN_/**/a)
5951 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
5952 #define OPERAND(op) FRV_OPERAND_##op
5954 #define OPERAND(op) FRV_OPERAND_/**/op
5956 #define MNEM CGEN_SYNTAX_MNEMONIC /* syntax value for mnemonic */
5957 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
5959 /* The macro instruction table. */
5961 static const CGEN_IBASE frv_cgen_macro_insn_table[] =
5965 -1, "nop", "nop", 32,
5966 { 0|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5970 -1, "ret", "ret", 32,
5971 { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_B01, FR400_MAJOR_B_3, FR500_MAJOR_B_3, FR550_MAJOR_NONE } }
5973 /* cmp$pack $GRi,$GRj,$ICCi_1 */
5975 -1, "cmp", "cmp", 32,
5976 { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5978 /* cmpi$pack $GRi,$s10,$ICCi_1 */
5980 -1, "cmpi", "cmpi", 32,
5981 { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5983 /* ccmp$pack $GRi,$GRj,$CCi,$cond */
5985 -1, "ccmp", "ccmp", 32,
5986 { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5988 /* mov$pack $GRi,$GRk */
5990 -1, "mov", "mov", 32,
5991 { 0|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
5993 /* cmov$pack $GRi,$GRk,$CCi,$cond */
5995 -1, "cmov", "cmov", 32,
5996 { 0|A(CONDITIONAL)|A(NO_DIS)|A(ALIAS), { (1<<MACH_BASE), UNIT_IALL, FR400_MAJOR_I_1, FR500_MAJOR_I_1, FR550_MAJOR_NONE } }
6000 /* The macro instruction opcode table. */
6002 static const CGEN_OPCODE frv_cgen_macro_insn_opcode_table[] =
6007 { { MNEM, OP (PACK), 0 } },
6008 & ifmt_nop, { 0x880000 }
6013 { { MNEM, OP (PACK), 0 } },
6014 & ifmt_ret, { 0x403a4000 }
6016 /* cmp$pack $GRi,$GRj,$ICCi_1 */
6019 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (ICCI_1), 0 } },
6020 & ifmt_cmp, { 0x140 }
6022 /* cmpi$pack $GRi,$s10,$ICCi_1 */
6025 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (S10), ',', OP (ICCI_1), 0 } },
6026 & ifmt_cmpi, { 0x540000 }
6028 /* ccmp$pack $GRi,$GRj,$CCi,$cond */
6031 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRJ), ',', OP (CCI), ',', OP (COND), 0 } },
6032 & ifmt_ccmp, { 0x1640040 }
6034 /* mov$pack $GRi,$GRk */
6037 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), 0 } },
6038 & ifmt_mov, { 0x880000 }
6040 /* cmov$pack $GRi,$GRk,$CCi,$cond */
6043 { { MNEM, OP (PACK), ' ', OP (GRI), ',', OP (GRK), ',', OP (CCI), ',', OP (COND), 0 } },
6044 & ifmt_cmov, { 0x1680040 }
6053 #ifndef CGEN_ASM_HASH_P
6054 #define CGEN_ASM_HASH_P(insn) 1
6057 #ifndef CGEN_DIS_HASH_P
6058 #define CGEN_DIS_HASH_P(insn) 1
6061 /* Return non-zero if INSN is to be added to the hash table.
6062 Targets are free to override CGEN_{ASM,DIS}_HASH_P in the .opc file. */
6065 asm_hash_insn_p (insn)
6066 const CGEN_INSN *insn ATTRIBUTE_UNUSED;
6068 return CGEN_ASM_HASH_P (insn);
6072 dis_hash_insn_p (insn)
6073 const CGEN_INSN *insn;
6075 /* If building the hash table and the NO-DIS attribute is present,
6077 if (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_NO_DIS))
6079 return CGEN_DIS_HASH_P (insn);
6082 #ifndef CGEN_ASM_HASH
6083 #define CGEN_ASM_HASH_SIZE 127
6084 #ifdef CGEN_MNEMONIC_OPERANDS
6085 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE)
6087 #define CGEN_ASM_HASH(mnem) (*(unsigned char *) (mnem) % CGEN_ASM_HASH_SIZE) /*FIXME*/
6091 /* It doesn't make much sense to provide a default here,
6092 but while this is under development we do.
6093 BUFFER is a pointer to the bytes of the insn, target order.
6094 VALUE is the first base_insn_bitsize bits as an int in host order. */
6096 #ifndef CGEN_DIS_HASH
6097 #define CGEN_DIS_HASH_SIZE 256
6098 #define CGEN_DIS_HASH(buf, value) (*(unsigned char *) (buf))
6101 /* The result is the hash value of the insn.
6102 Targets are free to override CGEN_{ASM,DIS}_HASH in the .opc file. */
6105 asm_hash_insn (mnem)
6108 return CGEN_ASM_HASH (mnem);
6111 /* BUF is a pointer to the bytes of the insn, target order.
6112 VALUE is the first base_insn_bitsize bits as an int in host order. */
6115 dis_hash_insn (buf, value)
6116 const char * buf ATTRIBUTE_UNUSED;
6117 CGEN_INSN_INT value ATTRIBUTE_UNUSED;
6119 return CGEN_DIS_HASH (buf, value);
6122 static void set_fields_bitsize PARAMS ((CGEN_FIELDS *, int));
6124 /* Set the recorded length of the insn in the CGEN_FIELDS struct. */
6127 set_fields_bitsize (fields, size)
6128 CGEN_FIELDS *fields;
6131 CGEN_FIELDS_BITSIZE (fields) = size;
6134 /* Function to call before using the operand instance table.
6135 This plugs the opcode entries and macro instructions into the cpu table. */
6138 frv_cgen_init_opcode_table (cd)
6142 int num_macros = (sizeof (frv_cgen_macro_insn_table) /
6143 sizeof (frv_cgen_macro_insn_table[0]));
6144 const CGEN_IBASE *ib = & frv_cgen_macro_insn_table[0];
6145 const CGEN_OPCODE *oc = & frv_cgen_macro_insn_opcode_table[0];
6146 CGEN_INSN *insns = (CGEN_INSN *) xmalloc (num_macros * sizeof (CGEN_INSN));
6147 memset (insns, 0, num_macros * sizeof (CGEN_INSN));
6148 for (i = 0; i < num_macros; ++i)
6150 insns[i].base = &ib[i];
6151 insns[i].opcode = &oc[i];
6152 frv_cgen_build_insn_regex (& insns[i]);
6154 cd->macro_insn_table.init_entries = insns;
6155 cd->macro_insn_table.entry_size = sizeof (CGEN_IBASE);
6156 cd->macro_insn_table.num_init_entries = num_macros;
6158 oc = & frv_cgen_insn_opcode_table[0];
6159 insns = (CGEN_INSN *) cd->insn_table.init_entries;
6160 for (i = 0; i < MAX_INSNS; ++i)
6162 insns[i].opcode = &oc[i];
6163 frv_cgen_build_insn_regex (& insns[i]);
6166 cd->sizeof_fields = sizeof (CGEN_FIELDS);
6167 cd->set_fields_bitsize = set_fields_bitsize;
6169 cd->asm_hash_p = asm_hash_insn_p;
6170 cd->asm_hash = asm_hash_insn;
6171 cd->asm_hash_size = CGEN_ASM_HASH_SIZE;
6173 cd->dis_hash_p = dis_hash_insn_p;
6174 cd->dis_hash = dis_hash_insn;
6175 cd->dis_hash_size = CGEN_DIS_HASH_SIZE;