e2k: update disassembler
This commit is contained in:
parent
9e855a1ead
commit
16fd915344
@ -68,6 +68,8 @@ struct e2k_private_data
|
|||||||
|
|
||||||
unsigned short version;
|
unsigned short version;
|
||||||
int lines;
|
int lines;
|
||||||
|
|
||||||
|
int align;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define implement_me(c) assert((c) && "implement me");
|
#define implement_me(c) assert((c) && "implement me");
|
||||||
@ -82,7 +84,7 @@ struct e2k_private_data
|
|||||||
print_styled (info, dis_style_mnemonic, __VA_ARGS__)
|
print_styled (info, dis_style_mnemonic, __VA_ARGS__)
|
||||||
|
|
||||||
#define print_align(info) \
|
#define print_align(info) \
|
||||||
print_text (info, "\t")
|
print_text (info, " ")
|
||||||
|
|
||||||
#define print_aligned_text(info, ...) \
|
#define print_aligned_text(info, ...) \
|
||||||
print_align (info); \
|
print_align (info); \
|
||||||
@ -93,7 +95,7 @@ struct e2k_private_data
|
|||||||
print_styled (info, dis_style_mnemonic, __VA_ARGS__)
|
print_styled (info, dis_style_mnemonic, __VA_ARGS__)
|
||||||
|
|
||||||
#define print_operand_alignment(info, width) \
|
#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, ...) \
|
#define print_sub_mnemonic(info, ...) \
|
||||||
print_styled (info, dis_style_sub_mnemonic, __VA_ARGS__)
|
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)
|
if (pd->syll_cur >= pd->syll_len)
|
||||||
{
|
{
|
||||||
print_text (info, "%20c", ' ');
|
print_text (info, "%16c", ' ');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -698,7 +700,8 @@ static void
|
|||||||
print_nl (struct disassemble_info *info)
|
print_nl (struct disassemble_info *info)
|
||||||
{
|
{
|
||||||
struct e2k_private_data *pd = info->private_data;
|
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);
|
print_syllable (pd, info);
|
||||||
++pd->lines;
|
++pd->lines;
|
||||||
}
|
}
|
||||||
@ -891,7 +894,7 @@ decode_pls (struct disassemble_info *info,
|
|||||||
if (!used[i + 4])
|
if (!used[i + 4])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
print_text (info, "plu%d\t", i);
|
print_text (info, "plu%d ", i);
|
||||||
switch (pls & LP_OPC_MASK)
|
switch (pls & LP_OPC_MASK)
|
||||||
{
|
{
|
||||||
case LP_ANDP:
|
case LP_ANDP:
|
||||||
@ -1735,10 +1738,13 @@ decode_al (bfd_vma memaddr, struct disassemble_info *info,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
print_text (info, "alc%d", ch);
|
|
||||||
if (ALS_DECODE_SM (als))
|
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);
|
print_mnemonic (info, "%s", opcode->name);
|
||||||
width = strlen (opcode->name);
|
width = strlen (opcode->name);
|
||||||
|
|
||||||
@ -1947,7 +1953,7 @@ decode_al (bfd_vma memaddr, struct disassemble_info *info,
|
|||||||
/* Special case for staa instructions. */
|
/* Special case for staa instructions. */
|
||||||
if (opcode->format == ALF10_MAS && ALS_DECODE_AA_INC (als))
|
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_mnemonic (info, "incr");
|
||||||
print_operand_alignment (info, 4);
|
print_operand_alignment (info, 4);
|
||||||
print_aaincr (info, ALS_DECODE_AA_INCR (als));
|
print_aaincr (info, ALS_DECODE_AA_INCR (als));
|
||||||
@ -2007,7 +2013,6 @@ print_bundle (bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
print_text (info, "\n\t");
|
|
||||||
len = HS_DECODE_BSZ (packet[0]);
|
len = HS_DECODE_BSZ (packet[0]);
|
||||||
status = (*info->read_memory_func) (memaddr, packet, len, info);
|
status = (*info->read_memory_func) (memaddr, packet, len, info);
|
||||||
if (status != 0 || !bundle_unpack (pd, packet, len, &bundle))
|
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);
|
decode_nop (info, bundle.hs);
|
||||||
}
|
}
|
||||||
|
|
||||||
//print_aligned_text (info, "--");
|
print_aligned_text (info, "--");
|
||||||
|
|
||||||
/* Force print tail syllables. */
|
/* Force print tail syllables. */
|
||||||
if (pd->show_syllables)
|
if (pd->show_syllables)
|
||||||
@ -2093,6 +2098,8 @@ print_insn_e2k (bfd_vma memaddr, struct disassemble_info *info)
|
|||||||
|
|
||||||
pd = info->private_data;
|
pd = info->private_data;
|
||||||
|
|
||||||
|
pd->align = MAX((64 - clz64(memaddr) + 3) / 4, 8) + 5;
|
||||||
|
|
||||||
if (info->disassembler_options != NULL)
|
if (info->disassembler_options != NULL)
|
||||||
{
|
{
|
||||||
set_isa_version (pd, info->mach);
|
set_isa_version (pd, info->mach);
|
||||||
|
@ -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?"},
|
/* ALF13_MAS */ {0x7f000000, 0xffff, {U,U,5,U,U,2}, "4,1,2m?"},
|
||||||
/* ALF15 */ {0x7fff0000, 0xffff, {U,U,U,U,U,U}, "S,2?"},
|
/* ALF15 */ {0x7fff0000, 0xffff, {U,U,U,U,U,U}, "S,2?"},
|
||||||
/* ALF16 */ {0x7f00ff00, 0xffff, {U,U,U,U,U,U}, "D,s?"},
|
/* 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 */ {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_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?"},
|
/* 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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"sh", 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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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,X,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},
|
{"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},
|
{"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,X,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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"qphminposuh", 0x6a000000, 0x02c0, { 0, 5, 0, 0, 5, 0}, D,P,P,0, ALF11, 0},
|
||||||
{"ldrqp", 0x6b000000, 0x02c0, { 5, 0, 5, 5, 0, 5}, P,D,D,0, ALF11_MAS, 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,P,0, ALF11, 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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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},
|
{"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_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_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},
|
{"plog_sel3", 0x58000000, 0x1100, { 5, 5, 0, 5, 5, 0}, D,D,D,D, ALF21, AF_ALIAS},
|
||||||
|
Loading…
Reference in New Issue
Block a user