#name: MIPS16e2 MT ASE subset disassembly
#as: -32 -I$srcdir/$subdir
#source: mips16e2-mt-sub.s
-
-.*: +file format .*mips.*
-
-Disassembly of section \.text:
-[0-9a-f]+ <[^>]*> f0c0 3010 ehb
-[0-9a-f]+ <[^>]*> f026 6701 dmt
-[0-9a-f]+ <[^>]*> f026 6701 dmt
-[0-9a-f]+ <[^>]*> f022 6741 dmt v0
-[0-9a-f]+ <[^>]*> f027 6701 emt
-[0-9a-f]+ <[^>]*> f027 6701 emt
-[0-9a-f]+ <[^>]*> f023 6741 emt v0
-[0-9a-f]+ <[^>]*> f026 6700 dvpe
-[0-9a-f]+ <[^>]*> f026 6700 dvpe
-[0-9a-f]+ <[^>]*> f022 6740 dvpe v0
-[0-9a-f]+ <[^>]*> f027 6700 evpe
-[0-9a-f]+ <[^>]*> f027 6700 evpe
-[0-9a-f]+ <[^>]*> f023 6740 evpe v0
- \.\.\.
Disassembly of section \.text:
[0-9a-f]+ <[^>]*> f0c0 3010 ehb
-[0-9a-f]+ <[^>]*> f026 extend 0x26
-[0-9a-f]+ <[^>]*> 6701 move s0,at
-[0-9a-f]+ <[^>]*> f026 extend 0x26
-[0-9a-f]+ <[^>]*> 6701 move s0,at
-[0-9a-f]+ <[^>]*> f022 extend 0x22
-[0-9a-f]+ <[^>]*> 6741 move v0,at
-[0-9a-f]+ <[^>]*> f027 extend 0x27
-[0-9a-f]+ <[^>]*> 6701 move s0,at
-[0-9a-f]+ <[^>]*> f027 extend 0x27
-[0-9a-f]+ <[^>]*> 6701 move s0,at
-[0-9a-f]+ <[^>]*> f023 extend 0x23
-[0-9a-f]+ <[^>]*> 6741 move v0,at
-[0-9a-f]+ <[^>]*> f026 extend 0x26
-[0-9a-f]+ <[^>]*> 6700 move s0,zero
-[0-9a-f]+ <[^>]*> f026 extend 0x26
-[0-9a-f]+ <[^>]*> 6700 move s0,zero
-[0-9a-f]+ <[^>]*> f022 extend 0x22
-[0-9a-f]+ <[^>]*> 6740 move v0,zero
-[0-9a-f]+ <[^>]*> f027 extend 0x27
-[0-9a-f]+ <[^>]*> 6700 move s0,zero
-[0-9a-f]+ <[^>]*> f027 extend 0x27
-[0-9a-f]+ <[^>]*> 6700 move s0,zero
-[0-9a-f]+ <[^>]*> f023 extend 0x23
-[0-9a-f]+ <[^>]*> 6740 move v0,zero
+[0-9a-f]+ <[^>]*> f026 6701 dmt
+[0-9a-f]+ <[^>]*> f026 6701 dmt
+[0-9a-f]+ <[^>]*> f022 6741 dmt v0
+[0-9a-f]+ <[^>]*> f027 6701 emt
+[0-9a-f]+ <[^>]*> f027 6701 emt
+[0-9a-f]+ <[^>]*> f023 6741 emt v0
+[0-9a-f]+ <[^>]*> f026 6700 dvpe
+[0-9a-f]+ <[^>]*> f026 6700 dvpe
+[0-9a-f]+ <[^>]*> f022 6740 dvpe v0
+[0-9a-f]+ <[^>]*> f027 6700 evpe
+[0-9a-f]+ <[^>]*> f027 6700 evpe
+[0-9a-f]+ <[^>]*> f023 6740 evpe v0
\.\.\.
opcode_ases |= ASE_DSPR3;
if (afl_ases & AFL_ASE_MIPS16E2)
opcode_ases |= ASE_MIPS16E2;
- if ((afl_ases & (AFL_ASE_MIPS16E2 | AFL_ASE_MT))
- == (AFL_ASE_MIPS16E2 | AFL_ASE_MT))
- opcode_ases |= ASE_MIPS16E2_MT;
return opcode_ases;
}
+/* Calculate combination ASE flags from regular ASE flags. */
+
+static unsigned long
+mips_calculate_combination_ases (unsigned long opcode_ases)
+{
+ unsigned long combination_ases = 0;
+
+ if ((opcode_ases & (ASE_MIPS16E2 | ASE_MT)) == (ASE_MIPS16E2 | ASE_MT))
+ combination_ases |= ASE_MIPS16E2_MT;
+ return combination_ases;
+}
+
static void
set_default_mips_dis_options (struct disassemble_info *info)
{
mips_ase |= ASE_MDMX;
}
#endif
+ mips_ase |= mips_calculate_combination_ases (mips_ase);
}
static void