1 /* ppc-opc.c -- PowerPC opcode list
2 Copyright (C) 1994-2024 Free Software Foundation, Inc.
3 Written by Ian Lance Taylor, Cygnus Support
5 This file is part of the GNU opcodes library.
7 This library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
12 It is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this file; see the file COPYING. If not, write to the
19 Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
24 #include "opcode/ppc.h"
26 #include "libiberty.h"
28 /* This file holds the PowerPC opcode table. The opcode table
29 includes almost all of the extended instruction mnemonics. This
30 permits the disassembler to use them, and simplifies the assembler
31 logic, at the cost of increasing the table size. The table is
32 strictly constant data, so the compiler should be able to put it in
35 This file also holds the operand table. All knowledge about
36 inserting operands into instructions and vice-versa is kept in this
39 /* The functions used to insert and extract complicated operands. */
41 /* The ARX, ARY, RX and RY operands are alternate encodings of GPRs. */
44 insert_arx (uint64_t insn
,
46 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
47 const char **errmsg ATTRIBUTE_UNUSED
)
50 if (value
< 0 || value
>= 16)
52 *errmsg
= _("invalid register");
59 extract_arx (uint64_t insn
,
60 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
61 int *invalid ATTRIBUTE_UNUSED
)
63 return (insn
& 0xf) + 8;
67 insert_ary (uint64_t insn
,
69 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
70 const char **errmsg ATTRIBUTE_UNUSED
)
73 if (value
< 0 || value
>= 16)
75 *errmsg
= _("invalid register");
78 return insn
| (value
<< 4);
82 extract_ary (uint64_t insn
,
83 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
84 int *invalid ATTRIBUTE_UNUSED
)
86 return ((insn
>> 4) & 0xf) + 8;
90 insert_rx (uint64_t insn
,
92 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
95 if (value
>= 0 && value
< 8)
97 else if (value
>= 24 && value
<= 31)
101 *errmsg
= _("invalid register");
108 extract_rx (uint64_t insn
,
109 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
110 int *invalid ATTRIBUTE_UNUSED
)
112 int64_t value
= insn
& 0xf;
113 if (value
>= 0 && value
< 8)
120 insert_ry (uint64_t insn
,
122 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
125 if (value
>= 0 && value
< 8)
127 else if (value
>= 24 && value
<= 31)
131 *errmsg
= _("invalid register");
134 return insn
| (value
<< 4);
138 extract_ry (uint64_t insn
,
139 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
140 int *invalid ATTRIBUTE_UNUSED
)
142 int64_t value
= (insn
>> 4) & 0xf;
143 if (value
>= 0 && value
< 8)
149 /* The BA and BB fields in an XL form instruction or the RA and RB fields or
150 VRA and VRB fields in a VX form instruction when they must be the same.
151 This is used for extended mnemonics like crclr. The extraction function
152 enforces that the fields are the same. */
155 insert_bab (uint64_t insn
,
157 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
158 const char **errmsg ATTRIBUTE_UNUSED
)
161 return insn
| (value
<< 16) | (value
<< 11);
165 extract_bab (uint64_t insn
,
166 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
169 int64_t ba
= (insn
>> 16) & 0x1f;
170 int64_t bb
= (insn
>> 11) & 0x1f;
177 /* The BT, BA and BB fields in an XL form instruction when they must all be
178 the same. This is used for extended mnemonics like crclr. The extraction
179 function enforces that the fields are the same. */
182 insert_btab (uint64_t insn
,
188 return (value
<< 21) | insert_bab (insn
, value
, dialect
, errmsg
);
192 extract_btab (uint64_t insn
,
196 int64_t bt
= (insn
>> 21) & 0x1f;
197 int64_t bab
= extract_bab (insn
, dialect
, invalid
);
204 /* The BD field in a B form instruction when the - modifier is used.
205 This modifier means that the branch is not expected to be taken.
206 For chips built to versions of the architecture prior to version 2
207 (ie. not Power4 compatible), we set the y bit of the BO field to 1
208 if the offset is negative. When extracting, we require that the y
209 bit be 1 and that the offset be positive, since if the y bit is 0
210 we just want to print the normal form of the instruction.
211 Power4 compatible targets use two bits, "a", and "t", instead of
212 the "y" bit. "at" == 00 => no hint, "at" == 01 => unpredictable,
213 "at" == 10 => not taken, "at" == 11 => taken. The "t" bit is 00001
214 in BO field, the "a" bit is 00010 for branch on CR(BI) and 01000
215 for branch on CTR. We only handle the taken/not-taken hint here.
216 Note that we don't relax the conditions tested here when
217 disassembling with -Many because insns using extract_bdm and
218 extract_bdp always occur in pairs. One or the other will always
221 #define ISA_V2 (PPC_OPCODE_POWER4 | PPC_OPCODE_E500MC | PPC_OPCODE_TITAN)
224 insert_bdm (uint64_t insn
,
227 const char **errmsg ATTRIBUTE_UNUSED
)
229 if ((dialect
& ISA_V2
) == 0)
231 if ((value
& 0x8000) != 0)
236 if ((insn
& (0x14 << 21)) == (0x04 << 21))
238 else if ((insn
& (0x14 << 21)) == (0x10 << 21))
241 return insn
| (value
& 0xfffc);
245 extract_bdm (uint64_t insn
,
249 if ((dialect
& ISA_V2
) == 0)
251 if (((insn
& (1 << 21)) == 0) != ((insn
& (1 << 15)) == 0))
256 if ((insn
& (0x17 << 21)) != (0x06 << 21)
257 && (insn
& (0x1d << 21)) != (0x18 << 21))
261 return ((insn
& 0xfffc) ^ 0x8000) - 0x8000;
264 /* The BD field in a B form instruction when the + modifier is used.
265 This is like BDM, above, except that the branch is expected to be
269 insert_bdp (uint64_t insn
,
272 const char **errmsg ATTRIBUTE_UNUSED
)
274 if ((dialect
& ISA_V2
) == 0)
276 if ((value
& 0x8000) == 0)
281 if ((insn
& (0x14 << 21)) == (0x04 << 21))
283 else if ((insn
& (0x14 << 21)) == (0x10 << 21))
286 return insn
| (value
& 0xfffc);
290 extract_bdp (uint64_t insn
,
294 if ((dialect
& ISA_V2
) == 0)
296 if (((insn
& (1 << 21)) == 0) == ((insn
& (1 << 15)) == 0))
301 if ((insn
& (0x17 << 21)) != (0x07 << 21)
302 && (insn
& (0x1d << 21)) != (0x19 << 21))
306 return ((insn
& 0xfffc) ^ 0x8000) - 0x8000;
310 valid_bo_pre_v2 (int64_t value
)
312 /* Certain encodings have bits that are required to be zero.
313 These are (z must be zero, y may be anything):
324 if ((value
& 0x14) == 0)
325 /* BO: 0000y, 0001y, 0100y, 0101y. */
327 else if ((value
& 0x14) == 0x4)
328 /* BO: 001zy, 011zy. */
329 return (value
& 0x2) == 0;
330 else if ((value
& 0x14) == 0x10)
331 /* BO: 1z00y, 1z01y. */
332 return (value
& 0x8) == 0;
335 return value
== 0x14;
339 valid_bo_post_v2 (int64_t value
)
341 /* Certain encodings have bits that are required to be zero.
342 These are (z must be zero, a & t may be anything):
353 if ((value
& 0x14) == 0)
354 /* BO: 0000z, 0001z, 0100z, 0101z. */
355 return (value
& 0x1) == 0;
356 else if ((value
& 0x14) == 0x14)
358 return value
== 0x14;
359 else if ((value
& 0x14) == 0x4)
360 /* BO: 001at, 011at, with "at" == 0b01 being reserved. */
361 return (value
& 0x3) != 1;
362 else if ((value
& 0x14) == 0x10)
363 /* BO: 1a00t, 1a01t, with "at" == 0b01 being reserved. */
364 return (value
& 0x9) != 1;
369 /* Check for legal values of a BO field. */
372 valid_bo (int64_t value
, ppc_cpu_t dialect
, int extract
)
374 int valid_y
= valid_bo_pre_v2 (value
);
375 int valid_at
= valid_bo_post_v2 (value
);
377 /* When disassembling with -Many, accept either encoding on the
378 second pass through opcodes. */
379 if (extract
&& dialect
== ~(ppc_cpu_t
) PPC_OPCODE_ANY
)
380 return valid_y
|| valid_at
;
381 if ((dialect
& ISA_V2
) == 0)
387 /* The BO field in a B form instruction. Warn about attempts to set
388 the field to an illegal value. */
391 insert_bo (uint64_t insn
,
396 if (!valid_bo (value
, dialect
, 0))
397 *errmsg
= _("invalid conditional option");
398 else if (PPC_OP (insn
) == 19
399 && (((insn
>> 1) & 0x3ff) == 528) && ! (value
& 4))
400 *errmsg
= _("invalid counter access");
401 return insn
| ((value
& 0x1f) << 21);
405 extract_bo (uint64_t insn
,
409 int64_t value
= (insn
>> 21) & 0x1f;
410 if (!valid_bo (value
, dialect
, 1))
415 /* For the given BO value, return a bit mask detailing which bits
416 define the branch hints. */
419 get_bo_hint_mask (int64_t bo
, ppc_cpu_t dialect
)
421 if ((dialect
& ISA_V2
) == 0)
423 if ((bo
& 0x14) != 0x14)
424 /* BO: 0000y, 0001y, 001zy, 0100y, 0101y, 011zy, 1z00y, 1z01y . */
432 if ((bo
& 0x14) == 0x4)
433 /* BO: 001at, 011at. */
435 else if ((bo
& 0x14) == 0x10)
436 /* BO: 1a00t, 1a01t. */
439 /* BO: 0000z, 0001z, 0100z, 0101z, 1z1zz. */
444 /* The BO field in a B form instruction when the + or - modifier is used. */
447 insert_boe (uint64_t insn
,
453 int64_t implied_hint
;
454 int64_t hint_mask
= get_bo_hint_mask (value
, dialect
);
457 implied_hint
= hint_mask
;
459 implied_hint
= hint_mask
& ~1;
461 /* The branch hint bit(s) in the BO field must either be zero or exactly
462 match the branch hint bits implied by the '+' or '-' modifier. */
463 if (implied_hint
== 0)
464 *errmsg
= _("BO value implies no branch hint, when using + or - modifier");
465 else if ((value
& hint_mask
) != 0
466 && (value
& hint_mask
) != implied_hint
)
468 if ((dialect
& ISA_V2
) == 0)
469 *errmsg
= _("attempt to set y bit when using + or - modifier");
471 *errmsg
= _("attempt to set 'at' bits when using + or - modifier");
474 value
|= implied_hint
;
476 return insert_bo (insn
, value
, dialect
, errmsg
);
480 extract_boe (uint64_t insn
,
485 int64_t value
= (insn
>> 21) & 0x1f;
486 int64_t implied_hint
;
487 int64_t hint_mask
= get_bo_hint_mask (value
, dialect
);
490 implied_hint
= hint_mask
;
492 implied_hint
= hint_mask
& ~1;
494 if (!valid_bo (value
, dialect
, 1)
496 || (value
& hint_mask
) != implied_hint
)
501 /* The BO field in a B form instruction when the - modifier is used. */
504 insert_bom (uint64_t insn
,
509 return insert_boe (insn
, value
, dialect
, errmsg
, 0);
513 extract_bom (uint64_t insn
,
517 return extract_boe (insn
, dialect
, invalid
, 0);
520 /* The BO field in a B form instruction when the + modifier is used. */
523 insert_bop (uint64_t insn
,
528 return insert_boe (insn
, value
, dialect
, errmsg
, 1);
532 extract_bop (uint64_t insn
,
536 return extract_boe (insn
, dialect
, invalid
, 1);
539 /* The DCMX field in a X form instruction when the field is split
540 into separate DC, DM and DX fields. */
543 insert_dcmxs (uint64_t insn
,
545 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
546 const char **errmsg ATTRIBUTE_UNUSED
)
549 | ((value
& 0x1f) << 16)
550 | ((value
& 0x20) >> 3)
555 extract_dcmxs (uint64_t insn
,
556 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
557 int *invalid ATTRIBUTE_UNUSED
)
559 return (insn
& 0x40) | ((insn
<< 3) & 0x20) | ((insn
>> 16) & 0x1f);
562 /* The DW field in a X form instruction when the field is split
563 into separate D and DX fields. */
566 insert_dw (uint64_t insn
,
568 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
569 const char **errmsg ATTRIBUTE_UNUSED
)
571 /* DW offsets must be in the range [-512, -8] and be a multiple of 8. */
574 || (value
& 0x7) != 0)
575 *errmsg
= _("invalid offset: must be in the range [-512, -8] "
576 "and be a multiple of 8");
578 return insn
| ((value
& 0xf8) << 18) | ((value
>> 8) & 1);
582 extract_dw (uint64_t insn
,
583 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
584 int *invalid ATTRIBUTE_UNUSED
)
586 int64_t dw
= ((insn
& 1) << 8) | ((insn
>> 18) & 0xf8);
590 /* The D field in a DX form instruction when the field is split
591 into separate D0, D1 and D2 fields. */
594 insert_dxd (uint64_t insn
,
596 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
597 const char **errmsg ATTRIBUTE_UNUSED
)
599 return insn
| (value
& 0xffc1) | ((value
& 0x3e) << 15);
603 extract_dxd (uint64_t insn
,
604 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
605 int *invalid ATTRIBUTE_UNUSED
)
607 uint64_t dxd
= (insn
& 0xffc1) | ((insn
>> 15) & 0x3e);
608 return (dxd
^ 0x8000) - 0x8000;
612 insert_dxdn (uint64_t insn
,
614 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
615 const char **errmsg ATTRIBUTE_UNUSED
)
617 return insert_dxd (insn
, -value
, dialect
, errmsg
);
621 extract_dxdn (uint64_t insn
,
622 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
625 return -extract_dxd (insn
, dialect
, invalid
);
628 /* The D field in a 64-bit D form prefix instruction when the field is split
629 into separate D0 and D1 fields. */
632 insert_d34 (uint64_t insn
,
634 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
635 const char **errmsg ATTRIBUTE_UNUSED
)
637 return insn
| ((value
& 0x3ffff0000ULL
) << 16) | (value
& 0xffff);
641 extract_d34 (uint64_t insn
,
642 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
643 int *invalid ATTRIBUTE_UNUSED
)
645 int64_t mask
= 1ULL << 33;
646 int64_t value
= ((insn
>> 16) & 0x3ffff0000ULL
) | (insn
& 0xffff);
647 value
= (value
^ mask
) - mask
;
651 /* The NSI34 field in an 8-byte D form prefix instruction. This is the same
652 as the SI34 field, only negated. The extraction function always marks it
653 as invalid, since we never want to recognize an instruction which uses
654 a field of this type. */
657 insert_nsi34 (uint64_t insn
,
662 return insert_d34 (insn
, -value
, dialect
, errmsg
);
666 extract_nsi34 (uint64_t insn
,
670 int64_t value
= extract_d34 (insn
, dialect
, invalid
);
675 /* The split IMM32 field in a vector splat insn. */
678 insert_imm32 (uint64_t insn
,
680 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
681 const char **errmsg ATTRIBUTE_UNUSED
)
683 return insn
| ((value
& 0xffff0000) << 16) | (value
& 0xffff);
687 extract_imm32 (uint64_t insn
,
688 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
689 int *invalid ATTRIBUTE_UNUSED
)
691 return (insn
& 0xffff) | ((insn
>> 16) & 0xffff0000);
694 /* The R field in an 8-byte prefix instruction when there are restrictions
695 between R's value and the RA value (ie, they cannot both be non zero). */
698 insert_pcrel (uint64_t insn
,
700 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
704 int64_t ra
= (insn
>> 16) & 0x1f;
705 if (ra
!= 0 && value
!= 0)
706 *errmsg
= _("invalid R operand");
708 return insn
| (value
<< 52);
712 extract_pcrel (uint64_t insn
,
713 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
716 /* If called with *invalid < 0 to return the value for missing
717 operands, *invalid will be the negative count of missing operands
718 including this one. Return a default value of 1 if the PRA0/PRAQ
719 operand was also omitted (ie. *invalid is -2). Return a default
720 value of 0 if the PRA0/PRAQ operand was not omitted
721 (ie. *invalid is -1). */
723 return ~ *invalid
& 1;
725 int64_t ra
= (insn
>> 16) & 0x1f;
726 int64_t pcrel
= (insn
>> 52) & 0x1;
727 if (ra
!= 0 && pcrel
!= 0)
733 /* Variant of extract_pcrel that sets invalid for R bit clear. Used
734 to disassemble "paddi rt,0,offset,1" as "pla rt,offset". */
737 extract_pcrel1 (uint64_t insn
,
741 int64_t pcrel
= extract_pcrel (insn
, dialect
, invalid
);
747 /* FXM mask in mfcr and mtcrf instructions. */
750 insert_fxm (uint64_t insn
,
755 /* If we're handling the mfocrf and mtocrf insns ensure that exactly
756 one bit of the mask field is set. */
757 if ((insn
& (1 << 20)) != 0)
759 if (value
== 0 || (value
& -value
) != value
)
761 *errmsg
= _("invalid mask field");
766 /* If only one bit of the FXM field is set, we can use the new form
767 of the instruction, which is faster. Unlike the Power4 branch hint
768 encoding, this is not backward compatible. Do not generate the
769 new form unless -mpower4 has been given, or -many and the two
770 operand form of mfcr was used. */
772 && (value
& -value
) == value
773 && ((dialect
& PPC_OPCODE_POWER4
) != 0
774 || ((dialect
& PPC_OPCODE_ANY
) != 0
775 && (insn
& (0x3ff << 1)) == 19 << 1)))
778 /* Any other value on mfcr is an error. */
779 else if ((insn
& (0x3ff << 1)) == 19 << 1)
781 /* A value of -1 means we used the one operand form of
782 mfcr which is valid. */
784 *errmsg
= _("invalid mfcr mask");
788 return insn
| ((value
& 0xff) << 12);
792 extract_fxm (uint64_t insn
,
793 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
796 /* Return a value of -1 for a missing optional operand, which is
797 used as a flag by insert_fxm. */
801 int64_t mask
= (insn
>> 12) & 0xff;
802 /* Is this a Power4 insn? */
803 if ((insn
& (1 << 20)) != 0)
805 /* Exactly one bit of MASK should be set. */
806 if (mask
== 0 || (mask
& -mask
) != mask
)
810 /* Check that non-power4 form of mfcr has a zero MASK. */
811 else if ((insn
& (0x3ff << 1)) == 19 << 1)
822 /* L field in the paste. instruction. */
825 insert_l1opt (uint64_t insn
,
827 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
828 const char **errmsg ATTRIBUTE_UNUSED
)
830 return insn
| ((value
& 1) << 21);
834 extract_l1opt (uint64_t insn
,
835 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
838 /* Return a value of 1 for a missing optional operand. */
842 return (insn
>> 21) & 1;
846 insert_li20 (uint64_t insn
,
848 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
849 const char **errmsg ATTRIBUTE_UNUSED
)
852 | ((value
& 0xf0000) >> 5)
853 | ((value
& 0x0f800) << 5)
858 extract_li20 (uint64_t insn
,
859 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
860 int *invalid ATTRIBUTE_UNUSED
)
862 return ((((insn
<< 5) & 0xf0000)
863 | ((insn
>> 5) & 0xf800)
864 | (insn
& 0x7ff)) ^ 0x80000) - 0x80000;
867 /* The 2-bit/3-bit L or 2-bit WC field in a SYNC, DCBF or WAIT instruction.
868 For SYNC, some L values are reserved:
869 * Values 6 and 7 are reserved on newer server cpus.
870 * Value 3 is reserved on all server cpus.
871 * Value 2 is reserved on all other cpus.
872 For DCBF, some L values are reserved:
873 * Values 2, 5 and 7 are reserved on all cpus.
874 For WAIT, some WC values are reserved:
875 * Value 3 is reserved on all server cpus.
876 * Values 1 and 2 are reserved on older server cpus. */
879 insert_ls (uint64_t insn
,
886 if (((insn
>> 1) & 0x3ff) == 598)
888 /* For SYNC, some L values are illegal. */
889 mask
= (dialect
& PPC_OPCODE_POWER10
) ? 0x7 : 0x3;
891 /* If the value is within range, check for other illegal values. */
892 if ((value
& mask
) == value
)
896 if (dialect
& PPC_OPCODE_POWER4
)
902 *errmsg
= _("illegal L operand value");
908 else if (((insn
>> 1) & 0x3ff) == 86)
910 /* For DCBF, some L values are illegal. */
911 mask
= (dialect
& PPC_OPCODE_POWER10
) ? 0x7 : 0x3;
913 /* If the value is within range, check for other illegal values. */
914 if ((value
& mask
) == value
)
920 *errmsg
= _("illegal L operand value");
928 /* For WAIT, some WC values are illegal. */
931 /* If the value is within range, check for other illegal values. */
932 if ((dialect
& PPC_OPCODE_A2
) == 0
933 && (dialect
& PPC_OPCODE_E500MC
) == 0
934 && (value
& mask
) == value
)
939 if (dialect
& PPC_OPCODE_POWER10
)
943 *errmsg
= _("illegal WC operand value");
950 return insn
| ((value
& mask
) << 21);
954 extract_ls (uint64_t insn
,
960 /* Missing optional operands have a value of zero. */
964 if (((insn
>> 1) & 0x3ff) == 598)
966 /* For SYNC, some L values are illegal. */
967 int64_t mask
= (dialect
& PPC_OPCODE_POWER10
) ? 0x7 : 0x3;
969 value
= (insn
>> 21) & mask
;
973 if (dialect
& PPC_OPCODE_POWER4
)
985 else if (((insn
>> 1) & 0x3ff) == 86)
987 /* For DCBF, some L values are illegal. */
988 int64_t mask
= (dialect
& PPC_OPCODE_POWER10
) ? 0x7 : 0x3;
990 value
= (insn
>> 21) & mask
;
1004 /* For WAIT, some WC values are illegal. */
1005 value
= (insn
>> 21) & 0x3;
1006 if ((dialect
& PPC_OPCODE_A2
) == 0
1007 && (dialect
& PPC_OPCODE_E500MC
) == 0)
1012 if (dialect
& PPC_OPCODE_POWER10
)
1026 /* The 4-bit E field in a sync instruction that accepts 2 operands.
1027 If ESYNC is non-zero, then the L field must be either 0 or 1 and
1028 the complement of ESYNC-bit2. */
1031 insert_esync (uint64_t insn
,
1033 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1034 const char **errmsg
)
1036 uint64_t ls
= (insn
>> 21) & 0x03;
1039 && ((~value
>> 1) & 0x1) != ls
)
1040 *errmsg
= _("incompatible L operand value");
1042 return insn
| ((value
& 0xf) << 16);
1046 extract_esync (uint64_t insn
,
1047 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1050 /* Missing optional operands have a value of zero. */
1054 uint64_t ls
= (insn
>> 21) & 0x3;
1055 uint64_t value
= (insn
>> 16) & 0xf;
1057 && ((~value
>> 1) & 0x1) != ls
)
1062 /* The n operand of clrrwi, which sets the ME field to 31 - n. */
1065 insert_crwn (uint64_t insn
,
1067 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1068 const char **errmsg ATTRIBUTE_UNUSED
)
1070 return insn
| ((~value
& 0x1f) << 1);
1074 extract_crwn (uint64_t insn
,
1075 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1076 int *invalid ATTRIBUTE_UNUSED
)
1078 return ~(insn
>> 1) & 0x1f;
1081 /* The n operand of extlwi, which sets the ME field to n - 1. */
1084 insert_elwn (uint64_t insn
,
1086 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1087 const char **errmsg ATTRIBUTE_UNUSED
)
1089 return insn
| (((value
- 1) & 0x1f) << 1);
1093 extract_elwn (uint64_t insn
,
1094 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1095 int *invalid ATTRIBUTE_UNUSED
)
1097 return ((insn
>> 1) & 0x1f) + 1;
1100 /* The n operand of extrwi, sets MB = 32 - n. */
1103 insert_erwn (uint64_t insn
,
1105 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1106 const char **errmsg ATTRIBUTE_UNUSED
)
1108 return insn
| ((-value
& 0x1f) << 6);
1112 extract_erwn (uint64_t insn
,
1113 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1114 int *invalid ATTRIBUTE_UNUSED
)
1116 return (~(insn
>> 6) & 0x1f) + 1;
1119 /* The b operand of extrwi, sets SH = b + n. */
1122 insert_erwb (uint64_t insn
,
1125 const char **errmsg ATTRIBUTE_UNUSED
)
1127 int64_t n
= extract_erwn (insn
, dialect
, NULL
);
1128 return insn
| (((n
+ value
) & 0x1f) << 11);
1132 extract_erwb (uint64_t insn
,
1134 int *invalid ATTRIBUTE_UNUSED
)
1136 int64_t n
= extract_erwn (insn
, dialect
, NULL
);
1137 return ((insn
>> 11) - n
) & 0x1f;
1140 /* The n and b operands of clrlslwi. */
1143 insert_cslwn (uint64_t insn
,
1145 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1146 const char **errmsg ATTRIBUTE_UNUSED
)
1148 uint64_t mb
= 0x1f << 6;
1149 int64_t b
= (insn
>> 6) & 0x1f;
1150 return ((insn
& ~mb
) | ((value
& 0x1f) << 11) | (((b
- value
) & 0x1f) << 6)
1151 | ((~value
& 0x1f) << 1));
1155 extract_cslwb (uint64_t insn
,
1156 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1159 int64_t sh
= (insn
>> 11) & 0x1f;
1160 int64_t mb
= (insn
>> 6) & 0x1f;
1161 int64_t me
= (insn
>> 1) & 0x1f;
1164 return (mb
+ sh
) & 0x1f;
1167 /* The n and b operands of inslwi. */
1170 insert_ilwb (uint64_t insn
,
1172 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1173 const char **errmsg ATTRIBUTE_UNUSED
)
1175 uint64_t me
= 0x1f << 1;
1176 int64_t n
= (insn
>> 1) & 0x1f;
1177 return ((insn
& ~me
) | ((-value
& 0x1f) << 11) | ((value
& 0x1f) << 6)
1178 | (((value
+ n
- 1) & 0x1f) << 1));
1182 extract_ilwn (uint64_t insn
,
1183 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1186 int64_t sh
= (insn
>> 11) & 0x1f;
1187 int64_t mb
= (insn
>> 6) & 0x1f;
1188 int64_t me
= (insn
>> 1) & 0x1f;
1189 if (((sh
+ mb
) & 0x1f) != 0)
1191 return ((me
- mb
) & 0x1f) + 1;
1194 /* The n and b operands of insrwi. */
1197 insert_irwb (uint64_t insn
,
1199 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1200 const char **errmsg ATTRIBUTE_UNUSED
)
1202 uint64_t me
= 0x1f << 1;
1203 int64_t n
= (insn
>> 1) & 0x1f;
1204 return ((insn
& ~me
) | ((-(value
+ n
) & 0x1f) << 11) | ((value
& 0x1f) << 6)
1205 | (((value
+ n
- 1) & 0x1f) << 1));
1209 extract_irwn (uint64_t insn
,
1210 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1213 int64_t sh
= (insn
>> 11) & 0x1f;
1214 int64_t mb
= (insn
>> 6) & 0x1f;
1215 int64_t me
= (insn
>> 1) & 0x1f;
1216 if (((sh
+ me
+ 1) & 0x1f) != 0)
1218 return ((me
- mb
) & 0x1f) + 1;
1221 /* The MB and ME fields in an M form instruction expressed as a single
1222 operand which is itself a bitmask. The extraction function always
1223 marks it as invalid, since we never want to recognize an
1224 instruction which uses a field of this type. */
1227 insert_mbe (uint64_t insn
,
1229 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1230 const char **errmsg
)
1232 uint64_t uval
, mask
;
1233 long mb
, me
, mx
, count
, last
;
1239 *errmsg
= _("illegal bitmask");
1245 if ((uval
& 1) != 0)
1251 /* mb: location of last 0->1 transition */
1252 /* me: location of last 1->0 transition */
1253 /* count: # transitions */
1255 for (mx
= 0, mask
= (uint64_t) 1 << 31; mx
< 32; ++mx
, mask
>>= 1)
1257 if ((uval
& mask
) && !last
)
1263 else if (!(uval
& mask
) && last
)
1273 if (count
!= 2 && (count
!= 0 || ! last
))
1274 *errmsg
= _("illegal bitmask");
1276 return insn
| (mb
<< 6) | ((me
- 1) << 1);
1280 extract_mbe (uint64_t insn
,
1281 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1290 mb
= (insn
>> 6) & 0x1f;
1291 me
= (insn
>> 1) & 0x1f;
1295 for (i
= mb
; i
<= me
; i
++)
1296 ret
|= (uint64_t) 1 << (31 - i
);
1298 else if (mb
== me
+ 1)
1300 else /* (mb > me + 1) */
1303 for (i
= me
+ 1; i
< mb
; i
++)
1304 ret
&= ~((uint64_t) 1 << (31 - i
));
1309 /* The MB or ME field in an MD or MDS form instruction. The high bit
1310 is wrapped to the low end. */
1313 insert_mb6 (uint64_t insn
,
1315 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1316 const char **errmsg ATTRIBUTE_UNUSED
)
1318 return insn
| ((value
& 0x1f) << 6) | (value
& 0x20);
1322 extract_mb6 (uint64_t insn
,
1323 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1324 int *invalid ATTRIBUTE_UNUSED
)
1326 return ((insn
>> 6) & 0x1f) | (insn
& 0x20);
1329 /* The n operand of extrdi, which sets MB field. */
1332 insert_erdn (uint64_t insn
,
1335 const char **errmsg
)
1337 return insert_mb6 (insn
, -value
, dialect
, errmsg
);
1341 extract_erdn (uint64_t insn
,
1345 return (~extract_mb6 (insn
, dialect
, invalid
) & 63) + 1;
1348 /* The n operand of extldi, which sets ME field. */
1351 insert_eldn (uint64_t insn
,
1354 const char **errmsg
)
1356 return insert_mb6 (insn
, value
- 1, dialect
, errmsg
);
1360 extract_eldn (uint64_t insn
,
1364 return extract_mb6 (insn
, dialect
, invalid
) + 1;
1367 /* The n operand of clrrdi, which set ME field. */
1370 insert_crdn (uint64_t insn
,
1373 const char **errmsg
)
1375 return insert_mb6 (insn
, 63 - value
, dialect
, errmsg
);
1379 extract_crdn (uint64_t insn
,
1383 return 63 - extract_mb6 (insn
, dialect
, invalid
);
1386 /* The NB field in an X form instruction. The value 32 is stored as
1390 extract_nb (uint64_t insn
,
1391 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1392 int *invalid ATTRIBUTE_UNUSED
)
1396 ret
= (insn
>> 11) & 0x1f;
1402 /* The NB field in an lswi instruction, which has special value
1403 restrictions. The value 32 is stored as 0. */
1406 insert_nbi (uint64_t insn
,
1408 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1409 const char **errmsg ATTRIBUTE_UNUSED
)
1411 int64_t rtvalue
= (insn
>> 21) & 0x1f;
1412 int64_t ravalue
= (insn
>> 16) & 0x1f;
1416 if (rtvalue
+ (value
+ 3) / 4 > (rtvalue
> ravalue
? ravalue
+ 32
1418 *errmsg
= _("address register in load range");
1419 return insn
| ((value
& 0x1f) << 11);
1422 /* The NSI field in a D form instruction. This is the same as the SI
1423 field, only negated. The extraction function always marks it as
1424 invalid, since we never want to recognize an instruction which uses
1425 a field of this type. */
1428 insert_nsi (uint64_t insn
,
1430 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1431 const char **errmsg ATTRIBUTE_UNUSED
)
1433 return insn
| (-value
& 0xffff);
1437 extract_nsi (uint64_t insn
,
1438 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1442 return -(((insn
& 0xffff) ^ 0x8000) - 0x8000);
1445 /* The 2-bit SC field in a SYNC or PL field in a WAIT instruction.
1446 For WAIT, some PL values are reserved:
1447 * Values 1, 2 and 3 are reserved. */
1450 insert_pl (uint64_t insn
,
1452 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1453 const char **errmsg
)
1455 /* For WAIT, some PL values are illegal. */
1456 if (((insn
>> 1) & 0x3ff) == 30
1458 *errmsg
= _("illegal PL operand value");
1459 return insn
| ((value
& 0x3) << 16);
1463 extract_pl (uint64_t insn
,
1464 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1467 /* Missing optional operands have a value of zero. */
1471 uint64_t value
= (insn
>> 16) & 0x3;
1473 /* For WAIT, some PL values are illegal. */
1474 if (((insn
>> 1) & 0x3ff) == 30
1480 /* The 2-bit P field in a MMA XX2-form instruction. This is split. */
1483 insert_p2 (uint64_t insn
,
1485 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1486 const char **errmsg ATTRIBUTE_UNUSED
)
1488 return insn
| ((value
& 0x2) << 15) | ((value
& 0x1) << 11);
1492 extract_p2 (uint64_t insn
,
1493 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1494 int *invalid ATTRIBUTE_UNUSED
)
1496 uint64_t value
= ((insn
>> 15) & 0x2) | ((insn
>> 11) & 0x1);
1500 /* The RA field in a D or X form instruction which is an updating
1501 load, which means that the RA field may not be zero and may not
1502 equal the RT field. */
1505 insert_ral (uint64_t insn
,
1507 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1508 const char **errmsg
)
1511 || (uint64_t) value
== ((insn
>> 21) & 0x1f))
1512 *errmsg
= "invalid register operand when updating";
1513 return insn
| ((value
& 0x1f) << 16);
1517 extract_ral (uint64_t insn
,
1518 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1521 int64_t rtvalue
= (insn
>> 21) & 0x1f;
1522 int64_t ravalue
= (insn
>> 16) & 0x1f;
1524 if (rtvalue
== ravalue
|| ravalue
== 0)
1529 /* The RA field in an lmw instruction, which has special value
1533 insert_ram (uint64_t insn
,
1535 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1536 const char **errmsg
)
1538 if ((uint64_t) value
>= ((insn
>> 21) & 0x1f))
1539 *errmsg
= _("index register in load range");
1540 return insn
| ((value
& 0x1f) << 16);
1544 extract_ram (uint64_t insn
,
1545 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1548 uint64_t rtvalue
= (insn
>> 21) & 0x1f;
1549 uint64_t ravalue
= (insn
>> 16) & 0x1f;
1551 if (ravalue
>= rtvalue
)
1556 /* The RA field in the DQ form lq or an lswx instruction, which have special
1557 value restrictions. */
1560 insert_raq (uint64_t insn
,
1562 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1563 const char **errmsg
)
1565 int64_t rtvalue
= (insn
>> 21) & 0x1f;
1567 if (value
== rtvalue
)
1568 *errmsg
= _("source and target register operands must be different");
1569 return insn
| ((value
& 0x1f) << 16);
1573 extract_raq (uint64_t insn
,
1574 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1577 /* Missing optional operands have a value of zero. */
1581 uint64_t rtvalue
= (insn
>> 21) & 0x1f;
1582 uint64_t ravalue
= (insn
>> 16) & 0x1f;
1583 if (ravalue
== rtvalue
)
1588 /* The RA field in a D or X form instruction which is an updating
1589 store or an updating floating point load, which means that the RA
1590 field may not be zero. */
1593 insert_ras (uint64_t insn
,
1595 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1596 const char **errmsg
)
1599 *errmsg
= _("invalid register operand when updating");
1600 return insn
| ((value
& 0x1f) << 16);
1604 extract_ras (uint64_t insn
,
1605 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1608 uint64_t ravalue
= (insn
>> 16) & 0x1f;
1615 /* The RS and RB fields in an X form instruction when they must be the same.
1616 This is used for extended mnemonics like mr. The extraction function
1617 enforces that the fields are the same. */
1620 insert_rsb (uint64_t insn
,
1622 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1623 const char **errmsg ATTRIBUTE_UNUSED
)
1626 return insn
| (value
<< 21) | (value
<< 11);
1630 extract_rsb (uint64_t insn
,
1631 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1634 int64_t rs
= (insn
>> 21) & 0x1f;
1635 int64_t rb
= (insn
>> 11) & 0x1f;
1642 /* The RB field in an lswx instruction, which has special value
1646 insert_rbx (uint64_t insn
,
1648 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1649 const char **errmsg
)
1651 int64_t rtvalue
= (insn
>> 21) & 0x1f;
1653 if (value
== rtvalue
)
1654 *errmsg
= _("source and target register operands must be different");
1655 return insn
| ((value
& 0x1f) << 11);
1659 extract_rbx (uint64_t insn
,
1660 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1663 uint64_t rtvalue
= (insn
>> 21) & 0x1f;
1664 uint64_t rbvalue
= (insn
>> 11) & 0x1f;
1666 if (rbvalue
== rtvalue
)
1671 /* The SCI8 field is made up of SCL and {U,N}I8 fields. */
1673 insert_sci8 (uint64_t insn
,
1675 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1676 const char **errmsg
)
1678 uint64_t fill_scale
= 0;
1679 uint64_t ui8
= value
;
1681 if ((ui8
& 0xffffff00) == 0)
1683 else if ((ui8
& 0xffffff00) == 0xffffff00)
1685 else if ((ui8
& 0xffff00ff) == 0)
1687 fill_scale
= 1 << 8;
1690 else if ((ui8
& 0xffff00ff) == 0xffff00ff)
1692 fill_scale
= 0x400 | (1 << 8);
1695 else if ((ui8
& 0xff00ffff) == 0)
1697 fill_scale
= 2 << 8;
1700 else if ((ui8
& 0xff00ffff) == 0xff00ffff)
1702 fill_scale
= 0x400 | (2 << 8);
1705 else if ((ui8
& 0x00ffffff) == 0)
1707 fill_scale
= 3 << 8;
1710 else if ((ui8
& 0x00ffffff) == 0x00ffffff)
1712 fill_scale
= 0x400 | (3 << 8);
1717 *errmsg
= _("illegal immediate value");
1721 return insn
| fill_scale
| (ui8
& 0xff);
1725 extract_sci8 (uint64_t insn
,
1726 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1727 int *invalid ATTRIBUTE_UNUSED
)
1729 int64_t fill
= insn
& 0x400;
1730 int64_t scale_factor
= (insn
& 0x300) >> 5;
1731 int64_t value
= (insn
& 0xff) << scale_factor
;
1734 value
|= ~((int64_t) 0xff << scale_factor
);
1739 insert_sci8n (uint64_t insn
,
1742 const char **errmsg
)
1744 return insert_sci8 (insn
, -value
, dialect
, errmsg
);
1748 extract_sci8n (uint64_t insn
,
1752 return -extract_sci8 (insn
, dialect
, invalid
);
1756 insert_oimm (uint64_t insn
,
1758 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1759 const char **errmsg ATTRIBUTE_UNUSED
)
1761 return insn
| (((value
- 1) & 0x1f) << 4);
1765 extract_oimm (uint64_t insn
,
1766 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1767 int *invalid ATTRIBUTE_UNUSED
)
1769 return ((insn
>> 4) & 0x1f) + 1;
1772 /* The n operand of rotrwi, sets SH = 32 - n. */
1775 insert_rrwn (uint64_t insn
,
1777 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1778 const char **errmsg ATTRIBUTE_UNUSED
)
1780 return insn
| ((-value
& 0x1f) << 11);
1784 extract_rrwn (uint64_t insn
,
1785 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1786 int *invalid ATTRIBUTE_UNUSED
)
1788 return 31 & -(insn
>> 11);
1791 /* The n operand of slwi, sets SH = n and ME = 31 - n. */
1794 insert_slwn (uint64_t insn
,
1796 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1797 const char **errmsg ATTRIBUTE_UNUSED
)
1799 return insn
| ((value
& 0x1f) << 11) | ((~value
& 0x1f) << 1);
1803 extract_slwn (uint64_t insn
,
1804 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1807 int64_t sh
= (insn
>> 11) & 0x1f;
1808 int64_t nme
= ~(insn
>> 1) & 0x1f;
1814 /* The n operand of srwi, sets SH = 32 - n and MB = n. */
1817 insert_srwn (uint64_t insn
,
1819 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1820 const char **errmsg ATTRIBUTE_UNUSED
)
1822 return insn
| ((-value
& 0x1f) << 11) | ((value
& 0x1f) << 6);
1826 extract_srwn (uint64_t insn
,
1827 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1830 int64_t nsh
= -(insn
>> 11) & 0x1f;
1831 int64_t mb
= (insn
>> 6) & 0x1f;
1837 /* The SH field in an MD form instruction. This is split. */
1840 insert_sh6 (uint64_t insn
,
1842 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1843 const char **errmsg ATTRIBUTE_UNUSED
)
1845 return insn
| ((value
& 0x1f) << 11) | ((value
& 0x20) >> 4);
1849 extract_sh6 (uint64_t insn
,
1850 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
1851 int *invalid ATTRIBUTE_UNUSED
)
1853 return ((insn
>> 11) & 0x1f) | ((insn
<< 4) & 0x20);
1856 /* The n operand of rotrdi, which writes to SH field. */
1859 insert_rrdn (uint64_t insn
,
1862 const char **errmsg
)
1864 return insert_sh6 (insn
, -value
, dialect
, errmsg
);
1868 extract_rrdn (uint64_t insn
,
1872 return -extract_sh6 (insn
, dialect
, invalid
) & 63;
1875 /* The n operand of sldi, which writes to SH and ME fields. */
1878 insert_sldn (uint64_t insn
,
1881 const char **errmsg
)
1883 insn
= insert_sh6 (insn
, value
, dialect
, errmsg
);
1884 return insert_crdn (insn
, value
, dialect
, errmsg
);
1888 extract_sldn (uint64_t insn
,
1892 int64_t sh
= extract_sh6 (insn
, dialect
, invalid
);
1893 int64_t me
= extract_crdn (insn
, dialect
, invalid
);
1899 /* The n operand of srdi, which writes to SH and MB fields. */
1902 insert_srdn (uint64_t insn
,
1905 const char **errmsg
)
1907 insn
= insert_rrdn (insn
, value
, dialect
, errmsg
);
1908 return insert_mb6 (insn
, value
, dialect
, errmsg
);
1912 extract_srdn (uint64_t insn
,
1916 int64_t sh
= extract_rrdn (insn
, dialect
, invalid
);
1917 int64_t mb
= extract_mb6 (insn
, dialect
, invalid
);
1923 /* The b operand of extrdi, which sets SH field. */
1926 insert_erdb (uint64_t insn
,
1929 const char **errmsg
)
1931 int64_t n
= extract_erdn (insn
, dialect
, NULL
);
1932 return insert_sh6 (insn
, value
+ n
, dialect
, errmsg
);
1936 extract_erdb (uint64_t insn
,
1940 int64_t sh
= extract_sh6 (insn
, dialect
, invalid
);
1941 int64_t n
= extract_erdn (insn
, dialect
, invalid
);
1942 return (sh
- n
) & 63;
1945 /* The b and n operands of clrlsldi. */
1948 insert_csldn (uint64_t insn
,
1951 const char **errmsg
)
1953 uint64_t mb6
= 0x3f << 5;
1954 int64_t b
= extract_mb6 (insn
, dialect
, NULL
);
1955 insn
= insert_mb6 (insn
& ~mb6
, b
- value
, dialect
, errmsg
);
1956 return insert_sh6 (insn
, value
, dialect
, errmsg
);
1960 extract_csldb (uint64_t insn
,
1964 int64_t sh
= extract_sh6 (insn
, dialect
, invalid
);
1965 int64_t mb
= extract_mb6 (insn
, dialect
, invalid
);
1966 return (mb
+ sh
) & 63;
1969 /* The b and n operands of insrdi. */
1972 insert_irdb (uint64_t insn
,
1975 const char **errmsg
)
1977 uint64_t sh6
= (0x1f << 11) | 2;
1978 int64_t n
= extract_sh6 (insn
, dialect
, NULL
);
1979 insn
= insert_sh6 (insn
& ~sh6
, -(value
+ n
), dialect
, errmsg
);
1980 return insert_mb6 (insn
, value
, dialect
, errmsg
);
1984 extract_irdn (uint64_t insn
,
1988 int64_t sh
= extract_sh6 (insn
, dialect
, invalid
);
1989 int64_t mb
= extract_mb6 (insn
, dialect
, invalid
);
1990 return (~(mb
+ sh
) & 63) + 1;
1993 /* The SPR field in an XFX form instruction. This is flipped--the
1994 lower 5 bits are stored in the upper 5 and vice- versa. */
1997 insert_spr (uint64_t insn
,
1999 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2000 const char **errmsg ATTRIBUTE_UNUSED
)
2002 return insn
| ((value
& 0x1f) << 16) | ((value
& 0x3e0) << 6);
2006 extract_spr (uint64_t insn
,
2007 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2008 int *invalid ATTRIBUTE_UNUSED
)
2010 return ((insn
>> 16) & 0x1f) | ((insn
>> 6) & 0x3e0);
2013 /* Some dialects have 8 [DI]BAT registers instead of the standard 4. */
2014 #define ALLOW8_BAT (PPC_OPCODE_750)
2017 insert_sprbat (uint64_t insn
,
2020 const char **errmsg
)
2022 if ((uint64_t) value
> 7
2023 || ((uint64_t) value
> 3 && (dialect
& ALLOW8_BAT
) == 0))
2024 *errmsg
= _("invalid bat number");
2026 /* If this is [di]bat4..7 then use spr 560..575, otherwise 528..543. */
2027 if ((uint64_t) value
> 3)
2028 value
= ((value
& 3) << 6) | 1;
2032 return insn
| (value
<< 11);
2036 extract_sprbat (uint64_t insn
,
2040 uint64_t val
= (insn
>> 17) & 0x3;
2042 val
= val
+ ((insn
>> 9) & 0x4);
2043 if (val
> 3 && (dialect
& ALLOW8_BAT
) == 0)
2048 /* Some dialects have 8 SPRG registers instead of the standard 4. */
2049 #define ALLOW8_SPRG (PPC_OPCODE_BOOKE | PPC_OPCODE_405)
2052 insert_sprg (uint64_t insn
,
2055 const char **errmsg
)
2057 if ((uint64_t) value
> 7
2058 || ((uint64_t) value
> 3 && (dialect
& ALLOW8_SPRG
) == 0))
2059 *errmsg
= _("invalid sprg number");
2061 /* If this is mfsprg4..7 then use spr 260..263 which can be read in
2062 user mode. Anything else must use spr 272..279. */
2063 if ((uint64_t) value
<= 3 || (insn
& 0x100) != 0)
2066 return insn
| ((value
& 0x17) << 16);
2070 extract_sprg (uint64_t insn
,
2074 uint64_t val
= (insn
>> 16) & 0x1f;
2076 /* mfsprg can use 260..263 and 272..279. mtsprg only uses spr 272..279
2077 If not BOOKE, 405 or VLE, then both use only 272..275. */
2078 if ((val
- 0x10 > 3 && (dialect
& ALLOW8_SPRG
) == 0)
2079 || (val
- 0x10 > 7 && (insn
& 0x100) != 0)
2086 /* The TBR field in an XFX instruction. This is just like SPR, but it
2090 insert_tbr (uint64_t insn
,
2092 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2093 const char **errmsg
)
2095 if (value
!= 268 && value
!= 269)
2096 *errmsg
= _("invalid tbr number");
2097 return insn
| ((value
& 0x1f) << 16) | ((value
& 0x3e0) << 6);
2101 extract_tbr (uint64_t insn
,
2102 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2105 /* Missing optional operands have a value of 268. */
2109 int64_t ret
= ((insn
>> 16) & 0x1f) | ((insn
>> 6) & 0x3e0);
2110 if (ret
!= 268 && ret
!= 269)
2115 /* The XT and XS fields in an XX1 or XX3 form instruction. This is split. */
2118 insert_xt6 (uint64_t insn
,
2120 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2121 const char **errmsg ATTRIBUTE_UNUSED
)
2123 return insn
| ((value
& 0x1f) << 21) | ((value
& 0x20) >> 5);
2127 extract_xt6 (uint64_t insn
,
2128 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2129 int *invalid ATTRIBUTE_UNUSED
)
2131 return ((insn
<< 5) & 0x20) | ((insn
>> 21) & 0x1f);
2134 /* The XT and XS fields in an DQ form VSX instruction. This is split. */
2136 insert_xtq6 (uint64_t insn
,
2138 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2139 const char **errmsg ATTRIBUTE_UNUSED
)
2141 return insn
| ((value
& 0x1f) << 21) | ((value
& 0x20) >> 2);
2145 extract_xtq6 (uint64_t insn
,
2146 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2147 int *invalid ATTRIBUTE_UNUSED
)
2149 return ((insn
<< 2) & 0x20) | ((insn
>> 21) & 0x1f);
2152 /* The 5-bit XAp field in an XX3 form instruction. This is split. */
2155 insert_xa5 (uint64_t insn
,
2157 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2158 const char **errmsg ATTRIBUTE_UNUSED
)
2160 return insn
| ((value
& 0x1e) << 16) | ((value
& 0x20) >> 3);
2164 extract_xa5 (uint64_t insn
,
2165 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2166 int *invalid ATTRIBUTE_UNUSED
)
2168 return ((insn
<< 3) & 0x20) | ((insn
>> 16) & 0x1e);
2171 /* The XA field in an XX3 form instruction. This is split. */
2174 insert_xa6 (uint64_t insn
,
2176 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2177 const char **errmsg ATTRIBUTE_UNUSED
)
2179 return insn
| ((value
& 0x1f) << 16) | ((value
& 0x20) >> 3);
2183 extract_xa6 (uint64_t insn
,
2184 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2185 int *invalid ATTRIBUTE_UNUSED
)
2187 return ((insn
<< 3) & 0x20) | ((insn
>> 16) & 0x1f);
2190 /* The XA field in an MMA XX3 form instruction. This is split
2191 and must not overlap with the ACC operand. */
2194 insert_xa6a (uint64_t insn
,
2197 const char **errmsg
)
2199 int64_t acc
= (insn
>> 23) & 0x7;
2200 /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */
2201 if ((dialect
& PPC_OPCODE_FUTURE
) == 0
2202 && (value
>> 2) == acc
)
2203 *errmsg
= _("VSR overlaps ACC operand");
2204 return insert_xa6 (insn
, value
, dialect
, errmsg
);
2208 extract_xa6a (uint64_t insn
,
2212 int64_t acc
= (insn
>> 23) & 0x7;
2213 int64_t value
= extract_xa6 (insn
, dialect
, invalid
);
2214 /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */
2215 if ((dialect
& PPC_OPCODE_FUTURE
) == 0
2216 && (value
>> 2) == acc
)
2221 /* The 5-bit XB field in an XX3 form instruction. This is split. */
2224 insert_xb5 (uint64_t insn
,
2226 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2227 const char **errmsg ATTRIBUTE_UNUSED
)
2229 return insn
| ((value
& 0x1e) << 11) | ((value
& 0x20) >> 4);
2233 extract_xb5 (uint64_t insn
,
2234 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2235 int *invalid ATTRIBUTE_UNUSED
)
2237 return ((insn
<< 4) & 0x20) | ((insn
>> 11) & 0x1e);
2239 /* The XB field in an XX3 form instruction. This is split. */
2242 insert_xb6 (uint64_t insn
,
2244 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2245 const char **errmsg ATTRIBUTE_UNUSED
)
2247 return insn
| ((value
& 0x1f) << 11) | ((value
& 0x20) >> 4);
2251 extract_xb6 (uint64_t insn
,
2252 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2253 int *invalid ATTRIBUTE_UNUSED
)
2255 return ((insn
<< 4) & 0x20) | ((insn
>> 11) & 0x1f);
2258 /* The XB field in an MMA XX3 form instruction. This is split
2259 and must not overlap with the ACC operand. */
2262 insert_xb6a (uint64_t insn
,
2265 const char **errmsg
)
2267 int64_t acc
= (insn
>> 23) & 0x7;
2268 /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */
2269 if ((dialect
& PPC_OPCODE_FUTURE
) == 0
2270 && (value
>> 2) == acc
)
2271 *errmsg
= _("VSR overlaps ACC operand");
2272 return insert_xb6 (insn
, value
, dialect
, errmsg
);
2276 extract_xb6a (uint64_t insn
,
2280 int64_t acc
= (insn
>> 23) & 0x7;
2281 int64_t value
= extract_xb6 (insn
, dialect
, invalid
);
2282 /* Power10 doesn't allow VSRs to overlap ACCs in MMA instructions. */
2283 if ((dialect
& PPC_OPCODE_FUTURE
) == 0
2284 && (value
>> 2) == acc
)
2289 /* The XA and XB fields in an XX3 form instruction when they must be the same.
2290 This is used for extended mnemonics like xvmovdp. The extraction function
2291 enforces that the fields are the same. */
2294 insert_xab6 (uint64_t insn
,
2297 const char **errmsg
)
2299 return insert_xa6 (insn
, value
, dialect
, errmsg
)
2300 | insert_xb6 (insn
, value
, dialect
, errmsg
);
2304 extract_xab6 (uint64_t insn
,
2308 int64_t xa6
= extract_xa6 (insn
, dialect
, invalid
);
2309 int64_t xb6
= extract_xb6 (insn
, dialect
, invalid
);
2316 /* The XC field in an XX4 form instruction. This is split. */
2319 insert_xc6 (uint64_t insn
,
2321 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2322 const char **errmsg ATTRIBUTE_UNUSED
)
2324 return insn
| ((value
& 0x1f) << 6) | ((value
& 0x20) >> 2);
2328 extract_xc6 (uint64_t insn
,
2329 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2330 int *invalid ATTRIBUTE_UNUSED
)
2332 return ((insn
<< 2) & 0x20) | ((insn
>> 6) & 0x1f);
2335 /* The split XTp and XSp field in a vector paired insn. */
2338 insert_xtp (uint64_t insn
,
2340 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2341 const char **errmsg ATTRIBUTE_UNUSED
)
2343 return insn
| ((value
& 0x1e) << 21) | ((value
& 0x20) << (21 - 5));
2347 extract_xtp (uint64_t insn
,
2348 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2349 int *invalid ATTRIBUTE_UNUSED
)
2351 return ((insn
>> (21 - 5)) & 0x20) | ((insn
>> 21) & 0x1e);
2354 /* The split XT field in a vector splat insn. */
2357 insert_xts (uint64_t insn
,
2359 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2360 const char **errmsg ATTRIBUTE_UNUSED
)
2362 return insn
| ((value
& 0x1f) << 21) | ((value
& 0x20) << (16 - 5));
2366 extract_xts (uint64_t insn
,
2367 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2368 int *invalid ATTRIBUTE_UNUSED
)
2370 return ((insn
>> (16 - 5)) & 0x20) | ((insn
>> 21) & 0x1f);
2374 insert_dm (uint64_t insn
,
2376 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2377 const char **errmsg
)
2379 if (value
!= 0 && value
!= 1)
2380 *errmsg
= _("invalid constant");
2381 return insn
| (((value
) ? 3 : 0) << 8);
2385 extract_dm (uint64_t insn
,
2386 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2389 int64_t value
= (insn
>> 8) & 3;
2390 if (value
!= 0 && value
!= 3)
2392 return (value
) ? 1 : 0;
2395 /* The VLESIMM field in an I16A form instruction. This is split. */
2398 insert_vlesi (uint64_t insn
,
2400 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2401 const char **errmsg ATTRIBUTE_UNUSED
)
2403 return insn
| ((value
& 0xf800) << 10) | (value
& 0x7ff);
2407 extract_vlesi (uint64_t insn
,
2408 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2409 int *invalid ATTRIBUTE_UNUSED
)
2411 int64_t value
= ((insn
>> 10) & 0xf800) | (insn
& 0x7ff);
2412 value
= (value
^ 0x8000) - 0x8000;
2417 insert_vlensi (uint64_t insn
,
2419 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2420 const char **errmsg ATTRIBUTE_UNUSED
)
2423 return insn
| ((value
& 0xf800) << 10) | (value
& 0x7ff);
2426 extract_vlensi (uint64_t insn
,
2427 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2430 int64_t value
= ((insn
>> 10) & 0xf800) | (insn
& 0x7ff);
2431 value
= (value
^ 0x8000) - 0x8000;
2432 /* Don't use for disassembly. */
2437 /* The VLEUIMM field in an I16A form instruction. This is split. */
2440 insert_vleui (uint64_t insn
,
2442 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2443 const char **errmsg ATTRIBUTE_UNUSED
)
2445 return insn
| ((value
& 0xf800) << 10) | (value
& 0x7ff);
2449 extract_vleui (uint64_t insn
,
2450 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2451 int *invalid ATTRIBUTE_UNUSED
)
2453 return ((insn
>> 10) & 0xf800) | (insn
& 0x7ff);
2456 /* The VLEUIMML field in an I16L form instruction. This is split. */
2459 insert_vleil (uint64_t insn
,
2461 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2462 const char **errmsg ATTRIBUTE_UNUSED
)
2464 return insn
| ((value
& 0xf800) << 5) | (value
& 0x7ff);
2468 extract_vleil (uint64_t insn
,
2469 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2470 int *invalid ATTRIBUTE_UNUSED
)
2472 return ((insn
>> 5) & 0xf800) | (insn
& 0x7ff);
2476 insert_evuimm1_ex0 (uint64_t insn
,
2478 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2479 const char **errmsg
)
2481 if (value
<= 0 || value
> 0x1f)
2482 *errmsg
= _("UIMM = 00000 is illegal");
2483 return insn
| ((value
& 0x1f) << 11);
2487 extract_evuimm1_ex0 (uint64_t insn
,
2488 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2491 int64_t value
= ((insn
>> 11) & 0x1f);
2499 insert_evuimm2_ex0 (uint64_t insn
,
2501 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2502 const char **errmsg
)
2504 if (value
<= 0 || value
> 0x3e)
2505 *errmsg
= _("UIMM = 00000 is illegal");
2506 return insn
| ((value
& 0x3e) << 10);
2510 extract_evuimm2_ex0 (uint64_t insn
,
2511 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2514 int64_t value
= ((insn
>> 10) & 0x3e);
2522 insert_evuimm4_ex0 (uint64_t insn
,
2524 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2525 const char **errmsg
)
2527 if (value
<= 0 || value
> 0x7c)
2528 *errmsg
= _("UIMM = 00000 is illegal");
2529 return insn
| ((value
& 0x7c) << 9);
2533 extract_evuimm4_ex0 (uint64_t insn
,
2534 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2537 int64_t value
= ((insn
>> 9) & 0x7c);
2545 insert_evuimm8_ex0 (uint64_t insn
,
2547 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2548 const char **errmsg
)
2550 if (value
<= 0 || value
> 0xf8)
2551 *errmsg
= _("UIMM = 00000 is illegal");
2552 return insn
| ((value
& 0xf8) << 8);
2556 extract_evuimm8_ex0 (uint64_t insn
,
2557 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2560 int64_t value
= ((insn
>> 8) & 0xf8);
2568 insert_evuimm_lt8 (uint64_t insn
,
2570 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2571 const char **errmsg
)
2573 if (value
< 0 || value
> 7)
2574 *errmsg
= _("UIMM values >7 are illegal");
2575 return insn
| ((value
& 0x7) << 11);
2579 extract_evuimm_lt8 (uint64_t insn
,
2580 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2583 int64_t value
= ((insn
>> 11) & 0x1f);
2591 insert_evuimm_lt16 (uint64_t insn
,
2593 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2594 const char **errmsg
)
2596 if (value
< 0 || value
> 15)
2597 *errmsg
= _("UIMM values >15 are illegal");
2598 return insn
| ((value
& 0xf) << 11);
2602 extract_evuimm_lt16 (uint64_t insn
,
2603 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2606 int64_t value
= ((insn
>> 11) & 0x1f);
2614 insert_rD_rS_even (uint64_t insn
,
2616 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2617 const char **errmsg
)
2619 if ((value
& 0x1) != 0)
2620 *errmsg
= _("GPR odd is illegal");
2621 return insn
| ((value
& 0x1e) << 21);
2625 extract_rD_rS_even (uint64_t insn
,
2626 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2629 int64_t value
= ((insn
>> 21) & 0x1f);
2630 if ((value
& 0x1) != 0)
2637 insert_off_lsp (uint64_t insn
,
2639 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2640 const char **errmsg
)
2642 if (value
<= 0 || value
> 0x3)
2643 *errmsg
= _("invalid offset");
2644 return insn
| (value
& 0x3);
2648 extract_off_lsp (uint64_t insn
,
2649 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2652 int64_t value
= (insn
& 0x3);
2660 insert_off_spe2 (uint64_t insn
,
2662 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2663 const char **errmsg
)
2665 if (value
<= 0 || value
> 0x7)
2666 *errmsg
= _("invalid offset");
2667 return insn
| (value
& 0x7);
2671 extract_off_spe2 (uint64_t insn
,
2672 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2675 int64_t value
= (insn
& 0x7);
2683 insert_Ddd (uint64_t insn
,
2685 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2686 const char **errmsg
)
2688 if (value
< 0 || value
> 0x7)
2689 *errmsg
= _("invalid Ddd value");
2690 return insn
| ((value
& 0x3) << 11) | ((value
& 0x4) >> 2);
2694 extract_Ddd (uint64_t insn
,
2695 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2696 int *invalid ATTRIBUTE_UNUSED
)
2698 return ((insn
>> 11) & 0x3) | ((insn
<< 2) & 0x4);
2702 insert_sxl (uint64_t insn
,
2704 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2705 const char **errmsg ATTRIBUTE_UNUSED
)
2707 return insn
| ((value
& 0x1) << 11);
2711 extract_sxl (uint64_t insn
,
2712 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2715 /* Missing optional operands have a value of one. */
2718 return (insn
>> 11) & 0x1;
2721 /* The list of embedded processors that use the embedded operand ordering
2722 for the 3 operand dcbt and dcbtst instructions. */
2723 #define DCBT_EO (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_476 \
2726 /* ISA 2.03 and later specify extended mnemonics dcbtct, dcbtds, and
2727 dcbtstct, dcbtstds with a note saying these should be used in new
2728 programs rather than the base mnemonics "so that it can be coded
2729 with TH as the last operand for all categories". For that reason
2730 the extended mnemonics are enabled in the assembler for the
2731 embedded processors, but not for the disassembler so as to display
2732 the embedded dcbt or dcbtst expected form with TH first for
2733 embedded programmers. */
2736 insert_thct (uint64_t insn
,
2738 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2739 const char **errmsg
)
2741 if ((uint64_t) value
> 7)
2742 *errmsg
= _("invalid TH value");
2743 return insn
| ((value
& 7) << 21);
2747 extract_thct (uint64_t insn
,
2751 /* Missing optional operands have a value of 0. */
2755 int64_t value
= (insn
>> 21) & 0x1f;
2756 if (value
> 7 || (dialect
& DCBT_EO
) != 0)
2763 insert_thds (uint64_t insn
,
2765 ppc_cpu_t dialect ATTRIBUTE_UNUSED
,
2766 const char **errmsg
)
2768 if (value
< 8 || value
> 15)
2769 *errmsg
= _("invalid TH value");
2770 return insn
| ((value
& 0x1f) << 21);
2774 extract_thds (uint64_t insn
,
2778 /* Missing optional operands have a value of 8. */
2782 int64_t value
= (insn
>> 21) & 0x1f;
2783 if (value
< 8 || value
> 15 || (dialect
& DCBT_EO
) != 0)
2789 /* The operands table.
2791 The fields are bitm, shift, insert, extract, flags.
2793 We used to put parens around the various additions, like the one
2794 for BA just below. However, that caused trouble with feeble
2795 compilers with a limit on depth of a parenthesized expression, like
2796 (reportedly) the compiler in Microsoft Developer Studio 5. So we
2797 omit the parens, since the macros are never used in a context where
2798 the addition will be ambiguous. */
2800 const struct powerpc_operand powerpc_operands
[] =
2802 /* The zero index is used to indicate the end of the list of
2805 { 0, 0, NULL
, NULL
, 0 },
2807 /* The BA field in an XL form instruction. */
2808 #define BA UNUSED + 1
2809 /* The BI field in a B form or XL form instruction. */
2811 #define BI_MASK (0x1f << 16)
2812 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_CR_BIT
},
2814 /* The BT, BA and BB fields in a XL form instruction when they must all
2817 { 0x1f, 21, insert_btab
, extract_btab
, PPC_OPERAND_CR_BIT
},
2819 /* The BB field in an XL form instruction. */
2821 #define BB_MASK (0x1f << 11)
2822 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_CR_BIT
},
2824 /* The BA and BB fields in a XL form instruction when they must be
2827 { 0x1f, 16, insert_bab
, extract_bab
, PPC_OPERAND_CR_BIT
},
2829 /* The VRA and VRB fields in a VX form instruction when they must be the same.
2830 This is used for extended mnemonics like vmr. */
2832 { 0x1f, 16, insert_bab
, extract_bab
, PPC_OPERAND_VR
},
2834 /* The RA and RB fields in a VX form instruction when they must be the same.
2835 This is used for extended mnemonics like evmr. */
2837 { 0x1f, 16, insert_bab
, extract_bab
, PPC_OPERAND_GPR
},
2840 { 0x1f, 6, NULL
, NULL
, PPC_OPERAND_CR_BIT
},
2842 /* The BD field in a B form instruction. The lower two bits are
2845 { 0xfffc, 0, NULL
, NULL
, PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
2847 /* The BD field in a B form instruction when absolute addressing is
2850 { 0xfffc, 0, NULL
, NULL
, PPC_OPERAND_ABSOLUTE
| PPC_OPERAND_SIGNED
},
2852 /* The BD field in a B form instruction when the - modifier is used.
2853 This sets the y bit of the BO field appropriately. */
2855 { 0xfffc, 0, insert_bdm
, extract_bdm
,
2856 PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
2858 /* The BD field in a B form instruction when the - modifier is used
2859 and absolute address is used. */
2860 #define BDMA BDM + 1
2861 { 0xfffc, 0, insert_bdm
, extract_bdm
,
2862 PPC_OPERAND_ABSOLUTE
| PPC_OPERAND_SIGNED
},
2864 /* The BD field in a B form instruction when the + modifier is used.
2865 This sets the y bit of the BO field appropriately. */
2866 #define BDP BDMA + 1
2867 { 0xfffc, 0, insert_bdp
, extract_bdp
,
2868 PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
2870 /* The BD field in a B form instruction when the + modifier is used
2871 and absolute addressing is used. */
2872 #define BDPA BDP + 1
2873 { 0xfffc, 0, insert_bdp
, extract_bdp
,
2874 PPC_OPERAND_ABSOLUTE
| PPC_OPERAND_SIGNED
},
2876 /* The BF field in an X or XL form instruction. */
2878 /* The CRFD field in an X form instruction. */
2880 /* The CRD field in an XL form instruction. */
2882 { 0x7, 23, NULL
, NULL
, PPC_OPERAND_CR_REG
},
2884 /* The BF field in an X or XL form instruction. */
2886 { 0x7, 23, NULL
, NULL
, 0 },
2888 /* The ACC field in a VSX ACC 8LS:D-form instruction. */
2890 { 0x7, 23, NULL
, NULL
, PPC_OPERAND_ACC
},
2892 /* The DMR field in a MMA instruction. */
2894 { 0x7, 23, NULL
, NULL
, PPC_OPERAND_DMR
},
2896 /* The second DMR field in a two DMR operand MMA instruction. */
2897 #define DMRAB DMR + 1
2898 { 0x7, 13, NULL
, NULL
, PPC_OPERAND_DMR
},
2900 /* An optional BF field. This is used for comparison instructions,
2901 in which an omitted BF field is taken as zero. */
2902 #define OBF DMRAB + 1
2903 { 0x7, 23, NULL
, NULL
, PPC_OPERAND_CR_REG
| PPC_OPERAND_OPTIONAL
},
2905 /* The BFA field in an X or XL form instruction. */
2907 { 0x7, 18, NULL
, NULL
, PPC_OPERAND_CR_REG
},
2909 /* The BO field in a B form instruction. Certain values are
2912 #define BO_MASK (0x1f << 21)
2913 { 0x1f, 21, insert_bo
, extract_bo
, 0 },
2915 /* The BO field in a B form instruction when the - modifier is used. */
2917 { 0x1f, 21, insert_bom
, extract_bom
, 0 },
2919 /* The BO field in a B form instruction when the + modifier is used. */
2921 { 0x1f, 21, insert_bop
, extract_bop
, 0 },
2923 /* The RM field in an X form instruction. */
2927 { 0x3, 11, NULL
, NULL
, 0 },
2930 { 0x3, 11, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
2932 /* The BT field in an X or XL form instruction. */
2934 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_CR_BIT
},
2936 /* The BT field in a mtfsb0 or mtfsb1 instruction. */
2938 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_CR_BIT
| PPC_OPERAND_CR_REG
},
2940 /* The BI16 field in a BD8 form instruction. */
2941 #define BI16 BTF + 1
2942 { 0x3, 8, NULL
, NULL
, PPC_OPERAND_CR_BIT
},
2944 /* The BI32 field in a BD15 form instruction. */
2945 #define BI32 BI16 + 1
2946 { 0xf, 16, NULL
, NULL
, PPC_OPERAND_CR_BIT
},
2948 /* The BO32 field in a BD15 form instruction. */
2949 #define BO32 BI32 + 1
2950 { 0x3, 20, NULL
, NULL
, 0 },
2952 /* The B8 field in a BD8 form instruction. */
2954 { 0x1fe, -1, NULL
, NULL
, PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
2956 /* The B15 field in a BD15 form instruction. The lowest bit is
2959 { 0xfffe, 0, NULL
, NULL
, PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
2961 /* The B24 field in a BD24 form instruction. The lowest bit is
2964 { 0x1fffffe, 0, NULL
, NULL
, PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
2966 /* The condition register number portion of the BI field in a B form
2967 or XL form instruction. This is used for the extended
2968 conditional branch mnemonics, which set the lower two bits of the
2969 BI field. This field is optional. */
2971 { 0x7, 18, NULL
, NULL
, PPC_OPERAND_CR_REG
| PPC_OPERAND_OPTIONAL
},
2973 /* The CRB field in an X form instruction. */
2975 /* The MB field in an M form instruction. */
2977 #define MB_MASK (0x1f << 6)
2978 { 0x1f, 6, NULL
, NULL
, 0 },
2980 /* The CRD32 field in an XL form instruction. */
2981 #define CRD32 CRB + 1
2982 { 0x3, 21, NULL
, NULL
, PPC_OPERAND_CR_REG
},
2984 /* The CRFS field in an X form instruction. */
2985 #define CRFS CRD32 + 1
2986 { 0x7, 0, NULL
, NULL
, PPC_OPERAND_CR_REG
},
2988 #define CRS CRFS + 1
2989 { 0x3, 18, NULL
, NULL
, PPC_OPERAND_CR_REG
| PPC_OPERAND_OPTIONAL
},
2991 /* The CT field in an X form instruction. */
2993 /* The MO field in an mbar instruction. */
2995 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
2997 /* The TH field in dcbtct. */
2999 { 0x1f, 21, insert_thct
, extract_thct
, PPC_OPERAND_OPTIONAL
},
3001 /* The TH field in dcbtds. */
3002 #define THDS THCT + 1
3003 { 0x1f, 21, insert_thds
, extract_thds
, PPC_OPERAND_OPTIONAL
},
3005 /* The D field in a D form instruction. This is a displacement off
3006 a register, and implies that the next operand is a register in
3009 { 0xffff, 0, NULL
, NULL
, PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
},
3011 /* The D8 field in a D form instruction. This is a displacement off
3012 a register, and implies that the next operand is a register in
3015 { 0xff, 0, NULL
, NULL
, PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
},
3017 /* The DCMX field in an X form instruction. */
3019 { 0x7f, 16, NULL
, NULL
, 0 },
3021 /* The split DCMX field in an X form instruction. */
3022 #define DCMXS DCMX + 1
3023 { 0x7f, PPC_OPSHIFT_INV
, insert_dcmxs
, extract_dcmxs
, 0 },
3025 /* The DQ field in a DQ form instruction. This is like D, but the
3026 lower four bits are forced to zero. */
3027 #define DQ DCMXS + 1
3028 { 0xfff0, 0, NULL
, NULL
,
3029 PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
| PPC_OPERAND_DQ
},
3031 /* The DS field in a DS form instruction. This is like D, but the
3032 lower two bits are forced to zero. */
3034 { 0xfffc, 0, NULL
, NULL
,
3035 PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
| PPC_OPERAND_DS
},
3037 /* The D field in an 8-byte D form prefix instruction. This is a displacement
3038 off a register, and implies that the next operand is a register in
3041 { UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV
, insert_d34
, extract_d34
,
3042 PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
},
3044 /* The SI field in an 8-byte D form prefix instruction. */
3045 #define SI34 D34 + 1
3046 { UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV
, insert_d34
, extract_d34
, PPC_OPERAND_SIGNED
},
3048 /* The NSI field in an 8-byte D form prefix instruction. This is the
3049 same as the SI34 field, only negated. */
3050 #define NSI34 SI34 + 1
3051 { UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV
, insert_nsi34
, extract_nsi34
,
3052 PPC_OPERAND_NEGATIVE
| PPC_OPERAND_SIGNED
},
3054 /* The IMM32 field in a vector splat immediate prefix instruction. */
3055 #define IMM32 NSI34 + 1
3056 { 0xffffffff, PPC_OPSHIFT_INV
, insert_imm32
, extract_imm32
, 0},
3058 /* The UIM field in a vector permute extended prefix instruction. */
3059 #define UIM3 IMM32 + 1
3060 { 0x7, 32, NULL
, NULL
, 0},
3062 /* The UIM field in a vector eval prefix instruction. */
3063 #define UIM8 UIM3 + 1
3064 { 0xff, 32, NULL
, NULL
, 0},
3066 /* The IX field in xxsplti32dx. */
3068 { 0x1, 17, NULL
, NULL
, 0 },
3070 /* The PMSK field in GER rank 8 prefix instructions. */
3071 #define PMSK8 IX + 1
3072 { 0xff, 40, NULL
, NULL
, 0 },
3074 /* The PMSK field in GER rank 4 prefix instructions. */
3075 #define PMSK4 PMSK8 + 1
3076 { 0xf, 44, NULL
, NULL
, 0 },
3078 /* The PMSK field in GER rank 2 prefix instructions. */
3079 #define PMSK2 PMSK4 + 1
3080 { 0x3, 46, NULL
, NULL
, 0 },
3082 /* The XMSK field in GER prefix instructions. */
3083 #define XMSK PMSK2 + 1
3084 { 0xf, 36, NULL
, NULL
, 0 },
3086 /* The XMSK field in GERX prefix instructions. */
3087 #define XMSK8 XMSK + 1
3088 { 0xff, 36, NULL
, NULL
, 0 },
3090 /* The YMSK field in GER prefix instructions. */
3091 #define YMSK XMSK8 + 1
3092 { 0xf, 32, NULL
, NULL
, 0 },
3094 /* The YMSK field in 64-bit GER prefix instructions. */
3095 #define YMSK2 YMSK + 1
3096 { 0x3, 34, NULL
, NULL
, 0 },
3098 /* The DUIS or BHRBE fields in a XFX form instruction, 10 bits
3099 unsigned imediate */
3100 #define DUIS YMSK2 + 1
3102 { 0x3ff, 11, NULL
, NULL
, 0 },
3104 /* The split DW field in a X form instruction. */
3106 { -1, PPC_OPSHIFT_INV
, insert_dw
, extract_dw
,
3107 PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
},
3109 /* The split D field in a DX form instruction. */
3111 { 0xffff, PPC_OPSHIFT_INV
, insert_dxd
, extract_dxd
,
3112 PPC_OPERAND_SIGNED
| PPC_OPERAND_SIGNOPT
},
3114 /* The split ND field in a DX form instruction.
3115 This is the same as the DX field, only negated. */
3116 #define NDXD DXD + 1
3117 { 0xffff, PPC_OPSHIFT_INV
, insert_dxdn
, extract_dxdn
,
3118 PPC_OPERAND_NEGATIVE
| PPC_OPERAND_SIGNED
| PPC_OPERAND_SIGNOPT
},
3120 /* The E field in a wrteei instruction. */
3121 /* And the W bit in the pair singles instructions. */
3122 /* And the ST field in a VX form instruction. */
3126 { 0x1, 15, NULL
, NULL
, 0 },
3128 /* The FL1 field in a POWER SC form instruction. */
3130 /* The U field in an X form instruction. */
3132 { 0xf, 12, NULL
, NULL
, 0 },
3134 /* The FL2 field in a POWER SC form instruction. */
3136 { 0x7, 2, NULL
, NULL
, 0 },
3138 /* The FLM field in an XFL form instruction. */
3140 { 0xff, 17, NULL
, NULL
, 0 },
3142 /* The FRA field in an X or A form instruction. */
3144 #define FRA_MASK (0x1f << 16)
3145 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_FPR
},
3147 /* The FRAp field of DFP instructions. */
3148 #define FRAp FRA + 1
3149 { 0x1e, 16, NULL
, NULL
, PPC_OPERAND_FPR
},
3151 /* The FRB field in an X or A form instruction. */
3152 #define FRB FRAp + 1
3153 #define FRB_MASK (0x1f << 11)
3154 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_FPR
},
3156 /* The FRBp field of DFP instructions. */
3157 #define FRBp FRB + 1
3158 { 0x1e, 11, NULL
, NULL
, PPC_OPERAND_FPR
},
3160 /* The FRC field in an A form instruction. */
3161 #define FRC FRBp + 1
3162 #define FRC_MASK (0x1f << 6)
3163 { 0x1f, 6, NULL
, NULL
, PPC_OPERAND_FPR
},
3165 /* The FRS field in an X form instruction or the FRT field in a D, X
3166 or A form instruction. */
3169 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_FPR
},
3171 /* The FRSp field of stfdp or the FRTp field of lfdp and DFP
3173 #define FRSp FRS + 1
3175 { 0x1e, 21, NULL
, NULL
, PPC_OPERAND_FPR
},
3177 /* The FXM field in an XFX instruction. */
3178 #define FXM FRSp + 1
3179 { 0xff, 12, insert_fxm
, extract_fxm
, 0 },
3181 /* Power4 version for mfcr. */
3182 #define FXM4 FXM + 1
3183 { 0xff, 12, insert_fxm
, extract_fxm
, PPC_OPERAND_OPTIONAL
},
3185 /* The IMM20 field in an LI instruction. */
3186 #define IMM20 FXM4 + 1
3187 { 0xfffff, PPC_OPSHIFT_INV
, insert_li20
, extract_li20
, PPC_OPERAND_SIGNED
},
3189 /* The L field in a D or X form instruction. */
3191 { 0x1, 21, NULL
, NULL
, 0 },
3193 /* The optional L field in tlbie and tlbiel instructions. */
3195 /* The R field in a HTM X form instruction. */
3197 { 0x1, 21, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3199 /* The optional L field in the paste. instruction. This is similar to LOPT
3200 above, but with a default value of 1. */
3201 #define L1OPT LOPT + 1
3202 { 0x1, 21, insert_l1opt
, extract_l1opt
, PPC_OPERAND_OPTIONAL
},
3204 /* The optional (for 32-bit) L field in cmp[l][i] instructions. */
3205 #define L32OPT L1OPT + 1
3206 { 0x1, 21, NULL
, NULL
, PPC_OPERAND_OPTIONAL
| PPC_OPERAND_OPTIONAL32
},
3208 /* The 2-bit L or WC field in an X (sync, dcbf or wait) form instruction. */
3209 #define L2OPT L32OPT + 1
3212 { 0x3, 21, insert_ls
, extract_ls
, PPC_OPERAND_OPTIONAL
},
3214 /* The LEV field in a POWER SVC / POWER9 SCV form instruction. */
3215 #define SVC_LEV L2OPT + 1
3216 { 0x7f, 5, NULL
, NULL
, 0 },
3218 /* The LEV field in an SC form instruction. */
3219 #define LEV SVC_LEV + 1
3220 { 0x7f, 5, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3222 /* The LI field in an I form instruction. The lower two bits are
3225 { 0x3fffffc, 0, NULL
, NULL
, PPC_OPERAND_RELATIVE
| PPC_OPERAND_SIGNED
},
3227 /* The LI field in an I form instruction when used as an absolute
3230 { 0x3fffffc, 0, NULL
, NULL
, PPC_OPERAND_ABSOLUTE
| PPC_OPERAND_SIGNED
},
3232 /* The 3-bit L field in a sync or dcbf instruction. */
3235 { 0x7, 21, insert_ls
, extract_ls
, PPC_OPERAND_OPTIONAL
},
3237 /* The ME field in an M form instruction. */
3239 #define ME_MASK (0x1f << 1)
3240 { 0x1f, 1, NULL
, NULL
, 0 },
3243 { 0x1f, 1, insert_crwn
, extract_crwn
, 0 },
3245 #define ELWn CRWn + 1
3246 { 0x1f, 1, insert_elwn
, extract_elwn
, PPC_OPERAND_PLUS1
},
3248 #define ERWn ELWn + 1
3249 { 0x1f, 6, insert_erwn
, extract_erwn
, 0 },
3251 #define ERWb ERWn + 1
3252 { 0x1f, 11, insert_erwb
, extract_erwb
, 0 },
3254 #define CSLWb ERWb + 1
3255 { 0x1f, 6, NULL
, extract_cslwb
, 0 },
3257 #define CSLWn CSLWb + 1
3258 { 0x1f, 11, insert_cslwn
, NULL
, 0 },
3260 #define ILWn CSLWn + 1
3261 { 0x1f, 1, NULL
, extract_ilwn
, PPC_OPERAND_PLUS1
},
3263 #define ILWb ILWn + 1
3264 { 0x1f, 6, insert_ilwb
, NULL
, 0 },
3266 #define IRWn ILWb + 1
3267 { 0x1f, 1, NULL
, extract_irwn
, PPC_OPERAND_PLUS1
},
3269 #define IRWb IRWn + 1
3270 { 0x1f, 6, insert_irwb
, NULL
, 0 },
3272 /* The MB and ME fields in an M form instruction expressed a single
3273 operand which is a bitmask indicating which bits to select. This
3274 is a two operand form using PPC_OPERAND_NEXT. See the
3275 description in opcode/ppc.h for what this means. */
3276 #define MBE IRWb + 1
3277 { 0x1f, 6, NULL
, NULL
, PPC_OPERAND_OPTIONAL
| PPC_OPERAND_NEXT
},
3278 { -1, 0, insert_mbe
, extract_mbe
, 0 },
3280 /* The MB or ME field in an MD or MDS form instruction. The high
3281 bit is wrapped to the low end. */
3284 #define MB6_MASK (0x3f << 5)
3285 { 0x3f, 5, insert_mb6
, extract_mb6
, 0 },
3287 #define ELDn MB6 + 1
3288 { 0x3f, 5, insert_eldn
, extract_eldn
, PPC_OPERAND_PLUS1
},
3290 #define ERDn ELDn + 1
3291 { 0x3f, 5, insert_erdn
, extract_erdn
, 0 },
3293 #define CRDn ERDn + 1
3294 { 0x3f, 5, insert_crdn
, extract_crdn
, 0 },
3296 /* The NB field in an X form instruction. The value 32 is stored as
3299 { 0x1f, 11, NULL
, extract_nb
, PPC_OPERAND_PLUS1
},
3301 /* The NBI field in an lswi instruction, which has special value
3302 restrictions. The value 32 is stored as 0. */
3304 { 0x1f, 11, insert_nbi
, extract_nb
, PPC_OPERAND_PLUS1
},
3306 /* The NSI field in a D form instruction. This is the same as the
3307 SI field, only negated. */
3309 { 0xffff, 0, insert_nsi
, extract_nsi
,
3310 PPC_OPERAND_NEGATIVE
| PPC_OPERAND_SIGNED
},
3312 /* The NSI field in a D form instruction when we accept a wide range
3313 of positive values. */
3314 #define NSISIGNOPT NSI + 1
3315 { 0xffff, 0, insert_nsi
, extract_nsi
,
3316 PPC_OPERAND_NEGATIVE
| PPC_OPERAND_SIGNED
| PPC_OPERAND_SIGNOPT
},
3318 /* The RA field in an D, DS, DQ, X, XO, M, or MDS form instruction. */
3319 #define RA NSISIGNOPT + 1
3320 #define RA_MASK (0x1f << 16)
3321 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_GPR
},
3323 /* As above, but 0 in the RA field means zero, not r0. */
3325 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_GPR_0
},
3327 /* Similar to above, but optional. */
3328 #define PRA0 RA0 + 1
3329 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_GPR_0
| PPC_OPERAND_OPTIONAL
},
3331 /* The RA field in the DQ form lq or an lswx instruction, which have
3332 special value restrictions. */
3333 #define RAQ PRA0 + 1
3335 { 0x1f, 16, insert_raq
, extract_raq
, PPC_OPERAND_GPR_0
},
3337 /* Similar to above, but optional. */
3338 #define PRAQ RAQ + 1
3339 { 0x1f, 16, insert_raq
, extract_raq
,
3340 PPC_OPERAND_GPR_0
| PPC_OPERAND_OPTIONAL
},
3342 /* The R field in an 8-byte D, DS, DQ or X form prefix instruction. */
3343 #define PCREL PRAQ + 1
3344 #define PCREL_MASK (1ULL << 52)
3345 { 0x1, 52, insert_pcrel
, extract_pcrel
, PPC_OPERAND_OPTIONAL
},
3347 #define PCREL1 PCREL + 1
3348 { 0x1, 52, insert_pcrel
, extract_pcrel1
, PPC_OPERAND_OPTIONAL
},
3350 /* The RA field in a D or X form instruction which is an updating
3351 load, which means that the RA field may not be zero and may not
3352 equal the RT field. */
3353 #define RAL PCREL1 + 1
3354 { 0x1f, 16, insert_ral
, extract_ral
, PPC_OPERAND_GPR_0
},
3356 /* The RA field in an lmw instruction, which has special value
3359 { 0x1f, 16, insert_ram
, extract_ram
, PPC_OPERAND_GPR_0
},
3361 /* The RA field in a D or X form instruction which is an updating
3362 store or an updating floating point load, which means that the RA
3363 field may not be zero. */
3365 { 0x1f, 16, insert_ras
, extract_ras
, PPC_OPERAND_GPR_0
},
3367 /* The RA field of the tlbwe, dccci and iccci instructions,
3368 which are optional. */
3369 #define RAOPT RAS + 1
3370 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_GPR
| PPC_OPERAND_OPTIONAL
},
3372 /* The RB field in an X, XO, M, or MDS form instruction. */
3373 #define RB RAOPT + 1
3374 #define RB_MASK (0x1f << 11)
3375 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_GPR
},
3377 /* The RS and RB fields in an X form instruction when they must be the same.
3378 This is used for extended mnemonics like mr. */
3380 { 0x1f, 11, insert_rsb
, extract_rsb
, PPC_OPERAND_GPR
},
3382 /* The RB field in an lswx instruction, which has special value
3385 { 0x1f, 11, insert_rbx
, extract_rbx
, PPC_OPERAND_GPR
},
3387 /* The RB field of the dccci and iccci instructions, which are optional. */
3388 #define RBOPT RBX + 1
3389 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_GPR
| PPC_OPERAND_OPTIONAL
},
3391 /* The RC register field in an maddld, maddhd or maddhdu instruction. */
3392 #define RC RBOPT + 1
3393 { 0x1f, 6, NULL
, NULL
, PPC_OPERAND_GPR
},
3395 /* The RS field in a D, DS, X, XFX, XS, M, MD or MDS form
3396 instruction or the RT field in a D, DS, X, XFX or XO form
3400 #define RT_MASK (0x1f << 21)
3402 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_GPR
},
3404 #define RD_EVEN RS + 1
3405 #define RS_EVEN RD_EVEN
3406 { 0x1f, 21, insert_rD_rS_even
, extract_rD_rS_even
, PPC_OPERAND_GPR
},
3408 /* The RS and RT fields of the DS form stq and DQ form lq instructions,
3409 which have special value restrictions. */
3410 #define RSQ RS_EVEN + 1
3412 #define Q_MASK (1 << 21)
3413 { 0x1e, 21, NULL
, NULL
, PPC_OPERAND_GPR
},
3415 /* The RS field of the tlbwe instruction, which is optional. */
3418 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_GPR
| PPC_OPERAND_OPTIONAL
},
3420 /* The RX field of the SE_RR form instruction. */
3422 { 0x1f, PPC_OPSHIFT_INV
, insert_rx
, extract_rx
, PPC_OPERAND_GPR
},
3424 /* The ARX field of the SE_RR form instruction. */
3426 { 0x1f, PPC_OPSHIFT_INV
, insert_arx
, extract_arx
, PPC_OPERAND_GPR
},
3428 /* The RY field of the SE_RR form instruction. */
3431 { 0x1f, PPC_OPSHIFT_INV
, insert_ry
, extract_ry
, PPC_OPERAND_GPR
},
3433 /* The ARY field of the SE_RR form instruction. */
3435 { 0x1f, PPC_OPSHIFT_INV
, insert_ary
, extract_ary
, PPC_OPERAND_GPR
},
3437 /* The SCLSCI8 field in a D form instruction. */
3438 #define SCLSCI8 ARY + 1
3439 { 0xffffffff, PPC_OPSHIFT_INV
, insert_sci8
, extract_sci8
, 0 },
3441 /* The SCLSCI8N field in a D form instruction. This is the same as the
3442 SCLSCI8 field, only negated. */
3443 #define SCLSCI8N SCLSCI8 + 1
3444 { 0xffffffff, PPC_OPSHIFT_INV
, insert_sci8n
, extract_sci8n
,
3445 PPC_OPERAND_NEGATIVE
| PPC_OPERAND_SIGNED
},
3447 /* The SD field of the SD4 form instruction. */
3448 #define SE_SD SCLSCI8N + 1
3449 { 0xf, 8, NULL
, NULL
, PPC_OPERAND_PARENS
},
3451 /* The SD field of the SD4 form instruction, for halfword. */
3452 #define SE_SDH SE_SD + 1
3453 { 0x1e, 7, NULL
, NULL
, PPC_OPERAND_PARENS
},
3455 /* The SD field of the SD4 form instruction, for word. */
3456 #define SE_SDW SE_SDH + 1
3457 { 0x3c, 6, NULL
, NULL
, PPC_OPERAND_PARENS
},
3459 /* The SH field in an X or M form instruction. */
3460 #define SH SE_SDW + 1
3461 #define SH_MASK (0x1f << 11)
3462 /* The other UIMM field in a EVX form instruction. */
3464 /* The FC field in an atomic X form instruction. */
3467 { 0x1f, 11, NULL
, NULL
, 0 },
3470 { 0x1f, 11, insert_rrwn
, extract_rrwn
, 0 },
3472 #define SLWn RRWn + 1
3473 { 0x1f, 11, insert_slwn
, extract_slwn
, 0 },
3475 #define SRWn SLWn + 1
3476 { 0x1f, 11, insert_srwn
, extract_srwn
, 0 },
3478 #define EVUIMM_LT8 SRWn + 1
3479 { 0x1f, 11, insert_evuimm_lt8
, extract_evuimm_lt8
, 0 },
3481 #define EVUIMM_LT16 EVUIMM_LT8 + 1
3482 { 0x1f, 11, insert_evuimm_lt16
, extract_evuimm_lt16
, 0 },
3484 /* The SI field in a HTM X form instruction. */
3485 #define HTM_SI EVUIMM_LT16 + 1
3486 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_SIGNED
},
3488 /* The SH field in an MD form instruction. This is split. */
3489 #define SH6 HTM_SI + 1
3490 #define SH6_MASK ((0x1f << 11) | (1 << 1))
3491 { 0x3f, PPC_OPSHIFT_INV
, insert_sh6
, extract_sh6
, 0 },
3493 #define RRDn SH6 + 1
3494 { 0x3f, PPC_OPSHIFT_INV
, insert_rrdn
, extract_rrdn
, 0 },
3496 #define SLDn RRDn + 1
3497 { 0x3f, PPC_OPSHIFT_INV
, insert_sldn
, extract_sldn
, 0 },
3499 #define SRDn SLDn + 1
3500 { 0x3f, PPC_OPSHIFT_INV
, insert_srdn
, extract_srdn
, 0 },
3502 #define ERDb SRDn + 1
3503 { 0x3f, PPC_OPSHIFT_INV
, insert_erdb
, extract_erdb
, 0 },
3505 #define CSLDn ERDb + 1
3506 { 0x3f, PPC_OPSHIFT_SH6
, insert_csldn
, extract_sh6
, 0 },
3508 #define CSLDb CSLDn + 1
3509 { 0x3f, 5, insert_mb6
, extract_csldb
, 0 },
3511 #define IRDn CSLDb + 1
3512 { 0x3f, PPC_OPSHIFT_INV
, insert_sh6
, extract_irdn
, PPC_OPERAND_PLUS1
},
3514 #define IRDb IRDn + 1
3515 { 0x3f, 5, insert_irdb
, extract_mb6
, 0 },
3517 /* The SH field of some variants of the tlbre and tlbwe
3518 instructions, and the ELEV field of the e_sc instruction. */
3519 #define SHO IRDb + 1
3521 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3523 /* The SI field in a D form instruction. */
3525 { 0xffff, 0, NULL
, NULL
, PPC_OPERAND_SIGNED
},
3527 /* The SI field in a D form instruction when we accept a wide range
3528 of positive values. */
3529 #define SISIGNOPT SI + 1
3530 { 0xffff, 0, NULL
, NULL
, PPC_OPERAND_SIGNED
| PPC_OPERAND_SIGNOPT
},
3532 /* The SI8 field in a D form instruction. */
3533 #define SI8 SISIGNOPT + 1
3534 { 0xff, 0, NULL
, NULL
, PPC_OPERAND_SIGNED
},
3536 /* The SPR field in an XFX form instruction. This is flipped--the
3537 lower 5 bits are stored in the upper 5 and vice- versa. */
3541 #define SPR_MASK (0x3ff << 11)
3542 { 0x3ff, 11, insert_spr
, extract_spr
, PPC_OPERAND_SPR
},
3544 /* The BAT index number in an XFX form m[ft]ibat[lu] instruction. */
3545 #define SPRBAT SPR + 1
3546 #define SPRBAT_MASK (0xc1 << 11)
3547 { 0x7, PPC_OPSHIFT_INV
, insert_sprbat
, extract_sprbat
, PPC_OPERAND_SPR
},
3549 /* The GQR index number in an XFX form m[ft]gqr instruction. */
3550 #define SPRGQR SPRBAT + 1
3551 #define SPRGQR_MASK (0x7 << 16)
3552 { 0x7, 16, NULL
, NULL
, PPC_OPERAND_GQR
},
3554 /* The SPRG register number in an XFX form m[ft]sprg instruction. */
3555 #define SPRG SPRGQR + 1
3556 { 0x1f, 16, insert_sprg
, extract_sprg
, PPC_OPERAND_SPR
},
3558 /* The SR field in an X form instruction. */
3560 /* The 4-bit UIMM field in a VX form instruction. */
3562 { 0xf, 16, NULL
, NULL
, 0 },
3564 /* The STRM field in an X AltiVec form instruction. */
3566 /* The T field in a tlbilx form instruction. */
3568 /* The L field in wclr instructions. */
3570 { 0x3, 21, NULL
, NULL
, 0 },
3572 /* The ESYNC field in an X (sync) form instruction. */
3573 #define ESYNC STRM + 1
3574 { 0xf, 16, insert_esync
, extract_esync
, PPC_OPERAND_OPTIONAL
},
3576 /* The SV field in a POWER SC form instruction. */
3577 #define SV ESYNC + 1
3578 { 0x3fff, 2, NULL
, NULL
, 0 },
3580 /* The TBR field in an XFX form instruction. This is like the SPR
3581 field, but it is optional. */
3583 { 0x3ff, 11, insert_tbr
, extract_tbr
,
3584 PPC_OPERAND_SPR
| PPC_OPERAND_OPTIONAL
},
3586 /* The TO field in a D or X form instruction. */
3591 #define TO_MASK (0x1f << 21)
3592 { 0x1f, 21, NULL
, NULL
, 0 },
3594 /* The UI field in a D form instruction. */
3596 { 0xffff, 0, NULL
, NULL
, 0 },
3598 #define UISIGNOPT UI + 1
3599 { 0xffff, 0, NULL
, NULL
, PPC_OPERAND_SIGNOPT
},
3601 /* The IMM field in an SE_IM5 instruction. */
3602 #define UI5 UISIGNOPT + 1
3603 { 0x1f, 4, NULL
, NULL
, 0 },
3605 /* The OIMM field in an SE_OIM5 instruction. */
3606 #define OIMM5 UI5 + 1
3607 { 0x1f, 4, insert_oimm
, extract_oimm
, PPC_OPERAND_PLUS1
},
3609 /* The UI7 field in an SE_LI instruction. */
3610 #define UI7 OIMM5 + 1
3611 { 0x7f, 4, NULL
, NULL
, 0 },
3613 /* The VA field in a VA, VX or VXR form instruction. */
3615 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_VR
},
3617 /* The VB field in a VA, VX or VXR form instruction. */
3619 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_VR
},
3621 /* The VC field in a VA form instruction. */
3623 { 0x1f, 6, NULL
, NULL
, PPC_OPERAND_VR
},
3625 /* The VD or VS field in a VA, VX, VXR or X form instruction. */
3628 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_VR
},
3630 /* The SIMM field in a VX form instruction, and TE in Z form. */
3633 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_SIGNED
},
3635 /* The UIMM field in a VX form instruction. */
3636 #define UIMM SIMM + 1
3639 { 0x1f, 16, NULL
, NULL
, 0 },
3641 /* The 3-bit UIMM field in a VX form instruction. */
3642 #define UIMM3 UIMM + 1
3643 { 0x7, 16, NULL
, NULL
, 0 },
3645 /* The 6-bit UIM field in a X form instruction. */
3646 #define UIM6 UIMM3 + 1
3647 { 0x3f, 16, NULL
, NULL
, 0 },
3649 /* The SIX field in a VX form instruction. */
3650 #define SIX UIM6 + 1
3652 { 0xf, 11, NULL
, NULL
, 0 },
3654 /* The PS field in a VX form instruction. */
3656 { 0x1, 9, NULL
, NULL
, 0 },
3658 /* The SH field in a vector shift double by bit immediate instruction. */
3660 { 0x7, 6, NULL
, NULL
, 0 },
3662 /* The SHB field in a VA form instruction. */
3664 { 0xf, 6, NULL
, NULL
, 0 },
3666 /* The other UIMM field in a half word EVX form instruction. */
3667 #define EVUIMM_1 SHB + 1
3668 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_PARENS
},
3670 #define EVUIMM_1_EX0 EVUIMM_1 + 1
3671 { 0x1f, 11, insert_evuimm1_ex0
, extract_evuimm1_ex0
, PPC_OPERAND_PARENS
},
3673 #define EVUIMM_2 EVUIMM_1_EX0 + 1
3674 { 0x3e, 10, NULL
, NULL
, PPC_OPERAND_PARENS
},
3676 #define EVUIMM_2_EX0 EVUIMM_2 + 1
3677 { 0x3e, 10, insert_evuimm2_ex0
, extract_evuimm2_ex0
, PPC_OPERAND_PARENS
},
3679 /* The other UIMM field in a word EVX form instruction. */
3680 #define EVUIMM_4 EVUIMM_2_EX0 + 1
3681 { 0x7c, 9, NULL
, NULL
, PPC_OPERAND_PARENS
},
3683 #define EVUIMM_4_EX0 EVUIMM_4 + 1
3684 { 0x7c, 9, insert_evuimm4_ex0
, extract_evuimm4_ex0
, PPC_OPERAND_PARENS
},
3686 /* The other UIMM field in a double EVX form instruction. */
3687 #define EVUIMM_8 EVUIMM_4_EX0 + 1
3688 { 0xf8, 8, NULL
, NULL
, PPC_OPERAND_PARENS
},
3690 #define EVUIMM_8_EX0 EVUIMM_8 + 1
3691 { 0xf8, 8, insert_evuimm8_ex0
, extract_evuimm8_ex0
, PPC_OPERAND_PARENS
},
3693 /* The WS or DRM field in an X form instruction. */
3694 #define WS EVUIMM_8_EX0 + 1
3696 /* The NNN field in a VX form instruction for SPE2 */
3698 { 0x7, 11, NULL
, NULL
, 0 },
3700 /* PowerPC paired singles extensions. */
3701 /* W bit in the pair singles instructions for x type instructions. */
3703 /* The BO16 field in a BD8 form instruction. */
3705 /* The pst field in a SVRM form instruction. */
3707 /* The L field in a XO form instruction. */
3709 { 0x1, 10, 0, 0, 0 },
3711 /* IDX bits for quantization in the pair singles instructions. */
3712 #define PSQ PSWM + 1
3713 { 0x7, 12, 0, 0, PPC_OPERAND_GQR
},
3715 /* IDX bits for quantization in the pair singles x-type instructions. */
3716 #define PSQM PSQ + 1
3717 { 0x7, 7, 0, 0, PPC_OPERAND_GQR
},
3719 /* Smaller D field for quantization in the pair singles instructions. */
3720 #define PSD PSQM + 1
3721 { 0xfff, 0, 0, 0, PPC_OPERAND_PARENS
| PPC_OPERAND_SIGNED
},
3723 /* The L field in an mtmsrd or A form instruction or R or W in an
3728 { 0x1, 16, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3730 /* The RMC or CY field in a Z23 form instruction. */
3734 { 0x3, 9, NULL
, NULL
, 0 },
3739 { 0x1, 16, NULL
, NULL
, 0 },
3742 { 0x3, 18, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3745 { 0x1, 17, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3749 { 0x3, 19, NULL
, NULL
, 0 },
3752 { 0x1, 20, NULL
, NULL
, 0 },
3754 /* The S field in a XL form instruction. */
3756 { 0x1, 11, insert_sxl
, extract_sxl
, PPC_OPERAND_OPTIONAL
},
3758 /* SH field starting at bit position 16. */
3759 #define SH16 SXL + 1
3760 /* The DCM and DGM fields in a Z form instruction. */
3763 { 0x3f, 10, NULL
, NULL
, 0 },
3765 /* The EH field in larx instruction. */
3767 { 0x1, 0, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3769 /* The L field in an mtfsf or XFL form instruction. */
3770 /* The A field in a HTM X form instruction. */
3771 #define XFL_L EH + 1
3773 { 0x1, 25, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3775 /* Xilinx APU related masks and macros */
3776 #define FCRT XFL_L + 1
3777 #define FCRT_MASK (0x1f << 21)
3778 { 0x1f, 21, 0, 0, PPC_OPERAND_FCR
},
3780 /* Xilinx FSL related masks and macros */
3781 #define FSL FCRT + 1
3782 #define FSL_MASK (0x1f << 11)
3783 { 0x1f, 11, 0, 0, PPC_OPERAND_FSL
},
3785 /* Xilinx UDI related masks and macros */
3787 { 0x1f, 21, 0, 0, PPC_OPERAND_UDI
},
3790 { 0x1f, 16, 0, 0, PPC_OPERAND_UDI
},
3793 { 0x1f, 11, 0, 0, PPC_OPERAND_UDI
},
3796 { 0x1f, 6, 0, 0, PPC_OPERAND_UDI
},
3798 /* The VLESIMM field in a D form instruction. */
3799 #define VLESIMM URC + 1
3800 { 0xffff, PPC_OPSHIFT_INV
, insert_vlesi
, extract_vlesi
,
3801 PPC_OPERAND_SIGNED
| PPC_OPERAND_SIGNOPT
},
3803 /* The VLENSIMM field in a D form instruction. */
3804 #define VLENSIMM VLESIMM + 1
3805 { 0xffff, PPC_OPSHIFT_INV
, insert_vlensi
, extract_vlensi
,
3806 PPC_OPERAND_NEGATIVE
| PPC_OPERAND_SIGNED
| PPC_OPERAND_SIGNOPT
},
3808 /* The VLEUIMM field in a D form instruction. */
3809 #define VLEUIMM VLENSIMM + 1
3810 { 0xffff, PPC_OPSHIFT_INV
, insert_vleui
, extract_vleui
, 0 },
3812 /* The VLEUIMML field in a D form instruction. */
3813 #define VLEUIMML VLEUIMM + 1
3814 { 0xffff, PPC_OPSHIFT_INV
, insert_vleil
, extract_vleil
, 0 },
3816 /* The XT and XS fields in an XX1 or XX3 form instruction. This is
3818 #define XS6 VLEUIMML + 1
3820 { 0x3f, PPC_OPSHIFT_INV
, insert_xt6
, extract_xt6
, PPC_OPERAND_VSR
},
3822 /* The XT and XS fields in an DQ form VSX instruction. This is split. */
3823 #define XSQ6 XT6 + 1
3825 { 0x3f, PPC_OPSHIFT_INV
, insert_xtq6
, extract_xtq6
, PPC_OPERAND_VSR
},
3827 /* The split XTp and XSp field in a vector paired instruction. */
3828 #define XTP XSQ6 + 1
3830 { 0x3e, PPC_OPSHIFT_INV
, insert_xtp
, extract_xtp
, PPC_OPERAND_VSR
},
3833 { 0x3f, PPC_OPSHIFT_INV
, insert_xts
, extract_xts
, PPC_OPERAND_VSR
},
3835 /* The XT field in a plxv instruction. Runs into the OP field. */
3836 #define XTOP XTS + 1
3837 { 0x3f, 21, NULL
, NULL
, PPC_OPERAND_VSR
},
3839 /* The XA field in an XX3 form instruction. This is split. */
3840 #define XA6 XTOP + 1
3841 { 0x3f, PPC_OPSHIFT_INV
, insert_xa6
, extract_xa6
, PPC_OPERAND_VSR
},
3843 /* The XA field in an MMA XX3 form instruction. This is split and
3844 must not overlap with the ACC operand. */
3845 #define XA6a XA6 + 1
3846 { 0x3f, PPC_OPSHIFT_INV
, insert_xa6a
, extract_xa6a
, PPC_OPERAND_VSR
},
3848 /* The XAp field in an MMA XX3 form instruction. This is split.
3849 This is like XA6a, but must be even. */
3850 #define XA6ap XA6a + 1
3851 { 0x3e, PPC_OPSHIFT_INV
, insert_xa6a
, extract_xa6a
, PPC_OPERAND_VSR
},
3853 /* The 5-bit XAp field in an MMA XX3 form instruction. This is split.
3854 This is like XA6, but must be even. */
3855 #define XA5p XA6ap + 1
3856 { 0x3e, PPC_OPSHIFT_INV
, insert_xa5
, extract_xa5
, PPC_OPERAND_VSR
},
3858 /* The XB field in an XX2 or XX3 form instruction. This is split. */
3859 #define XB6 XA5p + 1
3860 { 0x3f, PPC_OPSHIFT_INV
, insert_xb6
, extract_xb6
, PPC_OPERAND_VSR
},
3862 /* The XB field in an XX3 form instruction. This is split and
3863 must not overlap with the ACC operand. */
3864 #define XB6a XB6 + 1
3865 { 0x3f, PPC_OPSHIFT_INV
, insert_xb6a
, extract_xb6a
, PPC_OPERAND_VSR
},
3867 /* The 5-bit XBp field in an MMA XX3 form instruction. This is split.
3868 This is like XB6, but must be even. */
3869 #define XB5p XB6a + 1
3870 { 0x3e, PPC_OPSHIFT_INV
, insert_xb5
, extract_xb5
, PPC_OPERAND_VSR
},
3872 /* The XA and XB fields in an XX3 form instruction when they must be the same.
3873 This is used in extended mnemonics like xvmovdp. This is split. */
3874 #define XAB6 XB5p + 1
3875 { 0x3f, PPC_OPSHIFT_INV
, insert_xab6
, extract_xab6
, PPC_OPERAND_VSR
},
3877 /* The XC field in an XX4 form instruction. This is split. */
3878 #define XC6 XAB6 + 1
3879 { 0x3f, PPC_OPSHIFT_INV
, insert_xc6
, extract_xc6
, PPC_OPERAND_VSR
},
3881 /* The DM or SHW field in an XX3 form instruction. */
3884 { 0x3, 8, NULL
, NULL
, 0 },
3886 /* The DM field in an extended mnemonic XX3 form instruction. */
3888 { 0x3, 8, insert_dm
, extract_dm
, 0 },
3890 /* The UIM field in an XX2 form instruction. */
3891 #define UIM DMEX + 1
3892 /* The 2-bit UIMM field in a VX form instruction. */
3894 /* The 2-bit L field in a darn instruction. */
3896 { 0x3, 16, NULL
, NULL
, 0 },
3898 #define ERAT_T UIM + 1
3899 { 0x7, 21, NULL
, NULL
, 0 },
3901 #define IH ERAT_T + 1
3902 { 0x7, 21, NULL
, NULL
, PPC_OPERAND_OPTIONAL
},
3904 /* The 2-bit SC or PL field in an X form instruction. */
3907 { 0x3, 16, insert_pl
, extract_pl
, PPC_OPERAND_OPTIONAL
},
3910 { 0x3, PPC_OPSHIFT_INV
, insert_p2
, extract_p2
, 0 },
3912 /* The 8-bit IMM8 field in a XX1 form instruction. */
3914 { 0xff, 11, NULL
, NULL
, PPC_OPERAND_SIGNOPT
},
3916 #define VX_OFF IMM8 + 1
3917 { 0x3, 0, insert_off_lsp
, extract_off_lsp
, 0 },
3919 #define VX_OFF_SPE2 VX_OFF + 1
3920 { 0x7, 0, insert_off_spe2
, extract_off_spe2
, 0 },
3922 #define BBB VX_OFF_SPE2 + 1
3923 { 0x7, 13, NULL
, NULL
, 0 },
3926 #define VX_MASK_DDD (VX_MASK & ~0x1)
3927 { 0x7, PPC_OPSHIFT_INV
, insert_Ddd
, extract_Ddd
, 0 },
3931 { 0x3, 13, NULL
, NULL
, 0 },
3934 { 0x3f, 9, NULL
, NULL
, PPC_OPERAND_NONZERO
},
3938 { 0x1, 6, NULL
, NULL
, 0 },
3942 { 0x1, 7, NULL
, NULL
, 0 },
3946 { 0x1, 8, NULL
, NULL
, 0 },
3948 #define SVLcr ms + 1
3949 { 0x1, 5, NULL
, NULL
, 0 },
3951 #define SVxd SVLcr + 1
3952 { 0x1f, 21, NULL
, NULL
, PPC_OPERAND_NONZERO
},
3954 #define SVyd SVxd + 1
3955 { 0x1f, 16, NULL
, NULL
, PPC_OPERAND_NONZERO
},
3957 #define SVzd SVyd + 1
3959 { 0x1f, 11, NULL
, NULL
, PPC_OPERAND_NONZERO
},
3961 #define SVrm SVzd + 1
3962 { 0xf, 7, NULL
, NULL
, 0 },
3964 #define mi1 SVrm + 1
3965 { 0x3, 17, NULL
, NULL
, 0 },
3968 { 0x3, 15, NULL
, NULL
, 0 },
3971 const unsigned int num_powerpc_operands
= ARRAY_SIZE (powerpc_operands
);
3973 /* Macros used to form opcodes. */
3975 /* The main opcode. */
3976 #define OP(x) ((((uint64_t)(x)) & 0x3f) << 26)
3977 #define OP_MASK OP (0x3f)
3979 /* The prefix opcode. */
3980 #define PREFIX_OP (1ULL << 58)
3982 /* The 2-bit prefix form. */
3983 #define PREFIX_FORM(x) ((x & 3ULL) << 56)
3985 #define SUFFIX_MASK ((1ULL << 32) - 1)
3986 #define PREFIX_MASK (SUFFIX_MASK << 32)
3988 /* Prefix insn, eight byte load/store form 8LS. */
3989 #define P8LS (PREFIX_OP | PREFIX_FORM (0))
3991 /* Prefix insn, eight byte register to register form 8RR. */
3992 #define P8RR (PREFIX_OP | PREFIX_FORM (1))
3994 /* Prefix insn, modified load/store form MLS. */
3995 #define PMLS (PREFIX_OP | PREFIX_FORM (2))
3997 /* Prefix insn, modified register to register form MRR. */
3998 #define PMRR (PREFIX_OP | PREFIX_FORM (3))
4000 /* Prefix insn, modified masked immediate register to register form MMIRR. */
4001 #define PMMIRR (PREFIX_OP | PREFIX_FORM (3) | (9ULL << 52))
4003 /* An 8-byte D form prefix instruction. */
4004 #define P_D_MASK (((-1ULL << 50) & ~PCREL_MASK) | OP_MASK)
4006 /* The same as P_D_MASK, but with the RA and PCREL fields specified. */
4007 #define P_DRAPCREL_MASK (P_D_MASK | PCREL_MASK | RA_MASK)
4009 /* Mask for prefix X form instructions. */
4010 #define P_X_MASK (PREFIX_MASK | X_MASK)
4011 #define P_XX1_MASK (PREFIX_MASK | XX1_MASK)
4013 /* Mask for prefix vector permute insns. */
4014 #define P_XX4_MASK (PREFIX_MASK | XX4_MASK)
4015 #define P_UXX4_MASK (P_XX4_MASK & ~(7ULL << 32))
4016 #define P_U8XX4_MASK (P_XX4_MASK & ~(0xffULL << 32))
4018 /* MMIRR:XX3-form 8-byte outer product instructions. */
4019 #define P_GER_MASK ((-1ULL << 40) | XX3ACC_MASK)
4020 #define P_GER2_MASK (P_GER_MASK & ~(3ULL << 46))
4021 #define P_GER4_MASK (P_GER_MASK & ~(15ULL << 44))
4022 #define P_GER8_MASK (P_GER_MASK & ~(255ULL << 40))
4023 #define P_GER64_MASK (P_GER_MASK | (3ULL << 32))
4024 #define P_GERX4_MASK ((-1ULL << 48) | XX3GERX_MASK)
4025 #define P_GERX2_MASK (P_GERX4_MASK & ~(3ULL << 46))
4027 /* Vector splat immediate op. */
4028 #define VSOP(op, xop) (OP (op) | (xop << 17))
4029 #define P_VS_MASK ((-1ULL << 48) | VSOP (0x3f, 0xf))
4030 #define P_VSI_MASK ((-1ULL << 48) | VSOP (0x3f, 0xe))
4032 /* The main opcode combined with a trap code in the TO field of a D
4033 form instruction. Used for extended mnemonics for the trap
4035 #define OPTO(x,to) (OP (x) | ((((uint64_t)(to)) & 0x1f) << 21))
4036 #define OPTO_MASK (OP_MASK | TO_MASK)
4038 /* The main opcode combined with a comparison size bit in the L field
4039 of a D form or X form instruction. Used for extended mnemonics for
4040 the comparison instructions. */
4041 #define OPL(x,l) (OP (x) | ((((uint64_t)(l)) & 1) << 21))
4042 #define OPL_MASK OPL (0x3f,1)
4044 /* The main opcode combined with an update code in D form instruction.
4045 Used for extended mnemonics for VLE memory instructions. */
4046 #define OPVUP(x,vup) (OP (x) | ((((uint64_t)(vup)) & 0xff) << 8))
4047 #define OPVUP_MASK OPVUP (0x3f, 0xff)
4049 /* The main opcode combined with an update code and the RT fields
4050 specified in D form instruction. Used for VLE volatile context
4051 save/restore instructions. */
4052 #define OPVUPRT(x,vup,rt) \
4054 | ((((uint64_t)(rt)) & 0x1f) << 21))
4055 #define OPVUPRT_MASK OPVUPRT (0x3f, 0xff, 0x1f)
4057 /* An A form instruction. */
4058 #define A(op, xop, rc) \
4060 | ((((uint64_t)(xop)) & 0x1f) << 1) \
4061 | (((uint64_t)(rc)) & 1))
4062 #define A_MASK A (0x3f, 0x1f, 1)
4064 /* An A_MASK with the FRB field fixed. */
4065 #define AFRB_MASK (A_MASK | FRB_MASK)
4067 /* An A_MASK with the FRC field fixed. */
4068 #define AFRC_MASK (A_MASK | FRC_MASK)
4070 /* An A_MASK with the FRA and FRC fields fixed. */
4071 #define AFRAFRC_MASK (A_MASK | FRA_MASK | FRC_MASK)
4073 /* An AFRAFRC_MASK, but with L bit clear. */
4074 #define AFRALFRC_MASK (AFRAFRC_MASK & ~((uint64_t) 1 << 16))
4076 /* A B form instruction. */
4077 #define B(op, aa, lk) \
4079 | ((((uint64_t)(aa)) & 1) << 1) \
4081 #define B_MASK B (0x3f, 1, 1)
4083 /* A BD8 form instruction. This is a 16-bit instruction. */
4084 #define BD8(op, aa, lk) \
4085 (((((uint64_t)(op)) & 0x3f) << 10) \
4086 | (((aa) & 1) << 9) \
4087 | (((lk) & 1) << 8))
4088 #define BD8_MASK BD8 (0x3f, 1, 1)
4090 /* Another BD8 form instruction. This is a 16-bit instruction. */
4091 #define BD8IO(op) ((((uint64_t)(op)) & 0x1f) << 11)
4092 #define BD8IO_MASK BD8IO (0x1f)
4094 /* A BD8 form instruction for simplified mnemonics. */
4095 #define EBD8IO(op, bo, bi) (BD8IO ((op)) | ((bo) << 10) | ((bi) << 8))
4096 /* A mask that excludes BO32 and BI32. */
4097 #define EBD8IO1_MASK 0xf800
4098 /* A mask that includes BO32 and excludes BI32. */
4099 #define EBD8IO2_MASK 0xfc00
4100 /* A mask that include BO32 AND BI32. */
4101 #define EBD8IO3_MASK 0xff00
4103 /* A BD15 form instruction. */
4104 #define BD15(op, aa, lk) \
4106 | ((((uint64_t)(aa)) & 0xf) << 22) \
4108 #define BD15_MASK BD15 (0x3f, 0xf, 1)
4110 /* A BD15 form instruction for extended conditional branch mnemonics. */
4111 #define EBD15(op, aa, bo, lk) \
4112 (((op) & 0x3fu) << 26) \
4113 | (((aa) & 0xf) << 22) \
4114 | (((bo) & 0x3) << 20) \
4116 #define EBD15_MASK 0xfff00001
4118 /* A BD15 form instruction for extended conditional branch mnemonics
4120 #define EBD15BI(op, aa, bo, bi, lk) \
4121 ((((op) & 0x3fu) << 26) \
4122 | (((aa) & 0xf) << 22) \
4123 | (((bo) & 0x3) << 20) \
4124 | (((bi) & 0x3) << 16) \
4127 #define EBD15BI_MASK 0xfff30001
4129 /* A BD24 form instruction. */
4130 #define BD24(op, aa, lk) \
4132 | ((((uint64_t)(aa)) & 1) << 25) \
4134 #define BD24_MASK BD24 (0x3f, 1, 1)
4136 /* A B form instruction setting the BO field. */
4137 #define BBO(op, bo, aa, lk) \
4138 (B ((op), (aa), (lk)) \
4139 | ((((uint64_t)(bo)) & 0x1f) << 21))
4140 #define BBO_MASK BBO (0x3f, 0x1f, 1, 1)
4142 /* A BBO_MASK with the y bit of the BO field removed. This permits
4143 matching a conditional branch regardless of the setting of the y
4144 bit. Similarly for the 'at' bits used for power4 branch hints. */
4145 #define Y_MASK (((uint64_t) 1) << 21)
4146 #define AT1_MASK (((uint64_t) 3) << 21)
4147 #define AT2_MASK (((uint64_t) 9) << 21)
4148 #define BBOY_MASK (BBO_MASK &~ Y_MASK)
4149 #define BBOAT_MASK (BBO_MASK &~ AT1_MASK)
4151 /* A B form instruction setting the BO field and the condition bits of
4153 #define BBOCB(op, bo, cb, aa, lk) \
4154 (BBO ((op), (bo), (aa), (lk)) | ((((uint64_t)(cb)) & 0x3) << 16))
4155 #define BBOCB_MASK BBOCB (0x3f, 0x1f, 0x3, 1, 1)
4157 /* A BBOCB_MASK with the y bit of the BO field removed. */
4158 #define BBOYCB_MASK (BBOCB_MASK &~ Y_MASK)
4159 #define BBOATCB_MASK (BBOCB_MASK &~ AT1_MASK)
4160 #define BBOAT2CB_MASK (BBOCB_MASK &~ AT2_MASK)
4162 /* A BBOYCB_MASK in which the BI field is fixed. */
4163 #define BBOYBI_MASK (BBOYCB_MASK | BI_MASK)
4164 #define BBOATBI_MASK (BBOAT2CB_MASK | BI_MASK)
4166 /* A VLE C form instruction. */
4167 #define C_LK(x, lk) (((((uint64_t)(x)) & 0x7fff) << 1) | ((lk) & 1))
4168 #define C_LK_MASK C_LK(0x7fff, 1)
4169 #define C(x) ((((uint64_t)(x)) & 0xffff))
4170 #define C_MASK C(0xffff)
4172 /* An Context form instruction. */
4173 #define CTX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x7))
4174 #define CTX_MASK CTX(0x3f, 0x7)
4176 /* An User Context form instruction. */
4177 #define UCTX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f))
4178 #define UCTX_MASK UCTX(0x3f, 0x1f)
4180 /* The main opcode mask with the RA field clear. */
4181 #define DRA_MASK (OP_MASK | RA_MASK)
4183 /* A DQ form VSX instruction. */
4184 #define DQX(op, xop) (OP (op) | ((xop) & 0x7))
4185 #define DQX_MASK DQX (0x3f, 7)
4187 /* A DQ form VSX vector paired instruction. */
4188 #define DQXP(op, xop) (OP (op) | ((xop) & 0xf))
4189 #define DQXP_MASK DQXP (0x3f, 0xf)
4191 /* A DS form instruction. */
4192 #define DSO(op, xop) (OP (op) | ((xop) & 0x3))
4193 #define DS_MASK DSO (0x3f, 3)
4195 /* An DX form instruction. */
4196 #define DX(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1f) << 1))
4197 #define DX_MASK DX (0x3f, 0x1f)
4198 /* An DX form instruction with the D bits specified. */
4199 #define NODX_MASK (DX_MASK | 0x1fffc1)
4201 /* An EVSEL form instruction. */
4202 #define EVSEL(op, xop) (OP (op) | (((uint64_t)(xop)) & 0xff) << 3)
4203 #define EVSEL_MASK EVSEL(0x3f, 0xff)
4205 /* An IA16 form instruction. */
4206 #define IA16(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f) << 11)
4207 #define IA16_MASK IA16(0x3f, 0x1f)
4209 /* An I16A form instruction. */
4210 #define I16A(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f) << 11)
4211 #define I16A_MASK I16A(0x3f, 0x1f)
4213 /* An I16L form instruction. */
4214 #define I16L(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f) << 11)
4215 #define I16L_MASK I16L(0x3f, 0x1f)
4217 /* An IM7 form instruction. */
4218 #define IM7(op) ((((uint64_t)(op)) & 0x1f) << 11)
4219 #define IM7_MASK IM7(0x1f)
4221 /* An M form instruction. */
4222 #define M(op, rc) (OP (op) | ((rc) & 1))
4223 #define M_MASK M (0x3f, 1)
4225 /* An LI20 form instruction. */
4226 #define LI20(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1) << 15)
4227 #define LI20_MASK LI20(0x3f, 0x1)
4229 /* An M form instruction with the ME field specified. */
4230 #define MME(op, me, rc) \
4232 | ((((uint64_t)(me)) & 0x1f) << 1))
4234 /* An M_MASK with the MB field fixed. */
4235 #define MMB_MASK (M_MASK | MB_MASK)
4237 /* An M_MASK with the ME field fixed. */
4238 #define MME_MASK (M_MASK | ME_MASK)
4240 /* An M_MASK with the MB and ME fields fixed. */
4241 #define MMBME_MASK (M_MASK | MB_MASK | ME_MASK)
4243 /* An M_MASK with the SH and ME fields fixed. */
4244 #define MSHME_MASK (M_MASK | SH_MASK | ME_MASK)
4246 /* An M_MASK with the SH and MB fields fixed. */
4247 #define MSHMB_MASK (M_MASK | SH_MASK | MB_MASK)
4249 /* An MD form instruction. */
4250 #define MD(op, xop, rc) \
4252 | ((((uint64_t)(xop)) & 0x7) << 2) \
4254 #define MD_MASK MD (0x3f, 0x7, 1)
4256 /* An MD_MASK with the MB field fixed. */
4257 #define MDMB_MASK (MD_MASK | MB6_MASK)
4259 /* An MD_MASK with the SH field fixed. */
4260 #define MDSH_MASK (MD_MASK | SH6_MASK)
4262 /* An MDS form instruction. */
4263 #define MDS(op, xop, rc) \
4265 | ((((uint64_t)(xop)) & 0xf) << 1) \
4267 #define MDS_MASK MDS (0x3f, 0xf, 1)
4269 /* An MDS_MASK with the MB field fixed. */
4270 #define MDSMB_MASK (MDS_MASK | MB6_MASK)
4272 /* An SC form instruction. */
4273 #define SC(op, sa, lk) \
4275 | ((((uint64_t)(sa)) & 1) << 1) \
4279 | (((uint64_t) 0x3ff) << 16) \
4280 | (((uint64_t) 1) << 1) \
4283 /* An SCI8 form instruction. */
4284 #define SCI8(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1f) << 11))
4285 #define SCI8_MASK SCI8(0x3f, 0x1f)
4287 /* An SCI8 form instruction. */
4288 #define SCI8BF(op, fop, xop) \
4290 | ((((uint64_t)(xop)) & 0x1f) << 11) \
4291 | (((fop) & 7) << 23))
4292 #define SCI8BF_MASK SCI8BF(0x3f, 7, 0x1f)
4294 /* An SD4 form instruction. This is a 16-bit instruction. */
4295 #define SD4(op) ((((uint64_t)(op)) & 0xf) << 12)
4296 #define SD4_MASK SD4(0xf)
4298 /* An SE_IM5 form instruction. This is a 16-bit instruction. */
4299 #define SE_IM5(op, xop) \
4300 (((((uint64_t)(op)) & 0x3f) << 10) \
4301 | (((xop) & 0x1) << 9))
4302 #define SE_IM5_MASK SE_IM5(0x3f, 1)
4304 /* An SE_R form instruction. This is a 16-bit instruction. */
4305 #define SE_R(op, xop) \
4306 (((((uint64_t)(op)) & 0x3f) << 10) \
4307 | (((xop) & 0x3f) << 4))
4308 #define SE_R_MASK SE_R(0x3f, 0x3f)
4310 /* An SE_RR form instruction. This is a 16-bit instruction. */
4311 #define SE_RR(op, xop) \
4312 (((((uint64_t)(op)) & 0x3f) << 10) \
4313 | (((xop) & 0x3) << 8))
4314 #define SE_RR_MASK SE_RR(0x3f, 3)
4316 /* A VX form instruction. */
4317 #define VX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x7ff))
4319 /* The mask for an VX form instruction. */
4320 #define VX_MASK VX(0x3f, 0x7ff)
4322 /* A VX LSP form instruction. */
4323 #define VX_LSP(op, xop) (OP (op) | (((uint64_t)(xop)) & 0xffff))
4325 /* The mask for an VX LSP form instruction. */
4326 #define VX_LSP_MASK VX_LSP(0x3f, 0xffff)
4327 #define VX_LSP_OFF_MASK VX_LSP(0x3f, 0x7fc)
4329 /* Additional format of VX SPE2 form instruction. */
4330 #define VX_RA_CONST(op, xop, bits11_15) \
4332 | (((uint64_t)(bits11_15) & 0x1f) << 16) \
4333 | (((uint64_t)(xop)) & 0x7ff))
4334 #define VX_RA_CONST_MASK VX_RA_CONST(0x3f, 0x7ff, 0x1f)
4336 #define VX_RB_CONST(op, xop, bits16_20) \
4338 | (((uint64_t)(bits16_20) & 0x1f) << 11) \
4339 | (((uint64_t)(xop)) & 0x7ff))
4340 #define VX_RB_CONST_MASK VX_RB_CONST(0x3f, 0x7ff, 0x1f)
4342 #define VX_OFF_SPE2_MASK VX(0x3f, 0x7f8)
4344 #define VX_SPE_CRFD(op, xop, bits9_10) \
4346 | (((uint64_t)(bits9_10) & 0x3) << 21) \
4347 | (((uint64_t)(xop)) & 0x7ff))
4348 #define VX_SPE_CRFD_MASK VX_SPE_CRFD(0x3f, 0x7ff, 0x3)
4350 #define VX_SPE2_CLR(op, xop, bit16) \
4352 | (((uint64_t)(bit16) & 0x1) << 15) \
4353 | (((uint64_t)(xop)) & 0x7ff))
4354 #define VX_SPE2_CLR_MASK VX_SPE2_CLR(0x3f, 0x7ff, 0x1)
4356 #define VX_SPE2_SPLATB(op, xop, bits19_20) \
4358 | (((uint64_t)(bits19_20) & 0x3) << 11) \
4359 | (((uint64_t)(xop)) & 0x7ff))
4360 #define VX_SPE2_SPLATB_MASK VX_SPE2_SPLATB(0x3f, 0x7ff, 0x3)
4362 #define VX_SPE2_OCTET(op, xop, bits16_17) \
4364 | (((uint64_t)(bits16_17) & 0x3) << 14) \
4365 | (((uint64_t)(xop)) & 0x7ff))
4366 #define VX_SPE2_OCTET_MASK VX_SPE2_OCTET(0x3f, 0x7ff, 0x7)
4368 #define VX_SPE2_DDHH(op, xop, bit16) \
4370 | (((uint64_t)(bit16) & 0x1) << 15) \
4371 | (((uint64_t)(xop)) & 0x7ff))
4372 #define VX_SPE2_DDHH_MASK VX_SPE2_DDHH(0x3f, 0x7ff, 0x1)
4374 #define VX_SPE2_HH(op, xop, bit16, bits19_20) \
4376 | (((uint64_t)(bit16) & 0x1) << 15) \
4377 | (((uint64_t)(bits19_20) & 0x3) << 11) \
4378 | (((uint64_t)(xop)) & 0x7ff))
4379 #define VX_SPE2_HH_MASK VX_SPE2_HH(0x3f, 0x7ff, 0x1, 0x3)
4381 #define VX_SPE2_EVMAR(op, xop) \
4383 | ((uint64_t)(0x1) << 11) \
4384 | (((uint64_t)(xop)) & 0x7ff))
4385 #define VX_SPE2_EVMAR_MASK \
4386 (VX_SPE2_EVMAR(0x3f, 0x7ff) \
4387 | ((uint64_t)(0x1) << 11))
4389 /* A VX_MASK with the VA field fixed. */
4390 #define VXVA_MASK (VX_MASK | (0x1f << 16))
4392 /* A VX_MASK with the VB field fixed. */
4393 #define VXVB_MASK (VX_MASK | (0x1f << 11))
4395 /* A VX_MASK with the VA and VB fields fixed. */
4396 #define VXVAVB_MASK (VX_MASK | (0x1f << 16) | (0x1f << 11))
4398 /* A VX_MASK with the VD and VA fields fixed. */
4399 #define VXVDVA_MASK (VX_MASK | (0x1f << 21) | (0x1f << 16))
4401 /* A VX_MASK with a UIMM4 field. */
4402 #define VXUIMM4_MASK (VX_MASK | (0x1 << 20))
4404 /* A VX_MASK with a UIMM3 field. */
4405 #define VXUIMM3_MASK (VX_MASK | (0x3 << 19))
4407 /* A VX_MASK with a UIMM2 field. */
4408 #define VXUIMM2_MASK (VX_MASK | (0x7 << 18))
4410 /* A VX_MASK with a PS field. */
4411 #define VXPS_MASK (VX_MASK & ~(0x1 << 9))
4413 /* A VX_MASK with the VA field fixed with a PS field. */
4414 #define VXVAPS_MASK (VXVA_MASK & ~(0x1 << 9))
4416 /* A VX_MASK with the VA field fixed with a MP field. */
4417 #define VXVAM_MASK (VXVA_MASK & ~(0x1 << 16))
4419 /* A VX_MASK for instructions using a BF field. */
4420 #define VXBF_MASK (VX_MASK | (3 << 21))
4422 /* A VX_MASK for instructions with an RC field. */
4423 #define VXRC_MASK (VX_MASK & ~(0x1f << 6))
4425 /* A VX_MASK for instructions with a SH field. */
4426 #define VXSH_MASK (VX_MASK & ~(0x7 << 6))
4428 /* A VA form instruction. */
4429 #define VXA(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x03f))
4431 /* The mask for an VA form instruction. */
4432 #define VXA_MASK VXA(0x3f, 0x3f)
4434 /* A VXA_MASK with a SHB field. */
4435 #define VXASHB_MASK (VXA_MASK | (1 << 10))
4437 /* A VXR form instruction. */
4438 #define VXR(op, xop, rc) \
4440 | (((uint64_t)(rc) & 1) << 10) \
4441 | (((uint64_t)(xop)) & 0x3ff))
4443 /* The mask for a VXR form instruction. */
4444 #define VXR_MASK VXR(0x3f, 0x3ff, 1)
4446 /* A VX form instruction with a VA tertiary opcode. */
4447 #define VXVA(op, xop, vaop) (VX(op,xop) | (((vaop) & 0x1f) << 16))
4449 #define VXASH(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1f) << 1))
4450 #define VXASH_MASK VXASH (0x3f, 0x1f)
4452 /* An X form instruction. */
4453 #define X(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x3ff) << 1))
4455 /* A X form instruction for Quad-Precision FP Instructions. */
4456 #define XVA(op, xop, vaop) (X(op,xop) | (((vaop) & 0x1f) << 16))
4458 /* An EX form instruction. */
4459 #define EX(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x7ff))
4461 /* The mask for an EX form instruction. */
4462 #define EX_MASK EX (0x3f, 0x7ff)
4464 /* An XX2 form instruction. */
4465 #define XX2(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1ff) << 2))
4467 /* A XX2 form instruction with the VA bits specified. */
4468 #define XX2VA(op, xop, vaop) (XX2(op,xop) | (((vaop) & 0x1f) << 16))
4470 /* An XX3 form instruction. */
4471 #define XX3(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0xff) << 3))
4473 /* An XX3 form instruction with the RC bit specified. */
4474 #define XX3RC(op, xop, rc) \
4476 | (((uint64_t)(rc) & 1) << 10) \
4477 | ((((uint64_t)(xop)) & 0x7f) << 3))
4479 /* An XX4 form instruction. */
4480 #define XX4(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x3) << 4))
4482 /* A Z form instruction. */
4483 #define Z(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x1ff) << 1))
4485 /* An X form instruction with the RC bit specified. */
4486 #define XRC(op, xop, rc) (X ((op), (xop)) | ((rc) & 1))
4488 /* A X form instruction for Quad-Precision FP Instructions with RC bit. */
4489 #define XVARC(op, xop, vaop, rc) (XVA ((op), (xop), (vaop)) | ((rc) & 1))
4491 /* An X form instruction with the RA bits specified as two ops. */
4492 #define XMMF(op, xop, mop0, mop1) \
4494 | ((mop0) & 3) << 19 \
4495 | ((mop1) & 7) << 16)
4497 /* A Z form instruction with the RC bit specified. */
4498 #define ZRC(op, xop, rc) (Z ((op), (xop)) | ((rc) & 1))
4500 /* The mask for an X form instruction. */
4501 #define X_MASK XRC (0x3f, 0x3ff, 1)
4503 /* The mask for an X form instruction with the BF bits specified. */
4504 #define XBF_MASK (X_MASK | (3 << 21))
4506 /* An X form instruction without the RC field specified. */
4507 #define XRC_MASK XRC (0x3f, 0x3ff, 0)
4509 /* An X form wait instruction with everything filled in except the WC
4511 #define XWC_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | RA_MASK | RB_MASK)
4513 /* An X form wait instruction with everything filled in except the WC
4515 #define XWCPL_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | (3 << 18) | RB_MASK)
4517 /* The mask for an XX1 form instruction. */
4518 #define XX1_MASK X (0x3f, 0x3ff)
4520 /* An XX1_MASK with the RB field fixed. */
4521 #define XX1RB_MASK (XX1_MASK | RB_MASK)
4523 /* The mask for an XX2 form instruction. */
4524 #define XX2_MASK (XX2 (0x3f, 0x1ff) | (0x1f << 16))
4526 /* The mask for an XX2 form instruction with the UIM bits specified. */
4527 #define XX2UIM_MASK (XX2 (0x3f, 0x1ff) | (7 << 18))
4529 /* The mask for an XX2 form instruction with the 4 UIM bits specified. */
4530 #define XX2UIM4_MASK (XX2 (0x3f, 0x1ff) | (1 << 20))
4532 /* The mask for an XX2 form instruction with the BF bits specified. */
4533 #define XX2BF_MASK (XX2_MASK | (3 << 21) | (1))
4535 /* The mask for an XX2 form instruction with the BF and DCMX bits
4537 #define XX2BFD_MASK (XX2 (0x3f, 0x1ff) | 1)
4539 /* The mask for an XX2 form instruction with a split DCMX bits
4541 #define XX2DCMXS_MASK XX2 (0x3f, 0x1ee)
4543 /* The mask for an XX3 form instruction. */
4544 #define XX3_MASK XX3 (0x3f, 0xff)
4546 /* The mask for an XX3 form instruction with the BF bits specified. */
4547 #define XX3BF_MASK (XX3 (0x3f, 0xff) | (3 << 21) | (1))
4549 /* An X_MASK with an accumulator register and the RA and RB fields fixed. */
4550 #define XACC_MASK (X_MASK | RA_MASK | RB_MASK | (3 << 21))
4551 #define XDMR_MASK XACC_MASK
4553 /* An X_MASK with two dense math register. */
4554 #define XDMRDMR_MASK (X_MASK | RA_MASK | (3 << 21) | (3 << 11))
4556 /* The mask for an XX3 form instruction with the DM or SHW bits
4558 #define XX3DM_MASK (XX3 (0x3f, 0x1f) | (1 << 10))
4559 #define XX3SHW_MASK XX3DM_MASK
4561 /* The masks for X* form instructions with an ACC/DMR register. */
4562 #define XX2ACC_MASK (XX2 (0x3f, 0x1ff) | (3 << 21) | 1)
4563 #define XX3ACC_MASK (XX3_MASK | (3 << 21) | 1)
4564 #define XX3DMR_MASK (XX3ACC_MASK | (1 << 11))
4565 #define XX2DMR_MASK (XX2ACC_MASK | (0xf << 17))
4566 #define XX3GERX_MASK (XX3ACC_MASK | (1 << 16))
4568 /* The mask for an XX4 form instruction. */
4569 #define XX4_MASK XX4 (0x3f, 0x3)
4571 /* An X form wait instruction with everything filled in except the WC
4573 #define XWC_MASK (XRC (0x3f, 0x3ff, 1) | (7 << 23) | RA_MASK | RB_MASK)
4575 /* The mask for an XMMF form instruction. */
4576 #define XMMF_MASK (XMMF (0x3f, 0x3ff, 3, 7) | (1))
4578 /* The mask for a Z form instruction. */
4579 #define Z_MASK ZRC (0x3f, 0x1ff, 1)
4580 #define Z2_MASK ZRC (0x3f, 0xff, 1)
4582 /* An X_MASK with the RA/VA field fixed. */
4583 #define XRA_MASK (X_MASK | RA_MASK)
4584 #define XVA_MASK XRA_MASK
4586 /* An XRA_MASK with the A_L/W field clear. */
4587 #define XWRA_MASK (XRA_MASK & ~((uint64_t) 1 << 16))
4588 #define XRLA_MASK XWRA_MASK
4590 /* An X_MASK with the RB field fixed. */
4591 #define XRB_MASK (X_MASK | RB_MASK)
4593 /* An X_MASK with the RT field fixed. */
4594 #define XRT_MASK (X_MASK | RT_MASK)
4596 /* An XRT_MASK mask with the 2 L bits clear. */
4597 #define XLRT_MASK (XRT_MASK & ~((uint64_t) 0x3 << 21))
4599 /* An XRT_MASK mask with the 3 L bits clear. */
4600 #define XL3RT_MASK (XRT_MASK & ~((uint64_t) 0x7 << 21))
4602 /* An X_MASK with the RA and RB fields fixed. */
4603 #define XRARB_MASK (X_MASK | RA_MASK | RB_MASK)
4605 /* An XBF_MASK with the RA and RB fields fixed. */
4606 #define XBFRARB_MASK (XBF_MASK | RA_MASK | RB_MASK)
4608 /* An XRARB_MASK, but with the L bit clear. */
4609 #define XRLARB_MASK (XRARB_MASK & ~((uint64_t) 1 << 16))
4611 /* An XRARB_MASK, but with the L bits in a darn instruction clear. */
4612 #define XLRAND_MASK (XRARB_MASK & ~((uint64_t) 3 << 16))
4614 /* An X_MASK with the RT and RA fields fixed. */
4615 #define XRTRA_MASK (X_MASK | RT_MASK | RA_MASK)
4617 /* An X_MASK with the RT and RB fields fixed. */
4618 #define XRTRB_MASK (X_MASK | RT_MASK | RB_MASK)
4620 /* An XRTRA_MASK, but with L bit clear. */
4621 #define XRTLRA_MASK (XRTRA_MASK & ~((uint64_t) 1 << 21))
4623 /* An X_MASK with the RT, RA and RB fields fixed. */
4624 #define XRTRARB_MASK (X_MASK | RT_MASK | RA_MASK | RB_MASK)
4626 /* An XRTRARB_MASK, but with L bit clear. */
4627 #define XRTLRARB_MASK (XRTRARB_MASK & ~((uint64_t) 1 << 21))
4629 /* An XRTRARB_MASK, but with A bit clear. */
4630 #define XRTARARB_MASK (XRTRARB_MASK & ~((uint64_t) 1 << 25))
4632 /* An XRTRARB_MASK, but with BF bits clear. */
4633 #define XRTBFRARB_MASK (XRTRARB_MASK & ~((uint64_t) 7 << 23))
4635 /* An X form instruction with the L bit specified. */
4636 #define XOPL(op, xop, l) \
4638 | ((((uint64_t)(l)) & 1) << 21))
4640 /* An X form instruction with the 2 L bits specified. */
4641 #define XOPL2(op, xop, l) \
4643 | ((((uint64_t)(l)) & 3) << 21))
4645 /* An X form instruction with the 3 L bits specified. */
4646 #define XOPL3(op, xop, l) \
4648 | ((((uint64_t)(l)) & 7) << 21))
4650 /* An X form instruction with the WC and PL bits specified. */
4651 #define XWCPL(op, xop, wc, pl) \
4652 (XOPL3 ((op), (xop), (wc)) \
4653 | ((((uint64_t)(pl)) & 3) << 16))
4655 /* An X form instruction with the L bit and RC bit specified. */
4656 #define XRCL(op, xop, l, rc) \
4657 (XRC ((op), (xop), (rc)) \
4658 | ((((uint64_t)(l)) & 1) << 21))
4660 /* An X form instruction with RT fields specified */
4661 #define XRT(op, xop, rt) \
4663 | ((((uint64_t)(rt)) & 0x1f) << 21))
4665 /* An X form instruction with RT and RA fields specified */
4666 #define XRTRA(op, xop, rt, ra) \
4668 | ((((uint64_t)(rt)) & 0x1f) << 21) \
4669 | ((((uint64_t)(ra)) & 0x1f) << 16))
4671 /* The mask for an X form comparison instruction. */
4672 #define XCMP_MASK (X_MASK | (((uint64_t)1) << 22))
4674 /* The mask for an X form comparison instruction with the L field
4676 #define XCMPL_MASK (XCMP_MASK | (((uint64_t)1) << 21))
4678 /* An X form trap instruction with the TO field specified. */
4679 #define XTO(op, xop, to) \
4681 | ((((uint64_t)(to)) & 0x1f) << 21))
4682 #define XTO_MASK (X_MASK | TO_MASK)
4684 /* An X form tlb instruction with the SH field specified. */
4685 #define XTLB(op, xop, sh) \
4687 | ((((uint64_t)(sh)) & 0x1f) << 11))
4688 #define XTLB_MASK (X_MASK | SH_MASK)
4690 /* An X form sync instruction. */
4691 #define XSYNC(op, xop, l) \
4693 | ((((uint64_t)(l)) & 3) << 21))
4695 /* An X form sync instruction with everything filled in except the LS
4697 #define XSYNC_MASK (0xff9fffff)
4699 /* An X form sync instruction with everything filled in except the L
4701 #define XSYNCLE_MASK (0xff90ffff)
4703 /* An X form sync instruction. */
4704 #define XSYNCLS(op, xop, l, s) \
4706 | ((((uint64_t)(l)) & 7) << 21) \
4707 | ((((uint64_t)(s)) & 3) << 16))
4709 /* An X form sync instruction with everything filled in except the
4711 #define XSYNCLS_MASK (0xff1cffff)
4713 /* An X_MASK, but with the EH bit clear. */
4714 #define XEH_MASK (X_MASK & ~((uint64_t )1))
4716 /* An X form AltiVec dss instruction. */
4717 #define XDSS(op, xop, a) (X ((op), (xop)) | ((((uint64_t)(a)) & 1) << 25))
4718 #define XDSS_MASK XDSS(0x3f, 0x3ff, 1)
4720 /* An XFL form instruction. */
4721 #define XFL(op, xop, rc) \
4723 | ((((uint64_t)(xop)) & 0x3ff) << 1) \
4724 | (((uint64_t)(rc)) & 1))
4725 #define XFL_MASK XFL (0x3f, 0x3ff, 1)
4727 /* An X form isel instruction. */
4728 #define XISEL(op, xop, cr) (OP (op) | ((xop) << 1) | ((cr) << 6))
4729 #define XISEL_MASK XISEL(0x3f, 0x1f, 0)
4731 /* An XL form instruction with the LK field set to 0. */
4732 #define XL(op, xop) (OP (op) | ((((uint64_t)(xop)) & 0x3ff) << 1))
4734 /* An XL form instruction which uses the LK field. */
4735 #define XLLK(op, xop, lk) (XL ((op), (xop)) | ((lk) & 1))
4737 /* The mask for an XL form instruction. */
4738 #define XL_MASK XLLK (0x3f, 0x3ff, 1)
4740 /* An XL_MASK with the RT, RA and RB fields fixed, but S bit clear. */
4741 #define XLS_MASK ((XL_MASK | RT_MASK | RA_MASK | RB_MASK) & ~(1 << 11))
4743 /* An XL form instruction which explicitly sets the BO field. */
4744 #define XLO(op, bo, xop, lk) \
4745 (XLLK ((op), (xop), (lk)) | ((((uint64_t)(bo)) & 0x1f) << 21))
4746 #define XLO_MASK (XL_MASK | BO_MASK)
4748 /* An XL form instruction which sets the BO field and the condition
4749 bits of the BI field. */
4750 #define XLOCB(op, bo, cb, xop, lk) \
4751 (XLO ((op), (bo), (xop), (lk)) | ((((uint64_t)(cb)) & 3) << 16))
4753 /* An XL_MASK with the BB field fixed. */
4754 #define XLBB_MASK (XL_MASK | BB_MASK)
4756 /* A mask for branch instructions using the BH field. */
4757 #define XLBH_MASK (XL_MASK | (BB_MASK & ~(3 << 11)))
4759 /* An XLBH_MASK with the BO field fixed. */
4760 #define XLBOBB_MASK (XLBH_MASK | BO_MASK)
4762 /* An XLBH_MASK with the BO and BI fields fixed. */
4763 #define XLBOBIBB_MASK (XLBOBB_MASK | BI_MASK)
4765 /* An XLBH_MASK with the BO and condition bits of the BI fields fixed. */
4766 #define XLBOCBBB_MASK (XLBOBB_MASK | (3 << 16))
4768 /* An X form mbar instruction with MO field. */
4769 #define XMBAR(op, xop, mo) \
4771 | ((((uint64_t)(mo)) & 1) << 21))
4773 /* An XO form instruction. */
4774 #define XO(op, xop, oe, rc) \
4776 | ((((uint64_t)(xop)) & 0x1ff) << 1) \
4777 | ((((uint64_t)(oe)) & 1) << 10) \
4778 | (((unsigned long)(rc)) & 1))
4779 #define XO_MASK XO (0x3f, 0x1ff, 1, 1)
4780 #define XOL_MASK XO (0x3f, 0x1ff, 0, 1)
4782 /* An XO_MASK with the RB field fixed. */
4783 #define XORB_MASK (XO_MASK | RB_MASK)
4785 /* An XOPS form instruction for paired singles. */
4786 #define XOPS(op, xop, rc) \
4788 | ((((uint64_t)(xop)) & 0x3ff) << 1) \
4789 | (((uint64_t)(rc)) & 1))
4790 #define XOPS_MASK XOPS (0x3f, 0x3ff, 1)
4793 /* An XS form instruction. */
4794 #define XS(op, xop, rc) \
4796 | ((((uint64_t)(xop)) & 0x1ff) << 2) \
4797 | (((uint64_t)(rc)) & 1))
4798 #define XS_MASK XS (0x3f, 0x1ff, 1)
4800 /* A mask for the FXM version of an XFX form instruction. */
4801 #define XFXFXM_MASK (X_MASK | (1 << 11) | (1 << 20))
4803 /* An XFX form instruction with the FXM field filled in. */
4804 #define XFXM(op, xop, fxm, p4) \
4806 | ((((uint64_t)(fxm)) & 0xff) << 12) \
4807 | ((uint64_t)(p4) << 20))
4809 /* An XFX form instruction with the SPR field filled in. */
4810 #define XSPR(op, xop, spr) \
4812 | ((((uint64_t)(spr)) & 0x1f) << 16) \
4813 | ((((uint64_t)(spr)) & 0x3e0) << 6))
4814 #define XSPR_MASK (X_MASK | SPR_MASK)
4816 /* An XFX form instruction with the SPR field filled in except for the
4818 #define XSPRBAT_MASK (XSPR_MASK &~ SPRBAT_MASK)
4820 /* An XFX form instruction with the SPR field filled in except for the
4822 #define XSPRGQR_MASK (XSPR_MASK &~ SPRGQR_MASK)
4824 /* An XFX form instruction with the SPR field filled in except for the
4826 #define XSPRG_MASK (XSPR_MASK & ~(0x1f << 16))
4828 /* An X form instruction with everything filled in except the E field. */
4829 #define XE_MASK (0xffff7fff)
4831 /* An X form user context instruction. */
4832 #define XUC(op, xop) (OP (op) | (((uint64_t)(xop)) & 0x1f))
4833 #define XUC_MASK XUC(0x3f, 0x1f)
4835 /* An XW form instruction. */
4836 #define XW(op, xop, rc) \
4838 | ((((uint64_t)(xop)) & 0x3f) << 1) \
4840 /* The mask for a G form instruction. rc not supported at present. */
4841 #define XW_MASK XW (0x3f, 0x3f, 0)
4843 /* An APU form instruction. */
4844 #define APU(op, xop, rc) \
4846 | (((uint64_t)(xop)) & 0x3ff) << 1 \
4849 /* The mask for an APU form instruction. */
4850 #define APU_MASK APU (0x3f, 0x3ff, 1)
4851 #define APU_RT_MASK (APU_MASK | RT_MASK)
4852 #define APU_RA_MASK (APU_MASK | RA_MASK)
4854 /* An SVL form instruction. */
4855 #define SVL(op, xop, rc) \
4857 | ((((uint64_t)(xop)) & 0x1f) << 1) \
4858 | (((uint64_t)(rc)) & 1))
4859 #define SVL_MASK SVL (0x3f, 0x1f, 1)
4861 /* An SVM form instruction. */
4862 #define SVM(op, xop) \
4864 | (((uint64_t)(xop)) & 0x3f))
4865 #define SVM_MASK SVM (0x3f, 0x3f)
4867 /* An SVRM form instruction. */
4868 #define SVRM(op, xop) \
4870 | (((uint64_t)(xop)) & 0x3f))
4871 #define SVRM_MASK SVRM (0x3f, 0x3f)
4873 /* An SVI form instruction. */
4874 #define SVI(op, xop) \
4876 | (((uint64_t)(xop)) & 0x3f))
4877 #define SVI_MASK SVI (0x3f, 0x3f)
4879 /* The BO encodings used in extended conditional branch mnemonics. */
4880 #define BODNZF (0x0)
4881 #define BODNZFP (0x1)
4883 #define BODZFP (0x3)
4884 #define BODNZT (0x8)
4885 #define BODNZTP (0x9)
4887 #define BODZTP (0xb)
4898 #define BODNZ (0x10)
4899 #define BODNZP (0x11)
4901 #define BODZP (0x13)
4902 #define BODNZM4 (0x18)
4903 #define BODNZP4 (0x19)
4904 #define BODZM4 (0x1a)
4905 #define BODZP4 (0x1b)
4909 /* The BO16 encodings used in extended VLE conditional branch mnemonics. */
4913 /* The BO32 encodings used in extended VLE conditional branch mnemonics. */
4916 #define BO32DNZ (0x2)
4917 #define BO32DZ (0x3)
4919 /* The BI condition bit encodings used in extended conditional branch
4926 /* The TO encodings used in extended trap mnemonics. */
4943 /* Smaller names for the flags so each entry in the opcodes table will
4944 fit on a single line. */
4946 #define PPC PPC_OPCODE_PPC
4947 #define PPCCOM PPC_OPCODE_PPC | PPC_OPCODE_COMMON
4948 #define POWER4 PPC_OPCODE_POWER4
4949 #define POWER5 PPC_OPCODE_POWER5
4950 #define POWER6 PPC_OPCODE_POWER6
4951 #define POWER7 PPC_OPCODE_POWER7
4952 #define POWER8 PPC_OPCODE_POWER8
4953 #define POWER9 PPC_OPCODE_POWER9
4954 #define POWER10 PPC_OPCODE_POWER10
4955 #define FUTURE PPC_OPCODE_FUTURE
4956 #define CELL PPC_OPCODE_CELL
4957 #define PPC64 PPC_OPCODE_64 | PPC_OPCODE_64_BRIDGE
4958 #define NON32 (PPC_OPCODE_64 | PPC_OPCODE_POWER4 \
4959 | PPC_OPCODE_EFS | PPC_OPCODE_E500MC | PPC_OPCODE_TITAN)
4960 #define PPC403 PPC_OPCODE_403
4961 #define PPC405 PPC_OPCODE_405
4962 #define PPC440 PPC_OPCODE_440
4963 #define PPC464 PPC440
4964 #define PPC476 PPC_OPCODE_476
4965 #define PPC750 PPC_OPCODE_750
4966 #define GEKKO PPC_OPCODE_750
4967 #define BROADWAY PPC_OPCODE_750
4968 #define PPC7450 PPC_OPCODE_7450
4969 #define PPC860 PPC_OPCODE_860
4970 #define PPCPS PPC_OPCODE_PPCPS
4971 #define PPCVEC PPC_OPCODE_ALTIVEC
4972 #define PPCVEC2 (PPC_OPCODE_POWER8 | PPC_OPCODE_E6500)
4973 #define PPCVEC3 PPC_OPCODE_POWER9
4974 #define PPCVSX PPC_OPCODE_VSX
4975 #define PPCVSX2 PPC_OPCODE_POWER8
4976 #define PPCVSX3 PPC_OPCODE_POWER9
4977 #define PPCVSX4 PPC_OPCODE_POWER10
4978 #define PPCVSXF PPC_OPCODE_FUTURE
4979 #define POWER PPC_OPCODE_POWER
4980 #define POWER2 PPC_OPCODE_POWER | PPC_OPCODE_POWER2
4981 #define PWR2COM PPC_OPCODE_POWER | PPC_OPCODE_POWER2 | PPC_OPCODE_COMMON
4982 #define PPCPWR2 (PPC_OPCODE_PPC | PPC_OPCODE_POWER | PPC_OPCODE_POWER2 \
4983 | PPC_OPCODE_COMMON)
4984 #define COM PPC_OPCODE_POWER | PPC_OPCODE_PPC | PPC_OPCODE_COMMON
4985 #define M601 PPC_OPCODE_POWER | PPC_OPCODE_601
4986 #define PWRCOM PPC_OPCODE_POWER | PPC_OPCODE_601 | PPC_OPCODE_COMMON
4987 #define MFDEC1 PPC_OPCODE_POWER
4988 #define MFDEC2 (PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE \
4990 #define BOOKE PPC_OPCODE_BOOKE
4991 #define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS
4992 #define PPCE300 PPC_OPCODE_E300
4993 #define PPCSPE PPC_OPCODE_SPE
4994 #define PPCSPE2 PPC_OPCODE_SPE2
4995 #define PPCISEL PPC_OPCODE_ISEL
4996 #define PPCEFS PPC_OPCODE_EFS
4997 #define PPCEFS2 PPC_OPCODE_EFS2
4998 #define PPCBRLK PPC_OPCODE_BRLOCK
4999 #define PPCPMR PPC_OPCODE_PMR
5000 #define PPCTMR PPC_OPCODE_TMR
5001 #define PPCCHLK PPC_OPCODE_CACHELCK
5002 #define PPCRFMCI PPC_OPCODE_RFMCI
5003 #define E500MC PPC_OPCODE_E500MC
5004 #define PPCA2 PPC_OPCODE_A2
5005 #define TITAN PPC_OPCODE_TITAN
5006 #define MULHW PPC_OPCODE_405 | PPC_OPCODE_440 | PPC_OPCODE_476 | TITAN
5007 #define E500 PPC_OPCODE_E500
5008 #define E6500 PPC_OPCODE_E6500
5009 #define PPCVLE PPC_OPCODE_VLE
5010 #define PPCHTM PPC_OPCODE_POWER8
5011 #define E200Z4 PPC_OPCODE_E200Z4
5012 #define PPCLSP PPC_OPCODE_LSP
5013 #define SVP64 PPC_OPCODE_SVP64
5014 /* Used to mark extended mnemonic in deprecated field so that -Mraw
5015 won't use this variant in disassembly. */
5016 #define EXT PPC_OPCODE_RAW
5018 /* The opcode table.
5020 The format of the opcode table is:
5022 NAME OPCODE MASK FLAGS ANTI {OPERANDS}
5024 NAME is the name of the instruction.
5025 OPCODE is the instruction opcode.
5026 MASK is the opcode mask; this is used to tell the disassembler
5027 which bits in the actual opcode must match OPCODE.
5028 FLAGS are flags indicating which processors support the instruction.
5029 ANTI indicates which processors don't support the instruction.
5030 OPERANDS is the list of operands.
5032 The disassembler reads the table in order and prints the first
5033 instruction which matches, so this table is sorted to put more
5034 specific instructions before more general instructions.
5036 This table must be sorted by major opcode. Please try to keep it
5037 vaguely sorted within major opcode too, except of course where
5038 constrained otherwise by disassembler operation. */
5040 const struct powerpc_opcode powerpc_opcodes
[] = {
5041 {"attn", X(0,256), X_MASK
, POWER4
|PPCA2
, PPC476
|PPCVLE
, {0}},
5042 {"tdlgti", OPTO(2,TOLGT
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5043 {"tdllti", OPTO(2,TOLLT
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5044 {"tdeqi", OPTO(2,TOEQ
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5045 {"tdlgei", OPTO(2,TOLGE
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5046 {"tdlnli", OPTO(2,TOLNL
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5047 {"tdllei", OPTO(2,TOLLE
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5048 {"tdlngi", OPTO(2,TOLNG
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5049 {"tdgti", OPTO(2,TOGT
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5050 {"tdgei", OPTO(2,TOGE
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5051 {"tdnli", OPTO(2,TONL
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5052 {"tdlti", OPTO(2,TOLT
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5053 {"tdlei", OPTO(2,TOLE
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5054 {"tdngi", OPTO(2,TONG
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5055 {"tdnei", OPTO(2,TONE
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5056 {"tdui", OPTO(2,TOU
), OPTO_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, SI
}},
5057 {"tdi", OP(2), OP_MASK
, PPC64
, PPCVLE
, {TO
, RA
, SI
}},
5059 {"twlgti", OPTO(3,TOLGT
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5060 {"tlgti", OPTO(3,TOLGT
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5061 {"twllti", OPTO(3,TOLLT
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5062 {"tllti", OPTO(3,TOLLT
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5063 {"tweqi", OPTO(3,TOEQ
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5064 {"teqi", OPTO(3,TOEQ
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5065 {"twlgei", OPTO(3,TOLGE
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5066 {"tlgei", OPTO(3,TOLGE
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5067 {"twlnli", OPTO(3,TOLNL
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5068 {"tlnli", OPTO(3,TOLNL
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5069 {"twllei", OPTO(3,TOLLE
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5070 {"tllei", OPTO(3,TOLLE
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5071 {"twlngi", OPTO(3,TOLNG
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5072 {"tlngi", OPTO(3,TOLNG
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5073 {"twgti", OPTO(3,TOGT
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5074 {"tgti", OPTO(3,TOGT
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5075 {"twgei", OPTO(3,TOGE
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5076 {"tgei", OPTO(3,TOGE
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5077 {"twnli", OPTO(3,TONL
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5078 {"tnli", OPTO(3,TONL
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5079 {"twlti", OPTO(3,TOLT
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5080 {"tlti", OPTO(3,TOLT
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5081 {"twlei", OPTO(3,TOLE
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5082 {"tlei", OPTO(3,TOLE
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5083 {"twngi", OPTO(3,TONG
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5084 {"tngi", OPTO(3,TONG
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5085 {"twnei", OPTO(3,TONE
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5086 {"tnei", OPTO(3,TONE
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5087 {"twui", OPTO(3,TOU
), OPTO_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5088 {"tui", OPTO(3,TOU
), OPTO_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, SI
}},
5089 {"twi", OP(3), OP_MASK
, PPCCOM
, PPCVLE
, {TO
, RA
, SI
}},
5090 {"ti", OP(3), OP_MASK
, PWRCOM
, PPCVLE
, {TO
, RA
, SI
}},
5092 {"ps_cmpu0", X (4, 0), XBF_MASK
, PPCPS
, 0, {BF
, FRA
, FRB
}},
5093 {"vaddubm", VX (4, 0), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5094 {"vmul10cuq", VX (4, 1), VXVB_MASK
, PPCVEC3
, 0, {VD
, VA
}},
5095 {"vmaxub", VX (4, 2), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5096 {"vrlb", VX (4, 4), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5097 {"vrlq", VX (4, 5), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5098 {"vcmpequb", VXR(4, 6,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5099 {"vcmpneb", VXR(4, 7,0), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5100 {"vmuloub", VX (4, 8), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5101 {"vaddfp", VX (4, 10), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5102 {"vdivuq", VX (4, 11), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5103 {"psq_lx", XW (4, 6,0), XW_MASK
, PPCPS
, 0, {FRT
,RA
,RB
,PSWM
,PSQM
}},
5104 {"vmrghb", VX (4, 12), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5105 {"vstribl", VXVA(4,13,0), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5106 {"vstribr", VXVA(4,13,1), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5107 {"vstrihl", VXVA(4,13,2), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5108 {"vstrihr", VXVA(4,13,3), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5109 {"psq_stx", XW (4, 7,0), XW_MASK
, PPCPS
, 0, {FRS
,RA
,RB
,PSWM
,PSQM
}},
5110 {"vpkuhum", VX (4, 14), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5111 {"vinsbvlx", VX (4, 15), VX_MASK
, POWER10
, 0, {VD
, RA
, VB
}},
5112 {"mulhhwu", XRC(4, 8,0), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5113 {"mulhhwu.", XRC(4, 8,1), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5114 {"mtvsrbmi", DX (4,10), DX_MASK
, POWER10
, 0, {VD
, DXD
}},
5115 {"ps_sum0", A (4, 10,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5116 {"ps_sum0.", A (4, 10,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5117 {"vsldbi", VX (4, 22), VXSH_MASK
, POWER10
, 0, {VD
, VA
, VB
, SH3
}},
5118 {"ps_sum1", A (4, 11,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5119 {"ps_sum1.", A (4, 11,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5120 {"vextdubvlx", VX (4, 24), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5121 {"ps_muls0", A (4, 12,0), AFRB_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
}},
5122 {"machhwu", XO (4, 12,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5123 {"vextdubvrx", VX (4, 25), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5124 {"ps_muls0.", A (4, 12,1), AFRB_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
}},
5125 {"machhwu.", XO (4, 12,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5126 {"vextduhvlx", VX (4, 26), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5127 {"ps_muls1", A (4, 13,0), AFRB_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
}},
5128 {"vextduhvrx", VX (4, 27), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5129 {"ps_muls1.", A (4, 13,1), AFRB_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
}},
5130 {"vextduwvlx", VX (4, 28), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5131 {"ps_madds0", A (4, 14,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5132 {"vextduwvrx", VX (4, 29), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5133 {"ps_madds0.", A (4, 14,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5134 {"vextddvlx", VX (4, 30), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5135 {"ps_madds1", A (4, 15,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5136 {"vextddvrx", VX (4, 31), VXRC_MASK
, POWER10
, 0, {VD
, VA
, VB
, RC
}},
5137 {"ps_madds1.", A (4, 15,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5138 {"vmhaddshs", VXA(4, 32), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5139 {"vmhraddshs", VXA(4, 33), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5140 {"vmladduhm", VXA(4, 34), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5141 {"vmsumudm", VXA(4, 35), VXA_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
, VC
}},
5142 {"ps_div", A (4, 18,0), AFRC_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5143 {"vmsumcud", VXA(4, 23), VXA_MASK
, POWER10
, 0, {VD
, VA
, VB
, VC
}},
5144 {"vmsumubm", VXA(4, 36), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5145 {"ps_div.", A (4, 18,1), AFRC_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5146 {"vmsummbm", VXA(4, 37), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5147 {"vmsumuhm", VXA(4, 38), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5148 {"vmsumuhs", VXA(4, 39), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5149 {"ps_sub", A (4, 20,0), AFRC_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5150 {"vmsumshm", VXA(4, 40), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5151 {"ps_sub.", A (4, 20,1), AFRC_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5152 {"vmsumshs", VXA(4, 41), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5153 {"ps_add", A (4, 21,0), AFRC_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5154 {"vsel", VXA(4, 42), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5155 {"ps_add.", A (4, 21,1), AFRC_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5156 {"vperm", VXA(4, 43), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, VC
}},
5157 {"vsldoi", VXA(4, 44), VXASHB_MASK
, PPCVEC
, 0, {VD
, VA
, VB
, SHB
}},
5158 {"vpermxor", VXA(4, 45), VXA_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, VC
}},
5159 {"ps_sel", A (4, 23,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5160 {"vmaddfp", VXA(4, 46), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VC
, VB
}},
5161 {"ps_sel.", A (4, 23,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5162 {"vnmsubfp", VXA(4, 47), VXA_MASK
, PPCVEC
, 0, {VD
, VA
, VC
, VB
}},
5163 {"ps_res", A (4, 24,0), AFRAFRC_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5164 {"maddhd", VXA(4, 48), VXA_MASK
, POWER9
, 0, {RT
, RA
, RB
, RC
}},
5165 {"ps_res.", A (4, 24,1), AFRAFRC_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5166 {"maddhdu", VXA(4, 49), VXA_MASK
, POWER9
, 0, {RT
, RA
, RB
, RC
}},
5167 {"ps_mul", A (4, 25,0), AFRB_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
}},
5168 {"ps_mul.", A (4, 25,1), AFRB_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
}},
5169 {"maddld", VXA(4, 51), VXA_MASK
, POWER9
, 0, {RT
, RA
, RB
, RC
}},
5170 {"ps_rsqrte", A (4, 26,0), AFRAFRC_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5171 {"ps_rsqrte.", A (4, 26,1), AFRAFRC_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5172 {"ps_msub", A (4, 28,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5173 {"ps_msub.", A (4, 28,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5174 {"ps_madd", A (4, 29,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5175 {"ps_madd.", A (4, 29,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5176 {"vpermr", VXA(4, 59), VXA_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
, VC
}},
5177 {"ps_nmsub", A (4, 30,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5178 {"vaddeuqm", VXA(4, 60), VXA_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, VC
}},
5179 {"ps_nmsub.", A (4, 30,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5180 {"vaddecuq", VXA(4, 61), VXA_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, VC
}},
5181 {"ps_nmadd", A (4, 31,0), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5182 {"vsubeuqm", VXA(4, 62), VXA_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, VC
}},
5183 {"ps_nmadd.", A (4, 31,1), A_MASK
, PPCPS
, 0, {FRT
, FRA
, FRC
, FRB
}},
5184 {"vsubecuq", VXA(4, 63), VXA_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, VC
}},
5185 {"ps_cmpo0", X (4, 32), XBF_MASK
, PPCPS
, 0, {BF
, FRA
, FRB
}},
5186 {"vadduhm", VX (4, 64), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5187 {"vmul10ecuq", VX (4, 65), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5188 {"vmaxuh", VX (4, 66), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5189 {"vrlh", VX (4, 68), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5190 {"vrlqmi", VX (4, 69), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5191 {"vcmpequh", VXR(4, 70,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5192 {"vcmpneh", VXR(4, 71,0), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5193 {"vmulouh", VX (4, 72), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5194 {"vsubfp", VX (4, 74), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5195 {"psq_lux", XW (4, 38,0), XW_MASK
, PPCPS
, 0, {FRT
,RA
,RB
,PSWM
,PSQM
}},
5196 {"vmrghh", VX (4, 76), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5197 {"psq_stux", XW (4, 39,0), XW_MASK
, PPCPS
, 0, {FRS
,RA
,RB
,PSWM
,PSQM
}},
5198 {"vpkuwum", VX (4, 78), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5199 {"vinshvlx", VX (4, 79), VX_MASK
, POWER10
, 0, {VD
, RA
, VB
}},
5200 {"ps_neg", XRC(4, 40,0), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5201 {"mulhhw", XRC(4, 40,0), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5202 {"ps_neg.", XRC(4, 40,1), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5203 {"mulhhw.", XRC(4, 40,1), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5204 {"machhw", XO (4, 44,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5205 {"machhw.", XO (4, 44,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5206 {"nmachhw", XO (4, 46,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5207 {"nmachhw.", XO (4, 46,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5208 {"ps_cmpu1", X (4, 64), XBF_MASK
, PPCPS
, 0, {BF
, FRA
, FRB
}},
5209 {"vadduwm", VX (4, 128), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5210 {"vmaxuw", VX (4, 130), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5211 {"vrlw", VX (4, 132), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5212 {"vrlwmi", VX (4, 133), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5213 {"vcmpequw", VXR(4, 134,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5214 {"vcmpnew", VXR(4, 135,0), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5215 {"vmulouw", VX (4, 136), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5216 {"vmuluwm", VX (4, 137), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5217 {"vdivuw", VX (4, 139), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5218 {"vmrghw", VX (4, 140), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5219 {"vpkuhus", VX (4, 142), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5220 {"vinswvlx", VX (4, 143), VX_MASK
, POWER10
, 0, {VD
, RA
, VB
}},
5221 {"ps_mr", XRC(4, 72,0), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5222 {"ps_mr.", XRC(4, 72,1), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5223 {"machhwsu", XO (4, 76,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5224 {"machhwsu.", XO (4, 76,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5225 {"ps_cmpo1", X (4, 96), XBF_MASK
, PPCPS
, 0, {BF
, FRA
, FRB
}},
5226 {"vaddudm", VX (4, 192), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5227 {"vmaxud", VX (4, 194), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5228 {"vrld", VX (4, 196), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5229 {"vrldmi", VX (4, 197), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5230 {"vcmpeqfp", VXR(4, 198,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5231 {"vcmpequd", VXR(4, 199,0), VXR_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5232 {"vmuloud", VX (4, 200), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5233 {"vdivud", VX (4, 203), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5234 {"vpkuwus", VX (4, 206), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5235 {"vinsw", VX (4, 207), VXUIMM4_MASK
, POWER10
, 0, {VD
, RB
, UIMM4
}},
5236 {"machhws", XO (4, 108,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5237 {"machhws.", XO (4, 108,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5238 {"nmachhws", XO (4, 110,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5239 {"nmachhws.", XO (4, 110,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5240 {"vadduqm", VX (4, 256), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5241 {"vcmpuq", VX (4, 257), VXBF_MASK
, POWER10
, 0, {BF
, VA
, VB
}},
5242 {"vmaxsb", VX (4, 258), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5243 {"vslb", VX (4, 260), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5244 {"vslq", VX (4, 261), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5245 {"vcmpnezb", VXR(4, 263,0), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5246 {"vmulosb", VX (4, 264), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5247 {"vrefp", VX (4, 266), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5248 {"vdivsq", VX (4, 267), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5249 {"vmrglb", VX (4, 268), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5250 {"vpkshus", VX (4, 270), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5251 {"vinsbvrx", VX (4, 271), VX_MASK
, POWER10
, 0, {VD
, RA
, VB
}},
5252 {"ps_nabs", XRC(4, 136,0), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5253 {"mulchwu", XRC(4, 136,0), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5254 {"ps_nabs.", XRC(4, 136,1), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5255 {"mulchwu.", XRC(4, 136,1), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5256 {"macchwu", XO (4, 140,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5257 {"macchwu.", XO (4, 140,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5258 {"vaddcuq", VX (4, 320), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5259 {"vcmpsq", VX (4, 321), VXBF_MASK
, POWER10
, 0, {BF
, VA
, VB
}},
5260 {"vmaxsh", VX (4, 322), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5261 {"vslh", VX (4, 324), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5262 {"vrlqnm", VX (4, 325), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5263 {"vcmpnezh", VXR(4, 327,0), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5264 {"vmulosh", VX (4, 328), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5265 {"vrsqrtefp", VX (4, 330), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5266 {"vmrglh", VX (4, 332), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5267 {"vpkswus", VX (4, 334), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5268 {"vinshvrx", VX (4, 335), VX_MASK
, POWER10
, 0, {VD
, RA
, VB
}},
5269 {"mulchw", XRC(4, 168,0), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5270 {"mulchw.", XRC(4, 168,1), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5271 {"macchw", XO (4, 172,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5272 {"macchw.", XO (4, 172,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5273 {"nmacchw", XO (4, 174,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5274 {"nmacchw.", XO (4, 174,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5275 {"vaddcuw", VX (4, 384), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5276 {"vmaxsw", VX (4, 386), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5277 {"vslw", VX (4, 388), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5278 {"vrlwnm", VX (4, 389), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5279 {"vcmpnezw", VXR(4, 391,0), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5280 {"vmulosw", VX (4, 392), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5281 {"vexptefp", VX (4, 394), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5282 {"vdivsw", VX (4, 395), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5283 {"vmrglw", VX (4, 396), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5284 {"vclrlb", VX (4, 397), VX_MASK
, POWER10
, 0, {VD
, VA
, RB
}},
5285 {"vpkshss", VX (4, 398), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5286 {"vinswvrx", VX (4, 399), VX_MASK
, POWER10
, 0, {VD
, RA
, VB
}},
5287 {"macchwsu", XO (4, 204,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5288 {"macchwsu.", XO (4, 204,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5289 {"vmaxsd", VX (4, 450), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5290 {"vsl", VX (4, 452), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5291 {"vrldnm", VX (4, 453), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5292 {"vcmpgefp", VXR(4, 454,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5293 {"vcmpequq", VXR(4, 455,0), VXR_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5294 {"vmulosd", VX (4, 456), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5295 {"vmulld", VX (4, 457), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5296 {"vlogefp", VX (4, 458), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5297 {"vdivsd", VX (4, 459), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5298 {"vclrrb", VX (4, 461), VX_MASK
, POWER10
, 0, {VD
, VA
, RB
}},
5299 {"vpkswss", VX (4, 462), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5300 {"vinsd", VX (4, 463), VXUIMM4_MASK
, POWER10
, 0, {VD
, RB
, UIMM4
}},
5301 {"macchws", XO (4, 236,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5302 {"macchws.", XO (4, 236,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5303 {"nmacchws", XO (4, 238,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5304 {"nmacchws.", XO (4, 238,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5305 {"evaddw", VX (4, 512), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5306 {"vaddubs", VX (4, 512), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5307 {"vmul10uq", VX (4, 513), VXVB_MASK
, PPCVEC3
, 0, {VD
, VA
}},
5308 {"evaddiw", VX (4, 514), VX_MASK
, PPCSPE
, 0, {RS
, RB
, UIMM
}},
5309 {"vminub", VX (4, 514), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5310 {"evsubw", VX (4, 516), VX_MASK
, PPCSPE
, EXT
, {RS
, RB
, RA
}},
5311 {"evsubfw", VX (4, 516), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5312 {"vsrb", VX (4, 516), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5313 {"vsrq", VX (4, 517), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5314 {"evsubiw", VX (4, 518), VX_MASK
, PPCSPE
, EXT
, {RS
, RB
, UIMM
}},
5315 {"evsubifw", VX (4, 518), VX_MASK
, PPCSPE
, 0, {RS
, UIMM
, RB
}},
5316 {"vcmpgtub", VXR(4, 518,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5317 {"evabs", VX (4, 520), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5318 {"vmuleub", VX (4, 520), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5319 {"evneg", VX (4, 521), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5320 {"evextsb", VX (4, 522), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5321 {"vrfin", VX (4, 522), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5322 {"vdiveuq", VX (4, 523), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5323 {"evextsh", VX (4, 523), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5324 {"evrndw", VX (4, 524), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5325 {"vspltb", VX (4, 524), VXUIMM4_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM4
}},
5326 {"vextractub", VX (4, 525), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5327 {"evcntlzw", VX (4, 525), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5328 {"evcntlsw", VX (4, 526), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5329 {"vupkhsb", VX (4, 526), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5330 {"vinsblx", VX (4, 527), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5331 {"brinc", VX (4, 527), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5332 {"ps_abs", XRC(4, 264,0), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5333 {"ps_abs.", XRC(4, 264,1), XRA_MASK
, PPCPS
, 0, {FRT
, FRB
}},
5334 {"evand", VX (4, 529), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5335 {"evandc", VX (4, 530), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5336 {"vsrdbi", VX (4, 534), VXSH_MASK
, POWER10
, 0, {VD
, VA
, VB
, SH3
}},
5337 {"evxor", VX (4, 534), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5338 {"evmr", VX (4, 535), VX_MASK
, PPCSPE
, EXT
, {RS
, RAB
}},
5339 {"evor", VX (4, 535), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5340 {"evnot", VX (4, 536), VX_MASK
, PPCSPE
, EXT
, {RS
, RAB
}},
5341 {"evnor", VX (4, 536), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5342 {"get", APU(4, 268,0), APU_RA_MASK
, PPC405
, 0, {RT
, FSL
}},
5343 {"eveqv", VX (4, 537), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5344 {"evorc", VX (4, 539), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5345 {"evnand", VX (4, 542), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5346 {"evsrwu", VX (4, 544), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5347 {"evsrws", VX (4, 545), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5348 {"evsrwiu", VX (4, 546), VX_MASK
, PPCSPE
, 0, {RS
, RA
, EVUIMM
}},
5349 {"evsrwis", VX (4, 547), VX_MASK
, PPCSPE
, 0, {RS
, RA
, EVUIMM
}},
5350 {"evslw", VX (4, 548), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5351 {"evslwi", VX (4, 550), VX_MASK
, PPCSPE
, 0, {RS
, RA
, EVUIMM
}},
5352 {"evrlw", VX (4, 552), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5353 {"evsplati", VX (4, 553), VX_MASK
, PPCSPE
, 0, {RS
, SIMM
}},
5354 {"evrlwi", VX (4, 554), VX_MASK
, PPCSPE
, 0, {RS
, RA
, EVUIMM
}},
5355 {"evsplatfi", VX (4, 555), VX_MASK
, PPCSPE
, 0, {RS
, SIMM
}},
5356 {"evmergehi", VX (4, 556), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5357 {"evmergelo", VX (4, 557), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5358 {"evmergehilo", VX (4, 558), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5359 {"evmergelohi", VX (4, 559), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5360 {"evcmpgtu", VX (4, 560), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5361 {"evcmpgts", VX (4, 561), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5362 {"evcmpltu", VX (4, 562), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5363 {"evcmplts", VX (4, 563), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5364 {"evcmpeq", VX (4, 564), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5365 {"cget", APU(4, 284,0), APU_RA_MASK
, PPC405
, 0, {RT
, FSL
}},
5366 {"vadduhs", VX (4, 576), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5367 {"vmul10euq", VX (4, 577), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5368 {"vminuh", VX (4, 578), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5369 {"vsrh", VX (4, 580), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5370 {"vcmpgtuh", VXR(4, 582,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5371 {"vmuleuh", VX (4, 584), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5372 {"vrfiz", VX (4, 586), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5373 {"vsplth", VX (4, 588), VXUIMM3_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM3
}},
5374 {"vextractuh", VX (4, 589), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5375 {"vupkhsh", VX (4, 590), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5376 {"vinshlx", VX (4, 591), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5377 {"nget", APU(4, 300,0), APU_RA_MASK
, PPC405
, 0, {RT
, FSL
}},
5378 {"evsel", EVSEL(4,79), EVSEL_MASK
, PPCSPE
, 0, {RS
, RA
, RB
, CRFS
}},
5379 {"ncget", APU(4, 316,0), APU_RA_MASK
, PPC405
, 0, {RT
, FSL
}},
5380 {"evfsadd", VX (4, 640), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5381 {"vadduws", VX (4, 640), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5382 {"evfssub", VX (4, 641), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5383 {"evfsmadd", VX (4, 642), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5384 {"vminuw", VX (4, 642), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5385 {"evfsmsub", VX (4, 643), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5386 {"evfsabs", VX (4, 644), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5387 {"vsrw", VX (4, 644), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5388 {"evfsnabs", VX (4, 645), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5389 {"evfsneg", VX (4, 646), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5390 {"vcmpgtuw", VXR(4, 646,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5391 {"vcmpgtuq", VXR(4, 647,0), VXR_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5392 {"evfssqrt", VX_RB_CONST(4, 647, 0), VX_RB_CONST_MASK
, PPCEFS2
, 0, {RD
, RA
}},
5393 {"vmuleuw", VX (4, 648), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5394 {"evfsmul", VX (4, 648), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5395 {"vmulhuw", VX (4, 649), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5396 {"evfsdiv", VX (4, 649), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5397 {"evfsnmadd", VX (4, 650), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5398 {"vrfip", VX (4, 650), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5399 {"vdiveuw", VX (4, 651), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5400 {"evfsnmsub", VX (4, 651), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5401 {"evfscmpgt", VX (4, 652), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5402 {"vspltw", VX (4, 652), VXUIMM2_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM2
}},
5403 {"vextractuw", VX (4, 653), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5404 {"evfscmplt", VX (4, 653), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5405 {"evfscmpeq", VX (4, 654), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5406 {"vupklsb", VX (4, 654), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5407 {"vinswlx", VX (4, 655), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5408 {"evfscfui", VX (4, 656), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5409 {"evfscfh", VX_RA_CONST(4, 657, 4), VX_RA_CONST_MASK
, PPCEFS2
, 0, {RD
, RB
}},
5410 {"evfscfsi", VX (4, 657), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5411 {"evfscfuf", VX (4, 658), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5412 {"evfscfsf", VX (4, 659), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5413 {"evfsctui", VX (4, 660), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5414 {"evfscth", VX_RA_CONST(4, 661, 4), VX_RA_CONST_MASK
, PPCEFS2
, 0, {RD
, RB
}},
5415 {"evfsctsi", VX (4, 661), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5416 {"evfsctuf", VX (4, 662), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5417 {"evfsctsf", VX (4, 663), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5418 {"evfsctuiz", VX (4, 664), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5419 {"put", APU(4, 332,0), APU_RT_MASK
, PPC405
, 0, {RA
, FSL
}},
5420 {"evfsctsiz", VX (4, 666), VX_MASK
, PPCSPE
, 0, {RS
, RB
}},
5421 {"evfststgt", VX (4, 668), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5422 {"evfststlt", VX (4, 669), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5423 {"evfststeq", VX (4, 670), VX_MASK
, PPCSPE
, 0, {CRFD
, RA
, RB
}},
5424 {"evfsmax", VX (4, 672), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5425 {"evfsmin", VX (4, 673), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5426 {"evfsaddsub", VX (4, 674), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5427 {"evfssubadd", VX (4, 675), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5428 {"evfssum", VX (4, 676), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5429 {"evfsdiff", VX (4, 677), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5430 {"evfssumdiff", VX (4, 678), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5431 {"evfsdiffsum", VX (4, 679), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5432 {"evfsaddx", VX (4, 680), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5433 {"evfssubx", VX (4, 681), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5434 {"evfsaddsubx", VX (4, 682), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5435 {"evfssubaddx", VX (4, 683), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5436 {"evfsmulx", VX (4, 684), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5437 {"evfsmule", VX (4, 686), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5438 {"evfsmulo", VX (4, 687), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5439 {"efsmax", VX (4, 688), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5440 {"efsmin", VX (4, 689), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5441 {"efdmax", VX (4, 696), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5442 {"cput", APU(4, 348,0), APU_RT_MASK
, PPC405
, 0, {RA
, FSL
}},
5443 {"efdmin", VX (4, 697), VX_MASK
, PPCEFS2
, 0, {RD
, RA
, RB
}},
5444 {"efsadd", VX (4, 704), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5445 {"evsadd", VX (4, 704), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5446 {"efssub", VX (4, 705), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5447 {"evssub", VX (4, 705), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5448 {"efsmadd", VX (4, 706), VX_MASK
, PPCEFS2
, 0, {RS
, RA
, RB
}},
5449 {"vminud", VX (4, 706), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5450 {"efsmsub", VX (4, 707), VX_MASK
, PPCEFS2
, 0, {RS
, RA
, RB
}},
5451 {"efsabs", VX (4, 708), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5452 {"evsabs", VX (4, 708), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5453 {"vsr", VX (4, 708), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5454 {"efsnabs", VX (4, 709), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5455 {"evsnabs", VX (4, 709), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5456 {"efsneg", VX (4, 710), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5457 {"evsneg", VX (4, 710), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5458 {"vcmpgtfp", VXR(4, 710,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5459 {"efssqrt", VX_RB_CONST(4, 711, 0), VX_RB_CONST_MASK
,PPCEFS2
, 0, {RD
, RA
}},
5460 {"vcmpgtud", VXR(4, 711,0), VXR_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5461 {"vmuleud", VX (4, 712), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5462 {"efsmul", VX (4, 712), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5463 {"evsmul", VX (4, 712), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5464 {"vmulhud", VX (4, 713), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5465 {"efsdiv", VX (4, 713), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5466 {"evsdiv", VX (4, 713), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5467 {"efsnmadd", VX (4, 714), VX_MASK
, PPCEFS2
, 0, {RS
, RA
, RB
}},
5468 {"vrfim", VX (4, 714), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5469 {"vdiveud", VX (4, 715), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5470 {"efsnmsub", VX (4, 715), VX_MASK
, PPCEFS2
, 0, {RS
, RA
, RB
}},
5471 {"efscmpgt", VX (4, 716), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5472 {"evscmpgt", VX (4, 716), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5473 {"vextractd", VX (4, 717), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5474 {"efscmplt", VX (4, 717), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5475 {"evsgmplt", VX (4, 717), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5476 {"efscmpeq", VX (4, 718), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5477 {"evsgmpeq", VX (4, 718), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5478 {"vupklsh", VX (4, 718), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5479 {"vinsdlx", VX (4, 719), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5480 {"efscfd", VX (4, 719), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5481 {"efscfui", VX (4, 720), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5482 {"evscfui", VX (4, 720), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5483 {"efscfh", VX_RA_CONST(4, 721, 4), VX_RA_CONST_MASK
, PPCEFS2
, 0, {RD
, RB
}},
5484 {"efscfsi", VX (4, 721), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5485 {"evscfsi", VX (4, 721), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5486 {"efscfuf", VX (4, 722), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5487 {"evscfuf", VX (4, 722), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5488 {"efscfsf", VX (4, 723), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5489 {"evscfsf", VX (4, 723), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5490 {"efsctui", VX (4, 724), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5491 {"evsctui", VX (4, 724), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5492 {"efscth", VX_RA_CONST(4, 725, 4), VX_RA_CONST_MASK
, PPCEFS2
, 0, {RD
, RB
}},
5493 {"efsctsi", VX (4, 725), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5494 {"evsctsi", VX (4, 725), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5495 {"efsctuf", VX (4, 726), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5496 {"evsctuf", VX (4, 726), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5497 {"efsctsf", VX (4, 727), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5498 {"evsctsf", VX (4, 727), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5499 {"efsctuiz", VX (4, 728), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5500 {"evsctuiz", VX (4, 728), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5501 {"nput", APU(4, 364,0), APU_RT_MASK
, PPC405
, 0, {RA
, FSL
}},
5502 {"efsctsiz", VX (4, 730), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5503 {"evsctsiz", VX (4, 730), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5504 {"efststgt", VX (4, 732), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5505 {"evststgt", VX (4, 732), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5506 {"efststlt", VX (4, 733), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5507 {"evststlt", VX (4, 733), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5508 {"efststeq", VX (4, 734), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5509 {"evststeq", VX (4, 734), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5510 {"efdadd", VX (4, 736), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5511 {"efdsub", VX (4, 737), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5512 {"efdmadd", VX (4, 738), VX_MASK
, PPCEFS2
, E500
|E500MC
, {RD
, RA
, RB
}},
5513 {"efdcfuid", VX (4, 738), VX_MASK
, E500
|E500MC
,0, {RS
, RB
}},
5514 {"efdmsub", VX (4, 739), VX_MASK
, PPCEFS2
, E500
|E500MC
, {RD
, RA
, RB
}},
5515 {"efdcfsid", VX (4, 739), VX_MASK
, E500
|E500MC
,0, {RS
, RB
}},
5516 {"efdabs", VX (4, 740), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5517 {"efdnabs", VX (4, 741), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5518 {"efdneg", VX (4, 742), VX_MASK
, PPCEFS
, 0, {RS
, RA
}},
5519 {"efdsqrt", VX_RB_CONST(4, 743, 0), VX_RB_CONST_MASK
, PPCEFS2
, 0, {RD
, RA
}},
5520 {"efdmul", VX (4, 744), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5521 {"efddiv", VX (4, 745), VX_MASK
, PPCEFS
, 0, {RS
, RA
, RB
}},
5522 {"efdnmadd", VX (4, 746), VX_MASK
, PPCEFS2
, E500
|E500MC
, {RD
, RA
, RB
}},
5523 {"efdctuidz", VX (4, 746), VX_MASK
, E500
|E500MC
,0, {RS
, RB
}},
5524 {"efdnmsub", VX (4, 747), VX_MASK
, PPCEFS2
, E500
|E500MC
, {RD
, RA
, RB
}},
5525 {"efdctsidz", VX (4, 747), VX_MASK
, E500
|E500MC
,0, {RS
, RB
}},
5526 {"efdcmpgt", VX (4, 748), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5527 {"efdcmplt", VX (4, 749), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5528 {"efdcmpeq", VX (4, 750), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5529 {"efdcfs", VX (4, 751), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5530 {"efdcfui", VX_RA_CONST(4, 752, 0), VX_RA_CONST_MASK
, PPCEFS
, 0, {RS
, RB
}},
5531 {"efdcfuid", VX_RA_CONST(4, 752, 1), VX_RA_CONST_MASK
, PPCEFS
, E500
|E500MC
, {RS
, RB
}},
5532 {"efdcfsi", VX_RA_CONST(4, 753, 0), VX_RA_CONST_MASK
, PPCEFS
, 0, {RS
, RB
}},
5533 {"efdcfsid", VX_RA_CONST(4, 753, 1), VX_RA_CONST_MASK
, PPCEFS
, E500
|E500MC
, {RS
, RB
}},
5534 {"efdcfh", VX_RA_CONST(4, 753, 4), VX_RA_CONST_MASK
, PPCEFS2
, 0, {RD
, RB
}},
5535 {"efdcfuf", VX (4, 754), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5536 {"efdcfsf", VX (4, 755), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5537 {"efdctui", VX (4, 756), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5538 {"efdcth", VX_RA_CONST(4, 757, 4), VX_RA_CONST_MASK
, PPCEFS2
, 0, {RD
, RB
}},
5539 {"efdctsi", VX (4, 757), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5540 {"efdctuf", VX (4, 758), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5541 {"efdctsf", VX (4, 759), VX_MASK
, PPCEFS
, 0, {RS
, RB
}},
5542 {"efdctuiz", VX_RA_CONST(4, 760, 0), VX_RA_CONST_MASK
, PPCEFS
, 0, {RS
, RB
}},
5543 {"efdctuidz", VX_RA_CONST(4, 760, 1), VX_RA_CONST_MASK
, PPCEFS
, E500
|E500MC
, {RS
, RB
}},
5544 {"ncput", APU(4, 380,0), APU_RT_MASK
, PPC405
, 0, {RA
, FSL
}},
5545 {"efdctsiz", VX_RA_CONST(4, 762, 0), VX_RA_CONST_MASK
, PPCEFS
, 0, {RS
, RB
}},
5546 {"efdctsidz", VX_RA_CONST(4, 762, 1), VX_RA_CONST_MASK
, PPCEFS
, E500
|E500MC
, {RS
, RB
}},
5547 {"efdtstgt", VX (4, 764), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5548 {"efdtstlt", VX (4, 765), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5549 {"efdtsteq", VX (4, 766), VX_MASK
, PPCEFS
, 0, {CRFD
, RA
, RB
}},
5550 {"evlddx", VX (4, 768), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5551 {"vaddsbs", VX (4, 768), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5552 {"evldd", VX (4, 769), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_8
, RA
}},
5553 {"evldwx", VX (4, 770), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5554 {"vminsb", VX (4, 770), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5555 {"evldw", VX (4, 771), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_8
, RA
}},
5556 {"evldhx", VX (4, 772), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5557 {"vsrab", VX (4, 772), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5558 {"vsraq", VX (4, 773), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5559 {"evldh", VX (4, 773), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_8
, RA
}},
5560 {"vcmpgtsb", VXR(4, 774,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5561 {"evlhhesplatx",VX (4, 776), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5562 {"vmulesb", VX (4, 776), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5563 {"evlhhesplat", VX (4, 777), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_2
, RA
}},
5564 {"vcfux", VX (4, 778), VX_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM
}},
5565 {"vcuxwfp", VX (4, 778), VX_MASK
, PPCVEC
, EXT
, {VD
, VB
, UIMM
}},
5566 {"vdivesq", VX (4, 779), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5567 {"evlhhousplatx",VX(4, 780), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5568 {"vspltisb", VX (4, 780), VXVB_MASK
, PPCVEC
, 0, {VD
, SIMM
}},
5569 {"vinsertb", VX (4, 781), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5570 {"evlhhousplat",VX (4, 781), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_2
, RA
}},
5571 {"evlhhossplatx",VX(4, 782), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5572 {"vpkpx", VX (4, 782), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5573 {"vinsbrx", VX (4, 783), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5574 {"evlhhossplat",VX (4, 783), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_2
, RA
}},
5575 {"mullhwu", XRC(4, 392,0), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5576 {"evlwhex", VX (4, 784), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5577 {"mullhwu.", XRC(4, 392,1), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5578 {"evlwhe", VX (4, 785), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5579 {"evlwhoux", VX (4, 788), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5580 {"evlwhou", VX (4, 789), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5581 {"evlwhosx", VX (4, 790), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5582 {"evlwhos", VX (4, 791), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5583 {"maclhwu", XO (4, 396,0,0),XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5584 {"evlwwsplatx", VX (4, 792), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5585 {"maclhwu.", XO (4, 396,0,1),XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5586 {"evlwwsplat", VX (4, 793), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5587 {"evlwhsplatx", VX (4, 796), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5588 {"evlwhsplat", VX (4, 797), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5589 {"evstddx", VX (4, 800), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5590 {"evstdd", VX (4, 801), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_8
, RA
}},
5591 {"evstdwx", VX (4, 802), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5592 {"evstdw", VX (4, 803), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_8
, RA
}},
5593 {"evstdhx", VX (4, 804), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5594 {"evstdh", VX (4, 805), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_8
, RA
}},
5595 {"evstwhex", VX (4, 816), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5596 {"evstwhe", VX (4, 817), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5597 {"evstwhox", VX (4, 820), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5598 {"evstwho", VX (4, 821), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5599 {"evstwwex", VX (4, 824), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5600 {"evstwwe", VX (4, 825), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5601 {"evstwwox", VX (4, 828), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5602 {"evstwwo", VX (4, 829), VX_MASK
, PPCSPE
, 0, {RS
, EVUIMM_4
, RA
}},
5603 {"vaddshs", VX (4, 832), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5604 {"bcdcpsgn.", VX (4, 833), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5605 {"vminsh", VX (4, 834), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5606 {"vsrah", VX (4, 836), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5607 {"vcmpgtsh", VXR(4, 838,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5608 {"vmulesh", VX (4, 840), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5609 {"vcfsx", VX (4, 842), VX_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM
}},
5610 {"vcsxwfp", VX (4, 842), VX_MASK
, PPCVEC
, EXT
, {VD
, VB
, UIMM
}},
5611 {"vspltish", VX (4, 844), VXVB_MASK
, PPCVEC
, 0, {VD
, SIMM
}},
5612 {"vinserth", VX (4, 845), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5613 {"vupkhpx", VX (4, 846), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5614 {"vinshrx", VX (4, 847), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5615 {"mullhw", XRC(4, 424,0), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5616 {"mullhw.", XRC(4, 424,1), X_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5617 {"maclhw", XO (4, 428,0,0),XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5618 {"maclhw.", XO (4, 428,0,1),XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5619 {"nmaclhw", XO (4, 430,0,0),XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5620 {"nmaclhw.", XO (4, 430,0,1),XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5621 {"vaddsws", VX (4, 896), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5622 {"vminsw", VX (4, 898), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5623 {"vsraw", VX (4, 900), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5624 {"vcmpgtsw", VXR(4, 902,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5625 {"vcmpgtsq", VXR(4, 903,0), VXR_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5626 {"vmulesw", VX (4, 904), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5627 {"vmulhsw", VX (4, 905), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5628 {"vctuxs", VX (4, 906), VX_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM
}},
5629 {"vcfpuxws", VX (4, 906), VX_MASK
, PPCVEC
, EXT
, {VD
, VB
, UIMM
}},
5630 {"vdivesw", VX (4, 907), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5631 {"vspltisw", VX (4, 908), VXVB_MASK
, PPCVEC
, 0, {VD
, SIMM
}},
5632 {"vinsertw", VX (4, 909), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5633 {"vinswrx", VX (4, 911), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5634 {"maclhwsu", XO (4, 460,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5635 {"maclhwsu.", XO (4, 460,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5636 {"vminsd", VX (4, 962), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5637 {"vsrad", VX (4, 964), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5638 {"vcmpbfp", VXR(4, 966,0), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5639 {"vcmpgtsd", VXR(4, 967,0), VXR_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5640 {"vmulesd", VX (4, 968), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5641 {"vmulhsd", VX (4, 969), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5642 {"vctsxs", VX (4, 970), VX_MASK
, PPCVEC
, 0, {VD
, VB
, UIMM
}},
5643 {"vcfpsxws", VX (4, 970), VX_MASK
, PPCVEC
, EXT
, {VD
, VB
, UIMM
}},
5644 {"vdivesd", VX (4, 971), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5645 {"vinsertd", VX (4, 973), VXUIMM4_MASK
, PPCVEC3
, 0, {VD
, VB
, UIMM4
}},
5646 {"vupklpx", VX (4, 974), VXVA_MASK
, PPCVEC
, 0, {VD
, VB
}},
5647 {"vinsdrx", VX (4, 975), VX_MASK
, POWER10
, 0, {VD
, RA
, RB
}},
5648 {"maclhws", XO (4, 492,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5649 {"maclhws.", XO (4, 492,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5650 {"nmaclhws", XO (4, 494,0,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5651 {"nmaclhws.", XO (4, 494,0,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5652 {"vsububm", VX (4,1024), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5653 {"bcdadd.", VX (4,1025), VXPS_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, PS
}},
5654 {"vavgub", VX (4,1026), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5655 {"vabsdub", VX (4,1027), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5656 {"evmhessf", VX (4,1027), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5657 {"vand", VX (4,1028), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5658 {"vcmpequb.", VXR(4, 6,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5659 {"vcmpneb.", VXR(4, 7,1), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5660 {"udi0fcm.", APU(4, 515,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5661 {"udi0fcm", APU(4, 515,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5662 {"evmhossf", VX (4,1031), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5663 {"vpmsumb", VX (4,1032), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5664 {"evmheumi", VX (4,1032), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5665 {"evmhesmi", VX (4,1033), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5666 {"vmaxfp", VX (4,1034), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5667 {"evmhesmf", VX (4,1035), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5668 {"evmhoumi", VX (4,1036), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5669 {"vslo", VX (4,1036), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5670 {"vstribl.", VXVA(4,1037,0), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5671 {"vstribr.", VXVA(4,1037,1), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5672 {"vstrihl.", VXVA(4,1037,2), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5673 {"vstrihr.", VXVA(4,1037,3), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5674 {"evmhosmi", VX (4,1037), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5675 {"evmhosmf", VX (4,1039), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5676 {"machhwuo", XO (4, 12,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5677 {"machhwuo.", XO (4, 12,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5678 {"ps_merge00", XOPS(4,528,0), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5679 {"ps_merge00.", XOPS(4,528,1), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5680 {"evmhessfa", VX (4,1059), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5681 {"evmhossfa", VX (4,1063), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5682 {"evmheumia", VX (4,1064), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5683 {"evmhesmia", VX (4,1065), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5684 {"evmhesmfa", VX (4,1067), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5685 {"evmhoumia", VX (4,1068), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5686 {"evmhosmia", VX (4,1069), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5687 {"evmhosmfa", VX (4,1071), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5688 {"vsubuhm", VX (4,1088), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5689 {"bcdsub.", VX (4,1089), VXPS_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
, PS
}},
5690 {"vavguh", VX (4,1090), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5691 {"evmwlssf", VX (4,1091), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5692 {"vabsduh", VX (4,1091), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5693 {"vandc", VX (4,1092), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5694 {"vcmpequh.", VXR(4, 70,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5695 {"udi1fcm.", APU(4, 547,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5696 {"udi1fcm", APU(4, 547,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5697 {"vcmpneh.", VXR(4, 71,1), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5698 {"evmwhssf", VX (4,1095), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5699 {"vpmsumh", VX (4,1096), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5700 {"evmwlumi", VX (4,1096), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5701 {"vminfp", VX (4,1098), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5702 {"evmwlsmf", VX (4,1099), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5703 {"evmwhumi", VX (4,1100), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5704 {"vsro", VX (4,1100), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5705 {"evmwhsmi", VX (4,1101), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5706 {"vpkudum", VX (4,1102), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5707 {"evmwhsmf", VX (4,1103), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5708 {"evmwssf", VX (4,1107), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5709 {"machhwo", XO (4, 44,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5710 {"evmwumi", VX (4,1112), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5711 {"machhwo.", XO (4, 44,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5712 {"evmwsmi", VX (4,1113), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5713 {"evmwsmf", VX (4,1115), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5714 {"nmachhwo", XO (4, 46,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5715 {"nmachhwo.", XO (4, 46,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5716 {"ps_merge01", XOPS(4,560,0), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5717 {"ps_merge01.", XOPS(4,560,1), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5718 {"evmwlssfa", VX (4,1123), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5719 {"evmwhssfa", VX (4,1127), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5720 {"evmwlumia", VX (4,1128), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5721 {"evmwlsmfa", VX (4,1131), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5722 {"evmwhumia", VX (4,1132), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5723 {"evmwhsmia", VX (4,1133), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5724 {"evmwhsmfa", VX (4,1135), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5725 {"evmwssfa", VX (4,1139), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5726 {"evmwumia", VX (4,1144), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5727 {"evmwsmia", VX (4,1145), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5728 {"evmwsmfa", VX (4,1147), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5729 {"vsubuwm", VX (4,1152), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5730 {"bcdus.", VX (4,1153), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5731 {"vavguw", VX (4,1154), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5732 {"vabsduw", VX (4,1155), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5733 {"vmr", VX (4,1156), VX_MASK
, PPCVEC
, EXT
, {VD
, VAB
}},
5734 {"vor", VX (4,1156), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5735 {"vcmpnew.", VXR(4, 135,1), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5736 {"vpmsumw", VX (4,1160), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5737 {"vcmpequw.", VXR(4, 134,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5738 {"udi2fcm.", APU(4, 579,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5739 {"udi2fcm", APU(4, 579,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5740 {"machhwsuo", XO (4, 76,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5741 {"machhwsuo.", XO (4, 76,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5742 {"ps_merge10", XOPS(4,592,0), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5743 {"ps_merge10.", XOPS(4,592,1), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5744 {"vsubudm", VX (4,1216), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5745 {"evaddusiaaw", VX (4,1216), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5746 {"bcds.", VX (4,1217), VXPS_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
, PS
}},
5747 {"evaddssiaaw", VX (4,1217), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5748 {"evsubfusiaaw",VX (4,1218), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5749 {"evsubfssiaaw",VX (4,1219), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5750 {"evmra", VX (4,1220), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5751 {"vxor", VX (4,1220), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5752 {"evdivws", VX (4,1222), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5753 {"vcmpeqfp.", VXR(4, 198,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5754 {"udi3fcm.", APU(4, 611,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5755 {"vcmpequd.", VXR(4, 199,1), VXR_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5756 {"udi3fcm", APU(4, 611,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5757 {"evdivwu", VX (4,1223), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5758 {"vpmsumd", VX (4,1224), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5759 {"evaddumiaaw", VX (4,1224), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5760 {"evaddsmiaaw", VX (4,1225), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5761 {"evsubfumiaaw",VX (4,1226), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5762 {"evsubfsmiaaw",VX (4,1227), VX_MASK
, PPCSPE
, 0, {RS
, RA
}},
5763 {"vgnb", VX (4,1228), VX_MASK
, POWER10
, 0, {RT
, VB
, UIMM3
}},
5764 {"vpkudus", VX (4,1230), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5765 {"machhwso", XO (4, 108,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5766 {"machhwso.", XO (4, 108,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5767 {"nmachhwso", XO (4, 110,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5768 {"nmachhwso.", XO (4, 110,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5769 {"ps_merge11", XOPS(4,624,0), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5770 {"ps_merge11.", XOPS(4,624,1), XOPS_MASK
, PPCPS
, 0, {FRT
, FRA
, FRB
}},
5771 {"vsubuqm", VX (4,1280), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5772 {"evmheusiaaw", VX (4,1280), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5773 {"bcdtrunc.", VX (4,1281), VXPS_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
, PS
}},
5774 {"evmhessiaaw", VX (4,1281), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5775 {"vavgsb", VX (4,1282), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5776 {"evmhessfaaw", VX (4,1283), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5777 {"evmhousiaaw", VX (4,1284), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5778 {"vnot", VX (4,1284), VX_MASK
, PPCVEC
, EXT
, {VD
, VAB
}},
5779 {"vnor", VX (4,1284), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5780 {"evmhossiaaw", VX (4,1285), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5781 {"udi4fcm.", APU(4, 643,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5782 {"udi4fcm", APU(4, 643,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5783 {"vcmpnezb.", VXR(4, 263,1), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5784 {"evmhossfaaw", VX (4,1287), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5785 {"evmheumiaaw", VX (4,1288), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5786 {"vcipher", VX (4,1288), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5787 {"vcipherlast", VX (4,1289), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5788 {"evmhesmiaaw", VX (4,1289), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5789 {"evmhesmfaaw", VX (4,1291), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5790 {"vgbbd", VX (4,1292), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5791 {"evmhoumiaaw", VX (4,1292), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5792 {"evmhosmiaaw", VX (4,1293), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5793 {"evmhosmfaaw", VX (4,1295), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5794 {"macchwuo", XO (4, 140,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5795 {"macchwuo.", XO (4, 140,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5796 {"evmhegumiaa", VX (4,1320), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5797 {"evmhegsmiaa", VX (4,1321), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5798 {"evmhegsmfaa", VX (4,1323), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5799 {"evmhogumiaa", VX (4,1324), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5800 {"evmhogsmiaa", VX (4,1325), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5801 {"evmhogsmfaa", VX (4,1327), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5802 {"vsubcuq", VX (4,1344), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5803 {"evmwlusiaaw", VX (4,1344), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5804 {"bcdutrunc.", VX (4,1345), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5805 {"evmwlssiaaw", VX (4,1345), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5806 {"vavgsh", VX (4,1346), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5807 {"evmwlssfaaw", VX (4,1347), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5808 {"evmwhusiaa", VX (4,1348), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5809 {"vorc", VX (4,1348), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5810 {"evmwhssmaa", VX (4,1349), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5811 {"udi5fcm.", APU(4, 675,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5812 {"udi5fcm", APU(4, 675,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5813 {"vcmpnezh.", VXR(4, 327,1), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5814 {"evmwhssfaa", VX (4,1351), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5815 {"vncipher", VX (4,1352), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5816 {"evmwlumiaaw", VX (4,1352), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5817 {"vncipherlast",VX (4,1353), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5818 {"evmwlsmiaaw", VX (4,1353), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5819 {"evmwlsmfaaw", VX (4,1355), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5820 {"evmwhumiaa", VX (4,1356), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5821 {"vbpermq", VX (4,1356), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5822 {"vcfuged", VX (4,1357), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5823 {"evmwhsmiaa", VX (4,1357), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5824 {"vpksdus", VX (4,1358), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5825 {"evmwhsmfaa", VX (4,1359), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5826 {"evmwssfaa", VX (4,1363), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5827 {"macchwo", XO (4, 172,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5828 {"evmwumiaa", VX (4,1368), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5829 {"macchwo.", XO (4, 172,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5830 {"evmwsmiaa", VX (4,1369), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5831 {"evmwsmfaa", VX (4,1371), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5832 {"nmacchwo", XO (4, 174,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5833 {"nmacchwo.", XO (4, 174,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5834 {"evmwhgumiaa", VX (4,1380), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5835 {"evmwhgsmiaa", VX (4,1381), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5836 {"evmwhgssfaa", VX (4,1383), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5837 {"evmwhgsmfaa", VX (4,1391), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5838 {"evmheusianw", VX (4,1408), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5839 {"vsubcuw", VX (4,1408), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5840 {"evmhessianw", VX (4,1409), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5841 {"bcdctsq.", VXVA(4,1409,0), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5842 {"bcdcfsq.", VXVA(4,1409,2), VXVAPS_MASK
, PPCVEC3
, 0, {VD
, VB
, PS
}},
5843 {"bcdctz.", VXVA(4,1409,4), VXVAPS_MASK
, PPCVEC3
, 0, {VD
, VB
, PS
}},
5844 {"bcdctn.", VXVA(4,1409,5), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5845 {"bcdcfz.", VXVA(4,1409,6), VXVAPS_MASK
, PPCVEC3
, 0, {VD
, VB
, PS
}},
5846 {"bcdcfn.", VXVA(4,1409,7), VXVAPS_MASK
, PPCVEC3
, 0, {VD
, VB
, PS
}},
5847 {"bcdsetsgn.", VXVA(4,1409,31), VXVAPS_MASK
, PPCVEC3
, 0, {VD
, VB
, PS
}},
5848 {"vavgsw", VX (4,1410), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5849 {"evmhessfanw", VX (4,1411), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5850 {"vnand", VX (4,1412), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5851 {"evmhousianw", VX (4,1412), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5852 {"evmhossianw", VX (4,1413), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5853 {"udi6fcm.", APU(4, 707,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5854 {"udi6fcm", APU(4, 707,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5855 {"vcmpnezw.", VXR(4, 391,1), VXR_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5856 {"evmhossfanw", VX (4,1415), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5857 {"evmheumianw", VX (4,1416), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5858 {"evmhesmianw", VX (4,1417), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5859 {"evmhesmfanw", VX (4,1419), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5860 {"evmhoumianw", VX (4,1420), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5861 {"vpextd", VX (4,1421), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5862 {"evmhosmianw", VX (4,1421), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5863 {"evmhosmfanw", VX (4,1423), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5864 {"macchwsuo", XO (4, 204,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5865 {"macchwsuo.", XO (4, 204,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5866 {"evmhegumian", VX (4,1448), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5867 {"evmhegsmian", VX (4,1449), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5868 {"evmhegsmfan", VX (4,1451), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5869 {"evmhogumian", VX (4,1452), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5870 {"evmhogsmian", VX (4,1453), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5871 {"evmhogsmfan", VX (4,1455), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5872 {"evmwlusianw", VX (4,1472), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5873 {"bcdsr.", VX (4,1473), VXPS_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
, PS
}},
5874 {"evmwlssianw", VX (4,1473), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5875 {"evmwlssfanw", VX (4,1475), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5876 {"evmwhusian", VX (4,1476), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5877 {"vsld", VX (4,1476), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5878 {"evmwhssian", VX (4,1477), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5879 {"vcmpgefp.", VXR(4, 454,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5880 {"udi7fcm.", APU(4, 739,0), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5881 {"udi7fcm", APU(4, 739,1), APU_MASK
, PPC405
|PPC440
, 0, {URT
, URA
, URB
}},
5882 {"vcmpequq.", VXR(4, 455,1), VXR_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5883 {"evmwhssfan", VX (4,1479), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5884 {"vsbox", VX (4,1480), VXVB_MASK
, PPCVEC2
, 0, {VD
, VA
}},
5885 {"evmwlumianw", VX (4,1480), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5886 {"evmwlsmianw", VX (4,1481), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5887 {"evmwlsmfanw", VX (4,1483), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5888 {"evmwhumian", VX (4,1484), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5889 {"vbpermd", VX (4,1484), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5890 {"vpdepd", VX (4,1485), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5891 {"evmwhsmian", VX (4,1485), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5892 {"vpksdss", VX (4,1486), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5893 {"evmwhsmfan", VX (4,1487), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5894 {"evmwssfan", VX (4,1491), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5895 {"macchwso", XO (4, 236,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5896 {"evmwumian", VX (4,1496), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5897 {"macchwso.", XO (4, 236,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5898 {"evmwsmian", VX (4,1497), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5899 {"evmwsmfan", VX (4,1499), VX_MASK
, PPCSPE
, 0, {RS
, RA
, RB
}},
5900 {"evmwhgumian", VX (4,1508), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5901 {"evmwhgsmian", VX (4,1509), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5902 {"evmwhgssfan", VX (4,1511), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5903 {"evmwhgsmfan", VX (4,1519), VX_MASK
, PPCSPE
, 0, {RD
, RA
, RB
}},
5904 {"nmacchwso", XO (4, 238,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5905 {"nmacchwso.", XO (4, 238,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5906 {"vsububs", VX (4,1536), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5907 {"vclzlsbb", VXVA(4,1538,0), VXVA_MASK
, PPCVEC3
, 0, {RT
, VB
}},
5908 {"vctzlsbb", VXVA(4,1538,1), VXVA_MASK
, PPCVEC3
, 0, {RT
, VB
}},
5909 {"vnegw", VXVA(4,1538,6), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5910 {"vnegd", VXVA(4,1538,7), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5911 {"vprtybw", VXVA(4,1538,8), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5912 {"vprtybd", VXVA(4,1538,9), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5913 {"vprtybq", VXVA(4,1538,10), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5914 {"vextsb2w", VXVA(4,1538,16), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5915 {"vextsh2w", VXVA(4,1538,17), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5916 {"vextsb2d", VXVA(4,1538,24), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5917 {"vextsh2d", VXVA(4,1538,25), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5918 {"vextsw2d", VXVA(4,1538,26), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5919 {"vextsd2q", VXVA(4,1538,27), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5920 {"vctzb", VXVA(4,1538,28), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5921 {"vctzh", VXVA(4,1538,29), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5922 {"vctzw", VXVA(4,1538,30), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5923 {"vctzd", VXVA(4,1538,31), VXVA_MASK
, PPCVEC3
, 0, {VD
, VB
}},
5924 {"mfvscr", VX (4,1540), VXVAVB_MASK
, PPCVEC
, 0, {VD
}},
5925 {"vcmpgtub.", VXR(4, 518,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5926 {"udi8fcm.", APU(4, 771,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5927 {"udi8fcm", APU(4, 771,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5928 {"vsum4ubs", VX (4,1544), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5929 {"vmoduq", VX (4,1547), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5930 {"vextublx", VX (4,1549), VX_MASK
, PPCVEC3
, 0, {RT
, RA
, VB
}},
5931 {"vsubuhs", VX (4,1600), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5933 {"vexpandbm", VXVA(4,1602,0), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5934 {"vexpandhm", VXVA(4,1602,1), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5935 {"vexpandwm", VXVA(4,1602,2), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5936 {"vexpanddm", VXVA(4,1602,3), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5937 {"vexpandqm", VXVA(4,1602,4), VXVA_MASK
, POWER10
, 0, {VD
, VB
}},
5938 {"vextractbm", VXVA(4,1602,8), VXVA_MASK
, POWER10
, 0, {RT
, VB
}},
5939 {"vextracthm", VXVA(4,1602,9), VXVA_MASK
, POWER10
, 0, {RT
, VB
}},
5940 {"vextractwm", VXVA(4,1602,10), VXVA_MASK
, POWER10
, 0, {RT
, VB
}},
5941 {"vextractdm", VXVA(4,1602,11), VXVA_MASK
, POWER10
, 0, {RT
, VB
}},
5942 {"vextractqm", VXVA(4,1602,12), VXVA_MASK
, POWER10
, 0, {RT
, VB
}},
5943 {"mtvsrbm", VXVA(4,1602,16), VXVA_MASK
, POWER10
, 0, {VD
, RB
}},
5944 {"mtvsrhm", VXVA(4,1602,17), VXVA_MASK
, POWER10
, 0, {VD
, RB
}},
5945 {"mtvsrwm", VXVA(4,1602,18), VXVA_MASK
, POWER10
, 0, {VD
, RB
}},
5946 {"mtvsrdm", VXVA(4,1602,19), VXVA_MASK
, POWER10
, 0, {VD
, RB
}},
5947 {"mtvsrqm", VXVA(4,1602,20), VXVA_MASK
, POWER10
, 0, {VD
, RB
}},
5948 {"vcntmbb", VXVA(4,1602,24), VXVAM_MASK
, POWER10
, 0, {RT
, VB
, MP
}},
5949 {"vcntmbh", VXVA(4,1602,26), VXVAM_MASK
, POWER10
, 0, {RT
, VB
, MP
}},
5950 {"vcntmbw", VXVA(4,1602,28), VXVAM_MASK
, POWER10
, 0, {RT
, VB
, MP
}},
5951 {"vcntmbd", VXVA(4,1602,30), VXVAM_MASK
, POWER10
, 0, {RT
, VB
, MP
}},
5953 {"mtvscr", VX (4,1604), VXVDVA_MASK
, PPCVEC
, 0, {VB
}},
5954 {"vcmpgtuh.", VXR(4, 582,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5955 {"vsum4shs", VX (4,1608), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5956 {"udi9fcm.", APU(4, 804,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5957 {"udi9fcm", APU(4, 804,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5958 {"vextuhlx", VX (4,1613), VX_MASK
, PPCVEC3
, 0, {RT
, RA
, VB
}},
5959 {"vupkhsw", VX (4,1614), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5960 {"vsubuws", VX (4,1664), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5961 {"vshasigmaw", VX (4,1666), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, ST
, SIX
}},
5962 {"veqv", VX (4,1668), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5963 {"vcmpgtuw.", VXR(4, 646,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5964 {"udi10fcm.", APU(4, 835,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5965 {"vcmpgtuq.", VXR(4, 647,1), VXR_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5966 {"udi10fcm", APU(4, 835,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5967 {"vsum2sws", VX (4,1672), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5968 {"vmoduw", VX (4,1675), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5969 {"vmrgow", VX (4,1676), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5970 {"vextuwlx", VX (4,1677), VX_MASK
, PPCVEC3
, 0, {RT
, RA
, VB
}},
5971 {"vshasigmad", VX (4,1730), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, ST
, SIX
}},
5972 {"vsrd", VX (4,1732), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5973 {"vcmpgtfp.", VXR(4, 710,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5974 {"udi11fcm.", APU(4, 867,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5975 {"vcmpgtud.", VXR(4, 711,1), VXR_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
5976 {"udi11fcm", APU(4, 867,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5977 {"vmodud", VX (4,1739), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5978 {"vupklsw", VX (4,1742), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5979 {"vsubsbs", VX (4,1792), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5980 {"vclzb", VX (4,1794), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5981 {"vpopcntb", VX (4,1795), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5982 {"vsrv", VX (4,1796), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5983 {"vcmpgtsb.", VXR(4, 774,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5984 {"udi12fcm.", APU(4, 899,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5985 {"udi12fcm", APU(4, 899,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5986 {"vsum4sbs", VX (4,1800), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5987 {"vmodsq", VX (4,1803), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
5988 {"vextubrx", VX (4,1805), VX_MASK
, PPCVEC3
, 0, {RT
, RA
, VB
}},
5989 {"maclhwuo", XO (4, 396,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5990 {"maclhwuo.", XO (4, 396,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
5991 {"vsubshs", VX (4,1856), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5992 {"vclzh", VX (4,1858), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5993 {"vpopcnth", VX (4,1859), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
5994 {"vslv", VX (4,1860), VX_MASK
, PPCVEC3
, 0, {VD
, VA
, VB
}},
5995 {"vcmpgtsh.", VXR(4, 838,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
5996 {"vextuhrx", VX (4,1869), VX_MASK
, PPCVEC3
, 0, {RT
, RA
, VB
}},
5997 {"udi13fcm.", APU(4, 931,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5998 {"udi13fcm", APU(4, 931,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
5999 {"maclhwo", XO (4, 428,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6000 {"maclhwo.", XO (4, 428,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6001 {"nmaclhwo", XO (4, 430,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6002 {"nmaclhwo.", XO (4, 430,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6003 {"vsubsws", VX (4,1920), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
6004 {"vclzw", VX (4,1922), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
6005 {"vpopcntw", VX (4,1923), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
6006 {"vclzdm", VX (4,1924), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
6007 {"vcmpgtsw.", VXR(4, 902,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
6008 {"udi14fcm.", APU(4, 963,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
6009 {"vcmpgtsq.", VXR(4, 903,1), VXR_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
6010 {"udi14fcm", APU(4, 963,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
6011 {"vsumsws", VX (4,1928), VX_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
6012 {"vmodsw", VX (4,1931), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
6013 {"vmrgew", VX (4,1932), VX_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
6014 {"vextuwrx", VX (4,1933), VX_MASK
, PPCVEC3
, 0, {RT
, RA
, VB
}},
6015 {"maclhwsuo", XO (4, 460,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6016 {"maclhwsuo.", XO (4, 460,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6017 {"vclzd", VX (4,1986), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
6018 {"vpopcntd", VX (4,1987), VXVA_MASK
, PPCVEC2
, 0, {VD
, VB
}},
6019 {"vctzdm", VX (4,1988), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
6020 {"vcmpbfp.", VXR(4, 966,1), VXR_MASK
, PPCVEC
, 0, {VD
, VA
, VB
}},
6021 {"udi15fcm.", APU(4, 995,0), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
6022 {"vcmpgtsd.", VXR(4, 967,1), VXR_MASK
, PPCVEC2
, 0, {VD
, VA
, VB
}},
6023 {"udi15fcm", APU(4, 995,1), APU_MASK
, PPC440
, 0, {URT
, URA
, URB
}},
6024 {"vmodsd", VX (4,1995), VX_MASK
, POWER10
, 0, {VD
, VA
, VB
}},
6025 {"maclhwso", XO (4, 492,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6026 {"maclhwso.", XO (4, 492,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6027 {"nmaclhwso", XO (4, 494,1,0), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6028 {"nmaclhwso.", XO (4, 494,1,1), XO_MASK
, MULHW
, 0, {RT
, RA
, RB
}},
6029 {"dcbz_l", X (4,1014), XRT_MASK
, PPCPS
, 0, {RA
, RB
}},
6031 {"lxvp", DQXP(6,0), DQXP_MASK
, POWER10
, PPCVLE
, {XTP
, DQ
, RA0
}},
6032 {"stxvp", DQXP(6,1), DQXP_MASK
, POWER10
, PPCVLE
, {XSP
, DQ
, RA0
}},
6034 {"mulli", OP(7), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, RA
, SI
}},
6035 {"muli", OP(7), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, RA
, SI
}},
6037 {"subfic", OP(8), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, RA
, SI
}},
6038 {"sfi", OP(8), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, RA
, SI
}},
6040 {"dozi", OP(9), OP_MASK
, M601
, PPCVLE
, {RT
, RA
, SI
}},
6042 {"cmplwi", OPL(10,0), OPL_MASK
, PPCCOM
, PPCVLE
|EXT
, {OBF
, RA
, UISIGNOPT
}},
6043 {"cmpldi", OPL(10,1), OPL_MASK
, PPC64
, PPCVLE
|EXT
, {OBF
, RA
, UISIGNOPT
}},
6044 {"cmpli", OP(10), OP_MASK
, PPC
, PPCVLE
, {BF
, L32OPT
, RA
, UISIGNOPT
}},
6045 {"cmpli", OP(10), OP_MASK
, PWRCOM
, PPC
|PPCVLE
, {BF
, RA
, UISIGNOPT
}},
6047 {"cmpwi", OPL(11,0), OPL_MASK
, PPCCOM
, PPCVLE
|EXT
, {OBF
, RA
, SI
}},
6048 {"cmpdi", OPL(11,1), OPL_MASK
, PPC64
, PPCVLE
|EXT
, {OBF
, RA
, SI
}},
6049 {"cmpi", OP(11), OP_MASK
, PPC
, PPCVLE
, {BF
, L32OPT
, RA
, SI
}},
6050 {"cmpi", OP(11), OP_MASK
, PWRCOM
, PPC
|PPCVLE
, {BF
, RA
, SI
}},
6052 {"addic", OP(12), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, RA
, SI
}},
6053 {"ai", OP(12), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, RA
, SI
}},
6054 {"subic", OP(12), OP_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, RA
, NSI
}},
6056 {"addic.", OP(13), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, RA
, SI
}},
6057 {"ai.", OP(13), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, RA
, SI
}},
6058 {"subic.", OP(13), OP_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, RA
, NSI
}},
6060 {"li", OP(14), DRA_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, SI
}},
6061 {"lil", OP(14), DRA_MASK
, PWRCOM
, PPCVLE
|EXT
, {RT
, SI
}},
6062 {"addi", OP(14), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, RA0
, SI
}},
6063 {"cal", OP(14), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, D
, RA0
}},
6064 {"subi", OP(14), OP_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, RA0
, NSI
}},
6065 {"la", OP(14), OP_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, D
, RA0
}},
6067 {"lis", OP(15), DRA_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, SISIGNOPT
}},
6068 {"liu", OP(15), DRA_MASK
, PWRCOM
, PPCVLE
|EXT
, {RT
, SISIGNOPT
}},
6069 {"addis", OP(15), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, RA0
, SISIGNOPT
}},
6070 {"cau", OP(15), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, RA0
, SISIGNOPT
}},
6071 {"subis", OP(15), OP_MASK
, PPCCOM
, PPCVLE
|EXT
, {RT
, RA0
, NSISIGNOPT
}},
6073 {"bdnz-", BBO(16,BODNZ
,0,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDM
}},
6074 {"bdnz+", BBO(16,BODNZ
,0,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDP
}},
6075 {"bdnz", BBO(16,BODNZ
,0,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BD
}},
6076 {"bdn", BBO(16,BODNZ
,0,0), BBOATBI_MASK
, PWRCOM
, PPCVLE
|EXT
, {BD
}},
6077 {"bdnzl-", BBO(16,BODNZ
,0,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDM
}},
6078 {"bdnzl+", BBO(16,BODNZ
,0,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDP
}},
6079 {"bdnzl", BBO(16,BODNZ
,0,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BD
}},
6080 {"bdnl", BBO(16,BODNZ
,0,1), BBOATBI_MASK
, PWRCOM
, PPCVLE
|EXT
, {BD
}},
6081 {"bdnza-", BBO(16,BODNZ
,1,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDMA
}},
6082 {"bdnza+", BBO(16,BODNZ
,1,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDPA
}},
6083 {"bdnza", BBO(16,BODNZ
,1,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDA
}},
6084 {"bdna", BBO(16,BODNZ
,1,0), BBOATBI_MASK
, PWRCOM
, PPCVLE
|EXT
, {BDA
}},
6085 {"bdnzla-", BBO(16,BODNZ
,1,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDMA
}},
6086 {"bdnzla+", BBO(16,BODNZ
,1,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDPA
}},
6087 {"bdnzla", BBO(16,BODNZ
,1,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDA
}},
6088 {"bdnla", BBO(16,BODNZ
,1,1), BBOATBI_MASK
, PWRCOM
, PPCVLE
|EXT
, {BDA
}},
6089 {"bdz-", BBO(16,BODZ
,0,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDM
}},
6090 {"bdz+", BBO(16,BODZ
,0,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDP
}},
6091 {"bdz", BBO(16,BODZ
,0,0), BBOATBI_MASK
, COM
, PPCVLE
|EXT
, {BD
}},
6092 {"bdzl-", BBO(16,BODZ
,0,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDM
}},
6093 {"bdzl+", BBO(16,BODZ
,0,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDP
}},
6094 {"bdzl", BBO(16,BODZ
,0,1), BBOATBI_MASK
, COM
, PPCVLE
|EXT
, {BD
}},
6095 {"bdza-", BBO(16,BODZ
,1,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDMA
}},
6096 {"bdza+", BBO(16,BODZ
,1,0), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDPA
}},
6097 {"bdza", BBO(16,BODZ
,1,0), BBOATBI_MASK
, COM
, PPCVLE
|EXT
, {BDA
}},
6098 {"bdzla-", BBO(16,BODZ
,1,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDMA
}},
6099 {"bdzla+", BBO(16,BODZ
,1,1), BBOATBI_MASK
, PPCCOM
, PPCVLE
|EXT
, {BDPA
}},
6100 {"bdzla", BBO(16,BODZ
,1,1), BBOATBI_MASK
, COM
, PPCVLE
|EXT
, {BDA
}},
6102 {"bge-", BBOCB(16,BOF
,CBLT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6103 {"bge+", BBOCB(16,BOF
,CBLT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6104 {"bge", BBOCB(16,BOF
,CBLT
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6105 {"bnl-", BBOCB(16,BOF
,CBLT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6106 {"bnl+", BBOCB(16,BOF
,CBLT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6107 {"bnl", BBOCB(16,BOF
,CBLT
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6108 {"bgel-", BBOCB(16,BOF
,CBLT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6109 {"bgel+", BBOCB(16,BOF
,CBLT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6110 {"bgel", BBOCB(16,BOF
,CBLT
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6111 {"bnll-", BBOCB(16,BOF
,CBLT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6112 {"bnll+", BBOCB(16,BOF
,CBLT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6113 {"bnll", BBOCB(16,BOF
,CBLT
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6114 {"bgea-", BBOCB(16,BOF
,CBLT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6115 {"bgea+", BBOCB(16,BOF
,CBLT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6116 {"bgea", BBOCB(16,BOF
,CBLT
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6117 {"bnla-", BBOCB(16,BOF
,CBLT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6118 {"bnla+", BBOCB(16,BOF
,CBLT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6119 {"bnla", BBOCB(16,BOF
,CBLT
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6120 {"bgela-", BBOCB(16,BOF
,CBLT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6121 {"bgela+", BBOCB(16,BOF
,CBLT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6122 {"bgela", BBOCB(16,BOF
,CBLT
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6123 {"bnlla-", BBOCB(16,BOF
,CBLT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6124 {"bnlla+", BBOCB(16,BOF
,CBLT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6125 {"bnlla", BBOCB(16,BOF
,CBLT
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6126 {"ble-", BBOCB(16,BOF
,CBGT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6127 {"ble+", BBOCB(16,BOF
,CBGT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6128 {"ble", BBOCB(16,BOF
,CBGT
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6129 {"bng-", BBOCB(16,BOF
,CBGT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6130 {"bng+", BBOCB(16,BOF
,CBGT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6131 {"bng", BBOCB(16,BOF
,CBGT
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6132 {"blel-", BBOCB(16,BOF
,CBGT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6133 {"blel+", BBOCB(16,BOF
,CBGT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6134 {"blel", BBOCB(16,BOF
,CBGT
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6135 {"bngl-", BBOCB(16,BOF
,CBGT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6136 {"bngl+", BBOCB(16,BOF
,CBGT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6137 {"bngl", BBOCB(16,BOF
,CBGT
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6138 {"blea-", BBOCB(16,BOF
,CBGT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6139 {"blea+", BBOCB(16,BOF
,CBGT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6140 {"blea", BBOCB(16,BOF
,CBGT
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6141 {"bnga-", BBOCB(16,BOF
,CBGT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6142 {"bnga+", BBOCB(16,BOF
,CBGT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6143 {"bnga", BBOCB(16,BOF
,CBGT
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6144 {"blela-", BBOCB(16,BOF
,CBGT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6145 {"blela+", BBOCB(16,BOF
,CBGT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6146 {"blela", BBOCB(16,BOF
,CBGT
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6147 {"bngla-", BBOCB(16,BOF
,CBGT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6148 {"bngla+", BBOCB(16,BOF
,CBGT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6149 {"bngla", BBOCB(16,BOF
,CBGT
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6150 {"bne-", BBOCB(16,BOF
,CBEQ
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6151 {"bne+", BBOCB(16,BOF
,CBEQ
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6152 {"bne", BBOCB(16,BOF
,CBEQ
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6153 {"bnel-", BBOCB(16,BOF
,CBEQ
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6154 {"bnel+", BBOCB(16,BOF
,CBEQ
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6155 {"bnel", BBOCB(16,BOF
,CBEQ
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6156 {"bnea-", BBOCB(16,BOF
,CBEQ
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6157 {"bnea+", BBOCB(16,BOF
,CBEQ
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6158 {"bnea", BBOCB(16,BOF
,CBEQ
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6159 {"bnela-", BBOCB(16,BOF
,CBEQ
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6160 {"bnela+", BBOCB(16,BOF
,CBEQ
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6161 {"bnela", BBOCB(16,BOF
,CBEQ
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6162 {"bns-", BBOCB(16,BOF
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6163 {"bns+", BBOCB(16,BOF
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6164 {"bns", BBOCB(16,BOF
,CBSO
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6165 {"bnu-", BBOCB(16,BOF
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6166 {"bnu+", BBOCB(16,BOF
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6167 {"bnu", BBOCB(16,BOF
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BD
}},
6168 {"bnsl-", BBOCB(16,BOF
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6169 {"bnsl+", BBOCB(16,BOF
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6170 {"bnsl", BBOCB(16,BOF
,CBSO
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6171 {"bnul-", BBOCB(16,BOF
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6172 {"bnul+", BBOCB(16,BOF
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6173 {"bnul", BBOCB(16,BOF
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BD
}},
6174 {"bnsa-", BBOCB(16,BOF
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6175 {"bnsa+", BBOCB(16,BOF
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6176 {"bnsa", BBOCB(16,BOF
,CBSO
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6177 {"bnua-", BBOCB(16,BOF
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6178 {"bnua+", BBOCB(16,BOF
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6179 {"bnua", BBOCB(16,BOF
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDA
}},
6180 {"bnsla-", BBOCB(16,BOF
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6181 {"bnsla+", BBOCB(16,BOF
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6182 {"bnsla", BBOCB(16,BOF
,CBSO
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6183 {"bnula-", BBOCB(16,BOF
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6184 {"bnula+", BBOCB(16,BOF
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6185 {"bnula", BBOCB(16,BOF
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDA
}},
6187 {"blt-", BBOCB(16,BOT
,CBLT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6188 {"blt+", BBOCB(16,BOT
,CBLT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6189 {"blt", BBOCB(16,BOT
,CBLT
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6190 {"bltl-", BBOCB(16,BOT
,CBLT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6191 {"bltl+", BBOCB(16,BOT
,CBLT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6192 {"bltl", BBOCB(16,BOT
,CBLT
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6193 {"blta-", BBOCB(16,BOT
,CBLT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6194 {"blta+", BBOCB(16,BOT
,CBLT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6195 {"blta", BBOCB(16,BOT
,CBLT
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6196 {"bltla-", BBOCB(16,BOT
,CBLT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6197 {"bltla+", BBOCB(16,BOT
,CBLT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6198 {"bltla", BBOCB(16,BOT
,CBLT
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6199 {"bgt-", BBOCB(16,BOT
,CBGT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6200 {"bgt+", BBOCB(16,BOT
,CBGT
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6201 {"bgt", BBOCB(16,BOT
,CBGT
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6202 {"bgtl-", BBOCB(16,BOT
,CBGT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6203 {"bgtl+", BBOCB(16,BOT
,CBGT
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6204 {"bgtl", BBOCB(16,BOT
,CBGT
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6205 {"bgta-", BBOCB(16,BOT
,CBGT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6206 {"bgta+", BBOCB(16,BOT
,CBGT
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6207 {"bgta", BBOCB(16,BOT
,CBGT
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6208 {"bgtla-", BBOCB(16,BOT
,CBGT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6209 {"bgtla+", BBOCB(16,BOT
,CBGT
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6210 {"bgtla", BBOCB(16,BOT
,CBGT
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6211 {"beq-", BBOCB(16,BOT
,CBEQ
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6212 {"beq+", BBOCB(16,BOT
,CBEQ
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6213 {"beq", BBOCB(16,BOT
,CBEQ
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6214 {"beql-", BBOCB(16,BOT
,CBEQ
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6215 {"beql+", BBOCB(16,BOT
,CBEQ
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6216 {"beql", BBOCB(16,BOT
,CBEQ
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6217 {"beqa-", BBOCB(16,BOT
,CBEQ
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6218 {"beqa+", BBOCB(16,BOT
,CBEQ
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6219 {"beqa", BBOCB(16,BOT
,CBEQ
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6220 {"beqla-", BBOCB(16,BOT
,CBEQ
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6221 {"beqla+", BBOCB(16,BOT
,CBEQ
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6222 {"beqla", BBOCB(16,BOT
,CBEQ
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6223 {"bso-", BBOCB(16,BOT
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6224 {"bso+", BBOCB(16,BOT
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6225 {"bso", BBOCB(16,BOT
,CBSO
,0,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6226 {"bun-", BBOCB(16,BOT
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6227 {"bun+", BBOCB(16,BOT
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6228 {"bun", BBOCB(16,BOT
,CBSO
,0,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BD
}},
6229 {"bsol-", BBOCB(16,BOT
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6230 {"bsol+", BBOCB(16,BOT
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6231 {"bsol", BBOCB(16,BOT
,CBSO
,0,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BD
}},
6232 {"bunl-", BBOCB(16,BOT
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDM
}},
6233 {"bunl+", BBOCB(16,BOT
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDP
}},
6234 {"bunl", BBOCB(16,BOT
,CBSO
,0,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BD
}},
6235 {"bsoa-", BBOCB(16,BOT
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6236 {"bsoa+", BBOCB(16,BOT
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6237 {"bsoa", BBOCB(16,BOT
,CBSO
,1,0), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6238 {"buna-", BBOCB(16,BOT
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6239 {"buna+", BBOCB(16,BOT
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6240 {"buna", BBOCB(16,BOT
,CBSO
,1,0), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDA
}},
6241 {"bsola-", BBOCB(16,BOT
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6242 {"bsola+", BBOCB(16,BOT
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6243 {"bsola", BBOCB(16,BOT
,CBSO
,1,1), BBOATCB_MASK
, COM
, PPCVLE
|EXT
, {CR
, BDA
}},
6244 {"bunla-", BBOCB(16,BOT
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDMA
}},
6245 {"bunla+", BBOCB(16,BOT
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDPA
}},
6246 {"bunla", BBOCB(16,BOT
,CBSO
,1,1), BBOATCB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BDA
}},
6248 {"bdnzf-", BBO(16,BODNZF
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6249 {"bdnzf+", BBO(16,BODNZF
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6250 {"bdnzf", BBO(16,BODNZF
,0,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6251 {"bdnzfl-", BBO(16,BODNZF
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6252 {"bdnzfl+", BBO(16,BODNZF
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6253 {"bdnzfl", BBO(16,BODNZF
,0,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6254 {"bdnzfa-", BBO(16,BODNZF
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6255 {"bdnzfa+", BBO(16,BODNZF
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6256 {"bdnzfa", BBO(16,BODNZF
,1,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6257 {"bdnzfla-", BBO(16,BODNZF
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6258 {"bdnzfla+", BBO(16,BODNZF
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6259 {"bdnzfla", BBO(16,BODNZF
,1,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6260 {"bdzf-", BBO(16,BODZF
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6261 {"bdzf+", BBO(16,BODZF
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6262 {"bdzf", BBO(16,BODZF
,0,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6263 {"bdzfl-", BBO(16,BODZF
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6264 {"bdzfl+", BBO(16,BODZF
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6265 {"bdzfl", BBO(16,BODZF
,0,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6266 {"bdzfa-", BBO(16,BODZF
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6267 {"bdzfa+", BBO(16,BODZF
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6268 {"bdzfa", BBO(16,BODZF
,1,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6269 {"bdzfla-", BBO(16,BODZF
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6270 {"bdzfla+", BBO(16,BODZF
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6271 {"bdzfla", BBO(16,BODZF
,1,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6273 {"bf-", BBO(16,BOF
,0,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDM
}},
6274 {"bf+", BBO(16,BOF
,0,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDP
}},
6275 {"bf", BBO(16,BOF
,0,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6276 {"bbf", BBO(16,BOF
,0,0), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6277 {"bfl-", BBO(16,BOF
,0,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDM
}},
6278 {"bfl+", BBO(16,BOF
,0,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDP
}},
6279 {"bfl", BBO(16,BOF
,0,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6280 {"bbfl", BBO(16,BOF
,0,1), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6281 {"bfa-", BBO(16,BOF
,1,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDMA
}},
6282 {"bfa+", BBO(16,BOF
,1,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDPA
}},
6283 {"bfa", BBO(16,BOF
,1,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6284 {"bbfa", BBO(16,BOF
,1,0), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6285 {"bfla-", BBO(16,BOF
,1,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDMA
}},
6286 {"bfla+", BBO(16,BOF
,1,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDPA
}},
6287 {"bfla", BBO(16,BOF
,1,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6288 {"bbfla", BBO(16,BOF
,1,1), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6290 {"bdnzt-", BBO(16,BODNZT
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6291 {"bdnzt+", BBO(16,BODNZT
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6292 {"bdnzt", BBO(16,BODNZT
,0,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6293 {"bdnztl-", BBO(16,BODNZT
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6294 {"bdnztl+", BBO(16,BODNZT
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6295 {"bdnztl", BBO(16,BODNZT
,0,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6296 {"bdnzta-", BBO(16,BODNZT
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6297 {"bdnzta+", BBO(16,BODNZT
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6298 {"bdnzta", BBO(16,BODNZT
,1,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6299 {"bdnztla-", BBO(16,BODNZT
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6300 {"bdnztla+", BBO(16,BODNZT
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6301 {"bdnztla", BBO(16,BODNZT
,1,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6302 {"bdzt-", BBO(16,BODZT
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6303 {"bdzt+", BBO(16,BODZT
,0,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6304 {"bdzt", BBO(16,BODZT
,0,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6305 {"bdztl-", BBO(16,BODZT
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDM
}},
6306 {"bdztl+", BBO(16,BODZT
,0,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDP
}},
6307 {"bdztl", BBO(16,BODZT
,0,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6308 {"bdzta-", BBO(16,BODZT
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6309 {"bdzta+", BBO(16,BODZT
,1,0), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6310 {"bdzta", BBO(16,BODZT
,1,0), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6311 {"bdztla-", BBO(16,BODZT
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDMA
}},
6312 {"bdztla+", BBO(16,BODZT
,1,1), BBOY_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BDPA
}},
6313 {"bdztla", BBO(16,BODZT
,1,1), BBOY_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6315 {"bt-", BBO(16,BOT
,0,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDM
}},
6316 {"bt+", BBO(16,BOT
,0,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDP
}},
6317 {"bt", BBO(16,BOT
,0,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6318 {"bbt", BBO(16,BOT
,0,0), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6319 {"btl-", BBO(16,BOT
,0,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDM
}},
6320 {"btl+", BBO(16,BOT
,0,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDP
}},
6321 {"btl", BBO(16,BOT
,0,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6322 {"bbtl", BBO(16,BOT
,0,1), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BD
}},
6323 {"bta-", BBO(16,BOT
,1,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDMA
}},
6324 {"bta+", BBO(16,BOT
,1,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDPA
}},
6325 {"bta", BBO(16,BOT
,1,0), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6326 {"bbta", BBO(16,BOT
,1,0), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6327 {"btla-", BBO(16,BOT
,1,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDMA
}},
6328 {"btla+", BBO(16,BOT
,1,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDPA
}},
6329 {"btla", BBO(16,BOT
,1,1), BBOAT_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6330 {"bbtla", BBO(16,BOT
,1,1), BBOAT_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BDA
}},
6332 {"bc-", B(16,0,0), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BDM
}},
6333 {"bc+", B(16,0,0), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BDP
}},
6334 {"bc", B(16,0,0), B_MASK
, COM
, PPCVLE
, {BO
, BI
, BD
}},
6335 {"bcl-", B(16,0,1), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BDM
}},
6336 {"bcl+", B(16,0,1), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BDP
}},
6337 {"bcl", B(16,0,1), B_MASK
, COM
, PPCVLE
, {BO
, BI
, BD
}},
6338 {"bca-", B(16,1,0), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BDMA
}},
6339 {"bca+", B(16,1,0), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BDPA
}},
6340 {"bca", B(16,1,0), B_MASK
, COM
, PPCVLE
, {BO
, BI
, BDA
}},
6341 {"bcla-", B(16,1,1), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BDMA
}},
6342 {"bcla+", B(16,1,1), B_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BDPA
}},
6343 {"bcla", B(16,1,1), B_MASK
, COM
, PPCVLE
, {BO
, BI
, BDA
}},
6345 {"svc", SC(17,0,0), SC_MASK
, POWER
, PPCVLE
, {SVC_LEV
, FL1
, FL2
}},
6346 {"scv", SC(17,0,1), SC_MASK
, POWER9
, PPCVLE
, {SVC_LEV
}},
6347 {"svcl", SC(17,0,1), SC_MASK
, POWER
, PPCVLE
, {SVC_LEV
, FL1
, FL2
}},
6348 {"sc", SC(17,1,0), SC_MASK
, PPC
, PPCVLE
, {LEV
}},
6349 {"svca", SC(17,1,0), SC_MASK
, PWRCOM
, PPCVLE
, {SV
}},
6350 {"svcla", SC(17,1,1), SC_MASK
, POWER
, PPCVLE
, {SV
}},
6352 {"b", B(18,0,0), B_MASK
, COM
, PPCVLE
, {LI
}},
6353 {"bl", B(18,0,1), B_MASK
, COM
, PPCVLE
, {LI
}},
6354 {"ba", B(18,1,0), B_MASK
, COM
, PPCVLE
, {LIA
}},
6355 {"bla", B(18,1,1), B_MASK
, COM
, PPCVLE
, {LIA
}},
6357 {"mcrf", XL(19,0), XLBB_MASK
|(3<<21)|(3<<16), COM
, PPCVLE
, {BF
, BFA
}},
6359 {"lnia", DX(19,2), NODX_MASK
, POWER9
, PPCVLE
|EXT
, {RT
}},
6360 {"addpcis", DX(19,2), DX_MASK
, POWER9
, PPCVLE
, {RT
, DXD
}},
6361 {"subpcis", DX(19,2), DX_MASK
, POWER9
, PPCVLE
|EXT
, {RT
, NDXD
}},
6363 {"bdnzlr-", XLO(19,BODNZ
,16,0), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6364 {"bdnzlr+", XLO(19,BODNZP
,16,0), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6365 {"bdnzlr", XLO(19,BODNZ
,16,0), XLBOBIBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BH
}},
6366 {"bdnzlrl-", XLO(19,BODNZ
,16,1), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6367 {"bdnzlrl+", XLO(19,BODNZP
,16,1), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6368 {"bdnzlrl", XLO(19,BODNZ
,16,1), XLBOBIBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BH
}},
6369 {"bdzlr-", XLO(19,BODZ
,16,0), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6370 {"bdzlr+", XLO(19,BODZP
,16,0), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6371 {"bdzlr", XLO(19,BODZ
,16,0), XLBOBIBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BH
}},
6372 {"bdzlrl-", XLO(19,BODZ
,16,1), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6373 {"bdzlrl+", XLO(19,BODZP
,16,1), XLBOBIBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BH
}},
6374 {"bdzlrl", XLO(19,BODZ
,16,1), XLBOBIBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BH
}},
6375 {"blr", XLO(19,BOU
,16,0), XLBOBIBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BH
}},
6376 {"br", XLO(19,BOU
,16,0), XLBOBIBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {BH
}},
6377 {"blrl", XLO(19,BOU
,16,1), XLBOBIBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BH
}},
6378 {"brl", XLO(19,BOU
,16,1), XLBOBIBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {BH
}},
6379 {"bdnzlr-", XLO(19,BODNZM4
,16,0), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6380 {"bdnzlrl-", XLO(19,BODNZM4
,16,1), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6381 {"bdnzlr+", XLO(19,BODNZP4
,16,0), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6382 {"bdnzlrl+", XLO(19,BODNZP4
,16,1), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6383 {"bdzlr-", XLO(19,BODZM4
,16,0), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6384 {"bdzlrl-", XLO(19,BODZM4
,16,1), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6385 {"bdzlr+", XLO(19,BODZP4
,16,0), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6386 {"bdzlrl+", XLO(19,BODZP4
,16,1), XLBOBIBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BH
}},
6388 {"bgelr-", XLOCB(19,BOF
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6389 {"bgelr+", XLOCB(19,BOFP
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6390 {"bgelr", XLOCB(19,BOF
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6391 {"bger", XLOCB(19,BOF
,CBLT
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6392 {"bnllr-", XLOCB(19,BOF
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6393 {"bnllr+", XLOCB(19,BOFP
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6394 {"bnllr", XLOCB(19,BOF
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6395 {"bnlr", XLOCB(19,BOF
,CBLT
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6396 {"bgelrl-", XLOCB(19,BOF
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6397 {"bgelrl+", XLOCB(19,BOFP
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6398 {"bgelrl", XLOCB(19,BOF
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6399 {"bgerl", XLOCB(19,BOF
,CBLT
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6400 {"bnllrl-", XLOCB(19,BOF
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6401 {"bnllrl+", XLOCB(19,BOFP
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6402 {"bnllrl", XLOCB(19,BOF
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6403 {"bnlrl", XLOCB(19,BOF
,CBLT
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6404 {"blelr-", XLOCB(19,BOF
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6405 {"blelr+", XLOCB(19,BOFP
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6406 {"blelr", XLOCB(19,BOF
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6407 {"bler", XLOCB(19,BOF
,CBGT
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6408 {"bnglr-", XLOCB(19,BOF
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6409 {"bnglr+", XLOCB(19,BOFP
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6410 {"bnglr", XLOCB(19,BOF
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6411 {"bngr", XLOCB(19,BOF
,CBGT
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6412 {"blelrl-", XLOCB(19,BOF
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6413 {"blelrl+", XLOCB(19,BOFP
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6414 {"blelrl", XLOCB(19,BOF
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6415 {"blerl", XLOCB(19,BOF
,CBGT
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6416 {"bnglrl-", XLOCB(19,BOF
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6417 {"bnglrl+", XLOCB(19,BOFP
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6418 {"bnglrl", XLOCB(19,BOF
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6419 {"bngrl", XLOCB(19,BOF
,CBGT
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6420 {"bnelr-", XLOCB(19,BOF
,CBEQ
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6421 {"bnelr+", XLOCB(19,BOFP
,CBEQ
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6422 {"bnelr", XLOCB(19,BOF
,CBEQ
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6423 {"bner", XLOCB(19,BOF
,CBEQ
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6424 {"bnelrl-", XLOCB(19,BOF
,CBEQ
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6425 {"bnelrl+", XLOCB(19,BOFP
,CBEQ
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6426 {"bnelrl", XLOCB(19,BOF
,CBEQ
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6427 {"bnerl", XLOCB(19,BOF
,CBEQ
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6428 {"bnslr-", XLOCB(19,BOF
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6429 {"bnslr+", XLOCB(19,BOFP
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6430 {"bnslr", XLOCB(19,BOF
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6431 {"bnsr", XLOCB(19,BOF
,CBSO
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6432 {"bnulr-", XLOCB(19,BOF
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6433 {"bnulr+", XLOCB(19,BOFP
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6434 {"bnulr", XLOCB(19,BOF
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6435 {"bnslrl-", XLOCB(19,BOF
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6436 {"bnslrl+", XLOCB(19,BOFP
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6437 {"bnslrl", XLOCB(19,BOF
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6438 {"bnsrl", XLOCB(19,BOF
,CBSO
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6439 {"bnulrl-", XLOCB(19,BOF
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6440 {"bnulrl+", XLOCB(19,BOFP
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6441 {"bnulrl", XLOCB(19,BOF
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6442 {"bgelr-", XLOCB(19,BOFM4
,CBLT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6443 {"bnllr-", XLOCB(19,BOFM4
,CBLT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6444 {"bgelrl-", XLOCB(19,BOFM4
,CBLT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6445 {"bnllrl-", XLOCB(19,BOFM4
,CBLT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6446 {"blelr-", XLOCB(19,BOFM4
,CBGT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6447 {"bnglr-", XLOCB(19,BOFM4
,CBGT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6448 {"blelrl-", XLOCB(19,BOFM4
,CBGT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6449 {"bnglrl-", XLOCB(19,BOFM4
,CBGT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6450 {"bnelr-", XLOCB(19,BOFM4
,CBEQ
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6451 {"bnelrl-", XLOCB(19,BOFM4
,CBEQ
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6452 {"bnslr-", XLOCB(19,BOFM4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6453 {"bnulr-", XLOCB(19,BOFM4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6454 {"bnslrl-", XLOCB(19,BOFM4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6455 {"bnulrl-", XLOCB(19,BOFM4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6456 {"bgelr+", XLOCB(19,BOFP4
,CBLT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6457 {"bnllr+", XLOCB(19,BOFP4
,CBLT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6458 {"bgelrl+", XLOCB(19,BOFP4
,CBLT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6459 {"bnllrl+", XLOCB(19,BOFP4
,CBLT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6460 {"blelr+", XLOCB(19,BOFP4
,CBGT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6461 {"bnglr+", XLOCB(19,BOFP4
,CBGT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6462 {"blelrl+", XLOCB(19,BOFP4
,CBGT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6463 {"bnglrl+", XLOCB(19,BOFP4
,CBGT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6464 {"bnelr+", XLOCB(19,BOFP4
,CBEQ
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6465 {"bnelrl+", XLOCB(19,BOFP4
,CBEQ
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6466 {"bnslr+", XLOCB(19,BOFP4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6467 {"bnulr+", XLOCB(19,BOFP4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6468 {"bnslrl+", XLOCB(19,BOFP4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6469 {"bnulrl+", XLOCB(19,BOFP4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6470 {"bltlr-", XLOCB(19,BOT
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6471 {"bltlr+", XLOCB(19,BOTP
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6472 {"bltlr", XLOCB(19,BOT
,CBLT
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6473 {"bltr", XLOCB(19,BOT
,CBLT
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6474 {"bltlrl-", XLOCB(19,BOT
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6475 {"bltlrl+", XLOCB(19,BOTP
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6476 {"bltlrl", XLOCB(19,BOT
,CBLT
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6477 {"bltrl", XLOCB(19,BOT
,CBLT
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6478 {"bgtlr-", XLOCB(19,BOT
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6479 {"bgtlr+", XLOCB(19,BOTP
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6480 {"bgtlr", XLOCB(19,BOT
,CBGT
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6481 {"bgtr", XLOCB(19,BOT
,CBGT
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6482 {"bgtlrl-", XLOCB(19,BOT
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6483 {"bgtlrl+", XLOCB(19,BOTP
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6484 {"bgtlrl", XLOCB(19,BOT
,CBGT
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6485 {"bgtrl", XLOCB(19,BOT
,CBGT
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6486 {"beqlr-", XLOCB(19,BOT
,CBEQ
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6487 {"beqlr+", XLOCB(19,BOTP
,CBEQ
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6488 {"beqlr", XLOCB(19,BOT
,CBEQ
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6489 {"beqr", XLOCB(19,BOT
,CBEQ
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6490 {"beqlrl-", XLOCB(19,BOT
,CBEQ
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6491 {"beqlrl+", XLOCB(19,BOTP
,CBEQ
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6492 {"beqlrl", XLOCB(19,BOT
,CBEQ
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6493 {"beqrl", XLOCB(19,BOT
,CBEQ
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6494 {"bsolr-", XLOCB(19,BOT
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6495 {"bsolr+", XLOCB(19,BOTP
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6496 {"bsolr", XLOCB(19,BOT
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6497 {"bsor", XLOCB(19,BOT
,CBSO
,16,0), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6498 {"bunlr-", XLOCB(19,BOT
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6499 {"bunlr+", XLOCB(19,BOTP
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6500 {"bunlr", XLOCB(19,BOT
,CBSO
,16,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6501 {"bsolrl-", XLOCB(19,BOT
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6502 {"bsolrl+", XLOCB(19,BOTP
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6503 {"bsolrl", XLOCB(19,BOT
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6504 {"bsorl", XLOCB(19,BOT
,CBSO
,16,1), XLBOCBBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6505 {"bunlrl-", XLOCB(19,BOT
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6506 {"bunlrl+", XLOCB(19,BOTP
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6507 {"bunlrl", XLOCB(19,BOT
,CBSO
,16,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6508 {"bltlr-", XLOCB(19,BOTM4
,CBLT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6509 {"bltlrl-", XLOCB(19,BOTM4
,CBLT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6510 {"bgtlr-", XLOCB(19,BOTM4
,CBGT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6511 {"bgtlrl-", XLOCB(19,BOTM4
,CBGT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6512 {"beqlr-", XLOCB(19,BOTM4
,CBEQ
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6513 {"beqlrl-", XLOCB(19,BOTM4
,CBEQ
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6514 {"bsolr-", XLOCB(19,BOTM4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6515 {"bunlr-", XLOCB(19,BOTM4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6516 {"bsolrl-", XLOCB(19,BOTM4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6517 {"bunlrl-", XLOCB(19,BOTM4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6518 {"bltlr+", XLOCB(19,BOTP4
,CBLT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6519 {"bltlrl+", XLOCB(19,BOTP4
,CBLT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6520 {"bgtlr+", XLOCB(19,BOTP4
,CBGT
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6521 {"bgtlrl+", XLOCB(19,BOTP4
,CBGT
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6522 {"beqlr+", XLOCB(19,BOTP4
,CBEQ
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6523 {"beqlrl+", XLOCB(19,BOTP4
,CBEQ
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6524 {"bsolr+", XLOCB(19,BOTP4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6525 {"bunlr+", XLOCB(19,BOTP4
,CBSO
,16,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6526 {"bsolrl+", XLOCB(19,BOTP4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6527 {"bunlrl+", XLOCB(19,BOTP4
,CBSO
,16,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6529 {"bdnzflr-", XLO(19,BODNZF
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6530 {"bdnzflr+", XLO(19,BODNZFP
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6531 {"bdnzflr", XLO(19,BODNZF
,16,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6532 {"bdnzflrl-",XLO(19,BODNZF
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6533 {"bdnzflrl+",XLO(19,BODNZFP
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6534 {"bdnzflrl", XLO(19,BODNZF
,16,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6535 {"bdzflr-", XLO(19,BODZF
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6536 {"bdzflr+", XLO(19,BODZFP
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6537 {"bdzflr", XLO(19,BODZF
,16,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6538 {"bdzflrl-", XLO(19,BODZF
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6539 {"bdzflrl+", XLO(19,BODZFP
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6540 {"bdzflrl", XLO(19,BODZF
,16,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6541 {"bflr-", XLO(19,BOF
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6542 {"bflr+", XLO(19,BOFP
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6543 {"bflr", XLO(19,BOF
,16,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6544 {"bbfr", XLO(19,BOF
,16,0), XLBOBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6545 {"bflrl-", XLO(19,BOF
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6546 {"bflrl+", XLO(19,BOFP
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6547 {"bflrl", XLO(19,BOF
,16,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6548 {"bbfrl", XLO(19,BOF
,16,1), XLBOBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6549 {"bflr-", XLO(19,BOFM4
,16,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6550 {"bflrl-", XLO(19,BOFM4
,16,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6551 {"bflr+", XLO(19,BOFP4
,16,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6552 {"bflrl+", XLO(19,BOFP4
,16,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6553 {"bdnztlr-", XLO(19,BODNZT
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6554 {"bdnztlr+", XLO(19,BODNZTP
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6555 {"bdnztlr", XLO(19,BODNZT
,16,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6556 {"bdnztlrl-", XLO(19,BODNZT
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6557 {"bdnztlrl+", XLO(19,BODNZTP
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6558 {"bdnztlrl", XLO(19,BODNZT
,16,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6559 {"bdztlr-", XLO(19,BODZT
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6560 {"bdztlr+", XLO(19,BODZTP
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6561 {"bdztlr", XLO(19,BODZT
,16,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6562 {"bdztlrl-", XLO(19,BODZT
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6563 {"bdztlrl+", XLO(19,BODZTP
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6564 {"bdztlrl", XLO(19,BODZT
,16,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6565 {"btlr-", XLO(19,BOT
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6566 {"btlr+", XLO(19,BOTP
,16,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6567 {"btlr", XLO(19,BOT
,16,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6568 {"bbtr", XLO(19,BOT
,16,0), XLBOBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6569 {"btlrl-", XLO(19,BOT
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6570 {"btlrl+", XLO(19,BOTP
,16,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6571 {"btlrl", XLO(19,BOT
,16,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6572 {"bbtrl", XLO(19,BOT
,16,1), XLBOBB_MASK
, PWRCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6573 {"btlr-", XLO(19,BOTM4
,16,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6574 {"btlrl-", XLO(19,BOTM4
,16,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6575 {"btlr+", XLO(19,BOTP4
,16,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6576 {"btlrl+", XLO(19,BOTP4
,16,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6578 {"bclr-", XLLK(19,16,0), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BH
}},
6579 {"bclr+", XLLK(19,16,0), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BH
}},
6580 {"bclr", XLLK(19,16,0), XLBH_MASK
, PPCCOM
, PPCVLE
, {BO
, BI
, BH
}},
6581 {"bcr", XLLK(19,16,0), XLBH_MASK
, PWRCOM
, PPCVLE
, {BO
, BI
, BH
}},
6582 {"bclrl-", XLLK(19,16,1), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BH
}},
6583 {"bclrl+", XLLK(19,16,1), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BH
}},
6584 {"bclrl", XLLK(19,16,1), XLBH_MASK
, PPCCOM
, PPCVLE
, {BO
, BI
, BH
}},
6585 {"bcrl", XLLK(19,16,1), XLBH_MASK
, PWRCOM
, PPCVLE
, {BO
, BI
, BH
}},
6587 {"rfid", XL(19,18), 0xffffffff, PPC64
, PPCVLE
, {0}},
6589 {"crnot", XL(19,33), XL_MASK
, PPCCOM
, PPCVLE
|EXT
, {BT
, BAB
}},
6590 {"crnor", XL(19,33), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6592 {"rfmci", X(19,38), 0xffffffff, PPCRFMCI
|PPCA2
|PPC476
, PPCVLE
, {0}},
6593 {"rfdi", XL(19,39), 0xffffffff, E500MC
, PPCVLE
, {0}},
6594 {"rfi", XL(19,50), 0xffffffff, COM
, PPCVLE
, {0}},
6595 {"rfci", XL(19,51), 0xffffffff, PPC403
|BOOKE
|PPCE300
|PPCA2
|PPC476
, PPCVLE
, {0}},
6597 {"rfscv", XL(19,82), 0xffffffff, POWER9
, PPCVLE
, {0}},
6598 {"rfsvc", XL(19,82), 0xffffffff, POWER
, PPCVLE
, {0}},
6600 {"rfgi", XL(19,102), 0xffffffff, E500MC
|PPCA2
, PPCVLE
, {0}},
6602 {"crandc", XL(19,129), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6604 {"rfebb", XL(19,146), XLS_MASK
, POWER8
, PPCVLE
, {SXL
}},
6606 {"isync", XL(19,150), 0xffffffff, PPCCOM
, PPCVLE
, {0}},
6607 {"ics", XL(19,150), 0xffffffff, PWRCOM
, PPCVLE
, {0}},
6609 {"crclr", XL(19,193), XL_MASK
, PPCCOM
, PPCVLE
|EXT
, {BTAB
}},
6610 {"crxor", XL(19,193), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6612 {"dnh", X(19,198), X_MASK
, E500MC
, PPCVLE
, {DUI
, DUIS
}},
6614 {"crnand", XL(19,225), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6616 {"crand", XL(19,257), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6618 {"hrfid", XL(19,274), 0xffffffff, POWER5
|CELL
, PPC476
|PPCVLE
, {0}},
6620 {"crset", XL(19,289), XL_MASK
, PPCCOM
, PPCVLE
|EXT
, {BTAB
}},
6621 {"creqv", XL(19,289), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6623 {"urfid", XL(19,306), 0xffffffff, POWER9
, PPCVLE
, {0}},
6624 {"stop", XL(19,370), 0xffffffff, POWER9
, PPCVLE
, {0}},
6626 {"doze", XL(19,402), 0xffffffff, POWER6
, POWER9
|PPCVLE
, {0}},
6628 {"crorc", XL(19,417), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6630 {"nap", XL(19,434), 0xffffffff, POWER6
, POWER9
|PPCVLE
, {0}},
6632 {"crmove", XL(19,449), XL_MASK
, PPCCOM
, PPCVLE
|EXT
, {BT
, BAB
}},
6633 {"cror", XL(19,449), XL_MASK
, COM
, PPCVLE
, {BT
, BA
, BB
}},
6635 {"sleep", XL(19,466), 0xffffffff, POWER6
, POWER9
|PPCVLE
, {0}},
6636 {"rvwinkle", XL(19,498), 0xffffffff, POWER6
, POWER9
|PPCVLE
, {0}},
6638 {"bctr", XLO(19,BOU
,528,0), XLBOBIBB_MASK
, COM
, PPCVLE
|EXT
, {BH
}},
6639 {"bctrl", XLO(19,BOU
,528,1), XLBOBIBB_MASK
, COM
, PPCVLE
|EXT
, {BH
}},
6640 {"bgectr-", XLOCB(19,BOF
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6641 {"bgectr+", XLOCB(19,BOFP
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6642 {"bgectr", XLOCB(19,BOF
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6643 {"bnlctr-", XLOCB(19,BOF
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6644 {"bnlctr+", XLOCB(19,BOFP
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6645 {"bnlctr", XLOCB(19,BOF
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6646 {"bgectrl-",XLOCB(19,BOF
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6647 {"bgectrl+",XLOCB(19,BOFP
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6648 {"bgectrl", XLOCB(19,BOF
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6649 {"bnlctrl-",XLOCB(19,BOF
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6650 {"bnlctrl+",XLOCB(19,BOFP
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6651 {"bnlctrl", XLOCB(19,BOF
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6652 {"blectr-", XLOCB(19,BOF
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6653 {"blectr+", XLOCB(19,BOFP
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6654 {"blectr", XLOCB(19,BOF
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6655 {"bngctr-", XLOCB(19,BOF
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6656 {"bngctr+", XLOCB(19,BOFP
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6657 {"bngctr", XLOCB(19,BOF
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6658 {"blectrl-",XLOCB(19,BOF
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6659 {"blectrl+",XLOCB(19,BOFP
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6660 {"blectrl", XLOCB(19,BOF
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6661 {"bngctrl-",XLOCB(19,BOF
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6662 {"bngctrl+",XLOCB(19,BOFP
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6663 {"bngctrl", XLOCB(19,BOF
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6664 {"bnectr-", XLOCB(19,BOF
,CBEQ
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6665 {"bnectr+", XLOCB(19,BOFP
,CBEQ
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6666 {"bnectr", XLOCB(19,BOF
,CBEQ
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6667 {"bnectrl-",XLOCB(19,BOF
,CBEQ
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6668 {"bnectrl+",XLOCB(19,BOFP
,CBEQ
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6669 {"bnectrl", XLOCB(19,BOF
,CBEQ
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6670 {"bnsctr-", XLOCB(19,BOF
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6671 {"bnsctr+", XLOCB(19,BOFP
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6672 {"bnsctr", XLOCB(19,BOF
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6673 {"bnuctr-", XLOCB(19,BOF
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6674 {"bnuctr+", XLOCB(19,BOFP
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6675 {"bnuctr", XLOCB(19,BOF
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6676 {"bnsctrl-",XLOCB(19,BOF
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6677 {"bnsctrl+",XLOCB(19,BOFP
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6678 {"bnsctrl", XLOCB(19,BOF
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6679 {"bnuctrl-",XLOCB(19,BOF
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6680 {"bnuctrl+",XLOCB(19,BOFP
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6681 {"bnuctrl", XLOCB(19,BOF
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6682 {"bgectr-", XLOCB(19,BOFM4
,CBLT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6683 {"bnlctr-", XLOCB(19,BOFM4
,CBLT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6684 {"bgectrl-",XLOCB(19,BOFM4
,CBLT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6685 {"bnlctrl-",XLOCB(19,BOFM4
,CBLT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6686 {"blectr-", XLOCB(19,BOFM4
,CBGT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6687 {"bngctr-", XLOCB(19,BOFM4
,CBGT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6688 {"blectrl-",XLOCB(19,BOFM4
,CBGT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6689 {"bngctrl-",XLOCB(19,BOFM4
,CBGT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6690 {"bnectr-", XLOCB(19,BOFM4
,CBEQ
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6691 {"bnectrl-",XLOCB(19,BOFM4
,CBEQ
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6692 {"bnsctr-", XLOCB(19,BOFM4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6693 {"bnuctr-", XLOCB(19,BOFM4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6694 {"bnsctrl-",XLOCB(19,BOFM4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6695 {"bnuctrl-",XLOCB(19,BOFM4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6696 {"bgectr+", XLOCB(19,BOFP4
,CBLT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6697 {"bnlctr+", XLOCB(19,BOFP4
,CBLT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6698 {"bgectrl+",XLOCB(19,BOFP4
,CBLT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6699 {"bnlctrl+",XLOCB(19,BOFP4
,CBLT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6700 {"blectr+", XLOCB(19,BOFP4
,CBGT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6701 {"bngctr+", XLOCB(19,BOFP4
,CBGT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6702 {"blectrl+",XLOCB(19,BOFP4
,CBGT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6703 {"bngctrl+",XLOCB(19,BOFP4
,CBGT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6704 {"bnectr+", XLOCB(19,BOFP4
,CBEQ
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6705 {"bnectrl+",XLOCB(19,BOFP4
,CBEQ
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6706 {"bnsctr+", XLOCB(19,BOFP4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6707 {"bnuctr+", XLOCB(19,BOFP4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6708 {"bnsctrl+",XLOCB(19,BOFP4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6709 {"bnuctrl+",XLOCB(19,BOFP4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6710 {"bltctr-", XLOCB(19,BOT
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6711 {"bltctr+", XLOCB(19,BOTP
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6712 {"bltctr", XLOCB(19,BOT
,CBLT
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6713 {"bltctrl-",XLOCB(19,BOT
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6714 {"bltctrl+",XLOCB(19,BOTP
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6715 {"bltctrl", XLOCB(19,BOT
,CBLT
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6716 {"bgtctr-", XLOCB(19,BOT
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6717 {"bgtctr+", XLOCB(19,BOTP
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6718 {"bgtctr", XLOCB(19,BOT
,CBGT
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6719 {"bgtctrl-",XLOCB(19,BOT
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6720 {"bgtctrl+",XLOCB(19,BOTP
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6721 {"bgtctrl", XLOCB(19,BOT
,CBGT
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6722 {"beqctr-", XLOCB(19,BOT
,CBEQ
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6723 {"beqctr+", XLOCB(19,BOTP
,CBEQ
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6724 {"beqctr", XLOCB(19,BOT
,CBEQ
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6725 {"beqctrl-",XLOCB(19,BOT
,CBEQ
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6726 {"beqctrl+",XLOCB(19,BOTP
,CBEQ
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6727 {"beqctrl", XLOCB(19,BOT
,CBEQ
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6728 {"bsoctr-", XLOCB(19,BOT
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6729 {"bsoctr+", XLOCB(19,BOTP
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6730 {"bsoctr", XLOCB(19,BOT
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6731 {"bunctr-", XLOCB(19,BOT
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6732 {"bunctr+", XLOCB(19,BOTP
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6733 {"bunctr", XLOCB(19,BOT
,CBSO
,528,0), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6734 {"bsoctrl-",XLOCB(19,BOT
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6735 {"bsoctrl+",XLOCB(19,BOTP
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6736 {"bsoctrl", XLOCB(19,BOT
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6737 {"bunctrl-",XLOCB(19,BOT
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6738 {"bunctrl+",XLOCB(19,BOTP
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {CR
, BH
}},
6739 {"bunctrl", XLOCB(19,BOT
,CBSO
,528,1), XLBOCBBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {CR
, BH
}},
6740 {"bltctr-", XLOCB(19,BOTM4
,CBLT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6741 {"bltctrl-",XLOCB(19,BOTM4
,CBLT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6742 {"bgtctr-", XLOCB(19,BOTM4
,CBGT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6743 {"bgtctrl-",XLOCB(19,BOTM4
,CBGT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6744 {"beqctr-", XLOCB(19,BOTM4
,CBEQ
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6745 {"beqctrl-",XLOCB(19,BOTM4
,CBEQ
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6746 {"bsoctr-", XLOCB(19,BOTM4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6747 {"bunctr-", XLOCB(19,BOTM4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6748 {"bsoctrl-",XLOCB(19,BOTM4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6749 {"bunctrl-",XLOCB(19,BOTM4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6750 {"bltctr+", XLOCB(19,BOTP4
,CBLT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6751 {"bltctrl+",XLOCB(19,BOTP4
,CBLT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6752 {"bgtctr+", XLOCB(19,BOTP4
,CBGT
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6753 {"bgtctrl+",XLOCB(19,BOTP4
,CBGT
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6754 {"beqctr+", XLOCB(19,BOTP4
,CBEQ
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6755 {"beqctrl+",XLOCB(19,BOTP4
,CBEQ
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6756 {"bsoctr+", XLOCB(19,BOTP4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6757 {"bunctr+", XLOCB(19,BOTP4
,CBSO
,528,0), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6758 {"bsoctrl+",XLOCB(19,BOTP4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6759 {"bunctrl+",XLOCB(19,BOTP4
,CBSO
,528,1), XLBOCBBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {CR
, BH
}},
6761 {"bfctr-", XLO(19,BOF
,528,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6762 {"bfctr+", XLO(19,BOFP
,528,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6763 {"bfctr", XLO(19,BOF
,528,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6764 {"bfctrl-", XLO(19,BOF
,528,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6765 {"bfctrl+", XLO(19,BOFP
,528,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6766 {"bfctrl", XLO(19,BOF
,528,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6767 {"bfctr-", XLO(19,BOFM4
,528,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6768 {"bfctrl-", XLO(19,BOFM4
,528,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6769 {"bfctr+", XLO(19,BOFP4
,528,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6770 {"bfctrl+", XLO(19,BOFP4
,528,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6771 {"btctr-", XLO(19,BOT
,528,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6772 {"btctr+", XLO(19,BOTP
,528,0), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6773 {"btctr", XLO(19,BOT
,528,0), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6774 {"btctrl-", XLO(19,BOT
,528,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6775 {"btctrl+", XLO(19,BOTP
,528,1), XLBOBB_MASK
, PPCCOM
, ISA_V2
|PPCVLE
|EXT
, {BI
, BH
}},
6776 {"btctrl", XLO(19,BOT
,528,1), XLBOBB_MASK
, PPCCOM
, PPCVLE
|EXT
, {BI
, BH
}},
6777 {"btctr-", XLO(19,BOTM4
,528,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6778 {"btctrl-", XLO(19,BOTM4
,528,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6779 {"btctr+", XLO(19,BOTP4
,528,0), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6780 {"btctrl+", XLO(19,BOTP4
,528,1), XLBOBB_MASK
, ISA_V2
, PPCVLE
|EXT
, {BI
, BH
}},
6782 {"bcctr-", XLLK(19,528,0), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BH
}},
6783 {"bcctr+", XLLK(19,528,0), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BH
}},
6784 {"bcctr", XLLK(19,528,0), XLBH_MASK
, PPCCOM
, PPCVLE
, {BO
, BI
, BH
}},
6785 {"bcc", XLLK(19,528,0), XLBH_MASK
, PWRCOM
, PPCVLE
, {BO
, BI
, BH
}},
6786 {"bcctrl-", XLLK(19,528,1), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOM
, BI
, BH
}},
6787 {"bcctrl+", XLLK(19,528,1), XLBH_MASK
, PPCCOM
, PPCVLE
|EXT
, {BOP
, BI
, BH
}},
6788 {"bcctrl", XLLK(19,528,1), XLBH_MASK
, PPCCOM
, PPCVLE
, {BO
, BI
, BH
}},
6789 {"bccl", XLLK(19,528,1), XLBH_MASK
, PWRCOM
, PPCVLE
, {BO
, BI
, BH
}},
6791 {"bdnztar", XLO(19,BODNZ
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6792 {"bdnztarl", XLO(19,BODNZ
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6793 {"bdztar", XLO(19,BODZ
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6794 {"bdztarl", XLO(19,BODZ
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6795 {"btar", XLO(19,BOU
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6796 {"btarl", XLO(19,BOU
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6797 {"bdnztar-", XLO(19,BODNZM4
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6798 {"bdnztarl-", XLO(19,BODNZM4
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6799 {"bdnztar+", XLO(19,BODNZP4
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6800 {"bdnztarl+", XLO(19,BODNZP4
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6801 {"bdztar-", XLO(19,BODZM4
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6802 {"bdztarl-", XLO(19,BODZM4
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6803 {"bdztar+", XLO(19,BODZP4
,560,0), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6804 {"bdztarl+", XLO(19,BODZP4
,560,1), XLBOBIBB_MASK
, POWER8
, PPCVLE
|EXT
, {BH
}},
6806 {"bgetar", XLOCB(19,BOF
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6807 {"bnltar", XLOCB(19,BOF
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6808 {"bgetarl", XLOCB(19,BOF
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6809 {"bnltarl", XLOCB(19,BOF
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6810 {"bletar", XLOCB(19,BOF
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6811 {"bngtar", XLOCB(19,BOF
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6812 {"bletarl", XLOCB(19,BOF
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6813 {"bngtarl", XLOCB(19,BOF
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6814 {"bnetar", XLOCB(19,BOF
,CBEQ
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6815 {"bnetarl", XLOCB(19,BOF
,CBEQ
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6816 {"bnstar", XLOCB(19,BOF
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6817 {"bnutar", XLOCB(19,BOF
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6818 {"bnstarl", XLOCB(19,BOF
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6819 {"bnutarl", XLOCB(19,BOF
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6820 {"bgetar-", XLOCB(19,BOFM4
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6821 {"bnltar-", XLOCB(19,BOFM4
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6822 {"bgetarl-",XLOCB(19,BOFM4
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6823 {"bnltarl-",XLOCB(19,BOFM4
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6824 {"bletar-", XLOCB(19,BOFM4
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6825 {"bngtar-", XLOCB(19,BOFM4
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6826 {"bletarl-",XLOCB(19,BOFM4
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6827 {"bngtarl-",XLOCB(19,BOFM4
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6828 {"bnetar-", XLOCB(19,BOFM4
,CBEQ
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6829 {"bnetarl-",XLOCB(19,BOFM4
,CBEQ
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6830 {"bnstar-", XLOCB(19,BOFM4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6831 {"bnutar-", XLOCB(19,BOFM4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6832 {"bnstarl-",XLOCB(19,BOFM4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6833 {"bnutarl-",XLOCB(19,BOFM4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6834 {"bgetar+", XLOCB(19,BOFP4
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6835 {"bnltar+", XLOCB(19,BOFP4
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6836 {"bgetarl+",XLOCB(19,BOFP4
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6837 {"bnltarl+",XLOCB(19,BOFP4
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6838 {"bletar+", XLOCB(19,BOFP4
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6839 {"bngtar+", XLOCB(19,BOFP4
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6840 {"bletarl+",XLOCB(19,BOFP4
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6841 {"bngtarl+",XLOCB(19,BOFP4
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6842 {"bnetar+", XLOCB(19,BOFP4
,CBEQ
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6843 {"bnetarl+",XLOCB(19,BOFP4
,CBEQ
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6844 {"bnstar+", XLOCB(19,BOFP4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6845 {"bnutar+", XLOCB(19,BOFP4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6846 {"bnstarl+",XLOCB(19,BOFP4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6847 {"bnutarl+",XLOCB(19,BOFP4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6848 {"blttar", XLOCB(19,BOT
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6849 {"blttarl", XLOCB(19,BOT
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6850 {"bgttar", XLOCB(19,BOT
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6851 {"bgttarl", XLOCB(19,BOT
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6852 {"beqtar", XLOCB(19,BOT
,CBEQ
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6853 {"beqtarl", XLOCB(19,BOT
,CBEQ
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6854 {"bsotar", XLOCB(19,BOT
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6855 {"buntar", XLOCB(19,BOT
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6856 {"bsotarl", XLOCB(19,BOT
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6857 {"buntarl", XLOCB(19,BOT
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6858 {"blttar-", XLOCB(19,BOTM4
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6859 {"blttarl-",XLOCB(19,BOTM4
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6860 {"bgttar-", XLOCB(19,BOTM4
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6861 {"bgttarl-",XLOCB(19,BOTM4
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6862 {"beqtar-", XLOCB(19,BOTM4
,CBEQ
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6863 {"beqtarl-",XLOCB(19,BOTM4
,CBEQ
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6864 {"bsotar-", XLOCB(19,BOTM4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6865 {"buntar-", XLOCB(19,BOTM4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6866 {"bsotarl-",XLOCB(19,BOTM4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6867 {"buntarl-",XLOCB(19,BOTM4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6868 {"blttar+", XLOCB(19,BOTP4
,CBLT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6869 {"blttarl+",XLOCB(19,BOTP4
,CBLT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6870 {"bgttar+", XLOCB(19,BOTP4
,CBGT
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6871 {"bgttarl+",XLOCB(19,BOTP4
,CBGT
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6872 {"beqtar+", XLOCB(19,BOTP4
,CBEQ
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6873 {"beqtarl+",XLOCB(19,BOTP4
,CBEQ
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6874 {"bsotar+", XLOCB(19,BOTP4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6875 {"buntar+", XLOCB(19,BOTP4
,CBSO
,560,0), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6876 {"bsotarl+",XLOCB(19,BOTP4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6877 {"buntarl+",XLOCB(19,BOTP4
,CBSO
,560,1), XLBOCBBB_MASK
, POWER8
, PPCVLE
|EXT
, {CR
, BH
}},
6879 {"bdnzftar", XLO(19,BODNZF
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6880 {"bdnzftarl", XLO(19,BODNZF
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6881 {"bdzftar", XLO(19,BODZF
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6882 {"bdzftarl", XLO(19,BODZF
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6884 {"bftar", XLO(19,BOF
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6885 {"bftarl", XLO(19,BOF
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6886 {"bftar-", XLO(19,BOFM4
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6887 {"bftarl-", XLO(19,BOFM4
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6888 {"bftar+", XLO(19,BOFP4
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6889 {"bftarl+", XLO(19,BOFP4
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6891 {"bdnzttar", XLO(19,BODNZT
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6892 {"bdnzttarl", XLO(19,BODNZT
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6893 {"bdzttar", XLO(19,BODZT
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6894 {"bdzttarl", XLO(19,BODZT
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6896 {"bttar", XLO(19,BOT
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6897 {"bttarl", XLO(19,BOT
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6898 {"bttar-", XLO(19,BOTM4
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6899 {"bttarl-", XLO(19,BOTM4
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6900 {"bttar+", XLO(19,BOTP4
,560,0), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6901 {"bttarl+", XLO(19,BOTP4
,560,1), XLBOBB_MASK
, POWER8
, PPCVLE
|EXT
, {BI
, BH
}},
6903 {"bctar-", XLLK(19,560,0), XLBH_MASK
, POWER8
, PPCVLE
|EXT
, {BOM
, BI
, BH
}},
6904 {"bctar+", XLLK(19,560,0), XLBH_MASK
, POWER8
, PPCVLE
|EXT
, {BOP
, BI
, BH
}},
6905 {"bctar", XLLK(19,560,0), XLBH_MASK
, POWER8
, PPCVLE
, {BO
, BI
, BH
}},
6906 {"bctarl-", XLLK(19,560,1), XLBH_MASK
, POWER8
, PPCVLE
|EXT
, {BOM
, BI
, BH
}},
6907 {"bctarl+", XLLK(19,560,1), XLBH_MASK
, POWER8
, PPCVLE
|EXT
, {BOP
, BI
, BH
}},
6908 {"bctarl", XLLK(19,560,1), XLBH_MASK
, POWER8
, PPCVLE
, {BO
, BI
, BH
}},
6910 {"rlwimi", M(20,0), M_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6911 {"inslwi", M(20,0), M_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, ILWn
, ILWb
}},
6912 {"insrwi", M(20,0), M_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, IRWn
, IRWb
}},
6913 {"rlimi", M(20,0), M_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6915 {"rlwimi.", M(20,1), M_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6916 {"inslwi.", M(20,1), M_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, ILWn
, ILWb
}},
6917 {"insrwi.", M(20,1), M_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, IRWn
, IRWb
}},
6918 {"rlimi.", M(20,1), M_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6920 {"rotlwi", MME(21,31,0), MMBME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, SH
}},
6921 {"rotrwi", MME(21,31,0), MMBME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, RRWn
}},
6922 {"clrlwi", MME(21,31,0), MSHME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, MB
}},
6923 {"clrrwi", M(21,0), MSHMB_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, CRWn
}},
6924 {"slwi", M(21,0), MMB_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, SLWn
}},
6925 {"srwi", MME(21,31,0), MME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, SRWn
}},
6926 {"rlwinm", M(21,0), M_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6927 {"extlwi", M(21,0), MMB_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, ELWn
, SH
}},
6928 {"extrwi", MME(21,31,0), MME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, ERWn
, ERWb
}},
6929 {"clrlslwi", M(21,0), M_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, CSLWb
, CSLWn
}},
6930 {"sli", M(21,0), MMB_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, RS
, SLWn
}},
6931 {"sri", MME(21,31,0), MME_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, RS
, SRWn
}},
6932 {"rlinm", M(21,0), M_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6933 {"rotlwi.", MME(21,31,1), MMBME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, SH
}},
6934 {"rotrwi.", MME(21,31,1), MMBME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, RRWn
}},
6935 {"clrlwi.", MME(21,31,1), MSHME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, MB
}},
6936 {"clrrwi.", M(21,1), MSHMB_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, CRWn
}},
6937 {"slwi.", M(21,1), MMB_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, SLWn
}},
6938 {"srwi.", MME(21,31,1), MME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, SRWn
}},
6939 {"rlwinm.", M(21,1), M_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6940 {"extlwi.", M(21,1), MMB_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, ELWn
, SH
}},
6941 {"extrwi.", MME(21,31,1), MME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, ERWn
, ERWb
}},
6942 {"clrlslwi.", M(21,1), M_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, CSLWb
, CSLWn
}},
6943 {"sli.", M(21,1), MMB_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, RS
, SLWn
}},
6944 {"sri.", MME(21,31,1), MME_MASK
, PWRCOM
, PPCVLE
|EXT
, {RA
, RS
, SRWn
}},
6945 {"rlinm.", M(21,1), M_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, SH
, MBE
, ME
}},
6947 {"rlmi", M(22,0), M_MASK
, M601
, PPCVLE
, {RA
, RS
, RB
, MBE
, ME
}},
6948 {"rlmi.", M(22,1), M_MASK
, M601
, PPCVLE
, {RA
, RS
, RB
, MBE
, ME
}},
6950 {"svstep", SVL(22,19,0), SVL_MASK
, SVP64
, PPCVLE
, {RT
, SVi
, vf
}},
6951 {"svstep.", SVL(22,19,1), SVL_MASK
, SVP64
, PPCVLE
, {RT
, SVi
, vf
}},
6953 {"svshape", SVM(22,25), SVM_MASK
, SVP64
, PPCVLE
, {SVxd
, SVyd
, SVzd
, SVrm
, vf
}},
6955 {"setvl", SVL(22,27,0), SVL_MASK
, SVP64
, PPCVLE
, {RT
, RA
, SVi
, vf
, vs
, ms
}},
6956 {"setvl.", SVL(22,27,1), SVL_MASK
, SVP64
, PPCVLE
, {RT
, RA
, SVi
, vf
, vs
, ms
}},
6958 {"svindex", SVI(22,41), SVI_MASK
, SVP64
, PPCVLE
, {SVG
, rmm
, SVd
, ew
, yx
, mm
, sk
}},
6960 {"svremap", SVRM(22,57), SVRM_MASK
, SVP64
, PPCVLE
, {SVme
, mi0
, mi1
, mi2
, mo0
, mo1
, pst
}},
6962 {"rotlw", MME(23,31,0), MMBME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, RB
}},
6963 {"rlwnm", M(23,0), M_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, RB
, MBE
, ME
}},
6964 {"rlnm", M(23,0), M_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, RB
, MBE
, ME
}},
6965 {"rotlw.", MME(23,31,1), MMBME_MASK
, PPCCOM
, PPCVLE
|EXT
, {RA
, RS
, RB
}},
6966 {"rlwnm.", M(23,1), M_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, RB
, MBE
, ME
}},
6967 {"rlnm.", M(23,1), M_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, RB
, MBE
, ME
}},
6969 {"nop", OP(24), 0xffffffff, PPCCOM
, PPCVLE
|EXT
, {0}},
6970 {"exser", 0x63ff0000, 0xffffffff, POWER9
, PPCVLE
|EXT
, {0}},
6971 {"ori", OP(24), OP_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, UI
}},
6972 {"oril", OP(24), OP_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, UI
}},
6974 {"oris", OP(25), OP_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, UI
}},
6975 {"oriu", OP(25), OP_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, UI
}},
6977 {"xnop", OP(26), 0xffffffff, PPCCOM
, PPCVLE
|EXT
, {0}},
6978 {"xori", OP(26), OP_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, UI
}},
6979 {"xoril", OP(26), OP_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, UI
}},
6981 {"xoris", OP(27), OP_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, UI
}},
6982 {"xoriu", OP(27), OP_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, UI
}},
6984 {"andi.", OP(28), OP_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, UI
}},
6985 {"andil.", OP(28), OP_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, UI
}},
6987 {"andis.", OP(29), OP_MASK
, PPCCOM
, PPCVLE
, {RA
, RS
, UI
}},
6988 {"andiu.", OP(29), OP_MASK
, PWRCOM
, PPCVLE
, {RA
, RS
, UI
}},
6990 {"rotldi", MD(30,0,0), MDMB_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, SH6
}},
6991 {"rotrdi", MD(30,0,0), MDMB_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, RRDn
}},
6992 {"clrldi", MD(30,0,0), MDSH_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, MB6
}},
6993 {"srdi", MD(30,0,0), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, SRDn
}},
6994 {"rldicl", MD(30,0,0), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, MB6
}},
6995 {"extrdi", MD(30,0,0), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, ERDn
, ERDb
}},
6996 {"rotldi.", MD(30,0,1), MDMB_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, SH6
}},
6997 {"rotrdi.", MD(30,0,1), MDMB_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, RRDn
}},
6998 {"clrldi.", MD(30,0,1), MDSH_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, MB6
}},
6999 {"srdi.", MD(30,0,1), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, SRDn
}},
7000 {"rldicl.", MD(30,0,1), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, MB6
}},
7001 {"extrdi.", MD(30,0,1), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, ERDn
, ERDb
}},
7003 {"clrrdi", MD(30,1,0), MDSH_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, CRDn
}},
7004 {"sldi", MD(30,1,0), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, SLDn
}},
7005 {"rldicr", MD(30,1,0), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, ME6
}},
7006 {"extldi", MD(30,1,0), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, ELDn
, SH6
}},
7007 {"clrrdi.", MD(30,1,1), MDSH_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, CRDn
}},
7008 {"sldi.", MD(30,1,1), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, SLDn
}},
7009 {"rldicr.", MD(30,1,1), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, ME6
}},
7010 {"extldi.", MD(30,1,1), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, ELDn
, SH6
}},
7012 {"rldic", MD(30,2,0), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, MB6
}},
7013 {"clrlsldi", MD(30,2,0), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, CSLDb
, CSLDn
}},
7014 {"rldic.", MD(30,2,1), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, MB6
}},
7015 {"clrlsldi.", MD(30,2,1), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, CSLDb
, CSLDn
}},
7017 {"rldimi", MD(30,3,0), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, MB6
}},
7018 {"insrdi", MD(30,3,0), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, IRDn
, IRDb
}},
7019 {"rldimi.", MD(30,3,1), MD_MASK
, PPC64
, PPCVLE
, {RA
, RS
, SH6
, MB6
}},
7020 {"insrdi.", MD(30,3,1), MD_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, IRDn
, IRDb
}},
7022 {"rotld", MDS(30,8,0), MDSMB_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, RB
}},
7023 {"rldcl", MDS(30,8,0), MDS_MASK
, PPC64
, PPCVLE
, {RA
, RS
, RB
, MB6
}},
7024 {"rotld.", MDS(30,8,1), MDSMB_MASK
, PPC64
, PPCVLE
|EXT
, {RA
, RS
, RB
}},
7025 {"rldcl.", MDS(30,8,1), MDS_MASK
, PPC64
, PPCVLE
, {RA
, RS
, RB
, MB6
}},
7027 {"rldcr", MDS(30,9,0), MDS_MASK
, PPC64
, PPCVLE
, {RA
, RS
, RB
, ME6
}},
7028 {"rldcr.", MDS(30,9,1), MDS_MASK
, PPC64
, PPCVLE
, {RA
, RS
, RB
, ME6
}},
7030 {"cmpw", XOPL(31,0,0), XCMPL_MASK
, PPCCOM
, EXT
, {OBF
, RA
, RB
}},
7031 {"cmpd", XOPL(31,0,1), XCMPL_MASK
, PPC64
, EXT
, {OBF
, RA
, RB
}},
7032 {"cmp", X(31,0), XCMP_MASK
, PPC
, 0, {BF
, L32OPT
, RA
, RB
}},
7033 {"cmp", X(31,0), XCMPL_MASK
, PWRCOM
, PPC
, {BF
, RA
, RB
}},
7035 {"twlgt", XTO(31,4,TOLGT
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7036 {"tlgt", XTO(31,4,TOLGT
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7037 {"twllt", XTO(31,4,TOLLT
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7038 {"tllt", XTO(31,4,TOLLT
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7039 {"tweq", XTO(31,4,TOEQ
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7040 {"teq", XTO(31,4,TOEQ
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7041 {"twlge", XTO(31,4,TOLGE
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7042 {"tlge", XTO(31,4,TOLGE
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7043 {"twlnl", XTO(31,4,TOLNL
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7044 {"tlnl", XTO(31,4,TOLNL
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7045 {"twlle", XTO(31,4,TOLLE
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7046 {"tlle", XTO(31,4,TOLLE
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7047 {"twlng", XTO(31,4,TOLNG
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7048 {"tlng", XTO(31,4,TOLNG
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7049 {"twgt", XTO(31,4,TOGT
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7050 {"tgt", XTO(31,4,TOGT
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7051 {"twge", XTO(31,4,TOGE
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7052 {"tge", XTO(31,4,TOGE
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7053 {"twnl", XTO(31,4,TONL
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7054 {"tnl", XTO(31,4,TONL
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7055 {"twlt", XTO(31,4,TOLT
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7056 {"tlt", XTO(31,4,TOLT
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7057 {"twle", XTO(31,4,TOLE
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7058 {"tle", XTO(31,4,TOLE
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7059 {"twng", XTO(31,4,TONG
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7060 {"tng", XTO(31,4,TONG
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7061 {"twne", XTO(31,4,TONE
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7062 {"tne", XTO(31,4,TONE
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7063 {"trap", XTO(31,4,TOU
), 0xffffffff, PPCCOM
, EXT
, {0}},
7064 {"twu", XTO(31,4,TOU
), XTO_MASK
, PPCCOM
, EXT
, {RA
, RB
}},
7065 {"tu", XTO(31,4,TOU
), XTO_MASK
, PWRCOM
, EXT
, {RA
, RB
}},
7066 {"tw", X(31,4), X_MASK
, PPCCOM
, 0, {TO
, RA
, RB
}},
7067 {"t", X(31,4), X_MASK
, PWRCOM
, 0, {TO
, RA
, RB
}},
7069 {"lvsl", X(31,6), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7070 {"lvebx", X(31,7), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7071 {"lbfcmx", APU(31,7,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7073 {"subfc", XO(31,8,0,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7074 {"sf", XO(31,8,0,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7075 {"subc", XO(31,8,0,0), XO_MASK
, PPCCOM
, EXT
, {RT
, RB
, RA
}},
7076 {"subfc.", XO(31,8,0,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7077 {"sf.", XO(31,8,0,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7078 {"subc.", XO(31,8,0,1), XO_MASK
, PPCCOM
, EXT
, {RT
, RB
, RA
}},
7080 {"mulhdu", XO(31,9,0,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
7081 {"mulhdu.", XO(31,9,0,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
7083 {"addc", XO(31,10,0,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7084 {"a", XO(31,10,0,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7085 {"addc.", XO(31,10,0,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7086 {"a.", XO(31,10,0,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7088 {"mulhwu", XO(31,11,0,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
7089 {"mulhwu.", XO(31,11,0,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
7091 {"lxsiwzx", X(31,12), XX1_MASK
, PPCVSX2
, 0, {XT6
, RA0
, RB
}},
7093 {"lxvrbx", X(31,13), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7095 {"isellt", XISEL(31,15,0), X_MASK
, PPCISEL
, EXT
, {RT
, RA0
, RB
}},
7096 {"iselgt", XISEL(31,15,1), X_MASK
, PPCISEL
, EXT
, {RT
, RA0
, RB
}},
7097 {"iseleq", XISEL(31,15,2), X_MASK
, PPCISEL
, EXT
, {RT
, RA0
, RB
}},
7098 {"isel", XISEL(31,15,0), XISEL_MASK
, PPCISEL
|TITAN
, 0, {RT
, RA0
, RB
, BC
}},
7100 {"tlbilxlpid", XTO(31,18,0), XTO_MASK
, E500MC
|PPCA2
, 0, {0}},
7101 {"tlbilxpid", XTO(31,18,1), XTO_MASK
, E500MC
|PPCA2
, 0, {0}},
7102 {"tlbilxva", XTO(31,18,3), XTO_MASK
, E500MC
|PPCA2
, 0, {RA0
, RB
}},
7103 {"tlbilx", X(31,18), X_MASK
, E500MC
|PPCA2
, 0, {T
, RA0
, RB
}},
7105 {"mfcr", XFXM(31,19,0,0), XFXFXM_MASK
, COM
, 0, {RT
, FXM4
}},
7106 {"mfocrf", XFXM(31,19,0,1), XFXFXM_MASK
, COM
, 0, {RT
, FXM
}},
7108 {"lwarx", X(31,20), XEH_MASK
, PPC
, 0, {RT
, RA0
, RB
, EH
}},
7110 {"ldx", X(31,21), X_MASK
, PPC64
, 0, {RT
, RA0
, RB
}},
7112 {"icbt", X(31,22), X_MASK
, POWER5
|BOOKE
|PPCE300
, 0, {CT
, RA0
, RB
}},
7114 {"lwzx", X(31,23), X_MASK
, PPCCOM
, 0, {RT
, RA0
, RB
}},
7115 {"lx", X(31,23), X_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7117 {"slw", XRC(31,24,0), X_MASK
, PPCCOM
, 0, {RA
, RS
, RB
}},
7118 {"sl", XRC(31,24,0), X_MASK
, PWRCOM
, 0, {RA
, RS
, RB
}},
7119 {"slw.", XRC(31,24,1), X_MASK
, PPCCOM
, 0, {RA
, RS
, RB
}},
7120 {"sl.", XRC(31,24,1), X_MASK
, PWRCOM
, 0, {RA
, RS
, RB
}},
7122 {"cntlzw", XRC(31,26,0), XRB_MASK
, PPCCOM
, 0, {RA
, RS
}},
7123 {"cntlz", XRC(31,26,0), XRB_MASK
, PWRCOM
, 0, {RA
, RS
}},
7124 {"cntlzw.", XRC(31,26,1), XRB_MASK
, PPCCOM
, 0, {RA
, RS
}},
7125 {"cntlz.", XRC(31,26,1), XRB_MASK
, PWRCOM
, 0, {RA
, RS
}},
7127 {"sld", XRC(31,27,0), X_MASK
, PPC64
, 0, {RA
, RS
, RB
}},
7128 {"sld.", XRC(31,27,1), X_MASK
, PPC64
, 0, {RA
, RS
, RB
}},
7130 {"and", XRC(31,28,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7131 {"and.", XRC(31,28,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7133 {"maskg", XRC(31,29,0), X_MASK
, M601
, PPCA2
, {RA
, RS
, RB
}},
7134 {"maskg.", XRC(31,29,1), X_MASK
, M601
, PPCA2
, {RA
, RS
, RB
}},
7136 {"ldepx", X(31,29), X_MASK
, E500MC
|PPCA2
, 0, {RT
, RA0
, RB
}},
7138 {"waitasec", X(31,30), XRTRARB_MASK
, POWER8
, POWER9
, {0}},
7139 {"waitrsv", XWCPL(31,30,1,0),0xffffffff, POWER10
, EXT
, {0}},
7140 {"pause_short", XWCPL(31,30,2,0),0xffffffff, POWER10
, EXT
, {0}},
7141 {"wait", X(31,30), XWCPL_MASK
, POWER10
, 0, {WC
, PL
}},
7142 {"wait", X(31,30), XWC_MASK
, POWER9
, POWER10
, {WC
}},
7144 {"lwepx", X(31,31), X_MASK
, E500MC
|PPCA2
, 0, {RT
, RA0
, RB
}},
7146 {"cmplw", XOPL(31,32,0), XCMPL_MASK
, PPCCOM
, EXT
, {OBF
, RA
, RB
}},
7147 {"cmpld", XOPL(31,32,1), XCMPL_MASK
, PPC64
, EXT
, {OBF
, RA
, RB
}},
7148 {"cmpl", X(31,32), XCMP_MASK
, PPC
, 0, {BF
, L32OPT
, RA
, RB
}},
7149 {"cmpl", X(31,32), XCMPL_MASK
, PWRCOM
, PPC
, {BF
, RA
, RB
}},
7151 {"lvsr", X(31,38), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7152 {"lvehx", X(31,39), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7153 {"lhfcmx", APU(31,39,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7155 {"lxvrhx", X(31,45), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7157 {"mviwsplt", X(31,46), X_MASK
, E6500
, 0, {VD
, RA
, RB
}},
7159 {"lvewx", X(31,71), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7161 {"addg6s", XO(31,74,0,0), XO_MASK
, POWER6
, 0, {RT
, RA
, RB
}},
7163 {"lxsiwax", X(31,76), XX1_MASK
, PPCVSX2
, 0, {XT6
, RA0
, RB
}},
7165 {"lxvrwx", X(31,77), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7167 {"subf", XO(31,40,0,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
7168 {"sub", XO(31,40,0,0), XO_MASK
, PPC
, EXT
, {RT
, RB
, RA
}},
7169 {"subf.", XO(31,40,0,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
7170 {"sub.", XO(31,40,0,1), XO_MASK
, PPC
, EXT
, {RT
, RB
, RA
}},
7172 {"mffprd", X(31,51), XX1RB_MASK
|1, PPCVSX2
, EXT
, {RA
, FRS
}},
7173 {"mfvrd", X(31,51)|1, XX1RB_MASK
|1, PPCVSX2
, EXT
, {RA
, VS
}},
7174 {"mfvsrd", X(31,51), XX1RB_MASK
, PPCVSX2
, 0, {RA
, XS6
}},
7175 {"eratilx", X(31,51), X_MASK
, PPCA2
, 0, {ERAT_T
, RA
, RB
}},
7177 {"lbarx", X(31,52), XEH_MASK
, POWER8
|E6500
, 0, {RT
, RA0
, RB
, EH
}},
7179 {"ldux", X(31,53), X_MASK
, PPC64
, 0, {RT
, RAL
, RB
}},
7181 {"dcbst", X(31,54), XRT_MASK
, PPC
, 0, {RA0
, RB
}},
7183 {"lwzux", X(31,55), X_MASK
, PPCCOM
, 0, {RT
, RAL
, RB
}},
7184 {"lux", X(31,55), X_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7186 {"cntlzd", XRC(31,58,0), XRB_MASK
, PPC64
, 0, {RA
, RS
}},
7187 {"cntlzd.", XRC(31,58,1), XRB_MASK
, PPC64
, 0, {RA
, RS
}},
7189 {"cntlzdm", X(31,59), X_MASK
, POWER10
, 0, {RA
, RS
, RB
}},
7191 {"andc", XRC(31,60,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7192 {"andc.", XRC(31,60,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7194 {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC
|PPCA2
, EXT
, {0}},
7195 {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC
|PPCA2
, EXT
, {0}},
7196 {"wait", X(31,62), XWC_MASK
, E500MC
|PPCA2
, 0, {WC
}},
7198 {"dcbstep", XRT(31,63,0), XRT_MASK
, E500MC
|PPCA2
, 0, {RA0
, RB
}},
7200 {"tdlgt", XTO(31,68,TOLGT
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7201 {"tdllt", XTO(31,68,TOLLT
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7202 {"tdeq", XTO(31,68,TOEQ
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7203 {"tdlge", XTO(31,68,TOLGE
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7204 {"tdlnl", XTO(31,68,TOLNL
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7205 {"tdlle", XTO(31,68,TOLLE
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7206 {"tdlng", XTO(31,68,TOLNG
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7207 {"tdgt", XTO(31,68,TOGT
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7208 {"tdge", XTO(31,68,TOGE
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7209 {"tdnl", XTO(31,68,TONL
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7210 {"tdlt", XTO(31,68,TOLT
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7211 {"tdle", XTO(31,68,TOLE
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7212 {"tdng", XTO(31,68,TONG
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7213 {"tdne", XTO(31,68,TONE
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7214 {"tdu", XTO(31,68,TOU
), XTO_MASK
, PPC64
, EXT
, {RA
, RB
}},
7215 {"td", X(31,68), X_MASK
, PPC64
, 0, {TO
, RA
, RB
}},
7217 {"lwfcmx", APU(31,71,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7218 {"subwus", XO(31,72,0,0), XO_MASK
, FUTURE
, EXT
, {RT
, RB
, RA
}},
7219 {"subwus.", XO(31,72,0,1), XO_MASK
, FUTURE
, EXT
, {RT
, RB
, RA
}},
7220 {"subdus", XO(31,72,1,0), XO_MASK
, FUTURE
, EXT
, {RT
, RB
, RA
}},
7221 {"subdus.", XO(31,72,1,1), XO_MASK
, FUTURE
, EXT
, {RT
, RB
, RA
}},
7222 {"subfus", XO(31,72,0,0), XOL_MASK
, FUTURE
, 0, {RT
, XOL
, RA
, RB
}},
7223 {"subfus.", XO(31,72,0,1), XOL_MASK
, FUTURE
, 0, {RT
, XOL
, RA
, RB
}},
7224 {"mulhd", XO(31,73,0,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
7225 {"mulhd.", XO(31,73,0,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
7227 {"mulhw", XO(31,75,0,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
7228 {"mulhw.", XO(31,75,0,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
7230 {"msgsndu", XRTRA(31,78,0,0), XRTRA_MASK
, POWER9
, 0, {RB
}},
7231 {"dlmzb", XRC(31,78,0), X_MASK
, PPC403
|PPC440
|PPC476
|TITAN
, 0, {RA
, RS
, RB
}},
7232 {"dlmzb.", XRC(31,78,1), X_MASK
, PPC403
|PPC440
|PPC476
|TITAN
, 0, {RA
, RS
, RB
}},
7234 {"mtsrd", X(31,82), XRB_MASK
|(1<<20), PPC64
, 0, {SR
, RS
}},
7236 {"mfmsr", X(31,83), XRARB_MASK
, COM
, 0, {RT
}},
7238 {"ldarx", X(31,84), XEH_MASK
, PPC64
, 0, {RT
, RA0
, RB
, EH
}},
7240 {"dcbfl", XOPL(31,86,1), XRT_MASK
, POWER5
, PPC476
|EXT
, {RA0
, RB
}},
7241 {"dcbflp", XOPL2(31,86,3), XRT_MASK
, POWER9
, PPC476
|EXT
, {RA0
, RB
}},
7242 {"dcbfps", XOPL3(31,86,4), XRT_MASK
, POWER10
, PPC476
|EXT
, {RA0
, RB
}},
7243 {"dcbstps", XOPL3(31,86,6), XRT_MASK
, POWER10
, PPC476
|EXT
, {RA0
, RB
}},
7244 {"dcbf", X(31,86), XL3RT_MASK
, POWER10
, PPC476
, {RA0
, RB
, L3OPT
}},
7245 {"dcbf", X(31,86), XLRT_MASK
, PPC
, POWER10
, {RA0
, RB
, L2OPT
}},
7247 {"lbzx", X(31,87), X_MASK
, COM
, 0, {RT
, RA0
, RB
}},
7249 {"lbepx", X(31,95), X_MASK
, E500MC
|PPCA2
, 0, {RT
, RA0
, RB
}},
7251 {"dni", XRC(31,97,1), XRB_MASK
, E6500
, 0, {DUI
, DCTL
}},
7253 {"lvx", X(31,103), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7254 {"lqfcmx", APU(31,103,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7256 {"neg", XO(31,104,0,0), XORB_MASK
, COM
, 0, {RT
, RA
}},
7257 {"neg.", XO(31,104,0,1), XORB_MASK
, COM
, 0, {RT
, RA
}},
7259 {"mul", XO(31,107,0,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7260 {"mul.", XO(31,107,0,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7262 {"lxvrdx", X(31,109), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7264 {"msgclru", XRTRA(31,110,0,0), XRTRA_MASK
, POWER9
, 0, {RB
}},
7265 {"mvidsplt", X(31,110), X_MASK
, E6500
, 0, {VD
, RA
, RB
}},
7267 {"mtsrdin", X(31,114), XRA_MASK
, PPC64
, 0, {RS
, RB
}},
7269 {"mffprwz", X(31,115), XX1RB_MASK
|1, PPCVSX2
, EXT
, {RA
, FRS
}},
7270 {"mfvrwz", X(31,115)|1, XX1RB_MASK
|1, PPCVSX2
, EXT
, {RA
, VS
}},
7271 {"mfvsrwz", X(31,115), XX1RB_MASK
, PPCVSX2
, 0, {RA
, XS6
}},
7273 {"lharx", X(31,116), XEH_MASK
, POWER8
|E6500
, 0, {RT
, RA0
, RB
, EH
}},
7275 {"clf", X(31,118), XTO_MASK
, POWER
, 0, {RA
, RB
}},
7277 {"lbzux", X(31,119), X_MASK
, COM
, 0, {RT
, RAL
, RB
}},
7279 {"popcntb", X(31,122), XRB_MASK
, POWER5
, 0, {RA
, RS
}},
7281 {"not", XRC(31,124,0), X_MASK
, COM
, EXT
, {RA
, RSB
}},
7282 {"nor", XRC(31,124,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7283 {"not.", XRC(31,124,1), X_MASK
, COM
, EXT
, {RA
, RSB
}},
7284 {"nor.", XRC(31,124,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7286 {"dcbfep", XRT(31,127,0), XRT_MASK
, E500MC
|PPCA2
, 0, {RA0
, RB
}},
7288 {"setb", X(31,128), XRB_MASK
|(3<<16), POWER9
, 0, {RT
, BFA
}},
7290 {"wrtee", X(31,131), XRARB_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, 0, {RS
}},
7292 {"dcbtstls", X(31,134), X_MASK
, PPCCHLK
|PPC476
|TITAN
, 0, {CT
, RA0
, RB
}},
7294 {"stvebx", X(31,135), X_MASK
, PPCVEC
, 0, {VS
, RA0
, RB
}},
7295 {"stbfcmx", APU(31,135,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7297 {"subfe", XO(31,136,0,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7298 {"sfe", XO(31,136,0,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7299 {"subfe.", XO(31,136,0,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7300 {"sfe.", XO(31,136,0,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7302 {"adde", XO(31,138,0,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7303 {"ae", XO(31,138,0,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7304 {"adde.", XO(31,138,0,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7305 {"ae.", XO(31,138,0,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7307 {"stxsiwx", X(31,140), XX1_MASK
, PPCVSX2
, 0, {XS6
, RA0
, RB
}},
7309 {"stxvrbx", X(31,141), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7311 {"msgsndp", XRTRA(31,142,0,0), XRTRA_MASK
, POWER8
, 0, {RB
}},
7312 {"dcbtstlse", X(31,142), X_MASK
, PPCCHLK
, E500MC
, {CT
, RA0
, RB
}},
7314 {"mtcr", XFXM(31,144,0xff,0), XRARB_MASK
, COM
, EXT
, {RS
}},
7315 {"mtcrf", XFXM(31,144,0,0), XFXFXM_MASK
, COM
, 0, {FXM
, RS
}},
7316 {"mtocrf", XFXM(31,144,0,1), XFXFXM_MASK
, COM
, 0, {FXM
, RS
}},
7318 {"mtmsr", X(31,146), XRLARB_MASK
, COM
, 0, {RS
, A_L
}},
7320 {"mtsle", X(31,147), XRTLRARB_MASK
, POWER8
, 0, {L
}},
7321 {"eratsx", XRC(31,147,0), X_MASK
, PPCA2
, 0, {RT
, RA0
, RB
}},
7322 {"eratsx.", XRC(31,147,1), X_MASK
, PPCA2
, 0, {RT
, RA0
, RB
}},
7324 {"stdx", X(31,149), X_MASK
, PPC64
, 0, {RS
, RA0
, RB
}},
7326 {"stwcx.", XRC(31,150,1), X_MASK
, PPC
, 0, {RS
, RA0
, RB
}},
7328 {"stwx", X(31,151), X_MASK
, PPCCOM
, 0, {RS
, RA0
, RB
}},
7329 {"stx", X(31,151), X_MASK
, PWRCOM
, 0, {RS
, RA
, RB
}},
7331 {"slq", XRC(31,152,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7332 {"slq.", XRC(31,152,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7334 {"sle", XRC(31,153,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7335 {"sle.", XRC(31,153,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7337 {"prtyw", X(31,154), XRB_MASK
, POWER6
|PPCA2
|PPC476
, 0, {RA
, RS
}},
7339 {"brw", X(31,155), XRB_MASK
, POWER10
, 0, {RA
, RS
}},
7340 {"pdepd", X(31,156), X_MASK
, POWER10
, 0, {RA
, RS
, RB
}},
7342 {"stdepx", X(31,157), X_MASK
, E500MC
|PPCA2
, 0, {RS
, RA0
, RB
}},
7344 {"stwepx", X(31,159), X_MASK
, E500MC
|PPCA2
, 0, {RS
, RA0
, RB
}},
7346 {"wrteei", X(31,163), XE_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, 0, {E
}},
7348 {"dcbtls", X(31,166), X_MASK
, PPCCHLK
|PPC476
|TITAN
, 0, {CT
, RA0
, RB
}},
7350 {"stvehx", X(31,167), X_MASK
, PPCVEC
, 0, {VS
, RA0
, RB
}},
7351 {"sthfcmx", APU(31,167,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7353 {"addex", ZRC(31,170,0), Z2_MASK
, POWER9
, 0, {RT
, RA
, RB
, CY
}},
7355 {"stxvrhx", X(31,173), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7357 {"msgclrp", XRTRA(31,174,0,0), XRTRA_MASK
, POWER8
, 0, {RB
}},
7358 {"dcbtlse", X(31,174), X_MASK
, PPCCHLK
, E500MC
, {CT
, RA0
, RB
}},
7360 {"dmxxmfacc", XVA(31,177,0), XACC_MASK
, POWER10
, 0, {ACC
}},
7361 {"xxmfacc", XVA(31,177,0), XACC_MASK
, POWER10
, 0, {ACC
}},
7362 {"dmxxmtacc", XVA(31,177,1), XACC_MASK
, POWER10
, 0, {ACC
}},
7363 {"xxmtacc", XVA(31,177,1), XACC_MASK
, POWER10
, 0, {ACC
}},
7364 {"dmsetdmrz", XVA(31,177,2), XDMR_MASK
, FUTURE
, 0, {DMR
}},
7365 {"dmsetaccz", XVA(31,177,3), XACC_MASK
, POWER10
, 0, {ACC
}},
7366 {"xxsetaccz", XVA(31,177,3), XACC_MASK
, POWER10
, 0, {ACC
}},
7367 {"dmmr", XVA(31,177,6), XDMRDMR_MASK
,FUTURE
, 0, {DMR
, DMRAB
}},
7368 {"dmxor", XVA(31,177,7), XDMRDMR_MASK
,FUTURE
, 0, {DMR
, DMRAB
}},
7370 {"mtmsrd", X(31,178), XRLARB_MASK
, PPC64
, 0, {RS
, A_L
}},
7372 {"mtfprd", X(31,179), XX1RB_MASK
|1, PPCVSX2
, EXT
, {FRT
, RA
}},
7373 {"mtvrd", X(31,179)|1, XX1RB_MASK
|1, PPCVSX2
, EXT
, {VD
, RA
}},
7374 {"mtvsrd", X(31,179), XX1RB_MASK
, PPCVSX2
, 0, {XT6
, RA
}},
7375 {"eratre", X(31,179), X_MASK
, PPCA2
, 0, {RT
, RA
, WS
}},
7377 {"stdux", X(31,181), X_MASK
, PPC64
, 0, {RS
, RAS
, RB
}},
7379 {"stqcx.", XRC(31,182,1), X_MASK
|Q_MASK
, POWER8
, 0, {RSQ
, RA0
, RB
}},
7380 {"wchkall", X(31,182), X_MASK
, PPCA2
, 0, {OBF
}},
7382 {"stwux", X(31,183), X_MASK
, PPCCOM
, 0, {RS
, RAS
, RB
}},
7383 {"stux", X(31,183), X_MASK
, PWRCOM
, 0, {RS
, RA0
, RB
}},
7385 {"sliq", XRC(31,184,0), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
7386 {"sliq.", XRC(31,184,1), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
7388 {"prtyd", X(31,186), XRB_MASK
, POWER6
|PPCA2
, 0, {RA
, RS
}},
7390 {"brd", X(31,187), XRB_MASK
, POWER10
, 0, {RA
, RS
}},
7391 {"pextd", X(31,188), X_MASK
, POWER10
, 0, {RA
, RS
, RB
}},
7393 {"cmprb", X(31,192), XCMP_MASK
, POWER9
, 0, {BF
, L
, RA
, RB
}},
7395 {"icblq.", XRC(31,198,1), X_MASK
, E6500
, 0, {CT
, RA0
, RB
}},
7397 {"stvewx", X(31,199), X_MASK
, PPCVEC
, 0, {VS
, RA0
, RB
}},
7398 {"stwfcmx", APU(31,199,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7400 {"subfze", XO(31,200,0,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7401 {"sfze", XO(31,200,0,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7402 {"subfze.", XO(31,200,0,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7403 {"sfze.", XO(31,200,0,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7405 {"addze", XO(31,202,0,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7406 {"aze", XO(31,202,0,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7407 {"addze.", XO(31,202,0,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7408 {"aze.", XO(31,202,0,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7410 {"stxvrwx", X(31,205), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7412 {"msgsnd", XRTRA(31,206,0,0), XRTRA_MASK
, E500MC
|PPCA2
|POWER8
, 0, {RB
}},
7414 {"mtsr", X(31,210), XRB_MASK
|(1<<20), COM
, NON32
, {SR
, RS
}},
7416 {"mtfprwa", X(31,211), XX1RB_MASK
|1, PPCVSX2
, EXT
, {FRT
, RA
}},
7417 {"mtvrwa", X(31,211)|1, XX1RB_MASK
|1, PPCVSX2
, EXT
, {VD
, RA
}},
7418 {"mtvsrwa", X(31,211), XX1RB_MASK
, PPCVSX2
, 0, {XT6
, RA
}},
7419 {"eratwe", X(31,211), X_MASK
, PPCA2
, 0, {RS
, RA
, WS
}},
7421 {"ldawx.", XRC(31,212,1), X_MASK
, PPCA2
, 0, {RT
, RA0
, RB
}},
7423 {"stdcx.", XRC(31,214,1), X_MASK
, PPC64
, 0, {RS
, RA0
, RB
}},
7425 {"stbx", X(31,215), X_MASK
, COM
, 0, {RS
, RA0
, RB
}},
7427 {"sllq", XRC(31,216,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7428 {"sllq.", XRC(31,216,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7430 {"sleq", XRC(31,217,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7431 {"sleq.", XRC(31,217,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
7433 {"brh", X(31,219), XRB_MASK
, POWER10
, 0, {RA
, RS
}},
7434 {"cfuged", X(31,220), X_MASK
, POWER10
, 0, {RA
, RS
, RB
}},
7436 {"stbepx", X(31,223), X_MASK
, E500MC
|PPCA2
, 0, {RS
, RA0
, RB
}},
7438 {"cmpeqb", X(31,224), XCMPL_MASK
, POWER9
, 0, {BF
, RA
, RB
}},
7440 {"icblc", X(31,230), X_MASK
, PPCCHLK
|PPC476
|TITAN
, 0, {CT
, RA0
, RB
}},
7442 {"stvx", X(31,231), X_MASK
, PPCVEC
, 0, {VS
, RA0
, RB
}},
7443 {"stqfcmx", APU(31,231,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7445 {"subfme", XO(31,232,0,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7446 {"sfme", XO(31,232,0,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7447 {"subfme.", XO(31,232,0,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7448 {"sfme.", XO(31,232,0,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7450 {"mulld", XO(31,233,0,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
7451 {"mulld.", XO(31,233,0,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
7453 {"addme", XO(31,234,0,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7454 {"ame", XO(31,234,0,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7455 {"addme.", XO(31,234,0,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
7456 {"ame.", XO(31,234,0,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
7458 {"mullw", XO(31,235,0,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7459 {"muls", XO(31,235,0,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7460 {"mullw.", XO(31,235,0,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7461 {"muls.", XO(31,235,0,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7463 {"stxvrdx", X(31,237), XX1_MASK
, POWER10
, 0, {XT6
, RA0
, RB
}},
7465 {"icblce", X(31,238), X_MASK
, PPCCHLK
, E500MC
|PPCA2
, {CT
, RA
, RB
}},
7466 {"msgclr", XRTRA(31,238,0,0), XRTRA_MASK
, E500MC
|PPCA2
|POWER8
, 0, {RB
}},
7467 {"mtsrin", X(31,242), XRA_MASK
, PPC
, NON32
, {RS
, RB
}},
7468 {"mtsri", X(31,242), XRA_MASK
, POWER
, NON32
, {RS
, RB
}},
7470 {"mtfprwz", X(31,243), XX1RB_MASK
|1, PPCVSX2
, EXT
, {FRT
, RA
}},
7471 {"mtvrwz", X(31,243)|1, XX1RB_MASK
|1, PPCVSX2
, EXT
, {VD
, RA
}},
7472 {"mtvsrwz", X(31,243), XX1RB_MASK
, PPCVSX2
, 0, {XT6
, RA
}},
7474 {"dcbtstt", XRT(31,246,0x10), XRT_MASK
, POWER7
, EXT
, {RA0
, RB
}},
7475 {"dcbtstct", X(31,246), X_MASK
, POWER4
, EXT
, {RA0
, RB
, THCT
}},
7476 {"dcbtstds", X(31,246), X_MASK
, POWER4
, EXT
, {RA0
, RB
, THDS
}},
7477 {"dcbtst", X(31,246), X_MASK
, POWER4
, DCBT_EO
, {RA0
, RB
, CT
}},
7478 {"dcbtst", X(31,246), X_MASK
, DCBT_EO
, 0, {CT
, RA0
, RB
}},
7479 {"dcbtst", X(31,246), X_MASK
, PPC
, POWER4
|DCBT_EO
, {RA0
, RB
}},
7481 {"stbux", X(31,247), X_MASK
, COM
, 0, {RS
, RAS
, RB
}},
7483 {"slliq", XRC(31,248,0), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
7484 {"slliq.", XRC(31,248,1), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
7486 {"bpermd", X(31,252), X_MASK
, POWER7
|PPCA2
, 0, {RA
, RS
, RB
}},
7488 {"dcbtstep", XRT(31,255,0), X_MASK
, E500MC
|PPCA2
, 0, {RT
, RA0
, RB
}},
7490 {"mfdcrx", X(31,259), X_MASK
, BOOKE
|PPCA2
|PPC476
, TITAN
, {RS
, RA
}},
7491 {"mfdcrx.", XRC(31,259,1), X_MASK
, PPCA2
, 0, {RS
, RA
}},
7493 {"lvexbx", X(31,261), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
7495 {"icbt", X(31,262), XRT_MASK
, PPC403
, 0, {RA
, RB
}},
7497 {"lvepxl", X(31,263), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
7498 {"ldfcmx", APU(31,263,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7500 {"doz", XO(31,264,0,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7501 {"doz.", XO(31,264,0,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7503 {"modud", X(31,265), X_MASK
, POWER9
, 0, {RT
, RA
, RB
}},
7505 {"add", XO(31,266,0,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7506 {"cax", XO(31,266,0,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7507 {"add.", XO(31,266,0,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
7508 {"cax.", XO(31,266,0,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
7510 {"moduw", X(31,267), X_MASK
, POWER9
, 0, {RT
, RA
, RB
}},
7512 {"lxvx", X(31,268), XX1_MASK
|1<<6, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
7513 {"lxvl", X(31,269), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
7515 {"ehpriv", X(31,270), 0xffffffff, E500MC
|PPCA2
, 0, {0}},
7517 {"tlbiel", X(31,274), X_MASK
|1<<20,POWER9
, 0, {RB
, RSO
, RIC
, PRS
, X_R
}},
7518 {"tlbiel", X(31,274), XRTLRA_MASK
, POWER4
, POWER9
|PPC476
, {RB
, LOPT
}},
7520 {"mfapidi", X(31,275), X_MASK
, BOOKE
, E500
|TITAN
, {RT
, RA
}},
7522 {"lqarx", X(31,276), XEH_MASK
|Q_MASK
, POWER8
, 0, {RTQ
, RAX
, RBX
, EH
}},
7524 {"lscbx", XRC(31,277,0), X_MASK
, M601
, 0, {RT
, RA
, RB
}},
7525 {"lscbx.", XRC(31,277,1), X_MASK
, M601
, 0, {RT
, RA
, RB
}},
7527 {"dcbtt", XRT(31,278,0x10), XRT_MASK
, POWER7
, EXT
, {RA0
, RB
}},
7528 {"dcbna", XRT(31,278,0x11), XRT_MASK
, POWER10
, EXT
, {RA0
, RB
}},
7529 {"dcbtct", X(31,278), X_MASK
, POWER4
, EXT
, {RA0
, RB
, THCT
}},
7530 {"dcbtds", X(31,278), X_MASK
, POWER4
, EXT
, {RA0
, RB
, THDS
}},
7531 {"dcbt", X(31,278), X_MASK
, POWER4
, DCBT_EO
, {RA0
, RB
, CT
}},
7532 {"dcbt", X(31,278), X_MASK
, DCBT_EO
, 0, {CT
, RA0
, RB
}},
7533 {"dcbt", X(31,278), X_MASK
, PPC
, POWER4
|DCBT_EO
, {RA0
, RB
}},
7535 {"lhzx", X(31,279), X_MASK
, COM
, 0, {RT
, RA0
, RB
}},
7537 {"cdtbcd", X(31,282), XRB_MASK
, POWER6
, 0, {RA
, RS
}},
7539 {"eqv", XRC(31,284,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7540 {"eqv.", XRC(31,284,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7542 {"lhepx", X(31,287), X_MASK
, E500MC
|PPCA2
, 0, {RT
, RA0
, RB
}},
7544 {"mfdcrux", X(31,291), X_MASK
, PPC464
|PPC476
, 0, {RS
, RA
}},
7546 {"lvexhx", X(31,293), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
7547 {"lvepx", X(31,295), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
7549 {"lxvll", X(31,301), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
7551 {"mfbhrbe", X(31,302), X_MASK
, POWER8
, 0, {RT
, BHRBE
}},
7553 {"tlbie", X(31,306), X_MASK
|1<<20,POWER9
, TITAN
, {RB
, RS
, RIC
, PRS
, X_R
}},
7554 {"tlbie", X(31,306), XRA_MASK
, POWER7
, POWER9
|TITAN
, {RB
, RS
}},
7555 {"tlbie", X(31,306), XRTLRA_MASK
, PPC
, E500
|POWER7
|TITAN
, {RB
, LOPT
}},
7556 {"tlbi", X(31,306), XRT_MASK
, POWER
, 0, {RA0
, RB
}},
7558 {"mfvsrld", X(31,307), XX1RB_MASK
, PPCVSX3
, 0, {RA
, XS6
}},
7560 {"eciwx", X(31,310), X_MASK
, PPC
, E500
|TITAN
, {RT
, RA0
, RB
}},
7562 {"lhzux", X(31,311), X_MASK
, COM
, 0, {RT
, RAL
, RB
}},
7564 {"cbcdtd", X(31,314), XRB_MASK
, POWER6
, 0, {RA
, RS
}},
7566 {"xor", XRC(31,316,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7567 {"xor.", XRC(31,316,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7569 {"dcbtep", XRT(31,319,0), X_MASK
, E500MC
|PPCA2
, 0, {RT
, RA0
, RB
}},
7571 {"mfexisr", XSPR(31,323, 64), XSPR_MASK
, PPC403
, 0, {RT
}},
7572 {"mfexier", XSPR(31,323, 66), XSPR_MASK
, PPC403
, 0, {RT
}},
7573 {"mfbr0", XSPR(31,323,128), XSPR_MASK
, PPC403
, 0, {RT
}},
7574 {"mfbr1", XSPR(31,323,129), XSPR_MASK
, PPC403
, 0, {RT
}},
7575 {"mfbr2", XSPR(31,323,130), XSPR_MASK
, PPC403
, 0, {RT
}},
7576 {"mfbr3", XSPR(31,323,131), XSPR_MASK
, PPC403
, 0, {RT
}},
7577 {"mfbr4", XSPR(31,323,132), XSPR_MASK
, PPC403
, 0, {RT
}},
7578 {"mfbr5", XSPR(31,323,133), XSPR_MASK
, PPC403
, 0, {RT
}},
7579 {"mfbr6", XSPR(31,323,134), XSPR_MASK
, PPC403
, 0, {RT
}},
7580 {"mfbr7", XSPR(31,323,135), XSPR_MASK
, PPC403
, 0, {RT
}},
7581 {"mfbear", XSPR(31,323,144), XSPR_MASK
, PPC403
, 0, {RT
}},
7582 {"mfbesr", XSPR(31,323,145), XSPR_MASK
, PPC403
, 0, {RT
}},
7583 {"mfiocr", XSPR(31,323,160), XSPR_MASK
, PPC403
, 0, {RT
}},
7584 {"mfdmacr0", XSPR(31,323,192), XSPR_MASK
, PPC403
, 0, {RT
}},
7585 {"mfdmact0", XSPR(31,323,193), XSPR_MASK
, PPC403
, 0, {RT
}},
7586 {"mfdmada0", XSPR(31,323,194), XSPR_MASK
, PPC403
, 0, {RT
}},
7587 {"mfdmasa0", XSPR(31,323,195), XSPR_MASK
, PPC403
, 0, {RT
}},
7588 {"mfdmacc0", XSPR(31,323,196), XSPR_MASK
, PPC403
, 0, {RT
}},
7589 {"mfdmacr1", XSPR(31,323,200), XSPR_MASK
, PPC403
, 0, {RT
}},
7590 {"mfdmact1", XSPR(31,323,201), XSPR_MASK
, PPC403
, 0, {RT
}},
7591 {"mfdmada1", XSPR(31,323,202), XSPR_MASK
, PPC403
, 0, {RT
}},
7592 {"mfdmasa1", XSPR(31,323,203), XSPR_MASK
, PPC403
, 0, {RT
}},
7593 {"mfdmacc1", XSPR(31,323,204), XSPR_MASK
, PPC403
, 0, {RT
}},
7594 {"mfdmacr2", XSPR(31,323,208), XSPR_MASK
, PPC403
, 0, {RT
}},
7595 {"mfdmact2", XSPR(31,323,209), XSPR_MASK
, PPC403
, 0, {RT
}},
7596 {"mfdmada2", XSPR(31,323,210), XSPR_MASK
, PPC403
, 0, {RT
}},
7597 {"mfdmasa2", XSPR(31,323,211), XSPR_MASK
, PPC403
, 0, {RT
}},
7598 {"mfdmacc2", XSPR(31,323,212), XSPR_MASK
, PPC403
, 0, {RT
}},
7599 {"mfdmacr3", XSPR(31,323,216), XSPR_MASK
, PPC403
, 0, {RT
}},
7600 {"mfdmact3", XSPR(31,323,217), XSPR_MASK
, PPC403
, 0, {RT
}},
7601 {"mfdmada3", XSPR(31,323,218), XSPR_MASK
, PPC403
, 0, {RT
}},
7602 {"mfdmasa3", XSPR(31,323,219), XSPR_MASK
, PPC403
, 0, {RT
}},
7603 {"mfdmacc3", XSPR(31,323,220), XSPR_MASK
, PPC403
, 0, {RT
}},
7604 {"mfdmasr", XSPR(31,323,224), XSPR_MASK
, PPC403
, 0, {RT
}},
7605 {"mfdcr", X(31,323), X_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, E500
|TITAN
, {RT
, SPR
}},
7606 {"mfdcr.", XRC(31,323,1), X_MASK
, PPCA2
, 0, {RT
, SPR
}},
7608 {"lvexwx", X(31,325), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
7610 {"dcread", X(31,326), X_MASK
, PPC476
|TITAN
, 0, {RT
, RA0
, RB
}},
7612 {"div", XO(31,331,0,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7613 {"div.", XO(31,331,0,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7615 {"lxvdsx", X(31,332), XX1_MASK
, PPCVSX
, 0, {XT6
, RA0
, RB
}},
7617 {"lxvpx", X(31,333), XX1_MASK
, POWER10
, 0, {XTP
, RA0
, RB
}},
7619 {"mfpmr", X(31,334), X_MASK
, PPCPMR
|PPCE300
, 0, {RT
, PMR
}},
7620 {"mftmr", X(31,366), X_MASK
, PPCTMR
, 0, {RT
, TMR
}},
7622 {"slbsync", X(31,338), 0xffffffff, POWER9
, 0, {0}},
7624 {"mfmq", XSPR(31,339, 0), XSPR_MASK
, M601
, EXT
, {RT
}},
7625 {"mfxer", XSPR(31,339, 1), XSPR_MASK
, COM
, EXT
, {RT
}},
7626 {"mfudscr", XSPR(31,339, 3), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7627 {"mfrtcu", XSPR(31,339, 4), XSPR_MASK
, COM
, TITAN
|EXT
, {RT
}},
7628 {"mfrtcl", XSPR(31,339, 5), XSPR_MASK
, COM
, TITAN
|EXT
, {RT
}},
7629 {"mfdec", XSPR(31,339, 6), XSPR_MASK
, MFDEC1
, EXT
, {RT
}},
7630 {"mflr", XSPR(31,339, 8), XSPR_MASK
, COM
, EXT
, {RT
}},
7631 {"mfctr", XSPR(31,339, 9), XSPR_MASK
, COM
, EXT
, {RT
}},
7632 {"mfuamr", XSPR(31,339, 13), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7633 {"mfdscr", XSPR(31,339, 17), XSPR_MASK
, POWER6
, EXT
, {RT
}},
7634 {"mftid", XSPR(31,339, 17), XSPR_MASK
, POWER
, EXT
, {RT
}},
7635 {"mfdsisr", XSPR(31,339, 18), XSPR_MASK
, COM
, TITAN
|EXT
, {RT
}},
7636 {"mfdar", XSPR(31,339, 19), XSPR_MASK
, COM
, TITAN
|EXT
, {RT
}},
7637 {"mfdec", XSPR(31,339, 22), XSPR_MASK
, MFDEC2
, MFDEC1
|EXT
, {RT
}},
7638 {"mfsdr0", XSPR(31,339, 24), XSPR_MASK
, POWER
, EXT
, {RT
}},
7639 {"mfsdr1", XSPR(31,339, 25), XSPR_MASK
, COM
, TITAN
|EXT
, {RT
}},
7640 {"mfsrr0", XSPR(31,339, 26), XSPR_MASK
, COM
, EXT
, {RT
}},
7641 {"mfsrr1", XSPR(31,339, 27), XSPR_MASK
, COM
, EXT
, {RT
}},
7642 {"mfcfar", XSPR(31,339, 28), XSPR_MASK
, POWER6
, EXT
, {RT
}},
7643 {"mfamr", XSPR(31,339, 29), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7644 {"mfpidr", XSPR(31,339, 48), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7645 {"mfpid", XSPR(31,339, 48), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7646 {"mfcsrr0", XSPR(31,339, 58), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7647 {"mfcsrr1", XSPR(31,339, 59), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7648 {"mfiamr", XSPR(31,339, 61), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7649 {"mfdear", XSPR(31,339, 61), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7650 {"mfesr", XSPR(31,339, 62), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7651 {"mfivpr", XSPR(31,339, 63), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7652 {"mfctrl", XSPR(31,339,136), XSPR_MASK
, POWER4
, EXT
, {RT
}},
7653 {"mfcmpa", XSPR(31,339,144), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7654 {"mfcmpb", XSPR(31,339,145), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7655 {"mfcmpc", XSPR(31,339,146), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7656 {"mfcmpd", XSPR(31,339,147), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7657 {"mficr", XSPR(31,339,148), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7658 {"mfder", XSPR(31,339,149), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7659 {"mfcounta", XSPR(31,339,150), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7660 {"mfcountb", XSPR(31,339,151), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7661 {"mfcmpe", XSPR(31,339,152), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7662 {"mffscr", XSPR(31,339,153), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7663 {"mfcmpf", XSPR(31,339,153), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7664 {"mfcmpg", XSPR(31,339,154), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7665 {"mfcmph", XSPR(31,339,155), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7666 {"mflctrl1", XSPR(31,339,156), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7667 {"mfuamor", XSPR(31,339,157), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7668 {"mflctrl2", XSPR(31,339,157), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7669 {"mfictrl", XSPR(31,339,158), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7670 {"mfpspb", XSPR(31,339,159), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7671 {"mfbar", XSPR(31,339,159), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7672 {"mfdpdes", XSPR(31,339,176), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7673 {"mfdawr0", XSPR(31,339,180), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7674 {"mfdawr1", XSPR(31,339,181), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7675 {"mfrpr", XSPR(31,339,186), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7676 {"mfciabr", XSPR(31,339,187), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7677 {"mfdawrx0", XSPR(31,339,188), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7678 {"mfdawrx1", XSPR(31,339,189), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7679 {"mfhfscr", XSPR(31,339,190), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7680 {"mfvrsave", XSPR(31,339,256), XSPR_MASK
, PPCVEC
, EXT
, {RT
}},
7681 {"mfusprg0", XSPR(31,339,256), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7682 {"mfsprg", XSPR(31,339,256), XSPRG_MASK
, PPC
, EXT
, {RT
, SPRG
}},
7683 {"mfusprg3", XSPR(31,339,259), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7684 {"mfsprg4", XSPR(31,339,260), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RT
}},
7685 {"mfsprg5", XSPR(31,339,261), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RT
}},
7686 {"mfsprg6", XSPR(31,339,262), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RT
}},
7687 {"mfsprg7", XSPR(31,339,263), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RT
}},
7688 {"mftbu", XSPR(31,339,269), XSPR_MASK
, POWER4
|BOOKE
, EXT
, {RT
}},
7689 {"mftb", X(31,339), X_MASK
, POWER4
|BOOKE
, EXT
, {RT
, TBR
}},
7690 {"mftbl", XSPR(31,339,268), XSPR_MASK
, POWER4
|BOOKE
, EXT
, {RT
}},
7691 {"mfsprg0", XSPR(31,339,272), XSPR_MASK
, PPC
, EXT
, {RT
}},
7692 {"mfsprg1", XSPR(31,339,273), XSPR_MASK
, PPC
, EXT
, {RT
}},
7693 {"mfsprg2", XSPR(31,339,274), XSPR_MASK
, PPC
, EXT
, {RT
}},
7694 {"mfsprg3", XSPR(31,339,275), XSPR_MASK
, PPC
, EXT
, {RT
}},
7695 {"mfasr", XSPR(31,339,280), XSPR_MASK
, PPC64
, EXT
, {RT
}},
7696 {"mfear", XSPR(31,339,282), XSPR_MASK
, PPC
, TITAN
|EXT
, {RT
}},
7697 {"mfpir", XSPR(31,339,286), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7698 {"mfpvr", XSPR(31,339,287), XSPR_MASK
, PPC
, EXT
, {RT
}},
7699 {"mfhsprg0", XSPR(31,339,304), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7700 {"mfdbsr", XSPR(31,339,304), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7701 {"mfhsprg1", XSPR(31,339,305), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7702 {"mfhdisr", XSPR(31,339,306), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7703 {"mfhdar", XSPR(31,339,307), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7704 {"mfspurr", XSPR(31,339,308), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7705 {"mfdbcr0", XSPR(31,339,308), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7706 {"mfpurr", XSPR(31,339,309), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7707 {"mfdbcr1", XSPR(31,339,309), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7708 {"mfhdec", XSPR(31,339,310), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7709 {"mfdbcr2", XSPR(31,339,310), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7710 {"mfiac1", XSPR(31,339,312), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7711 {"mfhrmor", XSPR(31,339,313), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7712 {"mfiac2", XSPR(31,339,313), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7713 {"mfhsrr0", XSPR(31,339,314), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7714 {"mfiac3", XSPR(31,339,314), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7715 {"mfhsrr1", XSPR(31,339,315), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7716 {"mfiac4", XSPR(31,339,315), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7717 {"mfdac1", XSPR(31,339,316), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7718 {"mfdac2", XSPR(31,339,317), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7719 {"mflpcr", XSPR(31,339,318), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7720 {"mfdvc1", XSPR(31,339,318), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7721 {"mflpidr", XSPR(31,339,319), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7722 {"mfdvc2", XSPR(31,339,319), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7723 {"mfhmer", XSPR(31,339,336), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7724 {"mftsr", XSPR(31,339,336), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7725 {"mfhmeer", XSPR(31,339,337), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7726 {"mfpcr", XSPR(31,339,338), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7727 {"mfheir", XSPR(31,339,339), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7728 {"mftcr", XSPR(31,339,340), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7729 {"mfamor", XSPR(31,339,349), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7730 {"mfivor0", XSPR(31,339,400), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7731 {"mfivor1", XSPR(31,339,401), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7732 {"mfivor2", XSPR(31,339,402), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7733 {"mfivor3", XSPR(31,339,403), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7734 {"mfivor4", XSPR(31,339,404), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7735 {"mfivor5", XSPR(31,339,405), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7736 {"mfivor6", XSPR(31,339,406), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7737 {"mfivor7", XSPR(31,339,407), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7738 {"mfivor8", XSPR(31,339,408), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7739 {"mfivor9", XSPR(31,339,409), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7740 {"mfivor10", XSPR(31,339,410), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7741 {"mfivor11", XSPR(31,339,411), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7742 {"mfivor12", XSPR(31,339,412), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7743 {"mfivor13", XSPR(31,339,413), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7744 {"mfivor14", XSPR(31,339,414), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7745 {"mfivor15", XSPR(31,339,415), XSPR_MASK
, BOOKE
, EXT
, {RT
}},
7746 {"mftir", XSPR(31,339,446), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7747 {"mfptcr", XSPR(31,339,464), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7748 {"mfusprg0", XSPR(31,339,496), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7749 {"mfusprg1", XSPR(31,339,497), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7750 {"mfurmor", XSPR(31,339,505), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7751 {"mfusrr0", XSPR(31,339,506), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7752 {"mfusrr1", XSPR(31,339,507), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7753 {"mfsmfctrl", XSPR(31,339,511), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7754 {"mfspefscr", XSPR(31,339,512), XSPR_MASK
, PPCSPE
, EXT
, {RT
}},
7755 {"mfbbear", XSPR(31,339,513), XSPR_MASK
, PPCBRLK
, EXT
, {RT
}},
7756 {"mfbbtar", XSPR(31,339,514), XSPR_MASK
, PPCBRLK
, EXT
, {RT
}},
7757 {"mfivor32", XSPR(31,339,528), XSPR_MASK
, PPCSPE
|E6500
, EXT
, {RT
}},
7758 {"mfivor33", XSPR(31,339,529), XSPR_MASK
, PPCSPE
|E6500
, EXT
, {RT
}},
7759 {"mfivor34", XSPR(31,339,530), XSPR_MASK
, PPCSPE
, EXT
, {RT
}},
7760 {"mfivor35", XSPR(31,339,531), XSPR_MASK
, PPCPMR
, EXT
, {RT
}},
7761 {"mfibatu", XSPR(31,339,528), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {RT
, SPRBAT
}},
7762 {"mfibatl", XSPR(31,339,529), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {RT
, SPRBAT
}},
7763 {"mfdbatu", XSPR(31,339,536), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {RT
, SPRBAT
}},
7764 {"mfdbatl", XSPR(31,339,537), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {RT
, SPRBAT
}},
7765 {"mfic_cst", XSPR(31,339,560), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7766 {"mfic_adr", XSPR(31,339,561), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7767 {"mfic_dat", XSPR(31,339,562), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7768 {"mfdc_cst", XSPR(31,339,568), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7769 {"mfdc_adr", XSPR(31,339,569), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7770 {"mfdc_dat", XSPR(31,339,570), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7771 {"mfmcsrr0", XSPR(31,339,570), XSPR_MASK
, PPCRFMCI
, EXT
, {RT
}},
7772 {"mfmcsrr1", XSPR(31,339,571), XSPR_MASK
, PPCRFMCI
, EXT
, {RT
}},
7773 {"mfmcsr", XSPR(31,339,572), XSPR_MASK
, PPCRFMCI
, EXT
, {RT
}},
7774 {"mfmcar", XSPR(31,339,573), XSPR_MASK
, PPCRFMCI
, TITAN
|EXT
, {RT
}},
7775 {"mfdpdr", XSPR(31,339,630), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7776 {"mfdpir", XSPR(31,339,631), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7777 {"mfimmr", XSPR(31,339,638), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7778 {"mfusier2", XSPR(31,339,736), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7779 {"mfsier2", XSPR(31,339,736), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7780 {"mfusier3", XSPR(31,339,737), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7781 {"mfsier3", XSPR(31,339,737), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7782 {"mfummcr3", XSPR(31,339,738), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7783 {"mfmmcr3", XSPR(31,339,738), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7784 {"mfusier", XSPR(31,339,768), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7785 {"mfsier", XSPR(31,339,768), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7786 {"mfummcr2", XSPR(31,339,769), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7787 {"mfmmcr2", XSPR(31,339,769), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7788 {"mfummcra", XSPR(31,339,770), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7789 {"mfmmcra", XSPR(31,339,770), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7790 {"mfupmc1", XSPR(31,339,771), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7791 {"mfpmc1", XSPR(31,339,771), XSPR_MASK
, POWER7
, EXT
, {RT
}},
7792 {"mfupmc2", XSPR(31,339,772), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7793 {"mfpmc2", XSPR(31,339,772), XSPR_MASK
, POWER7
, EXT
, {RT
}},
7794 {"mfupmc3", XSPR(31,339,773), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7795 {"mfpmc3", XSPR(31,339,773), XSPR_MASK
, POWER7
, EXT
, {RT
}},
7796 {"mfupmc4", XSPR(31,339,774), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7797 {"mfpmc4", XSPR(31,339,774), XSPR_MASK
, POWER7
, EXT
, {RT
}},
7798 {"mfupmc5", XSPR(31,339,775), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7799 {"mfpmc5", XSPR(31,339,775), XSPR_MASK
, POWER7
, EXT
, {RT
}},
7800 {"mfupmc6", XSPR(31,339,776), XSPR_MASK
, POWER9
, EXT
, {RT
}},
7801 {"mfpmc6", XSPR(31,339,776), XSPR_MASK
, POWER7
, EXT
, {RT
}},
7802 {"mfummcr0", XSPR(31,339,779), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7803 {"mfmmcr0", XSPR(31,339,779), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7804 {"mfusiar", XSPR(31,339,780), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7805 {"mfsiar", XSPR(31,339,780), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7806 {"mfusdar", XSPR(31,339,781), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7807 {"mfsdar", XSPR(31,339,781), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7808 {"mfummcr1", XSPR(31,339,782), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7809 {"mfmmcr1", XSPR(31,339,782), XSPR_MASK
, POWER7
, EXT
, {RS
}},
7810 {"mfmi_ctr", XSPR(31,339,784), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7811 {"mfmi_ap", XSPR(31,339,786), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7812 {"mfmi_epn", XSPR(31,339,787), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7813 {"mfmi_twc", XSPR(31,339,789), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7814 {"mfmi_rpn", XSPR(31,339,790), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7815 {"mfmd_ctr", XSPR(31,339,792), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7816 {"mfm_casid", XSPR(31,339,793), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7817 {"mfmd_ap", XSPR(31,339,794), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7818 {"mfmd_epn", XSPR(31,339,795), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7819 {"mfmd_twb", XSPR(31,339,796), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7820 {"mfmd_twc", XSPR(31,339,797), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7821 {"mfmd_rpn", XSPR(31,339,798), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7822 {"mfm_tw", XSPR(31,339,799), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7823 {"mfbescrs", XSPR(31,339,800), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7824 {"mfbescrsu", XSPR(31,339,801), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7825 {"mfbescrr", XSPR(31,339,802), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7826 {"mfbescrru", XSPR(31,339,803), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7827 {"mfebbhr", XSPR(31,339,804), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7828 {"mfebbrr", XSPR(31,339,805), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7829 {"mfbescr", XSPR(31,339,806), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7830 {"mftar", XSPR(31,339,815), XSPR_MASK
, POWER9
, EXT
, {RS
}},
7831 {"mfasdr", XSPR(31,339,816), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7832 {"mfmi_dbcam", XSPR(31,339,816), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7833 {"mfmi_dbram0", XSPR(31,339,817), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7834 {"mfmi_dbram1", XSPR(31,339,818), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7835 {"mfpsscr", XSPR(31,339,823), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7836 {"mfmd_dbcam", XSPR(31,339,824), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7837 {"mfmd_dbram0", XSPR(31,339,825), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7838 {"mfmd_dbram1", XSPR(31,339,826), XSPR_MASK
, PPC860
, EXT
, {RT
}},
7839 {"mfic", XSPR(31,339,848), XSPR_MASK
, POWER8
, EXT
, {RS
}},
7840 {"mfvtb", XSPR(31,339,849), XSPR_MASK
, POWER8
, EXT
, {RS
}},
7841 {"mfhpsscr", XSPR(31,339,855), XSPR_MASK
, POWER10
, EXT
, {RS
}},
7842 {"mfivndx", XSPR(31,339,880), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7843 {"mfdvndx", XSPR(31,339,881), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7844 {"mfivlim", XSPR(31,339,882), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7845 {"mfdvlim", XSPR(31,339,883), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7846 {"mfclcsr", XSPR(31,339,884), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7847 {"mfccr1", XSPR(31,339,888), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7848 {"mfppr", XSPR(31,339,896), XSPR_MASK
, POWER5
, EXT
, {RT
}},
7849 {"mfppr32", XSPR(31,339,898), XSPR_MASK
, POWER5
, EXT
, {RT
}},
7850 {"mfgqr", XSPR(31,339,912), XSPRGQR_MASK
, PPCPS
, EXT
, {RT
, SPRGQR
}},
7851 {"mfhid2", XSPR(31,339,920), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7852 {"mfwpar", XSPR(31,339,921), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7853 {"mfdmau", XSPR(31,339,922), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7854 {"mfdmal", XSPR(31,339,923), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7855 {"mfrstcfg", XSPR(31,339,923), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7856 {"mfdcdbtrl", XSPR(31,339,924), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7857 {"mfdcdbtrh", XSPR(31,339,925), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7858 {"mficdbtr", XSPR(31,339,927), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7859 {"mfummcr0", XSPR(31,339,936), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7860 {"mfupmc1", XSPR(31,339,937), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7861 {"mfupmc2", XSPR(31,339,938), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7862 {"mfusia", XSPR(31,339,939), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7863 {"mfummcr1", XSPR(31,339,940), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7864 {"mfupmc3", XSPR(31,339,941), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7865 {"mfupmc4", XSPR(31,339,942), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7866 {"mfzpr", XSPR(31,339,944), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7867 {"mfpid", XSPR(31,339,945), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7868 {"mfmmucr", XSPR(31,339,946), XSPR_MASK
, TITAN
, EXT
, {RT
}},
7869 {"mfccr0", XSPR(31,339,947), XSPR_MASK
, PPC405
|TITAN
, EXT
, {RT
}},
7870 {"mfiac3", XSPR(31,339,948), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7871 {"mfiac4", XSPR(31,339,949), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7872 {"mfdvc1", XSPR(31,339,950), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7873 {"mfdvc2", XSPR(31,339,951), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7874 {"mfmmcr0", XSPR(31,339,952), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7875 {"mfpmc1", XSPR(31,339,953), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7876 {"mfsgr", XSPR(31,339,953), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7877 {"mfdcwr", XSPR(31,339,954), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7878 {"mfpmc2", XSPR(31,339,954), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7879 {"mfsia", XSPR(31,339,955), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7880 {"mfsler", XSPR(31,339,955), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7881 {"mfmmcr1", XSPR(31,339,956), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7882 {"mfsu0r", XSPR(31,339,956), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7883 {"mfdbcr1", XSPR(31,339,957), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7884 {"mfpmc3", XSPR(31,339,957), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7885 {"mfpmc4", XSPR(31,339,958), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7886 {"mficdbdr", XSPR(31,339,979), XSPR_MASK
, PPC403
|TITAN
, EXT
, {RT
}},
7887 {"mfesr", XSPR(31,339,980), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7888 {"mfdear", XSPR(31,339,981), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7889 {"mfevpr", XSPR(31,339,982), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7890 {"mfcdbcr", XSPR(31,339,983), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7891 {"mftsr", XSPR(31,339,984), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7892 {"mftcr", XSPR(31,339,986), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7893 {"mfpit", XSPR(31,339,987), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7894 {"mftbhi", XSPR(31,339,988), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7895 {"mftblo", XSPR(31,339,989), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7896 {"mfsrr2", XSPR(31,339,990), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7897 {"mfsrr3", XSPR(31,339,991), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7898 {"mfdbsr", XSPR(31,339,1008), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7899 {"mfhid0", XSPR(31,339,1008), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7900 {"mfhid1", XSPR(31,339,1009), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7901 {"mfdbcr0", XSPR(31,339,1010), XSPR_MASK
, PPC405
, EXT
, {RT
}},
7902 {"mfiabr", XSPR(31,339,1010), XSPR_MASK
, GEKKO
, EXT
, {RT
}},
7903 {"mfhid4", XSPR(31,339,1011), XSPR_MASK
, BROADWAY
, EXT
, {RT
}},
7904 {"mfdbdr", XSPR(31,339,1011), XSPR_MASK
, TITAN
, EXT
, {RS
}},
7905 {"mfiac1", XSPR(31,339,1012), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7906 {"mfiac2", XSPR(31,339,1013), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7907 {"mfdabr", XSPR(31,339,1013), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7908 {"mfdac1", XSPR(31,339,1014), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7909 {"mfdac2", XSPR(31,339,1015), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7910 {"mfl2cr", XSPR(31,339,1017), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7911 {"mfdccr", XSPR(31,339,1018), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7912 {"mficcr", XSPR(31,339,1019), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7913 {"mfictc", XSPR(31,339,1019), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7914 {"mfpbl1", XSPR(31,339,1020), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7915 {"mfthrm1", XSPR(31,339,1020), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7916 {"mfpbu1", XSPR(31,339,1021), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7917 {"mfthrm2", XSPR(31,339,1021), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7918 {"mfpbl2", XSPR(31,339,1022), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7919 {"mfthrm3", XSPR(31,339,1022), XSPR_MASK
, PPC750
, EXT
, {RT
}},
7920 {"mfpir", XSPR(31,339,1023), XSPR_MASK
, POWER10
, EXT
, {RT
}},
7921 {"mfpbu2", XSPR(31,339,1023), XSPR_MASK
, PPC403
, EXT
, {RT
}},
7922 {"mfspr", X(31,339), X_MASK
, COM
, 0, {RT
, SPR
}},
7924 {"lwax", X(31,341), X_MASK
, PPC64
, 0, {RT
, RA0
, RB
}},
7926 {"dst", XDSS(31,342,0), XDSS_MASK
, PPCVEC
, 0, {RA
, RB
, STRM
}},
7927 {"dstt", XDSS(31,342,1), XDSS_MASK
, PPCVEC
, 0, {RA
, RB
, STRM
}},
7929 {"lhax", X(31,343), X_MASK
, COM
, 0, {RT
, RA0
, RB
}},
7931 {"lvxl", X(31,359), X_MASK
, PPCVEC
, 0, {VD
, RA0
, RB
}},
7933 {"abs", XO(31,360,0,0), XORB_MASK
, M601
, 0, {RT
, RA
}},
7934 {"abs.", XO(31,360,0,1), XORB_MASK
, M601
, 0, {RT
, RA
}},
7936 {"divs", XO(31,363,0,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7937 {"divs.", XO(31,363,0,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
7939 {"lxvwsx", X(31,364), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
7941 {"tlbia", X(31,370), 0xffffffff, PPC
, E500
|TITAN
, {0}},
7943 {"mftbu", XSPR(31,371,269), XSPR_MASK
, PPC
, NO371
|POWER4
|EXT
, {RT
}},
7944 {"mftb", X(31,371), X_MASK
, PPC
, NO371
|POWER4
, {RT
, TBR
}},
7945 {"mftbl", XSPR(31,371,268), XSPR_MASK
, PPC
, NO371
|POWER4
|EXT
, {RT
}},
7947 {"lwaux", X(31,373), X_MASK
, PPC64
, 0, {RT
, RAL
, RB
}},
7949 {"dstst", XDSS(31,374,0), XDSS_MASK
, PPCVEC
, 0, {RA
, RB
, STRM
}},
7950 {"dststt", XDSS(31,374,1), XDSS_MASK
, PPCVEC
, 0, {RA
, RB
, STRM
}},
7952 {"lhaux", X(31,375), X_MASK
, COM
, 0, {RT
, RAL
, RB
}},
7954 {"popcntw", X(31,378), XRB_MASK
, POWER7
|PPCA2
, 0, {RA
, RS
}},
7956 {"setbc", X(31,384), XRB_MASK
, POWER10
, 0, {RT
, BI
}},
7958 {"mtdcrx", X(31,387), X_MASK
, BOOKE
|PPCA2
|PPC476
, TITAN
, {RA
, RS
}},
7959 {"mtdcrx.", XRC(31,387,1), X_MASK
, PPCA2
, 0, {RA
, RS
}},
7961 {"stvexbx", X(31,389), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
7963 {"dcblc", X(31,390), X_MASK
, PPCCHLK
|PPC476
|TITAN
, 0, {CT
, RA0
, RB
}},
7964 {"stdfcmx", APU(31,391,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
7966 {"divdeu", XO(31,393,0,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
7967 {"divdeu.", XO(31,393,0,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
7968 {"divweu", XO(31,395,0,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
7969 {"divweu.", XO(31,395,0,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
7971 {"stxvx", X(31,396), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
7972 {"stxvl", X(31,397), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
7974 {"dcblce", X(31,398), X_MASK
, PPCCHLK
, E500MC
, {CT
, RA
, RB
}},
7976 {"slbmte", X(31,402), XRA_MASK
, PPC64
, 0, {RS
, RB
}},
7978 {"mtvsrws", X(31,403), XX1RB_MASK
, PPCVSX3
, 0, {XT6
, RA
}},
7980 {"pbt.", XRC(31,404,1), X_MASK
, POWER8
, 0, {RS
, RA0
, RB
}},
7982 {"icswx", XRC(31,406,0), X_MASK
, POWER7
|PPCA2
, 0, {RS
, RA
, RB
}},
7983 {"icswx.", XRC(31,406,1), X_MASK
, POWER7
|PPCA2
, 0, {RS
, RA
, RB
}},
7985 {"sthx", X(31,407), X_MASK
, COM
, 0, {RS
, RA0
, RB
}},
7987 {"orc", XRC(31,412,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7988 {"orc.", XRC(31,412,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
7990 {"sthepx", X(31,415), X_MASK
, E500MC
|PPCA2
, 0, {RS
, RA0
, RB
}},
7992 {"setbcr", X(31,416), XRB_MASK
, POWER10
, 0, {RT
, BI
}},
7994 {"mtdcrux", X(31,419), X_MASK
, PPC464
|PPC476
, 0, {RA
, RS
}},
7996 {"stvexhx", X(31,421), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
7998 {"dcblq.", XRC(31,422,1), X_MASK
, E6500
, 0, {CT
, RA0
, RB
}},
8000 {"divde", XO(31,425,0,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8001 {"divde.", XO(31,425,0,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8002 {"divwe", XO(31,427,0,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8003 {"divwe.", XO(31,427,0,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8005 {"stxvll", X(31,429), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
8007 {"clrbhrb", X(31,430), 0xffffffff, POWER8
, 0, {0}},
8009 {"slbie", X(31,434), XRTRA_MASK
, PPC64
, 0, {RB
}},
8011 {"mtvsrdd", X(31,435), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
8013 {"ecowx", X(31,438), X_MASK
, PPC
, E500
|TITAN
, {RT
, RA0
, RB
}},
8015 {"sthux", X(31,439), X_MASK
, COM
, 0, {RS
, RAS
, RB
}},
8018 {"cctpl", 0x7c210b78, 0xffffffff, CELL
, EXT
, {0}},
8020 {"cctpm", 0x7c421378, 0xffffffff, CELL
, EXT
, {0}},
8022 {"cctph", 0x7c631b78, 0xffffffff, CELL
, EXT
, {0}},
8024 {"miso", 0x7f5ad378, 0xffffffff, POWER8
|E6500
, EXT
, {0}},
8026 {"yield", 0x7f7bdb78, 0xffffffff, POWER7
, EXT
, {0}},
8028 {"mdors", 0x7f9ce378, 0xffffffff, E500MC
, EXT
, {0}},
8029 {"db8cyc", 0x7f9ce378, 0xffffffff, CELL
, EXT
, {0}},
8031 {"mdoio", 0x7fbdeb78, 0xffffffff, POWER7
, EXT
, {0}},
8032 {"db10cyc", 0x7fbdeb78, 0xffffffff, CELL
, EXT
, {0}},
8034 {"mdoom", 0x7fdef378, 0xffffffff, POWER7
, EXT
, {0}},
8035 {"db12cyc", 0x7fdef378, 0xffffffff, CELL
, EXT
, {0}},
8037 {"db16cyc", 0x7ffffb78, 0xffffffff, CELL
, EXT
, {0}},
8039 {"mr", XRC(31,444,0), X_MASK
, COM
, EXT
, {RA
, RSB
}},
8040 {"or", XRC(31,444,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
8041 {"mr.", XRC(31,444,1), X_MASK
, COM
, EXT
, {RA
, RSB
}},
8042 {"or.", XRC(31,444,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
8044 {"setnbc", X(31,448), XRB_MASK
, POWER10
, 0, {RT
, BI
}},
8046 {"mtexisr", XSPR(31,451, 64), XSPR_MASK
, PPC403
, 0, {RS
}},
8047 {"mtexier", XSPR(31,451, 66), XSPR_MASK
, PPC403
, 0, {RS
}},
8048 {"mtbr0", XSPR(31,451,128), XSPR_MASK
, PPC403
, 0, {RS
}},
8049 {"mtbr1", XSPR(31,451,129), XSPR_MASK
, PPC403
, 0, {RS
}},
8050 {"mtbr2", XSPR(31,451,130), XSPR_MASK
, PPC403
, 0, {RS
}},
8051 {"mtbr3", XSPR(31,451,131), XSPR_MASK
, PPC403
, 0, {RS
}},
8052 {"mtbr4", XSPR(31,451,132), XSPR_MASK
, PPC403
, 0, {RS
}},
8053 {"mtbr5", XSPR(31,451,133), XSPR_MASK
, PPC403
, 0, {RS
}},
8054 {"mtbr6", XSPR(31,451,134), XSPR_MASK
, PPC403
, 0, {RS
}},
8055 {"mtbr7", XSPR(31,451,135), XSPR_MASK
, PPC403
, 0, {RS
}},
8056 {"mtbear", XSPR(31,451,144), XSPR_MASK
, PPC403
, 0, {RS
}},
8057 {"mtbesr", XSPR(31,451,145), XSPR_MASK
, PPC403
, 0, {RS
}},
8058 {"mtiocr", XSPR(31,451,160), XSPR_MASK
, PPC403
, 0, {RS
}},
8059 {"mtdmacr0", XSPR(31,451,192), XSPR_MASK
, PPC403
, 0, {RS
}},
8060 {"mtdmact0", XSPR(31,451,193), XSPR_MASK
, PPC403
, 0, {RS
}},
8061 {"mtdmada0", XSPR(31,451,194), XSPR_MASK
, PPC403
, 0, {RS
}},
8062 {"mtdmasa0", XSPR(31,451,195), XSPR_MASK
, PPC403
, 0, {RS
}},
8063 {"mtdmacc0", XSPR(31,451,196), XSPR_MASK
, PPC403
, 0, {RS
}},
8064 {"mtdmacr1", XSPR(31,451,200), XSPR_MASK
, PPC403
, 0, {RS
}},
8065 {"mtdmact1", XSPR(31,451,201), XSPR_MASK
, PPC403
, 0, {RS
}},
8066 {"mtdmada1", XSPR(31,451,202), XSPR_MASK
, PPC403
, 0, {RS
}},
8067 {"mtdmasa1", XSPR(31,451,203), XSPR_MASK
, PPC403
, 0, {RS
}},
8068 {"mtdmacc1", XSPR(31,451,204), XSPR_MASK
, PPC403
, 0, {RS
}},
8069 {"mtdmacr2", XSPR(31,451,208), XSPR_MASK
, PPC403
, 0, {RS
}},
8070 {"mtdmact2", XSPR(31,451,209), XSPR_MASK
, PPC403
, 0, {RS
}},
8071 {"mtdmada2", XSPR(31,451,210), XSPR_MASK
, PPC403
, 0, {RS
}},
8072 {"mtdmasa2", XSPR(31,451,211), XSPR_MASK
, PPC403
, 0, {RS
}},
8073 {"mtdmacc2", XSPR(31,451,212), XSPR_MASK
, PPC403
, 0, {RS
}},
8074 {"mtdmacr3", XSPR(31,451,216), XSPR_MASK
, PPC403
, 0, {RS
}},
8075 {"mtdmact3", XSPR(31,451,217), XSPR_MASK
, PPC403
, 0, {RS
}},
8076 {"mtdmada3", XSPR(31,451,218), XSPR_MASK
, PPC403
, 0, {RS
}},
8077 {"mtdmasa3", XSPR(31,451,219), XSPR_MASK
, PPC403
, 0, {RS
}},
8078 {"mtdmacc3", XSPR(31,451,220), XSPR_MASK
, PPC403
, 0, {RS
}},
8079 {"mtdmasr", XSPR(31,451,224), XSPR_MASK
, PPC403
, 0, {RS
}},
8080 {"mtdcr", X(31,451), X_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, E500
|TITAN
, {SPR
, RS
}},
8081 {"mtdcr.", XRC(31,451,1), X_MASK
, PPCA2
, 0, {SPR
, RS
}},
8083 {"stvexwx", X(31,453), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8085 {"dccci", X(31,454), XRT_MASK
, PPC403
|PPC440
|PPC476
|TITAN
|PPCA2
, 0, {RAOPT
, RBOPT
}},
8086 {"dci", X(31,454), XRARB_MASK
, PPCA2
|PPC476
, 0, {CT
}},
8088 {"divdu", XO(31,457,0,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8089 {"divdu.", XO(31,457,0,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8091 {"divwu", XO(31,459,0,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8092 {"divwu.", XO(31,459,0,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8094 {"stxvpx", X(31,461), XX1_MASK
, POWER10
, 0, {XSP
, RA0
, RB
}},
8096 {"mtpmr", X(31,462), X_MASK
, PPCPMR
|PPCE300
, 0, {PMR
, RS
}},
8097 {"mttmr", X(31,494), X_MASK
, PPCTMR
, 0, {TMR
, RS
}},
8099 {"slbieg", X(31,466), XRA_MASK
, POWER9
, 0, {RS
, RB
}},
8101 {"mtmq", XSPR(31,467, 0), XSPR_MASK
, M601
, EXT
, {RS
}},
8102 {"mtxer", XSPR(31,467, 1), XSPR_MASK
, COM
, EXT
, {RS
}},
8103 {"mtudscr", XSPR(31,467, 3), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8104 {"mtlr", XSPR(31,467, 8), XSPR_MASK
, COM
, EXT
, {RS
}},
8105 {"mtctr", XSPR(31,467, 9), XSPR_MASK
, COM
, EXT
, {RS
}},
8106 {"mtuamr", XSPR(31,467, 13), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8107 {"mtdscr", XSPR(31,467, 17), XSPR_MASK
, POWER6
, EXT
, {RS
}},
8108 {"mttid", XSPR(31,467, 17), XSPR_MASK
, POWER
, EXT
, {RS
}},
8109 {"mtdsisr", XSPR(31,467, 18), XSPR_MASK
, COM
, TITAN
|EXT
, {RS
}},
8110 {"mtdar", XSPR(31,467, 19), XSPR_MASK
, COM
, TITAN
|EXT
, {RS
}},
8111 {"mtrtcu", XSPR(31,467, 20), XSPR_MASK
, COM
, TITAN
|EXT
, {RS
}},
8112 {"mtrtcl", XSPR(31,467, 21), XSPR_MASK
, COM
, TITAN
|EXT
, {RS
}},
8113 {"mtdec", XSPR(31,467, 22), XSPR_MASK
, COM
, EXT
, {RS
}},
8114 {"mtsdr0", XSPR(31,467, 24), XSPR_MASK
, POWER
, EXT
, {RS
}},
8115 {"mtsdr1", XSPR(31,467, 25), XSPR_MASK
, COM
, TITAN
|EXT
, {RS
}},
8116 {"mtsrr0", XSPR(31,467, 26), XSPR_MASK
, COM
, EXT
, {RS
}},
8117 {"mtsrr1", XSPR(31,467, 27), XSPR_MASK
, COM
, EXT
, {RS
}},
8118 {"mtcfar", XSPR(31,467, 28), XSPR_MASK
, POWER6
, EXT
, {RS
}},
8119 {"mtamr", XSPR(31,467, 29), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8120 {"mtpidr", XSPR(31,467, 48), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8121 {"mtpid", XSPR(31,467, 48), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8122 {"mtdecar", XSPR(31,467, 54), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8123 {"mtcsrr0", XSPR(31,467, 58), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8124 {"mtcsrr1", XSPR(31,467, 59), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8125 {"mtiamr", XSPR(31,467, 61), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8126 {"mtdear", XSPR(31,467, 61), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8127 {"mtesr", XSPR(31,467, 62), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8128 {"mtivpr", XSPR(31,467, 63), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8129 {"mttfhar", XSPR(31,467,128), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8130 {"mttfiar", XSPR(31,467,129), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8131 {"mttexasr", XSPR(31,467,130), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8132 {"mttexasru", XSPR(31,467,131), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8133 {"mtcmpa", XSPR(31,467,144), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8134 {"mtcmpb", XSPR(31,467,145), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8135 {"mtcmpc", XSPR(31,467,146), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8136 {"mtcmpd", XSPR(31,467,147), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8137 {"mticr", XSPR(31,467,148), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8138 {"mtder", XSPR(31,467,149), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8139 {"mtcounta", XSPR(31,467,150), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8140 {"mtcountb", XSPR(31,467,151), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8141 {"mtctrl", XSPR(31,467,152), XSPR_MASK
, POWER4
, EXT
, {RS
}},
8142 {"mtcmpe", XSPR(31,467,152), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8143 {"mtfscr", XSPR(31,467,153), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8144 {"mtcmpf", XSPR(31,467,153), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8145 {"mtcmpg", XSPR(31,467,154), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8146 {"mtcmph", XSPR(31,467,155), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8147 {"mtlctrl1", XSPR(31,467,156), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8148 {"mtuamor", XSPR(31,467,157), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8149 {"mtlctrl2", XSPR(31,467,157), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8150 {"mtictrl", XSPR(31,467,158), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8151 {"mtpspb", XSPR(31,467,159), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8152 {"mtbar", XSPR(31,467,159), XSPR_MASK
, PPC860
, EXT
, {RS
}},
8153 {"mtdpdes", XSPR(31,467,176), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8154 {"mtdawr0", XSPR(31,467,180), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8155 {"mtdawr1", XSPR(31,467,181), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8156 {"mtrpr", XSPR(31,467,186), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8157 {"mtciabr", XSPR(31,467,187), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8158 {"mtdawrx0", XSPR(31,467,188), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8159 {"mtdawrx1", XSPR(31,467,189), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8160 {"mthfscr", XSPR(31,467,190), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8161 {"mtvrsave", XSPR(31,467,256), XSPR_MASK
, PPCVEC
, EXT
, {RS
}},
8162 {"mtusprg0", XSPR(31,467,256), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8163 {"mtsprg", XSPR(31,467,256), XSPRG_MASK
, PPC
, EXT
, {SPRG
, RS
}},
8164 {"mtsprg0", XSPR(31,467,272), XSPR_MASK
, PPC
, EXT
, {RS
}},
8165 {"mtsprg1", XSPR(31,467,273), XSPR_MASK
, PPC
, EXT
, {RS
}},
8166 {"mtsprg2", XSPR(31,467,274), XSPR_MASK
, PPC
, EXT
, {RS
}},
8167 {"mtsprg3", XSPR(31,467,275), XSPR_MASK
, PPC
, EXT
, {RS
}},
8168 {"mtsprg4", XSPR(31,467,276), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RS
}},
8169 {"mtsprg5", XSPR(31,467,277), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RS
}},
8170 {"mtsprg6", XSPR(31,467,278), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RS
}},
8171 {"mtsprg7", XSPR(31,467,279), XSPR_MASK
, PPC405
|BOOKE
, EXT
, {RS
}},
8172 {"mtasr", XSPR(31,467,280), XSPR_MASK
, PPC64
, EXT
, {RS
}},
8173 {"mtear", XSPR(31,467,282), XSPR_MASK
, PPC
, TITAN
|EXT
, {RS
}},
8174 {"mttbl", XSPR(31,467,284), XSPR_MASK
, PPC
, EXT
, {RS
}},
8175 {"mttbu", XSPR(31,467,285), XSPR_MASK
, PPC
, EXT
, {RS
}},
8176 {"mttbu40", XSPR(31,467,286), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8177 {"mthsprg0", XSPR(31,467,304), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8178 {"mtdbsr", XSPR(31,467,304), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8179 {"mthsprg1", XSPR(31,467,305), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8180 {"mthdisr", XSPR(31,467,306), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8181 {"mthdar", XSPR(31,467,307), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8182 {"mtspurr", XSPR(31,467,308), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8183 {"mtdbcr0", XSPR(31,467,308), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8184 {"mtpurr", XSPR(31,467,309), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8185 {"mtdbcr1", XSPR(31,467,309), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8186 {"mthdec", XSPR(31,467,310), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8187 {"mtdbcr2", XSPR(31,467,310), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8188 {"mtiac1", XSPR(31,467,312), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8189 {"mthrmor", XSPR(31,467,313), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8190 {"mtiac2", XSPR(31,467,313), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8191 {"mthsrr0", XSPR(31,467,314), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8192 {"mtiac3", XSPR(31,467,314), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8193 {"mthsrr1", XSPR(31,467,315), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8194 {"mtiac4", XSPR(31,467,315), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8195 {"mtdac1", XSPR(31,467,316), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8196 {"mtdac2", XSPR(31,467,317), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8197 {"mtlpcr", XSPR(31,467,318), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8198 {"mtdvc1", XSPR(31,467,318), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8199 {"mtlpidr", XSPR(31,467,319), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8200 {"mtdvc2", XSPR(31,467,319), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8201 {"mthmer", XSPR(31,467,336), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8202 {"mttsr", XSPR(31,467,336), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8203 {"mthmeer", XSPR(31,467,337), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8204 {"mtpcr", XSPR(31,467,338), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8205 {"mtheir", XSPR(31,467,339), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8206 {"mttcr", XSPR(31,467,340), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8207 {"mtamor", XSPR(31,467,349), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8208 {"mtivor0", XSPR(31,467,400), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8209 {"mtivor1", XSPR(31,467,401), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8210 {"mtivor2", XSPR(31,467,402), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8211 {"mtivor3", XSPR(31,467,403), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8212 {"mtivor4", XSPR(31,467,404), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8213 {"mtivor5", XSPR(31,467,405), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8214 {"mtivor6", XSPR(31,467,406), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8215 {"mtivor7", XSPR(31,467,407), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8216 {"mtivor8", XSPR(31,467,408), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8217 {"mtivor9", XSPR(31,467,409), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8218 {"mtivor10", XSPR(31,467,410), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8219 {"mtivor11", XSPR(31,467,411), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8220 {"mtivor12", XSPR(31,467,412), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8221 {"mtivor13", XSPR(31,467,413), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8222 {"mtivor14", XSPR(31,467,414), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8223 {"mtivor15", XSPR(31,467,415), XSPR_MASK
, BOOKE
, EXT
, {RS
}},
8224 {"mtptcr", XSPR(31,467,464), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8225 {"mtusprg0", XSPR(31,467,496), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8226 {"mtusprg1", XSPR(31,467,497), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8227 {"mturmor", XSPR(31,467,505), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8228 {"mtusrr0", XSPR(31,467,506), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8229 {"mtusrr1", XSPR(31,467,507), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8230 {"mtsmfctrl", XSPR(31,467,511), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8231 {"mtspefscr", XSPR(31,467,512), XSPR_MASK
, PPCSPE
, EXT
, {RS
}},
8232 {"mtbbear", XSPR(31,467,513), XSPR_MASK
, PPCBRLK
, EXT
, {RS
}},
8233 {"mtbbtar", XSPR(31,467,514), XSPR_MASK
, PPCBRLK
, EXT
, {RS
}},
8234 {"mtivor32", XSPR(31,467,528), XSPR_MASK
, PPCSPE
|E6500
, EXT
, {RS
}},
8235 {"mtivor33", XSPR(31,467,529), XSPR_MASK
, PPCSPE
|E6500
, EXT
, {RS
}},
8236 {"mtivor34", XSPR(31,467,530), XSPR_MASK
, PPCSPE
, EXT
, {RS
}},
8237 {"mtivor35", XSPR(31,467,531), XSPR_MASK
, PPCPMR
, EXT
, {RS
}},
8238 {"mtibatu", XSPR(31,467,528), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {SPRBAT
, RS
}},
8239 {"mtibatl", XSPR(31,467,529), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {SPRBAT
, RS
}},
8240 {"mtdbatu", XSPR(31,467,536), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {SPRBAT
, RS
}},
8241 {"mtdbatl", XSPR(31,467,537), XSPRBAT_MASK
, PPC
, TITAN
|EXT
, {SPRBAT
, RS
}},
8242 {"mtmcsrr0", XSPR(31,467,570), XSPR_MASK
, PPCRFMCI
, EXT
, {RS
}},
8243 {"mtmcsrr1", XSPR(31,467,571), XSPR_MASK
, PPCRFMCI
, EXT
, {RS
}},
8244 {"mtmcsr", XSPR(31,467,572), XSPR_MASK
, PPCRFMCI
, EXT
, {RS
}},
8245 {"mtsier2", XSPR(31,467,752), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8246 {"mtsier3", XSPR(31,467,753), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8247 {"mtmmcr3", XSPR(31,467,754), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8248 {"mtummcr2", XSPR(31,467,769), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8249 {"mtmmcr2", XSPR(31,467,769), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8250 {"mtummcra", XSPR(31,467,770), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8251 {"mtupmc1", XSPR(31,467,771), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8252 {"mtupmc2", XSPR(31,467,772), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8253 {"mtupmc3", XSPR(31,467,773), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8254 {"mtupmc4", XSPR(31,467,774), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8255 {"mtupmc5", XSPR(31,467,775), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8256 {"mtupmc6", XSPR(31,467,776), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8257 {"mtummcr0", XSPR(31,467,779), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8258 {"mtsier", XSPR(31,467,784), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8259 {"mtmmcra", XSPR(31,467,786), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8260 {"mtpmc1", XSPR(31,467,787), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8261 {"mtpmc2", XSPR(31,467,788), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8262 {"mtpmc3", XSPR(31,467,789), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8263 {"mtpmc4", XSPR(31,467,790), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8264 {"mtpmc5", XSPR(31,467,791), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8265 {"mtpmc6", XSPR(31,467,792), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8266 {"mtmmcr0", XSPR(31,467,795), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8267 {"mtsiar", XSPR(31,467,796), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8268 {"mtsdar", XSPR(31,467,797), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8269 {"mtmmcr1", XSPR(31,467,798), XSPR_MASK
, POWER7
, EXT
, {RS
}},
8270 {"mtbescrs", XSPR(31,467,800), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8271 {"mtbescrsu", XSPR(31,467,801), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8272 {"mtbescrr", XSPR(31,467,802), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8273 {"mtbescrru", XSPR(31,467,803), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8274 {"mtebbhr", XSPR(31,467,804), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8275 {"mtebbrr", XSPR(31,467,805), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8276 {"mtbescr", XSPR(31,467,806), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8277 {"mttar", XSPR(31,467,815), XSPR_MASK
, POWER9
, EXT
, {RS
}},
8278 {"mtasdr", XSPR(31,467,816), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8279 {"mtpsscr", XSPR(31,467,823), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8280 {"mtic", XSPR(31,467,848), XSPR_MASK
, POWER8
, EXT
, {RS
}},
8281 {"mtvtb", XSPR(31,467,849), XSPR_MASK
, POWER8
, EXT
, {RS
}},
8282 {"mthpsscr", XSPR(31,467,855), XSPR_MASK
, POWER10
, EXT
, {RS
}},
8283 {"mtivndx", XSPR(31,467,880), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8284 {"mtdvndx", XSPR(31,467,881), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8285 {"mtivlim", XSPR(31,467,882), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8286 {"mtdvlim", XSPR(31,467,883), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8287 {"mtclcsr", XSPR(31,467,884), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8288 {"mtccr1", XSPR(31,467,888), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8289 {"mtppr", XSPR(31,467,896), XSPR_MASK
, POWER5
, EXT
, {RS
}},
8290 {"mtppr32", XSPR(31,467,898), XSPR_MASK
, POWER5
, EXT
, {RS
}},
8291 {"mtgqr", XSPR(31,467,912), XSPRGQR_MASK
, PPCPS
, EXT
, {SPRGQR
, RS
}},
8292 {"mthid2", XSPR(31,467,920), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8293 {"mtwpar", XSPR(31,467,921), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8294 {"mtdmau", XSPR(31,467,922), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8295 {"mtdmal", XSPR(31,467,923), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8296 {"mtummcr0", XSPR(31,467,936), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8297 {"mtupmc1", XSPR(31,467,937), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8298 {"mtupmc2", XSPR(31,467,938), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8299 {"mtusia", XSPR(31,467,939), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8300 {"mtummcr1", XSPR(31,467,940), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8301 {"mtupmc3", XSPR(31,467,941), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8302 {"mtupmc4", XSPR(31,467,942), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8303 {"mtzpr", XSPR(31,467,944), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8304 {"mtpid", XSPR(31,467,945), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8305 {"mtrmmucr", XSPR(31,467,946), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8306 {"mtccr0", XSPR(31,467,947), XSPR_MASK
, PPC405
|TITAN
, EXT
, {RS
}},
8307 {"mtiac3", XSPR(31,467,948), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8308 {"mtiac4", XSPR(31,467,949), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8309 {"mtdvc1", XSPR(31,467,950), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8310 {"mtdvc2", XSPR(31,467,951), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8311 {"mtmmcr0", XSPR(31,467,952), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8312 {"mtpmc1", XSPR(31,467,953), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8313 {"mtsgr", XSPR(31,467,953), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8314 {"mtdcwr", XSPR(31,467,954), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8315 {"mtpmc2", XSPR(31,467,954), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8316 {"mtsia", XSPR(31,467,955), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8317 {"mtsler", XSPR(31,467,955), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8318 {"mtmmcr1", XSPR(31,467,956), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8319 {"mtsu0r", XSPR(31,467,956), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8320 {"mtdbcr1", XSPR(31,467,957), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8321 {"mtpmc3", XSPR(31,467,957), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8322 {"mtpmc4", XSPR(31,467,958), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8323 {"mticdbdr", XSPR(31,467,979), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8324 {"mtesr", XSPR(31,467,980), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8325 {"mtdear", XSPR(31,467,981), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8326 {"mtevpr", XSPR(31,467,982), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8327 {"mtcdbcr", XSPR(31,467,983), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8328 {"mttsr", XSPR(31,467,984), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8329 {"mttcr", XSPR(31,467,986), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8330 {"mtpit", XSPR(31,467,987), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8331 {"mttbhi", XSPR(31,467,988), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8332 {"mttblo", XSPR(31,467,989), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8333 {"mtsrr2", XSPR(31,467,990), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8334 {"mtsrr3", XSPR(31,467,991), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8335 {"mtdbsr", XSPR(31,467,1008), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8336 {"mthid0", XSPR(31,467,1008), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8337 {"mthid1", XSPR(31,467,1009), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8338 {"mtdbcr0", XSPR(31,467,1010), XSPR_MASK
, PPC405
, EXT
, {RS
}},
8339 {"mtiabr", XSPR(31,467,1010), XSPR_MASK
, GEKKO
, EXT
, {RS
}},
8340 {"mthid4", XSPR(31,467,1011), XSPR_MASK
, BROADWAY
, EXT
, {RS
}},
8341 {"mtdbdr", XSPR(31,467,1011), XSPR_MASK
, TITAN
, EXT
, {RS
}},
8342 {"mtiac1", XSPR(31,467,1012), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8343 {"mtiac2", XSPR(31,467,1013), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8344 {"mtdabr", XSPR(31,467,1013), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8345 {"mtdac1", XSPR(31,467,1014), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8346 {"mtdac2", XSPR(31,467,1015), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8347 {"mtl2cr", XSPR(31,467,1017), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8348 {"mtdccr", XSPR(31,467,1018), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8349 {"mticcr", XSPR(31,467,1019), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8350 {"mtictc", XSPR(31,467,1019), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8351 {"mtpbl1", XSPR(31,467,1020), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8352 {"mtthrm1", XSPR(31,467,1020), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8353 {"mtpbu1", XSPR(31,467,1021), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8354 {"mtthrm2", XSPR(31,467,1021), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8355 {"mtpbl2", XSPR(31,467,1022), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8356 {"mtthrm3", XSPR(31,467,1022), XSPR_MASK
, PPC750
, EXT
, {RS
}},
8357 {"mtpbu2", XSPR(31,467,1023), XSPR_MASK
, PPC403
, EXT
, {RS
}},
8358 {"mtspr", X(31,467), X_MASK
, COM
, 0, {SPR
, RS
}},
8360 {"dcbi", X(31,470), XRT_MASK
, PPC
, 0, {RA0
, RB
}},
8362 {"nand", XRC(31,476,0), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
8363 {"nand.", XRC(31,476,1), X_MASK
, COM
, 0, {RA
, RS
, RB
}},
8365 {"setnbcr", X(31,480), XRB_MASK
, POWER10
, 0, {RT
, BI
}},
8367 {"dsn", X(31,483), XRT_MASK
, E500MC
, 0, {RA
, RB
}},
8369 {"dcread", X(31,486), X_MASK
, PPC403
|PPC440
, PPCA2
, {RT
, RA0
, RB
}},
8371 {"icbtls", X(31,486), X_MASK
, PPCCHLK
|PPC476
|TITAN
, 0, {CT
, RA0
, RB
}},
8373 {"stvxl", X(31,487), X_MASK
, PPCVEC
, 0, {VS
, RA0
, RB
}},
8375 {"nabs", XO(31,488,0,0), XORB_MASK
, M601
, 0, {RT
, RA
}},
8376 {"nabs.", XO(31,488,0,1), XORB_MASK
, M601
, 0, {RT
, RA
}},
8378 {"divd", XO(31,489,0,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8379 {"divd.", XO(31,489,0,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8381 {"divw", XO(31,491,0,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8382 {"divw.", XO(31,491,0,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8384 {"icbtlse", X(31,494), X_MASK
, PPCCHLK
, E500MC
, {CT
, RA
, RB
}},
8386 {"slbia", X(31,498), 0xff1fffff, POWER6
, 0, {IH
}},
8387 {"slbia", X(31,498), 0xffffffff, PPC64
, POWER6
, {0}},
8389 {"cli", X(31,502), XRB_MASK
, POWER
, 0, {RT
, RA
}},
8391 {"popcntd", X(31,506), XRB_MASK
, POWER7
|PPCA2
, 0, {RA
, RS
}},
8393 {"cmpb", X(31,508), X_MASK
, POWER6
|PPCA2
|PPC476
, 0, {RA
, RS
, RB
}},
8395 {"mcrxr", X(31,512), XBFRARB_MASK
, COM
, POWER7
, {BF
}},
8397 {"lbdcbx", X(31,514), X_MASK
, E200Z4
, 0, {RT
, RA
, RB
}},
8398 {"lbdx", X(31,515), X_MASK
, E500MC
|E200Z4
, 0, {RT
, RA
, RB
}},
8400 {"bblels", X(31,518), X_MASK
, PPCBRLK
, 0, {0}},
8402 {"lvlx", X(31,519), X_MASK
, CELL
, 0, {VD
, RA0
, RB
}},
8403 {"lbfcmux", APU(31,519,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8405 {"subfco", XO(31,8,1,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8406 {"sfo", XO(31,8,1,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8407 {"subco", XO(31,8,1,0), XO_MASK
, PPCCOM
, EXT
, {RT
, RB
, RA
}},
8408 {"subfco.", XO(31,8,1,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8409 {"sfo.", XO(31,8,1,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8410 {"subco.", XO(31,8,1,1), XO_MASK
, PPCCOM
, EXT
, {RT
, RB
, RA
}},
8412 {"addco", XO(31,10,1,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8413 {"ao", XO(31,10,1,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8414 {"addco.", XO(31,10,1,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8415 {"ao.", XO(31,10,1,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8417 {"lxsspx", X(31,524), XX1_MASK
, PPCVSX2
, 0, {XT6
, RA0
, RB
}},
8418 {"lxvrl", X(31,525), XX1_MASK
, PPCVSXF
, 0, {XT6
, RA0
, RB
}},
8420 {"clcs", X(31,531), XRB_MASK
, M601
, 0, {RT
, RA
}},
8422 {"ldbrx", X(31,532), X_MASK
, CELL
|POWER7
|PPCA2
, 0, {RT
, RA0
, RB
}},
8424 {"lswx", X(31,533), X_MASK
, PPCCOM
, E500
|E500MC
, {RT
, RAX
, RBX
}},
8425 {"lsx", X(31,533), X_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8427 {"lwbrx", X(31,534), X_MASK
, PPCCOM
, 0, {RT
, RA0
, RB
}},
8428 {"lbrx", X(31,534), X_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8430 {"lfsx", X(31,535), X_MASK
, COM
, PPCEFS
, {FRT
, RA0
, RB
}},
8432 {"srw", XRC(31,536,0), X_MASK
, PPCCOM
, 0, {RA
, RS
, RB
}},
8433 {"sr", XRC(31,536,0), X_MASK
, PWRCOM
, 0, {RA
, RS
, RB
}},
8434 {"srw.", XRC(31,536,1), X_MASK
, PPCCOM
, 0, {RA
, RS
, RB
}},
8435 {"sr.", XRC(31,536,1), X_MASK
, PWRCOM
, 0, {RA
, RS
, RB
}},
8437 {"rrib", XRC(31,537,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8438 {"rrib.", XRC(31,537,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8440 {"cnttzw", XRC(31,538,0), XRB_MASK
, POWER9
, 0, {RA
, RS
}},
8441 {"cnttzw.", XRC(31,538,1), XRB_MASK
, POWER9
, 0, {RA
, RS
}},
8443 {"srd", XRC(31,539,0), X_MASK
, PPC64
, 0, {RA
, RS
, RB
}},
8444 {"srd.", XRC(31,539,1), X_MASK
, PPC64
, 0, {RA
, RS
, RB
}},
8446 {"maskir", XRC(31,541,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8447 {"maskir.", XRC(31,541,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8449 {"lhdcbx", X(31,546), X_MASK
, E200Z4
, 0, {RT
, RA
, RB
}},
8450 {"lhdx", X(31,547), X_MASK
, E500MC
|E200Z4
, 0, {RT
, RA
, RB
}},
8452 {"lvtrx", X(31,549), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8454 {"bbelr", X(31,550), X_MASK
, PPCBRLK
, 0, {0}},
8456 {"lvrx", X(31,551), X_MASK
, CELL
, 0, {VD
, RA0
, RB
}},
8457 {"lhfcmux", APU(31,551,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8459 {"subfo", XO(31,40,1,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8460 {"subo", XO(31,40,1,0), XO_MASK
, PPC
, EXT
, {RT
, RB
, RA
}},
8461 {"subfo.", XO(31,40,1,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8462 {"subo.", XO(31,40,1,1), XO_MASK
, PPC
, EXT
, {RT
, RB
, RA
}},
8464 {"lxvrll", X(31,557), XX1_MASK
, PPCVSXF
, 0, {XT6
, RA0
, RB
}},
8466 {"tlbsync", X(31,566), 0xffffffff, PPC
, 0, {0}},
8468 {"lfsux", X(31,567), X_MASK
, COM
, PPCEFS
, {FRT
, RAS
, RB
}},
8470 {"cnttzd", XRC(31,570,0), XRB_MASK
, POWER9
, 0, {RA
, RS
}},
8471 {"cnttzd.", XRC(31,570,1), XRB_MASK
, POWER9
, 0, {RA
, RS
}},
8473 {"cnttzdm", X(31,571), X_MASK
, POWER10
, 0, {RA
, RS
, RB
}},
8475 {"mcrxrx", X(31,576), XBFRARB_MASK
, POWER9
, 0, {BF
}},
8477 {"lwdcbx", X(31,578), X_MASK
, E200Z4
, 0, {RT
, RA
, RB
}},
8478 {"lwdx", X(31,579), X_MASK
, E500MC
|E200Z4
, 0, {RT
, RA
, RB
}},
8480 {"lvtlx", X(31,581), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8482 {"lwat", X(31,582), X_MASK
, POWER9
, 0, {RT
, RA0
, FC
}},
8484 {"lwfcmux", APU(31,583,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8486 {"lxsdx", X(31,588), XX1_MASK
, PPCVSX
, 0, {XT6
, RA0
, RB
}},
8487 {"lxvprl", X(31,589), XX1_MASK
, PPCVSXF
, 0, {XTP
, RA0
, RB
}},
8489 {"mfsr", X(31,595), XRB_MASK
|(1<<20), COM
, NON32
, {RT
, SR
}},
8491 {"lswi", X(31,597), X_MASK
, PPCCOM
, E500
|E500MC
, {RT
, RAX
, NBI
}},
8492 {"lsi", X(31,597), X_MASK
, PWRCOM
, 0, {RT
, RA0
, NB
}},
8494 {"hwsync", XSYNC(31,598,0), 0xffffffff, POWER4
, BOOKE
|PPC476
|EXT
, {0}},
8495 {"lwsync", XSYNC(31,598,1), 0xffffffff, PPC
, E500
|EXT
, {0}},
8496 {"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64
, EXT
, {0}},
8497 {"phwsync", XSYNCLS(31,598,4,0), 0xffffffff, POWER10
, EXT
, {0}},
8498 {"plwsync", XSYNCLS(31,598,5,0), 0xffffffff, POWER10
, EXT
, {0}},
8499 {"stncisync", XSYNCLS(31,598,1,1), 0xffffffff, POWER10
, EXT
, {0}},
8500 {"stcisync", XSYNCLS(31,598,0,2), 0xffffffff, POWER10
, EXT
, {0}},
8501 {"stsync", XSYNCLS(31,598,0,3), 0xffffffff, POWER10
, EXT
, {0}},
8502 {"sync", X(31,598), XSYNCLS_MASK
, POWER10
, BOOKE
|PPC476
, {LS3
, SC2
}},
8503 {"sync", X(31,598), XSYNCLE_MASK
, E6500
, 0, {LS
, ESYNC
}},
8504 {"sync", X(31,598), XSYNC_MASK
, PPCCOM
, POWER10
|BOOKE
|PPC476
, {LS
}},
8505 {"msync", X(31,598), 0xffffffff, BOOKE
|PPCA2
|PPC476
, 0, {0}},
8506 {"sync", X(31,598), 0xffffffff, BOOKE
|PPC476
, E6500
, {0}},
8507 {"lwsync", X(31,598), 0xffffffff, E500
, 0, {0}},
8508 {"dcs", X(31,598), 0xffffffff, PWRCOM
, 0, {0}},
8510 {"lfdx", X(31,599), X_MASK
, COM
, PPCEFS
, {FRT
, RA0
, RB
}},
8512 {"mffgpr", XRC(31,607,0), XRA_MASK
, POWER6
, POWER7
, {FRT
, RB
}},
8513 {"lfdepx", X(31,607), X_MASK
, E500MC
|PPCA2
, 0, {FRT
, RA0
, RB
}},
8515 {"lddx", X(31,611), X_MASK
, E500MC
, 0, {RT
, RA
, RB
}},
8517 {"lvswx", X(31,613), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8519 {"ldat", X(31,614), X_MASK
, POWER9
, 0, {RT
, RA0
, FC
}},
8521 {"lqfcmux", APU(31,615,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8523 {"nego", XO(31,104,1,0), XORB_MASK
, COM
, 0, {RT
, RA
}},
8524 {"nego.", XO(31,104,1,1), XORB_MASK
, COM
, 0, {RT
, RA
}},
8526 {"mulo", XO(31,107,1,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8527 {"mulo.", XO(31,107,1,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8529 {"lxvprll", X(31,621), XX1_MASK
, PPCVSXF
, 0, {XTP
, RA0
, RB
}},
8531 {"mfsri", X(31,627), X_MASK
, M601
, 0, {RT
, RA
, RB
}},
8533 {"dclst", X(31,630), XRB_MASK
, M601
, 0, {RS
, RA
}},
8535 {"lfdux", X(31,631), X_MASK
, COM
, PPCEFS
, {FRT
, RAS
, RB
}},
8537 {"stbdcbx", X(31,642), X_MASK
, E200Z4
, 0, {RS
, RA
, RB
}},
8538 {"stbdx", X(31,643), X_MASK
, E500MC
|E200Z4
, 0, {RS
, RA
, RB
}},
8540 {"stvlx", X(31,647), X_MASK
, CELL
, 0, {VS
, RA0
, RB
}},
8541 {"stbfcmux", APU(31,647,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8543 {"stxsspx", X(31,652), XX1_MASK
, PPCVSX2
, 0, {XS6
, RA0
, RB
}},
8544 {"stxvrl", X(31,653), XX1_MASK
, PPCVSXF
, 0, {XS6
, RA0
, RB
}},
8546 {"tbegin.", XRC(31,654,1), XRTLRARB_MASK
, PPCHTM
, 0, {HTM_R
}},
8548 {"subfeo", XO(31,136,1,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8549 {"sfeo", XO(31,136,1,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8550 {"subfeo.", XO(31,136,1,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8551 {"sfeo.", XO(31,136,1,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8553 {"addeo", XO(31,138,1,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8554 {"aeo", XO(31,138,1,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8555 {"addeo.", XO(31,138,1,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8556 {"aeo.", XO(31,138,1,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8558 {"hashstp", X(31,658), XRC_MASK
, POWER8
, 0, {RB
, DW
, RA0
}},
8560 {"mfsrin", X(31,659), XRA_MASK
, PPC
, NON32
, {RT
, RB
}},
8562 {"stdbrx", X(31,660), X_MASK
, CELL
|POWER7
|PPCA2
, 0, {RS
, RA0
, RB
}},
8564 {"stswx", X(31,661), X_MASK
, PPCCOM
, E500
|E500MC
, {RS
, RA0
, RB
}},
8565 {"stsx", X(31,661), X_MASK
, PWRCOM
, 0, {RS
, RA0
, RB
}},
8567 {"stwbrx", X(31,662), X_MASK
, PPCCOM
, 0, {RS
, RA0
, RB
}},
8568 {"stbrx", X(31,662), X_MASK
, PWRCOM
, 0, {RS
, RA0
, RB
}},
8570 {"stfsx", X(31,663), X_MASK
, COM
, PPCEFS
, {FRS
, RA0
, RB
}},
8572 {"srq", XRC(31,664,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8573 {"srq.", XRC(31,664,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8575 {"sre", XRC(31,665,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8576 {"sre.", XRC(31,665,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8578 {"sthdcbx", X(31,674), X_MASK
, E200Z4
, 0, {RS
, RA
, RB
}},
8579 {"sthdx", X(31,675), X_MASK
, E500MC
|E200Z4
, 0, {RS
, RA
, RB
}},
8581 {"stvfrx", X(31,677), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8583 {"stvrx", X(31,679), X_MASK
, CELL
, 0, {VS
, RA0
, RB
}},
8584 {"sthfcmux", APU(31,679,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8586 {"stxvrll", X(31,685), XX1_MASK
, PPCVSXF
, 0, {XS6
, RA0
, RB
}},
8588 {"tendall.", XRC(31,686,1)|(1<<25), XRTRARB_MASK
, PPCHTM
, 0, {0}},
8589 {"tend.", XRC(31,686,1), XRTARARB_MASK
, PPCHTM
, 0, {HTM_A
}},
8591 {"hashchkp", X(31,690), XRC_MASK
, POWER8
, 0, {RB
, DW
, RA0
}},
8593 {"stbcx.", XRC(31,694,1), X_MASK
, POWER8
|E6500
, 0, {RS
, RA0
, RB
}},
8595 {"stfsux", X(31,695), X_MASK
, COM
, PPCEFS
, {FRS
, RAS
, RB
}},
8597 {"sriq", XRC(31,696,0), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
8598 {"sriq.", XRC(31,696,1), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
8600 {"stwdcbx", X(31,706), X_MASK
, E200Z4
, 0, {RS
, RA
, RB
}},
8601 {"stwdx", X(31,707), X_MASK
, E500MC
|E200Z4
, 0, {RS
, RA
, RB
}},
8603 {"stvflx", X(31,709), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8605 {"stwat", X(31,710), X_MASK
, POWER9
, 0, {RS
, RA0
, FC
}},
8607 {"stwfcmux", APU(31,711,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8609 {"stxsdx", X(31,716), XX1_MASK
, PPCVSX
, 0, {XS6
, RA0
, RB
}},
8610 {"stxvprl", X(31,717), XX1_MASK
, PPCVSXF
, 0, {XSP
, RA0
, RB
}},
8612 {"tcheck", X(31,718), XRTBFRARB_MASK
, PPCHTM
, 0, {BF
}},
8614 {"subfzeo", XO(31,200,1,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8615 {"sfzeo", XO(31,200,1,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8616 {"subfzeo.", XO(31,200,1,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8617 {"sfzeo.", XO(31,200,1,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8619 {"addzeo", XO(31,202,1,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8620 {"azeo", XO(31,202,1,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8621 {"addzeo.", XO(31,202,1,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8622 {"azeo.", XO(31,202,1,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8624 {"hashst", X(31,722), XRC_MASK
, POWER8
, 0, {RB
, DW
, RA0
}},
8626 {"stswi", X(31,725), X_MASK
, PPCCOM
, E500
|E500MC
, {RS
, RA0
, NB
}},
8627 {"stsi", X(31,725), X_MASK
, PWRCOM
, 0, {RS
, RA0
, NB
}},
8629 {"sthcx.", XRC(31,726,1), X_MASK
, POWER8
|E6500
, 0, {RS
, RA0
, RB
}},
8631 {"stfdx", X(31,727), X_MASK
, COM
, PPCEFS
, {FRS
, RA0
, RB
}},
8633 {"srlq", XRC(31,728,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8634 {"srlq.", XRC(31,728,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8636 {"sreq", XRC(31,729,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8637 {"sreq.", XRC(31,729,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8639 {"mftgpr", XRC(31,735,0), XRA_MASK
, POWER6
, POWER7
, {RT
, FRB
}},
8640 {"stfdepx", X(31,735), X_MASK
, E500MC
|PPCA2
, 0, {FRS
, RA0
, RB
}},
8642 {"stddx", X(31,739), X_MASK
, E500MC
, 0, {RS
, RA
, RB
}},
8644 {"stvswx", X(31,741), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8646 {"stdat", X(31,742), X_MASK
, POWER9
, 0, {RS
, RA0
, FC
}},
8648 {"stqfcmux", APU(31,743,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8650 {"subfmeo", XO(31,232,1,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8651 {"sfmeo", XO(31,232,1,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8652 {"subfmeo.", XO(31,232,1,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8653 {"sfmeo.", XO(31,232,1,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8655 {"mulldo", XO(31,233,1,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8656 {"mulldo.", XO(31,233,1,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8658 {"addmeo", XO(31,234,1,0), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8659 {"ameo", XO(31,234,1,0), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8660 {"addmeo.", XO(31,234,1,1), XORB_MASK
, PPCCOM
, 0, {RT
, RA
}},
8661 {"ameo.", XO(31,234,1,1), XORB_MASK
, PWRCOM
, 0, {RT
, RA
}},
8663 {"mullwo", XO(31,235,1,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8664 {"mulso", XO(31,235,1,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8665 {"mullwo.", XO(31,235,1,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8666 {"mulso.", XO(31,235,1,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8668 {"stxvprll", X(31,749), XX1_MASK
, PPCVSXF
, 0, {XSP
, RA0
, RB
}},
8670 {"tsuspend.", XRCL(31,750,0,1), XRTRARB_MASK
,PPCHTM
, EXT
, {0}},
8671 {"tresume.", XRCL(31,750,1,1), XRTRARB_MASK
,PPCHTM
, EXT
, {0}},
8672 {"tsr.", XRC(31,750,1), XRTLRARB_MASK
,PPCHTM
, 0, {L
}},
8674 {"hashchk", X(31,754), XRC_MASK
, POWER8
, 0, {RB
, DW
, RA0
}},
8676 {"darn", X(31,755), XLRAND_MASK
, POWER9
, 0, {RT
, LRAND
}},
8678 {"dcba", X(31,758), XRT_MASK
, PPC405
|PPC7450
|BOOKE
|PPCA2
|PPC476
, 0, {RA0
, RB
}},
8679 {"dcbal", XOPL(31,758,1), XRT_MASK
, E500MC
, 0, {RA0
, RB
}},
8681 {"stfdux", X(31,759), X_MASK
, COM
, PPCEFS
, {FRS
, RAS
, RB
}},
8683 {"srliq", XRC(31,760,0), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
8684 {"srliq.", XRC(31,760,1), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
8686 {"lvsm", X(31,773), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8688 {"copy", XOPL(31,774,1), XRT_MASK
, POWER9
, 0, {RA0
, RB
}},
8690 {"stvepxl", X(31,775), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8691 {"lvlxl", X(31,775), X_MASK
, CELL
, 0, {VD
, RA0
, RB
}},
8692 {"ldfcmux", APU(31,775,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8694 {"dozo", XO(31,264,1,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8695 {"dozo.", XO(31,264,1,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8697 {"addo", XO(31,266,1,0), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8698 {"caxo", XO(31,266,1,0), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8699 {"addo.", XO(31,266,1,1), XO_MASK
, PPCCOM
, 0, {RT
, RA
, RB
}},
8700 {"caxo.", XO(31,266,1,1), XO_MASK
, PWRCOM
, 0, {RT
, RA
, RB
}},
8702 {"modsd", X(31,777), X_MASK
, POWER9
, 0, {RT
, RA
, RB
}},
8703 {"modsw", X(31,779), X_MASK
, POWER9
, 0, {RT
, RA
, RB
}},
8705 {"lxvw4x", X(31,780), XX1_MASK
, PPCVSX
, 0, {XT6
, RA0
, RB
}},
8706 {"lxsibzx", X(31,781), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
8708 {"tabortwc.", XRC(31,782,1), X_MASK
, PPCHTM
, 0, {TO
, RA
, RB
}},
8710 {"tlbivax", X(31,786), XRT_MASK
, BOOKE
|PPCA2
|PPC476
, 0, {RA0
, RB
}},
8712 {"lwzcix", X(31,789), X_MASK
, POWER6
, 0, {RT
, RA0
, RB
}},
8714 {"lhbrx", X(31,790), X_MASK
, COM
, 0, {RT
, RA0
, RB
}},
8716 {"lfdpx", X(31,791), X_MASK
|Q_MASK
, POWER6
, POWER7
, {FRTp
, RA0
, RB
}},
8717 {"lfqx", X(31,791), X_MASK
, POWER2
, 0, {FRT
, RA
, RB
}},
8719 {"sraw", XRC(31,792,0), X_MASK
, PPCCOM
, 0, {RA
, RS
, RB
}},
8720 {"sra", XRC(31,792,0), X_MASK
, PWRCOM
, 0, {RA
, RS
, RB
}},
8721 {"sraw.", XRC(31,792,1), X_MASK
, PPCCOM
, 0, {RA
, RS
, RB
}},
8722 {"sra.", XRC(31,792,1), X_MASK
, PWRCOM
, 0, {RA
, RS
, RB
}},
8724 {"srad", XRC(31,794,0), X_MASK
, PPC64
, 0, {RA
, RS
, RB
}},
8725 {"srad.", XRC(31,794,1), X_MASK
, PPC64
, 0, {RA
, RS
, RB
}},
8727 {"evlddepx", VX (31, 1598), VX_MASK
, PPCSPE
, 0, {RT
, RA
, RB
}},
8728 {"lfddx", X(31,803), X_MASK
, E500MC
, 0, {FRT
, RA
, RB
}},
8730 {"lvtrxl", X(31,805), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8731 {"stvepx", X(31,807), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8732 {"lvrxl", X(31,807), X_MASK
, CELL
, 0, {VD
, RA0
, RB
}},
8734 {"lxvh8x", X(31,812), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
8735 {"lxsihzx", X(31,813), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
8737 {"tabortdc.", XRC(31,814,1), X_MASK
, PPCHTM
, 0, {TO
, RA
, RB
}},
8739 {"rac", X(31,818), X_MASK
, M601
, 0, {RT
, RA
, RB
}},
8741 {"erativax", X(31,819), X_MASK
, PPCA2
, 0, {RS
, RA0
, RB
}},
8743 {"lhzcix", X(31,821), X_MASK
, POWER6
, 0, {RT
, RA0
, RB
}},
8745 {"dss", XDSS(31,822,0), XDSS_MASK
, PPCVEC
, 0, {STRM
}},
8746 {"dssall", XDSS(31,822,1), XDSS_MASK
, PPCVEC
, 0, {0}},
8748 {"lfqux", X(31,823), X_MASK
, POWER2
, 0, {FRT
, RA
, RB
}},
8750 {"srawi", XRC(31,824,0), X_MASK
, PPCCOM
, 0, {RA
, RS
, SH
}},
8751 {"srai", XRC(31,824,0), X_MASK
, PWRCOM
, 0, {RA
, RS
, SH
}},
8752 {"srawi.", XRC(31,824,1), X_MASK
, PPCCOM
, 0, {RA
, RS
, SH
}},
8753 {"srai.", XRC(31,824,1), X_MASK
, PWRCOM
, 0, {RA
, RS
, SH
}},
8755 {"sradi", XS(31,413,0), XS_MASK
, PPC64
, 0, {RA
, RS
, SH6
}},
8756 {"sradi.", XS(31,413,1), XS_MASK
, PPC64
, 0, {RA
, RS
, SH6
}},
8758 {"lvtlxl", X(31,837), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8760 {"cpabort", X(31,838), XRTRARB_MASK
,POWER9
, 0, {0}},
8762 {"divo", XO(31,331,1,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8763 {"divo.", XO(31,331,1,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8765 {"lxvd2x", X(31,844), XX1_MASK
, PPCVSX
, 0, {XT6
, RA0
, RB
}},
8766 {"lxvx", X(31,844), XX1_MASK
, POWER8
, POWER9
|PPCVSX3
, {XT6
, RA0
, RB
}},
8768 {"tabortwci.", XRC(31,846,1), X_MASK
, PPCHTM
, 0, {TO
, RA
, HTM_SI
}},
8770 {"tlbsrx.", XRC(31,850,1), XRT_MASK
, PPCA2
, 0, {RA0
, RB
}},
8772 {"slbiag", X(31,850), XRLARB_MASK
, POWER10
, 0, {RS
, A_L
}},
8773 {"slbiag", X(31,850), XRARB_MASK
, POWER9
, POWER10
, {RS
}},
8775 {"slbmfev", X(31,851), XRLA_MASK
, POWER9
, 0, {RT
, RB
, A_L
}},
8776 {"slbmfev", X(31,851), XRA_MASK
, PPC64
, POWER9
, {RT
, RB
}},
8778 {"lbzcix", X(31,853), X_MASK
, POWER6
, 0, {RT
, RA0
, RB
}},
8780 {"eieio", X(31,854), 0xffffffff, PPC
, BOOKE
|PPCA2
|PPC476
, {0}},
8781 {"mbar", X(31,854), X_MASK
, BOOKE
|PPCA2
|PPC476
, 0, {MO
}},
8782 {"eieio", XMBAR(31,854,1),0xffffffff, E500
, 0, {0}},
8783 {"eieio", X(31,854), 0xffffffff, PPCA2
|PPC476
, 0, {0}},
8785 {"lfiwax", X(31,855), X_MASK
, POWER6
|PPCA2
|PPC476
, 0, {FRT
, RA0
, RB
}},
8787 {"lvswxl", X(31,869), X_MASK
, E6500
, 0, {VD
, RA0
, RB
}},
8789 {"abso", XO(31,360,1,0), XORB_MASK
, M601
, 0, {RT
, RA
}},
8790 {"abso.", XO(31,360,1,1), XORB_MASK
, M601
, 0, {RT
, RA
}},
8792 {"divso", XO(31,363,1,0), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8793 {"divso.", XO(31,363,1,1), XO_MASK
, M601
, 0, {RT
, RA
, RB
}},
8795 {"lxvb16x", X(31,876), XX1_MASK
, PPCVSX3
, 0, {XT6
, RA0
, RB
}},
8797 {"tabortdci.", XRC(31,878,1), X_MASK
, PPCHTM
, 0, {TO
, RA
, HTM_SI
}},
8799 {"rmieg", X(31,882), XRTRA_MASK
, POWER9
, 0, {RB
}},
8801 {"ldcix", X(31,885), X_MASK
, POWER6
, 0, {RT
, RA0
, RB
}},
8803 {"msgsync", X(31,886), 0xffffffff, POWER9
, 0, {0}},
8805 {"lfiwzx", X(31,887), X_MASK
, POWER7
|PPCA2
, 0, {FRT
, RA0
, RB
}},
8807 {"extswsli", XS(31,445,0), XS_MASK
, POWER9
, 0, {RA
, RS
, SH6
}},
8808 {"extswsli.", XS(31,445,1), XS_MASK
, POWER9
, 0, {RA
, RS
, SH6
}},
8810 {"paste.", XRC(31,902,1), XLRT_MASK
, POWER10
, 0, {RA0
, RB
, L1OPT
}},
8811 {"paste.", XRCL(31,902,1,1),XRT_MASK
, POWER9
, POWER10
, {RA0
, RB
}},
8813 {"stvlxl", X(31,903), X_MASK
, CELL
, 0, {VS
, RA0
, RB
}},
8814 {"stdfcmux", APU(31,903,0), APU_MASK
, PPC405
, 0, {FCRT
, RA
, RB
}},
8816 {"divdeuo", XO(31,393,1,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8817 {"divdeuo.", XO(31,393,1,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8818 {"divweuo", XO(31,395,1,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8819 {"divweuo.", XO(31,395,1,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8821 {"stxvw4x", X(31,908), XX1_MASK
, PPCVSX
, 0, {XS6
, RA0
, RB
}},
8822 {"stxsibx", X(31,909), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
8824 {"tabort.", XRC(31,910,1), XRTRB_MASK
, PPCHTM
, 0, {RA
}},
8826 {"tlbsx", XRC(31,914,0), X_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, 0, {RTO
, RA0
, RB
}},
8827 {"tlbsx.", XRC(31,914,1), X_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, 0, {RTO
, RA0
, RB
}},
8829 {"slbmfee", X(31,915), XRLA_MASK
, POWER9
, 0, {RT
, RB
, A_L
}},
8830 {"slbmfee", X(31,915), XRA_MASK
, PPC64
, POWER9
, {RT
, RB
}},
8832 {"stwcix", X(31,917), X_MASK
, POWER6
, 0, {RS
, RA0
, RB
}},
8834 {"sthbrx", X(31,918), X_MASK
, COM
, 0, {RS
, RA0
, RB
}},
8836 {"stfdpx", X(31,919), X_MASK
|Q_MASK
, POWER6
, POWER7
, {FRSp
, RA0
, RB
}},
8837 {"stfqx", X(31,919), X_MASK
, POWER2
, 0, {FRS
, RA0
, RB
}},
8839 {"sraq", XRC(31,920,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8840 {"sraq.", XRC(31,920,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8842 {"srea", XRC(31,921,0), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8843 {"srea.", XRC(31,921,1), X_MASK
, M601
, 0, {RA
, RS
, RB
}},
8845 {"extsh", XRC(31,922,0), XRB_MASK
, PPCCOM
, 0, {RA
, RS
}},
8846 {"exts", XRC(31,922,0), XRB_MASK
, PWRCOM
, 0, {RA
, RS
}},
8847 {"extsh.", XRC(31,922,1), XRB_MASK
, PPCCOM
, 0, {RA
, RS
}},
8848 {"exts.", XRC(31,922,1), XRB_MASK
, PWRCOM
, 0, {RA
, RS
}},
8850 {"evstddepx", VX (31, 1854), VX_MASK
, PPCSPE
, 0, {RT
, RA
, RB
}},
8851 {"stfddx", X(31,931), X_MASK
, E500MC
, 0, {FRS
, RA
, RB
}},
8853 {"stvfrxl", X(31,933), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8855 {"wclrone", XOPL2(31,934,2),XRT_MASK
, PPCA2
, EXT
, {RA0
, RB
}},
8856 {"wclrall", X(31,934), XRARB_MASK
, PPCA2
, EXT
, {L2
}},
8857 {"wclr", X(31,934), X_MASK
, PPCA2
, 0, {L2
, RA0
, RB
}},
8859 {"stvrxl", X(31,935), X_MASK
, CELL
, 0, {VS
, RA0
, RB
}},
8861 {"divdeo", XO(31,425,1,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8862 {"divdeo.", XO(31,425,1,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8863 {"divweo", XO(31,427,1,0), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8864 {"divweo.", XO(31,427,1,1), XO_MASK
, POWER7
|PPCA2
, 0, {RT
, RA
, RB
}},
8866 {"stxvh8x", X(31,940), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
8867 {"stxsihx", X(31,941), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
8869 {"treclaim.", XRC(31,942,1), XRTRB_MASK
, PPCHTM
, 0, {RA
}},
8871 {"tlbrehi", XTLB(31,946,0), XTLB_MASK
, PPC403
, PPCA2
|EXT
, {RT
, RA
}},
8872 {"tlbrelo", XTLB(31,946,1), XTLB_MASK
, PPC403
, PPCA2
|EXT
, {RT
, RA
}},
8873 {"tlbre", X(31,946), X_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, 0, {RSO
, RAOPT
, SHO
}},
8875 {"sthcix", X(31,949), X_MASK
, POWER6
, 0, {RS
, RA0
, RB
}},
8877 {"icswepx", XRC(31,950,0), X_MASK
, PPCA2
, 0, {RS
, RA
, RB
}},
8878 {"icswepx.", XRC(31,950,1), X_MASK
, PPCA2
, 0, {RS
, RA
, RB
}},
8880 {"stfqux", X(31,951), X_MASK
, POWER2
, 0, {FRS
, RA
, RB
}},
8882 {"sraiq", XRC(31,952,0), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
8883 {"sraiq.", XRC(31,952,1), X_MASK
, M601
, 0, {RA
, RS
, SH
}},
8885 {"extsb", XRC(31,954,0), XRB_MASK
, PPC
, 0, {RA
, RS
}},
8886 {"extsb.", XRC(31,954,1), XRB_MASK
, PPC
, 0, {RA
, RS
}},
8888 {"stvflxl", X(31,965), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8890 {"iccci", X(31,966), XRT_MASK
, PPC403
|PPC440
|PPC476
|TITAN
|PPCA2
, 0, {RAOPT
, RBOPT
}},
8891 {"ici", X(31,966), XRARB_MASK
, PPCA2
|PPC476
, 0, {CT
}},
8893 {"divduo", XO(31,457,1,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8894 {"divduo.", XO(31,457,1,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8896 {"divwuo", XO(31,459,1,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8897 {"divwuo.", XO(31,459,1,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8899 {"stxvd2x", X(31,972), XX1_MASK
, PPCVSX
, 0, {XS6
, RA0
, RB
}},
8900 {"stxvx", X(31,972), XX1_MASK
, POWER8
, POWER9
|PPCVSX3
, {XS6
, RA0
, RB
}},
8902 {"tlbld", X(31,978), XRTRA_MASK
, PPC
, PPC403
|BOOKE
|PPCA2
|PPC476
, {RB
}},
8903 {"tlbwehi", XTLB(31,978,0), XTLB_MASK
, PPC403
, EXT
, {RT
, RA
}},
8904 {"tlbwelo", XTLB(31,978,1), XTLB_MASK
, PPC403
, EXT
, {RT
, RA
}},
8905 {"tlbwe", X(31,978), X_MASK
, PPC403
|BOOKE
|PPCA2
|PPC476
, 0, {RSO
, RAOPT
, SHO
}},
8907 {"slbfee.", XRC(31,979,1), XRA_MASK
, POWER6
, 0, {RT
, RB
}},
8909 {"stbcix", X(31,981), X_MASK
, POWER6
, 0, {RS
, RA0
, RB
}},
8911 {"icbi", X(31,982), XRT_MASK
, PPC
, 0, {RA0
, RB
}},
8913 {"stfiwx", X(31,983), X_MASK
, PPC
, PPCEFS
, {FRS
, RA0
, RB
}},
8915 {"extsw", XRC(31,986,0), XRB_MASK
, PPC64
, 0, {RA
, RS
}},
8916 {"extsw.", XRC(31,986,1), XRB_MASK
, PPC64
, 0, {RA
, RS
}},
8918 {"icbiep", XRT(31,991,0), XRT_MASK
, E500MC
|PPCA2
, 0, {RA0
, RB
}},
8920 {"stvswxl", X(31,997), X_MASK
, E6500
, 0, {VS
, RA0
, RB
}},
8922 {"icread", X(31,998), XRT_MASK
, PPC403
|PPC440
|PPC476
|TITAN
, 0, {RA0
, RB
}},
8924 {"nabso", XO(31,488,1,0), XORB_MASK
, M601
, 0, {RT
, RA
}},
8925 {"nabso.", XO(31,488,1,1), XORB_MASK
, M601
, 0, {RT
, RA
}},
8927 {"divdo", XO(31,489,1,0), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8928 {"divdo.", XO(31,489,1,1), XO_MASK
, PPC64
, 0, {RT
, RA
, RB
}},
8930 {"divwo", XO(31,491,1,0), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8931 {"divwo.", XO(31,491,1,1), XO_MASK
, PPC
, 0, {RT
, RA
, RB
}},
8933 {"stxvb16x", X(31,1004), XX1_MASK
, PPCVSX3
, 0, {XS6
, RA0
, RB
}},
8935 {"trechkpt.", XRC(31,1006,1), XRTRARB_MASK
,PPCHTM
, 0, {0}},
8937 {"tlbli", X(31,1010), XRTRA_MASK
, PPC
, TITAN
, {RB
}},
8939 {"stdcix", X(31,1013), X_MASK
, POWER6
, 0, {RS
, RA0
, RB
}},
8941 {"dcbz", X(31,1014), XRT_MASK
, PPC
, 0, {RA0
, RB
}},
8942 {"dclz", X(31,1014), XRT_MASK
, PPC
, 0, {RA0
, RB
}},
8943 {"dcbzl", XOPL(31,1014,1), XRT_MASK
, POWER4
|E500MC
, PPC476
, {RA0
, RB
}},
8945 {"dcbzep", XRT(31,1023,0), XRT_MASK
, E500MC
|PPCA2
, 0, {RA0
, RB
}},
8947 {"lwz", OP(32), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, D
, RA0
}},
8948 {"l", OP(32), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, D
, RA0
}},
8950 {"lwzu", OP(33), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, D
, RAL
}},
8951 {"lu", OP(33), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, D
, RA0
}},
8953 {"lbz", OP(34), OP_MASK
, COM
, PPCVLE
, {RT
, D
, RA0
}},
8955 {"lbzu", OP(35), OP_MASK
, COM
, PPCVLE
, {RT
, D
, RAL
}},
8957 {"stw", OP(36), OP_MASK
, PPCCOM
, PPCVLE
, {RS
, D
, RA0
}},
8958 {"st", OP(36), OP_MASK
, PWRCOM
, PPCVLE
, {RS
, D
, RA0
}},
8960 {"stwu", OP(37), OP_MASK
, PPCCOM
, PPCVLE
, {RS
, D
, RAS
}},
8961 {"stu", OP(37), OP_MASK
, PWRCOM
, PPCVLE
, {RS
, D
, RA0
}},
8963 {"stb", OP(38), OP_MASK
, COM
, PPCVLE
, {RS
, D
, RA0
}},
8965 {"stbu", OP(39), OP_MASK
, COM
, PPCVLE
, {RS
, D
, RAS
}},
8967 {"lhz", OP(40), OP_MASK
, COM
, PPCVLE
, {RT
, D
, RA0
}},
8969 {"lhzu", OP(41), OP_MASK
, COM
, PPCVLE
, {RT
, D
, RAL
}},
8971 {"lha", OP(42), OP_MASK
, COM
, PPCVLE
, {RT
, D
, RA0
}},
8973 {"lhau", OP(43), OP_MASK
, COM
, PPCVLE
, {RT
, D
, RAL
}},
8975 {"sth", OP(44), OP_MASK
, COM
, PPCVLE
, {RS
, D
, RA0
}},
8977 {"sthu", OP(45), OP_MASK
, COM
, PPCVLE
, {RS
, D
, RAS
}},
8979 {"lmw", OP(46), OP_MASK
, PPCCOM
, PPCVLE
, {RT
, D
, RAM
}},
8980 {"lm", OP(46), OP_MASK
, PWRCOM
, PPCVLE
, {RT
, D
, RA0
}},
8982 {"stmw", OP(47), OP_MASK
, PPCCOM
, PPCVLE
, {RS
, D
, RA0
}},
8983 {"stm", OP(47), OP_MASK
, PWRCOM
, PPCVLE
, {RS
, D
, RA0
}},
8985 {"lfs", OP(48), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, D
, RA0
}},
8987 {"lfsu", OP(49), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, D
, RAS
}},
8989 {"lfd", OP(50), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, D
, RA0
}},
8991 {"lfdu", OP(51), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, D
, RAS
}},
8993 {"stfs", OP(52), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRS
, D
, RA0
}},
8995 {"stfsu", OP(53), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRS
, D
, RAS
}},
8997 {"stfd", OP(54), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRS
, D
, RA0
}},
8999 {"stfdu", OP(55), OP_MASK
, COM
, PPCEFS
|PPCVLE
, {FRS
, D
, RAS
}},
9001 {"lq", OP(56), OP_MASK
|Q_MASK
, POWER4
, PPC476
|PPCVLE
, {RTQ
, DQ
, RAQ
}},
9002 {"psq_l", OP(56), OP_MASK
, PPCPS
, PPCVLE
, {FRT
,PSD
,RA
,PSW
,PSQ
}},
9003 {"lfq", OP(56), OP_MASK
, POWER2
, PPCVLE
, {FRT
, D
, RA0
}},
9005 {"lxsd", DSO(57,2), DS_MASK
, PPCVSX3
, PPCVLE
, {VD
, DS
, RA0
}},
9006 {"lxssp", DSO(57,3), DS_MASK
, PPCVSX3
, PPCVLE
, {VD
, DS
, RA0
}},
9007 {"lfdp", OP(57), OP_MASK
|Q_MASK
, POWER6
, POWER7
|PPCVLE
, {FRTp
, DS
, RA0
}},
9008 {"psq_lu", OP(57), OP_MASK
, PPCPS
, PPCVLE
, {FRT
,PSD
,RA
,PSW
,PSQ
}},
9009 {"lfqu", OP(57), OP_MASK
, POWER2
, PPCVLE
, {FRT
, D
, RA0
}},
9011 {"ld", DSO(58,0), DS_MASK
, PPC64
, PPCVLE
, {RT
, DS
, RA0
}},
9012 {"ldu", DSO(58,1), DS_MASK
, PPC64
, PPCVLE
, {RT
, DS
, RAL
}},
9013 {"lwa", DSO(58,2), DS_MASK
, PPC64
, PPCVLE
, {RT
, DS
, RA0
}},
9015 {"dadd", XRC(59,2,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9016 {"dadd.", XRC(59,2,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9018 {"dqua", ZRC(59,3,0), Z2_MASK
, POWER6
, PPCVLE
, {FRT
,FRA
,FRB
,RMC
}},
9019 {"dqua.", ZRC(59,3,1), Z2_MASK
, POWER6
, PPCVLE
, {FRT
,FRA
,FRB
,RMC
}},
9021 {"dmxvi8ger4pp",XX3(59,2), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9022 {"xvi8ger4pp", XX3(59,2), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9023 {"dmxvi8ger4", XX3(59,3), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9024 {"xvi8ger4", XX3(59,3), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9026 {"fdivs", A(59,18,0), AFRC_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9027 {"fdivs.", A(59,18,1), AFRC_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9029 {"fsubs", A(59,20,0), AFRC_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9030 {"fsubs.", A(59,20,1), AFRC_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9032 {"fadds", A(59,21,0), AFRC_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9033 {"fadds.", A(59,21,1), AFRC_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9035 {"fsqrts", A(59,22,0), AFRAFRC_MASK
, PPC
, TITAN
|PPCVLE
, {FRT
, FRB
}},
9036 {"fsqrts.", A(59,22,1), AFRAFRC_MASK
, PPC
, TITAN
|PPCVLE
, {FRT
, FRB
}},
9038 {"fres", A(59,24,0), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9039 {"fres", A(59,24,0), AFRALFRC_MASK
, PPC
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9040 {"fres.", A(59,24,1), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9041 {"fres.", A(59,24,1), AFRALFRC_MASK
, PPC
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9043 {"fmuls", A(59,25,0), AFRB_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
}},
9044 {"fmuls.", A(59,25,1), AFRB_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
}},
9046 {"frsqrtes", A(59,26,0), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9047 {"frsqrtes", A(59,26,0), AFRALFRC_MASK
, POWER5
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9048 {"frsqrtes.", A(59,26,1), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9049 {"frsqrtes.", A(59,26,1), AFRALFRC_MASK
, POWER5
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9051 {"fmsubs", A(59,28,0), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9052 {"fmsubs.", A(59,28,1), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9054 {"fmadds", A(59,29,0), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9055 {"fmadds.", A(59,29,1), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9057 {"fnmsubs", A(59,30,0), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9058 {"fnmsubs.", A(59,30,1), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9060 {"fnmadds", A(59,31,0), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9061 {"fnmadds.", A(59,31,1), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9063 {"dmul", XRC(59,34,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9064 {"dmul.", XRC(59,34,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9066 {"drrnd", ZRC(59,35,0), Z2_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
, RMC
}},
9067 {"drrnd.", ZRC(59,35,1), Z2_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
, RMC
}},
9069 {"dmxvi8gerx4pp", XX3(59,10), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9070 {"dmxvi8gerx4", XX3(59,11), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9072 {"dscli", ZRC(59,66,0), Z_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, SH16
}},
9073 {"dscli.", ZRC(59,66,1), Z_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, SH16
}},
9075 {"dquai", ZRC(59,67,0), Z2_MASK
, POWER6
, PPCVLE
, {TE
, FRT
,FRB
,RMC
}},
9076 {"dquai.", ZRC(59,67,1), Z2_MASK
, POWER6
, PPCVLE
, {TE
, FRT
,FRB
,RMC
}},
9078 {"dmxvf16ger2pp",XX3(59,18), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9079 {"xvf16ger2pp", XX3(59,18), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9080 {"dmxvf16ger2", XX3(59,19), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9081 {"xvf16ger2", XX3(59,19), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9083 {"dscri", ZRC(59,98,0), Z_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, SH16
}},
9084 {"dscri.", ZRC(59,98,1), Z_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, SH16
}},
9086 {"drintx", ZRC(59,99,0), Z2_MASK
, POWER6
, PPCVLE
, {R
, FRT
, FRB
, RMC
}},
9087 {"drintx.", ZRC(59,99,1), Z2_MASK
, POWER6
, PPCVLE
, {R
, FRT
, FRB
, RMC
}},
9089 {"dmxvf32gerpp",XX3(59,26), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9090 {"xvf32gerpp", XX3(59,26), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9091 {"dmxvf32ger", XX3(59,27), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9092 {"xvf32ger", XX3(59,27), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9094 {"dcmpo", X(59,130), X_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, FRB
}},
9096 {"dmxvi4ger8pp",XX3(59,34), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9097 {"xvi4ger8pp", XX3(59,34), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9098 {"dmxvi4ger8", XX3(59,35), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9099 {"xvi4ger8", XX3(59,35), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9101 {"dtstex", X(59,162), X_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, FRB
}},
9103 {"dmxvi16ger2spp",XX3(59,42), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9104 {"xvi16ger2spp", XX3(59,42), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9105 {"dmxvi16ger2s", XX3(59,43), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9106 {"xvi16ger2s", XX3(59,43), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9108 {"dtstdc", Z(59,194), Z_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, DCM
}},
9110 {"dmxvbf16ger2pp",XX3(59,50), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9111 {"xvbf16ger2pp", XX3(59,50), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9112 {"dmxvbf16ger2", XX3(59,51), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9113 {"xvbf16ger2", XX3(59,51), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9115 {"dtstdg", Z(59,226), Z_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, DGM
}},
9117 {"drintn", ZRC(59,227,0), Z2_MASK
, POWER6
, PPCVLE
, {R
, FRT
, FRB
, RMC
}},
9118 {"drintn.", ZRC(59,227,1), Z2_MASK
, POWER6
, PPCVLE
, {R
, FRT
, FRB
, RMC
}},
9120 {"dmxvf64gerpp",XX3(59,58), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9121 {"xvf64gerpp", XX3(59,58), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9122 {"dmxvf64ger", XX3(59,59), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9123 {"xvf64ger", XX3(59,59), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9125 {"dctdp", XRC(59,258,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9126 {"dctdp.", XRC(59,258,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9128 {"dmxvf16gerx2pp", XX3(59,66), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9129 {"dmxvf16gerx2", XX3(59,67), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9131 {"dctfix", XRC(59,290,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9132 {"dctfix.", XRC(59,290,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9134 {"ddedpd", XRC(59,322,0), X_MASK
, POWER6
, PPCVLE
, {SP
, FRT
, FRB
}},
9135 {"ddedpd.", XRC(59,322,1), X_MASK
, POWER6
, PPCVLE
, {SP
, FRT
, FRB
}},
9137 {"dmxvbf16gerx2pp", XX3(59,74), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9138 {"dmxvi16ger2", XX3(59,75), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9139 {"xvi16ger2", XX3(59,75), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9141 {"dmxvf16ger2np", XX3(59,82), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9142 {"xvf16ger2np", XX3(59,82), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9143 {"dmxvf16gerx2np",XX3(59,83), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9145 {"dxex", XRC(59,354,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9146 {"dxex.", XRC(59,354,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9148 {"dmxvf32gernp", XX3(59,90), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9149 {"xvf32gernp", XX3(59,90), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9150 {"dmxvbf16gerx2", XX3(59,91), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9152 {"dmxvi8gerx4spp",XX3(59,98), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9153 {"dmxvi8ger4spp", XX3(59,99), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9154 {"xvi8ger4spp", XX3(59,99), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9156 {"dmxvi16ger2pp", XX3(59,107), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9157 {"xvi16ger2pp", XX3(59,107), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9159 {"dmxvbf16ger2np",XX3(59,114), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9160 {"xvbf16ger2np", XX3(59,114), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9161 {"dmxvbf16gerx2np",XX3(59,115), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9163 {"dmxvf64gernp", XX3(59,122), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9164 {"xvf64gernp", XX3(59,122), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9166 {"dsub", XRC(59,514,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9167 {"dsub.", XRC(59,514,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9169 {"ddiv", XRC(59,546,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9170 {"ddiv.", XRC(59,546,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9172 {"dmxvf16ger2pn", XX3(59,146), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9173 {"xvf16ger2pn", XX3(59,146), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9174 {"dmxvf16gerx2pn",XX3(59,147), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9176 {"dmxvf32gerpn",XX3(59,154), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9177 {"xvf32gerpn", XX3(59,154), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9179 {"dcmpu", X(59,642), X_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, FRB
}},
9181 {"dtstsf", X(59,674), X_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, FRB
}},
9182 {"dtstsfi", X(59,675), X_MASK
|1<<22,POWER9
, PPCVLE
, {BF
, UIM6
, FRB
}},
9184 {"dmxvbf16ger2pn",XX3(59,178), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9185 {"xvbf16ger2pn", XX3(59,178), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9186 {"dmxvbf16gerx2pn", XX3(59,179),XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9188 {"dmxvf64gerpn",XX3(59,186), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9189 {"xvf64gerpn", XX3(59,186), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9191 {"drsp", XRC(59,770,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9192 {"drsp.", XRC(59,770,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRB
}},
9194 {"dcffix", XRC(59,802,0), X_MASK
|FRA_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9195 {"dcffix.", XRC(59,802,1), X_MASK
|FRA_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9197 {"dmxvf16gerx2nn", XX3(59,202), XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9199 {"denbcd", XRC(59,834,0), X_MASK
, POWER6
, PPCVLE
, {S
, FRT
, FRB
}},
9200 {"denbcd.", XRC(59,834,1), X_MASK
, POWER6
, PPCVLE
, {S
, FRT
, FRB
}},
9202 {"dmxvf16ger2nn", XX3(59,210), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9203 {"xvf16ger2nn", XX3(59,210), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9205 {"fcfids", XRC(59,846,0), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9206 {"fcfids.", XRC(59,846,1), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9208 {"diex", XRC(59,866,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9209 {"diex.", XRC(59,866,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRA
, FRB
}},
9211 {"dmxvf32gernn",XX3(59,218), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9212 {"xvf32gernn", XX3(59,218), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9214 {"dmxvbf16gerx2nn", XX3(59,234),XX3GERX_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB6
}},
9216 {"dmxvbf16ger2nn",XX3(59,242), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9217 {"xvbf16ger2nn", XX3(59,242), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6a
, XB6a
}},
9219 {"fcfidus", XRC(59,974,0), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9220 {"fcfidus.", XRC(59,974,1), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9222 {"dmxvf64gernn",XX3(59,250), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9223 {"xvf64gernn", XX3(59,250), XX3ACC_MASK
, POWER10
, PPCVLE
, {ACC
, XA6ap
, XB6a
}},
9225 {"xsaddsp", XX3(60,0), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9226 {"xsmaddasp", XX3(60,1), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9227 {"xxsldwi", XX3(60,2), XX3SHW_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
, SHW
}},
9228 {"xscmpeqdp", XX3(60,3), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9229 {"xsrsqrtesp", XX2(60,10), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9230 {"xssqrtsp", XX2(60,11), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9231 {"xxsel", XX4(60,3), XX4_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
, XC6
}},
9232 {"xssubsp", XX3(60,8), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9233 {"xsmaddmsp", XX3(60,9), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9234 {"xxspltd", XX3(60,10), XX3DM_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XAB6
, DMEX
}},
9235 {"xxmrghd", XX3(60,10), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XA6
, XB6
}},
9236 {"xxswapd", XX3(60,10)|(2<<8), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XAB6
}},
9237 {"xxmrgld", XX3(60,10)|(3<<8), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XA6
, XB6
}},
9238 {"xxpermdi", XX3(60,10), XX3DM_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
, DM
}},
9239 {"xscmpgtdp", XX3(60,11), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9240 {"xsresp", XX2(60,26), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9241 {"xsmulsp", XX3(60,16), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9242 {"xsmsubasp", XX3(60,17), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9243 {"xxmrghw", XX3(60,18), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9244 {"xscmpgedp", XX3(60,19), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9245 {"xsdivsp", XX3(60,24), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9246 {"xsmsubmsp", XX3(60,25), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9247 {"xxperm", XX3(60,26), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9248 {"xsadddp", XX3(60,32), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9249 {"xsmaddadp", XX3(60,33), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9250 {"xscmpudp", XX3(60,35), XX3BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XA6
, XB6
}},
9251 {"xscvdpuxws", XX2(60,72), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9252 {"xsrdpi", XX2(60,73), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9253 {"xsrsqrtedp", XX2(60,74), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9254 {"xssqrtdp", XX2(60,75), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9255 {"xssubdp", XX3(60,40), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9256 {"xsmaddmdp", XX3(60,41), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9257 {"xscmpodp", XX3(60,43), XX3BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XA6
, XB6
}},
9258 {"xscvdpsxws", XX2(60,88), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9259 {"xsrdpiz", XX2(60,89), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9260 {"xsredp", XX2(60,90), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9261 {"xsmuldp", XX3(60,48), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9262 {"xsmsubadp", XX3(60,49), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9263 {"xxmrglw", XX3(60,50), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9264 {"xsrdpip", XX2(60,105), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9265 {"xstsqrtdp", XX2(60,106), XX2BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XB6
}},
9266 {"xsrdpic", XX2(60,107), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9267 {"xsdivdp", XX3(60,56), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9268 {"xsmsubmdp", XX3(60,57), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9269 {"xxpermr", XX3(60,58), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9270 {"xscmpexpdp", XX3(60,59), XX3BF_MASK
, PPCVSX3
, PPCVLE
, {BF
, XA6
, XB6
}},
9271 {"xsrdpim", XX2(60,121), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9272 {"xstdivdp", XX3(60,61), XX3BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XA6
, XB6
}},
9273 {"xvaddsp", XX3(60,64), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9274 {"xvmaddasp", XX3(60,65), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9275 {"xvcmpeqsp", XX3RC(60,67,0), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9276 {"xvcmpeqsp.", XX3RC(60,67,1), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9277 {"xvcvspuxws", XX2(60,136), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9278 {"xvrspi", XX2(60,137), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9279 {"xvrsqrtesp", XX2(60,138), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9280 {"xvsqrtsp", XX2(60,139), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9281 {"xvsubsp", XX3(60,72), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9282 {"xvmaddmsp", XX3(60,73), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9283 {"xvcmpgtsp", XX3RC(60,75,0), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9284 {"xvcmpgtsp.", XX3RC(60,75,1), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9285 {"xvcvspsxws", XX2(60,152), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9286 {"xvrspiz", XX2(60,153), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9287 {"xvresp", XX2(60,154), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9288 {"xvmulsp", XX3(60,80), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9289 {"xvmsubasp", XX3(60,81), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9290 {"xxspltw", XX2(60,164), XX2UIM_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
, UIM
}},
9291 {"xxextractuw", XX2(60,165), XX2UIM4_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
, UIMM4
}},
9292 {"xvcmpgesp", XX3RC(60,83,0), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9293 {"xvcmpgesp.", XX3RC(60,83,1), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9294 {"xvcvuxwsp", XX2(60,168), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9295 {"xvrspip", XX2(60,169), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9296 {"xvtsqrtsp", XX2(60,170), XX2BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XB6
}},
9297 {"xvrspic", XX2(60,171), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9298 {"xvdivsp", XX3(60,88), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9299 {"xvmsubmsp", XX3(60,89), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9300 {"xxspltib", X(60,360), XX1_MASK
|3<<19, PPCVSX3
, PPCVLE
, {XT6
, IMM8
}},
9301 {"lxvkq", XVA(60,360,31), XVA_MASK
&~1, POWER10
, PPCVLE
, {XT6
, UIM5
}},
9302 {"xxinsertw", XX2(60,181), XX2UIM4_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
, UIMM4
}},
9303 {"xvcvsxwsp", XX2(60,184), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9304 {"xvrspim", XX2(60,185), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9305 {"xvtdivsp", XX3(60,93), XX3BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XA6
, XB6
}},
9306 {"xvadddp", XX3(60,96), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9307 {"xvmaddadp", XX3(60,97), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9308 {"xvcmpeqdp", XX3RC(60,99,0), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9309 {"xvcmpeqdp.", XX3RC(60,99,1), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9310 {"xvcvdpuxws", XX2(60,200), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9311 {"xvrdpi", XX2(60,201), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9312 {"xvrsqrtedp", XX2(60,202), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9313 {"xvsqrtdp", XX2(60,203), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9314 {"xvsubdp", XX3(60,104), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9315 {"xvmaddmdp", XX3(60,105), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9316 {"xvcmpgtdp", XX3RC(60,107,0), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9317 {"xvcmpgtdp.", XX3RC(60,107,1), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9318 {"xvcvdpsxws", XX2(60,216), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9319 {"xvrdpiz", XX2(60,217), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9320 {"xvredp", XX2(60,218), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9321 {"xvmuldp", XX3(60,112), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9322 {"xvmsubadp", XX3(60,113), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9323 {"xvcmpgedp", XX3RC(60,115,0), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9324 {"xvcmpgedp.", XX3RC(60,115,1), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9325 {"xvcvuxwdp", XX2(60,232), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9326 {"xvrdpip", XX2(60,233), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9327 {"xvtsqrtdp", XX2(60,234), XX2BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XB6
}},
9328 {"xvrdpic", XX2(60,235), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9329 {"xvdivdp", XX3(60,120), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9330 {"xvmsubmdp", XX3(60,121), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9331 {"xvcvsxwdp", XX2(60,248), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9332 {"xvrdpim", XX2(60,249), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9333 {"xvtdivdp", XX3(60,125), XX3BF_MASK
, PPCVSX
, PPCVLE
, {BF
, XA6
, XB6
}},
9334 {"xsmaxcdp", XX3(60,128), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9335 {"xsnmaddasp", XX3(60,129), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9336 {"xxland", XX3(60,130), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9337 {"xscvdpsp", XX2(60,265), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9338 {"xscvdpspn", XX2(60,267), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9339 {"xsmincdp", XX3(60,136), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9340 {"xsnmaddmsp", XX3(60,137), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9341 {"xxlandc", XX3(60,138), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9342 {"xsrsp", XX2(60,281), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9343 {"xsmaxjdp", XX3(60,144), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9344 {"xsnmsubasp", XX3(60,145), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9345 {"xxmr", XX3(60,146), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XAB6
}},
9346 {"xxlor", XX3(60,146), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9347 {"xscvuxdsp", XX2(60,296), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9348 {"xststdcsp", XX2(60,298), XX2BFD_MASK
, PPCVSX3
, PPCVLE
, {BF
, XB6
, DCMX
}},
9349 {"xsminjdp", XX3(60,152), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9350 {"xsnmsubmsp", XX3(60,153), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9351 {"xxlxor", XX3(60,154), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9352 {"xscvsxdsp", XX2(60,312), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9353 {"xsmaxdp", XX3(60,160), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9354 {"xsnmaddadp", XX3(60,161), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9355 {"xxlnot", XX3(60,162), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XAB6
}},
9356 {"xxlnor", XX3(60,162), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9357 {"xscvdpuxds", XX2(60,328), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9358 {"xscvspdp", XX2(60,329), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9359 {"xscvspdpn", XX2(60,331), XX2_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XB6
}},
9360 {"xsmindp", XX3(60,168), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9361 {"xsnmaddmdp", XX3(60,169), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9362 {"xxlorc", XX3(60,170), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9363 {"xscvdpsxds", XX2(60,344), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9364 {"xsabsdp", XX2(60,345), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9365 {"xsxexpdp", XX2VA(60,347,0),XX2_MASK
|1, PPCVSX3
, PPCVLE
, {RT
, XB6
}},
9366 {"xsxsigdp", XX2VA(60,347,1),XX2_MASK
|1, PPCVSX3
, PPCVLE
, {RT
, XB6
}},
9367 {"xscvhpdp", XX2VA(60,347,16),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9368 {"xscvdphp", XX2VA(60,347,17),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9369 {"xscpsgndp", XX3(60,176), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9370 {"xsnmsubadp", XX3(60,177), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9371 {"xxlnand", XX3(60,178), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9372 {"xscvuxddp", XX2(60,360), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9373 {"xsnabsdp", XX2(60,361), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9374 {"xststdcdp", XX2(60,362), XX2BFD_MASK
, PPCVSX3
, PPCVLE
, {BF
, XB6
, DCMX
}},
9375 {"xvrlw", XX3(60,184), XX3_MASK
, PPCVSXF
, PPCVLE
, {XT6
, XA6
, XB6
}},
9376 {"xsnmsubmdp", XX3(60,185), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9377 {"xxleqv", XX3(60,186), XX3_MASK
, PPCVSX2
, PPCVLE
, {XT6
, XA6
, XB6
}},
9378 {"xscvsxddp", XX2(60,376), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9379 {"xsnegdp", XX2(60,377), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9380 {"xvmaxsp", XX3(60,192), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9381 {"xvnmaddasp", XX3(60,193), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9382 {"xvcvspuxds", XX2(60,392), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9383 {"xvcvdpsp", XX2(60,393), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9384 {"xvminsp", XX3(60,200), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9385 {"xvnmaddmsp", XX3(60,201), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9386 {"xvcvspsxds", XX2(60,408), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9387 {"xvabssp", XX2(60,409), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9388 {"xvmovsp", XX3(60,208), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XAB6
}},
9389 {"xvcpsgnsp", XX3(60,208), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9390 {"xvnmsubasp", XX3(60,209), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9391 {"xvcvuxdsp", XX2(60,424), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9392 {"xvnabssp", XX2(60,425), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9393 {"xvtstdcsp", XX2(60,426), XX2DCMXS_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
, DCMXS
}},
9394 {"xviexpsp", XX3(60,216), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9395 {"xvnmsubmsp", XX3(60,217), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9396 {"xvcvsxdsp", XX2(60,440), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9397 {"xvnegsp", XX2(60,441), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9398 {"xvmaxdp", XX3(60,224), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9399 {"xvnmaddadp", XX3(60,225), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9400 {"dmxxextfdmr512",XX3(60,226), XX3DMR_MASK
, FUTURE
, PPCVLE
, {XA5p
, XB5p
, DMR
, P1
}},
9401 {"xvcvdpuxds", XX2(60,456), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9402 {"xvcvspdp", XX2(60,457), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9403 {"xxgenpcvbm", X(60,916), XX1_MASK
, POWER10
, PPCVLE
, {XT6
, VB
, UIMM
}},
9404 {"xxgenpcvhm", X(60,917), XX1_MASK
, POWER10
, PPCVLE
, {XT6
, VB
, UIMM
}},
9405 {"xsiexpdp", X(60,918), XX1_MASK
, PPCVSX3
, PPCVLE
, {XT6
, RA
, RB
}},
9406 {"xvmindp", XX3(60,232), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9407 {"xvnmaddmdp", XX3(60,233), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9408 {"dmxxinstdmr512",XX3(60,234), XX3DMR_MASK
, FUTURE
, PPCVLE
, {DMR
, XA5p
, XB5p
,P1
}},
9409 {"xvcvdpsxds", XX2(60,472), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9410 {"xvabsdp", XX2(60,473), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9411 {"xxgenpcvwm", X(60,948), XX1_MASK
, POWER10
, PPCVLE
, {XT6
, VB
, UIMM
}},
9412 {"xxgenpcvdm", X(60,949), XX1_MASK
, POWER10
, PPCVLE
, {XT6
, VB
, UIMM
}},
9413 {"xvxexpdp", XX2VA(60,475,0),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9414 {"xvxsigdp", XX2VA(60,475,1),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9415 {"xvtlsbb", XX2VA(60,475,2),XX2BF_MASK
, POWER10
, PPCVLE
, {BF
, XB6
}},
9416 {"xxbrh", XX2VA(60,475,7),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9417 {"xvxexpsp", XX2VA(60,475,8),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9418 {"xvxsigsp", XX2VA(60,475,9),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9419 {"xxbrw", XX2VA(60,475,15),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9420 {"xvcvbf16spn", XX2VA(60,475,16),XX2_MASK
, PPCVSX4
, PPCVLE
, {XT6
, XB6
}},
9421 {"xvcvspbf16", XX2VA(60,475,17),XX2_MASK
, PPCVSX4
, PPCVLE
, {XT6
, XB6
}},
9422 {"xxbrd", XX2VA(60,475,23),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9423 {"xvcvhpsp", XX2VA(60,475,24),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9424 {"xvcvsphp", XX2VA(60,475,25),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9425 {"xxbrq", XX2VA(60,475,31),XX2_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
}},
9426 {"xvmovdp", XX3(60,240), XX3_MASK
, PPCVSX
, PPCVLE
|EXT
, {XT6
, XAB6
}},
9427 {"xvcpsgndp", XX3(60,240), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9428 {"xvnmsubadp", XX3(60,241), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9429 {"dmxxextfdmr256",XX2(60,484), XX2DMR_MASK
, FUTURE
, PPCVLE
, {XB5p
, DMR
, P2
}},
9430 {"dmxxinstdmr256",XX2(60,485), XX2DMR_MASK
, FUTURE
, PPCVLE
, {DMR
, XB5p
, P2
}},
9431 {"xvcvuxddp", XX2(60,488), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9432 {"xvnabsdp", XX2(60,489), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9433 {"xvtstdcdp", XX2(60,490), XX2DCMXS_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XB6
, DCMXS
}},
9434 {"xviexpdp", XX3(60,248), XX3_MASK
, PPCVSX3
, PPCVLE
, {XT6
, XA6
, XB6
}},
9435 {"xvnmsubmdp", XX3(60,249), XX3_MASK
, PPCVSX
, PPCVLE
, {XT6
, XA6
, XB6
}},
9436 {"xvcvsxddp", XX2(60,504), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9437 {"xvnegdp", XX2(60,505), XX2_MASK
, PPCVSX
, PPCVLE
, {XT6
, XB6
}},
9439 {"psq_st", OP(60), OP_MASK
, PPCPS
, PPCVLE
, {FRS
,PSD
,RA
,PSW
,PSQ
}},
9440 {"stfq", OP(60), OP_MASK
, POWER2
, PPCVLE
, {FRS
, D
, RA
}},
9442 {"lxv", DQX(61,1), DQX_MASK
, PPCVSX3
, PPCVLE
, {XTQ6
, DQ
, RA0
}},
9443 {"stxv", DQX(61,5), DQX_MASK
, PPCVSX3
, PPCVLE
, {XSQ6
, DQ
, RA0
}},
9444 {"stxsd", DSO(61,2), DS_MASK
, PPCVSX3
, PPCVLE
, {VS
, DS
, RA0
}},
9445 {"stxssp", DSO(61,3), DS_MASK
, PPCVSX3
, PPCVLE
, {VS
, DS
, RA0
}},
9446 {"stfdp", OP(61), OP_MASK
|Q_MASK
, POWER6
, POWER7
|PPCVLE
, {FRSp
, DS
, RA0
}},
9447 {"psq_stu", OP(61), OP_MASK
, PPCPS
, PPCVLE
, {FRS
,PSD
,RA
,PSW
,PSQ
}},
9448 {"stfqu", OP(61), OP_MASK
, POWER2
, PPCVLE
, {FRS
, D
, RA
}},
9450 {"std", DSO(62,0), DS_MASK
, PPC64
, PPCVLE
, {RS
, DS
, RA0
}},
9451 {"stdu", DSO(62,1), DS_MASK
, PPC64
, PPCVLE
, {RS
, DS
, RAS
}},
9452 {"stq", DSO(62,2), DS_MASK
|Q_MASK
, POWER4
, PPC476
|PPCVLE
, {RSQ
, DS
, RA0
}},
9454 {"fcmpu", X(63,0), XBF_MASK
, COM
, PPCEFS
|PPCVLE
, {BF
, FRA
, FRB
}},
9456 {"daddq", XRC(63,2,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9457 {"daddq.", XRC(63,2,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9459 {"dquaq", ZRC(63,3,0), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
, RMC
}},
9460 {"dquaq.", ZRC(63,3,1), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
, RMC
}},
9462 {"xsaddqp", XRC(63,4,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9463 {"xsaddqpo", XRC(63,4,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9465 {"xsrqpi", ZRC(63,5,0), Z2_MASK
, PPCVSX3
, PPCVLE
, {R
, VD
, VB
, RMC
}},
9466 {"xsrqpix", ZRC(63,5,1), Z2_MASK
, PPCVSX3
, PPCVLE
, {R
, VD
, VB
, RMC
}},
9468 {"fcpsgn", XRC(63,8,0), X_MASK
, POWER6
|PPCA2
|PPC476
, PPCVLE
, {FRT
, FRA
, FRB
}},
9469 {"fcpsgn.", XRC(63,8,1), X_MASK
, POWER6
|PPCA2
|PPC476
, PPCVLE
, {FRT
, FRA
, FRB
}},
9471 {"frsp", XRC(63,12,0), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9472 {"frsp.", XRC(63,12,1), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9474 {"fctiw", XRC(63,14,0), XRA_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9475 {"fcir", XRC(63,14,0), XRA_MASK
, PWR2COM
, PPCVLE
, {FRT
, FRB
}},
9476 {"fctiw.", XRC(63,14,1), XRA_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9477 {"fcir.", XRC(63,14,1), XRA_MASK
, PWR2COM
, PPCVLE
, {FRT
, FRB
}},
9479 {"fctiwz", XRC(63,15,0), XRA_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9480 {"fcirz", XRC(63,15,0), XRA_MASK
, PWR2COM
, PPCVLE
, {FRT
, FRB
}},
9481 {"fctiwz.", XRC(63,15,1), XRA_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9482 {"fcirz.", XRC(63,15,1), XRA_MASK
, PWR2COM
, PPCVLE
, {FRT
, FRB
}},
9484 {"fdiv", A(63,18,0), AFRC_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9485 {"fd", A(63,18,0), AFRC_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRB
}},
9486 {"fdiv.", A(63,18,1), AFRC_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9487 {"fd.", A(63,18,1), AFRC_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRB
}},
9489 {"fsub", A(63,20,0), AFRC_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9490 {"fs", A(63,20,0), AFRC_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRB
}},
9491 {"fsub.", A(63,20,1), AFRC_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9492 {"fs.", A(63,20,1), AFRC_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRB
}},
9494 {"fadd", A(63,21,0), AFRC_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9495 {"fa", A(63,21,0), AFRC_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRB
}},
9496 {"fadd.", A(63,21,1), AFRC_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRB
}},
9497 {"fa.", A(63,21,1), AFRC_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRB
}},
9499 {"fsqrt", A(63,22,0), AFRAFRC_MASK
, PPCPWR2
, TITAN
|PPCVLE
, {FRT
, FRB
}},
9500 {"fsqrt.", A(63,22,1), AFRAFRC_MASK
, PPCPWR2
, TITAN
|PPCVLE
, {FRT
, FRB
}},
9502 {"fsel", A(63,23,0), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9503 {"fsel.", A(63,23,1), A_MASK
, PPC
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9505 {"fre", A(63,24,0), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9506 {"fre", A(63,24,0), AFRALFRC_MASK
, POWER5
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9507 {"fre.", A(63,24,1), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9508 {"fre.", A(63,24,1), AFRALFRC_MASK
, POWER5
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9510 {"fmul", A(63,25,0), AFRB_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
}},
9511 {"fm", A(63,25,0), AFRB_MASK
, PWRCOM
, PPCVLE
|PPCVLE
, {FRT
, FRA
, FRC
}},
9512 {"fmul.", A(63,25,1), AFRB_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
}},
9513 {"fm.", A(63,25,1), AFRB_MASK
, PWRCOM
, PPCVLE
|PPCVLE
, {FRT
, FRA
, FRC
}},
9515 {"frsqrte", A(63,26,0), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9516 {"frsqrte", A(63,26,0), AFRALFRC_MASK
, PPC
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9517 {"frsqrte.", A(63,26,1), AFRAFRC_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9518 {"frsqrte.", A(63,26,1), AFRALFRC_MASK
, PPC
, POWER7
|PPCVLE
, {FRT
, FRB
, A_L
}},
9520 {"fmsub", A(63,28,0), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9521 {"fms", A(63,28,0), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9522 {"fmsub.", A(63,28,1), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9523 {"fms.", A(63,28,1), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9525 {"fmadd", A(63,29,0), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9526 {"fma", A(63,29,0), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9527 {"fmadd.", A(63,29,1), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9528 {"fma.", A(63,29,1), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9530 {"fnmsub", A(63,30,0), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9531 {"fnms", A(63,30,0), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9532 {"fnmsub.", A(63,30,1), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9533 {"fnms.", A(63,30,1), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9535 {"fnmadd", A(63,31,0), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9536 {"fnma", A(63,31,0), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9537 {"fnmadd.", A(63,31,1), A_MASK
, PPCCOM
, PPCEFS
|PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9538 {"fnma.", A(63,31,1), A_MASK
, PWRCOM
, PPCVLE
, {FRT
, FRA
, FRC
, FRB
}},
9540 {"fcmpo", X(63,32), XBF_MASK
, COM
, PPCEFS
|PPCVLE
, {BF
, FRA
, FRB
}},
9542 {"dmulq", XRC(63,34,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9543 {"dmulq.", XRC(63,34,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9545 {"drrndq", ZRC(63,35,0), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRA
, FRBp
, RMC
}},
9546 {"drrndq.", ZRC(63,35,1), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRA
, FRBp
, RMC
}},
9548 {"xsmulqp", XRC(63,36,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9549 {"xsmulqpo", XRC(63,36,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9551 {"xsrqpxp", Z(63,37), Z2_MASK
, PPCVSX3
, PPCVLE
, {R
, VD
, VB
, RMC
}},
9553 {"mtfsb1", XRC(63,38,0), XRARB_MASK
, COM
, PPCVLE
, {BTF
}},
9554 {"mtfsb1.", XRC(63,38,1), XRARB_MASK
, COM
, PPCVLE
, {BTF
}},
9556 {"fneg", XRC(63,40,0), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9557 {"fneg.", XRC(63,40,1), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9559 {"mcrfs", X(63,64), XRB_MASK
|(3<<21)|(3<<16), COM
, PPCVLE
, {BF
, BFA
}},
9561 {"dscliq", ZRC(63,66,0), Z_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, SH16
}},
9562 {"dscliq.", ZRC(63,66,1), Z_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, SH16
}},
9564 {"dquaiq", ZRC(63,67,0), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {TE
, FRTp
, FRBp
, RMC
}},
9565 {"dquaiq.", ZRC(63,67,1), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {TE
, FRTp
, FRBp
, RMC
}},
9567 {"xscmpeqqp", X(63,68), X_MASK
, POWER10
, PPCVLE
, {VD
, VA
, VB
}},
9569 {"mtfsb0", XRC(63,70,0), XRARB_MASK
, COM
, PPCVLE
, {BTF
}},
9570 {"mtfsb0.", XRC(63,70,1), XRARB_MASK
, COM
, PPCVLE
, {BTF
}},
9572 {"fmr", XRC(63,72,0), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9573 {"fmr.", XRC(63,72,1), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9575 {"dscriq", ZRC(63,98,0), Z_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, SH16
}},
9576 {"dscriq.", ZRC(63,98,1), Z_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, SH16
}},
9578 {"drintxq", ZRC(63,99,0), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {R
, FRTp
, FRBp
, RMC
}},
9579 {"drintxq.", ZRC(63,99,1), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {R
, FRTp
, FRBp
, RMC
}},
9581 {"xscpsgnqp", X(63,100), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9583 {"ftdiv", X(63,128), XBF_MASK
, POWER7
, PPCVLE
, {BF
, FRA
, FRB
}},
9585 {"dcmpoq", X(63,130), X_MASK
, POWER6
, PPCVLE
, {BF
, FRAp
, FRBp
}},
9587 {"xscmpoqp", X(63,132), XBF_MASK
, PPCVSX3
, PPCVLE
, {BF
, VA
, VB
}},
9589 {"mtfsfi", XRC(63,134,0), XWRA_MASK
|(3<<21)|(1<<11), POWER6
|PPCA2
|PPC476
, PPCVLE
, {BFF
, U
, W
}},
9590 {"mtfsfi", XRC(63,134,0), XRA_MASK
|(3<<21)|(1<<11), COM
, POWER6
|PPCA2
|PPC476
|PPCVLE
, {BFF
, U
}},
9591 {"mtfsfi.", XRC(63,134,1), XWRA_MASK
|(3<<21)|(1<<11), POWER6
|PPCA2
|PPC476
, PPCVLE
, {BFF
, U
, W
}},
9592 {"mtfsfi.", XRC(63,134,1), XRA_MASK
|(3<<21)|(1<<11), COM
, POWER6
|PPCA2
|PPC476
|PPCVLE
, {BFF
, U
}},
9594 {"fnabs", XRC(63,136,0), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9595 {"fnabs.", XRC(63,136,1), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9597 {"fctiwu", XRC(63,142,0), XRA_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9598 {"fctiwu.", XRC(63,142,1), XRA_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9599 {"fctiwuz", XRC(63,143,0), XRA_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9600 {"fctiwuz.", XRC(63,143,1), XRA_MASK
, POWER7
, PPCVLE
, {FRT
, FRB
}},
9602 {"ftsqrt", X(63,160), XBF_MASK
|FRA_MASK
, POWER7
, PPCVLE
, {BF
, FRB
}},
9604 {"dtstexq", X(63,162), X_MASK
, POWER6
, PPCVLE
, {BF
, FRAp
, FRBp
}},
9606 {"xscmpexpqp", X(63,164), XBF_MASK
, PPCVSX3
, PPCVLE
, {BF
, VA
, VB
}},
9608 {"dtstdcq", Z(63,194), Z_MASK
, POWER6
, PPCVLE
, {BF
, FRAp
, DCM
}},
9610 {"xscmpgeqp", X(63,196), X_MASK
, POWER10
, PPCVLE
, {VD
, VA
, VB
}},
9612 {"dtstdgq", Z(63,226), Z_MASK
, POWER6
, PPCVLE
, {BF
, FRAp
, DGM
}},
9614 {"drintnq", ZRC(63,227,0), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {R
, FRTp
, FRBp
, RMC
}},
9615 {"drintnq.", ZRC(63,227,1), Z2_MASK
|Q_MASK
, POWER6
, PPCVLE
, {R
, FRTp
, FRBp
, RMC
}},
9617 {"xscmpgtqp", X(63,228), X_MASK
, POWER10
, PPCVLE
, {VD
, VA
, VB
}},
9619 {"dctqpq", XRC(63,258,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRB
}},
9620 {"dctqpq.", XRC(63,258,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRB
}},
9622 {"fabs", XRC(63,264,0), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9623 {"fabs.", XRC(63,264,1), XRA_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
, FRB
}},
9625 {"dctfixq", XRC(63,290,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRBp
}},
9626 {"dctfixq.", XRC(63,290,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRBp
}},
9628 {"ddedpdq", XRC(63,322,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {SP
, FRTp
, FRBp
}},
9629 {"ddedpdq.", XRC(63,322,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {SP
, FRTp
, FRBp
}},
9631 {"dxexq", XRC(63,354,0), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRBp
}},
9632 {"dxexq.", XRC(63,354,1), X_MASK
, POWER6
, PPCVLE
, {FRT
, FRBp
}},
9634 {"xsmaddqp", XRC(63,388,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9635 {"xsmaddqpo", XRC(63,388,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9637 {"frin", XRC(63,392,0), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9638 {"frin.", XRC(63,392,1), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9640 {"xsmsubqp", XRC(63,420,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9641 {"xsmsubqpo", XRC(63,420,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9643 {"friz", XRC(63,424,0), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9644 {"friz.", XRC(63,424,1), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9646 {"xsnmaddqp", XRC(63,452,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9647 {"xsnmaddqpo", XRC(63,452,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9649 {"frip", XRC(63,456,0), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9650 {"frip.", XRC(63,456,1), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9652 {"xsnmsubqp", XRC(63,484,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9653 {"xsnmsubqpo", XRC(63,484,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9655 {"frim", XRC(63,488,0), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9656 {"frim.", XRC(63,488,1), XRA_MASK
, POWER5
, PPCVLE
, {FRT
, FRB
}},
9658 {"dsubq", XRC(63,514,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9659 {"dsubq.", XRC(63,514,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9661 {"xssubqp", XRC(63,516,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9662 {"xssubqpo", XRC(63,516,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9664 {"ddivq", XRC(63,546,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9665 {"ddivq.", XRC(63,546,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRAp
, FRBp
}},
9667 {"xsdivqp", XRC(63,548,0), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9668 {"xsdivqpo", XRC(63,548,1), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9670 {"mffs", XRC(63,583,0), XRARB_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
}},
9671 {"mffs.", XRC(63,583,1), XRARB_MASK
, COM
, PPCEFS
|PPCVLE
, {FRT
}},
9673 {"mffsce", XMMF(63,583,0,1), XMMF_MASK
|RB_MASK
, POWER9
, PPCVLE
, {FRT
}},
9674 {"mffscdrn", XMMF(63,583,2,4), XMMF_MASK
, POWER9
, PPCVLE
, {FRT
, FRB
}},
9675 {"mffscdrni", XMMF(63,583,2,5), XMMF_MASK
|(3<<14), POWER9
, PPCVLE
, {FRT
, DRM
}},
9676 {"mffscrn", XMMF(63,583,2,6), XMMF_MASK
, POWER9
, PPCVLE
, {FRT
, FRB
}},
9677 {"mffscrni", XMMF(63,583,2,7), XMMF_MASK
|(7<<13), POWER9
, PPCVLE
, {FRT
, RM
}},
9678 {"mffsl", XMMF(63,583,3,0), XMMF_MASK
|RB_MASK
, POWER9
, PPCVLE
, {FRT
}},
9680 {"dcmpuq", X(63,642), X_MASK
, POWER6
, PPCVLE
, {BF
, FRAp
, FRBp
}},
9682 {"xscmpuqp", X(63,644), XBF_MASK
, PPCVSX3
, PPCVLE
, {BF
, VA
, VB
}},
9684 {"dtstsfq", X(63,674), X_MASK
, POWER6
, PPCVLE
, {BF
, FRA
, FRBp
}},
9685 {"dtstsfiq", X(63,675), X_MASK
|1<<22,POWER9
, PPCVLE
, {BF
, UIM6
, FRBp
}},
9687 {"xsmaxcqp", X(63,676), X_MASK
, POWER10
, PPCVLE
, {VD
, VA
, VB
}},
9689 {"xststdcqp", X(63,708), X_MASK
, PPCVSX3
, PPCVLE
, {BF
, VB
, DCMX
}},
9691 {"mtfsf", XFL(63,711,0), XFL_MASK
, POWER6
|PPCA2
|PPC476
, PPCVLE
, {FLM
, FRB
, XFL_L
, W
}},
9692 {"mtfsf", XFL(63,711,0), XFL_MASK
, COM
, POWER6
|PPCA2
|PPC476
|PPCEFS
|PPCVLE
, {FLM
, FRB
}},
9693 {"mtfsf.", XFL(63,711,1), XFL_MASK
, POWER6
|PPCA2
|PPC476
, PPCVLE
, {FLM
, FRB
, XFL_L
, W
}},
9694 {"mtfsf.", XFL(63,711,1), XFL_MASK
, COM
, POWER6
|PPCA2
|PPC476
|PPCEFS
|PPCVLE
, {FLM
, FRB
}},
9696 {"xsmincqp", X(63,740), X_MASK
, POWER10
, PPCVLE
, {VD
, VA
, VB
}},
9698 {"drdpq", XRC(63,770,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRBp
}},
9699 {"drdpq.", XRC(63,770,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRBp
}},
9701 {"dcffixq", XRC(63,802,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRB
}},
9702 {"dcffixq.", XRC(63,802,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRB
}},
9704 {"xsabsqp", XVA(63,804,0), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9705 {"xsxexpqp", XVA(63,804,2), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9706 {"xsnabsqp", XVA(63,804,8), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9707 {"xsnegqp", XVA(63,804,16), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9708 {"xsxsigqp", XVA(63,804,18), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9709 {"xssqrtqp", XVARC(63,804,27,0), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9710 {"xssqrtqpo", XVARC(63,804,27,1), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9712 {"fctid", XRC(63,814,0), XRA_MASK
, PPC64
, PPCVLE
, {FRT
, FRB
}},
9713 {"fctid", XRC(63,814,0), XRA_MASK
, PPC476
, PPCVLE
, {FRT
, FRB
}},
9714 {"fctid.", XRC(63,814,1), XRA_MASK
, PPC64
, PPCVLE
, {FRT
, FRB
}},
9715 {"fctid.", XRC(63,814,1), XRA_MASK
, PPC476
, PPCVLE
, {FRT
, FRB
}},
9717 {"fctidz", XRC(63,815,0), XRA_MASK
, PPC64
, PPCVLE
, {FRT
, FRB
}},
9718 {"fctidz", XRC(63,815,0), XRA_MASK
, PPC476
, PPCVLE
, {FRT
, FRB
}},
9719 {"fctidz.", XRC(63,815,1), XRA_MASK
, PPC64
, PPCVLE
, {FRT
, FRB
}},
9720 {"fctidz.", XRC(63,815,1), XRA_MASK
, PPC476
, PPCVLE
, {FRT
, FRB
}},
9722 {"denbcdq", XRC(63,834,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {S
, FRTp
, FRBp
}},
9723 {"denbcdq.", XRC(63,834,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {S
, FRTp
, FRBp
}},
9725 {"xscvqpuqz", XVA(63,836,0), XVA_MASK
, POWER10
, PPCVLE
, {VD
, VB
}},
9726 {"xscvqpuwz", XVA(63,836,1), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9727 {"xscvudqp", XVA(63,836,2), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9728 {"xscvuqqp", XVA(63,836,3), XVA_MASK
, POWER10
, PPCVLE
, {VD
, VB
}},
9729 {"xscvqpsqz", XVA(63,836,8), XVA_MASK
, POWER10
, PPCVLE
, {VD
, VB
}},
9730 {"xscvqpswz", XVA(63,836,9), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9731 {"xscvsdqp", XVA(63,836,10), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9732 {"xscvsqqp", XVA(63,836,11), XVA_MASK
, POWER10
, PPCVLE
, {VD
, VB
}},
9733 {"xscvqpudz", XVA(63,836,17), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9734 {"xscvqpdp", XVARC(63,836,20,0), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9735 {"xscvqpdpo", XVARC(63,836,20,1), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9736 {"xscvdpqp", XVA(63,836,22), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9737 {"xscvqpsdz", XVA(63,836,25), XVA_MASK
, PPCVSX3
, PPCVLE
, {VD
, VB
}},
9739 {"fmrgow", X(63,838), X_MASK
, PPCVSX2
, PPCVLE
, {FRT
, FRA
, FRB
}},
9741 {"fcfid", XRC(63,846,0), XRA_MASK
, PPC64
, PPCVLE
, {FRT
, FRB
}},
9742 {"fcfid", XRC(63,846,0), XRA_MASK
, PPC476
, PPCVLE
, {FRT
, FRB
}},
9743 {"fcfid.", XRC(63,846,1), XRA_MASK
, PPC64
, PPCVLE
, {FRT
, FRB
}},
9744 {"fcfid.", XRC(63,846,1), XRA_MASK
, PPC476
, PPCVLE
, {FRT
, FRB
}},
9746 {"diexq", XRC(63,866,0), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRA
, FRBp
}},
9747 {"diexq.", XRC(63,866,1), X_MASK
|Q_MASK
, POWER6
, PPCVLE
, {FRTp
, FRA
, FRBp
}},
9749 {"xsiexpqp", X(63,868), X_MASK
, PPCVSX3
, PPCVLE
, {VD
, VA
, VB
}},
9751 {"fctidu", XRC(63,942,0), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9752 {"fctidu.", XRC(63,942,1), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9754 {"fctiduz", XRC(63,943,0), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9755 {"fctiduz.", XRC(63,943,1), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9757 {"fmrgew", X(63,966), X_MASK
, PPCVSX2
, PPCVLE
, {FRT
, FRA
, FRB
}},
9759 {"fcfidu", XRC(63,974,0), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9760 {"fcfidu.", XRC(63,974,1), XRA_MASK
, POWER7
|PPCA2
, PPCVLE
, {FRT
, FRB
}},
9762 {"dcffixqq", XVA(63,994,0), XVA_MASK
, POWER10
, PPCVLE
, {FRTp
, VB
}},
9763 {"dctfixqq", XVA(63,994,1), XVA_MASK
, POWER10
, PPCVLE
, {VD
, FRBp
}},
9766 const unsigned int powerpc_num_opcodes
= ARRAY_SIZE (powerpc_opcodes
);
9768 /* The opcode table for 8-byte prefix instructions.
9770 The format of this opcode table is the same as the main opcode table. */
9772 const struct powerpc_opcode prefix_opcodes
[] = {
9773 {"pnop", PMRR
, PREFIX_MASK
, POWER10
, 0, {0}},
9774 {"pli", PMLS
|OP(14), P_DRAPCREL_MASK
, POWER10
, EXT
, {RT
, SI34
}},
9775 {"pla", PMLS
|OP(14), P_D_MASK
, POWER10
, EXT
, {RT
, D34
, PRA0
, PCREL1
}},
9776 {"paddi", PMLS
|OP(14), P_D_MASK
, POWER10
, 0, {RT
, RA0
, SI34
, PCREL
}},
9777 {"psubi", PMLS
|OP(14), P_D_MASK
, POWER10
, EXT
, {RT
, RA0
, NSI34
, PCREL
}},
9778 {"xxsplti32dx", P8RR
|VSOP(32,0), P_VSI_MASK
, POWER10
, 0, {XTS
, IX
, IMM32
}},
9779 {"xxspltidp", P8RR
|VSOP(32,2), P_VS_MASK
, POWER10
, 0, {XTS
, IMM32
}},
9780 {"xxspltiw", P8RR
|VSOP(32,3), P_VS_MASK
, POWER10
, 0, {XTS
, IMM32
}},
9781 {"plwz", PMLS
|OP(32), P_D_MASK
, POWER10
, 0, {RT
, D34
, PRA0
, PCREL
}},
9782 {"xxblendvb", P8RR
|XX4(33,0), P_XX4_MASK
, POWER10
, 0, {XT6
, XA6
, XB6
, XC6
}},
9783 {"xxblendvh", P8RR
|XX4(33,1), P_XX4_MASK
, POWER10
, 0, {XT6
, XA6
, XB6
, XC6
}},
9784 {"xxblendvw", P8RR
|XX4(33,2), P_XX4_MASK
, POWER10
, 0, {XT6
, XA6
, XB6
, XC6
}},
9785 {"xxblendvd", P8RR
|XX4(33,3), P_XX4_MASK
, POWER10
, 0, {XT6
, XA6
, XB6
, XC6
}},
9786 {"xxpermx", P8RR
|XX4(34,0), P_UXX4_MASK
, POWER10
, 0, {XT6
, XA6
, XB6
, XC6
, UIM3
}},
9787 {"xxeval", P8RR
|XX4(34,1), P_U8XX4_MASK
, POWER10
, 0, {XT6
, XA6
, XB6
, XC6
, UIM8
}},
9788 {"plbz", PMLS
|OP(34), P_D_MASK
, POWER10
, 0, {RT
, D34
, PRA0
, PCREL
}},
9789 {"pstw", PMLS
|OP(36), P_D_MASK
, POWER10
, 0, {RS
, D34
, PRA0
, PCREL
}},
9790 {"pstb", PMLS
|OP(38), P_D_MASK
, POWER10
, 0, {RS
, D34
, PRA0
, PCREL
}},
9791 {"plhz", PMLS
|OP(40), P_D_MASK
, POWER10
, 0, {RT
, D34
, PRA0
, PCREL
}},
9792 {"plwa", P8LS
|OP(41), P_D_MASK
, POWER10
, 0, {RT
, D34
, PRA0
, PCREL
}},
9793 {"plxsd", P8LS
|OP(42), P_D_MASK
, POWER10
, 0, {VD
, D34
, PRA0
, PCREL
}},
9794 {"plha", PMLS
|OP(42), P_D_MASK
, POWER10
, 0, {RT
, D34
, PRA0
, PCREL
}},
9795 {"plxssp", P8LS
|OP(43), P_D_MASK
, POWER10
, 0, {VD
, D34
, PRA0
, PCREL
}},
9796 {"psth", PMLS
|OP(44), P_D_MASK
, POWER10
, 0, {RS
, D34
, PRA0
, PCREL
}},
9797 {"pstxsd", P8LS
|OP(46), P_D_MASK
, POWER10
, 0, {VS
, D34
, PRA0
, PCREL
}},
9798 {"pstxssp", P8LS
|OP(47), P_D_MASK
, POWER10
, 0, {VS
, D34
, PRA0
, PCREL
}},
9799 {"plfs", PMLS
|OP(48), P_D_MASK
, POWER10
, 0, {FRT
, D34
, PRA0
, PCREL
}},
9800 {"plxv", P8LS
|OP(50), P_D_MASK
&~OP(1), POWER10
, 0, {XTOP
, D34
, PRA0
, PCREL
}},
9801 {"plfd", PMLS
|OP(50), P_D_MASK
, POWER10
, 0, {FRT
, D34
, PRA0
, PCREL
}},
9802 {"pstfs", PMLS
|OP(52), P_D_MASK
, POWER10
, 0, {FRS
, D34
, PRA0
, PCREL
}},
9803 {"pstxv", P8LS
|OP(54), P_D_MASK
&~OP(1), POWER10
, 0, {XTOP
, D34
, PRA0
, PCREL
}},
9804 {"pstfd", PMLS
|OP(54), P_D_MASK
, POWER10
, 0, {FRS
, D34
, PRA0
, PCREL
}},
9805 {"plq", P8LS
|OP(56), P_D_MASK
, POWER10
, 0, {RTQ
, D34
, PRAQ
, PCREL
}},
9806 {"pld", P8LS
|OP(57), P_D_MASK
, POWER10
, 0, {RT
, D34
, PRA0
, PCREL
}},
9807 {"plxvp", P8LS
|OP(58), P_D_MASK
, POWER10
, 0, {XTP
, D34
, PRA0
, PCREL
}},
9808 {"pmdmxvi8ger4pp",PMMIRR
|XX3(59,2), P_GER4_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK4
}},
9809 {"pmxvi8ger4pp", PMMIRR
|XX3(59,2), P_GER4_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK4
}},
9810 {"pmdmxvi8ger4", PMMIRR
|XX3(59,3), P_GER4_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK4
}},
9811 {"pmxvi8ger4", PMMIRR
|XX3(59,3), P_GER4_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK4
}},
9812 {"pmdmxvi8gerx4pp",PMMIRR
|XX3(59,10), P_GERX4_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK4
}},
9813 {"pmdmxvi8gerx4", PMMIRR
|XX3(59,11), P_GERX4_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK4
}},
9814 {"pmdmxvf16ger2pp",PMMIRR
|XX3(59,18), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9815 {"pmxvf16ger2pp", PMMIRR
|XX3(59,18), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9816 {"pmdmxvf16ger2", PMMIRR
|XX3(59,19), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9817 {"pmxvf16ger2", PMMIRR
|XX3(59,19), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9818 {"pmdmxvf32gerpp",PMMIRR
|XX3(59,26), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9819 {"pmxvf32gerpp", PMMIRR
|XX3(59,26), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9820 {"pmdmxvf32ger", PMMIRR
|XX3(59,27), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9821 {"pmxvf32ger", PMMIRR
|XX3(59,27), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9822 {"pmdmxvi4ger8pp",PMMIRR
|XX3(59,34), P_GER8_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK8
}},
9823 {"pmxvi4ger8pp", PMMIRR
|XX3(59,34), P_GER8_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK8
}},
9824 {"pmdmxvi4ger8", PMMIRR
|XX3(59,35), P_GER8_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK8
}},
9825 {"pmxvi4ger8", PMMIRR
|XX3(59,35), P_GER8_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK8
}},
9826 {"pmdmxvi16ger2spp",PMMIRR
|XX3(59,42), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9827 {"pmxvi16ger2spp",PMMIRR
|XX3(59,42), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9828 {"pmdmxvi16ger2s",PMMIRR
|XX3(59,43), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9829 {"pmxvi16ger2s", PMMIRR
|XX3(59,43), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9830 {"pmdmxvbf16ger2pp",PMMIRR
|XX3(59,50), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9831 {"pmxvbf16ger2pp",PMMIRR
|XX3(59,50), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9832 {"pmdmxvbf16ger2",PMMIRR
|XX3(59,51), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9833 {"pmxvbf16ger2", PMMIRR
|XX3(59,51), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9834 {"pmdmxvf64gerpp",PMMIRR
|XX3(59,58), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9835 {"pmxvf64gerpp", PMMIRR
|XX3(59,58), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9836 {"pmdmxvf64ger", PMMIRR
|XX3(59,59), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9837 {"pmxvf64ger", PMMIRR
|XX3(59,59), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9838 {"pmdmxvf16gerx2pp",PMMIRR
|XX3(59,66), P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9839 {"pmdmxvf16gerx2",PMMIRR
|XX3(59,67), P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9840 {"pmdmxvbf16gerx2pp",PMMIRR
|XX3(59,74),P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9841 {"pmdmxvi16ger2", PMMIRR
|XX3(59,75), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9842 {"pmxvi16ger2", PMMIRR
|XX3(59,75), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9843 {"pmdmxvf16ger2np",PMMIRR
|XX3(59,82), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9844 {"pmxvf16ger2np", PMMIRR
|XX3(59,82), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9845 {"pmdmxvf16gerx2np",PMMIRR
|XX3(59,83), P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9846 {"pmdmxvf32gernp",PMMIRR
|XX3(59,90), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9847 {"pmxvf32gernp", PMMIRR
|XX3(59,90), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9848 {"pmdmxvbf16gerx2",PMMIRR
|XX3(59,91), P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9849 {"pmdmxvi8gerx4spp",PMMIRR
|XX3(59,98), P_GERX4_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK4
}},
9850 {"pmdmxvi8ger4spp",PMMIRR
|XX3(59,99), P_GER4_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK4
}},
9851 {"pmxvi8ger4spp", PMMIRR
|XX3(59,99), P_GER4_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK4
}},
9852 {"pmdmxvi16ger2pp",PMMIRR
|XX3(59,107), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9853 {"pmxvi16ger2pp", PMMIRR
|XX3(59,107), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9854 {"pmdmxvbf16ger2np",PMMIRR
|XX3(59,114),P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9855 {"pmxvbf16ger2np",PMMIRR
|XX3(59,114), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9856 {"pmdmxvbf16gerx2np",PMMIRR
|XX3(59,115),P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9857 {"pmdmxvf64gernp",PMMIRR
|XX3(59,122), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9858 {"pmxvf64gernp", PMMIRR
|XX3(59,122), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9859 {"pmdmxvf16ger2pn",PMMIRR
|XX3(59,146), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9860 {"pmxvf16ger2pn", PMMIRR
|XX3(59,146), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9861 {"pmdmxvf16gerx2pn",PMMIRR
|XX3(59,147),P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9862 {"pmdmxvf32gerpn",PMMIRR
|XX3(59,154), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9863 {"pmxvf32gerpn", PMMIRR
|XX3(59,154), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9864 {"pmdmxvbf16ger2pn",PMMIRR
|XX3(59,178),P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9865 {"pmxvbf16ger2pn",PMMIRR
|XX3(59,178), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9866 {"pmdmxvbf16gerx2pn",PMMIRR
|XX3(59,179),P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9867 {"pmdmxvf64gerpn",PMMIRR
|XX3(59,186), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9868 {"pmxvf64gerpn", PMMIRR
|XX3(59,186), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9869 {"pmdmxvf16gerx2nn",PMMIRR
|XX3(59,202),P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9870 {"pmdmxvf16ger2nn",PMMIRR
|XX3(59,210), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9871 {"pmxvf16ger2nn", PMMIRR
|XX3(59,210), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9872 {"pmdmxvf32gernn",PMMIRR
|XX3(59,218), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9873 {"pmxvf32gernn", PMMIRR
|XX3(59,218), P_GER_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
}},
9874 {"pmdmxvbf16gerx2nn",PMMIRR
|XX3(59,234),P_GERX2_MASK
, FUTURE
, 0, {DMR
, XA5p
, XB6
, XMSK8
, YMSK
, PMSK2
}},
9875 {"pmdmxvbf16ger2nn",PMMIRR
|XX3(59,242),P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9876 {"pmxvbf16ger2nn",PMMIRR
|XX3(59,242), P_GER2_MASK
, POWER10
, 0, {ACC
, XA6a
, XB6a
, XMSK
, YMSK
, PMSK2
}},
9877 {"pmdmxvf64gernn",PMMIRR
|XX3(59,250), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9878 {"pmxvf64gernn", PMMIRR
|XX3(59,250), P_GER64_MASK
, POWER10
, 0, {ACC
, XA6ap
, XB6a
, XMSK
, YMSK2
}},
9879 {"pstq", P8LS
|OP(60), P_D_MASK
, POWER10
, 0, {RSQ
, D34
, PRA0
, PCREL
}},
9880 {"pstd", P8LS
|OP(61), P_D_MASK
, POWER10
, 0, {RS
, D34
, PRA0
, PCREL
}},
9881 {"pstxvp", P8LS
|OP(62), P_D_MASK
, POWER10
, 0, {XSP
, D34
, PRA0
, PCREL
}},
9884 const unsigned int prefix_num_opcodes
= ARRAY_SIZE (prefix_opcodes
);
9886 /* The VLE opcode table.
9888 The format of this opcode table is the same as the main opcode table. */
9890 const struct powerpc_opcode vle_opcodes
[] = {
9891 {"se_illegal", C(0), C_MASK
, PPCVLE
, 0, {}},
9892 {"se_isync", C(1), C_MASK
, PPCVLE
, 0, {}},
9893 {"se_sc", C(2), C_MASK
, PPCVLE
, 0, {}},
9894 {"se_blr", C_LK(2,0), C_LK_MASK
, PPCVLE
, 0, {}},
9895 {"se_blrl", C_LK(2,1), C_LK_MASK
, PPCVLE
, 0, {}},
9896 {"se_bctr", C_LK(3,0), C_LK_MASK
, PPCVLE
, 0, {}},
9897 {"se_bctrl", C_LK(3,1), C_LK_MASK
, PPCVLE
, 0, {}},
9898 {"se_rfi", C(8), C_MASK
, PPCVLE
, 0, {}},
9899 {"se_rfci", C(9), C_MASK
, PPCVLE
, 0, {}},
9900 {"se_rfdi", C(10), C_MASK
, PPCVLE
, 0, {}},
9901 /* PPCRFMCI in the following does not enable the instruction for any
9902 PPC_OPCODE_RFMCI supporting cpu as vle_opcodes are all added to the
9903 assembler hash table or searched by the disassembler under control
9904 of PPC_OPCODE_VLE. It's there to set apuinfo. */
9905 {"se_rfmci", C(11), C_MASK
, PPCRFMCI
|PPCVLE
, 0, {}},
9906 {"se_rfgi", C(12), C_MASK
, PPCVLE
, 0, {}},
9907 {"se_not", SE_R(0,2), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9908 {"se_neg", SE_R(0,3), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9909 {"se_mflr", SE_R(0,8), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9910 {"se_mtlr", SE_R(0,9), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9911 {"se_mfctr", SE_R(0,10), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9912 {"se_mtctr", SE_R(0,11), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9913 {"se_extzb", SE_R(0,12), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9914 {"se_extsb", SE_R(0,13), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9915 {"se_extzh", SE_R(0,14), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9916 {"se_extsh", SE_R(0,15), SE_R_MASK
, PPCVLE
, 0, {RX
}},
9917 {"se_mr", SE_RR(0,1), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9918 {"se_mtar", SE_RR(0,2), SE_RR_MASK
, PPCVLE
, 0, {ARX
, RY
}},
9919 {"se_mfar", SE_RR(0,3), SE_RR_MASK
, PPCVLE
, 0, {RX
, ARY
}},
9920 {"se_add", SE_RR(1,0), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9921 {"se_mullw", SE_RR(1,1), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9922 {"se_sub", SE_RR(1,2), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9923 {"se_subf", SE_RR(1,3), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9924 {"se_cmp", SE_RR(3,0), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9925 {"se_cmpl", SE_RR(3,1), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9926 {"se_cmph", SE_RR(3,2), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9927 {"se_cmphl", SE_RR(3,3), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9929 /* by major opcode */
9930 {"e_cmpi", SCI8BF(6,0,21), SCI8BF_MASK
, PPCVLE
, 0, {CRD32
, RA
, SCLSCI8
}},
9931 {"e_cmpwi", SCI8BF(6,0,21), SCI8BF_MASK
, PPCVLE
, 0, {CRD32
, RA
, SCLSCI8
}},
9932 {"e_cmpli", SCI8BF(6,1,21), SCI8BF_MASK
, PPCVLE
, 0, {CRD32
, RA
, SCLSCI8
}},
9933 {"e_cmplwi", SCI8BF(6,1,21), SCI8BF_MASK
, PPCVLE
, 0, {CRD32
, RA
, SCLSCI8
}},
9934 {"e_addi", SCI8(6,16), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9935 {"e_subi", SCI8(6,16), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8N
}},
9936 {"e_addi.", SCI8(6,17), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9937 {"e_addic", SCI8(6,18), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9938 {"e_subic", SCI8(6,18), SCI8_MASK
, PPCVLE
, EXT
, {RT
, RA
, SCLSCI8N
}},
9939 {"e_addic.", SCI8(6,19), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9940 {"e_subic.", SCI8(6,19), SCI8_MASK
, PPCVLE
, EXT
, {RT
, RA
, SCLSCI8N
}},
9941 {"e_mulli", SCI8(6,20), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9942 {"e_subfic", SCI8(6,22), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9943 {"e_subfic.", SCI8(6,23), SCI8_MASK
, PPCVLE
, 0, {RT
, RA
, SCLSCI8
}},
9944 {"e_andi", SCI8(6,24), SCI8_MASK
, PPCVLE
, 0, {RA
, RS
, SCLSCI8
}},
9945 {"e_andi.", SCI8(6,25), SCI8_MASK
, PPCVLE
, 0, {RA
, RS
, SCLSCI8
}},
9946 {"e_nop", SCI8(6,26), 0xffffffff, PPCVLE
, EXT
, {0}},
9947 {"e_ori", SCI8(6,26), SCI8_MASK
, PPCVLE
, 0, {RA
, RS
, SCLSCI8
}},
9948 {"e_ori.", SCI8(6,27), SCI8_MASK
, PPCVLE
, 0, {RA
, RS
, SCLSCI8
}},
9949 {"e_xori", SCI8(6,28), SCI8_MASK
, PPCVLE
, 0, {RA
, RS
, SCLSCI8
}},
9950 {"e_xori.", SCI8(6,29), SCI8_MASK
, PPCVLE
, 0, {RA
, RS
, SCLSCI8
}},
9951 {"e_lbzu", OPVUP(6,0), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9952 {"e_lhau", OPVUP(6,3), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9953 {"e_lhzu", OPVUP(6,1), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9954 {"e_lmw", OPVUP(6,8), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9955 {"e_lwzu", OPVUP(6,2), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9956 {"e_stbu", OPVUP(6,4), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9957 {"e_sthu", OPVUP(6,5), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9958 {"e_stwu", OPVUP(6,6), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9959 {"e_stmw", OPVUP(6,9), OPVUP_MASK
, PPCVLE
, 0, {RT
, D8
, RA0
}},
9960 {"e_lmvgprw", OPVUPRT(6,16,0),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9961 {"e_ldmvgprw", OPVUPRT(6,16,0),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9962 {"e_stmvgprw", OPVUPRT(6,17,0),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9963 {"e_lmvsprw", OPVUPRT(6,16,1),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9964 {"e_ldmvsprw", OPVUPRT(6,16,1),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9965 {"e_stmvsprw", OPVUPRT(6,17,1),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9966 {"e_lmvsrrw", OPVUPRT(6,16,4),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9967 {"e_ldmvsrrw", OPVUPRT(6,16,4),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9968 {"e_stmvsrrw", OPVUPRT(6,17,4),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9969 {"e_lmvcsrrw", OPVUPRT(6,16,5),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9970 {"e_ldmvcsrrw", OPVUPRT(6,16,5),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9971 {"e_stmvcsrrw", OPVUPRT(6,17,5),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9972 {"e_lmvdsrrw", OPVUPRT(6,16,6),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9973 {"e_ldmvdsrrw", OPVUPRT(6,16,6),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9974 {"e_stmvdsrrw", OPVUPRT(6,17,6),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9975 {"e_lmvmcsrrw", OPVUPRT(6,16,7),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9976 {"e_stmvmcsrrw",OPVUPRT(6,17,7),OPVUPRT_MASK
, PPCVLE
, 0, {D8
, RA0
}},
9977 {"e_add16i", OP(7), OP_MASK
, PPCVLE
, 0, {RT
, RA
, SI
}},
9978 {"e_la", OP(7), OP_MASK
, PPCVLE
, EXT
, {RT
, D
, RA0
}},
9979 {"e_sub16i", OP(7), OP_MASK
, PPCVLE
, EXT
, {RT
, RA
, NSI
}},
9981 {"se_addi", SE_IM5(8,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, OIMM5
}},
9982 {"se_cmpli", SE_IM5(8,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, OIMM5
}},
9983 {"se_subi", SE_IM5(9,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, OIMM5
}},
9984 {"se_subi.", SE_IM5(9,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, OIMM5
}},
9985 {"se_cmpi", SE_IM5(10,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
9986 {"se_bmaski", SE_IM5(11,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
9987 {"se_andi", SE_IM5(11,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
9989 {"e_lbz", OP(12), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
9990 {"e_stb", OP(13), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
9991 {"e_lha", OP(14), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
9993 {"se_srw", SE_RR(16,0), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9994 {"se_sraw", SE_RR(16,1), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9995 {"se_slw", SE_RR(16,2), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9996 {"se_nop", SE_RR(17,0), 0xffff, PPCVLE
, EXT
, {0}},
9997 {"se_or", SE_RR(17,0), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9998 {"se_andc", SE_RR(17,1), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
9999 {"se_and", SE_RR(17,2), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
10000 {"se_and.", SE_RR(17,3), SE_RR_MASK
, PPCVLE
, 0, {RX
, RY
}},
10001 {"se_li", IM7(9), IM7_MASK
, PPCVLE
, 0, {RX
, UI7
}},
10003 {"e_lwz", OP(20), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
10004 {"e_stw", OP(21), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
10005 {"e_lhz", OP(22), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
10006 {"e_sth", OP(23), OP_MASK
, PPCVLE
, 0, {RT
, D
, RA0
}},
10008 {"se_bclri", SE_IM5(24,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10009 {"se_bgeni", SE_IM5(24,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10010 {"se_bseti", SE_IM5(25,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10011 {"se_btsti", SE_IM5(25,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10012 {"se_srwi", SE_IM5(26,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10013 {"se_srawi", SE_IM5(26,1), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10014 {"se_slwi", SE_IM5(27,0), SE_IM5_MASK
, PPCVLE
, 0, {RX
, UI5
}},
10016 {"e_lis", I16L(28,28), I16L_MASK
, PPCVLE
, 0, {RD
, VLEUIMML
}},
10017 {"e_and2is.", I16L(28,29), I16L_MASK
, PPCVLE
, 0, {RD
, VLEUIMML
}},
10018 {"e_or2is", I16L(28,26), I16L_MASK
, PPCVLE
, 0, {RD
, VLEUIMML
}},
10019 {"e_and2i.", I16L(28,25), I16L_MASK
, PPCVLE
, 0, {RD
, VLEUIMML
}},
10020 {"e_or2i", I16L(28,24), I16L_MASK
, PPCVLE
, 0, {RD
, VLEUIMML
}},
10021 {"e_cmphl16i", IA16(28,23), IA16_MASK
, PPCVLE
, 0, {RA
, VLEUIMM
}},
10022 {"e_cmph16i", IA16(28,22), IA16_MASK
, PPCVLE
, 0, {RA
, VLESIMM
}},
10023 {"e_cmpl16i", I16A(28,21), I16A_MASK
, PPCVLE
, 0, {RA
, VLEUIMM
}},
10024 {"e_mull2i", I16A(28,20), I16A_MASK
, PPCVLE
, 0, {RA
, VLESIMM
}},
10025 {"e_cmp16i", IA16(28,19), IA16_MASK
, PPCVLE
, 0, {RA
, VLESIMM
}},
10026 {"e_sub2is", I16A(28,18), I16A_MASK
, PPCVLE
, EXT
, {RA
, VLENSIMM
}},
10027 {"e_add2is", I16A(28,18), I16A_MASK
, PPCVLE
, 0, {RA
, VLESIMM
}},
10028 {"e_sub2i.", I16A(28,17), I16A_MASK
, PPCVLE
, EXT
, {RA
, VLENSIMM
}},
10029 {"e_add2i.", I16A(28,17), I16A_MASK
, PPCVLE
, 0, {RA
, VLESIMM
}},
10030 {"e_li", LI20(28,0), LI20_MASK
, PPCVLE
, 0, {RT
, IMM20
}},
10031 {"e_rlwimi", M(29,0), M_MASK
, PPCVLE
, 0, {RA
, RS
, SH
, MB
, ME
}},
10032 {"e_inslwi", M(29,0), M_MASK
, PPCVLE
, EXT
, {RA
, RS
, ILWn
, ILWb
}},
10033 {"e_insrwi", M(29,0), M_MASK
, PPCVLE
, EXT
, {RA
, RS
, IRWn
, IRWb
}},
10034 {"e_rotlwi", MME(29,31,1), MMBME_MASK
, PPCVLE
, EXT
, {RA
, RS
, SH
}},
10035 {"e_rotrwi", MME(29,31,1), MMBME_MASK
, PPCVLE
, EXT
, {RA
, RS
, RRWn
}},
10036 {"e_clrlwi", MME(29,31,1), MSHME_MASK
, PPCVLE
, EXT
, {RA
, RS
, MB
}},
10037 {"e_clrrwi", M(29,1), MSHMB_MASK
, PPCVLE
, EXT
, {RA
, RS
, CRWn
}},
10038 {"e_rlwinm", M(29,1), M_MASK
, PPCVLE
, 0, {RA
, RS
, SH
, MBE
, ME
}},
10039 {"e_extlwi", M(29,1), MMB_MASK
, PPCVLE
, EXT
, {RA
, RS
, ELWn
, SH
}},
10040 {"e_extrwi", MME(29,31,1), MME_MASK
, PPCVLE
, EXT
, {RA
, RS
, ERWn
, ERWb
}},
10041 {"e_clrlslwi", M(29,1), M_MASK
, PPCVLE
, EXT
, {RA
, RS
, CSLWb
, CSLWn
}},
10042 {"e_b", BD24(30,0,0), BD24_MASK
, PPCVLE
, 0, {B24
}},
10043 {"e_bl", BD24(30,0,1), BD24_MASK
, PPCVLE
, 0, {B24
}},
10044 {"e_bdnz", EBD15(30,8,BO32DNZ
,0), EBD15_MASK
, PPCVLE
, EXT
, {B15
}},
10045 {"e_bdnzl", EBD15(30,8,BO32DNZ
,1), EBD15_MASK
, PPCVLE
, EXT
, {B15
}},
10046 {"e_bdz", EBD15(30,8,BO32DZ
,0), EBD15_MASK
, PPCVLE
, EXT
, {B15
}},
10047 {"e_bdzl", EBD15(30,8,BO32DZ
,1), EBD15_MASK
, PPCVLE
, EXT
, {B15
}},
10048 {"e_bge", EBD15BI(30,8,BO32F
,CBLT
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10049 {"e_bgel", EBD15BI(30,8,BO32F
,CBLT
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10050 {"e_bnl", EBD15BI(30,8,BO32F
,CBLT
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10051 {"e_bnll", EBD15BI(30,8,BO32F
,CBLT
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10052 {"e_blt", EBD15BI(30,8,BO32T
,CBLT
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10053 {"e_bltl", EBD15BI(30,8,BO32T
,CBLT
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10054 {"e_bgt", EBD15BI(30,8,BO32T
,CBGT
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10055 {"e_bgtl", EBD15BI(30,8,BO32T
,CBGT
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10056 {"e_ble", EBD15BI(30,8,BO32F
,CBGT
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10057 {"e_blel", EBD15BI(30,8,BO32F
,CBGT
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10058 {"e_bng", EBD15BI(30,8,BO32F
,CBGT
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10059 {"e_bngl", EBD15BI(30,8,BO32F
,CBGT
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10060 {"e_bne", EBD15BI(30,8,BO32F
,CBEQ
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10061 {"e_bnel", EBD15BI(30,8,BO32F
,CBEQ
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10062 {"e_beq", EBD15BI(30,8,BO32T
,CBEQ
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10063 {"e_beql", EBD15BI(30,8,BO32T
,CBEQ
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10064 {"e_bso", EBD15BI(30,8,BO32T
,CBSO
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10065 {"e_bsol", EBD15BI(30,8,BO32T
,CBSO
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10066 {"e_bun", EBD15BI(30,8,BO32T
,CBSO
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10067 {"e_bunl", EBD15BI(30,8,BO32T
,CBSO
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10068 {"e_bns", EBD15BI(30,8,BO32F
,CBSO
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10069 {"e_bnsl", EBD15BI(30,8,BO32F
,CBSO
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10070 {"e_bnu", EBD15BI(30,8,BO32F
,CBSO
,0), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10071 {"e_bnul", EBD15BI(30,8,BO32F
,CBSO
,1), EBD15BI_MASK
, PPCVLE
, EXT
, {CRS
,B15
}},
10072 {"e_bc", BD15(30,8,0), BD15_MASK
, PPCVLE
, 0, {BO32
, BI32
, B15
}},
10073 {"e_bcl", BD15(30,8,1), BD15_MASK
, PPCVLE
, 0, {BO32
, BI32
, B15
}},
10075 {"e_bf", EBD15(30,8,BO32F
,0), EBD15_MASK
, PPCVLE
, EXT
, {BI32
,B15
}},
10076 {"e_bfl", EBD15(30,8,BO32F
,1), EBD15_MASK
, PPCVLE
, EXT
, {BI32
,B15
}},
10077 {"e_bt", EBD15(30,8,BO32T
,0), EBD15_MASK
, PPCVLE
, EXT
, {BI32
,B15
}},
10078 {"e_btl", EBD15(30,8,BO32T
,1), EBD15_MASK
, PPCVLE
, EXT
, {BI32
,B15
}},
10080 {"e_cmph", X(31,14), X_MASK
, PPCVLE
, 0, {CRD
, RA
, RB
}},
10081 {"e_sc", X(31,36), XRTRA_MASK
, PPCVLE
, 0, {ELEV
}},
10082 {"e_cmphl", X(31,46), X_MASK
, PPCVLE
, 0, {CRD
, RA
, RB
}},
10083 {"e_crandc", XL(31,129), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10084 {"e_crnand", XL(31,225), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10085 {"e_crnot", XL(31,33), XL_MASK
, PPCVLE
, EXT
, {BT
, BAB
}},
10086 {"e_crnor", XL(31,33), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10087 {"e_crclr", XL(31,193), XL_MASK
, PPCVLE
, EXT
, {BTAB
}},
10088 {"e_crxor", XL(31,193), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10089 {"e_mcrf", XL(31,16), XL_MASK
, PPCVLE
, 0, {CRD
, CR
}},
10090 {"e_slwi", EX(31,112), EX_MASK
, PPCVLE
, 0, {RA
, RS
, SH
}},
10091 {"e_slwi.", EX(31,113), EX_MASK
, PPCVLE
, 0, {RA
, RS
, SH
}},
10093 {"e_crand", XL(31,257), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10095 {"e_rlw", EX(31,560), EX_MASK
, PPCVLE
, 0, {RA
, RS
, RB
}},
10096 {"e_rlw.", EX(31,561), EX_MASK
, PPCVLE
, 0, {RA
, RS
, RB
}},
10098 {"e_crset", XL(31,289), XL_MASK
, PPCVLE
, EXT
, {BTAB
}},
10099 {"e_creqv", XL(31,289), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10101 {"e_rlwi", EX(31,624), EX_MASK
, PPCVLE
, 0, {RA
, RS
, SH
}},
10102 {"e_rlwi.", EX(31,625), EX_MASK
, PPCVLE
, 0, {RA
, RS
, SH
}},
10104 {"e_crorc", XL(31,417), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10106 {"e_crmove", XL(31,449), XL_MASK
, PPCVLE
, EXT
, {BT
, BAB
}},
10107 {"e_cror", XL(31,449), XL_MASK
, PPCVLE
, 0, {BT
, BA
, BB
}},
10109 {"mtmas1", XSPR(31,467,625), XSPR_MASK
, PPCVLE
, EXT
, {RS
}},
10111 {"e_srwi", EX(31,1136), EX_MASK
, PPCVLE
, 0, {RA
, RS
, SH
}},
10112 {"e_srwi.", EX(31,1137), EX_MASK
, PPCVLE
, 0, {RA
, RS
, SH
}},
10114 {"se_lbz", SD4(8), SD4_MASK
, PPCVLE
, 0, {RZ
, SE_SD
, RX
}},
10116 {"se_stb", SD4(9), SD4_MASK
, PPCVLE
, 0, {RZ
, SE_SD
, RX
}},
10118 {"se_lhz", SD4(10), SD4_MASK
, PPCVLE
, 0, {RZ
, SE_SDH
, RX
}},
10120 {"se_sth", SD4(11), SD4_MASK
, PPCVLE
, 0, {RZ
, SE_SDH
, RX
}},
10122 {"se_lwz", SD4(12), SD4_MASK
, PPCVLE
, 0, {RZ
, SE_SDW
, RX
}},
10124 {"se_stw", SD4(13), SD4_MASK
, PPCVLE
, 0, {RZ
, SE_SDW
, RX
}},
10126 {"se_bge", EBD8IO(28,0,0), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10127 {"se_bnl", EBD8IO(28,0,0), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10128 {"se_ble", EBD8IO(28,0,1), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10129 {"se_bng", EBD8IO(28,0,1), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10130 {"se_bne", EBD8IO(28,0,2), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10131 {"se_bns", EBD8IO(28,0,3), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10132 {"se_bnu", EBD8IO(28,0,3), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10133 {"se_bf", EBD8IO(28,0,0), EBD8IO2_MASK
, PPCVLE
, EXT
, {BI16
, B8
}},
10134 {"se_blt", EBD8IO(28,1,0), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10135 {"se_bgt", EBD8IO(28,1,1), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10136 {"se_beq", EBD8IO(28,1,2), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10137 {"se_bso", EBD8IO(28,1,3), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10138 {"se_bun", EBD8IO(28,1,3), EBD8IO3_MASK
, PPCVLE
, EXT
, {B8
}},
10139 {"se_bt", EBD8IO(28,1,0), EBD8IO2_MASK
, PPCVLE
, EXT
, {BI16
, B8
}},
10140 {"se_bc", BD8IO(28), BD8IO_MASK
, PPCVLE
, 0, {BO16
, BI16
, B8
}},
10141 {"se_b", BD8(58,0,0), BD8_MASK
, PPCVLE
, 0, {B8
}},
10142 {"se_bl", BD8(58,0,1), BD8_MASK
, PPCVLE
, 0, {B8
}},
10145 const unsigned int vle_num_opcodes
= ARRAY_SIZE (vle_opcodes
);
10147 const struct powerpc_opcode lsp_opcodes
[] = {
10148 {"zvaddih", VX(4, 0x200), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM
}},
10149 {"zvsubifh", VX(4, 0x201), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM
}},
10150 {"zvaddh", VX(4, 0x204), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10151 {"zvsubfh", VX(4, 0x205), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10152 {"zvaddsubfh", VX(4, 0x206), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10153 {"zvsubfaddh", VX(4, 0x207), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10154 {"zvaddhx", VX(4, 0x20C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10155 {"zvsubfhx", VX(4, 0x20D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10156 {"zvaddsubfhx", VX(4, 0x20E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10157 {"zvsubfaddhx", VX(4, 0x20F), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10158 {"zaddwus", VX(4, 0x210), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10159 {"zsubfwus", VX(4, 0x211), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10160 {"zaddwss", VX(4, 0x212), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10161 {"zsubfwss", VX(4, 0x213), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10162 {"zvaddhus", VX(4, 0x214), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10163 {"zvsubfhus", VX(4, 0x215), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10164 {"zvaddhss", VX(4, 0x216), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10165 {"zvsubfhss", VX(4, 0x217), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10166 {"zvaddsubfhss", VX(4, 0x21A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10167 {"zvsubfaddhss", VX(4, 0x21B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10168 {"zvaddhxss", VX(4, 0x21C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10169 {"zvsubfhxss", VX(4, 0x21D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10170 {"zvaddsubfhxss", VX(4, 0x21E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10171 {"zvsubfaddhxss", VX(4, 0x21F), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10172 {"zaddheuw", VX(4, 0x220), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10173 {"zsubfheuw", VX(4, 0x221), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10174 {"zaddhesw", VX(4, 0x222), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10175 {"zsubfhesw", VX(4, 0x223), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10176 {"zaddhouw", VX(4, 0x224), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10177 {"zsubfhouw", VX(4, 0x225), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10178 {"zaddhosw", VX(4, 0x226), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10179 {"zsubfhosw", VX(4, 0x227), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10180 {"zvmergehih", VX(4, 0x22C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10181 {"zvmergeloh", VX(4, 0x22D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10182 {"zvmergehiloh", VX(4, 0x22E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10183 {"zvmergelohih", VX(4, 0x22F), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10184 {"zvcmpgthu", VX(4, 0x230), VX_MASK
, PPCLSP
, 0, {CRFD
, RA
, RB
}},
10185 {"zvcmpgths", VX(4, 0x230), VX_MASK
, PPCLSP
, 0, {CRFD
, RA
, RB
}},
10186 {"zvcmplthu", VX(4, 0x231), VX_MASK
, PPCLSP
, 0, {CRFD
, RA
, RB
}},
10187 {"zvcmplths", VX(4, 0x231), VX_MASK
, PPCLSP
, 0, {CRFD
, RA
, RB
}},
10188 {"zvcmpeqh", VX(4, 0x232), VX_MASK
, PPCLSP
, 0, {CRFD
, RA
, RB
}},
10189 {"zpkswgshfrs", VX(4, 0x238), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10190 {"zpkswgswfrs", VX(4, 0x239), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10191 {"zvpkshgwshfrs", VX(4, 0x23A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10192 {"zvpkswshfrs", VX(4, 0x23B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10193 {"zvpkswuhs", VX(4, 0x23C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10194 {"zvpkswshs", VX(4, 0x23D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10195 {"zvpkuwuhs", VX(4, 0x23E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10196 {"zvsplatih", VX_LSP(4, 0x23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, SIMM
}},
10197 {"zvsplatfih", VX_LSP(4, 0xA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, SIMM
}},
10198 {"zcntlsw", VX_LSP(4, 0x2A3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10199 {"zvcntlzh", VX_LSP(4, 0x323F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10200 {"zvcntlsh", VX_LSP(4, 0x3A3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10201 {"znegws", VX_LSP(4, 0x4A3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10202 {"zvnegh", VX_LSP(4, 0x523F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10203 {"zvneghs", VX_LSP(4, 0x5A3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10204 {"zvnegho", VX_LSP(4, 0x623F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10205 {"zvneghos", VX_LSP(4, 0x6A3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10206 {"zrndwh", VX_LSP(4, 0x823F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10207 {"zrndwhss", VX_LSP(4, 0x8A3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10208 {"zvabsh", VX_LSP(4, 0xA23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10209 {"zvabshs", VX_LSP(4, 0xAA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10210 {"zabsw", VX_LSP(4, 0xB23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10211 {"zabsws", VX_LSP(4, 0xBA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10212 {"zsatswuw", VX_LSP(4, 0xC23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10213 {"zsatuwsw", VX_LSP(4, 0xCA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10214 {"zsatswuh", VX_LSP(4, 0xD23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10215 {"zsatswsh", VX_LSP(4, 0xDA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10216 {"zvsatshuh", VX_LSP(4, 0xE23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10217 {"zvsatuhsh", VX_LSP(4, 0xEA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10218 {"zsatuwuh", VX_LSP(4, 0xF23F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10219 {"zsatuwsh", VX_LSP(4, 0xFA3F), VX_LSP_MASK
, PPCLSP
, 0, {RD
, RA
}},
10220 {"zsatsduw", VX(4, 0x260), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10221 {"zsatsdsw", VX(4, 0x261), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10222 {"zsatuduw", VX(4, 0x262), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10223 {"zvselh", VX(4, 0x264), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10224 {"zxtrw", VX(4, 0x264), VX_LSP_OFF_MASK
, PPCLSP
, 0, {RD
, RA
, RB
, VX_OFF
}},
10225 {"zbrminc", VX(4, 0x268), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10226 {"zcircinc", VX(4, 0x269), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10227 {"zdivwsf", VX(4, 0x26B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10228 {"zvsrhu", VX(4, 0x270), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10229 {"zvsrhs", VX(4, 0x271), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10230 {"zvsrhiu", VX(4, 0x272), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM_LT16
}},
10231 {"zvsrhis", VX(4, 0x273), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM_LT16
}},
10232 {"zvslh", VX(4, 0x274), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10233 {"zvrlh", VX(4, 0x275), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10234 {"zvslhi", VX(4, 0x276), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM_LT16
}},
10235 {"zvrlhi", VX(4, 0x277), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM_LT16
}},
10236 {"zvslhus", VX(4, 0x278), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10237 {"zvslhss", VX(4, 0x279), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10238 {"zvslhius", VX(4, 0x27A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM_LT16
}},
10239 {"zvslhiss", VX(4, 0x27B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM_LT16
}},
10240 {"zslwus", VX(4, 0x27C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10241 {"zslwss", VX(4, 0x27D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10242 {"zslwius", VX(4, 0x27E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM
}},
10243 {"zslwiss", VX(4, 0x27F), VX_MASK
, PPCLSP
, 0, {RD
, RA
, EVUIMM
}},
10244 {"zlddx", VX(4, 0x300), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10245 {"zldd", VX(4, 0x301), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_8
, RA
}},
10246 {"zldwx", VX(4, 0x302), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10247 {"zldw", VX(4, 0x303), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_8
, RA
}},
10248 {"zldhx", VX(4, 0x304), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10249 {"zldh", VX(4, 0x305), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_8
, RA
}},
10250 {"zlwgsfdx", VX(4, 0x308), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10251 {"zlwgsfd", VX(4, 0x309), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10252 {"zlwwosdx", VX(4, 0x30A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10253 {"zlwwosd", VX(4, 0x30B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10254 {"zlwhsplatwdx", VX(4, 0x30C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10255 {"zlwhsplatwd", VX(4, 0x30D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10256 {"zlwhsplatdx", VX(4, 0x30E), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10257 {"zlwhsplatd", VX(4, 0x30F), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10258 {"zlwhgwsfdx", VX(4, 0x310), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10259 {"zlwhgwsfd", VX(4, 0x311), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10260 {"zlwhedx", VX(4, 0x312), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10261 {"zlwhed", VX(4, 0x313), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10262 {"zlwhosdx", VX(4, 0x314), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10263 {"zlwhosd", VX(4, 0x315), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10264 {"zlwhoudx", VX(4, 0x316), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10265 {"zlwhoud", VX(4, 0x317), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4
, RA
}},
10266 {"zlwhx", VX(4, 0x318), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10267 {"zlwh", VX(4, 0x319), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_4
, RA
}},
10268 {"zlwwx", VX(4, 0x31A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10269 {"zlww", VX(4, 0x31B), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_4
, RA
}},
10270 {"zlhgwsfx", VX(4, 0x31C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10271 {"zlhgwsf", VX(4, 0x31D), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2
, RA
}},
10272 {"zlhhsplatx", VX(4, 0x31E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10273 {"zlhhsplat", VX(4, 0x31F), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2
, RA
}},
10274 {"zstddx", VX(4, 0x320), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10275 {"zstdd", VX(4, 0x321), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_8
, RA
}},
10276 {"zstdwx", VX(4, 0x322), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10277 {"zstdw", VX(4, 0x323), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_8
, RA
}},
10278 {"zstdhx", VX(4, 0x324), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10279 {"zstdh", VX(4, 0x325), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_8
, RA
}},
10280 {"zstwhedx", VX(4, 0x328), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10281 {"zstwhed", VX(4, 0x329), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_4
, RA
}},
10282 {"zstwhodx", VX(4, 0x32A), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10283 {"zstwhod", VX(4, 0x32B), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_4
, RA
}},
10284 {"zlhhex", VX(4, 0x330), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10285 {"zlhhe", VX(4, 0x331), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2
, RA
}},
10286 {"zlhhosx", VX(4, 0x332), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10287 {"zlhhos", VX(4, 0x333), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2
, RA
}},
10288 {"zlhhoux", VX(4, 0x334), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10289 {"zlhhou", VX(4, 0x335), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2
, RA
}},
10290 {"zsthex", VX(4, 0x338), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10291 {"zsthe", VX(4, 0x339), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_2
, RA
}},
10292 {"zsthox", VX(4, 0x33A), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10293 {"zstho", VX(4, 0x33B), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_2
, RA
}},
10294 {"zstwhx", VX(4, 0x33C), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10295 {"zstwh", VX(4, 0x33D), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_4
, RA
}},
10296 {"zstwwx", VX(4, 0x33E), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10297 {"zstww", VX(4, 0x33F), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_4
, RA
}},
10298 {"zlddmx", VX(4, 0x340), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10299 {"zlddu", VX(4, 0x341), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_8_EX0
, RA
}},
10300 {"zldwmx", VX(4, 0x342), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10301 {"zldwu", VX(4, 0x343), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_8_EX0
, RA
}},
10302 {"zldhmx", VX(4, 0x344), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10303 {"zldhu", VX(4, 0x345), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_8_EX0
, RA
}},
10304 {"zlwgsfdmx", VX(4, 0x348), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10305 {"zlwgsfdu", VX(4, 0x349), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10306 {"zlwwosdmx", VX(4, 0x34A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10307 {"zlwwosdu", VX(4, 0x34B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10308 {"zlwhsplatwdmx", VX(4, 0x34C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10309 {"zlwhsplatwdu", VX(4, 0x34D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10310 {"zlwhsplatdmx", VX(4, 0x34E), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10311 {"zlwhsplatdu", VX(4, 0x34F), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10312 {"zlwhgwsfdmx", VX(4, 0x350), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10313 {"zlwhgwsfdu", VX(4, 0x351), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10314 {"zlwhedmx", VX(4, 0x352), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10315 {"zlwhedu", VX(4, 0x353), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10316 {"zlwhosdmx", VX(4, 0x354), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10317 {"zlwhosdu", VX(4, 0x355), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10318 {"zlwhoudmx", VX(4, 0x356), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10319 {"zlwhoudu", VX(4, 0x357), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, EVUIMM_4_EX0
, RA
}},
10320 {"zlwhmx", VX(4, 0x358), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10321 {"zlwhu", VX(4, 0x359), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
10322 {"zlwwmx", VX(4, 0x35A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10323 {"zlwwu", VX(4, 0x35B), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
10324 {"zlhgwsfmx", VX(4, 0x35C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10325 {"zlhgwsfu", VX(4, 0x35D), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
10326 {"zlhhsplatmx", VX(4, 0x35E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10327 {"zlhhsplatu", VX(4, 0x35F), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
10328 {"zstddmx", VX(4, 0x360), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10329 {"zstddu", VX(4, 0x361), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_8_EX0
, RA
}},
10330 {"zstdwmx", VX(4, 0x362), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10331 {"zstdwu", VX(4, 0x363), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_8_EX0
, RA
}},
10332 {"zstdhmx", VX(4, 0x364), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10333 {"zstdhu", VX(4, 0x365), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_8_EX0
, RA
}},
10334 {"zstwhedmx", VX(4, 0x368), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10335 {"zstwhedu", VX(4, 0x369), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_4_EX0
, RA
}},
10336 {"zstwhodmx", VX(4, 0x36A), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, RA
, RB
}},
10337 {"zstwhodu", VX(4, 0x36B), VX_MASK
, PPCLSP
, 0, {RS_EVEN
, EVUIMM_4_EX0
, RA
}},
10338 {"zlhhemx", VX(4, 0x370), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10339 {"zlhheu", VX(4, 0x371), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
10340 {"zlhhosmx", VX(4, 0x372), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10341 {"zlhhosu", VX(4, 0x373), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
10342 {"zlhhoumx", VX(4, 0x374), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10343 {"zlhhouu", VX(4, 0x375), VX_MASK
, PPCLSP
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
10344 {"zsthemx", VX(4, 0x378), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10345 {"zstheu", VX(4, 0x379), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_2_EX0
, RA
}},
10346 {"zsthomx", VX(4, 0x37A), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10347 {"zsthou", VX(4, 0x37B), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_2_EX0
, RA
}},
10348 {"zstwhmx", VX(4, 0x37C), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10349 {"zstwhu", VX(4, 0x37D), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
10350 {"zstwwmx", VX(4, 0x37E), VX_MASK
, PPCLSP
, 0, {RS
, RA
, RB
}},
10351 {"zstwwu", VX(4, 0x37F), VX_MASK
, PPCLSP
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
10352 {"zaddwgui", VX(4, 0x460), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10353 {"zsubfwgui", VX(4, 0x461), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10354 {"zaddd", VX(4, 0x462), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10355 {"zsubfd", VX(4, 0x463), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10356 {"zvaddsubfw", VX(4, 0x464), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10357 {"zvsubfaddw", VX(4, 0x465), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10358 {"zvaddw", VX(4, 0x466), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10359 {"zvsubfw", VX(4, 0x467), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10360 {"zaddwgsi", VX(4, 0x468), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10361 {"zsubfwgsi", VX(4, 0x469), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10362 {"zadddss", VX(4, 0x46A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10363 {"zsubfdss", VX(4, 0x46B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10364 {"zvaddsubfwss", VX(4, 0x46C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10365 {"zvsubfaddwss", VX(4, 0x46D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10366 {"zvaddwss", VX(4, 0x46E), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10367 {"zvsubfwss", VX(4, 0x46F), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10368 {"zaddwgsf", VX(4, 0x470), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10369 {"zsubfwgsf", VX(4, 0x471), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10370 {"zadddus", VX(4, 0x472), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10371 {"zsubfdus", VX(4, 0x473), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10372 {"zvaddwus", VX(4, 0x476), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10373 {"zvsubfwus", VX(4, 0x477), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10374 {"zvunpkhgwsf", VX_LSP(4, 0x478), VX_LSP_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
}},
10375 {"zvunpkhsf", VX_LSP(4, 0xC78), VX_LSP_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
}},
10376 {"zvunpkhui", VX_LSP(4, 0x1478), VX_LSP_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
}},
10377 {"zvunpkhsi", VX_LSP(4, 0x1C78), VX_LSP_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
}},
10378 {"zunpkwgsf", VX_LSP(4, 0x2478), VX_LSP_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
}},
10379 {"zvdotphgwasmf", VX(4, 0x488), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10380 {"zvdotphgwasmfr", VX(4, 0x489), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10381 {"zvdotphgwasmfaa", VX(4, 0x48A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10382 {"zvdotphgwasmfraa", VX(4, 0x48B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10383 {"zvdotphgwasmfan", VX(4, 0x48C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10384 {"zvdotphgwasmfran", VX(4, 0x48D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10385 {"zvmhulgwsmf", VX(4, 0x490), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10386 {"zvmhulgwsmfr", VX(4, 0x491), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10387 {"zvmhulgwsmfaa", VX(4, 0x492), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10388 {"zvmhulgwsmfraa", VX(4, 0x493), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10389 {"zvmhulgwsmfan", VX(4, 0x494), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10390 {"zvmhulgwsmfran", VX(4, 0x495), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10391 {"zvmhulgwsmfanp", VX(4, 0x496), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10392 {"zvmhulgwsmfranp", VX(4, 0x497), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10393 {"zmhegwsmf", VX(4, 0x498), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10394 {"zmhegwsmfr", VX(4, 0x499), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10395 {"zmhegwsmfaa", VX(4, 0x49A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10396 {"zmhegwsmfraa", VX(4, 0x49B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10397 {"zmhegwsmfan", VX(4, 0x49C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10398 {"zmhegwsmfran", VX(4, 0x49D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10399 {"zvdotphxgwasmf", VX(4, 0x4A8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10400 {"zvdotphxgwasmfr", VX(4, 0x4A9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10401 {"zvdotphxgwasmfaa", VX(4, 0x4AA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10402 {"zvdotphxgwasmfraa", VX(4, 0x4AB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10403 {"zvdotphxgwasmfan", VX(4, 0x4AC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10404 {"zvdotphxgwasmfran", VX(4, 0x4AD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10405 {"zvmhllgwsmf", VX(4, 0x4B0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10406 {"zvmhllgwsmfr", VX(4, 0x4B1), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10407 {"zvmhllgwsmfaa", VX(4, 0x4B2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10408 {"zvmhllgwsmfraa", VX(4, 0x4B3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10409 {"zvmhllgwsmfan", VX(4, 0x4B4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10410 {"zvmhllgwsmfran", VX(4, 0x4B5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10411 {"zvmhllgwsmfanp", VX(4, 0x4B6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10412 {"zvmhllgwsmfranp", VX(4, 0x4B7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10413 {"zmheogwsmf", VX(4, 0x4B8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10414 {"zmheogwsmfr", VX(4, 0x4B9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10415 {"zmheogwsmfaa", VX(4, 0x4BA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10416 {"zmheogwsmfraa", VX(4, 0x4BB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10417 {"zmheogwsmfan", VX(4, 0x4BC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10418 {"zmheogwsmfran", VX(4, 0x4BD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10419 {"zvdotphgwssmf", VX(4, 0x4C8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10420 {"zvdotphgwssmfr", VX(4, 0x4C9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10421 {"zvdotphgwssmfaa", VX(4, 0x4CA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10422 {"zvdotphgwssmfraa", VX(4, 0x4CB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10423 {"zvdotphgwssmfan", VX(4, 0x4CC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10424 {"zvdotphgwssmfran", VX(4, 0x4CD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10425 {"zvmhuugwsmf", VX(4, 0x4D0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10426 {"zvmhuugwsmfr", VX(4, 0x4D1), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10427 {"zvmhuugwsmfaa", VX(4, 0x4D2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10428 {"zvmhuugwsmfraa", VX(4, 0x4D3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10429 {"zvmhuugwsmfan", VX(4, 0x4D4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10430 {"zvmhuugwsmfran", VX(4, 0x4D5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10431 {"zvmhuugwsmfanp", VX(4, 0x4D6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10432 {"zvmhuugwsmfranp", VX(4, 0x4D7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10433 {"zmhogwsmf", VX(4, 0x4D8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10434 {"zmhogwsmfr", VX(4, 0x4D9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10435 {"zmhogwsmfaa", VX(4, 0x4DA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10436 {"zmhogwsmfraa", VX(4, 0x4DB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10437 {"zmhogwsmfan", VX(4, 0x4DC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10438 {"zmhogwsmfran", VX(4, 0x4DD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10439 {"zvmhxlgwsmf", VX(4, 0x4F0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10440 {"zvmhxlgwsmfr", VX(4, 0x4F1), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10441 {"zvmhxlgwsmfaa", VX(4, 0x4F2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10442 {"zvmhxlgwsmfraa", VX(4, 0x4F3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10443 {"zvmhxlgwsmfan", VX(4, 0x4F4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10444 {"zvmhxlgwsmfran", VX(4, 0x4F5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10445 {"zvmhxlgwsmfanp", VX(4, 0x4F6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10446 {"zvmhxlgwsmfranp", VX(4, 0x4F7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10447 {"zmhegui", VX(4, 0x500), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10448 {"zvdotphgaui", VX(4, 0x501), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10449 {"zmheguiaa", VX(4, 0x502), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10450 {"zvdotphgauiaa", VX(4, 0x503), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10451 {"zmheguian", VX(4, 0x504), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10452 {"zvdotphgauian", VX(4, 0x505), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10453 {"zmhegsi", VX(4, 0x508), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10454 {"zvdotphgasi", VX(4, 0x509), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10455 {"zmhegsiaa", VX(4, 0x50A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10456 {"zvdotphgasiaa", VX(4, 0x50B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10457 {"zmhegsian", VX(4, 0x50C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10458 {"zvdotphgasian", VX(4, 0x50D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10459 {"zmhegsui", VX(4, 0x510), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10460 {"zvdotphgasui", VX(4, 0x511), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10461 {"zmhegsuiaa", VX(4, 0x512), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10462 {"zvdotphgasuiaa", VX(4, 0x513), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10463 {"zmhegsuian", VX(4, 0x514), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10464 {"zvdotphgasuian", VX(4, 0x515), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10465 {"zmhegsmf", VX(4, 0x518), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10466 {"zvdotphgasmf", VX(4, 0x519), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10467 {"zmhegsmfaa", VX(4, 0x51A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10468 {"zvdotphgasmfaa", VX(4, 0x51B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10469 {"zmhegsmfan", VX(4, 0x51C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10470 {"zvdotphgasmfan", VX(4, 0x51D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10471 {"zmheogui", VX(4, 0x520), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10472 {"zvdotphxgaui", VX(4, 0x521), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10473 {"zmheoguiaa", VX(4, 0x522), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10474 {"zvdotphxgauiaa", VX(4, 0x523), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10475 {"zmheoguian", VX(4, 0x524), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10476 {"zvdotphxgauian", VX(4, 0x525), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10477 {"zmheogsi", VX(4, 0x528), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10478 {"zvdotphxgasi", VX(4, 0x529), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10479 {"zmheogsiaa", VX(4, 0x52A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10480 {"zvdotphxgasiaa", VX(4, 0x52B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10481 {"zmheogsian", VX(4, 0x52C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10482 {"zvdotphxgasian", VX(4, 0x52D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10483 {"zmheogsui", VX(4, 0x530), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10484 {"zvdotphxgasui", VX(4, 0x531), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10485 {"zmheogsuiaa", VX(4, 0x532), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10486 {"zvdotphxgasuiaa", VX(4, 0x533), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10487 {"zmheogsuian", VX(4, 0x534), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10488 {"zvdotphxgasuian", VX(4, 0x535), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10489 {"zmheogsmf", VX(4, 0x538), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10490 {"zvdotphxgasmf", VX(4, 0x539), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10491 {"zmheogsmfaa", VX(4, 0x53A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10492 {"zvdotphxgasmfaa", VX(4, 0x53B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10493 {"zmheogsmfan", VX(4, 0x53C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10494 {"zvdotphxgasmfan", VX(4, 0x53D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10495 {"zmhogui", VX(4, 0x540), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10496 {"zvdotphgsui", VX(4, 0x541), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10497 {"zmhoguiaa", VX(4, 0x542), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10498 {"zvdotphgsuiaa", VX(4, 0x543), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10499 {"zmhoguian", VX(4, 0x544), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10500 {"zvdotphgsuian", VX(4, 0x545), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10501 {"zmhogsi", VX(4, 0x548), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10502 {"zvdotphgssi", VX(4, 0x549), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10503 {"zmhogsiaa", VX(4, 0x54A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10504 {"zvdotphgssiaa", VX(4, 0x54B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10505 {"zmhogsian", VX(4, 0x54C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10506 {"zvdotphgssian", VX(4, 0x54D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10507 {"zmhogsui", VX(4, 0x550), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10508 {"zvdotphgssui", VX(4, 0x551), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10509 {"zmhogsuiaa", VX(4, 0x552), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10510 {"zvdotphgssuiaa", VX(4, 0x553), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10511 {"zmhogsuian", VX(4, 0x554), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10512 {"zvdotphgssuian", VX(4, 0x555), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10513 {"zmhogsmf", VX(4, 0x558), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10514 {"zvdotphgssmf", VX(4, 0x559), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10515 {"zmhogsmfaa", VX(4, 0x55A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10516 {"zvdotphgssmfaa", VX(4, 0x55B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10517 {"zmhogsmfan", VX(4, 0x55C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10518 {"zvdotphgssmfan", VX(4, 0x55D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10519 {"zmwgui", VX(4, 0x560), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10520 {"zmwguiaa", VX(4, 0x562), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10521 {"zmwguiaas", VX(4, 0x563), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10522 {"zmwguian", VX(4, 0x564), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10523 {"zmwguians", VX(4, 0x565), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10524 {"zmwgsi", VX(4, 0x568), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10525 {"zmwgsiaa", VX(4, 0x56A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10526 {"zmwgsiaas", VX(4, 0x56B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10527 {"zmwgsian", VX(4, 0x56C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10528 {"zmwgsians", VX(4, 0x56D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10529 {"zmwgsui", VX(4, 0x570), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10530 {"zmwgsuiaa", VX(4, 0x572), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10531 {"zmwgsuiaas", VX(4, 0x573), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10532 {"zmwgsuian", VX(4, 0x574), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10533 {"zmwgsuians", VX(4, 0x575), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10534 {"zmwgsmf", VX(4, 0x578), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10535 {"zmwgsmfr", VX(4, 0x579), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10536 {"zmwgsmfaa", VX(4, 0x57A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10537 {"zmwgsmfraa", VX(4, 0x57B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10538 {"zmwgsmfan", VX(4, 0x57C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10539 {"zmwgsmfran", VX(4, 0x57D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10540 {"zvmhului", VX(4, 0x580), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10541 {"zvmhuluiaa", VX(4, 0x582), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10542 {"zvmhuluiaas", VX(4, 0x583), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10543 {"zvmhuluian", VX(4, 0x584), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10544 {"zvmhuluians", VX(4, 0x585), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10545 {"zvmhuluianp", VX(4, 0x586), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10546 {"zvmhuluianps", VX(4, 0x587), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10547 {"zvmhulsi", VX(4, 0x588), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10548 {"zvmhulsiaa", VX(4, 0x58A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10549 {"zvmhulsiaas", VX(4, 0x58B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10550 {"zvmhulsian", VX(4, 0x58C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10551 {"zvmhulsians", VX(4, 0x58D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10552 {"zvmhulsianp", VX(4, 0x58E), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10553 {"zvmhulsianps", VX(4, 0x58F), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10554 {"zvmhulsui", VX(4, 0x590), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10555 {"zvmhulsuiaa", VX(4, 0x592), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10556 {"zvmhulsuiaas", VX(4, 0x593), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10557 {"zvmhulsuian", VX(4, 0x594), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10558 {"zvmhulsuians", VX(4, 0x595), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10559 {"zvmhulsuianp", VX(4, 0x596), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10560 {"zvmhulsuianps", VX(4, 0x597), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10561 {"zvmhulsf", VX(4, 0x598), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10562 {"zvmhulsfr", VX(4, 0x599), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10563 {"zvmhulsfaas", VX(4, 0x59A), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10564 {"zvmhulsfraas", VX(4, 0x59B), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10565 {"zvmhulsfans", VX(4, 0x59C), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10566 {"zvmhulsfrans", VX(4, 0x59D), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10567 {"zvmhulsfanps", VX(4, 0x59E), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10568 {"zvmhulsfranps", VX(4, 0x59F), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10569 {"zvmhllui", VX(4, 0x5A0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10570 {"zvmhlluiaa", VX(4, 0x5A2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10571 {"zvmhlluiaas", VX(4, 0x5A3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10572 {"zvmhlluian", VX(4, 0x5A4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10573 {"zvmhlluians", VX(4, 0x5A5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10574 {"zvmhlluianp", VX(4, 0x5A6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10575 {"zvmhlluianps", VX(4, 0x5A7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10576 {"zvmhllsi", VX(4, 0x5A8), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10577 {"zvmhllsiaa", VX(4, 0x5AA), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10578 {"zvmhllsiaas", VX(4, 0x5AB), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10579 {"zvmhllsian", VX(4, 0x5AC), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10580 {"zvmhllsians", VX(4, 0x5AD), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10581 {"zvmhllsianp", VX(4, 0x5AE), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10582 {"zvmhllsianps", VX(4, 0x5AF), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10583 {"zvmhllsui", VX(4, 0x5B0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10584 {"zvmhllsuiaa", VX(4, 0x5B2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10585 {"zvmhllsuiaas", VX(4, 0x5B3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10586 {"zvmhllsuian", VX(4, 0x5B4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10587 {"zvmhllsuians", VX(4, 0x5B5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10588 {"zvmhllsuianp", VX(4, 0x5B6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10589 {"zvmhllsuianps", VX(4, 0x5B7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10590 {"zvmhllsf", VX(4, 0x5B8), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10591 {"zvmhllsfr", VX(4, 0x5B9), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10592 {"zvmhllsfaas", VX(4, 0x5BA), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10593 {"zvmhllsfraas", VX(4, 0x5BB), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10594 {"zvmhllsfans", VX(4, 0x5BC), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10595 {"zvmhllsfrans", VX(4, 0x5BD), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10596 {"zvmhllsfanps", VX(4, 0x5BE), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10597 {"zvmhllsfranps", VX(4, 0x5BF), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10598 {"zvmhuuui", VX(4, 0x5C0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10599 {"zvmhuuuiaa", VX(4, 0x5C2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10600 {"zvmhuuuiaas", VX(4, 0x5C3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10601 {"zvmhuuuian", VX(4, 0x5C4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10602 {"zvmhuuuians", VX(4, 0x5C5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10603 {"zvmhuuuianp", VX(4, 0x5C6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10604 {"zvmhuuuianps", VX(4, 0x5C7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10605 {"zvmhuusi", VX(4, 0x5C8), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10606 {"zvmhuusiaa", VX(4, 0x5CA), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10607 {"zvmhuusiaas", VX(4, 0x5CB), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10608 {"zvmhuusian", VX(4, 0x5CC), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10609 {"zvmhuusians", VX(4, 0x5CD), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10610 {"zvmhuusianp", VX(4, 0x5CE), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10611 {"zvmhuusianps", VX(4, 0x5CF), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10612 {"zvmhuusui", VX(4, 0x5D0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10613 {"zvmhuusuiaa", VX(4, 0x5D2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10614 {"zvmhuusuiaas", VX(4, 0x5D3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10615 {"zvmhuusuian", VX(4, 0x5D4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10616 {"zvmhuusuians", VX(4, 0x5D5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10617 {"zvmhuusuianp", VX(4, 0x5D6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10618 {"zvmhuusuianps", VX(4, 0x5D7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10619 {"zvmhuusf", VX(4, 0x5D8), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10620 {"zvmhuusfr", VX(4, 0x5D9), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10621 {"zvmhuusfaas", VX(4, 0x5DA), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10622 {"zvmhuusfraas", VX(4, 0x5DB), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10623 {"zvmhuusfans", VX(4, 0x5DC), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10624 {"zvmhuusfrans", VX(4, 0x5DD), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10625 {"zvmhuusfanps", VX(4, 0x5DE), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10626 {"zvmhuusfranps", VX(4, 0x5DF), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10627 {"zvmhxlui", VX(4, 0x5E0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10628 {"zvmhxluiaa", VX(4, 0x5E2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10629 {"zvmhxluiaas", VX(4, 0x5E3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10630 {"zvmhxluian", VX(4, 0x5E4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10631 {"zvmhxluians", VX(4, 0x5E5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10632 {"zvmhxluianp", VX(4, 0x5E6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10633 {"zvmhxluianps", VX(4, 0x5E7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10634 {"zvmhxlsi", VX(4, 0x5E8), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10635 {"zvmhxlsiaa", VX(4, 0x5EA), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10636 {"zvmhxlsiaas", VX(4, 0x5EB), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10637 {"zvmhxlsian", VX(4, 0x5EC), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10638 {"zvmhxlsians", VX(4, 0x5ED), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10639 {"zvmhxlsianp", VX(4, 0x5EE), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10640 {"zvmhxlsianps", VX(4, 0x5EF), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10641 {"zvmhxlsui", VX(4, 0x5F0), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10642 {"zvmhxlsuiaa", VX(4, 0x5F2), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10643 {"zvmhxlsuiaas", VX(4, 0x5F3), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10644 {"zvmhxlsuian", VX(4, 0x5F4), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10645 {"zvmhxlsuians", VX(4, 0x5F5), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10646 {"zvmhxlsuianp", VX(4, 0x5F6), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10647 {"zvmhxlsuianps", VX(4, 0x5F7), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10648 {"zvmhxlsf", VX(4, 0x5F8), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10649 {"zvmhxlsfr", VX(4, 0x5F9), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10650 {"zvmhxlsfaas", VX(4, 0x5FA), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10651 {"zvmhxlsfraas", VX(4, 0x5FB), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10652 {"zvmhxlsfans", VX(4, 0x5FC), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10653 {"zvmhxlsfrans", VX(4, 0x5FD), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10654 {"zvmhxlsfanps", VX(4, 0x5FE), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10655 {"zvmhxlsfranps", VX(4, 0x5FF), VX_MASK
, PPCLSP
, 0, {RD_EVEN
, RA
, RB
}},
10656 {"zmheui", VX(4, 0x600), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10657 {"zmheuiaa", VX(4, 0x602), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10658 {"zmheuiaas", VX(4, 0x603), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10659 {"zmheuian", VX(4, 0x604), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10660 {"zmheuians", VX(4, 0x605), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10661 {"zmhesi", VX(4, 0x608), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10662 {"zmhesiaa", VX(4, 0x60A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10663 {"zmhesiaas", VX(4, 0x60B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10664 {"zmhesian", VX(4, 0x60C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10665 {"zmhesians", VX(4, 0x60D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10666 {"zmhesui", VX(4, 0x610), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10667 {"zmhesuiaa", VX(4, 0x612), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10668 {"zmhesuiaas", VX(4, 0x613), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10669 {"zmhesuian", VX(4, 0x614), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10670 {"zmhesuians", VX(4, 0x615), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10671 {"zmhesf", VX(4, 0x618), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10672 {"zmhesfr", VX(4, 0x619), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10673 {"zmhesfaas", VX(4, 0x61A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10674 {"zmhesfraas", VX(4, 0x61B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10675 {"zmhesfans", VX(4, 0x61C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10676 {"zmhesfrans", VX(4, 0x61D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10677 {"zmheoui", VX(4, 0x620), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10678 {"zmheouiaa", VX(4, 0x622), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10679 {"zmheouiaas", VX(4, 0x623), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10680 {"zmheouian", VX(4, 0x624), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10681 {"zmheouians", VX(4, 0x625), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10682 {"zmheosi", VX(4, 0x628), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10683 {"zmheosiaa", VX(4, 0x62A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10684 {"zmheosiaas", VX(4, 0x62B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10685 {"zmheosian", VX(4, 0x62C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10686 {"zmheosians", VX(4, 0x62D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10687 {"zmheosui", VX(4, 0x630), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10688 {"zmheosuiaa", VX(4, 0x632), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10689 {"zmheosuiaas", VX(4, 0x633), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10690 {"zmheosuian", VX(4, 0x634), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10691 {"zmheosuians", VX(4, 0x635), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10692 {"zmheosf", VX(4, 0x638), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10693 {"zmheosfr", VX(4, 0x639), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10694 {"zmheosfaas", VX(4, 0x63A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10695 {"zmheosfraas", VX(4, 0x63B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10696 {"zmheosfans", VX(4, 0x63C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10697 {"zmheosfrans", VX(4, 0x63D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10698 {"zmhoui", VX(4, 0x640), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10699 {"zmhouiaa", VX(4, 0x642), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10700 {"zmhouiaas", VX(4, 0x643), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10701 {"zmhouian", VX(4, 0x644), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10702 {"zmhouians", VX(4, 0x645), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10703 {"zmhosi", VX(4, 0x648), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10704 {"zmhosiaa", VX(4, 0x64A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10705 {"zmhosiaas", VX(4, 0x64B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10706 {"zmhosian", VX(4, 0x64C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10707 {"zmhosians", VX(4, 0x64D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10708 {"zmhosui", VX(4, 0x650), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10709 {"zmhosuiaa", VX(4, 0x652), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10710 {"zmhosuiaas", VX(4, 0x653), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10711 {"zmhosuian", VX(4, 0x654), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10712 {"zmhosuians", VX(4, 0x655), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10713 {"zmhosf", VX(4, 0x658), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10714 {"zmhosfr", VX(4, 0x659), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10715 {"zmhosfaas", VX(4, 0x65A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10716 {"zmhosfraas", VX(4, 0x65B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10717 {"zmhosfans", VX(4, 0x65C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10718 {"zmhosfrans", VX(4, 0x65D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10719 {"zvmhuih", VX(4, 0x660), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10720 {"zvmhuihs", VX(4, 0x661), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10721 {"zvmhuiaah", VX(4, 0x662), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10722 {"zvmhuiaahs", VX(4, 0x663), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10723 {"zvmhuianh", VX(4, 0x664), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10724 {"zvmhuianhs", VX(4, 0x665), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10725 {"zvmhsihs", VX(4, 0x669), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10726 {"zvmhsiaahs", VX(4, 0x66B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10727 {"zvmhsianhs", VX(4, 0x66D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10728 {"zvmhsuihs", VX(4, 0x671), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10729 {"zvmhsuiaahs", VX(4, 0x673), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10730 {"zvmhsuianhs", VX(4, 0x675), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10731 {"zvmhsfh", VX(4, 0x678), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10732 {"zvmhsfrh", VX(4, 0x679), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10733 {"zvmhsfaahs", VX(4, 0x67A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10734 {"zvmhsfraahs", VX(4, 0x67B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10735 {"zvmhsfanhs", VX(4, 0x67C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10736 {"zvmhsfranhs", VX(4, 0x67D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10737 {"zvdotphaui", VX(4, 0x680), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10738 {"zvdotphauis", VX(4, 0x681), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10739 {"zvdotphauiaa", VX(4, 0x682), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10740 {"zvdotphauiaas", VX(4, 0x683), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10741 {"zvdotphauian", VX(4, 0x684), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10742 {"zvdotphauians", VX(4, 0x685), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10743 {"zvdotphasi", VX(4, 0x688), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10744 {"zvdotphasis", VX(4, 0x689), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10745 {"zvdotphasiaa", VX(4, 0x68A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10746 {"zvdotphasiaas", VX(4, 0x68B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10747 {"zvdotphasian", VX(4, 0x68C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10748 {"zvdotphasians", VX(4, 0x68D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10749 {"zvdotphasui", VX(4, 0x690), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10750 {"zvdotphasuis", VX(4, 0x691), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10751 {"zvdotphasuiaa", VX(4, 0x692), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10752 {"zvdotphasuiaas", VX(4, 0x693), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10753 {"zvdotphasuian", VX(4, 0x694), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10754 {"zvdotphasuians", VX(4, 0x695), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10755 {"zvdotphasfs", VX(4, 0x698), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10756 {"zvdotphasfrs", VX(4, 0x699), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10757 {"zvdotphasfaas", VX(4, 0x69A), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10758 {"zvdotphasfraas", VX(4, 0x69B), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10759 {"zvdotphasfans", VX(4, 0x69C), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10760 {"zvdotphasfrans", VX(4, 0x69D), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10761 {"zvdotphxaui", VX(4, 0x6A0), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10762 {"zvdotphxauis", VX(4, 0x6A1), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10763 {"zvdotphxauiaa", VX(4, 0x6A2), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10764 {"zvdotphxauiaas", VX(4, 0x6A3), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10765 {"zvdotphxauian", VX(4, 0x6A4), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10766 {"zvdotphxauians", VX(4, 0x6A5), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10767 {"zvdotphxasi", VX(4, 0x6A8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10768 {"zvdotphxasis", VX(4, 0x6A9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10769 {"zvdotphxasiaa", VX(4, 0x6AA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10770 {"zvdotphxasiaas", VX(4, 0x6AB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10771 {"zvdotphxasian", VX(4, 0x6AC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10772 {"zvdotphxasians", VX(4, 0x6AD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10773 {"zvdotphxasui", VX(4, 0x6B0), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10774 {"zvdotphxasuis", VX(4, 0x6B1), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10775 {"zvdotphxasuiaa", VX(4, 0x6B2), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10776 {"zvdotphxasuiaas", VX(4, 0x6B3), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10777 {"zvdotphxasuian", VX(4, 0x6B4), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10778 {"zvdotphxasuians", VX(4, 0x6B5), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10779 {"zvdotphxasfs", VX(4, 0x6B8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10780 {"zvdotphxasfrs", VX(4, 0x6B9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10781 {"zvdotphxasfaas", VX(4, 0x6BA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10782 {"zvdotphxasfraas", VX(4, 0x6BB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10783 {"zvdotphxasfans", VX(4, 0x6BC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10784 {"zvdotphxasfrans", VX(4, 0x6BD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10785 {"zvdotphsui", VX(4, 0x6C0), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10786 {"zvdotphsuis", VX(4, 0x6C1), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10787 {"zvdotphsuiaa", VX(4, 0x6C2), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10788 {"zvdotphsuiaas", VX(4, 0x6C3), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10789 {"zvdotphsuian", VX(4, 0x6C4), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10790 {"zvdotphsuians", VX(4, 0x6C5), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10791 {"zvdotphssi", VX(4, 0x6C8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10792 {"zvdotphssis", VX(4, 0x6C9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10793 {"zvdotphssiaa", VX(4, 0x6CA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10794 {"zvdotphssiaas", VX(4, 0x6CB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10795 {"zvdotphssian", VX(4, 0x6CC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10796 {"zvdotphssians", VX(4, 0x6CD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10797 {"zvdotphssui", VX(4, 0x6D0), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10798 {"zvdotphssuis", VX(4, 0x6D1), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10799 {"zvdotphssuiaa", VX(4, 0x6D2), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10800 {"zvdotphssuiaas", VX(4, 0x6D3), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10801 {"zvdotphssuian", VX(4, 0x6D4), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10802 {"zvdotphssuians", VX(4, 0x6D5), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10803 {"zvdotphssfs", VX(4, 0x6D8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10804 {"zvdotphssfrs", VX(4, 0x6D9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10805 {"zvdotphssfaas", VX(4, 0x6DA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10806 {"zvdotphssfraas", VX(4, 0x6DB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10807 {"zvdotphssfans", VX(4, 0x6DC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10808 {"zvdotphssfrans", VX(4, 0x6DD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10809 {"zmwluis", VX(4, 0x6E1), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10810 {"zmwluiaa", VX(4, 0x6E2), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10811 {"zmwluiaas", VX(4, 0x6E3), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10812 {"zmwluian", VX(4, 0x6E4), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10813 {"zmwluians", VX(4, 0x6E5), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10814 {"zmwlsis", VX(4, 0x6E9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10815 {"zmwlsiaas", VX(4, 0x6EB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10816 {"zmwlsians", VX(4, 0x6ED), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10817 {"zmwlsuis", VX(4, 0x6F1), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10818 {"zmwlsuiaas", VX(4, 0x6F3), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10819 {"zmwlsuians", VX(4, 0x6F5), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10820 {"zmwsf", VX(4, 0x6F8), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10821 {"zmwsfr", VX(4, 0x6F9), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10822 {"zmwsfaas", VX(4, 0x6FA), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10823 {"zmwsfraas", VX(4, 0x6FB), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10824 {"zmwsfans", VX(4, 0x6FC), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10825 {"zmwsfrans", VX(4, 0x6FD), VX_MASK
, PPCLSP
, 0, {RD
, RA
, RB
}},
10828 const unsigned int lsp_num_opcodes
= ARRAY_SIZE (lsp_opcodes
);
10830 /* SPE v2 instruction set from SPE2PIM Rev. 2 08/2011 */
10831 const struct powerpc_opcode spe2_opcodes
[] = {
10832 {"evdotpwcssi", VX (4, 128), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10833 {"evdotpwcsmi", VX (4, 129), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10834 {"evdotpwcssfr", VX (4, 130), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10835 {"evdotpwcssf", VX (4, 131), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10836 {"evdotpwgasmf", VX (4, 136), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10837 {"evdotpwxgasmf", VX (4, 137), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10838 {"evdotpwgasmfr", VX (4, 138), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10839 {"evdotpwxgasmfr", VX (4, 139), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10840 {"evdotpwgssmf", VX (4, 140), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10841 {"evdotpwxgssmf", VX (4, 141), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10842 {"evdotpwgssmfr", VX (4, 142), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10843 {"evdotpwxgssmfr", VX (4, 143), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10844 {"evdotpwcssiaaw3", VX (4, 144), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10845 {"evdotpwcsmiaaw3", VX (4, 145), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10846 {"evdotpwcssfraaw3", VX (4, 146), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10847 {"evdotpwcssfaaw3", VX (4, 147), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10848 {"evdotpwgasmfaa3", VX (4, 152), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10849 {"evdotpwxgasmfaa3", VX (4, 153), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10850 {"evdotpwgasmfraa3", VX (4, 154), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10851 {"evdotpwxgasmfraa3", VX (4, 155), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10852 {"evdotpwgssmfaa3", VX (4, 156), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10853 {"evdotpwxgssmfaa3", VX (4, 157), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10854 {"evdotpwgssmfraa3", VX (4, 158), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10855 {"evdotpwxgssmfraa3", VX (4, 159), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10856 {"evdotpwcssia", VX (4, 160), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10857 {"evdotpwcsmia", VX (4, 161), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10858 {"evdotpwcssfra", VX (4, 162), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10859 {"evdotpwcssfa", VX (4, 163), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10860 {"evdotpwgasmfa", VX (4, 168), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10861 {"evdotpwxgasmfa", VX (4, 169), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10862 {"evdotpwgasmfra", VX (4, 170), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10863 {"evdotpwxgasmfra", VX (4, 171), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10864 {"evdotpwgssmfa", VX (4, 172), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10865 {"evdotpwxgssmfa", VX (4, 173), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10866 {"evdotpwgssmfra", VX (4, 174), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10867 {"evdotpwxgssmfra", VX (4, 175), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10868 {"evdotpwcssiaaw", VX (4, 176), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10869 {"evdotpwcsmiaaw", VX (4, 177), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10870 {"evdotpwcssfraaw", VX (4, 178), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10871 {"evdotpwcssfaaw", VX (4, 179), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10872 {"evdotpwgasmfaa", VX (4, 184), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10873 {"evdotpwxgasmfaa", VX (4, 185), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10874 {"evdotpwgasmfraa", VX (4, 186), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10875 {"evdotpwxgasmfraa", VX (4, 187), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10876 {"evdotpwgssmfaa", VX (4, 188), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10877 {"evdotpwxgssmfaa", VX (4, 189), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10878 {"evdotpwgssmfraa", VX (4, 190), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10879 {"evdotpwxgssmfraa", VX (4, 191), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10880 {"evdotphihcssi", VX (4, 256), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10881 {"evdotplohcssi", VX (4, 257), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10882 {"evdotphihcssf", VX (4, 258), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10883 {"evdotplohcssf", VX (4, 259), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10884 {"evdotphihcsmi", VX (4, 264), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10885 {"evdotplohcsmi", VX (4, 265), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10886 {"evdotphihcssfr", VX (4, 266), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10887 {"evdotplohcssfr", VX (4, 267), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10888 {"evdotphihcssiaaw3", VX (4, 272), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10889 {"evdotplohcssiaaw3", VX (4, 273), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10890 {"evdotphihcssfaaw3", VX (4, 274), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10891 {"evdotplohcssfaaw3", VX (4, 275), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10892 {"evdotphihcsmiaaw3", VX (4, 280), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10893 {"evdotplohcsmiaaw3", VX (4, 281), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10894 {"evdotphihcssfraaw3", VX (4, 282), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10895 {"evdotplohcssfraaw3", VX (4, 283), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10896 {"evdotphihcssia", VX (4, 288), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10897 {"evdotplohcssia", VX (4, 289), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10898 {"evdotphihcssfa", VX (4, 290), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10899 {"evdotplohcssfa", VX (4, 291), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10900 {"evdotphihcsmia", VX (4, 296), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10901 {"evdotplohcsmia", VX (4, 297), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10902 {"evdotphihcssfra", VX (4, 298), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10903 {"evdotplohcssfra", VX (4, 299), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10904 {"evdotphihcssiaaw", VX (4, 304), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10905 {"evdotplohcssiaaw", VX (4, 305), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10906 {"evdotphihcssfaaw", VX (4, 306), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10907 {"evdotplohcssfaaw", VX (4, 307), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10908 {"evdotphihcsmiaaw", VX (4, 312), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10909 {"evdotplohcsmiaaw", VX (4, 313), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10910 {"evdotphihcssfraaw", VX (4, 314), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10911 {"evdotplohcssfraaw", VX (4, 315), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10912 {"evdotphausi", VX (4, 320), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10913 {"evdotphassi", VX (4, 321), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10914 {"evdotphasusi", VX (4, 322), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10915 {"evdotphassf", VX (4, 323), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10916 {"evdotphsssf", VX (4, 327), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10917 {"evdotphaumi", VX (4, 328), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10918 {"evdotphasmi", VX (4, 329), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10919 {"evdotphasumi", VX (4, 330), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10920 {"evdotphassfr", VX (4, 331), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10921 {"evdotphssmi", VX (4, 333), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10922 {"evdotphsssi", VX (4, 333), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10923 {"evdotphsssfr", VX (4, 335), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10924 {"evdotphausiaaw3", VX (4, 336), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10925 {"evdotphassiaaw3", VX (4, 337), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10926 {"evdotphasusiaaw3", VX (4, 338), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10927 {"evdotphassfaaw3", VX (4, 339), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10928 {"evdotphsssiaaw3", VX (4, 341), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10929 {"evdotphsssfaaw3", VX (4, 343), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10930 {"evdotphaumiaaw3", VX (4, 344), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10931 {"evdotphasmiaaw3", VX (4, 345), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10932 {"evdotphasumiaaw3", VX (4, 346), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10933 {"evdotphassfraaw3", VX (4, 347), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10934 {"evdotphssmiaaw3", VX (4, 349), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10935 {"evdotphsssfraaw3", VX (4, 351), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10936 {"evdotphausia", VX (4, 352), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10937 {"evdotphassia", VX (4, 353), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10938 {"evdotphasusia", VX (4, 354), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10939 {"evdotphassfa", VX (4, 355), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10940 {"evdotphsssfa", VX (4, 359), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10941 {"evdotphaumia", VX (4, 360), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10942 {"evdotphasmia", VX (4, 361), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10943 {"evdotphasumia", VX (4, 362), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10944 {"evdotphassfra", VX (4, 363), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10945 {"evdotphssmia", VX (4, 365), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10946 {"evdotphsssia", VX (4, 365), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10947 {"evdotphsssfra", VX (4, 367), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10948 {"evdotphausiaaw", VX (4, 368), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10949 {"evdotphassiaaw", VX (4, 369), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10950 {"evdotphasusiaaw", VX (4, 370), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10951 {"evdotphassfaaw", VX (4, 371), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10952 {"evdotphsssiaaw", VX (4, 373), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10953 {"evdotphsssfaaw", VX (4, 375), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10954 {"evdotphaumiaaw", VX (4, 376), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10955 {"evdotphasmiaaw", VX (4, 377), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10956 {"evdotphasumiaaw", VX (4, 378), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10957 {"evdotphassfraaw", VX (4, 379), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10958 {"evdotphssmiaaw", VX (4, 381), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10959 {"evdotphsssfraaw", VX (4, 383), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10960 {"evdotp4hgaumi", VX (4, 384), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10961 {"evdotp4hgasmi", VX (4, 385), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10962 {"evdotp4hgasumi", VX (4, 386), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10963 {"evdotp4hgasmf", VX (4, 387), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10964 {"evdotp4hgssmi", VX (4, 388), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10965 {"evdotp4hgssmf", VX (4, 389), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10966 {"evdotp4hxgasmi", VX (4, 390), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10967 {"evdotp4hxgasmf", VX (4, 391), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10968 {"evdotpbaumi", VX (4, 392), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10969 {"evdotpbasmi", VX (4, 393), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10970 {"evdotpbasumi", VX (4, 394), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10971 {"evdotp4hxgssmi", VX (4, 398), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10972 {"evdotp4hxgssmf", VX (4, 399), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10973 {"evdotp4hgaumiaa3", VX (4, 400), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10974 {"evdotp4hgasmiaa3", VX (4, 401), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10975 {"evdotp4hgasumiaa3", VX (4, 402), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10976 {"evdotp4hgasmfaa3", VX (4, 403), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10977 {"evdotp4hgssmiaa3", VX (4, 404), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10978 {"evdotp4hgssmfaa3", VX (4, 405), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10979 {"evdotp4hxgasmiaa3", VX (4, 406), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10980 {"evdotp4hxgasmfaa3", VX (4, 407), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10981 {"evdotpbaumiaaw3", VX (4, 408), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10982 {"evdotpbasmiaaw3", VX (4, 409), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10983 {"evdotpbasumiaaw3", VX (4, 410), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10984 {"evdotp4hxgssmiaa3", VX (4, 414), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10985 {"evdotp4hxgssmfaa3", VX (4, 415), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10986 {"evdotp4hgaumia", VX (4, 416), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10987 {"evdotp4hgasmia", VX (4, 417), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10988 {"evdotp4hgasumia", VX (4, 418), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10989 {"evdotp4hgasmfa", VX (4, 419), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10990 {"evdotp4hgssmia", VX (4, 420), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10991 {"evdotp4hgssmfa", VX (4, 421), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10992 {"evdotp4hxgasmia", VX (4, 422), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10993 {"evdotp4hxgasmfa", VX (4, 423), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10994 {"evdotpbaumia", VX (4, 424), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10995 {"evdotpbasmia", VX (4, 425), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10996 {"evdotpbasumia", VX (4, 426), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10997 {"evdotp4hxgssmia", VX (4, 430), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10998 {"evdotp4hxgssmfa", VX (4, 431), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
10999 {"evdotp4hgaumiaa", VX (4, 432), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11000 {"evdotp4hgasmiaa", VX (4, 433), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11001 {"evdotp4hgasumiaa", VX (4, 434), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11002 {"evdotp4hgasmfaa", VX (4, 435), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11003 {"evdotp4hgssmiaa", VX (4, 436), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11004 {"evdotp4hgssmfaa", VX (4, 437), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11005 {"evdotp4hxgasmiaa", VX (4, 438), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11006 {"evdotp4hxgasmfaa", VX (4, 439), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11007 {"evdotpbaumiaaw", VX (4, 440), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11008 {"evdotpbasmiaaw", VX (4, 441), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11009 {"evdotpbasumiaaw", VX (4, 442), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11010 {"evdotp4hxgssmiaa", VX (4, 446), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11011 {"evdotp4hxgssmfaa", VX (4, 447), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11012 {"evdotpwausi", VX (4, 448), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11013 {"evdotpwassi", VX (4, 449), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11014 {"evdotpwasusi", VX (4, 450), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11015 {"evdotpwaumi", VX (4, 456), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11016 {"evdotpwasmi", VX (4, 457), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11017 {"evdotpwasumi", VX (4, 458), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11018 {"evdotpwssmi", VX (4, 461), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11019 {"evdotpwsssi", VX (4, 461), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11020 {"evdotpwausiaa3", VX (4, 464), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11021 {"evdotpwassiaa3", VX (4, 465), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11022 {"evdotpwasusiaa3", VX (4, 466), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11023 {"evdotpwsssiaa3", VX (4, 469), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11024 {"evdotpwaumiaa3", VX (4, 472), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11025 {"evdotpwasmiaa3", VX (4, 473), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11026 {"evdotpwasumiaa3", VX (4, 474), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11027 {"evdotpwssmiaa3", VX (4, 477), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11028 {"evdotpwausia", VX (4, 480), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11029 {"evdotpwassia", VX (4, 481), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11030 {"evdotpwasusia", VX (4, 482), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11031 {"evdotpwaumia", VX (4, 488), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11032 {"evdotpwasmia", VX (4, 489), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11033 {"evdotpwasumia", VX (4, 490), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11034 {"evdotpwssmia", VX (4, 493), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11035 {"evdotpwsssia", VX (4, 493), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11036 {"evdotpwausiaa", VX (4, 496), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11037 {"evdotpwassiaa", VX (4, 497), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11038 {"evdotpwasusiaa", VX (4, 498), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11039 {"evdotpwsssiaa", VX (4, 501), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11040 {"evdotpwaumiaa", VX (4, 504), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11041 {"evdotpwasmiaa", VX (4, 505), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11042 {"evdotpwasumiaa", VX (4, 506), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11043 {"evdotpwssmiaa", VX (4, 509), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11044 {"evaddib", VX (4, 515), VX_MASK
, PPCSPE2
, 0, {RD
, RB
, UIMM
}},
11045 {"evaddih", VX (4, 513), VX_MASK
, PPCSPE2
, 0, {RD
, RB
, UIMM
}},
11046 {"evsubifh", VX (4, 517), VX_MASK
, PPCSPE2
, 0, {RD
, UIMM
, RB
}},
11047 {"evsubifb", VX (4, 519), VX_MASK
, PPCSPE2
, 0, {RD
, UIMM
, RB
}},
11048 {"evabsb", VX_RB_CONST(4, 520, 2), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11049 {"evabsh", VX_RB_CONST(4, 520, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11050 {"evabsd", VX_RB_CONST(4, 520, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11051 {"evabss", VX_RB_CONST(4, 520, 8), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11052 {"evabsbs", VX_RB_CONST(4, 520, 10), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11053 {"evabshs", VX_RB_CONST(4, 520, 12), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11054 {"evabsds", VX_RB_CONST(4, 520, 14), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11055 {"evnegwo", VX_RB_CONST(4, 521, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11056 {"evnegb", VX_RB_CONST(4, 521, 2), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11057 {"evnegbo", VX_RB_CONST(4, 521, 3), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11058 {"evnegh", VX_RB_CONST(4, 521, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11059 {"evnegho", VX_RB_CONST(4, 521, 5), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11060 {"evnegd", VX_RB_CONST(4, 521, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11061 {"evnegs", VX_RB_CONST(4, 521, 8), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11062 {"evnegwos", VX_RB_CONST(4, 521, 9), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11063 {"evnegbs", VX_RB_CONST(4, 521, 10), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11064 {"evnegbos", VX_RB_CONST(4, 521, 11), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11065 {"evneghs", VX_RB_CONST(4, 521, 12), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11066 {"evneghos", VX_RB_CONST(4, 521, 13), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11067 {"evnegds", VX_RB_CONST(4, 521, 14), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11068 {"evextzb", VX_RB_CONST(4, 522, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11069 {"evextsbh", VX_RB_CONST(4, 522, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11070 {"evextsw", VX_RB_CONST(4, 523, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11071 {"evrndwh", VX_RB_CONST(4, 524, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11072 {"evrndhb", VX_RB_CONST(4, 524, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11073 {"evrnddw", VX_RB_CONST(4, 524, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11074 {"evrndwhus", VX_RB_CONST(4, 524, 8), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11075 {"evrndwhss", VX_RB_CONST(4, 524, 9), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11076 {"evrndhbus", VX_RB_CONST(4, 524, 12), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11077 {"evrndhbss", VX_RB_CONST(4, 524, 13), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11078 {"evrnddwus", VX_RB_CONST(4, 524, 14), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11079 {"evrnddwss", VX_RB_CONST(4, 524, 15), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11080 {"evrndwnh", VX_RB_CONST(4, 524, 16), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11081 {"evrndhnb", VX_RB_CONST(4, 524, 20), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11082 {"evrnddnw", VX_RB_CONST(4, 524, 22), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11083 {"evrndwnhus", VX_RB_CONST(4, 524, 24), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11084 {"evrndwnhss", VX_RB_CONST(4, 524, 25), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11085 {"evrndhnbus", VX_RB_CONST(4, 524, 28), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11086 {"evrndhnbss", VX_RB_CONST(4, 524, 29), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11087 {"evrnddnwus", VX_RB_CONST(4, 524, 30), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11088 {"evrnddnwss", VX_RB_CONST(4, 524, 31), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11089 {"evcntlzh", VX_RB_CONST(4, 525, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11090 {"evcntlsh", VX_RB_CONST(4, 526, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11091 {"evpopcntb", VX_RB_CONST(4, 526, 26), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11092 {"circinc", VX (4, 528), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11093 {"evunpkhibui", VX_RB_CONST(4, 540, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11094 {"evunpkhibsi", VX_RB_CONST(4, 540, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11095 {"evunpkhihui", VX_RB_CONST(4, 540, 2), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11096 {"evunpkhihsi", VX_RB_CONST(4, 540, 3), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11097 {"evunpklobui", VX_RB_CONST(4, 540, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11098 {"evunpklobsi", VX_RB_CONST(4, 540, 5), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11099 {"evunpklohui", VX_RB_CONST(4, 540, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11100 {"evunpklohsi", VX_RB_CONST(4, 540, 7), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11101 {"evunpklohf", VX_RB_CONST(4, 540, 8), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11102 {"evunpkhihf", VX_RB_CONST(4, 540, 9), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11103 {"evunpklowgsf", VX_RB_CONST(4, 540, 12), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11104 {"evunpkhiwgsf", VX_RB_CONST(4, 540, 13), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11105 {"evsatsduw", VX_RB_CONST(4, 540, 16), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11106 {"evsatsdsw", VX_RB_CONST(4, 540, 17), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11107 {"evsatshub", VX_RB_CONST(4, 540, 18), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11108 {"evsatshsb", VX_RB_CONST(4, 540, 19), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11109 {"evsatuwuh", VX_RB_CONST(4, 540, 20), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11110 {"evsatswsh", VX_RB_CONST(4, 540, 21), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11111 {"evsatswuh", VX_RB_CONST(4, 540, 22), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11112 {"evsatuhub", VX_RB_CONST(4, 540, 23), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11113 {"evsatuduw", VX_RB_CONST(4, 540, 24), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11114 {"evsatuwsw", VX_RB_CONST(4, 540, 25), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11115 {"evsatshuh", VX_RB_CONST(4, 540, 26), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11116 {"evsatuhsh", VX_RB_CONST(4, 540, 27), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11117 {"evsatswuw", VX_RB_CONST(4, 540, 28), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11118 {"evsatswgsdf", VX_RB_CONST(4, 540, 29), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11119 {"evsatsbub", VX_RB_CONST(4, 540, 30), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11120 {"evsatubsb", VX_RB_CONST(4, 540, 31), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11121 {"evmaxhpuw", VX_RB_CONST(4, 541, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11122 {"evmaxhpsw", VX_RB_CONST(4, 541, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11123 {"evmaxbpuh", VX_RB_CONST(4, 541, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11124 {"evmaxbpsh", VX_RB_CONST(4, 541, 5), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11125 {"evmaxwpud", VX_RB_CONST(4, 541, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11126 {"evmaxwpsd", VX_RB_CONST(4, 541, 7), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11127 {"evminhpuw", VX_RB_CONST(4, 541, 8), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11128 {"evminhpsw", VX_RB_CONST(4, 541, 9), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11129 {"evminbpuh", VX_RB_CONST(4, 541, 12), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11130 {"evminbpsh", VX_RB_CONST(4, 541, 13), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11131 {"evminwpud", VX_RB_CONST(4, 541, 14), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11132 {"evminwpsd", VX_RB_CONST(4, 541, 15), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11133 {"evmaxmagws", VX (4, 543), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11134 {"evsl", VX (4, 549), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11135 {"evsli", VX (4, 551), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM
}},
11136 {"evsplatie", VX_RB_CONST (4, 553, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11137 {"evsplatib", VX_RB_CONST (4, 553, 2), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11138 {"evsplatibe", VX_RB_CONST (4, 553, 3), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11139 {"evsplatih", VX_RB_CONST (4, 553, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11140 {"evsplatihe", VX_RB_CONST (4, 553, 5), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11141 {"evsplatid", VX_RB_CONST (4, 553, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11142 {"evsplatia", VX_RB_CONST (4, 553, 16), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11143 {"evsplatiea", VX_RB_CONST (4, 553, 17), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11144 {"evsplatiba", VX_RB_CONST (4, 553, 18), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11145 {"evsplatibea", VX_RB_CONST (4, 553, 19), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11146 {"evsplatiha", VX_RB_CONST (4, 553, 20), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11147 {"evsplatihea", VX_RB_CONST (4, 553, 21), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11148 {"evsplatida", VX_RB_CONST (4, 553, 22), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11149 {"evsplatfio", VX_RB_CONST (4, 555, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11150 {"evsplatfib", VX_RB_CONST (4, 555, 2), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11151 {"evsplatfibo", VX_RB_CONST (4, 555, 3), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11152 {"evsplatfih", VX_RB_CONST (4, 555, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11153 {"evsplatfiho", VX_RB_CONST (4, 555, 5), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11154 {"evsplatfid", VX_RB_CONST (4, 555, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11155 {"evsplatfia", VX_RB_CONST (4, 555, 16), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11156 {"evsplatfioa", VX_RB_CONST (4, 555, 17), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11157 {"evsplatfiba", VX_RB_CONST (4, 555, 18), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11158 {"evsplatfiboa", VX_RB_CONST (4, 555, 19), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11159 {"evsplatfiha", VX_RB_CONST (4, 555, 20), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11160 {"evsplatfihoa", VX_RB_CONST (4, 555, 21), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11161 {"evsplatfida", VX_RB_CONST (4, 555, 22), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, SIMM
}},
11162 {"evcmpgtdu", VX_SPE_CRFD (4, 560, 1), VX_SPE_CRFD_MASK
, PPCSPE2
, 0, {CRFD
, RA
, RB
}},
11163 {"evcmpgtds", VX_SPE_CRFD (4, 561, 1), VX_SPE_CRFD_MASK
, PPCSPE2
, 0, {CRFD
, RA
, RB
}},
11164 {"evcmpltdu", VX_SPE_CRFD (4, 562, 1), VX_SPE_CRFD_MASK
, PPCSPE2
, 0, {CRFD
, RA
, RB
}},
11165 {"evcmpltds", VX_SPE_CRFD (4, 563, 1), VX_SPE_CRFD_MASK
, PPCSPE2
, 0, {CRFD
, RA
, RB
}},
11166 {"evcmpeqd", VX_SPE_CRFD (4, 564, 1), VX_SPE_CRFD_MASK
, PPCSPE2
, 0, {CRFD
, RA
, RB
}},
11167 {"evswapbhilo", VX (4, 568), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11168 {"evswapblohi", VX (4, 569), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11169 {"evswaphhilo", VX (4, 570), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11170 {"evswaphlohi", VX (4, 571), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11171 {"evswaphe", VX (4, 572), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11172 {"evswaphhi", VX (4, 573), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11173 {"evswaphlo", VX (4, 574), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11174 {"evswapho", VX (4, 575), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11175 {"evinsb", VX (4, 584), VX_MASK_DDD
, PPCSPE2
, 0, {RD
, RA
, DDD
, BBB
}},
11176 {"evxtrb", VX (4, 586), VX_MASK_DDD
, PPCSPE2
, 0, {RD
, RA
, DDD
, BBB
}},
11177 {"evsplath", VX_SPE2_HH (4, 588, 0, 0), VX_SPE2_HH_MASK
, PPCSPE2
, 0, {RD
, RA
, HH
}},
11178 {"evsplatb", VX_SPE2_SPLATB (4, 588, 2), VX_SPE2_SPLATB_MASK
, PPCSPE2
, 0, {RD
, RA
, BBB
}},
11179 {"evinsh", VX_SPE2_DDHH (4, 589, 0), VX_SPE2_DDHH_MASK
, PPCSPE2
, 0, {RD
, RA
, DD
, HH
}},
11180 {"evclrbe", VX_SPE2_CLR (4, 590, 0), VX_SPE2_CLR_MASK
, PPCSPE2
, 0, {RD
, RA
, MMMM
}},
11181 {"evclrbo", VX_SPE2_CLR (4, 590, 1), VX_SPE2_CLR_MASK
, PPCSPE2
, 0, {RD
, RA
, MMMM
}},
11182 {"evclrh", VX_SPE2_CLR (4, 591, 1), VX_SPE2_CLR_MASK
, PPCSPE2
, 0, {RD
, RA
, MMMM
}},
11183 {"evxtrh", VX_SPE2_DDHH (4, 591, 0), VX_SPE2_DDHH_MASK
, PPCSPE2
, 0, {RD
, RA
, DD
, HH
}},
11184 {"evselbitm0", VX (4, 592), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11185 {"evselbitm1", VX (4, 593), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11186 {"evselbit", VX (4, 594), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11187 {"evperm", VX (4, 596), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11188 {"evperm2", VX (4, 597), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11189 {"evperm3", VX (4, 598), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11190 {"evxtrd", VX (4, 600), VX_OFF_SPE2_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
, VX_OFF_SPE2
}},
11191 {"evsrbu", VX (4, 608), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11192 {"evsrbs", VX (4, 609), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11193 {"evsrbiu", VX (4, 610), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT8
}},
11194 {"evsrbis", VX (4, 611), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT8
}},
11195 {"evslb", VX (4, 612), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11196 {"evrlb", VX (4, 613), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11197 {"evslbi", VX (4, 614), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT8
}},
11198 {"evrlbi", VX (4, 615), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT8
}},
11199 {"evsrhu", VX (4, 616), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11200 {"evsrhs", VX (4, 617), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11201 {"evsrhiu", VX (4, 618), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT16
}},
11202 {"evsrhis", VX (4, 619), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT16
}},
11203 {"evslh", VX (4, 620), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11204 {"evrlh", VX (4, 621), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11205 {"evslhi", VX (4, 622), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT16
}},
11206 {"evrlhi", VX (4, 623), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM_LT16
}},
11207 {"evsru", VX (4, 624), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11208 {"evsrs", VX (4, 625), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11209 {"evsriu", VX (4, 626), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM
}},
11210 {"evsris", VX (4, 627), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, EVUIMM
}},
11211 {"evlvsl", VX (4, 628), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11212 {"evlvsr", VX (4, 629), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11213 {"evsroiu", VX_SPE2_OCTET (4, 631, 0), VX_SPE2_OCTET_MASK
, PPCSPE2
, 0, {RD
, RA
, NNN
}},
11214 {"evsrois", VX_SPE2_OCTET (4, 631, 1), VX_SPE2_OCTET_MASK
, PPCSPE2
, 0, {RD
, RA
, NNN
}},
11215 {"evsloi", VX_SPE2_OCTET (4, 631, 2), VX_SPE2_OCTET_MASK
, PPCSPE2
, 0, {RD
, RA
, NNN
}},
11216 {"evldbx", VX (4, 774), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11217 {"evldb", VX (4, 775), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_8
, RA
}},
11218 {"evlhhsplathx", VX (4, 778), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11219 {"evlhhsplath", VX (4, 779), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_2
, RA
}},
11220 {"evlwbsplatwx", VX (4, 786), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11221 {"evlwbsplatw", VX (4, 787), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4
, RA
}},
11222 {"evlwhsplatwx", VX (4, 794), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11223 {"evlwhsplatw", VX (4, 795), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4
, RA
}},
11224 {"evlbbsplatbx", VX (4, 798), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11225 {"evlbbsplatb", VX (4, 799), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_1
, RA
}},
11226 {"evstdbx", VX (4, 806), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11227 {"evstdb", VX (4, 807), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_8
, RA
}},
11228 {"evlwbex", VX (4, 810), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11229 {"evlwbe", VX (4, 811), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4
, RA
}},
11230 {"evlwboux", VX (4, 812), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11231 {"evlwbou", VX (4, 813), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4
, RA
}},
11232 {"evlwbosx", VX (4, 814), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11233 {"evlwbos", VX (4, 815), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4
, RA
}},
11234 {"evstwbex", VX (4, 818), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11235 {"evstwbe", VX (4, 819), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4
, RA
}},
11236 {"evstwbox", VX (4, 822), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11237 {"evstwbo", VX (4, 823), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4
, RA
}},
11238 {"evstwbx", VX (4, 826), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11239 {"evstwb", VX (4, 827), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4
, RA
}},
11240 {"evsthbx", VX (4, 830), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11241 {"evsthb", VX (4, 831), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_2
, RA
}},
11242 {"evlddmx", VX (4, 832), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11243 {"evlddu", VX (4, 833), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_8_EX0
, RA
}},
11244 {"evldwmx", VX (4, 834), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11245 {"evldwu", VX (4, 835), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_8_EX0
, RA
}},
11246 {"evldhmx", VX (4, 836), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11247 {"evldhu", VX (4, 837), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_8_EX0
, RA
}},
11248 {"evldbmx", VX (4, 838), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11249 {"evldbu", VX (4, 839), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_8_EX0
, RA
}},
11250 {"evlhhesplatmx", VX (4, 840), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11251 {"evlhhesplatu", VX (4, 841), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
11252 {"evlhhsplathmx", VX (4, 842), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11253 {"evlhhsplathu", VX (4, 843), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
11254 {"evlhhousplatmx", VX (4, 844), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11255 {"evlhhousplatu", VX (4, 845), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
11256 {"evlhhossplatmx", VX (4, 846), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11257 {"evlhhossplatu", VX (4, 847), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_2_EX0
, RA
}},
11258 {"evlwhemx", VX (4, 848), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11259 {"evlwheu", VX (4, 849), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11260 {"evlwbsplatwmx", VX (4, 850), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11261 {"evlwbsplatwu", VX (4, 851), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11262 {"evlwhoumx", VX (4, 852), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11263 {"evlwhouu", VX (4, 853), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11264 {"evlwhosmx", VX (4, 854), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11265 {"evlwhosu", VX (4, 855), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11266 {"evlwwsplatmx", VX (4, 856), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11267 {"evlwwsplatu", VX (4, 857), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11268 {"evlwhsplatwmx", VX (4, 858), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11269 {"evlwhsplatwu", VX (4, 859), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11270 {"evlwhsplatmx", VX (4, 860), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11271 {"evlwhsplatu", VX (4, 861), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11272 {"evlbbsplatbmx", VX (4, 862), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11273 {"evlbbsplatbu", VX (4, 863), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_1_EX0
, RA
}},
11274 {"evstddmx", VX (4, 864), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11275 {"evstddu", VX (4, 865), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_8_EX0
, RA
}},
11276 {"evstdwmx", VX (4, 866), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11277 {"evstdwu", VX (4, 867), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_8_EX0
, RA
}},
11278 {"evstdhmx", VX (4, 868), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11279 {"evstdhu", VX (4, 869), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_8_EX0
, RA
}},
11280 {"evstdbmx", VX (4, 870), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11281 {"evstdbu", VX (4, 871), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_8_EX0
, RA
}},
11282 {"evlwbemx", VX (4, 874), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11283 {"evlwbeu", VX (4, 875), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11284 {"evlwboumx", VX (4, 876), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11285 {"evlwbouu", VX (4, 877), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11286 {"evlwbosmx", VX (4, 878), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11287 {"evlwbosu", VX (4, 879), VX_MASK
, PPCSPE2
, 0, {RD
, EVUIMM_4_EX0
, RA
}},
11288 {"evstwhemx", VX (4, 880), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11289 {"evstwheu", VX (4, 881), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11290 {"evstwbemx", VX (4, 882), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11291 {"evstwbeu", VX (4, 883), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11292 {"evstwhomx", VX (4, 884), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11293 {"evstwhou", VX (4, 885), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11294 {"evstwbomx", VX (4, 886), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11295 {"evstwbou", VX (4, 887), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11296 {"evstwwemx", VX (4, 888), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11297 {"evstwweu", VX (4, 889), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11298 {"evstwbmx", VX (4, 890), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11299 {"evstwbu", VX (4, 891), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11300 {"evstwwomx", VX (4, 892), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11301 {"evstwwou", VX (4, 893), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_4_EX0
, RA
}},
11302 {"evsthbmx", VX (4, 894), VX_MASK
, PPCSPE2
, 0, {RS
, RA
, RB
}},
11303 {"evsthbu", VX (4, 895), VX_MASK
, PPCSPE2
, 0, {RS
, EVUIMM_2_EX0
, RA
}},
11304 {"evmhusi", VX (4, 1024), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11305 {"evmhssi", VX (4, 1025), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11306 {"evmhsusi", VX (4, 1026), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11307 {"evmhssf", VX (4, 1028), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11308 {"evmhumi", VX (4, 1029), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11309 {"evmhssfr", VX (4, 1030), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11310 {"evmhesumi", VX (4, 1034), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11311 {"evmhosumi", VX (4, 1038), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11312 {"evmbeumi", VX (4, 1048), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11313 {"evmbesmi", VX (4, 1049), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11314 {"evmbesumi", VX (4, 1050), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11315 {"evmboumi", VX (4, 1052), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11316 {"evmbosmi", VX (4, 1053), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11317 {"evmbosumi", VX (4, 1054), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11318 {"evmhesumia", VX (4, 1066), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11319 {"evmhosumia", VX (4, 1070), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11320 {"evmbeumia", VX (4, 1080), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11321 {"evmbesmia", VX (4, 1081), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11322 {"evmbesumia", VX (4, 1082), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11323 {"evmboumia", VX (4, 1084), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11324 {"evmbosmia", VX (4, 1085), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11325 {"evmbosumia", VX (4, 1086), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11326 {"evmwusiw", VX (4, 1088), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11327 {"evmwssiw", VX (4, 1089), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11328 {"evmwhssfr", VX (4, 1094), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11329 {"evmwehgsmfr", VX (4, 1110), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11330 {"evmwehgsmf", VX (4, 1111), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11331 {"evmwohgsmfr", VX (4, 1118), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11332 {"evmwohgsmf", VX (4, 1119), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11333 {"evmwhssfra", VX (4, 1126), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11334 {"evmwehgsmfra", VX (4, 1142), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11335 {"evmwehgsmfa", VX (4, 1143), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11336 {"evmwohgsmfra", VX (4, 1150), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11337 {"evmwohgsmfa", VX (4, 1151), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11338 {"evaddusiaa", VX_RB_CONST(4, 1152, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11339 {"evaddssiaa", VX_RB_CONST(4, 1153, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11340 {"evsubfusiaa", VX_RB_CONST(4, 1154, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11341 {"evsubfssiaa", VX_RB_CONST(4, 1155, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11342 {"evaddsmiaa", VX_RB_CONST(4, 1156, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11343 {"evsubfsmiaa", VX_RB_CONST(4, 1158, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11344 {"evaddh", VX (4, 1160), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11345 {"evaddhss", VX (4, 1161), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11346 {"evsubfh", VX (4, 1162), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11347 {"evsubfhss", VX (4, 1163), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11348 {"evaddhx", VX (4, 1164), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11349 {"evaddhxss", VX (4, 1165), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11350 {"evsubfhx", VX (4, 1166), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11351 {"evsubfhxss", VX (4, 1167), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11352 {"evaddd", VX (4, 1168), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11353 {"evadddss", VX (4, 1169), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11354 {"evsubfd", VX (4, 1170), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11355 {"evsubfdss", VX (4, 1171), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11356 {"evaddb", VX (4, 1172), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11357 {"evaddbss", VX (4, 1173), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11358 {"evsubfb", VX (4, 1174), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11359 {"evsubfbss", VX (4, 1175), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11360 {"evaddsubfh", VX (4, 1176), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11361 {"evaddsubfhss", VX (4, 1177), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11362 {"evsubfaddh", VX (4, 1178), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11363 {"evsubfaddhss", VX (4, 1179), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11364 {"evaddsubfhx", VX (4, 1180), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11365 {"evaddsubfhxss", VX (4, 1181), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11366 {"evsubfaddhx", VX (4, 1182), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11367 {"evsubfaddhxss", VX (4, 1183), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11368 {"evadddus", VX (4, 1184), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11369 {"evaddbus", VX (4, 1185), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11370 {"evsubfdus", VX (4, 1186), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11371 {"evsubfbus", VX (4, 1187), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11372 {"evaddwus", VX (4, 1188), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11373 {"evaddwxus", VX (4, 1189), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11374 {"evsubfwus", VX (4, 1190), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11375 {"evsubfwxus", VX (4, 1191), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11376 {"evadd2subf2h", VX (4, 1192), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11377 {"evadd2subf2hss", VX (4, 1193), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11378 {"evsubf2add2h", VX (4, 1194), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11379 {"evsubf2add2hss", VX (4, 1195), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11380 {"evaddhus", VX (4, 1196), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11381 {"evaddhxus", VX (4, 1197), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11382 {"evsubfhus", VX (4, 1198), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11383 {"evsubfhxus", VX (4, 1199), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11384 {"evaddwss", VX (4, 1201), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11385 {"evsubfwss", VX (4, 1203), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11386 {"evaddwx", VX (4, 1204), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11387 {"evaddwxss", VX (4, 1205), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11388 {"evsubfwx", VX (4, 1206), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11389 {"evsubfwxss", VX (4, 1207), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11390 {"evaddsubfw", VX (4, 1208), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11391 {"evaddsubfwss", VX (4, 1209), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11392 {"evsubfaddw", VX (4, 1210), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11393 {"evsubfaddwss", VX (4, 1211), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11394 {"evaddsubfwx", VX (4, 1212), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11395 {"evaddsubfwxss", VX (4, 1213), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11396 {"evsubfaddwx", VX (4, 1214), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11397 {"evsubfaddwxss", VX (4, 1215), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11398 {"evmar", VX_SPE2_EVMAR (4, 1220), VX_SPE2_EVMAR_MASK
, PPCSPE2
, 0, {RD
}},
11399 {"evsumwu", VX_RB_CONST(4, 1221, 0), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11400 {"evsumws", VX_RB_CONST(4, 1221, 1), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11401 {"evsum4bu", VX_RB_CONST(4, 1221, 2), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11402 {"evsum4bs", VX_RB_CONST(4, 1221, 3), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11403 {"evsum2hu", VX_RB_CONST(4, 1221, 4), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11404 {"evsum2hs", VX_RB_CONST(4, 1221, 5), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11405 {"evdiff2his", VX_RB_CONST(4, 1221, 6), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11406 {"evsum2his", VX_RB_CONST(4, 1221, 7), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11407 {"evsumwua", VX_RB_CONST(4, 1221, 16), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11408 {"evsumwsa", VX_RB_CONST(4, 1221, 17), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11409 {"evsum4bua", VX_RB_CONST(4, 1221, 18), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11410 {"evsum4bsa", VX_RB_CONST(4, 1221, 19), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11411 {"evsum2hua", VX_RB_CONST(4, 1221, 20), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11412 {"evsum2hsa", VX_RB_CONST(4, 1221, 21), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11413 {"evdiff2hisa", VX_RB_CONST(4, 1221, 22), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11414 {"evsum2hisa", VX_RB_CONST(4, 1221, 23), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11415 {"evsumwuaa", VX_RB_CONST(4, 1221, 24), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11416 {"evsumwsaa", VX_RB_CONST(4, 1221, 25), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11417 {"evsum4buaaw", VX_RB_CONST(4, 1221, 26), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11418 {"evsum4bsaaw", VX_RB_CONST(4, 1221, 27), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11419 {"evsum2huaaw", VX_RB_CONST(4, 1221, 28), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11420 {"evsum2hsaaw", VX_RB_CONST(4, 1221, 29), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11421 {"evdiff2hisaaw", VX_RB_CONST(4, 1221, 30), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11422 {"evsum2hisaaw", VX_RB_CONST(4, 1221, 31), VX_RB_CONST_MASK
, PPCSPE2
, 0, {RD
, RA
}},
11423 {"evdivwsf", VX (4, 1228), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11424 {"evdivwuf", VX (4, 1229), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11425 {"evdivs", VX (4, 1230), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11426 {"evdivu", VX (4, 1231), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11427 {"evaddwegsi", VX (4, 1232), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11428 {"evaddwegsf", VX (4, 1233), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11429 {"evsubfwegsi", VX (4, 1234), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11430 {"evsubfwegsf", VX (4, 1235), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11431 {"evaddwogsi", VX (4, 1236), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11432 {"evaddwogsf", VX (4, 1237), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11433 {"evsubfwogsi", VX (4, 1238), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11434 {"evsubfwogsf", VX (4, 1239), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11435 {"evaddhhiuw", VX (4, 1240), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11436 {"evaddhhisw", VX (4, 1241), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11437 {"evsubfhhiuw", VX (4, 1242), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11438 {"evsubfhhisw", VX (4, 1243), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11439 {"evaddhlouw", VX (4, 1244), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11440 {"evaddhlosw", VX (4, 1245), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11441 {"evsubfhlouw", VX (4, 1246), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11442 {"evsubfhlosw", VX (4, 1247), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11443 {"evmhesusiaaw", VX (4, 1282), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11444 {"evmhosusiaaw", VX (4, 1286), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11445 {"evmhesumiaaw", VX (4, 1290), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11446 {"evmhosumiaaw", VX (4, 1294), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11447 {"evmbeusiaah", VX (4, 1296), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11448 {"evmbessiaah", VX (4, 1297), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11449 {"evmbesusiaah", VX (4, 1298), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11450 {"evmbousiaah", VX (4, 1300), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11451 {"evmbossiaah", VX (4, 1301), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11452 {"evmbosusiaah", VX (4, 1302), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11453 {"evmbeumiaah", VX (4, 1304), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11454 {"evmbesmiaah", VX (4, 1305), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11455 {"evmbesumiaah", VX (4, 1306), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11456 {"evmboumiaah", VX (4, 1308), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11457 {"evmbosmiaah", VX (4, 1309), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11458 {"evmbosumiaah", VX (4, 1310), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11459 {"evmwlusiaaw3", VX (4, 1346), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11460 {"evmwlssiaaw3", VX (4, 1347), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11461 {"evmwhssfraaw3", VX (4, 1348), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11462 {"evmwhssfaaw3", VX (4, 1349), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11463 {"evmwhssfraaw", VX (4, 1350), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11464 {"evmwhssfaaw", VX (4, 1351), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11465 {"evmwlumiaaw3", VX (4, 1354), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11466 {"evmwlsmiaaw3", VX (4, 1355), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11467 {"evmwusiaa", VX (4, 1360), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11468 {"evmwssiaa", VX (4, 1361), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11469 {"evmwehgsmfraa", VX (4, 1366), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11470 {"evmwehgsmfaa", VX (4, 1367), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11471 {"evmwohgsmfraa", VX (4, 1374), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11472 {"evmwohgsmfaa", VX (4, 1375), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11473 {"evmhesusianw", VX (4, 1410), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11474 {"evmhosusianw", VX (4, 1414), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11475 {"evmhesumianw", VX (4, 1418), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11476 {"evmhosumianw", VX (4, 1422), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11477 {"evmbeusianh", VX (4, 1424), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11478 {"evmbessianh", VX (4, 1425), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11479 {"evmbesusianh", VX (4, 1426), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11480 {"evmbousianh", VX (4, 1428), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11481 {"evmbossianh", VX (4, 1429), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11482 {"evmbosusianh", VX (4, 1430), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11483 {"evmbeumianh", VX (4, 1432), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11484 {"evmbesmianh", VX (4, 1433), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11485 {"evmbesumianh", VX (4, 1434), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11486 {"evmboumianh", VX (4, 1436), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11487 {"evmbosmianh", VX (4, 1437), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11488 {"evmbosumianh", VX (4, 1438), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11489 {"evmwlusianw3", VX (4, 1474), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11490 {"evmwlssianw3", VX (4, 1475), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11491 {"evmwhssfranw3", VX (4, 1476), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11492 {"evmwhssfanw3", VX (4, 1477), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11493 {"evmwhssfranw", VX (4, 1478), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11494 {"evmwhssfanw", VX (4, 1479), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11495 {"evmwlumianw3", VX (4, 1482), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11496 {"evmwlsmianw3", VX (4, 1483), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11497 {"evmwusian", VX (4, 1488), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11498 {"evmwssian", VX (4, 1489), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11499 {"evmwehgsmfran", VX (4, 1494), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11500 {"evmwehgsmfan", VX (4, 1495), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11501 {"evmwohgsmfran", VX (4, 1502), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11502 {"evmwohgsmfan", VX (4, 1503), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11503 {"evseteqb", VX (4, 1536), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11504 {"evseteqb.", VX (4, 1537), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11505 {"evseteqh", VX (4, 1538), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11506 {"evseteqh.", VX (4, 1539), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11507 {"evseteqw", VX (4, 1540), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11508 {"evseteqw.", VX (4, 1541), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11509 {"evsetgthu", VX (4, 1544), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11510 {"evsetgthu.", VX (4, 1545), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11511 {"evsetgths", VX (4, 1546), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11512 {"evsetgths.", VX (4, 1547), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11513 {"evsetgtwu", VX (4, 1548), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11514 {"evsetgtwu.", VX (4, 1549), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11515 {"evsetgtws", VX (4, 1550), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11516 {"evsetgtws.", VX (4, 1551), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11517 {"evsetgtbu", VX (4, 1552), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11518 {"evsetgtbu.", VX (4, 1553), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11519 {"evsetgtbs", VX (4, 1554), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11520 {"evsetgtbs.", VX (4, 1555), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11521 {"evsetltbu", VX (4, 1556), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11522 {"evsetltbu.", VX (4, 1557), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11523 {"evsetltbs", VX (4, 1558), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11524 {"evsetltbs.", VX (4, 1559), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11525 {"evsetlthu", VX (4, 1560), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11526 {"evsetlthu.", VX (4, 1561), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11527 {"evsetlths", VX (4, 1562), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11528 {"evsetlths.", VX (4, 1563), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11529 {"evsetltwu", VX (4, 1564), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11530 {"evsetltwu.", VX (4, 1565), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11531 {"evsetltws", VX (4, 1566), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11532 {"evsetltws.", VX (4, 1567), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11533 {"evsaduw", VX (4, 1568), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11534 {"evsadsw", VX (4, 1569), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11535 {"evsad4ub", VX (4, 1570), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11536 {"evsad4sb", VX (4, 1571), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11537 {"evsad2uh", VX (4, 1572), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11538 {"evsad2sh", VX (4, 1573), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11539 {"evsaduwa", VX (4, 1576), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11540 {"evsadswa", VX (4, 1577), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11541 {"evsad4uba", VX (4, 1578), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11542 {"evsad4sba", VX (4, 1579), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11543 {"evsad2uha", VX (4, 1580), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11544 {"evsad2sha", VX (4, 1581), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11545 {"evabsdifuw", VX (4, 1584), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11546 {"evabsdifsw", VX (4, 1585), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11547 {"evabsdifub", VX (4, 1586), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11548 {"evabsdifsb", VX (4, 1587), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11549 {"evabsdifuh", VX (4, 1588), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11550 {"evabsdifsh", VX (4, 1589), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11551 {"evsaduwaa", VX (4, 1592), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11552 {"evsadswaa", VX (4, 1593), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11553 {"evsad4ubaaw", VX (4, 1594), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11554 {"evsad4sbaaw", VX (4, 1595), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11555 {"evsad2uhaaw", VX (4, 1596), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11556 {"evsad2shaaw", VX (4, 1597), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11557 {"evpkshubs", VX (4, 1600), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11558 {"evpkshsbs", VX (4, 1601), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11559 {"evpkswuhs", VX (4, 1602), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11560 {"evpkswshs", VX (4, 1603), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11561 {"evpkuhubs", VX (4, 1604), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11562 {"evpkuwuhs", VX (4, 1605), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11563 {"evpkswshilvs", VX (4, 1606), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11564 {"evpkswgshefrs", VX (4, 1607), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11565 {"evpkswshfrs", VX (4, 1608), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11566 {"evpkswshilvfrs", VX (4, 1609), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11567 {"evpksdswfrs", VX (4, 1610), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11568 {"evpksdshefrs", VX (4, 1611), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11569 {"evpkuduws", VX (4, 1612), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11570 {"evpksdsws", VX (4, 1613), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11571 {"evpkswgswfrs", VX (4, 1614), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11572 {"evilveh", VX (4, 1616), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11573 {"evilveoh", VX (4, 1617), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11574 {"evilvhih", VX (4, 1618), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11575 {"evilvhiloh", VX (4, 1619), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11576 {"evilvloh", VX (4, 1620), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11577 {"evilvlohih", VX (4, 1621), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11578 {"evilvoeh", VX (4, 1622), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11579 {"evilvoh", VX (4, 1623), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11580 {"evdlveb", VX (4, 1624), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11581 {"evdlveh", VX (4, 1625), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11582 {"evdlveob", VX (4, 1626), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11583 {"evdlveoh", VX (4, 1627), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11584 {"evdlvob", VX (4, 1628), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11585 {"evdlvoh", VX (4, 1629), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11586 {"evdlvoeb", VX (4, 1630), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11587 {"evdlvoeh", VX (4, 1631), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11588 {"evmaxbu", VX (4, 1632), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11589 {"evmaxbs", VX (4, 1633), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11590 {"evmaxhu", VX (4, 1634), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11591 {"evmaxhs", VX (4, 1635), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11592 {"evmaxwu", VX (4, 1636), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11593 {"evmaxws", VX (4, 1637), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11594 {"evmaxdu", VX (4, 1638), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11595 {"evmaxds", VX (4, 1639), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11596 {"evminbu", VX (4, 1640), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11597 {"evminbs", VX (4, 1641), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11598 {"evminhu", VX (4, 1642), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11599 {"evminhs", VX (4, 1643), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11600 {"evminwu", VX (4, 1644), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11601 {"evminws", VX (4, 1645), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11602 {"evmindu", VX (4, 1646), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11603 {"evminds", VX (4, 1647), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11604 {"evavgwu", VX (4, 1648), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11605 {"evavgws", VX (4, 1649), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11606 {"evavgbu", VX (4, 1650), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11607 {"evavgbs", VX (4, 1651), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11608 {"evavghu", VX (4, 1652), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11609 {"evavghs", VX (4, 1653), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11610 {"evavgdu", VX (4, 1654), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11611 {"evavgds", VX (4, 1655), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11612 {"evavgwur", VX (4, 1656), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11613 {"evavgwsr", VX (4, 1657), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11614 {"evavgbur", VX (4, 1658), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11615 {"evavgbsr", VX (4, 1659), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11616 {"evavghur", VX (4, 1660), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11617 {"evavghsr", VX (4, 1661), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11618 {"evavgdur", VX (4, 1662), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11619 {"evavgdsr", VX (4, 1663), VX_MASK
, PPCSPE2
, 0, {RD
, RA
, RB
}},
11622 const unsigned int spe2_num_opcodes
= ARRAY_SIZE (spe2_opcodes
);