From 16fd9153447a43fc395617e3a5bc80985df01974 Mon Sep 17 00:00:00 2001 From: Denis Drakhnia Date: Sat, 23 Mar 2024 08:09:43 +0200 Subject: [PATCH] e2k: update disassembler --- disas/e2k-dis.c | 29 ++++++++++++------- disas/e2k-opc.c | 76 ++++++++++++++++++++++++------------------------- 2 files changed, 56 insertions(+), 49 deletions(-) diff --git a/disas/e2k-dis.c b/disas/e2k-dis.c index 37bd2e6e50..6d61dfd5a7 100644 --- a/disas/e2k-dis.c +++ b/disas/e2k-dis.c @@ -68,6 +68,8 @@ struct e2k_private_data unsigned short version; int lines; + + int align; }; #define implement_me(c) assert((c) && "implement me"); @@ -82,7 +84,7 @@ struct e2k_private_data print_styled (info, dis_style_mnemonic, __VA_ARGS__) #define print_align(info) \ - print_text (info, "\t") + print_text (info, " ") #define print_aligned_text(info, ...) \ print_align (info); \ @@ -93,7 +95,7 @@ struct e2k_private_data print_styled (info, dis_style_mnemonic, __VA_ARGS__) #define print_operand_alignment(info, width) \ - print_text (info, "%c", width < 8 ? '\t' : ' '); + print_text (info, "%*c", width < 8 ? 8 - width % 8 : 4 - width % 4, ' ') #define print_sub_mnemonic(info, ...) \ print_styled (info, dis_style_sub_mnemonic, __VA_ARGS__) @@ -488,7 +490,7 @@ print_syllable_impl (struct disassemble_info *info) if (pd->syll_cur >= pd->syll_len) { - print_text (info, "%20c", ' '); + print_text (info, "%16c", ' '); return; } @@ -698,7 +700,8 @@ static void print_nl (struct disassemble_info *info) { struct e2k_private_data *pd = info->private_data; - print_styled (info, dis_style_comment_stop, "\n\t"); + print_styled (info, dis_style_comment_stop, "\n"); + print_text (info, "%*c", pd->align, ' '); print_syllable (pd, info); ++pd->lines; } @@ -891,7 +894,7 @@ decode_pls (struct disassemble_info *info, if (!used[i + 4]) continue; - print_text (info, "plu%d\t", i); + print_text (info, "plu%d ", i); switch (pls & LP_OPC_MASK) { case LP_ANDP: @@ -1735,10 +1738,13 @@ decode_al (bfd_vma memaddr, struct disassemble_info *info, return; } - print_text (info, "alc%d", ch); if (ALS_DECODE_SM (als)) - print_sub_mnemonic (info, ".sm"); - print_text (info, "\t"); + { + print_text (info, "alc%d", ch); + print_sub_mnemonic (info, ".sm "); + } + else + print_text (info, "alc%d ", ch); print_mnemonic (info, "%s", opcode->name); width = strlen (opcode->name); @@ -1947,7 +1953,7 @@ decode_al (bfd_vma memaddr, struct disassemble_info *info, /* Special case for staa instructions. */ if (opcode->format == ALF10_MAS && ALS_DECODE_AA_INC (als)) { - print_text (info, "alc%d\t", ch); + print_text (info, "alc%d ", ch); print_mnemonic (info, "incr"); print_operand_alignment (info, 4); print_aaincr (info, ALS_DECODE_AA_INCR (als)); @@ -2007,7 +2013,6 @@ print_bundle (bfd_vma memaddr, struct disassemble_info *info) return status; } - print_text (info, "\n\t"); len = HS_DECODE_BSZ (packet[0]); status = (*info->read_memory_func) (memaddr, packet, len, info); if (status != 0 || !bundle_unpack (pd, packet, len, &bundle)) @@ -2069,7 +2074,7 @@ print_bundle (bfd_vma memaddr, struct disassemble_info *info) decode_nop (info, bundle.hs); } - //print_aligned_text (info, "--"); + print_aligned_text (info, "--"); /* Force print tail syllables. */ if (pd->show_syllables) @@ -2093,6 +2098,8 @@ print_insn_e2k (bfd_vma memaddr, struct disassemble_info *info) pd = info->private_data; + pd->align = MAX((64 - clz64(memaddr) + 3) / 4, 8) + 5; + if (info->disassembler_options != NULL) { set_isa_version (pd, info->mach); diff --git a/disas/e2k-opc.c b/disas/e2k-opc.c index 50e0f2068c..8f36b6b07c 100644 --- a/disas/e2k-opc.c +++ b/disas/e2k-opc.c @@ -848,7 +848,7 @@ const struct al_format_info al_format_info[ALF_MAX] = /* ALF13_MAS */ {0x7f000000, 0xffff, {U,U,5,U,U,2}, "4,1,2m?"}, /* ALF15 */ {0x7fff0000, 0xffff, {U,U,U,U,U,U}, "S,2?"}, /* ALF16 */ {0x7f00ff00, 0xffff, {U,U,U,U,U,U}, "D,s?"}, -/* ALF17 */ {0x7f000000, 0xffff, {U,U,U,U,U,U}, "P,1,2?"}, +/* ALF17 */ {0x7f0000e0, 0xffff, {U,U,U,U,U,U}, "P,1,2?"}, /* ALF21 */ {0x7f000000, 0xff00, {U,U,U,U,U,U}, "D,1,2,3?"}, /* ALF21_LT3 */ {0x7f000000, 0xff00, {U,U,U,U,U,U}, "D,1,2,L?"}, /* ALF21_MERGE */ {0x7f000000, 0xff00, {U,U,U,U,U,U}, "D,1,2,3,p?"}, @@ -895,7 +895,7 @@ const struct al_opcode al_opcodes[] = {"addw", 0x10000000, 0x0000, { 1, 1, 1, 1, 1, 1}, S,S,S,0, ALF1, 0}, {"addd", 0x11000000, 0x0000, { 1, 1, 1, 1, 1, 1}, D,D,D,0, ALF1, 0}, {"negw", 0x12c00000, 0x0000, { 1, 1, 1, 1, 1, 1}, S,S,S,0, ALF2, AF_ALIAS}, -{"subs", 0x12000000, 0x0000, { 1, 1, 1, 1, 1, 1}, S,S,S,0, ALF1, 0}, +{"subw", 0x12000000, 0x0000, { 1, 1, 1, 1, 1, 1}, S,S,S,0, ALF1, 0}, {"negd", 0x13c00000, 0x0000, { 1, 1, 1, 1, 1, 1}, D,D,D,0, ALF2, AF_ALIAS}, {"subd", 0x13000000, 0x0000, { 1, 1, 1, 1, 1, 1}, D,D,D,0, ALF1, 0}, {"sclw", 0x14000000, 0x0000, { 1, 1, 1, 1, 1, 1}, S,S,S,0, ALF1, 0}, @@ -935,7 +935,7 @@ const struct al_opcode al_opcodes[] = {"cmpandpdb", 0x230000a0, 0x0000, { 1, 1, 0, 1, 1, 0}, 0,D,D,0, ALF7, 0}, {"cmpandledb", 0x230000e0, 0x0000, { 1, 1, 0, 1, 1, 0}, 0,D,D,0, ALF7, 0}, {"cctopo", 0x24c00000, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, -{"stb", 0x24000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,D,D,0, ALF3_MAS, 0}, +{"sb", 0x24000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,D,D,0, ALF3_MAS, 0}, {"cctopb", 0x24c00020, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, {"cctope", 0x24c00040, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, {"cctopbe", 0x24c00060, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, @@ -943,10 +943,10 @@ const struct al_opcode al_opcodes[] = {"cctopp", 0x24c000a0, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, {"cctopl", 0x24c000c0, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, {"cctople", 0x24c000e0, 0x0000, { 1, 0, 0, 1, 0, 0}, 0,0,S,0, ALF8, 0}, -{"sth", 0x25000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,D,D,0, ALF3_MAS, 0}, -{"stw", 0x26000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,D,D,0, ALF3_MAS, 0}, +{"sh", 0x25000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,D,D,0, ALF3_MAS, 0}, +{"sw", 0x26000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,D,D,0, ALF3_MAS, 0}, {"bitrevw", 0x26c00000, 0x0000, { 2, 2, 0, 2, 2, 0}, S,0,S,0, ALF2, 0}, -{"std", 0x27000000, 0x0000, { 0, 0, 1, 0, 0, 1}, D,D,D,0, ALF3_MAS, 0}, +{"sd", 0x27000000, 0x0000, { 0, 0, 1, 0, 0, 1}, D,D,D,0, ALF3_MAS, 0}, {"bitrevd", 0x27c00000, 0x0000, { 2, 2, 0, 2, 2, 0}, D,0,D,0, ALF2, 0}, {"fxcmpeqsb", 0x28000000, 0x0000, { 1, 1, 0, 1, 1, 0}, 0,X,S,0, ALF7, 0}, {"stcsb", 0x28000000, 0x0000, { 0, 0, 1, 0, 0, 1}, S,S,S,0, ALF3_MAS, 0}, @@ -1096,41 +1096,41 @@ const struct al_opcode al_opcodes[] = {"fxrsubdd", 0x59000000, 0x0000, { 1, 1, 0, 1, 1, 0}, D,X,D,0, ALF1, 0}, {"fxsqrtuxx", 0x59000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,X,0, ALF1, 0}, {"fxrsubsx", 0x5a000000, 0x0000, { 1, 1, 0, 1, 1, 0}, X,X,S,0, ALF1, 0}, -{"fxsqrtusx", 0x5a000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,S,0, ALF1, 0}, +{"fxsqrtusx", 0x5a000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,S,X,0, ALF1, 0}, {"fxrsubdx", 0x5b000000, 0x0000, { 1, 1, 0, 1, 1, 0}, X,X,D,0, ALF1, 0}, -{"fxsqrtudx", 0x5b000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,D,0, ALF1, 0}, +{"fxsqrtudx", 0x5b000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,D,X,0, ALF1, 0}, {"movfi", 0x5cc00000, 0x0000, { 2, 1, 0, 2, 1, 0}, S,0,X,0, ALF2, 0}, {"fxsqrttxx", 0x5d000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,X,0, ALF1, 0}, -{"fxsqrttsx", 0x5e000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,S,0, ALF1, 0}, +{"fxsqrttsx", 0x5e000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,S,X,0, ALF1, 0}, {"movif", 0x5e000000, 0x0000, { 2, 1, 0, 2, 1, 0}, X,D,S,0, ALF1, 0}, -{"fxsqrttdx", 0x5f000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,D,0, ALF1, 0}, +{"fxsqrttdx", 0x5f000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,D,X,0, ALF1, 0}, {"movx", 0x5fc00000, 0x0000, { 2, 2, 0, 2, 2, 0}, X,0,X,0, ALF2, 0}, {"movxa", 0x5fc10000, 0x0000, { 2, 2, 0, 2, 2, 0}, X,0,X,0, ALF2, 0}, {"movxc", 0x5fc20000, 0x0000, { 2, 2, 0, 2, 2, 0}, X,0,X,0, ALF2, 0}, -{"fxdivtss", 0x60000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,S,S,0, ALF1, 0}, +{"fxdivtss", 0x60000000, 0x0000, { 0, 0, 0, 0, 0, 1}, S,S,X,0, ALF1, 0}, {"movts", 0x60c00000, 0x0000, { 1, 1, 0, 1, 1, 0}, S,0,S,0, ALF2, 0}, {"movtcs", 0x60c10000, 0x0000, { 1, 1, 0, 1, 1, 0}, S,0,S,0, ALF2, 0}, {"movtrs", 0x60c20000, 0x0000, { 1, 1, 0, 1, 1, 0}, S,0,S,0, ALF2, 0}, {"movtrcs", 0x60c30000, 0x0000, { 1, 1, 0, 1, 1, 0}, S,0,S,0, ALF2, 0}, -{"fxdivtdd", 0x61000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,D,D,0, ALF1, 0}, +{"fxdivtdd", 0x61000000, 0x0000, { 0, 0, 0, 0, 0, 1}, D,D,X,0, ALF1, 0}, {"movtd", 0x61c00000, 0x0000, { 1, 1, 0, 1, 1, 0}, D,0,D,0, ALF2_MOVTD, 0}, {"movtcd", 0x61c10000, 0x0000, { 1, 1, 0, 1, 1, 0}, D,0,D,0, ALF2_MOVTD, 0}, {"movtrd", 0x61c20000, 0x0000, { 1, 1, 0, 1, 1, 0}, D,0,D,0, ALF2_MOVTD, 0}, {"movtrcd", 0x61c30000, 0x0000, { 1, 1, 0, 1, 1, 0}, D,0,D,0, ALF2_MOVTD, 0}, -{"fxdivtsx", 0x62000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,S,0, ALF1, 0}, +{"fxdivtsx", 0x62000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,S,X,0, ALF1, 0}, {"getsap", 0x62ec0000, 0x0000, { 1, 1, 0, 0, 0, 0}, Q,0,S,0, ALF2, AF_PAIR}, {"cudtoap", 0x62f00000, 0x0000, { 1, 1, 0, 1, 1, 0}, Q,0,S,0, ALF2, AF_PAIR}, {"gdtoap", 0x62f20000, 0x0000, { 1, 1, 0, 1, 1, 0}, Q,0,S,0, ALF2, AF_PAIR}, -{"fxdivtdx", 0x63000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,X,D,0, ALF1, 0}, +{"fxdivtdx", 0x63000000, 0x0000, { 0, 0, 0, 0, 0, 1}, X,D,X,0, ALF1, 0}, {"vfsi", 0x63000000, 0x0000, { 0, 1, 0, 0, 1, 0}, D,S,D,0, ALF1, 0}, {"getpl", 0x63f00000, 0x0000, { 1, 0, 0, 1, 0, 0}, D,0,S,0, ALF2, 0}, -{"ldb", 0x64000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, +{"lb", 0x64000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, {"lzcnts", 0x64c00000, 0x0000, { 0, 2, 0, 0, 2, 0}, S,0,S,0, ALF2, 0}, -{"ldh", 0x65000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, +{"lh", 0x65000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, {"lzcntd", 0x65c00000, 0x0000, { 0, 2, 0, 0, 2, 0}, D,0,D,0, ALF2, 0}, -{"ldw", 0x66000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, +{"lw", 0x66000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, {"popcnts", 0x66c00000, 0x0000, { 0, 2, 0, 0, 2, 0}, S,0,S,0, ALF2, 0}, -{"ldd", 0x67000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, +{"ld", 0x67000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,D,D,0, ALF1_MAS, 0}, {"popcntd", 0x67c00000, 0x0000, { 0, 2, 0, 0, 2, 0}, D,0,D,0, ALF2, 0}, {"ldcsb", 0x68000000, 0x0000, { 1, 0, 1, 1, 0, 1}, D,S,S,0, ALF1_MAS, 0}, {"vfbgv", 0x68000000, 0x0000, { 0, 6, 0, 0, 6, 0}, S,S,S,0, ALF1, 0}, @@ -1163,7 +1163,7 @@ const struct al_opcode al_opcodes[] = {"punpckhbh", 0x00000000, 0x01c0, { 0, 1, 0, 0, 1, 0}, D,D,D,0, ALF11, 0}, {"pminsh", 0x01000000, 0x01c0, { 1, 0, 0, 1, 0, 0}, D,D,D,0, ALF11, 0}, {"punpcklbh", 0x01000000, 0x01c0, { 0, 1, 0, 0, 1, 0}, D,D,D,0, ALF11, 0}, -{"stq", 0x01000000, 0x01c0, { 0, 0, 5, 0, 0, 5}, Q,D,D,0, ALF13_MAS, AF_PAIR}, +{"sq", 0x01000000, 0x01c0, { 0, 0, 5, 0, 0, 5}, Q,D,D,0, ALF13_MAS, AF_PAIR}, {"pmaxub", 0x02000000, 0x01c0, { 1, 0, 0, 1, 0, 0}, D,D,D,0, ALF11, 0}, {"punpckhhw", 0x02000000, 0x01c0, { 0, 1, 0, 0, 1, 0}, D,D,D,0, ALF11, 0}, {"stcsq", 0x02000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, Q,S,S,0, ALF13_MAS, AF_PAIR}, @@ -1235,7 +1235,7 @@ const struct al_opcode al_opcodes[] = {"pmulubhh", 0x1d000000, 0x01c0, { 0, 2, 0, 0, 2, 0}, D,D,D,0, ALF11, 0}, {"aaurww", 0x1e000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,0,0,0, AAURW, 0}, {"staaw", 0x1e000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,0,0,0, ALF10_MAS, 0}, -{"pextrh", 0x1e000000, 0x0100, { 0, 1, 0, 0, 1, 0}, S,D,D,0, ALF11_LIT8, 0}, +{"pextrh", 0x1e000000, 0x0100, { 0, 1, 0, 0, 1, 0}, D,D,D,0, ALF11_LIT8, 0}, {"pavgusb", 0x1e000000, 0x01c0, { 1, 0, 0, 1, 0, 0}, D,D,D,0, ALF11, 0}, {"aaurwd", 0x1f000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, D,0,0,0, AAURW, 0}, {"staad", 0x1f000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, D,0,0,0, ALF10_MAS, 0}, @@ -1248,7 +1248,7 @@ const struct al_opcode al_opcodes[] = {"fscales", 0x24000000, 0x01c0, { 0, 4, 0, 0, 4, 0}, S,S,S,0, ALF11, 0}, {"stgdb", 0x24000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,S,S,0, ALF13_MAS, 0}, {"gettc", 0x24c00000, 0x01c0, { 1, 0, 0, 0, 0, 0}, D,0,S,0, ALF12, 0}, -{"fscaled", 0x25000000, 0x01c0, { 0, 4, 0, 0, 4, 0}, D,S,D,0, ALF11, 0}, +{"fscaled", 0x25000000, 0x01c0, { 0, 4, 0, 0, 4, 0}, D,D,S,0, ALF11, 0}, {"puttc", 0x25000000, 0x01c0, { 1, 0, 0, 0, 0, 0}, D,D,D,0, ALF11, 0}, {"stgdh", 0x25000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,S,S,0, ALF13_MAS, 0}, {"puttst", 0x25c00000, 0x01c0, { 0, 0, 0, 3, 0, 0}, D,0,D,0, ALF12, 0}, @@ -1259,11 +1259,11 @@ const struct al_opcode al_opcodes[] = {"fxscalesx", 0x27000000, 0x01c0, { 0, 4, 0, 0, 4, 0}, X,X,S,0, ALF11, 0}, {"stgdd", 0x27000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, D,S,S,0, ALF13_MAS, 0}, {"stapb", 0x28000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,Q,S,0, ALF13_MAS, 0}, -{"fxcmpudsf", 0x28000000, 0x01c3, { 1, 1, 0, 1, 1, 0}, S,X,X,0, ALF11, 0}, -{"fxcmpodsf", 0x28000000, 0x01c7, { 1, 1, 0, 1, 1, 0}, S,X,X,0, ALF11, 0}, +{"fxcmpudsf", 0x28000000, 0x01c3, { 1, 1, 0, 1, 1, 0}, S,X,S,0, ALF11, 0}, +{"fxcmpodsf", 0x28000000, 0x01c7, { 1, 1, 0, 1, 1, 0}, S,X,S,0, ALF11, 0}, {"staph", 0x29000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,Q,S,0, ALF13_MAS, 0}, -{"fxcmpuddf", 0x29000000, 0x01c3, { 1, 1, 0, 1, 1, 0}, S,X,X,0, ALF11, 0}, -{"fxcmpoddf", 0x29000000, 0x01c7, { 1, 1, 0, 1, 1, 0}, S,X,X,0, ALF11, 0}, +{"fxcmpuddf", 0x29000000, 0x01c3, { 1, 1, 0, 1, 1, 0}, S,X,D,0, ALF11, 0}, +{"fxcmpoddf", 0x29000000, 0x01c7, { 1, 1, 0, 1, 1, 0}, S,X,D,0, ALF11, 0}, {"stapw", 0x2a000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, S,Q,S,0, ALF13_MAS, 0}, {"stapd", 0x2b000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, D,Q,S,0, ALF13_MAS, 0}, {"fxcmpudxf", 0x2b000000, 0x01c3, { 1, 1, 0, 1, 1, 0}, S,X,X,0, ALF11, 0}, @@ -1333,12 +1333,12 @@ const struct al_opcode al_opcodes[] = {"rww", 0x3cc00000, 0x01c0, { 1, 0, 0, 0, 0, 0}, 0,0,S,0, ALF15, 0}, {"stodpq", 0x3d000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, Q,Q,S,0, ALF13_MAS, AF_PAIR | AF_REMOVED_IN_V3}, {"rwd", 0x3dc00000, 0x01c0, { 1, 0, 0, 0, 0, 0}, 0,0,D,0, ALF15, 0}, -{"rrs", 0x3e00c000, 0x01c0, { 1, 0, 0, 0, 0, 0}, S,0,0,0, ALF16, 0}, +{"rrw", 0x3e00c000, 0x01c0, { 1, 0, 0, 0, 0, 0}, S,0,0,0, ALF16, 0}, {"aaurwq", 0x3f000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, Q,0,0,0, AAURW, AF_PAIR}, {"staaq", 0x3f000000, 0x01c0, { 0, 0, 1, 0, 0, 1}, Q,0,0,0, ALF10_MAS, AF_PAIR}, {"rrd", 0x3f00c000, 0x01c0, { 1, 0, 0, 0, 0, 0}, D,0,0,0, ALF16, 0}, {"pmrgp", 0x40000000, 0x01c0, { 6, 6, 0, 6, 6, 0}, D,D,D,0, ALF11_MERGE, 0}, -{"ldq", 0x41000000, 0x01c0, { 5, 0, 5, 5, 0, 5}, Q,D,D,0, ALF11_MAS, AF_PAIR}, +{"lq", 0x41000000, 0x01c0, { 5, 0, 5, 5, 0, 5}, Q,D,D,0, ALF11_MAS, AF_PAIR}, {"ldfsq", 0x45000000, 0x01c0, { 1, 0, 1, 1, 0, 1}, Q,D,D,0, ALF11_MAS, AF_PAIR}, {"ldgsq", 0x46000000, 0x01c0, { 1, 0, 1, 1, 0, 1}, Q,D,D,0, ALF11_MAS, AF_PAIR}, {"ldssq", 0x47000000, 0x01c0, { 1, 0, 1, 1, 0, 1}, Q,D,D,0, ALF11_MAS, AF_PAIR}, @@ -1467,17 +1467,17 @@ const struct al_opcode al_opcodes[] = {"pminuw", 0x20000000, 0x02c0, { 3, 0, 0, 3, 0, 0}, D,D,D,0, ALF11, 0}, {"staaqp", 0x20000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,0,0,0, ALF10_MAS, 0}, {"pminsw", 0x21000000, 0x02c0, { 3, 0, 0, 3, 0, 0}, D,D,D,0, ALF11, 0}, -{"stqp", 0x21000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, +{"sqp", 0x21000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, {"pmaxuw", 0x22000000, 0x02c0, { 3, 0, 0, 3, 0, 0}, D,D,D,0, ALF11, 0}, {"stcsqp", 0x22000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, {"pmaxsw", 0x23000000, 0x02c0, { 3, 0, 0, 3, 0, 0}, D,D,D,0, ALF11, 0}, {"stdsqp", 0x23000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, {"stesqp", 0x24000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, -{"qpsrad", 0x25000000, 0x02c0, { 6, 6, 0, 6, 6, 0}, P,D,P,0, ALF11, 0}, +{"qpsrad", 0x25000000, 0x02c0, { 6, 6, 0, 6, 6, 0}, P,P,D,0, ALF11, 0}, {"stfsqp", 0x25000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, -{"qpsrcw", 0x26000000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,D,P,0, ALF11, 0}, +{"qpsrcw", 0x26000000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,P,D,0, ALF11, 0}, {"stgsqp", 0x26000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, -{"qpsrcd", 0x27000000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,D,P,0, ALF11, 0}, +{"qpsrcd", 0x27000000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,P,D,0, ALF11, 0}, {"stssqp", 0x27000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, {"pcmpeqbop", 0x28000000, 0x02c0, { 6, 0, 0, 6, 0, 0}, 0,D,D,0, ALF17, 0}, {"pcmpeqhop", 0x28000000, 0x02c1, { 6, 0, 0, 6, 0, 0}, 0,D,D,0, ALF17, 0}, @@ -1500,7 +1500,7 @@ const struct al_opcode al_opcodes[] = {"phaddw", 0x2a000000, 0x02c0, { 3, 0, 0, 3, 0, 0}, D,D,D,0, ALF11, 0}, {"stapqp", 0x2a000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,Q,S,0, ALF13_MAS, 0}, {"phaddsh", 0x2b000000, 0x02c0, { 3, 0, 0, 3, 0, 0}, D,D,D,0, ALF11, 0}, -{"strqp", 0x2b000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, +{"srqp", 0x2b000000, 0x02c0, { 0, 0, 5, 0, 0, 5}, P,D,D,0, ALF13_MAS, 0}, {"qpcmpeqbop", 0x2c000000, 0x02c0, { 6, 0, 0, 6, 0, 0}, 0,P,P,0, ALF17, 0}, {"qpcmpeqhop", 0x2c000000, 0x02c1, { 6, 0, 0, 6, 0, 0}, 0,P,P,0, ALF17, 0}, {"qpcmpeqwop", 0x2c000000, 0x02c2, { 6, 0, 0, 6, 0, 0}, 0,P,P,0, ALF17, 0}, @@ -1593,12 +1593,12 @@ const struct al_opcode al_opcodes[] = {"qpcmpgth", 0x5c000000, 0x02c0, { 5, 0, 0, 5, 0, 0}, P,P,P,0, ALF11, 0}, {"qpsadbw", 0x5c000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,P,0, ALF11, 0}, {"qpcmpgtw", 0x5d000000, 0x02c0, { 5, 0, 0, 5, 0, 0}, P,P,P,0, ALF11, 0}, -{"qpmulubhh", 0x5d000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,P,0, ALF11, 0}, +{"qpmulubhh", 0x5d000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,D,P,0, ALF11, 0}, {"qpavgusb", 0x5e000000, 0x02c0, { 5, 0, 0, 5, 0, 0}, P,P,P,0, ALF11, 0}, {"qpmullw", 0x5e000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,P,0, ALF11, 0}, {"qpavgush", 0x5f000000, 0x02c0, { 5, 0, 0, 5, 0, 0}, P,P,P,0, ALF11, 0}, {"qpmrgp", 0x60000000, 0x02c0, { 6, 6, 0, 6, 6, 0}, P,P,P,0, ALF11_MERGE, 0}, -{"ldqp", 0x61000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, +{"lqp", 0x61000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, {"ldcsqp", 0x62000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, {"lddsqp", 0x63000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, {"ldesqp", 0x64000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, @@ -1610,9 +1610,9 @@ const struct al_opcode al_opcodes[] = {"ldgdqp", 0x69000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, {"qpmulhrsh", 0x69000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,P,0, ALF11, 0}, {"ldapqp", 0x6a000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, -{"qphminposuh", 0x6a000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,P,0, ALF11, 0}, -{"ldrqp", 0x6b000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, -{"qpmpsadbh", 0x6b000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,P,0, ALF11, 0}, +{"qphminposuh", 0x6a000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, D,P,P,0, ALF11, 0}, +{"lrqp", 0x6b000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 0}, +{"qpmpsadbh", 0x6b000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, P,P,S,0, ALF11, 0}, {"puttagqp", 0x6c000000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,P,S,0, ALF11, 0}, {"qpfstois", 0x6dc80000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,0,P,0, ALF12, 0}, {"qpfstoistr", 0x6dca0000, 0x02c0, { 5, 5, 0, 5, 5, 0}, P,0,P,0, ALF12, 0}, @@ -2320,7 +2320,7 @@ const struct al_opcode al_opcodes[] = {"pfhsub_addsubs", 0x66000000, 0x0f00, { 3, 3, 4, 3, 3, 4}, D,D,D,D, ALF21, 0}, {"pfmul_addsubs", 0x68000000, 0x0f00, { 3, 3, 4, 3, 3, 4}, D,D,D,D, ALF21, 0}, {"pmerge", 0x6d000000, 0x0f00, { 2, 2, 0, 2, 2, 0}, D,D,D,D, ALF21_MERGE, 0}, -{"pfaddsub_addsubs", 0x6e000000, 0x0f00, { 3, 3, 4, 3, 3, 4}, D,D,D,D, ALF21, AF_ALIAS}, +{"pfaddsub_addsubs", 0x6e000000, 0x0f00, { 3, 3, 4, 3, 3, 4}, D,D,D,D, ALF21, 0}, {"plog_and", 0x00000000, 0x1100, { 5, 5, 0, 5, 5, 0}, D,D,D,D, ALF21, AF_ALIAS}, {"plog_xor", 0x16000000, 0x1100, { 5, 5, 0, 5, 5, 0}, D,D,D,D, ALF21, AF_ALIAS}, {"plog_sel3", 0x58000000, 0x1100, { 5, 5, 0, 5, 5, 0}, D,D,D,D, ALF21, AF_ALIAS},