rizin/libr/asm/arch/tms320/c55x/table.h
2015-03-27 11:31:58 +01:00

3972 lines
130 KiB
C

{
.byte = 0x00,
.size = 0x03,
.insn = {
// kkkkkkkkxCCCCCCC0000000E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,k8), LIST_END },
.syntax = INSN_SYNTAX(rptcc k8, cond),
},
},
{
.byte = 0x02,
.size = 0x03,
.insn = {
// xxxxxxxxxCCCCCCC0000001E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(retcc cond),
},
},
{
.byte = 0x04,
.size = 0x03,
.insn = {
// LLLLLLLLxCCCCCCC0000010E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,L8), LIST_END },
.syntax = INSN_SYNTAX(bcc L8, cond),
},
},
{
.byte = 0x06,
.size = 0x03,
.insn = {
// LLLLLLLLLLLLLLLL0000011E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,L16), LIST_END },
.syntax = INSN_SYNTAX(b L16),
},
},
{
.byte = 0x08,
.size = 0x03,
.insn = {
// LLLLLLLLLLLLLLLL0000100E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,L16), LIST_END },
.syntax = INSN_SYNTAX(call L16),
},
},
{
.byte = 0x0c,
.size = 0x03,
.insn = {
// kkkkkkkkkkkkkkkk0000110E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(rpt k16),
},
},
{
.byte = 0x0e,
.size = 0x03,
.insn = {
// llllllllllllllll0000111E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,l16), LIST_END },
.syntax = INSN_SYNTAX(rptb pmad),
},
},
{
.byte = 0x10,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// xxSHIFTWDDSS00000001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(and ACx << #SHIFTW[, ACy]),
},
{
// xxSHIFTWDDSS00010001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(or ACx << #SHIFTW[, ACy]),
},
{
// xxSHIFTWDDSS00100001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(xor ACx << #SHIFTW[, ACy]),
},
{
// xxSHIFTWDDSS00110001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(add ACx << #SHIFTW, ACy),
},
{
// xxSHIFTWDDSS01000001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(sub ACx << #SHIFTW, ACy),
},
{
// xxSHIFTWDDSS01010001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(sfts ACx, #SHIFTW[, ACy]),
},
{
// xxSHIFTWDDSS01100001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(sftsc ACx, #SHIFTW[, ACy]),
},
{
// xxSHIFTWDDSS01110001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,SHIFTW), LIST_END },
.syntax = INSN_SYNTAX(sftl ACx, #SHIFTW[, ACy]),
},
{
// xxddxxxxxxSS10000001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(20,dd), LIST_END },
.syntax = INSN_SYNTAX(exp ACx, Tx),
},
{
// xxddxxxxDDSS10010001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(20,dd), LIST_END },
.syntax = INSN_SYNTAX(mant ACx, ACy :: nexp ACx, Tx),
},
{
// SSddxxxtxxSS10100001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(16,t), INSN_FLAG(20,dd), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(bcnt ACx, ACy, TCx, Tx),
},
{
// SSDDnnnnDDSS11000001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(maxdiff ACx, ACy, ACz, ACw),
},
{
// SSDDxxxrDDSS11010001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,13), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,r), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(dmaxdiff ACx, ACy, ACz, ACw, TRNx),
},
{
// SSDDxxxxDDSS11100001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mindiff ACx, ACy, ACz, ACw),
},
{
// SSDDxxxrDDSS11110001000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,15), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), INSN_FLAG(14,DD), INSN_FLAG(16,r), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(dmindiff ACx, ACy, ACz, ACw, TRNx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x12,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// FDDD0uttFSSScc010001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,1), INSN_MASK(19,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(cmpand[u] src RELOP dst, TCy, TCx),
},
{
// FDDD1uttFSSScc010001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,1), INSN_MASK(19,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(cmpand[u] src RELOP dst, !TCy, TCx),
},
{
// FDDD0uttFSSScc100001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,2), INSN_MASK(19,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(cmpor[u] src RELOP dst, TCy, TCx),
},
{
// FDDD1uttFSSScc100001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,2), INSN_MASK(19,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,tt), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(cmpor[u] src RELOP dst, !TCy, TCx),
},
{
// FDDD0xvvFSSSxx110001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,3), INSN_MASK(19,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(16,vv), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(rol BitOut, src, BitIn, dst),
},
{
// FDDD1xvvFSSSxx110001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,3), INSN_MASK(19,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(16,vv), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(ror BitIn, src, BitOut, dst),
},
{
// FDDDxuxtFSSScc000001001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,t), INSN_FLAG(18,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(cmp[u] src RELOP dst, TCx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x14,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// XACD0000XACS00010001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
.syntax = INSN_SYNTAX(aadd XACsrc, XACdst),
},
{
// XACD0001XACS00010001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
.syntax = INSN_SYNTAX(amov XACsrc, XACdst),
},
{
// XACD0010XACS00010001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
.syntax = INSN_SYNTAX(asub XACsrc, XACdst),
},
{
// XACD1000XACS00010001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
.syntax = INSN_SYNTAX(aadd XACsrc, XACdst),
},
{
// XACD1001XACS00010001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
.syntax = INSN_SYNTAX(amov XACsrc, XACdst),
},
{
// XACD1010XACS00010001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), INSN_MASK(16,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XACS), INSN_FLAG(20,XACD), LIST_END },
.syntax = INSN_SYNTAX(asub XACsrc, XACdst),
},
{
// FDDD0000FSSSxxxx0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(aadd TAx, TAy),
},
{
// FDDD0001FSSSxxxx0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(amov TAx, TAy),
},
{
// FDDD0010FSSSxxxx0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(asub TAx, TAy),
},
{
// FDDD0100PPPPPPPP0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(aadd P8, TAx),
},
{
// FDDD0101PPPPPPPP0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(amov P8, TAx),
},
{
// FDDD0110PPPPPPPP0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(asub P8, TAx),
},
{
// FDDD1000FSSSxxxx0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(aadd TAx, TAy),
},
{
// FDDD1001FSSSxxxx0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(amov TAx, TAy),
},
{
// FDDD1010FSSSxxxx0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(asub TAx, TAy),
},
{
// FDDD1100PPPPPPPP0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(aadd P8, TAx),
},
{
// FDDD1101PPPPPPPP0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,13), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(amov P8, TAx),
},
{
// FDDD1110PPPPPPPP0001010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,P8), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(asub P8, TAx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x16,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// kkkk0000xxxxxkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k3), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k7, dph),
},
{
// kkkk0011xxxkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k5), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k9, pdp),
},
{
// kkkk0100kkkkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k12, bk03),
},
{
// kkkk0101kkkkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k12, bk47),
},
{
// kkkk0110kkkkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k12, bkc),
},
{
// kkkk1000kkkkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k12, csr),
},
{
// kkkk1001kkkkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k12, brc0),
},
{
// kkkk1010kkkkkkkk0001011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(mov k12, brc1),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x18,
.size = 0x03,
.insn = {
// FDDDFSSSkkkkkkkk0001100E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(and k8, src, dst),
},
},
{
.byte = 0x1a,
.size = 0x03,
.insn = {
// FDDDFSSSkkkkkkkk0001101E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(or k8, src, dst),
},
},
{
.byte = 0x1c,
.size = 0x03,
.insn = {
// FDDDFSSSkkkkkkkk0001110E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(xor k8, src, dst),
},
},
{
.byte = 0x1e,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDDxx0%KKKKKKKK0001111E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,K8), INSN_FLAG(16,R), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mpyk[r] K8, [ACx,] ACy),
},
{
// SSDDss1%KKKKKKKK0001111E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,K8), INSN_FLAG(16,R), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mack[r] Tx, K8, [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x20,
.size = 0x01,
.insn = {
// 0010000E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), LIST_END },
.syntax = INSN_SYNTAX(nop),
},
},
{
.byte = 0x22,
.size = 0x02,
.insn = {
// FSSSFDDD0010001E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov src, dst),
},
},
{
.byte = 0x24,
.size = 0x02,
.insn = {
// FSSSFDDD0010010E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(add [src,] dst),
},
},
{
.byte = 0x26,
.size = 0x02,
.insn = {
// FSSSFDDD0010011E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(sub [src,] dst),
},
},
{
.byte = 0x28,
.size = 0x02,
.insn = {
// FSSSFDDD0010100E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(and src, dst),
},
},
{
.byte = 0x2a,
.size = 0x02,
.insn = {
// FSSSFDDD0010101E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(or src, dst),
},
},
{
.byte = 0x2c,
.size = 0x02,
.insn = {
// FSSSFDDD0010110E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(xor src, dst),
},
},
{
.byte = 0x2e,
.size = 0x02,
.insn = {
// FSSSFDDD0010111E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(max [src,] dst),
},
},
{
.byte = 0x30,
.size = 0x02,
.insn = {
// FSSSFDDD0011000E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(min [src,] dst),
},
},
{
.byte = 0x32,
.size = 0x02,
.insn = {
// FSSSFDDD0011001E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(abs [src,] dst),
},
},
{
.byte = 0x34,
.size = 0x02,
.insn = {
// FSSSFDDD0011010E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(neg [src,] dst),
},
},
{
.byte = 0x36,
.size = 0x02,
.insn = {
// FSSSFDDD0011011E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(not [src,] dst),
},
},
{
.byte = 0x38,
.size = 0x02,
.insn = {
// FSSSFDDD0011100E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(psh src1, src2),
},
},
{
.byte = 0x3a,
.size = 0x02,
.insn = {
// FSSSFDDD0011101E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(pop dst1, dst2),
},
},
{
.byte = 0x3c,
.size = 0x02,
.insn = {
// kkkkFDDD0011110E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(mov K4, dst),
},
},
{
.byte = 0x3e,
.size = 0x02,
.insn = {
// kkkkFDDD0011111E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(mov -K4, dst),
},
},
{
.byte = 0x40,
.size = 0x02,
.insn = {
// kkkkFDDD0100000E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(add K4, dst),
},
},
{
.byte = 0x42,
.size = 0x02,
.insn = {
// kkkkFDDD0100001E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(sub K4, dst),
},
},
{
.byte = 0x44,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// 1000FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov sp, TAx),
},
{
// 1001FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov ssp, TAx),
},
{
// 1010FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov cdp, TAx),
},
{
// 1100FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov brc0, TAx),
},
{
// 1101FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,4,13), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov brc1, TAx),
},
{
// 1110FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,4,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov rptc, TAx),
},
{
// 01x0FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,1,0), INSN_MASK(14,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sfts dst, #-1),
},
{
// 01x1FDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(12,1,1), INSN_MASK(14,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sfts dst, #1),
},
{
// 00SSFDDD0100010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(14,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,FDDD), INSN_FLAG(12,SS), LIST_END },
.syntax = INSN_SYNTAX(mov hi(ACx), TAx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x46,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// kkkk00000100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bclr K4, st0_55),
},
{
// kkkk00010100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bset K4, st0_55),
},
{
// kkkk00100100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bclr K4, st1_55),
},
{
// kkkk00110100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bset K4, st1_55),
},
{
// kkkk01000100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bclr K4, st2_55),
},
{
// kkkk01010100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bset K4, st2_55),
},
{
// kkkk01100100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bclr K4, st3_55),
},
{
// kkkk01110100011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(bset K4, st3_55),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x48,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// xxxxx10101001000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,5), LIST_END },
.f_list = NULL,
.syntax = INSN_SYNTAX(reti),
},
{
// xxxxx0000100100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), LIST_END },
.syntax = INSN_SYNTAX(rpt csr),
},
{
// FSSSx0010100100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(rptadd csr, TAx),
},
{
// kkkkx0100100100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(rptadd csr, K4),
},
{
// kkkkx0110100100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,k4), LIST_END },
.syntax = INSN_SYNTAX(rptsub csr, K4),
},
{
// xxxxx1000100100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), LIST_END },
.syntax = INSN_SYNTAX(ret),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x4a,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// 0LLLLLLL0100101E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,L7), LIST_END },
.syntax = INSN_SYNTAX(b L7),
},
{
// 1lllllll0100101E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,l7), LIST_END },
.syntax = INSN_SYNTAX(rptblocal pmad),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x4c,
.size = 0x02,
.insn = {
// kkkkkkkk0100110E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k8), LIST_END },
.syntax = INSN_SYNTAX(rpt k8),
},
},
{
.byte = 0x4e,
.size = 0x02,
.insn = {
// KKKKKKKK0100111E
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,K8), LIST_END },
.syntax = INSN_SYNTAX(aadd K8, sp),
},
},
{
.byte = 0x50,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// XDDD01000101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XDDD), LIST_END },
.syntax = INSN_SYNTAX(popboth xdst),
},
{
// XSSS01010101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,XSSS), LIST_END },
.syntax = INSN_SYNTAX(pshboth xsrc),
},
{
// FDDDx0000101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sftl dst, #1),
},
{
// FDDDx0010101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sftl dst, #-1),
},
{
// FDDDx0100101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FDDD), LIST_END },
.syntax = INSN_SYNTAX(pop dst),
},
{
// xxDDx0110101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,DD), LIST_END },
.syntax = INSN_SYNTAX(pop dbl(ACx)),
},
{
// FSSSx1100101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(psh src),
},
{
// xxSSx1110101000E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,3,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,SS), LIST_END },
.syntax = INSN_SYNTAX(psh dbl(ACx)),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x52,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// FSSS10000101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, sp),
},
{
// FSSS10010101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, ssp),
},
{
// FSSS10100101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, cdp),
},
{
// FSSS11000101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, csr),
},
{
// FSSS11010101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,13), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, brc1),
},
{
// FSSS11100101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,4,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, brc0),
},
{
// FSSS00DD0101001E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(10,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,DD), INSN_FLAG(12,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov TAx, hi(ACx)),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x54,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// DDSS000%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(add[r]v [ACx,] ACy),
},
{
// DDSS001%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sqa[r] [ACx,] ACy),
},
{
// DDSS010%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sqs[r] [ACx,] ACy),
},
{
// DDSS011%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r] [ACx,] ACy),
},
{
// DDSS100%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sqr[r] [ACx,] ACy),
},
{
// DDSS101%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(round [ACx,] ACy),
},
{
// DDSS110%0101010E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,3,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sat[r] [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x56,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// DDSSss0%0101011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r] ACx, Tx, ACy[, ACy]),
},
{
// DDSSss1%0101011E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r] Tx, [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x58,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// DDSSss0%0101100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r] Tx, [ACx,] ACy),
},
{
// DDSSss1%0101100E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,R), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r] ACy, Tx, ACx, ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x5a,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// DDSSss000101101E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(add ACx << Tx, ACy),
},
{
// DDSSss010101101E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sub ACx << Tx, ACy),
},
{
// DDxxxx1t0101101E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(9,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,t), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sftcc ACx, TCx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x5c,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// DDSSss000101110E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sftl ACx, Tx[, ACy]),
},
{
// DDSSss010101110E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sfts ACx, Tx[, ACy]),
},
{
// DDSSss100101110E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(8,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(10,ss), INSN_FLAG(12,SS), INSN_FLAG(14,DD), LIST_END },
.syntax = INSN_SYNTAX(sftsc ACx, Tx[, ACy]),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x5e,
.size = 0x02,
.insn = {
// 00kkkkkk0101111E
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(14,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(0,E), INSN_FLAG(8,k6), LIST_END },
.syntax = INSN_SYNTAX(SWAP ( )),
},
},
{
.byte = 0x60,
.size = 0x02,
.insn = {
// lCCCCCCC01100lll
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,l3), INSN_FLAG(8,CCCCCCC), INSN_FLAG(15,l1), LIST_END },
.syntax = INSN_SYNTAX(bcc l4, cond),
},
},
{
.byte = 0x68,
.size = 0x05,
.insn = {
// PPPPPPPPPPPPPPPPPPPPPPPPxCCCCCCC01101000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,P24), LIST_END },
.syntax = INSN_SYNTAX(bcc P24, cond),
},
},
{
.byte = 0x69,
.size = 0x05,
.insn = {
// PPPPPPPPPPPPPPPPPPPPPPPPxCCCCCCC01101001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,P24), LIST_END },
.syntax = INSN_SYNTAX(callcc P24, cond),
},
},
{
.byte = 0x6a,
.size = 0x04,
.insn = {
// PPPPPPPPPPPPPPPPPPPPPPPP01101010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,P24), LIST_END },
.syntax = INSN_SYNTAX(b P24),
},
},
{
.byte = 0x6c,
.size = 0x04,
.insn = {
// PPPPPPPPPPPPPPPPPPPPPPPP01101100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,P24), LIST_END },
.syntax = INSN_SYNTAX(call P24),
},
},
{
.byte = 0x6d,
.size = 0x04,
.insn = {
// LLLLLLLLLLLLLLLLxCCCCCCC01101101
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,L16), LIST_END },
.syntax = INSN_SYNTAX(bcc L16, cond),
},
},
{
.byte = 0x6e,
.size = 0x04,
.insn = {
// LLLLLLLLLLLLLLLLxCCCCCCC01101110
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), INSN_FLAG(16,L16), LIST_END },
.syntax = INSN_SYNTAX(callcc L16, cond),
},
},
{
.byte = 0x6f,
.size = 0x04,
.insn = {
// LLLLLLLLKKKKKKKKFSSSccxu01101111
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,u), INSN_FLAG(10,cc), INSN_FLAG(12,FSSS), INSN_FLAG(16,K8), INSN_FLAG(24,L8), LIST_END },
.syntax = INSN_SYNTAX(bcc[u] L8, src RELOP K8),
},
},
{
.byte = 0x70,
.size = 0x04,
.insn = {
// SSDDSHFTKKKKKKKKKKKKKKKK01110000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(add K16 << #SHFT, [ACx,] ACy),
},
},
{
.byte = 0x71,
.size = 0x04,
.insn = {
// SSDDSHFTKKKKKKKKKKKKKKKK01110001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(sub K16 << #SHFT, [ACx,] ACy),
},
},
{
.byte = 0x72,
.size = 0x04,
.insn = {
// SSDDSHFTkkkkkkkkkkkkkkkk01110010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(and k16 << #SHFT, [ACx,] ACy),
},
},
{
.byte = 0x73,
.size = 0x04,
.insn = {
// SSDDSHFTkkkkkkkkkkkkkkkk01110011
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(or k16 << #SHFT, [ACx,] ACy),
},
},
{
.byte = 0x74,
.size = 0x04,
.insn = {
// SSDDSHFTkkkkkkkkkkkkkkkk01110100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(xor k16 << #SHFT, [ACx,] ACy),
},
},
{
.byte = 0x75,
.size = 0x04,
.insn = {
// xxDDSHFTKKKKKKKKKKKKKKKK01110101
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,SHFT), INSN_FLAG(28,DD), LIST_END },
.syntax = INSN_SYNTAX(mov K16 << #SHFT, ACx),
},
},
{
.byte = 0x76,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// FDDD00SSkkkkkkkkkkkkkkkk01110110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(bfxtr k16, ACx, dst),
},
{
// FDDD01SSkkkkkkkkkkkkkkkk01110110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,SS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(bfxpa k16, ACx, dst),
},
{
// FDDD10xxKKKKKKKKKKKKKKKK01110110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov K16, dst),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x77,
.size = 0x04,
.insn = {
// FDDDxxxxDDDDDDDDDDDDDDDD01110111
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,D16), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(amov D16, TAx),
},
},
{
.byte = 0x78,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// xxx0000xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, dp),
},
{
// xxx0001xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, ssp),
},
{
// xxx0010xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, cdp),
},
{
// xxx0011xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, bsa01),
},
{
// xxx0100xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, bsa23),
},
{
// xxx0101xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, bsa45),
},
{
// xxx0110xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, bsa67),
},
{
// xxx0111xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, bsac),
},
{
// xxx1000xkkkkkkkkkkkkkkkk01111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), LIST_END },
.syntax = INSN_SYNTAX(mov k16, sp),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x79,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDDxx0%KKKKKKKKKKKKKKKK01111001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,R), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(mpyk[r] K16, [ACx,] ACy),
},
{
// SSDDss1%KKKKKKKKKKKKKKKK01111001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,R), INSN_FLAG(26,ss), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(mack[r] Tx, K16, [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x7a,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDD000xKKKKKKKKKKKKKKKK01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(add K16 << #16, [ACx,] ACy),
},
{
// SSDD001xKKKKKKKKKKKKKKKK01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(sub K16 << #16, [ACx,] ACy),
},
{
// SSDD010xkkkkkkkkkkkkkkkk01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(and k16 << #16, [ACx,] ACy),
},
{
// SSDD011xkkkkkkkkkkkkkkkk01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(or k16 << #16, [ACx,] ACy),
},
{
// SSDD100xkkkkkkkkkkkkkkkk01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(xor k16 << #16, [ACx,] ACy),
},
{
// xxDD101xKKKKKKKKKKKKKKKK01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(28,DD), LIST_END },
.syntax = INSN_SYNTAX(mov K16 << #16, ACx),
},
{
// xxxx110xxxxxxxxxxxxxxxxx01111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(25,3,6), LIST_END },
.f_list = NULL,
.syntax = INSN_SYNTAX(idle),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x7b,
.size = 0x04,
.insn = {
// FDDDFSSSKKKKKKKKKKKKKKKK01111011
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(add K16, [src,] dst),
},
},
{
.byte = 0x7c,
.size = 0x04,
.insn = {
// FDDDFSSSKKKKKKKKKKKKKKKK01111100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,K16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sub K16, [src,] dst),
},
},
{
.byte = 0x7d,
.size = 0x04,
.insn = {
// FDDDFSSSkkkkkkkkkkkkkkkk01111101
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(and k16, src, dst),
},
},
{
.byte = 0x7e,
.size = 0x04,
.insn = {
// FDDDFSSSkkkkkkkkkkkkkkkk01111110
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(or k16, src, dst),
},
},
{
.byte = 0x7f,
.size = 0x04,
.insn = {
// FDDDFSSSkkkkkkkkkkkkkkkk01111111
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,k16), INSN_FLAG(24,FSSS), INSN_FLAG(28,FDDD), LIST_END },
.syntax = INSN_SYNTAX(xor k16, src, dst),
},
},
{
.byte = 0x80,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// YMMM00xxXXXMMMYY10000000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Xmem), dbl(Ymem)),
},
{
// YMMM01xxXXXMMMYY10000000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(mov Xmem, Ymem),
},
{
// YMMM10SSXXXMMMYY10000000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(mov ACx, Xmem, Ymem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x81,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// YMMM00DDXXXMMMYY10000001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(add Xmem, Ymem, ACx),
},
{
// YMMM01DDXXXMMMYY10000001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(sub Xmem, Ymem, ACx),
},
{
// YMMM10DDXXXMMMYY10000001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(mov Xmem, Ymem, ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x82,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// uuDDDDg%YMMM00mmXXXMMMYY10000010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// uuDDDDg%YMMM01mmXXXMMMYY10000010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// uuDDDDg%YMMM10mmXXXMMMYY10000010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// uuxxDDg%YMMM11mmXXXMMMYY10000010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(amar Xmem :: mpy[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x83,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// uuDDDDg%YMMM00mmXXXMMMYY10000011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// uuDDDDg%YMMM01mmXXXMMMYY10000011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// uuDDDDg%YMMM10mmXXXMMMYY10000011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx >> #16 :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// uuxxDDg%YMMM11mmXXXMMMYY10000011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(amar Xmem :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x84,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// uuDDDDg%YMMM00mmXXXMMMYY10000100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy >> #16),
},
{
// uuxxDDg%YMMM01mmXXXMMMYY10000100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(amar Xmem :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx >> #16),
},
{
// uuDDDDg%YMMM10mmXXXMMMYY10000100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy >> #16),
},
{
// uuDDDDg%YMMM11mmXXXMMMYY10000100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx >> #16 :: mac[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy >> #16),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x85,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// DDx0DDU%YMMM11mmXXXMMMYY10000101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), INSN_MASK(28,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(firsadd Xmem, Ymem, Cmem, ACx, ACy),
},
{
// DDx1DDU%YMMM11mmXXXMMMYY10000101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), INSN_MASK(28,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(firssub Xmem, Ymem, Cmem, ACx, ACy),
},
{
// uuxxDDg%YMMM00mmXXXMMMYY10000101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(amar Xmem :: mas[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACx),
},
{
// uuDDDDg%YMMM01mmXXXMMMYY10000101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,DD), INSN_FLAG(28,DD), INSN_FLAG(30,uu), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Xmem[)], [uns(]Cmem[)], ACx :: mas[r][40] [uns(]Ymem[)], [uns(]Cmem[)], ACy),
},
{
// xxxxxxxxYMMM10mmXXXMMMYY10000101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,mm), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(amar Xmem, Ymem, Cmem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x86,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// 1110xxn%YMMMDDDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(28,4,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), LIST_END },
.syntax = INSN_SYNTAX(sqdst Xmem, Ymem, ACx, ACy),
},
{
// 1111xxn%YMMMDDDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(28,4,15), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), LIST_END },
.syntax = INSN_SYNTAX(abdst Xmem, Ymem, ACx, ACy),
},
{
// 000guuU%YMMMxxDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
.syntax = INSN_SYNTAX(mpym[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], ACx),
},
{
// 001guuU%YMMMSSDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
.syntax = INSN_SYNTAX(macm[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], [ACx,] ACy),
},
{
// 010guuU%YMMMSSDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
.syntax = INSN_SYNTAX(macm[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], ACx >> #16[, ACy]),
},
{
// 011guuU%YMMMSSDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,uu), INSN_FLAG(28,g), LIST_END },
.syntax = INSN_SYNTAX(masm[r][40] [T3 = ][uns(]Xmem[)], [uns(]Ymem[)], [ACx,] ACy),
},
{
// 100xssU%YMMMDDDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
.syntax = INSN_SYNTAX(masm[r] [T3 = ]Xmem, Tx, ACx :: mov Ymem << #16, ACy),
},
{
// 101xssU%YMMMDDDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
.syntax = INSN_SYNTAX(macm[r] [T3 = ]Xmem, Tx, ACx :: mov Ymem << #16, ACy),
},
{
// 110xxxx%YMMMDDDDXXXMMMYY10000110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,DD), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), LIST_END },
.syntax = INSN_SYNTAX(lms Xmem, Ymem, ACx, ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x87,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// 01100001YMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(24,8,97), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(lmsf Xmem, Ymem, ACx, ACy),
},
{
// 000xssU%YMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
.syntax = INSN_SYNTAX(mpym[r] [T3 = ]Xmem, Tx, ACy :: mov hi(ACx << t2), Ymem),
},
{
// 001xssU%YMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
.syntax = INSN_SYNTAX(macm[r] [T3 = ]Xmem, Tx, ACy :: mov hi(ACx << t2), Ymem),
},
{
// 010xssU%YMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(26,ss), LIST_END },
.syntax = INSN_SYNTAX(masm[r] [T3 = ]Xmem, Tx, ACy :: mov hi(ACx << t2), Ymem),
},
{
// 100xxxxxYMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(add Xmem << #16, ACx, ACy :: mov hi(ACy << t2), Ymem),
},
{
// 101xxxxxYMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(sub Xmem << #16, ACx, ACy :: mov hi(ACy << t2), Ymem),
},
{
// 110xxxxxYMMMSSDDXXXMMMYY10000111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(29,3,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,YY), INSN_FLAG(10,MMM), INSN_FLAG(13,XXX), INSN_FLAG(16,DD), INSN_FLAG(18,SS), INSN_FLAG(20,MMM), INSN_FLAG(23,Y), LIST_END },
.syntax = INSN_SYNTAX(mov Xmem << #16, ACy :: mov hi(ACx << t2), Ymem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x90,
.size = 0x02,
.insn = {
// XSSSXDDD10010000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,XDDD), INSN_FLAG(12,XSSS), LIST_END },
.syntax = INSN_SYNTAX(mov xsrc, xdst),
},
},
{
.byte = 0x91,
.size = 0x02,
.insn = {
// xxxxxxSS10010001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,SS), LIST_END },
.syntax = INSN_SYNTAX(b ACx),
},
},
{
.byte = 0x92,
.size = 0x02,
.insn = {
// xxxxxxSS10010010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,SS), LIST_END },
.syntax = INSN_SYNTAX(call ACx),
},
},
{
.byte = 0x94,
.size = 0x02,
.insn = {
// xxxxxxxx10010100
.i_list = NULL,
.m_list = NULL,
.f_list = NULL,
.syntax = INSN_SYNTAX(reset),
},
},
{
.byte = 0x95,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// 0xxkkkkk10010101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k5), LIST_END },
.syntax = INSN_SYNTAX(intr k5),
},
{
// 1xxkkkkk10010101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,k5), LIST_END },
.syntax = INSN_SYNTAX(trap k5),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x96,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// 0CCCCCCC10010110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(xcc [label, ]cond),
},
{
// 1CCCCCCC10010110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(xccpart [label, ]cond),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x9e,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// 0CCCCCCC10011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(xcc [label, ]cond),
},
{
// 1CCCCCCC10011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(xccpart [label, ]cond),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0x9f,
.size = 0x02,
.insn = {
.i_list = (insn_item_t []) {
{
// 0CCCCCCC10011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(xcc [label, ]cond),
},
{
// 1CCCCCCC10011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(15,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,CCCCCCC), LIST_END },
.syntax = INSN_SYNTAX(xccpart [label, ]cond),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xa0,
.size = 0x02,
.insn = {
// AAAAAAAI1010FDDD
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,FDDD), INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, dst),
},
},
{
.byte = 0xb0,
.size = 0x02,
.insn = {
// AAAAAAAI101100DD
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,DD), INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem << #16, ACx),
},
},
{
.byte = 0xb4,
.size = 0x02,
.insn = {
// AAAAAAAI10110100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(amar Smem),
},
},
{
.byte = 0xb5,
.size = 0x02,
.insn = {
// AAAAAAAI10110101
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(psh Smem),
},
},
{
.byte = 0xb6,
.size = 0x02,
.insn = {
// AAAAAAAI10110110
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(delay Smem),
},
},
{
.byte = 0xb7,
.size = 0x02,
.insn = {
// AAAAAAAI10110111
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(psh dbl(Lmem)),
},
},
{
.byte = 0xb8,
.size = 0x02,
.insn = {
// AAAAAAAI10111000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(pop dbl(Lmem)),
},
},
{
.byte = 0xbb,
.size = 0x02,
.insn = {
// AAAAAAAI10111011
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(pop Smem),
},
},
{
.byte = 0xbc,
.size = 0x02,
.insn = {
// AAAAAAAI101111SS
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,SS), INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov hi(ACx), Smem),
},
},
{
.byte = 0xc0,
.size = 0x02,
.insn = {
// AAAAAAAI1100FSSS
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(0,FSSS), INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov src, Smem),
},
},
{
.byte = 0xd0,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// 0%DD01mmAAAAAAAI11010000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), INSN_MASK(23,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
.syntax = INSN_SYNTAX(mpy[r] Smem, uns(Cmem), ACx),
},
{
// 0%DD10mmAAAAAAAI11010000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), INSN_MASK(23,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
.syntax = INSN_SYNTAX(mac[r] Smem, uns(Cmem), ACx),
},
{
// 0%DD11mmAAAAAAAI11010000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), INSN_MASK(23,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
.syntax = INSN_SYNTAX(mas[r] Smem, uns(Cmem), ACx),
},
{
// U%DDxxmmAAAAAAAI11010000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(macm[r]z [T3 = ]Smem, Cmem, ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xd1,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// U%DD00mmAAAAAAAI11010001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(mpym[r] [T3 = ]Smem, Cmem, ACx),
},
{
// U%DD01mmAAAAAAAI11010001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(macm[r] [T3 = ]Smem, Cmem, ACx),
},
{
// U%DD10mmAAAAAAAI11010001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(masm[r] [T3 = ]Smem, Cmem, ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xd2,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// U%DD00SSAAAAAAAI11010010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(macm[r] [T3 = ]Smem, [ACx,] ACy),
},
{
// U%DD01SSAAAAAAAI11010010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(masm[r] [T3 = ]Smem, [ACx,] ACy),
},
{
// U%DD10SSAAAAAAAI11010010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(sqam[r] [T3 = ]Smem, [ACx,] ACy),
},
{
// U%DD11SSAAAAAAAI11010010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(sqsm[r] [T3 = ]Smem, [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xd3,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// U%DD00SSAAAAAAAI11010011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(mpym[r] [T3 = ]Smem, [ACx,] ACy),
},
{
// U%DD10xxAAAAAAAI11010011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(sqrm[r] [T3 = ]Smem, ACx),
},
{
// U%DDu1ssAAAAAAAI11010011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,ss), INSN_FLAG(19,u), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(mpym[r][u] [T3 = ]Smem, Tx, ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xd4,
.size = 0x03,
.insn = {
// U%DDssSSAAAAAAAI11010100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(macm[r] [T3 = ]Smem, Tx, [ACx,] ACy),
},
},
{
.byte = 0xd5,
.size = 0x03,
.insn = {
// U%DDssSSAAAAAAAI11010101
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SS), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,R), INSN_FLAG(23,U), LIST_END },
.syntax = INSN_SYNTAX(masm[r] [T3 = ]Smem, Tx, [ACx,] ACy),
},
},
{
.byte = 0xd6,
.size = 0x03,
.insn = {
// FDDDFSSSAAAAAAAI11010110
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(add Smem, [src,] dst),
},
},
{
.byte = 0xd7,
.size = 0x03,
.insn = {
// FDDDFSSSAAAAAAAI11010111
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sub Smem, [src,] dst),
},
},
{
.byte = 0xd8,
.size = 0x03,
.insn = {
// FDDDFSSSAAAAAAAI11011000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(sub src, Smem, dst),
},
},
{
.byte = 0xd9,
.size = 0x03,
.insn = {
// FDDDFSSSAAAAAAAI11011001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(and Smem, src, dst),
},
},
{
.byte = 0xda,
.size = 0x03,
.insn = {
// FDDDFSSSAAAAAAAI11011010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(or Smem, src, dst),
},
},
{
.byte = 0xdb,
.size = 0x03,
.insn = {
// FDDDFSSSAAAAAAAI11011011
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,FSSS), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(xor Smem, src, dst),
},
},
{
.byte = 0xdc,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// 0000xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, dp),
},
{
// 0001xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, cdp),
},
{
// 0010xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bsa01),
},
{
// 0011xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bsa23),
},
{
// 0100xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bsa45),
},
{
// 0101xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bsa67),
},
{
// 0110xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bsac),
},
{
// 0111xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, sp),
},
{
// 1000xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, ssp),
},
{
// 1001xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bk03),
},
{
// 1010xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bk47),
},
{
// 1011xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,11), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, bkc),
},
{
// 1100xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, dph),
},
{
// 1111xx10AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), INSN_MASK(20,4,15), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, pdp),
},
{
// x000xx11AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, csr),
},
{
// x001xx11AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, brc0),
},
{
// x010xx11AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, brc1),
},
{
// x011xx11AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, trn0),
},
{
// x100xx11AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,3), INSN_MASK(20,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, trn1),
},
{
// kkkkxx00AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btst K4, Smem, TC1),
},
{
// kkkkxx01AAAAAAAI11011100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btst K4, Smem, TC2),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xdd,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDDss00AAAAAAAI11011101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(add Smem << Tx, [ACx,] ACy),
},
{
// SSDDss01AAAAAAAI11011101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub Smem << Tx, [ACx,] ACy),
},
{
// SSDDss10AAAAAAAI11011101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(addsub2cc Smem, ACx, Tx, TC1, TC2, ACy),
},
{
// x%DDss11AAAAAAAI11011101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(18,ss), INSN_FLAG(20,DD), INSN_FLAG(22,R), LIST_END },
.syntax = INSN_SYNTAX(mov [rnd(]Smem << Tx[)], ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xde,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDD0000AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(addsubcc Smem, ACx, TC1, ACy),
},
{
// SSDD0001AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(addsubcc Smem, ACx, TC2, ACy),
},
{
// SSDD0010AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(addsubcc Smem, ACx, TC1, TC2, ACy),
},
{
// SSDD0011AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(subc Smem, [ACx,] ACy),
},
{
// SSDD0100AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(add Smem << #16, [ACx,] ACy),
},
{
// SSDD0101AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub Smem << #16, [ACx,] ACy),
},
{
// SSDD0110AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub ACx, Smem << #16, ACy),
},
{
// ssDD1000AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(addsub Tx, Smem, ACx),
},
{
// ssDD1001AAAAAAAI11011110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(subadd Tx, Smem, ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xdf,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// FDDD000uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(]high_byte(Smem)[)], dst),
},
{
// FDDD001uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(]low_byte(Smem)[)], dst),
},
{
// xxDD010uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(]Smem[)], ACx),
},
{
// SSDD100uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(add [uns(]Smem[)], CARRY, [ACx,] ACy),
},
{
// SSDD101uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub [uns(]Smem[)], BORROW, [ACx,] ACy),
},
{
// SSDD110uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(add [uns(]Smem[)], [ACx,] ACy),
},
{
// SSDD111uAAAAAAAI11011111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,u), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub [uns(]Smem[)], [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xe0,
.size = 0x03,
.insn = {
// FSSSxxxtAAAAAAAI11100000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,t), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(btst src, Smem, TCx),
},
},
{
.byte = 0xe1,
.size = 0x03,
.insn = {
// DDSHIFTWAAAAAAAI11100001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,DD), LIST_END },
.syntax = INSN_SYNTAX(mov low_byte(Smem) << #SHIFTW, ACx),
},
},
{
.byte = 0xe2,
.size = 0x03,
.insn = {
// DDSHIFTWAAAAAAAI11100010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,DD), LIST_END },
.syntax = INSN_SYNTAX(mov high_byte(Smem) << #SHIFTW, ACx),
},
},
{
.byte = 0xe3,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// FSSS1100AAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(bset src, Smem),
},
{
// FSSS1101AAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,13), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(bclr src, Smem),
},
{
// kkkk000xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btstset K4, Smem, TC1),
},
{
// kkkk001xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btstset K4, Smem, TC2),
},
{
// kkkk010xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btstclr K4, Smem, TC1),
},
{
// kkkk011xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btstclr K4, Smem, TC2),
},
{
// kkkk100xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btstnot K4, Smem, TC1),
},
{
// kkkk101xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,k4), LIST_END },
.syntax = INSN_SYNTAX(btstnot K4, Smem, TC2),
},
{
// FSSS111xAAAAAAAI11100011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(bnot src, Smem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xe4,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// FSSSx0xxAAAAAAAI11100100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(psh src,Smem),
},
{
// FDDDx1xxAAAAAAAI11100100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(pop dst, Smem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xe5,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// 000010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov dp, Smem),
},
{
// 000110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov cdp, Smem),
},
{
// 001010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bsa01, Smem),
},
{
// 001110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bsa23, Smem),
},
{
// 010010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,18), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bsa45, Smem),
},
{
// 010110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,22), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bsa67, Smem),
},
{
// 011010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,26), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bsac, Smem),
},
{
// 011110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,30), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov sp, Smem),
},
{
// 100010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,34), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov ssp, Smem),
},
{
// 100110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,38), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bk03, Smem),
},
{
// 101010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,42), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bk47, Smem),
},
{
// 101110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,46), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov bkc, Smem),
},
{
// 110010xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,50), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov dph, Smem),
},
{
// 111110xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,62), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov pdp, Smem),
},
{
// x00011xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,5,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov csr, Smem),
},
{
// x00111xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,5,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov brc0, Smem),
},
{
// x01011xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,5,11), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov brc1, Smem),
},
{
// x01111xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,5,15), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov trn0, Smem),
},
{
// x10011xxAAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,5,19), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov trn1, Smem),
},
{
// FSSS01x0AAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,1,0), INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov src, high_byte(Smem)),
},
{
// FSSS01x1AAAAAAAI11100101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,1,1), INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov src, low_byte(Smem)),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xe6,
.size = 0x03,
.insn = {
// KKKKKKKKAAAAAAAI11100110
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K8), LIST_END },
.syntax = INSN_SYNTAX(mov K8, Smem),
},
},
{
.byte = 0xe7,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// SSss00xxAAAAAAAI11100111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,ss), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov ACx << Tx, Smem),
},
{
// SSss10x%AAAAAAAI11100111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(20,ss), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [rnd(]hi(ACx << Tx)[)], Smem),
},
{
// SSss11u%AAAAAAAI11100111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(17,u), INSN_FLAG(20,ss), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(] [rnd(]hi[(saturate](ACx << Tx)[)))], Smem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xe8,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// SSxxx0x%AAAAAAAI11101000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [rnd(]hi(ACx)[)], Smem),
},
{
// SSxxx1u%AAAAAAAI11101000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,R), INSN_FLAG(17,u), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(] [rnd(]hi[(saturate](ACx)[)))], Smem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xe9,
.size = 0x03,
.insn = {
// SSSHIFTWAAAAAAAI11101001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov ACx << #SHIFTW, Smem),
},
},
{
.byte = 0xea,
.size = 0x03,
.insn = {
// SSSHIFTWAAAAAAAI11101010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(mov hi(ACx << #SHIFTW), Smem),
},
},
{
.byte = 0xeb,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// FSSS1100AAAAAAAI11101011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(mov pair(TAx), dbl(Lmem)),
},
{
// xxSS1101AAAAAAAI11101011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,13), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
.syntax = INSN_SYNTAX(mov ACx >> #1, dual(Lmem)),
},
{
// xxSS10x0AAAAAAAI11101011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,1,0), INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
.syntax = INSN_SYNTAX(mov ACx, dbl(Lmem)),
},
{
// xxSS10u1AAAAAAAI11101011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,1,1), INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(17,u), INSN_FLAG(20,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(]saturate(ACx)[)], dbl(Lmem)),
},
{
// xxxx01xxAAAAAAAI11101011
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov reta, dbl(Lmem)),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xec,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// XDDD1110AAAAAAAI11101100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,14), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,XDDD), LIST_END },
.syntax = INSN_SYNTAX(amar Smem, XAdst),
},
{
// FSSS000xAAAAAAAI11101100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(bset Baddr, src),
},
{
// FSSS001xAAAAAAAI11101100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(bclr Baddr, src),
},
{
// FSSS010xAAAAAAAI11101100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(btstp Baddr, src),
},
{
// FSSS011xAAAAAAAI11101100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(bnot Baddr, src),
},
{
// FSSS100tAAAAAAAI11101100
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,t), INSN_FLAG(20,FSSS), LIST_END },
.syntax = INSN_SYNTAX(btst Baddr, src, TCx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xed,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// 00DD1010AAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,10), INSN_MASK(22,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Lmem), pair(hi(ACx))),
},
{
// 00DD1100AAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,12), INSN_MASK(22,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Lmem), pair(LO(ACx))),
},
{
// 00SS1110AAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,14), INSN_MASK(22,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
.syntax = INSN_SYNTAX(mov pair(hi(ACx)), dbl(Lmem)),
},
{
// 00SS1111AAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,15), INSN_MASK(22,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,SS), LIST_END },
.syntax = INSN_SYNTAX(mov pair(lo(ACx)), dbl(Lmem)),
},
{
// XDDD1111AAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,15), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,XDDD), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Lmem), XAdst),
},
{
// XSSS0101AAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(16,4,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,XSSS), LIST_END },
.syntax = INSN_SYNTAX(mov XAsrc, dbl(Lmem)),
},
{
// SSDD000nAAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(add dbl(Lmem), [ACx,] ACy),
},
{
// SSDD001nAAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub dbl(Lmem), [ACx,] ACy),
},
{
// SSDD010xAAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub ACx, dbl(Lmem), ACy),
},
{
// xxxx011xAAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Lmem), reta),
},
{
// xxDD100gAAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,g), INSN_FLAG(20,DD), LIST_END },
.syntax = INSN_SYNTAX(mov[40] dbl(Lmem), ACx),
},
{
// FDDD111xAAAAAAAI11101101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,FDDD), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Lmem), pair(TAx)),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xee,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDD000xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(add dual(Lmem), [ACx,] ACy),
},
{
// SSDD001xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub dual(Lmem), [ACx,] ACy),
},
{
// SSDD010xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,SS), LIST_END },
.syntax = INSN_SYNTAX(sub ACx, dual(Lmem), ACy),
},
{
// ssDD011xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(sub dual(Lmem), Tx, ACx),
},
{
// ssDD100xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(add dual(Lmem), Tx, ACx),
},
{
// ssDD101xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(sub Tx, dual(Lmem), ACx),
},
{
// ssDD110xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(addsub Tx, dual(Lmem), ACx),
},
{
// ssDD111xAAAAAAAI11101110
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(17,3,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(20,DD), INSN_FLAG(22,ss), LIST_END },
.syntax = INSN_SYNTAX(subadd Tx, dual(Lmem), ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xef,
.size = 0x03,
.insn = {
.i_list = (insn_item_t []) {
{
// xxxx00mmAAAAAAAI11101111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
.syntax = INSN_SYNTAX(mov Cmem, Smem),
},
{
// xxxx01mmAAAAAAAI11101111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
.syntax = INSN_SYNTAX(mov Smem, Cmem),
},
{
// xxxx10mmAAAAAAAI11101111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
.syntax = INSN_SYNTAX(mov Cmem,dbl(Lmem)),
},
{
// xxxx11mmAAAAAAAI11101111
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,2,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), LIST_END },
.syntax = INSN_SYNTAX(mov dbl(Lmem), Cmem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xf0,
.size = 0x04,
.insn = {
// KKKKKKKKKKKKKKKKAAAAAAAI11110000
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
.syntax = INSN_SYNTAX(cmp Smem == K16, TC1),
},
},
{
.byte = 0xf1,
.size = 0x04,
.insn = {
// KKKKKKKKKKKKKKKKAAAAAAAI11110001
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
.syntax = INSN_SYNTAX(cmp Smem == K16, TC2),
},
},
{
.byte = 0xf2,
.size = 0x04,
.insn = {
// kkkkkkkkkkkkkkkkAAAAAAAI11110010
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
.syntax = INSN_SYNTAX(band Smem, k16, TC1),
},
},
{
.byte = 0xf3,
.size = 0x04,
.insn = {
// kkkkkkkkkkkkkkkkAAAAAAAI11110011
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
.syntax = INSN_SYNTAX(band Smem, k16, TC2),
},
},
{
.byte = 0xf4,
.size = 0x04,
.insn = {
// kkkkkkkkkkkkkkkkAAAAAAAI11110100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
.syntax = INSN_SYNTAX(and k16, Smem),
},
},
{
.byte = 0xf5,
.size = 0x04,
.insn = {
// kkkkkkkkkkkkkkkkAAAAAAAI11110101
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
.syntax = INSN_SYNTAX(or k16, Smem),
},
},
{
.byte = 0xf6,
.size = 0x04,
.insn = {
// kkkkkkkkkkkkkkkkAAAAAAAI11110110
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,k16), LIST_END },
.syntax = INSN_SYNTAX(xor k16, Smem),
},
},
{
.byte = 0xf7,
.size = 0x04,
.insn = {
// KKKKKKKKKKKKKKKKAAAAAAAI11110111
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
.syntax = INSN_SYNTAX(add K16, Smem),
},
},
{
.byte = 0xf8,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// xxDDx0U%KKKKKKKKAAAAAAAI11111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K8), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(28,DD), LIST_END },
.syntax = INSN_SYNTAX(mpymk[r] [T3 = ]Smem, K8, ACx),
},
{
// SSDDx1U%KKKKKKKKAAAAAAAI11111000
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K8), INSN_FLAG(24,R), INSN_FLAG(25,U), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(macmk[r] [T3 = ]Smem, K8, [ACx,] ACy),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xf9,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// SSDD00xxuxSHIFTWAAAAAAAI11111001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,2,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(add [uns(]Smem[)] << #SHIFTW, [ACx,] ACy),
},
{
// SSDD01xxuxSHIFTWAAAAAAAI11111001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,2,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(28,DD), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(sub [uns(]Smem[)] << #SHIFTW, [ACx,] ACy),
},
{
// xxDD10xxuxSHIFTWAAAAAAAI11111001
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,2,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(28,DD), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(]Smem[)] << #SHIFTW, ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xfa,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// SSxxx0x%xxSHIFTWAAAAAAAI11111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,1,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(24,R), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [rnd(]hi(ACx << #SHIFTW)[)], Smem),
},
{
// SSxxx1x%uxSHIFTWAAAAAAAI11111010
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(26,1,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,SHIFTW), INSN_FLAG(23,u), INSN_FLAG(24,R), INSN_FLAG(30,SS), LIST_END },
.syntax = INSN_SYNTAX(mov [uns(] [rnd(]hi[(saturate](ACx << #SHIFTW)[)))], Smem),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},
{
.byte = 0xfb,
.size = 0x04,
.insn = {
// KKKKKKKKKKKKKKKKAAAAAAAI11111011
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,K16), LIST_END },
.syntax = INSN_SYNTAX(mov K16, Smem),
},
},
{
.byte = 0xfc,
.size = 0x04,
.insn = {
// LLLLLLLLLLLLLLLLAAAAAAAI11111100
.i_list = NULL,
.m_list = NULL,
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,L16), LIST_END },
.syntax = INSN_SYNTAX(bcc L16, ARn_mod ! = #0),
},
},
{
.byte = 0xfd,
.size = 0x04,
.insn = {
.i_list = (insn_item_t []) {
{
// DDDDuug%000000mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,0), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000001mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,1), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000010mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,2), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000011mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,3), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000100mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,4), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000101mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,5), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000110mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,6), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%000111mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,7), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%001000mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,8), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx>>#16),
},
{
// DDDDuug%001001mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,9), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%001010mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,10), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mpy[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%001011mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,11), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mac[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx>>#16),
},
{
// DDDDuug%001100mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,12), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]Smem[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]Smem[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010000mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,16), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010001mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,17), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010010mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,18), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010011mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,19), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mpy[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010100mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,20), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010101mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,21), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010110mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,22), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%010111mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,23), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%011000mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,24), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx>>#16),
},
{
// DDDDuug%011001mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,25), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%011010mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,26), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mpy[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
{
// DDDDuug%011011mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,27), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mac[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy>>#16 :: mac[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx>>#16),
},
{
// DDDDuug%011100mmAAAAAAAI11111101
.i_list = NULL,
.m_list = (insn_mask_t []) { INSN_MASK(18,6,28), LIST_END },
.f_list = (insn_flag_t []) { INSN_FLAG(8,AAAAAAAI), INSN_FLAG(16,mm), INSN_FLAG(24,R), INSN_FLAG(25,g), INSN_FLAG(26,uu), INSN_FLAG(28,DD), INSN_FLAG(30,DD), LIST_END },
.syntax = INSN_SYNTAX(mas[r][40] [uns(]hi(Lmem)[)], [uns(]hi(Cmem)[)], ACy :: mas[r][40] [uns(]lo(Lmem)[)], [uns(]lo(Cmem)[)], ACx),
},
LIST_END,
},
.m_list = NULL,
.f_list = NULL,
.syntax = NULL,
},
},