@ -23,6 +23,7 @@
# include <stdio.h>
# include "opcode/ppc.h"
# include "opintl.h"
# include "libiberty.h"
/* This file holds the PowerPC opcode table. The opcode table
includes almost all of the extended instruction mnemonics . This
@ -3873,8 +3874,7 @@ const struct powerpc_operand powerpc_operands[] =
{ 0x3 , 15 , NULL , NULL , 0 } ,
} ;
const unsigned int num_powerpc_operands = ( sizeof ( powerpc_operands )
/ sizeof ( powerpc_operands [ 0 ] ) ) ;
const unsigned int num_powerpc_operands = ARRAY_SIZE ( powerpc_operands ) ;
/* Macros used to form opcodes. */
@ -9582,8 +9582,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ " dctfixqq " , XVA ( 63 , 994 , 1 ) , XVA_MASK , POWER10 , PPCVLE , { VD , FRBp } } ,
} ;
const unsigned int powerpc_num_opcodes =
sizeof ( powerpc_opcodes ) / sizeof ( powerpc_opcodes [ 0 ] ) ;
const unsigned int powerpc_num_opcodes = ARRAY_SIZE ( powerpc_opcodes ) ;
/* The opcode table for 8-byte prefix instructions.
@ -9659,8 +9658,7 @@ const struct powerpc_opcode prefix_opcodes[] = {
{ " pstxvp " , P8LS | OP ( 62 ) , P_D_MASK , POWER10 , 0 , { XTP , D34 , PRA0 , PCREL } } ,
} ;
const unsigned int prefix_num_opcodes =
sizeof ( prefix_opcodes ) / sizeof ( prefix_opcodes [ 0 ] ) ;
const unsigned int prefix_num_opcodes = ARRAY_SIZE ( prefix_opcodes ) ;
/* The VLE opcode table.
@ -9702,6 +9700,224 @@ const struct powerpc_opcode vle_opcodes[] = {
{ " se_cmphl " , SE_RR ( 3 , 3 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
/* by major opcode */
{ " e_cmpi " , SCI8BF ( 6 , 0 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_cmpwi " , SCI8BF ( 6 , 0 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_cmpli " , SCI8BF ( 6 , 1 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_cmplwi " , SCI8BF ( 6 , 1 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_addi " , SCI8 ( 6 , 16 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subi " , SCI8 ( 6 , 16 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8N } } ,
{ " e_addi. " , SCI8 ( 6 , 17 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_addic " , SCI8 ( 6 , 18 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subic " , SCI8 ( 6 , 18 ) , SCI8_MASK , PPCVLE , EXT , { RT , RA , SCLSCI8N } } ,
{ " e_addic. " , SCI8 ( 6 , 19 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subic. " , SCI8 ( 6 , 19 ) , SCI8_MASK , PPCVLE , EXT , { RT , RA , SCLSCI8N } } ,
{ " e_mulli " , SCI8 ( 6 , 20 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subfic " , SCI8 ( 6 , 22 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subfic. " , SCI8 ( 6 , 23 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_andi " , SCI8 ( 6 , 24 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_andi. " , SCI8 ( 6 , 25 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_nop " , SCI8 ( 6 , 26 ) , 0xffffffff , PPCVLE , EXT , { 0 } } ,
{ " e_ori " , SCI8 ( 6 , 26 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_ori. " , SCI8 ( 6 , 27 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_xori " , SCI8 ( 6 , 28 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_xori. " , SCI8 ( 6 , 29 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_lbzu " , OPVUP ( 6 , 0 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lhau " , OPVUP ( 6 , 3 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lhzu " , OPVUP ( 6 , 1 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lmw " , OPVUP ( 6 , 8 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lwzu " , OPVUP ( 6 , 2 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_stbu " , OPVUP ( 6 , 4 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_sthu " , OPVUP ( 6 , 5 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_stwu " , OPVUP ( 6 , 6 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_stmw " , OPVUP ( 6 , 9 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lmvgprw " , OPVUPRT ( 6 , 16 , 0 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvgprw " , OPVUPRT ( 6 , 16 , 0 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvgprw " , OPVUPRT ( 6 , 17 , 0 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvsprw " , OPVUPRT ( 6 , 16 , 1 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvsprw " , OPVUPRT ( 6 , 16 , 1 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvsprw " , OPVUPRT ( 6 , 17 , 1 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvsrrw " , OPVUPRT ( 6 , 16 , 4 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvsrrw " , OPVUPRT ( 6 , 16 , 4 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvsrrw " , OPVUPRT ( 6 , 17 , 4 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvcsrrw " , OPVUPRT ( 6 , 16 , 5 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvcsrrw " , OPVUPRT ( 6 , 16 , 5 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvcsrrw " , OPVUPRT ( 6 , 17 , 5 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvdsrrw " , OPVUPRT ( 6 , 16 , 6 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvdsrrw " , OPVUPRT ( 6 , 16 , 6 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvdsrrw " , OPVUPRT ( 6 , 17 , 6 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvmcsrrw " , OPVUPRT ( 6 , 16 , 7 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvmcsrrw " , OPVUPRT ( 6 , 17 , 7 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_add16i " , OP ( 7 ) , OP_MASK , PPCVLE , 0 , { RT , RA , SI } } ,
{ " e_la " , OP ( 7 ) , OP_MASK , PPCVLE , EXT , { RT , D , RA0 } } ,
{ " e_sub16i " , OP ( 7 ) , OP_MASK , PPCVLE , EXT , { RT , RA , NSI } } ,
{ " se_addi " , SE_IM5 ( 8 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_cmpli " , SE_IM5 ( 8 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_subi " , SE_IM5 ( 9 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_subi. " , SE_IM5 ( 9 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_cmpi " , SE_IM5 ( 10 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_bmaski " , SE_IM5 ( 11 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_andi " , SE_IM5 ( 11 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " e_lbz " , OP ( 12 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_stb " , OP ( 13 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_lha " , OP ( 14 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " se_srw " , SE_RR ( 16 , 0 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_sraw " , SE_RR ( 16 , 1 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_slw " , SE_RR ( 16 , 2 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_nop " , SE_RR ( 17 , 0 ) , 0xffff , PPCVLE , EXT , { 0 } } ,
{ " se_or " , SE_RR ( 17 , 0 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_andc " , SE_RR ( 17 , 1 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_and " , SE_RR ( 17 , 2 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_and. " , SE_RR ( 17 , 3 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_li " , IM7 ( 9 ) , IM7_MASK , PPCVLE , 0 , { RX , UI7 } } ,
{ " e_lwz " , OP ( 20 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_stw " , OP ( 21 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_lhz " , OP ( 22 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_sth " , OP ( 23 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " se_bclri " , SE_IM5 ( 24 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_bgeni " , SE_IM5 ( 24 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_bseti " , SE_IM5 ( 25 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_btsti " , SE_IM5 ( 25 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_srwi " , SE_IM5 ( 26 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_srawi " , SE_IM5 ( 26 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_slwi " , SE_IM5 ( 27 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " e_lis " , I16L ( 28 , 28 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_and2is. " , I16L ( 28 , 29 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_or2is " , I16L ( 28 , 26 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_and2i. " , I16L ( 28 , 25 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_or2i " , I16L ( 28 , 24 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_cmphl16i " , IA16 ( 28 , 23 ) , IA16_MASK , PPCVLE , 0 , { RA , VLEUIMM } } ,
{ " e_cmph16i " , IA16 ( 28 , 22 ) , IA16_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_cmpl16i " , I16A ( 28 , 21 ) , I16A_MASK , PPCVLE , 0 , { RA , VLEUIMM } } ,
{ " e_mull2i " , I16A ( 28 , 20 ) , I16A_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_cmp16i " , IA16 ( 28 , 19 ) , IA16_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_sub2is " , I16A ( 28 , 18 ) , I16A_MASK , PPCVLE , EXT , { RA , VLENSIMM } } ,
{ " e_add2is " , I16A ( 28 , 18 ) , I16A_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_sub2i. " , I16A ( 28 , 17 ) , I16A_MASK , PPCVLE , EXT , { RA , VLENSIMM } } ,
{ " e_add2i. " , I16A ( 28 , 17 ) , I16A_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_li " , LI20 ( 28 , 0 ) , LI20_MASK , PPCVLE , 0 , { RT , IMM20 } } ,
{ " e_rlwimi " , M ( 29 , 0 ) , M_MASK , PPCVLE , 0 , { RA , RS , SH , MB , ME } } ,
{ " e_inslwi " , M ( 29 , 0 ) , M_MASK , PPCVLE , EXT , { RA , RS , ILWn , ILWb } } ,
{ " e_insrwi " , M ( 29 , 0 ) , M_MASK , PPCVLE , EXT , { RA , RS , IRWn , IRWb } } ,
{ " e_rotlwi " , MME ( 29 , 31 , 1 ) , MMBME_MASK , PPCVLE , EXT , { RA , RS , SH } } ,
{ " e_rotrwi " , MME ( 29 , 31 , 1 ) , MMBME_MASK , PPCVLE , EXT , { RA , RS , RRWn } } ,
{ " e_clrlwi " , MME ( 29 , 31 , 1 ) , MSHME_MASK , PPCVLE , EXT , { RA , RS , MB } } ,
{ " e_clrrwi " , M ( 29 , 1 ) , MSHMB_MASK , PPCVLE , EXT , { RA , RS , CRWn } } ,
{ " e_rlwinm " , M ( 29 , 1 ) , M_MASK , PPCVLE , 0 , { RA , RS , SH , MBE , ME } } ,
{ " e_extlwi " , M ( 29 , 1 ) , MMB_MASK , PPCVLE , EXT , { RA , RS , ELWn , SH } } ,
{ " e_extrwi " , MME ( 29 , 31 , 1 ) , MME_MASK , PPCVLE , EXT , { RA , RS , ERWn , ERWb } } ,
{ " e_clrlslwi " , M ( 29 , 1 ) , M_MASK , PPCVLE , EXT , { RA , RS , CSLWb , CSLWn } } ,
{ " e_b " , BD24 ( 30 , 0 , 0 ) , BD24_MASK , PPCVLE , 0 , { B24 } } ,
{ " e_bl " , BD24 ( 30 , 0 , 1 ) , BD24_MASK , PPCVLE , 0 , { B24 } } ,
{ " e_bdnz " , EBD15 ( 30 , 8 , BO32DNZ , 0 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bdnzl " , EBD15 ( 30 , 8 , BO32DNZ , 1 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bdz " , EBD15 ( 30 , 8 , BO32DZ , 0 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bdzl " , EBD15 ( 30 , 8 , BO32DZ , 1 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bge " , EBD15BI ( 30 , 8 , BO32F , CBLT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bgel " , EBD15BI ( 30 , 8 , BO32F , CBLT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnl " , EBD15BI ( 30 , 8 , BO32F , CBLT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnll " , EBD15BI ( 30 , 8 , BO32F , CBLT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_blt " , EBD15BI ( 30 , 8 , BO32T , CBLT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bltl " , EBD15BI ( 30 , 8 , BO32T , CBLT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bgt " , EBD15BI ( 30 , 8 , BO32T , CBGT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bgtl " , EBD15BI ( 30 , 8 , BO32T , CBGT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_ble " , EBD15BI ( 30 , 8 , BO32F , CBGT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_blel " , EBD15BI ( 30 , 8 , BO32F , CBGT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bng " , EBD15BI ( 30 , 8 , BO32F , CBGT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bngl " , EBD15BI ( 30 , 8 , BO32F , CBGT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bne " , EBD15BI ( 30 , 8 , BO32F , CBEQ , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnel " , EBD15BI ( 30 , 8 , BO32F , CBEQ , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_beq " , EBD15BI ( 30 , 8 , BO32T , CBEQ , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_beql " , EBD15BI ( 30 , 8 , BO32T , CBEQ , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bso " , EBD15BI ( 30 , 8 , BO32T , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bsol " , EBD15BI ( 30 , 8 , BO32T , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bun " , EBD15BI ( 30 , 8 , BO32T , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bunl " , EBD15BI ( 30 , 8 , BO32T , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bns " , EBD15BI ( 30 , 8 , BO32F , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnsl " , EBD15BI ( 30 , 8 , BO32F , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnu " , EBD15BI ( 30 , 8 , BO32F , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnul " , EBD15BI ( 30 , 8 , BO32F , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bc " , BD15 ( 30 , 8 , 0 ) , BD15_MASK , PPCVLE , 0 , { BO32 , BI32 , B15 } } ,
{ " e_bcl " , BD15 ( 30 , 8 , 1 ) , BD15_MASK , PPCVLE , 0 , { BO32 , BI32 , B15 } } ,
{ " e_bf " , EBD15 ( 30 , 8 , BO32F , 0 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_bfl " , EBD15 ( 30 , 8 , BO32F , 1 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_bt " , EBD15 ( 30 , 8 , BO32T , 0 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_btl " , EBD15 ( 30 , 8 , BO32T , 1 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_cmph " , X ( 31 , 14 ) , X_MASK , PPCVLE , 0 , { CRD , RA , RB } } ,
{ " e_sc " , X ( 31 , 36 ) , XRTRA_MASK , PPCVLE , 0 , { ELEV } } ,
{ " e_cmphl " , X ( 31 , 46 ) , X_MASK , PPCVLE , 0 , { CRD , RA , RB } } ,
{ " e_crandc " , XL ( 31 , 129 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crnand " , XL ( 31 , 225 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crnot " , XL ( 31 , 33 ) , XL_MASK , PPCVLE , EXT , { BT , BAB } } ,
{ " e_crnor " , XL ( 31 , 33 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crclr " , XL ( 31 , 193 ) , XL_MASK , PPCVLE , EXT , { BTAB } } ,
{ " e_crxor " , XL ( 31 , 193 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_mcrf " , XL ( 31 , 16 ) , XL_MASK , PPCVLE , 0 , { CRD , CR } } ,
{ " e_slwi " , EX ( 31 , 112 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_slwi. " , EX ( 31 , 113 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_crand " , XL ( 31 , 257 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_rlw " , EX ( 31 , 560 ) , EX_MASK , PPCVLE , 0 , { RA , RS , RB } } ,
{ " e_rlw. " , EX ( 31 , 561 ) , EX_MASK , PPCVLE , 0 , { RA , RS , RB } } ,
{ " e_crset " , XL ( 31 , 289 ) , XL_MASK , PPCVLE , EXT , { BTAB } } ,
{ " e_creqv " , XL ( 31 , 289 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_rlwi " , EX ( 31 , 624 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_rlwi. " , EX ( 31 , 625 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_crorc " , XL ( 31 , 417 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crmove " , XL ( 31 , 449 ) , XL_MASK , PPCVLE , EXT , { BT , BAB } } ,
{ " e_cror " , XL ( 31 , 449 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " mtmas1 " , XSPR ( 31 , 467 , 625 ) , XSPR_MASK , PPCVLE , EXT , { RS } } ,
{ " e_srwi " , EX ( 31 , 1136 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_srwi. " , EX ( 31 , 1137 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " se_lbz " , SD4 ( 8 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SD , RX } } ,
{ " se_stb " , SD4 ( 9 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SD , RX } } ,
{ " se_lhz " , SD4 ( 10 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDH , RX } } ,
{ " se_sth " , SD4 ( 11 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDH , RX } } ,
{ " se_lwz " , SD4 ( 12 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDW , RX } } ,
{ " se_stw " , SD4 ( 13 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDW , RX } } ,
{ " se_bge " , EBD8IO ( 28 , 0 , 0 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bnl " , EBD8IO ( 28 , 0 , 0 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_ble " , EBD8IO ( 28 , 0 , 1 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bng " , EBD8IO ( 28 , 0 , 1 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bne " , EBD8IO ( 28 , 0 , 2 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bns " , EBD8IO ( 28 , 0 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bnu " , EBD8IO ( 28 , 0 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bf " , EBD8IO ( 28 , 0 , 0 ) , EBD8IO2_MASK , PPCVLE , EXT , { BI16 , B8 } } ,
{ " se_blt " , EBD8IO ( 28 , 1 , 0 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bgt " , EBD8IO ( 28 , 1 , 1 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_beq " , EBD8IO ( 28 , 1 , 2 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bso " , EBD8IO ( 28 , 1 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bun " , EBD8IO ( 28 , 1 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bt " , EBD8IO ( 28 , 1 , 0 ) , EBD8IO2_MASK , PPCVLE , EXT , { BI16 , B8 } } ,
{ " se_bc " , BD8IO ( 28 ) , BD8IO_MASK , PPCVLE , 0 , { BO16 , BI16 , B8 } } ,
{ " se_b " , BD8 ( 58 , 0 , 0 ) , BD8_MASK , PPCVLE , 0 , { B8 } } ,
{ " se_bl " , BD8 ( 58 , 0 , 1 ) , BD8_MASK , PPCVLE , 0 , { B8 } } ,
} ;
const unsigned int vle_num_opcodes = ARRAY_SIZE ( vle_opcodes ) ;
const struct powerpc_opcode lsp_opcodes [ ] = {
{ " zvaddih " , VX ( 4 , 0x200 ) , VX_MASK , PPCLSP , 0 , { RD , RA , EVUIMM } } ,
{ " zvsubifh " , VX ( 4 , 0x201 ) , VX_MASK , PPCLSP , 0 , { RD , RA , EVUIMM } } ,
{ " zvaddh " , VX ( 4 , 0x204 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
@ -9798,6 +10014,114 @@ const struct powerpc_opcode vle_opcodes[] = {
{ " zslwss " , VX ( 4 , 0x27D ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zslwius " , VX ( 4 , 0x27E ) , VX_MASK , PPCLSP , 0 , { RD , RA , EVUIMM } } ,
{ " zslwiss " , VX ( 4 , 0x27F ) , VX_MASK , PPCLSP , 0 , { RD , RA , EVUIMM } } ,
{ " zlddx " , VX ( 4 , 0x300 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldd " , VX ( 4 , 0x301 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8 , RA } } ,
{ " zldwx " , VX ( 4 , 0x302 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldw " , VX ( 4 , 0x303 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8 , RA } } ,
{ " zldhx " , VX ( 4 , 0x304 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldh " , VX ( 4 , 0x305 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8 , RA } } ,
{ " zlwgsfdx " , VX ( 4 , 0x308 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwgsfd " , VX ( 4 , 0x309 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwwosdx " , VX ( 4 , 0x30A ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwwosd " , VX ( 4 , 0x30B ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhsplatwdx " , VX ( 4 , 0x30C ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatwd " , VX ( 4 , 0x30D ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhsplatdx " , VX ( 4 , 0x30E ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatd " , VX ( 4 , 0x30F ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhgwsfdx " , VX ( 4 , 0x310 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhgwsfd " , VX ( 4 , 0x311 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhedx " , VX ( 4 , 0x312 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhed " , VX ( 4 , 0x313 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhosdx " , VX ( 4 , 0x314 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhosd " , VX ( 4 , 0x315 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhoudx " , VX ( 4 , 0x316 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhoud " , VX ( 4 , 0x317 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhx " , VX ( 4 , 0x318 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlwh " , VX ( 4 , 0x319 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4 , RA } } ,
{ " zlwwx " , VX ( 4 , 0x31A ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlww " , VX ( 4 , 0x31B ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4 , RA } } ,
{ " zlhgwsfx " , VX ( 4 , 0x31C ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhgwsf " , VX ( 4 , 0x31D ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zlhhsplatx " , VX ( 4 , 0x31E ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhsplat " , VX ( 4 , 0x31F ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zstddx " , VX ( 4 , 0x320 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdd " , VX ( 4 , 0x321 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8 , RA } } ,
{ " zstdwx " , VX ( 4 , 0x322 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdw " , VX ( 4 , 0x323 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8 , RA } } ,
{ " zstdhx " , VX ( 4 , 0x324 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdh " , VX ( 4 , 0x325 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8 , RA } } ,
{ " zstwhedx " , VX ( 4 , 0x328 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhed " , VX ( 4 , 0x329 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4 , RA } } ,
{ " zstwhodx " , VX ( 4 , 0x32A ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhod " , VX ( 4 , 0x32B ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4 , RA } } ,
{ " zlhhex " , VX ( 4 , 0x330 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhe " , VX ( 4 , 0x331 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zlhhosx " , VX ( 4 , 0x332 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhos " , VX ( 4 , 0x333 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zlhhoux " , VX ( 4 , 0x334 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhou " , VX ( 4 , 0x335 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zsthex " , VX ( 4 , 0x338 ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zsthe " , VX ( 4 , 0x339 ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2 , RA } } ,
{ " zsthox " , VX ( 4 , 0x33A ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstho " , VX ( 4 , 0x33B ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2 , RA } } ,
{ " zstwhx " , VX ( 4 , 0x33C ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstwh " , VX ( 4 , 0x33D ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4 , RA } } ,
{ " zstwwx " , VX ( 4 , 0x33E ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstww " , VX ( 4 , 0x33F ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4 , RA } } ,
{ " zlddmx " , VX ( 4 , 0x340 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlddu " , VX ( 4 , 0x341 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zldwmx " , VX ( 4 , 0x342 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldwu " , VX ( 4 , 0x343 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zldhmx " , VX ( 4 , 0x344 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldhu " , VX ( 4 , 0x345 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zlwgsfdmx " , VX ( 4 , 0x348 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwgsfdu " , VX ( 4 , 0x349 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwwosdmx " , VX ( 4 , 0x34A ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwwosdu " , VX ( 4 , 0x34B ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhsplatwdmx " , VX ( 4 , 0x34C ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatwdu " , VX ( 4 , 0x34D ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhsplatdmx " , VX ( 4 , 0x34E ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatdu " , VX ( 4 , 0x34F ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhgwsfdmx " , VX ( 4 , 0x350 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhgwsfdu " , VX ( 4 , 0x351 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhedmx " , VX ( 4 , 0x352 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhedu " , VX ( 4 , 0x353 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhosdmx " , VX ( 4 , 0x354 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhosdu " , VX ( 4 , 0x355 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhoudmx " , VX ( 4 , 0x356 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhoudu " , VX ( 4 , 0x357 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhmx " , VX ( 4 , 0x358 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlwhu " , VX ( 4 , 0x359 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4_EX0 , RA } } ,
{ " zlwwmx " , VX ( 4 , 0x35A ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlwwu " , VX ( 4 , 0x35B ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4_EX0 , RA } } ,
{ " zlhgwsfmx " , VX ( 4 , 0x35C ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhgwsfu " , VX ( 4 , 0x35D ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zlhhsplatmx " , VX ( 4 , 0x35E ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhsplatu " , VX ( 4 , 0x35F ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zstddmx " , VX ( 4 , 0x360 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstddu " , VX ( 4 , 0x361 ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_8_EX0 , RA } } ,
{ " zstdwmx " , VX ( 4 , 0x362 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdwu " , VX ( 4 , 0x363 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zstdhmx " , VX ( 4 , 0x364 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdhu " , VX ( 4 , 0x365 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zstwhedmx " , VX ( 4 , 0x368 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhedu " , VX ( 4 , 0x369 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zstwhodmx " , VX ( 4 , 0x36A ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhodu " , VX ( 4 , 0x36B ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlhhemx " , VX ( 4 , 0x370 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhheu " , VX ( 4 , 0x371 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zlhhosmx " , VX ( 4 , 0x372 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhosu " , VX ( 4 , 0x373 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zlhhoumx " , VX ( 4 , 0x374 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhouu " , VX ( 4 , 0x375 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zsthemx " , VX ( 4 , 0x378 ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstheu " , VX ( 4 , 0x379 ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2_EX0 , RA } } ,
{ " zsthomx " , VX ( 4 , 0x37A ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zsthou " , VX ( 4 , 0x37B ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2_EX0 , RA } } ,
{ " zstwhmx " , VX ( 4 , 0x37C ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstwhu " , VX ( 4 , 0x37D ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4_EX0 , RA } } ,
{ " zstwwmx " , VX ( 4 , 0x37E ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstwwu " , VX ( 4 , 0x37F ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4_EX0 , RA } } ,
{ " zaddwgui " , VX ( 4 , 0x460 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zsubfwgui " , VX ( 4 , 0x461 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zaddd " , VX ( 4 , 0x462 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
@ -10272,332 +10596,9 @@ const struct powerpc_opcode vle_opcodes[] = {
{ " zmwsfraas " , VX ( 4 , 0x6FB ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zmwsfans " , VX ( 4 , 0x6FC ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zmwsfrans " , VX ( 4 , 0x6FD ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlddx " , VX ( 4 , 0x300 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldd " , VX ( 4 , 0x301 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8 , RA } } ,
{ " zldwx " , VX ( 4 , 0x302 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldw " , VX ( 4 , 0x303 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8 , RA } } ,
{ " zldhx " , VX ( 4 , 0x304 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldh " , VX ( 4 , 0x305 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8 , RA } } ,
{ " zlwgsfdx " , VX ( 4 , 0x308 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwgsfd " , VX ( 4 , 0x309 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwwosdx " , VX ( 4 , 0x30A ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwwosd " , VX ( 4 , 0x30B ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhsplatwdx " , VX ( 4 , 0x30C ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatwd " , VX ( 4 , 0x30D ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhsplatdx " , VX ( 4 , 0x30E ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatd " , VX ( 4 , 0x30F ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhgwsfdx " , VX ( 4 , 0x310 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhgwsfd " , VX ( 4 , 0x311 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhedx " , VX ( 4 , 0x312 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhed " , VX ( 4 , 0x313 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhosdx " , VX ( 4 , 0x314 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhosd " , VX ( 4 , 0x315 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhoudx " , VX ( 4 , 0x316 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhoud " , VX ( 4 , 0x317 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4 , RA } } ,
{ " zlwhx " , VX ( 4 , 0x318 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlwh " , VX ( 4 , 0x319 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4 , RA } } ,
{ " zlwwx " , VX ( 4 , 0x31A ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlww " , VX ( 4 , 0x31B ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4 , RA } } ,
{ " zlhgwsfx " , VX ( 4 , 0x31C ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhgwsf " , VX ( 4 , 0x31D ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zlhhsplatx " , VX ( 4 , 0x31E ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhsplat " , VX ( 4 , 0x31F ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zstddx " , VX ( 4 , 0x320 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdd " , VX ( 4 , 0x321 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8 , RA } } ,
{ " zstdwx " , VX ( 4 , 0x322 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdw " , VX ( 4 , 0x323 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8 , RA } } ,
{ " zstdhx " , VX ( 4 , 0x324 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdh " , VX ( 4 , 0x325 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8 , RA } } ,
{ " zstwhedx " , VX ( 4 , 0x328 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhed " , VX ( 4 , 0x329 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4 , RA } } ,
{ " zstwhodx " , VX ( 4 , 0x32A ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhod " , VX ( 4 , 0x32B ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4 , RA } } ,
{ " zlhhex " , VX ( 4 , 0x330 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhe " , VX ( 4 , 0x331 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zlhhosx " , VX ( 4 , 0x332 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhos " , VX ( 4 , 0x333 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zlhhoux " , VX ( 4 , 0x334 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhou " , VX ( 4 , 0x335 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2 , RA } } ,
{ " zsthex " , VX ( 4 , 0x338 ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zsthe " , VX ( 4 , 0x339 ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2 , RA } } ,
{ " zsthox " , VX ( 4 , 0x33A ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstho " , VX ( 4 , 0x33B ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2 , RA } } ,
{ " zstwhx " , VX ( 4 , 0x33C ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstwh " , VX ( 4 , 0x33D ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4 , RA } } ,
{ " zstwwx " , VX ( 4 , 0x33E ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstww " , VX ( 4 , 0x33F ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4 , RA } } ,
{ " zlddmx " , VX ( 4 , 0x340 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlddu " , VX ( 4 , 0x341 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zldwmx " , VX ( 4 , 0x342 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldwu " , VX ( 4 , 0x343 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zldhmx " , VX ( 4 , 0x344 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zldhu " , VX ( 4 , 0x345 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zlwgsfdmx " , VX ( 4 , 0x348 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwgsfdu " , VX ( 4 , 0x349 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwwosdmx " , VX ( 4 , 0x34A ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwwosdu " , VX ( 4 , 0x34B ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhsplatwdmx " , VX ( 4 , 0x34C ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatwdu " , VX ( 4 , 0x34D ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhsplatdmx " , VX ( 4 , 0x34E ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhsplatdu " , VX ( 4 , 0x34F ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhgwsfdmx " , VX ( 4 , 0x350 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhgwsfdu " , VX ( 4 , 0x351 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhedmx " , VX ( 4 , 0x352 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhedu " , VX ( 4 , 0x353 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhosdmx " , VX ( 4 , 0x354 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhosdu " , VX ( 4 , 0x355 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhoudmx " , VX ( 4 , 0x356 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , RA , RB } } ,
{ " zlwhoudu " , VX ( 4 , 0x357 ) , VX_MASK , PPCLSP , 0 , { RD_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlwhmx " , VX ( 4 , 0x358 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlwhu " , VX ( 4 , 0x359 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4_EX0 , RA } } ,
{ " zlwwmx " , VX ( 4 , 0x35A ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlwwu " , VX ( 4 , 0x35B ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_4_EX0 , RA } } ,
{ " zlhgwsfmx " , VX ( 4 , 0x35C ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhgwsfu " , VX ( 4 , 0x35D ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zlhhsplatmx " , VX ( 4 , 0x35E ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhsplatu " , VX ( 4 , 0x35F ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zstddmx " , VX ( 4 , 0x360 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstddu " , VX ( 4 , 0x361 ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_8_EX0 , RA } } ,
{ " zstdwmx " , VX ( 4 , 0x362 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdwu " , VX ( 4 , 0x363 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zstdhmx " , VX ( 4 , 0x364 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstdhu " , VX ( 4 , 0x365 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_8_EX0 , RA } } ,
{ " zstwhedmx " , VX ( 4 , 0x368 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhedu " , VX ( 4 , 0x369 ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zstwhodmx " , VX ( 4 , 0x36A ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , RA , RB } } ,
{ " zstwhodu " , VX ( 4 , 0x36B ) , VX_MASK , PPCLSP , 0 , { RS_EVEN , EVUIMM_4_EX0 , RA } } ,
{ " zlhhemx " , VX ( 4 , 0x370 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhheu " , VX ( 4 , 0x371 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zlhhosmx " , VX ( 4 , 0x372 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhosu " , VX ( 4 , 0x373 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zlhhoumx " , VX ( 4 , 0x374 ) , VX_MASK , PPCLSP , 0 , { RD , RA , RB } } ,
{ " zlhhouu " , VX ( 4 , 0x375 ) , VX_MASK , PPCLSP , 0 , { RD , EVUIMM_2_EX0 , RA } } ,
{ " zsthemx " , VX ( 4 , 0x378 ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstheu " , VX ( 4 , 0x379 ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2_EX0 , RA } } ,
{ " zsthomx " , VX ( 4 , 0x37A ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zsthou " , VX ( 4 , 0x37B ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_2_EX0 , RA } } ,
{ " zstwhmx " , VX ( 4 , 0x37C ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstwhu " , VX ( 4 , 0x37D ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4_EX0 , RA } } ,
{ " zstwwmx " , VX ( 4 , 0x37E ) , VX_MASK , PPCLSP , 0 , { RS , RA , RB } } ,
{ " zstwwu " , VX ( 4 , 0x37F ) , VX_MASK , PPCLSP , 0 , { RS , EVUIMM_4_EX0 , RA } } ,
{ " e_cmpi " , SCI8BF ( 6 , 0 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_cmpwi " , SCI8BF ( 6 , 0 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_cmpli " , SCI8BF ( 6 , 1 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_cmplwi " , SCI8BF ( 6 , 1 , 21 ) , SCI8BF_MASK , PPCVLE , 0 , { CRD32 , RA , SCLSCI8 } } ,
{ " e_addi " , SCI8 ( 6 , 16 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subi " , SCI8 ( 6 , 16 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8N } } ,
{ " e_addi. " , SCI8 ( 6 , 17 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_addic " , SCI8 ( 6 , 18 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subic " , SCI8 ( 6 , 18 ) , SCI8_MASK , PPCVLE , EXT , { RT , RA , SCLSCI8N } } ,
{ " e_addic. " , SCI8 ( 6 , 19 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subic. " , SCI8 ( 6 , 19 ) , SCI8_MASK , PPCVLE , EXT , { RT , RA , SCLSCI8N } } ,
{ " e_mulli " , SCI8 ( 6 , 20 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subfic " , SCI8 ( 6 , 22 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_subfic. " , SCI8 ( 6 , 23 ) , SCI8_MASK , PPCVLE , 0 , { RT , RA , SCLSCI8 } } ,
{ " e_andi " , SCI8 ( 6 , 24 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_andi. " , SCI8 ( 6 , 25 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_nop " , SCI8 ( 6 , 26 ) , 0xffffffff , PPCVLE , EXT , { 0 } } ,
{ " e_ori " , SCI8 ( 6 , 26 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_ori. " , SCI8 ( 6 , 27 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_xori " , SCI8 ( 6 , 28 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_xori. " , SCI8 ( 6 , 29 ) , SCI8_MASK , PPCVLE , 0 , { RA , RS , SCLSCI8 } } ,
{ " e_lbzu " , OPVUP ( 6 , 0 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lhau " , OPVUP ( 6 , 3 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lhzu " , OPVUP ( 6 , 1 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lmw " , OPVUP ( 6 , 8 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lwzu " , OPVUP ( 6 , 2 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_stbu " , OPVUP ( 6 , 4 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_sthu " , OPVUP ( 6 , 5 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_stwu " , OPVUP ( 6 , 6 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_stmw " , OPVUP ( 6 , 9 ) , OPVUP_MASK , PPCVLE , 0 , { RT , D8 , RA0 } } ,
{ " e_lmvgprw " , OPVUPRT ( 6 , 16 , 0 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvgprw " , OPVUPRT ( 6 , 16 , 0 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvgprw " , OPVUPRT ( 6 , 17 , 0 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvsprw " , OPVUPRT ( 6 , 16 , 1 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvsprw " , OPVUPRT ( 6 , 16 , 1 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvsprw " , OPVUPRT ( 6 , 17 , 1 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvsrrw " , OPVUPRT ( 6 , 16 , 4 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvsrrw " , OPVUPRT ( 6 , 16 , 4 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvsrrw " , OPVUPRT ( 6 , 17 , 4 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvcsrrw " , OPVUPRT ( 6 , 16 , 5 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvcsrrw " , OPVUPRT ( 6 , 16 , 5 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvcsrrw " , OPVUPRT ( 6 , 17 , 5 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvdsrrw " , OPVUPRT ( 6 , 16 , 6 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_ldmvdsrrw " , OPVUPRT ( 6 , 16 , 6 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvdsrrw " , OPVUPRT ( 6 , 17 , 6 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_lmvmcsrrw " , OPVUPRT ( 6 , 16 , 7 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_stmvmcsrrw " , OPVUPRT ( 6 , 17 , 7 ) , OPVUPRT_MASK , PPCVLE , 0 , { D8 , RA0 } } ,
{ " e_add16i " , OP ( 7 ) , OP_MASK , PPCVLE , 0 , { RT , RA , SI } } ,
{ " e_la " , OP ( 7 ) , OP_MASK , PPCVLE , EXT , { RT , D , RA0 } } ,
{ " e_sub16i " , OP ( 7 ) , OP_MASK , PPCVLE , EXT , { RT , RA , NSI } } ,
{ " se_addi " , SE_IM5 ( 8 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_cmpli " , SE_IM5 ( 8 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_subi " , SE_IM5 ( 9 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_subi. " , SE_IM5 ( 9 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , OIMM5 } } ,
{ " se_cmpi " , SE_IM5 ( 10 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_bmaski " , SE_IM5 ( 11 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_andi " , SE_IM5 ( 11 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " e_lbz " , OP ( 12 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_stb " , OP ( 13 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_lha " , OP ( 14 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " se_srw " , SE_RR ( 16 , 0 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_sraw " , SE_RR ( 16 , 1 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_slw " , SE_RR ( 16 , 2 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_nop " , SE_RR ( 17 , 0 ) , 0xffff , PPCVLE , EXT , { 0 } } ,
{ " se_or " , SE_RR ( 17 , 0 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_andc " , SE_RR ( 17 , 1 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_and " , SE_RR ( 17 , 2 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_and. " , SE_RR ( 17 , 3 ) , SE_RR_MASK , PPCVLE , 0 , { RX , RY } } ,
{ " se_li " , IM7 ( 9 ) , IM7_MASK , PPCVLE , 0 , { RX , UI7 } } ,
{ " e_lwz " , OP ( 20 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_stw " , OP ( 21 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_lhz " , OP ( 22 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " e_sth " , OP ( 23 ) , OP_MASK , PPCVLE , 0 , { RT , D , RA0 } } ,
{ " se_bclri " , SE_IM5 ( 24 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_bgeni " , SE_IM5 ( 24 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_bseti " , SE_IM5 ( 25 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_btsti " , SE_IM5 ( 25 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_srwi " , SE_IM5 ( 26 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_srawi " , SE_IM5 ( 26 , 1 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " se_slwi " , SE_IM5 ( 27 , 0 ) , SE_IM5_MASK , PPCVLE , 0 , { RX , UI5 } } ,
{ " e_lis " , I16L ( 28 , 28 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_and2is. " , I16L ( 28 , 29 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_or2is " , I16L ( 28 , 26 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_and2i. " , I16L ( 28 , 25 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_or2i " , I16L ( 28 , 24 ) , I16L_MASK , PPCVLE , 0 , { RD , VLEUIMML } } ,
{ " e_cmphl16i " , IA16 ( 28 , 23 ) , IA16_MASK , PPCVLE , 0 , { RA , VLEUIMM } } ,
{ " e_cmph16i " , IA16 ( 28 , 22 ) , IA16_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_cmpl16i " , I16A ( 28 , 21 ) , I16A_MASK , PPCVLE , 0 , { RA , VLEUIMM } } ,
{ " e_mull2i " , I16A ( 28 , 20 ) , I16A_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_cmp16i " , IA16 ( 28 , 19 ) , IA16_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_sub2is " , I16A ( 28 , 18 ) , I16A_MASK , PPCVLE , EXT , { RA , VLENSIMM } } ,
{ " e_add2is " , I16A ( 28 , 18 ) , I16A_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_sub2i. " , I16A ( 28 , 17 ) , I16A_MASK , PPCVLE , EXT , { RA , VLENSIMM } } ,
{ " e_add2i. " , I16A ( 28 , 17 ) , I16A_MASK , PPCVLE , 0 , { RA , VLESIMM } } ,
{ " e_li " , LI20 ( 28 , 0 ) , LI20_MASK , PPCVLE , 0 , { RT , IMM20 } } ,
{ " e_rlwimi " , M ( 29 , 0 ) , M_MASK , PPCVLE , 0 , { RA , RS , SH , MB , ME } } ,
{ " e_inslwi " , M ( 29 , 0 ) , M_MASK , PPCVLE , EXT , { RA , RS , ILWn , ILWb } } ,
{ " e_insrwi " , M ( 29 , 0 ) , M_MASK , PPCVLE , EXT , { RA , RS , IRWn , IRWb } } ,
{ " e_rotlwi " , MME ( 29 , 31 , 1 ) , MMBME_MASK , PPCVLE , EXT , { RA , RS , SH } } ,
{ " e_rotrwi " , MME ( 29 , 31 , 1 ) , MMBME_MASK , PPCVLE , EXT , { RA , RS , RRWn } } ,
{ " e_clrlwi " , MME ( 29 , 31 , 1 ) , MSHME_MASK , PPCVLE , EXT , { RA , RS , MB } } ,
{ " e_clrrwi " , M ( 29 , 1 ) , MSHMB_MASK , PPCVLE , EXT , { RA , RS , CRWn } } ,
{ " e_rlwinm " , M ( 29 , 1 ) , M_MASK , PPCVLE , 0 , { RA , RS , SH , MBE , ME } } ,
{ " e_extlwi " , M ( 29 , 1 ) , MMB_MASK , PPCVLE , EXT , { RA , RS , ELWn , SH } } ,
{ " e_extrwi " , MME ( 29 , 31 , 1 ) , MME_MASK , PPCVLE , EXT , { RA , RS , ERWn , ERWb } } ,
{ " e_clrlslwi " , M ( 29 , 1 ) , M_MASK , PPCVLE , EXT , { RA , RS , CSLWb , CSLWn } } ,
{ " e_b " , BD24 ( 30 , 0 , 0 ) , BD24_MASK , PPCVLE , 0 , { B24 } } ,
{ " e_bl " , BD24 ( 30 , 0 , 1 ) , BD24_MASK , PPCVLE , 0 , { B24 } } ,
{ " e_bdnz " , EBD15 ( 30 , 8 , BO32DNZ , 0 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bdnzl " , EBD15 ( 30 , 8 , BO32DNZ , 1 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bdz " , EBD15 ( 30 , 8 , BO32DZ , 0 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bdzl " , EBD15 ( 30 , 8 , BO32DZ , 1 ) , EBD15_MASK , PPCVLE , EXT , { B15 } } ,
{ " e_bge " , EBD15BI ( 30 , 8 , BO32F , CBLT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bgel " , EBD15BI ( 30 , 8 , BO32F , CBLT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnl " , EBD15BI ( 30 , 8 , BO32F , CBLT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnll " , EBD15BI ( 30 , 8 , BO32F , CBLT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_blt " , EBD15BI ( 30 , 8 , BO32T , CBLT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bltl " , EBD15BI ( 30 , 8 , BO32T , CBLT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bgt " , EBD15BI ( 30 , 8 , BO32T , CBGT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bgtl " , EBD15BI ( 30 , 8 , BO32T , CBGT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_ble " , EBD15BI ( 30 , 8 , BO32F , CBGT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_blel " , EBD15BI ( 30 , 8 , BO32F , CBGT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bng " , EBD15BI ( 30 , 8 , BO32F , CBGT , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bngl " , EBD15BI ( 30 , 8 , BO32F , CBGT , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bne " , EBD15BI ( 30 , 8 , BO32F , CBEQ , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnel " , EBD15BI ( 30 , 8 , BO32F , CBEQ , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_beq " , EBD15BI ( 30 , 8 , BO32T , CBEQ , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_beql " , EBD15BI ( 30 , 8 , BO32T , CBEQ , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bso " , EBD15BI ( 30 , 8 , BO32T , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bsol " , EBD15BI ( 30 , 8 , BO32T , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bun " , EBD15BI ( 30 , 8 , BO32T , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bunl " , EBD15BI ( 30 , 8 , BO32T , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bns " , EBD15BI ( 30 , 8 , BO32F , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnsl " , EBD15BI ( 30 , 8 , BO32F , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnu " , EBD15BI ( 30 , 8 , BO32F , CBSO , 0 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bnul " , EBD15BI ( 30 , 8 , BO32F , CBSO , 1 ) , EBD15BI_MASK , PPCVLE , EXT , { CRS , B15 } } ,
{ " e_bc " , BD15 ( 30 , 8 , 0 ) , BD15_MASK , PPCVLE , 0 , { BO32 , BI32 , B15 } } ,
{ " e_bcl " , BD15 ( 30 , 8 , 1 ) , BD15_MASK , PPCVLE , 0 , { BO32 , BI32 , B15 } } ,
{ " e_bf " , EBD15 ( 30 , 8 , BO32F , 0 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_bfl " , EBD15 ( 30 , 8 , BO32F , 1 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_bt " , EBD15 ( 30 , 8 , BO32T , 0 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_btl " , EBD15 ( 30 , 8 , BO32T , 1 ) , EBD15_MASK , PPCVLE , EXT , { BI32 , B15 } } ,
{ " e_cmph " , X ( 31 , 14 ) , X_MASK , PPCVLE , 0 , { CRD , RA , RB } } ,
{ " e_sc " , X ( 31 , 36 ) , XRTRA_MASK , PPCVLE , 0 , { ELEV } } ,
{ " e_cmphl " , X ( 31 , 46 ) , X_MASK , PPCVLE , 0 , { CRD , RA , RB } } ,
{ " e_crandc " , XL ( 31 , 129 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crnand " , XL ( 31 , 225 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crnot " , XL ( 31 , 33 ) , XL_MASK , PPCVLE , EXT , { BT , BAB } } ,
{ " e_crnor " , XL ( 31 , 33 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crclr " , XL ( 31 , 193 ) , XL_MASK , PPCVLE , EXT , { BTAB } } ,
{ " e_crxor " , XL ( 31 , 193 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_mcrf " , XL ( 31 , 16 ) , XL_MASK , PPCVLE , 0 , { CRD , CR } } ,
{ " e_slwi " , EX ( 31 , 112 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_slwi. " , EX ( 31 , 113 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_crand " , XL ( 31 , 257 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_rlw " , EX ( 31 , 560 ) , EX_MASK , PPCVLE , 0 , { RA , RS , RB } } ,
{ " e_rlw. " , EX ( 31 , 561 ) , EX_MASK , PPCVLE , 0 , { RA , RS , RB } } ,
{ " e_crset " , XL ( 31 , 289 ) , XL_MASK , PPCVLE , EXT , { BTAB } } ,
{ " e_creqv " , XL ( 31 , 289 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_rlwi " , EX ( 31 , 624 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_rlwi. " , EX ( 31 , 625 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_crorc " , XL ( 31 , 417 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " e_crmove " , XL ( 31 , 449 ) , XL_MASK , PPCVLE , EXT , { BT , BAB } } ,
{ " e_cror " , XL ( 31 , 449 ) , XL_MASK , PPCVLE , 0 , { BT , BA , BB } } ,
{ " mtmas1 " , XSPR ( 31 , 467 , 625 ) , XSPR_MASK , PPCVLE , EXT , { RS } } ,
{ " e_srwi " , EX ( 31 , 1136 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " e_srwi. " , EX ( 31 , 1137 ) , EX_MASK , PPCVLE , 0 , { RA , RS , SH } } ,
{ " se_lbz " , SD4 ( 8 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SD , RX } } ,
{ " se_stb " , SD4 ( 9 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SD , RX } } ,
{ " se_lhz " , SD4 ( 10 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDH , RX } } ,
{ " se_sth " , SD4 ( 11 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDH , RX } } ,
{ " se_lwz " , SD4 ( 12 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDW , RX } } ,
{ " se_stw " , SD4 ( 13 ) , SD4_MASK , PPCVLE , 0 , { RZ , SE_SDW , RX } } ,
{ " se_bge " , EBD8IO ( 28 , 0 , 0 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bnl " , EBD8IO ( 28 , 0 , 0 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_ble " , EBD8IO ( 28 , 0 , 1 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bng " , EBD8IO ( 28 , 0 , 1 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bne " , EBD8IO ( 28 , 0 , 2 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bns " , EBD8IO ( 28 , 0 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bnu " , EBD8IO ( 28 , 0 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bf " , EBD8IO ( 28 , 0 , 0 ) , EBD8IO2_MASK , PPCVLE , EXT , { BI16 , B8 } } ,
{ " se_blt " , EBD8IO ( 28 , 1 , 0 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bgt " , EBD8IO ( 28 , 1 , 1 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_beq " , EBD8IO ( 28 , 1 , 2 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bso " , EBD8IO ( 28 , 1 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bun " , EBD8IO ( 28 , 1 , 3 ) , EBD8IO3_MASK , PPCVLE , EXT , { B8 } } ,
{ " se_bt " , EBD8IO ( 28 , 1 , 0 ) , EBD8IO2_MASK , PPCVLE , EXT , { BI16 , B8 } } ,
{ " se_bc " , BD8IO ( 28 ) , BD8IO_MASK , PPCVLE , 0 , { BO16 , BI16 , B8 } } ,
{ " se_b " , BD8 ( 58 , 0 , 0 ) , BD8_MASK , PPCVLE , 0 , { B8 } } ,
{ " se_bl " , BD8 ( 58 , 0 , 1 ) , BD8_MASK , PPCVLE , 0 , { B8 } } ,
} ;
const unsigned int vle_num_opcodes =
sizeof ( vle_opcodes ) / sizeof ( vle_opcodes [ 0 ] ) ;
const unsigned int lsp_num_opcodes = ARRAY_SIZE ( lsp_opcodes ) ;
/* SPE v2 instruction set from SPE2PIM Rev. 2 08/2011 */
const struct powerpc_opcode spe2_opcodes [ ] = {
@ -11391,5 +11392,4 @@ const struct powerpc_opcode spe2_opcodes[] = {
{ " evavgdsr " , VX ( 4 , 1663 ) , VX_MASK , PPCSPE2 , 0 , { RD , RA , RB } } ,
} ;
const unsigned int spe2_num_opcodes =
sizeof ( spe2_opcodes ) / sizeof ( spe2_opcodes [ 0 ] ) ;
const unsigned int spe2_num_opcodes = ARRAY_SIZE ( spe2_opcodes ) ;