aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2016-12-20 11:38:53 +0000
committerMaciej W. Rozycki <macro@imgtec.com>2016-12-20 12:05:48 +0000
commit11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6 (patch)
tree10c46667a26b08493e757b3181519d039b5ced4a
parent853faf5cc34cfac362f33939543ce569c8ba6341 (diff)
downloadfsf-binutils-gdb-11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6.zip
fsf-binutils-gdb-11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6.tar.gz
fsf-binutils-gdb-11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6.tar.bz2
MIPS16/opcodes: Respect ISA and ASE in disassembly
Limit MIPS16 instruction disassembly according to the ISA level and ASE set selected, as with the regular MIPS and microMIPS instruction sets. Retain the property of `objdump -m mips:16' disassembling all MIPS16 instructions however, regardless of any ISA level recorded in the binary examined. To validate the disassembler use the GAS test suite for its convenience of running tests across multiple ISAs, even though placing the tests in the binutils test suite would be more appropriate. Adjust the single binutils test which depends on 64-bit instruction disassembly to have the ISA level required actually recorded in the binary examined. opcodes/ * mips-dis.c (mips_arch_choices): Use ISA_MIPS64 rather than ISA_MIPS3 as the `isa' selection in the `bfd_mach_mips16' entry. (print_insn_mips16): Check opcode entries for validity against the ISA level and ASE set selected. binutils/ * testsuite/binutils-all/mips/mips16-undecoded.s: Use `.module' rather than `.set' to set the ISA level. gas/ * testsuite/gas/mips/mips16-sub.d: New test. * testsuite/gas/mips/mips16-32@mips16-sub.d: New test. * testsuite/gas/mips/mips16e-32@mips16-sub.d: New test. * testsuite/gas/mips/mips16e-sub.d: New test. * testsuite/gas/mips/mips16-32@mips16e-sub.d: New test. * testsuite/gas/mips/mips16-64@mips16e-sub.d: New test. * testsuite/gas/mips/mips16e-64-sub.d: New test. * testsuite/gas/mips/mips16-32@mips16e-64-sub.d: New test. * testsuite/gas/mips/mips16-64@mips16e-64-sub.d: New test. * testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: New test. * testsuite/gas/mips/mips16-sub.s: New test source. * testsuite/gas/mips/mips16e-sub.s: New test source. * testsuite/gas/mips/mips16e-64-sub.s: New test source. * testsuite/gas/mips/mips.exp: Run the new tests.
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/testsuite/binutils-all/mips/mips16-undecoded.s2
-rw-r--r--gas/ChangeLog17
-rw-r--r--gas/testsuite/gas/mips/mips.exp6
-rw-r--r--gas/testsuite/gas/mips/mips16-32@mips16-sub.d825
-rw-r--r--gas/testsuite/gas/mips/mips16-32@mips16e-64-sub.d16
-rw-r--r--gas/testsuite/gas/mips/mips16-32@mips16e-sub.d56
-rw-r--r--gas/testsuite/gas/mips/mips16-64@mips16e-64-sub.d5
-rw-r--r--gas/testsuite/gas/mips/mips16-64@mips16e-sub.d5
-rw-r--r--gas/testsuite/gas/mips/mips16-sub.d671
-rw-r--r--gas/testsuite/gas/mips/mips16-sub.s2
-rw-r--r--gas/testsuite/gas/mips/mips16e-32@mips16-sub.d5
-rw-r--r--gas/testsuite/gas/mips/mips16e-32@mips16e-64-sub.d5
-rw-r--r--gas/testsuite/gas/mips/mips16e-64-sub.d15
-rw-r--r--gas/testsuite/gas/mips/mips16e-64-sub.s2
-rw-r--r--gas/testsuite/gas/mips/mips16e-sub.d49
-rw-r--r--gas/testsuite/gas/mips/mips16e-sub.s2
-rw-r--r--opcodes/ChangeLog7
-rw-r--r--opcodes/mips-dis.c5
19 files changed, 1698 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 6e9de9b..bcbbe67 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,10 @@
2016-12-20 Maciej W. Rozycki <macro@imgtec.com>
+ * testsuite/binutils-all/mips/mips16-undecoded.s: Use `.module'
+ rather than `.set' to set the ISA level.
+
+2016-12-20 Maciej W. Rozycki <macro@imgtec.com>
+
* testsuite/binutils-all/mips/mips16-extend-noinsn.d: Adjust
test for separate EXTEND prefix disassembly.
diff --git a/binutils/testsuite/binutils-all/mips/mips16-undecoded.s b/binutils/testsuite/binutils-all/mips/mips16-undecoded.s
index 2736ae4..e17c45d 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-undecoded.s
+++ b/binutils/testsuite/binutils-all/mips/mips16-undecoded.s
@@ -1,5 +1,5 @@
.text
- .set mips3
+ .module mips3
.set mips16
.globl foo
.ent foo
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0652b1a..3b86e47 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,22 @@
2016-12-20 Maciej W. Rozycki <macro@imgtec.com>
+ * testsuite/gas/mips/mips16-sub.d: New test.
+ * testsuite/gas/mips/mips16-32@mips16-sub.d: New test.
+ * testsuite/gas/mips/mips16e-32@mips16-sub.d: New test.
+ * testsuite/gas/mips/mips16e-sub.d: New test.
+ * testsuite/gas/mips/mips16-32@mips16e-sub.d: New test.
+ * testsuite/gas/mips/mips16-64@mips16e-sub.d: New test.
+ * testsuite/gas/mips/mips16e-64-sub.d: New test.
+ * testsuite/gas/mips/mips16-32@mips16e-64-sub.d: New test.
+ * testsuite/gas/mips/mips16-64@mips16e-64-sub.d: New test.
+ * testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: New test.
+ * testsuite/gas/mips/mips16-sub.s: New test source.
+ * testsuite/gas/mips/mips16e-sub.s: New test source.
+ * testsuite/gas/mips/mips16e-64-sub.s: New test source.
+ * testsuite/gas/mips/mips.exp: Run the new tests.
+
+2016-12-20 Maciej W. Rozycki <macro@imgtec.com>
+
* testsuite/gas/mips/mips16e.s: Add a RESTORE instruction.
* testsuite/gas/mips/mips16e.d: Adjust accordingly.
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index 06c5ea8..cd62e44 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -880,6 +880,12 @@ if { [istarget mips*-*-vxworks*] } {
# Check MIPS16e extensions
run_dump_test_arches "mips16e" [mips_arch_list_matching mips16e-32]
run_dump_test_arches "mips16e-64" [mips_arch_list_matching mips16e-32]
+ # Check MIPS16 ISA subset disassembly
+ run_dump_test_arches "mips16-sub" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16e-sub" [mips_arch_list_matching mips16-32]
+ run_dump_test_arches "mips16e-64-sub" \
+ [mips_arch_list_matching mips16-32]
+
# Check jalx handling
run_dump_test "mips16-jalx"
run_dump_test "mips-jalx"
diff --git a/gas/testsuite/gas/mips/mips16-32@mips16-sub.d b/gas/testsuite/gas/mips/mips16-32@mips16-sub.d
new file mode 100644
index 0000000..83750ae
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-32@mips16-sub.d
@@ -0,0 +1,825 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16 ISA subset disassembly
+#source: mips16-sub.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 3b41 0x3b41
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 3b42 0x3b42
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 3b43 0x3b43
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 3b44 0x3b44
+[0-9a-f]+ <[^>]*> 3b41 0x3b41
+[0-9a-f]+ <[^>]*> 3b42 0x3b42
+[0-9a-f]+ <[^>]*> 3b44 0x3b44
+[0-9a-f]+ <[^>]*> 3b48 0x3b48
+[0-9a-f]+ <[^>]*> 3b50 0x3b50
+[0-9a-f]+ <[^>]*> f100 extend 0x100
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f200 extend 0x200
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f400 extend 0x400
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b5f 0x3b5f
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b5e 0x3b5e
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b5d 0x3b5d
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b5c 0x3b5c
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b58 0x3b58
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b50 0x3b50
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f7df extend 0x7df
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f71f extend 0x71f
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f61f extend 0x61f
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f41f extend 0x41f
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f01f extend 0x1f
+[0-9a-f]+ <[^>]*> 3b40 0x3b40
+[0-9a-f]+ <[^>]*> f7bf extend 0x7bf
+[0-9a-f]+ <[^>]*> fc40 0xfc40
+[0-9a-f]+ <[^>]*> f6a0 extend 0x6a0
+[0-9a-f]+ <[^>]*> fc54 0xfc54
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> fc40 0xfc40
+[0-9a-f]+ <[^>]*> f0c1 extend 0xc1
+[0-9a-f]+ <[^>]*> fc40 0xfc40
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f841 0xf841
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f842 0xf842
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f843 0xf843
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f844 0xf844
+[0-9a-f]+ <[^>]*> f841 0xf841
+[0-9a-f]+ <[^>]*> f842 0xf842
+[0-9a-f]+ <[^>]*> f844 0xf844
+[0-9a-f]+ <[^>]*> f848 0xf848
+[0-9a-f]+ <[^>]*> f850 0xf850
+[0-9a-f]+ <[^>]*> f100 extend 0x100
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f200 extend 0x200
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f400 extend 0x400
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f85f 0xf85f
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f85e 0xf85e
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f85d 0xf85d
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f85c 0xf85c
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f858 0xf858
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f850 0xf850
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f7df extend 0x7df
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f71f extend 0x71f
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f61f extend 0x61f
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f41f extend 0x41f
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> f01f extend 0x1f
+[0-9a-f]+ <[^>]*> f840 0xf840
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> bb41 0xbb41
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> bb42 0xbb42
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> bb43 0xbb43
+[0-9a-f]+ <[^>]*> bb41 0xbb41
+[0-9a-f]+ <[^>]*> bb42 0xbb42
+[0-9a-f]+ <[^>]*> bb44 0xbb44
+[0-9a-f]+ <[^>]*> bb48 0xbb48
+[0-9a-f]+ <[^>]*> bb50 0xbb50
+[0-9a-f]+ <[^>]*> f080 extend 0x80
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f100 extend 0x100
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f200 extend 0x200
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f400 extend 0x400
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb5f 0xbb5f
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb5e 0xbb5e
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb5d 0xbb5d
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb5c 0xbb5c
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb58 0xbb58
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb50 0xbb50
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f7df extend 0x7df
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f71f extend 0x71f
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f61f extend 0x61f
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f41f extend 0x41f
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> f01f extend 0x1f
+[0-9a-f]+ <[^>]*> bb40 0xbb40
+[0-9a-f]+ <[^>]*> 9b40 lw v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 9b41 lw v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 9b42 lw v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 9b43 lw v0,3\(v1\)
+[0-9a-f]+ <[^>]*> 9b41 lw v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 9b42 lw v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 9b44 lw v0,16\(v1\)
+[0-9a-f]+ <[^>]*> 9b48 lw v0,32\(v1\)
+[0-9a-f]+ <[^>]*> 9b50 lw v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 9b40 lw v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 9b40 lw v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 9b40 lw v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 9b40 lw v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 9b40 lw v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5f lw v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5e lw v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5d lw v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5c lw v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b58 lw v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b50 lw v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b40 lw v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 9b40 lw v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 9b40 lw v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 9b40 lw v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 9b40 lw v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 9b40 lw v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 9b40 lw v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> f67f b20c lw v0,00000000 <data1>
+[0-9a-f]+ <[^>]*> f580 b204 lw v0,0000071c <data2>
+[0-9a-f]+ <[^>]*> f6c0 b20c lw v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f780 b210 lw v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> 9200 lw v0,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 9201 lw v0,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 9202 lw v0,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 9203 lw v0,3\(sp\)
+[0-9a-f]+ <[^>]*> 9201 lw v0,4\(sp\)
+[0-9a-f]+ <[^>]*> 9202 lw v0,8\(sp\)
+[0-9a-f]+ <[^>]*> 9204 lw v0,16\(sp\)
+[0-9a-f]+ <[^>]*> 9208 lw v0,32\(sp\)
+[0-9a-f]+ <[^>]*> 9210 lw v0,64\(sp\)
+[0-9a-f]+ <[^>]*> 9220 lw v0,128\(sp\)
+[0-9a-f]+ <[^>]*> 9240 lw v0,256\(sp\)
+[0-9a-f]+ <[^>]*> 9280 lw v0,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 9200 lw v0,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 9200 lw v0,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921f lw v0,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921e lw v0,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921d lw v0,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921c lw v0,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 9218 lw v0,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 9210 lw v0,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 9200 lw v0,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df 9200 lw v0,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f 9200 lw v0,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f 9200 lw v0,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f 9200 lw v0,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f 9200 lw v0,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f 9200 lw v0,-2048\(sp\)
+[0-9a-f]+ <[^>]*> 8b40 lh v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 8b41 lh v0,1\(v1\)
+[0-9a-f]+ <[^>]*> 8b41 lh v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 8b43 lh v0,3\(v1\)
+[0-9a-f]+ <[^>]*> 8b42 lh v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 8b44 lh v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 8b48 lh v0,16\(v1\)
+[0-9a-f]+ <[^>]*> 8b50 lh v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 8b40 lh v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 8b40 lh v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 8b40 lh v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 8b40 lh v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 8b40 lh v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 8b40 lh v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5f lh v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5e lh v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5d lh v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5c lh v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b58 lh v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b50 lh v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b40 lh v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 8b40 lh v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 8b40 lh v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 8b40 lh v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 8b40 lh v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 8b40 lh v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 8b40 lh v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> ab40 lhu v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 ab41 lhu v0,1\(v1\)
+[0-9a-f]+ <[^>]*> ab41 lhu v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 ab43 lhu v0,3\(v1\)
+[0-9a-f]+ <[^>]*> ab42 lhu v0,4\(v1\)
+[0-9a-f]+ <[^>]*> ab44 lhu v0,8\(v1\)
+[0-9a-f]+ <[^>]*> ab48 lhu v0,16\(v1\)
+[0-9a-f]+ <[^>]*> ab50 lhu v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 ab40 lhu v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 ab40 lhu v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 ab40 lhu v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 ab40 lhu v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 ab40 lhu v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 ab40 lhu v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5f lhu v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5e lhu v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5d lhu v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5c lhu v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab58 lhu v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab50 lhu v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab40 lhu v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df ab40 lhu v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f ab40 lhu v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f ab40 lhu v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f ab40 lhu v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f ab40 lhu v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f ab40 lhu v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 8340 lb v0,0\(v1\)
+[0-9a-f]+ <[^>]*> 8341 lb v0,1\(v1\)
+[0-9a-f]+ <[^>]*> 8342 lb v0,2\(v1\)
+[0-9a-f]+ <[^>]*> 8343 lb v0,3\(v1\)
+[0-9a-f]+ <[^>]*> 8344 lb v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 8348 lb v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 8350 lb v0,16\(v1\)
+[0-9a-f]+ <[^>]*> f020 8340 lb v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 8340 lb v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 8340 lb v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 8340 lb v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 8340 lb v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 8340 lb v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 8340 lb v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835f lb v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835e lb v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835d lb v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835c lb v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8358 lb v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8350 lb v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8340 lb v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 8340 lb v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 8340 lb v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 8340 lb v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 8340 lb v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 8340 lb v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 8340 lb v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> a340 lbu v0,0\(v1\)
+[0-9a-f]+ <[^>]*> a341 lbu v0,1\(v1\)
+[0-9a-f]+ <[^>]*> a342 lbu v0,2\(v1\)
+[0-9a-f]+ <[^>]*> a343 lbu v0,3\(v1\)
+[0-9a-f]+ <[^>]*> a344 lbu v0,4\(v1\)
+[0-9a-f]+ <[^>]*> a348 lbu v0,8\(v1\)
+[0-9a-f]+ <[^>]*> a350 lbu v0,16\(v1\)
+[0-9a-f]+ <[^>]*> f020 a340 lbu v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 a340 lbu v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 a340 lbu v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 a340 lbu v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 a340 lbu v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 a340 lbu v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 a340 lbu v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35f lbu v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35e lbu v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35d lbu v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35c lbu v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a358 lbu v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a350 lbu v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a340 lbu v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df a340 lbu v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f a340 lbu v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f a340 lbu v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f a340 lbu v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f a340 lbu v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f a340 lbu v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 7b41 0x7b41
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 7b42 0x7b42
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 7b43 0x7b43
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 7b44 0x7b44
+[0-9a-f]+ <[^>]*> 7b41 0x7b41
+[0-9a-f]+ <[^>]*> 7b42 0x7b42
+[0-9a-f]+ <[^>]*> 7b44 0x7b44
+[0-9a-f]+ <[^>]*> 7b48 0x7b48
+[0-9a-f]+ <[^>]*> 7b50 0x7b50
+[0-9a-f]+ <[^>]*> f100 extend 0x100
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f200 extend 0x200
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f400 extend 0x400
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b5f 0x7b5f
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b5e 0x7b5e
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b5d 0x7b5d
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b5c 0x7b5c
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b58 0x7b58
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b50 0x7b50
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f7df extend 0x7df
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f71f extend 0x71f
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f61f extend 0x61f
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f41f extend 0x41f
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f01f extend 0x1f
+[0-9a-f]+ <[^>]*> 7b40 0x7b40
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f941 0xf941
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f942 0xf942
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f943 0xf943
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> f944 0xf944
+[0-9a-f]+ <[^>]*> f941 0xf941
+[0-9a-f]+ <[^>]*> f942 0xf942
+[0-9a-f]+ <[^>]*> f944 0xf944
+[0-9a-f]+ <[^>]*> f948 0xf948
+[0-9a-f]+ <[^>]*> f950 0xf950
+[0-9a-f]+ <[^>]*> f100 extend 0x100
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f200 extend 0x200
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f400 extend 0x400
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f95f 0xf95f
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f95e 0xf95e
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f95d 0xf95d
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f95c 0xf95c
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f958 0xf958
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f950 0xf950
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f7df extend 0x7df
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f71f extend 0x71f
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f61f extend 0x61f
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f41f extend 0x41f
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> f01f extend 0x1f
+[0-9a-f]+ <[^>]*> f940 0xf940
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> fa01 0xfa01
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> fa02 0xfa02
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> fa03 0xfa03
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> fa04 0xfa04
+[0-9a-f]+ <[^>]*> fa01 0xfa01
+[0-9a-f]+ <[^>]*> fa02 0xfa02
+[0-9a-f]+ <[^>]*> fa04 0xfa04
+[0-9a-f]+ <[^>]*> fa08 0xfa08
+[0-9a-f]+ <[^>]*> fa10 0xfa10
+[0-9a-f]+ <[^>]*> fa20 0xfa20
+[0-9a-f]+ <[^>]*> fa40 0xfa40
+[0-9a-f]+ <[^>]*> fa80 0xfa80
+[0-9a-f]+ <[^>]*> f001 extend 0x1
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa1f 0xfa1f
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa1e 0xfa1e
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa1d 0xfa1d
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa1c 0xfa1c
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa18 0xfa18
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa10 0xfa10
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f7df extend 0x7df
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f71f extend 0x71f
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f61f extend 0x61f
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f41f extend 0x41f
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> f01f extend 0x1f
+[0-9a-f]+ <[^>]*> fa00 0xfa00
+[0-9a-f]+ <[^>]*> db40 sw v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 db41 sw v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 db42 sw v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 db43 sw v0,3\(v1\)
+[0-9a-f]+ <[^>]*> db41 sw v0,4\(v1\)
+[0-9a-f]+ <[^>]*> db42 sw v0,8\(v1\)
+[0-9a-f]+ <[^>]*> db44 sw v0,16\(v1\)
+[0-9a-f]+ <[^>]*> db48 sw v0,32\(v1\)
+[0-9a-f]+ <[^>]*> db50 sw v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 db40 sw v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 db40 sw v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 db40 sw v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 db40 sw v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 db40 sw v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5f sw v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5e sw v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5d sw v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5c sw v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db58 sw v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db50 sw v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db40 sw v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df db40 sw v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f db40 sw v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f db40 sw v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f db40 sw v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f db40 sw v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f db40 sw v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> d200 sw v0,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 d201 sw v0,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 d202 sw v0,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 d203 sw v0,3\(sp\)
+[0-9a-f]+ <[^>]*> d201 sw v0,4\(sp\)
+[0-9a-f]+ <[^>]*> d202 sw v0,8\(sp\)
+[0-9a-f]+ <[^>]*> d204 sw v0,16\(sp\)
+[0-9a-f]+ <[^>]*> d208 sw v0,32\(sp\)
+[0-9a-f]+ <[^>]*> d210 sw v0,64\(sp\)
+[0-9a-f]+ <[^>]*> d220 sw v0,128\(sp\)
+[0-9a-f]+ <[^>]*> d240 sw v0,256\(sp\)
+[0-9a-f]+ <[^>]*> d280 sw v0,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 d200 sw v0,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 d200 sw v0,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21f sw v0,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21e sw v0,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21d sw v0,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21c sw v0,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d218 sw v0,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d210 sw v0,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d200 sw v0,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df d200 sw v0,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f d200 sw v0,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f d200 sw v0,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f d200 sw v0,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f d200 sw v0,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f d200 sw v0,-2048\(sp\)
+[0-9a-f]+ <[^>]*> 6200 sw ra,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 6201 sw ra,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 6202 sw ra,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 6203 sw ra,3\(sp\)
+[0-9a-f]+ <[^>]*> 6201 sw ra,4\(sp\)
+[0-9a-f]+ <[^>]*> 6202 sw ra,8\(sp\)
+[0-9a-f]+ <[^>]*> 6204 sw ra,16\(sp\)
+[0-9a-f]+ <[^>]*> 6208 sw ra,32\(sp\)
+[0-9a-f]+ <[^>]*> 6210 sw ra,64\(sp\)
+[0-9a-f]+ <[^>]*> 6220 sw ra,128\(sp\)
+[0-9a-f]+ <[^>]*> 6240 sw ra,256\(sp\)
+[0-9a-f]+ <[^>]*> 6280 sw ra,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 6200 sw ra,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 6200 sw ra,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621f sw ra,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621e sw ra,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621d sw ra,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621c sw ra,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 6218 sw ra,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 6210 sw ra,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 6200 sw ra,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df 6200 sw ra,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f 6200 sw ra,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f 6200 sw ra,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f 6200 sw ra,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f 6200 sw ra,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f 6200 sw ra,-2048\(sp\)
+[0-9a-f]+ <[^>]*> cb40 sh v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 cb41 sh v0,1\(v1\)
+[0-9a-f]+ <[^>]*> cb41 sh v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 cb43 sh v0,3\(v1\)
+[0-9a-f]+ <[^>]*> cb42 sh v0,4\(v1\)
+[0-9a-f]+ <[^>]*> cb44 sh v0,8\(v1\)
+[0-9a-f]+ <[^>]*> cb48 sh v0,16\(v1\)
+[0-9a-f]+ <[^>]*> cb50 sh v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 cb40 sh v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 cb40 sh v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 cb40 sh v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 cb40 sh v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 cb40 sh v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 cb40 sh v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5f sh v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5e sh v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5d sh v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5c sh v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb58 sh v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb50 sh v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb40 sh v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df cb40 sh v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f cb40 sh v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f cb40 sh v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f cb40 sh v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f cb40 sh v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f cb40 sh v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> c340 sb v0,0\(v1\)
+[0-9a-f]+ <[^>]*> c341 sb v0,1\(v1\)
+[0-9a-f]+ <[^>]*> c342 sb v0,2\(v1\)
+[0-9a-f]+ <[^>]*> c343 sb v0,3\(v1\)
+[0-9a-f]+ <[^>]*> c344 sb v0,4\(v1\)
+[0-9a-f]+ <[^>]*> c348 sb v0,8\(v1\)
+[0-9a-f]+ <[^>]*> c350 sb v0,16\(v1\)
+[0-9a-f]+ <[^>]*> f020 c340 sb v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 c340 sb v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 c340 sb v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 c340 sb v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 c340 sb v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 c340 sb v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 c340 sb v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35f sb v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35e sb v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35d sb v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35c sb v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c358 sb v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c350 sb v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c340 sb v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df c340 sb v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f c340 sb v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f c340 sb v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f c340 sb v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f c340 sb v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f c340 sb v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 6a00 li v0,0
+[0-9a-f]+ <[^>]*> 6a01 li v0,1
+[0-9a-f]+ <[^>]*> f100 6a00 li v0,256
+[0-9a-f]+ <[^>]*> 675e move v0,s8
+[0-9a-f]+ <[^>]*> 6592 move s4,v0
+[0-9a-f]+ <[^>]*> 4350 0x4350
+[0-9a-f]+ <[^>]*> 4351 0x4351
+[0-9a-f]+ <[^>]*> 435f 0x435f
+[0-9a-f]+ <[^>]*> f010 extend 0x10
+[0-9a-f]+ <[^>]*> 4350 0x4350
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> 4350 0x4350
+[0-9a-f]+ <[^>]*> e388 0xe388
+[0-9a-f]+ <[^>]*> fd40 0xfd40
+[0-9a-f]+ <[^>]*> fd41 0xfd41
+[0-9a-f]+ <[^>]*> fd5f 0xfd5f
+[0-9a-f]+ <[^>]*> f020 extend 0x20
+[0-9a-f]+ <[^>]*> fd40 0xfd40
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fd40 0xfd40
+[0-9a-f]+ <[^>]*> f080 extend 0x80
+[0-9a-f]+ <[^>]*> fd40 0xfd40
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> fd40 0xfd40
+[0-9a-f]+ <[^>]*> f17f extend 0x17f
+[0-9a-f]+ <[^>]*> fe48 0xfe48
+[0-9a-f]+ <[^>]*> f080 extend 0x80
+[0-9a-f]+ <[^>]*> fe40 0xfe40
+[0-9a-f]+ <[^>]*> f1c0 extend 0x1c0
+[0-9a-f]+ <[^>]*> fe48 0xfe48
+[0-9a-f]+ <[^>]*> f280 extend 0x280
+[0-9a-f]+ <[^>]*> fe4c 0xfe4c
+[0-9a-f]+ <[^>]*> fb00 0xfb00
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> fb01 0xfb01
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> fb1f 0xfb1f
+[0-9a-f]+ <[^>]*> fb20 0xfb20
+[0-9a-f]+ <[^>]*> fbe0 0xfbe0
+[0-9a-f]+ <[^>]*> ff40 0xff40
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> ff41 0xff41
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> ff5f 0xff5f
+[0-9a-f]+ <[^>]*> ff48 0xff48
+[0-9a-f]+ <[^>]*> f7ff extend 0x7ff
+[0-9a-f]+ <[^>]*> ff40 0xff40
+[0-9a-f]+ <[^>]*> f080 extend 0x80
+[0-9a-f]+ <[^>]*> ff40 0xff40
+[0-9a-f]+ <[^>]*> f79f extend 0x79f
+[0-9a-f]+ <[^>]*> ff40 0xff40
+[0-9a-f]+ <[^>]*> 4340 addiu v0,v1,0
+[0-9a-f]+ <[^>]*> 4341 addiu v0,v1,1
+[0-9a-f]+ <[^>]*> 434f addiu v0,v1,-1
+[0-9a-f]+ <[^>]*> f010 4340 addiu v0,v1,16
+[0-9a-f]+ <[^>]*> f7ff 4340 addiu v0,v1,-16
+[0-9a-f]+ <[^>]*> e389 addu v0,v1,a0
+[0-9a-f]+ <[^>]*> 4a00 addiu v0,0
+[0-9a-f]+ <[^>]*> 4a01 addiu v0,1
+[0-9a-f]+ <[^>]*> 4aff addiu v0,-1
+[0-9a-f]+ <[^>]*> 4a20 addiu v0,32
+[0-9a-f]+ <[^>]*> 4ae0 addiu v0,-32
+[0-9a-f]+ <[^>]*> f080 4a00 addiu v0,128
+[0-9a-f]+ <[^>]*> 4a80 addiu v0,-128
+[0-9a-f]+ <[^>]*> f11f 0a14 la v0,00000000 <data1>
+[0-9a-f]+ <[^>]*> 0a0b la v0,0000071c <data2>
+[0-9a-f]+ <[^>]*> 0a5d la v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> 0a8f la v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> 6300 addiu sp,0
+[0-9a-f]+ <[^>]*> f000 6301 addiu sp,1
+[0-9a-f]+ <[^>]*> f7ff 631f addiu sp,-1
+[0-9a-f]+ <[^>]*> 6320 addiu sp,256
+[0-9a-f]+ <[^>]*> 63e0 addiu sp,-256
+[0-9a-f]+ <[^>]*> 0200 addiu v0,sp,0
+[0-9a-f]+ <[^>]*> f000 0201 addiu v0,sp,1
+[0-9a-f]+ <[^>]*> f7ff 021f addiu v0,sp,-1
+[0-9a-f]+ <[^>]*> 0208 addiu v0,sp,32
+[0-9a-f]+ <[^>]*> f7ff 0200 addiu v0,sp,-32
+[0-9a-f]+ <[^>]*> 0220 addiu v0,sp,128
+[0-9a-f]+ <[^>]*> f79f 0200 addiu v0,sp,-128
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> e38a 0xe38a
+[0-9a-f]+ <[^>]*> e38b subu v0,v1,a0
+[0-9a-f]+ <[^>]*> ea6b neg v0,v1
+[0-9a-f]+ <[^>]*> ea6c and v0,v1
+[0-9a-f]+ <[^>]*> ea6d or v0,v1
+[0-9a-f]+ <[^>]*> ea6e xor v0,v1
+[0-9a-f]+ <[^>]*> ea6f not v0,v1
+[0-9a-f]+ <[^>]*> 5200 slti v0,0
+[0-9a-f]+ <[^>]*> 5201 slti v0,1
+[0-9a-f]+ <[^>]*> f7ff 521f slti v0,-1
+[0-9a-f]+ <[^>]*> 52ff slti v0,255
+[0-9a-f]+ <[^>]*> f100 5200 slti v0,256
+[0-9a-f]+ <[^>]*> ea62 slt v0,v1
+[0-9a-f]+ <[^>]*> 5a00 sltiu v0,0
+[0-9a-f]+ <[^>]*> 5a01 sltiu v0,1
+[0-9a-f]+ <[^>]*> f7ff 5a1f sltiu v0,-1
+[0-9a-f]+ <[^>]*> 5aff sltiu v0,255
+[0-9a-f]+ <[^>]*> f100 5a00 sltiu v0,256
+[0-9a-f]+ <[^>]*> ea63 sltu v0,v1
+[0-9a-f]+ <[^>]*> 7200 cmpi v0,0
+[0-9a-f]+ <[^>]*> 7201 cmpi v0,1
+[0-9a-f]+ <[^>]*> 72ff cmpi v0,255
+[0-9a-f]+ <[^>]*> f100 7200 cmpi v0,256
+[0-9a-f]+ <[^>]*> ea6a cmp v0,v1
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> 3261 0x3261
+[0-9a-f]+ <[^>]*> 3265 0x3265
+[0-9a-f]+ <[^>]*> 3261 0x3261
+[0-9a-f]+ <[^>]*> f240 extend 0x240
+[0-9a-f]+ <[^>]*> 3261 0x3261
+[0-9a-f]+ <[^>]*> f7e0 extend 0x7e0
+[0-9a-f]+ <[^>]*> 3261 0x3261
+[0-9a-f]+ <[^>]*> eb54 0xeb54
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> e848 0xe848
+[0-9a-f]+ <[^>]*> e948 0xe948
+[0-9a-f]+ <[^>]*> e848 0xe848
+[0-9a-f]+ <[^>]*> f240 extend 0x240
+[0-9a-f]+ <[^>]*> e848 0xe848
+[0-9a-f]+ <[^>]*> f7e0 extend 0x7e0
+[0-9a-f]+ <[^>]*> e848 0xe848
+[0-9a-f]+ <[^>]*> eb56 0xeb56
+[0-9a-f]+ <[^>]*> f000 extend 0x0
+[0-9a-f]+ <[^>]*> e853 0xe853
+[0-9a-f]+ <[^>]*> e953 0xe953
+[0-9a-f]+ <[^>]*> e853 0xe853
+[0-9a-f]+ <[^>]*> f240 extend 0x240
+[0-9a-f]+ <[^>]*> e853 0xe853
+[0-9a-f]+ <[^>]*> f7e0 extend 0x7e0
+[0-9a-f]+ <[^>]*> e853 0xe853
+[0-9a-f]+ <[^>]*> eb57 0xeb57
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> eb10 mfhi v1
+[0-9a-f]+ <[^>]*> f000 3260 sll v0,v1,0
+[0-9a-f]+ <[^>]*> 3264 sll v0,v1,1
+[0-9a-f]+ <[^>]*> 3260 sll v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3260 sll v0,v1,9
+[0-9a-f]+ <[^>]*> f7c0 3260 sll v0,v1,31
+[0-9a-f]+ <[^>]*> eb44 sllv v0,v1
+[0-9a-f]+ <[^>]*> f000 3262 srl v0,v1,0
+[0-9a-f]+ <[^>]*> 3266 srl v0,v1,1
+[0-9a-f]+ <[^>]*> 3262 srl v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3262 srl v0,v1,9
+[0-9a-f]+ <[^>]*> f7c0 3262 srl v0,v1,31
+[0-9a-f]+ <[^>]*> eb46 srlv v0,v1
+[0-9a-f]+ <[^>]*> f000 3263 sra v0,v1,0
+[0-9a-f]+ <[^>]*> 3267 sra v0,v1,1
+[0-9a-f]+ <[^>]*> 3263 sra v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3263 sra v0,v1,9
+[0-9a-f]+ <[^>]*> f7c0 3263 sra v0,v1,31
+[0-9a-f]+ <[^>]*> eb47 srav v0,v1
+[0-9a-f]+ <[^>]*> ea7c 0xea7c
+[0-9a-f]+ <[^>]*> ea7d 0xea7d
+[0-9a-f]+ <[^>]*> ea7e 0xea7e
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007d4 <insns2\+0xb4>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea7f 0xea7f
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007e0 <insns2\+0xc0>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea78 mult v0,v1
+[0-9a-f]+ <[^>]*> ea79 multu v0,v1
+[0-9a-f]+ <[^>]*> ea7a div zero,v0,v1
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007f0 <insns2\+0xd0>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea7b divu zero,v0,v1
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007fc <insns2\+0xdc>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> ea00 jr v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> e820 jr ra
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea40 jalr v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> f3ff 221b beqz v0,00000004 <insns1>
+[0-9a-f]+ <[^>]*> 2288 beqz v0,00000720 <insns2>
+[0-9a-f]+ <[^>]*> 222b beqz v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f080 220d beqz v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 2a15 bnez v0,00000004 <insns1>
+[0-9a-f]+ <[^>]*> 2a82 bnez v0,00000720 <insns2>
+[0-9a-f]+ <[^>]*> 2a25 bnez v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f080 2a07 bnez v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 600f bteqz 00000004 <insns1>
+[0-9a-f]+ <[^>]*> f77f 601b bteqz 00000720 <insns2>
+[0-9a-f]+ <[^>]*> 601e bteqz 00000868 <bar>
+[0-9a-f]+ <[^>]*> f080 6000 bteqz 00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 6108 btnez 00000004 <insns1>
+[0-9a-f]+ <[^>]*> f77f 6114 btnez 00000720 <insns2>
+[0-9a-f]+ <[^>]*> 6117 btnez 00000868 <bar>
+[0-9a-f]+ <[^>]*> 617a btnez 00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 1002 b 00000004 <insns1>
+[0-9a-f]+ <[^>]*> 176f b 00000720 <insns2>
+[0-9a-f]+ <[^>]*> 1012 b 00000868 <bar>
+[0-9a-f]+ <[^>]*> 1075 b 00000930 <iuux>
+[0-9a-f]+ <[^>]*> e805 break 0
+[0-9a-f]+ <[^>]*> e825 break 1
+[0-9a-f]+ <[^>]*> efe5 break 63
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <data1>
+[ ]*[0-9a-f]+: R_MIPS16_26 extern
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> e809 entry
+[0-9a-f]+ <[^>]*> e909 entry a0
+[0-9a-f]+ <[^>]*> eb49 entry a0-a2,s0
+[0-9a-f]+ <[^>]*> e8a9 entry s0-s1,ra
+[0-9a-f]+ <[^>]*> e829 entry ra
+[0-9a-f]+ <[^>]*> ef09 exit
+[0-9a-f]+ <[^>]*> ef49 exit s0
+[0-9a-f]+ <[^>]*> efa9 exit s0-s1,ra
+[0-9a-f]+ <[^>]*> ef29 exit ra
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+ \.\.\.
diff --git a/gas/testsuite/gas/mips/mips16-32@mips16e-64-sub.d b/gas/testsuite/gas/mips/mips16-32@mips16e-64-sub.d
new file mode 100644
index 0000000..953a1d8
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-32@mips16e-64-sub.d
@@ -0,0 +1,16 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e ISA subset disassembly
+#source: mips16e-64-sub.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> ecd1 0xecd1
+[0-9a-f]+ <[^>]*> ec51 0xec51
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
diff --git a/gas/testsuite/gas/mips/mips16-32@mips16e-sub.d b/gas/testsuite/gas/mips/mips16-32@mips16e-sub.d
new file mode 100644
index 0000000..697d93c
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-32@mips16e-sub.d
@@ -0,0 +1,56 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e 64-bit ISA subset disassembly
+#source: mips16e-sub.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> e8a0 0xe8a0
+[0-9a-f]+ <[^>]*> ea80 0xea80
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> e8a0 0xe8a0
+[0-9a-f]+ <[^>]*> ea80 0xea80
+[0-9a-f]+ <[^>]*> e8a0 0xe8a0
+[0-9a-f]+ <[^>]*> ea80 0xea80
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <stuff>
+[ ]*[0-9a-f]+: R_MIPS16_26 foo
+[0-9a-f]+ <[^>]*> 4281 addiu a0,v0,1
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <stuff>
+[ ]*[0-9a-f]+: R_MIPS16_26 foo
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6782 move a0,v0
+[0-9a-f]+ <[^>]*> eac0 0xeac0
+[0-9a-f]+ <[^>]*> 6782 move a0,v0
+[0-9a-f]+ <[^>]*> ea80 0xea80
+[0-9a-f]+ <[^>]*> 6782 move a0,v0
+[0-9a-f]+ <[^>]*> e8a0 0xe8a0
+[0-9a-f]+ <[^>]*> ec91 0xec91
+[0-9a-f]+ <[^>]*> ecb1 0xecb1
+[0-9a-f]+ <[^>]*> ec11 0xec11
+[0-9a-f]+ <[^>]*> ec31 0xec31
+[0-9a-f]+ <[^>]*> 64c1 0x64c1
+[0-9a-f]+ <[^>]*> 64c0 0x64c0
+[0-9a-f]+ <[^>]*> 64e2 0x64e2
+[0-9a-f]+ <[^>]*> 64f2 0x64f2
+[0-9a-f]+ <[^>]*> 64df 0x64df
+[0-9a-f]+ <[^>]*> f010 extend 0x10
+[0-9a-f]+ <[^>]*> 64e1 0x64e1
+[0-9a-f]+ <[^>]*> f004 extend 0x4
+[0-9a-f]+ <[^>]*> 64f2 0x64f2
+[0-9a-f]+ <[^>]*> f308 extend 0x308
+[0-9a-f]+ <[^>]*> 64e2 0x64e2
+[0-9a-f]+ <[^>]*> f30c extend 0x30c
+[0-9a-f]+ <[^>]*> 64f2 0x64f2
+[0-9a-f]+ <[^>]*> f70e extend 0x70e
+[0-9a-f]+ <[^>]*> 64d2 0x64d2
+[0-9a-f]+ <[^>]*> f30a extend 0x30a
+[0-9a-f]+ <[^>]*> 64e2 0x64e2
+[0-9a-f]+ <[^>]*> 6441 0x6441
diff --git a/gas/testsuite/gas/mips/mips16-64@mips16e-64-sub.d b/gas/testsuite/gas/mips/mips16-64@mips16e-64-sub.d
new file mode 100644
index 0000000..7db304d
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-64@mips16e-64-sub.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e ISA subset disassembly
+#source: mips16e-64-sub.s
+#dump: mips16-32@mips16e-64-sub.d
diff --git a/gas/testsuite/gas/mips/mips16-64@mips16e-sub.d b/gas/testsuite/gas/mips/mips16-64@mips16e-sub.d
new file mode 100644
index 0000000..e68784b
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-64@mips16e-sub.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e 64-bit ISA subset disassembly
+#source: mips16e-sub.s
+#dump: mips16-32@mips16e-sub.d
diff --git a/gas/testsuite/gas/mips/mips16-sub.d b/gas/testsuite/gas/mips/mips16-sub.d
new file mode 100644
index 0000000..0ccae66
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-sub.d
@@ -0,0 +1,671 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16 ISA subset disassembly
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 3b40 ld v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 3b41 ld v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 3b42 ld v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 3b43 ld v0,3\(v1\)
+[0-9a-f]+ <[^>]*> f000 3b44 ld v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 3b41 ld v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 3b42 ld v0,16\(v1\)
+[0-9a-f]+ <[^>]*> 3b44 ld v0,32\(v1\)
+[0-9a-f]+ <[^>]*> 3b48 ld v0,64\(v1\)
+[0-9a-f]+ <[^>]*> 3b50 ld v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 3b40 ld v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 3b40 ld v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 3b40 ld v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 3b40 ld v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b5f ld v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b5e ld v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b5d ld v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b5c ld v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b58 ld v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b50 ld v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 3b40 ld v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 3b40 ld v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 3b40 ld v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 3b40 ld v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 3b40 ld v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 3b40 ld v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 3b40 ld v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> f7bf fc40 ld v0,00000000 <data1>
+[0-9a-f]+ <[^>]*> f6a0 fc54 ld v0,0000071c <data2>
+[0-9a-f]+ <[^>]*> f001 fc40 ld v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f0c1 fc40 ld v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> f840 ld v0,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 f841 ld v0,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 f842 ld v0,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 f843 ld v0,3\(sp\)
+[0-9a-f]+ <[^>]*> f000 f844 ld v0,4\(sp\)
+[0-9a-f]+ <[^>]*> f841 ld v0,8\(sp\)
+[0-9a-f]+ <[^>]*> f842 ld v0,16\(sp\)
+[0-9a-f]+ <[^>]*> f844 ld v0,32\(sp\)
+[0-9a-f]+ <[^>]*> f848 ld v0,64\(sp\)
+[0-9a-f]+ <[^>]*> f850 ld v0,128\(sp\)
+[0-9a-f]+ <[^>]*> f100 f840 ld v0,256\(sp\)
+[0-9a-f]+ <[^>]*> f200 f840 ld v0,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 f840 ld v0,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 f840 ld v0,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f85f ld v0,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f85e ld v0,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f85d ld v0,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f85c ld v0,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f858 ld v0,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f850 ld v0,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f840 ld v0,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df f840 ld v0,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f f840 ld v0,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f f840 ld v0,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f f840 ld v0,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f f840 ld v0,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f f840 ld v0,-2048\(sp\)
+[0-9a-f]+ <[^>]*> bb40 lwu v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 bb41 lwu v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 bb42 lwu v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 bb43 lwu v0,3\(v1\)
+[0-9a-f]+ <[^>]*> bb41 lwu v0,4\(v1\)
+[0-9a-f]+ <[^>]*> bb42 lwu v0,8\(v1\)
+[0-9a-f]+ <[^>]*> bb44 lwu v0,16\(v1\)
+[0-9a-f]+ <[^>]*> bb48 lwu v0,32\(v1\)
+[0-9a-f]+ <[^>]*> bb50 lwu v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 bb40 lwu v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 bb40 lwu v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 bb40 lwu v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 bb40 lwu v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 bb40 lwu v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb5f lwu v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb5e lwu v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb5d lwu v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb5c lwu v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb58 lwu v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb50 lwu v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff bb40 lwu v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df bb40 lwu v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f bb40 lwu v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f bb40 lwu v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f bb40 lwu v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f bb40 lwu v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f bb40 lwu v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 9b40 lw v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 9b41 lw v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 9b42 lw v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 9b43 lw v0,3\(v1\)
+[0-9a-f]+ <[^>]*> 9b41 lw v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 9b42 lw v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 9b44 lw v0,16\(v1\)
+[0-9a-f]+ <[^>]*> 9b48 lw v0,32\(v1\)
+[0-9a-f]+ <[^>]*> 9b50 lw v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 9b40 lw v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 9b40 lw v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 9b40 lw v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 9b40 lw v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 9b40 lw v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5f lw v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5e lw v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5d lw v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b5c lw v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b58 lw v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b50 lw v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 9b40 lw v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 9b40 lw v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 9b40 lw v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 9b40 lw v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 9b40 lw v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 9b40 lw v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 9b40 lw v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> f67f b20c lw v0,00000000 <data1>
+[0-9a-f]+ <[^>]*> f580 b204 lw v0,0000071c <data2>
+[0-9a-f]+ <[^>]*> f6c0 b20c lw v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f780 b210 lw v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> 9200 lw v0,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 9201 lw v0,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 9202 lw v0,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 9203 lw v0,3\(sp\)
+[0-9a-f]+ <[^>]*> 9201 lw v0,4\(sp\)
+[0-9a-f]+ <[^>]*> 9202 lw v0,8\(sp\)
+[0-9a-f]+ <[^>]*> 9204 lw v0,16\(sp\)
+[0-9a-f]+ <[^>]*> 9208 lw v0,32\(sp\)
+[0-9a-f]+ <[^>]*> 9210 lw v0,64\(sp\)
+[0-9a-f]+ <[^>]*> 9220 lw v0,128\(sp\)
+[0-9a-f]+ <[^>]*> 9240 lw v0,256\(sp\)
+[0-9a-f]+ <[^>]*> 9280 lw v0,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 9200 lw v0,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 9200 lw v0,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921f lw v0,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921e lw v0,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921d lw v0,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 921c lw v0,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 9218 lw v0,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 9210 lw v0,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 9200 lw v0,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df 9200 lw v0,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f 9200 lw v0,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f 9200 lw v0,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f 9200 lw v0,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f 9200 lw v0,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f 9200 lw v0,-2048\(sp\)
+[0-9a-f]+ <[^>]*> 8b40 lh v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 8b41 lh v0,1\(v1\)
+[0-9a-f]+ <[^>]*> 8b41 lh v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 8b43 lh v0,3\(v1\)
+[0-9a-f]+ <[^>]*> 8b42 lh v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 8b44 lh v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 8b48 lh v0,16\(v1\)
+[0-9a-f]+ <[^>]*> 8b50 lh v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 8b40 lh v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 8b40 lh v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 8b40 lh v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 8b40 lh v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 8b40 lh v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 8b40 lh v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5f lh v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5e lh v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5d lh v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b5c lh v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b58 lh v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b50 lh v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8b40 lh v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 8b40 lh v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 8b40 lh v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 8b40 lh v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 8b40 lh v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 8b40 lh v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 8b40 lh v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> ab40 lhu v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 ab41 lhu v0,1\(v1\)
+[0-9a-f]+ <[^>]*> ab41 lhu v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 ab43 lhu v0,3\(v1\)
+[0-9a-f]+ <[^>]*> ab42 lhu v0,4\(v1\)
+[0-9a-f]+ <[^>]*> ab44 lhu v0,8\(v1\)
+[0-9a-f]+ <[^>]*> ab48 lhu v0,16\(v1\)
+[0-9a-f]+ <[^>]*> ab50 lhu v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 ab40 lhu v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 ab40 lhu v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 ab40 lhu v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 ab40 lhu v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 ab40 lhu v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 ab40 lhu v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5f lhu v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5e lhu v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5d lhu v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab5c lhu v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab58 lhu v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab50 lhu v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff ab40 lhu v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df ab40 lhu v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f ab40 lhu v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f ab40 lhu v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f ab40 lhu v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f ab40 lhu v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f ab40 lhu v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 8340 lb v0,0\(v1\)
+[0-9a-f]+ <[^>]*> 8341 lb v0,1\(v1\)
+[0-9a-f]+ <[^>]*> 8342 lb v0,2\(v1\)
+[0-9a-f]+ <[^>]*> 8343 lb v0,3\(v1\)
+[0-9a-f]+ <[^>]*> 8344 lb v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 8348 lb v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 8350 lb v0,16\(v1\)
+[0-9a-f]+ <[^>]*> f020 8340 lb v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 8340 lb v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 8340 lb v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 8340 lb v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 8340 lb v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 8340 lb v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 8340 lb v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835f lb v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835e lb v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835d lb v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 835c lb v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8358 lb v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8350 lb v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 8340 lb v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 8340 lb v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 8340 lb v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 8340 lb v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 8340 lb v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 8340 lb v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 8340 lb v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> a340 lbu v0,0\(v1\)
+[0-9a-f]+ <[^>]*> a341 lbu v0,1\(v1\)
+[0-9a-f]+ <[^>]*> a342 lbu v0,2\(v1\)
+[0-9a-f]+ <[^>]*> a343 lbu v0,3\(v1\)
+[0-9a-f]+ <[^>]*> a344 lbu v0,4\(v1\)
+[0-9a-f]+ <[^>]*> a348 lbu v0,8\(v1\)
+[0-9a-f]+ <[^>]*> a350 lbu v0,16\(v1\)
+[0-9a-f]+ <[^>]*> f020 a340 lbu v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 a340 lbu v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 a340 lbu v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 a340 lbu v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 a340 lbu v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 a340 lbu v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 a340 lbu v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35f lbu v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35e lbu v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35d lbu v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a35c lbu v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a358 lbu v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a350 lbu v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff a340 lbu v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df a340 lbu v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f a340 lbu v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f a340 lbu v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f a340 lbu v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f a340 lbu v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f a340 lbu v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 7b40 sd v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 7b41 sd v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 7b42 sd v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 7b43 sd v0,3\(v1\)
+[0-9a-f]+ <[^>]*> f000 7b44 sd v0,4\(v1\)
+[0-9a-f]+ <[^>]*> 7b41 sd v0,8\(v1\)
+[0-9a-f]+ <[^>]*> 7b42 sd v0,16\(v1\)
+[0-9a-f]+ <[^>]*> 7b44 sd v0,32\(v1\)
+[0-9a-f]+ <[^>]*> 7b48 sd v0,64\(v1\)
+[0-9a-f]+ <[^>]*> 7b50 sd v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 7b40 sd v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 7b40 sd v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 7b40 sd v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 7b40 sd v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b5f sd v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b5e sd v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b5d sd v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b5c sd v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b58 sd v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b50 sd v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff 7b40 sd v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df 7b40 sd v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f 7b40 sd v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f 7b40 sd v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f 7b40 sd v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f 7b40 sd v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f 7b40 sd v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> f940 sd v0,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 f941 sd v0,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 f942 sd v0,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 f943 sd v0,3\(sp\)
+[0-9a-f]+ <[^>]*> f000 f944 sd v0,4\(sp\)
+[0-9a-f]+ <[^>]*> f941 sd v0,8\(sp\)
+[0-9a-f]+ <[^>]*> f942 sd v0,16\(sp\)
+[0-9a-f]+ <[^>]*> f944 sd v0,32\(sp\)
+[0-9a-f]+ <[^>]*> f948 sd v0,64\(sp\)
+[0-9a-f]+ <[^>]*> f950 sd v0,128\(sp\)
+[0-9a-f]+ <[^>]*> f100 f940 sd v0,256\(sp\)
+[0-9a-f]+ <[^>]*> f200 f940 sd v0,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 f940 sd v0,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 f940 sd v0,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f95f sd v0,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f95e sd v0,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f95d sd v0,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f95c sd v0,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f958 sd v0,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f950 sd v0,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff f940 sd v0,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df f940 sd v0,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f f940 sd v0,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f f940 sd v0,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f f940 sd v0,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f f940 sd v0,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f f940 sd v0,-2048\(sp\)
+[0-9a-f]+ <[^>]*> fa00 sd ra,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 fa01 sd ra,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 fa02 sd ra,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 fa03 sd ra,3\(sp\)
+[0-9a-f]+ <[^>]*> f000 fa04 sd ra,4\(sp\)
+[0-9a-f]+ <[^>]*> fa01 sd ra,8\(sp\)
+[0-9a-f]+ <[^>]*> fa02 sd ra,16\(sp\)
+[0-9a-f]+ <[^>]*> fa04 sd ra,32\(sp\)
+[0-9a-f]+ <[^>]*> fa08 sd ra,64\(sp\)
+[0-9a-f]+ <[^>]*> fa10 sd ra,128\(sp\)
+[0-9a-f]+ <[^>]*> fa20 sd ra,256\(sp\)
+[0-9a-f]+ <[^>]*> fa40 sd ra,512\(sp\)
+[0-9a-f]+ <[^>]*> fa80 sd ra,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 fa00 sd ra,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa1f sd ra,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa1e sd ra,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa1d sd ra,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa1c sd ra,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa18 sd ra,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa10 sd ra,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff fa00 sd ra,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df fa00 sd ra,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f fa00 sd ra,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f fa00 sd ra,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f fa00 sd ra,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f fa00 sd ra,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f fa00 sd ra,-2048\(sp\)
+[0-9a-f]+ <[^>]*> db40 sw v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 db41 sw v0,1\(v1\)
+[0-9a-f]+ <[^>]*> f000 db42 sw v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 db43 sw v0,3\(v1\)
+[0-9a-f]+ <[^>]*> db41 sw v0,4\(v1\)
+[0-9a-f]+ <[^>]*> db42 sw v0,8\(v1\)
+[0-9a-f]+ <[^>]*> db44 sw v0,16\(v1\)
+[0-9a-f]+ <[^>]*> db48 sw v0,32\(v1\)
+[0-9a-f]+ <[^>]*> db50 sw v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 db40 sw v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 db40 sw v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 db40 sw v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 db40 sw v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 db40 sw v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5f sw v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5e sw v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5d sw v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db5c sw v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db58 sw v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db50 sw v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff db40 sw v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df db40 sw v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f db40 sw v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f db40 sw v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f db40 sw v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f db40 sw v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f db40 sw v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> d200 sw v0,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 d201 sw v0,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 d202 sw v0,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 d203 sw v0,3\(sp\)
+[0-9a-f]+ <[^>]*> d201 sw v0,4\(sp\)
+[0-9a-f]+ <[^>]*> d202 sw v0,8\(sp\)
+[0-9a-f]+ <[^>]*> d204 sw v0,16\(sp\)
+[0-9a-f]+ <[^>]*> d208 sw v0,32\(sp\)
+[0-9a-f]+ <[^>]*> d210 sw v0,64\(sp\)
+[0-9a-f]+ <[^>]*> d220 sw v0,128\(sp\)
+[0-9a-f]+ <[^>]*> d240 sw v0,256\(sp\)
+[0-9a-f]+ <[^>]*> d280 sw v0,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 d200 sw v0,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 d200 sw v0,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21f sw v0,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21e sw v0,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21d sw v0,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d21c sw v0,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d218 sw v0,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d210 sw v0,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff d200 sw v0,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df d200 sw v0,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f d200 sw v0,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f d200 sw v0,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f d200 sw v0,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f d200 sw v0,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f d200 sw v0,-2048\(sp\)
+[0-9a-f]+ <[^>]*> 6200 sw ra,0\(sp\)
+[0-9a-f]+ <[^>]*> f000 6201 sw ra,1\(sp\)
+[0-9a-f]+ <[^>]*> f000 6202 sw ra,2\(sp\)
+[0-9a-f]+ <[^>]*> f000 6203 sw ra,3\(sp\)
+[0-9a-f]+ <[^>]*> 6201 sw ra,4\(sp\)
+[0-9a-f]+ <[^>]*> 6202 sw ra,8\(sp\)
+[0-9a-f]+ <[^>]*> 6204 sw ra,16\(sp\)
+[0-9a-f]+ <[^>]*> 6208 sw ra,32\(sp\)
+[0-9a-f]+ <[^>]*> 6210 sw ra,64\(sp\)
+[0-9a-f]+ <[^>]*> 6220 sw ra,128\(sp\)
+[0-9a-f]+ <[^>]*> 6240 sw ra,256\(sp\)
+[0-9a-f]+ <[^>]*> 6280 sw ra,512\(sp\)
+[0-9a-f]+ <[^>]*> f400 6200 sw ra,1024\(sp\)
+[0-9a-f]+ <[^>]*> f001 6200 sw ra,2048\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621f sw ra,-1\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621e sw ra,-2\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621d sw ra,-3\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 621c sw ra,-4\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 6218 sw ra,-8\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 6210 sw ra,-16\(sp\)
+[0-9a-f]+ <[^>]*> f7ff 6200 sw ra,-32\(sp\)
+[0-9a-f]+ <[^>]*> f7df 6200 sw ra,-64\(sp\)
+[0-9a-f]+ <[^>]*> f79f 6200 sw ra,-128\(sp\)
+[0-9a-f]+ <[^>]*> f71f 6200 sw ra,-256\(sp\)
+[0-9a-f]+ <[^>]*> f61f 6200 sw ra,-512\(sp\)
+[0-9a-f]+ <[^>]*> f41f 6200 sw ra,-1024\(sp\)
+[0-9a-f]+ <[^>]*> f01f 6200 sw ra,-2048\(sp\)
+[0-9a-f]+ <[^>]*> cb40 sh v0,0\(v1\)
+[0-9a-f]+ <[^>]*> f000 cb41 sh v0,1\(v1\)
+[0-9a-f]+ <[^>]*> cb41 sh v0,2\(v1\)
+[0-9a-f]+ <[^>]*> f000 cb43 sh v0,3\(v1\)
+[0-9a-f]+ <[^>]*> cb42 sh v0,4\(v1\)
+[0-9a-f]+ <[^>]*> cb44 sh v0,8\(v1\)
+[0-9a-f]+ <[^>]*> cb48 sh v0,16\(v1\)
+[0-9a-f]+ <[^>]*> cb50 sh v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 cb40 sh v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 cb40 sh v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 cb40 sh v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 cb40 sh v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 cb40 sh v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 cb40 sh v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5f sh v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5e sh v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5d sh v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb5c sh v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb58 sh v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb50 sh v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff cb40 sh v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df cb40 sh v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f cb40 sh v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f cb40 sh v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f cb40 sh v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f cb40 sh v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f cb40 sh v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> c340 sb v0,0\(v1\)
+[0-9a-f]+ <[^>]*> c341 sb v0,1\(v1\)
+[0-9a-f]+ <[^>]*> c342 sb v0,2\(v1\)
+[0-9a-f]+ <[^>]*> c343 sb v0,3\(v1\)
+[0-9a-f]+ <[^>]*> c344 sb v0,4\(v1\)
+[0-9a-f]+ <[^>]*> c348 sb v0,8\(v1\)
+[0-9a-f]+ <[^>]*> c350 sb v0,16\(v1\)
+[0-9a-f]+ <[^>]*> f020 c340 sb v0,32\(v1\)
+[0-9a-f]+ <[^>]*> f040 c340 sb v0,64\(v1\)
+[0-9a-f]+ <[^>]*> f080 c340 sb v0,128\(v1\)
+[0-9a-f]+ <[^>]*> f100 c340 sb v0,256\(v1\)
+[0-9a-f]+ <[^>]*> f200 c340 sb v0,512\(v1\)
+[0-9a-f]+ <[^>]*> f400 c340 sb v0,1024\(v1\)
+[0-9a-f]+ <[^>]*> f001 c340 sb v0,2048\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35f sb v0,-1\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35e sb v0,-2\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35d sb v0,-3\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c35c sb v0,-4\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c358 sb v0,-8\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c350 sb v0,-16\(v1\)
+[0-9a-f]+ <[^>]*> f7ff c340 sb v0,-32\(v1\)
+[0-9a-f]+ <[^>]*> f7df c340 sb v0,-64\(v1\)
+[0-9a-f]+ <[^>]*> f79f c340 sb v0,-128\(v1\)
+[0-9a-f]+ <[^>]*> f71f c340 sb v0,-256\(v1\)
+[0-9a-f]+ <[^>]*> f61f c340 sb v0,-512\(v1\)
+[0-9a-f]+ <[^>]*> f41f c340 sb v0,-1024\(v1\)
+[0-9a-f]+ <[^>]*> f01f c340 sb v0,-2048\(v1\)
+[0-9a-f]+ <[^>]*> 6a00 li v0,0
+[0-9a-f]+ <[^>]*> 6a01 li v0,1
+[0-9a-f]+ <[^>]*> f100 6a00 li v0,256
+[0-9a-f]+ <[^>]*> 675e move v0,s8
+[0-9a-f]+ <[^>]*> 6592 move s4,v0
+[0-9a-f]+ <[^>]*> 4350 daddiu v0,v1,0
+[0-9a-f]+ <[^>]*> 4351 daddiu v0,v1,1
+[0-9a-f]+ <[^>]*> 435f daddiu v0,v1,-1
+[0-9a-f]+ <[^>]*> f010 4350 daddiu v0,v1,16
+[0-9a-f]+ <[^>]*> f7ff 4350 daddiu v0,v1,-16
+[0-9a-f]+ <[^>]*> e388 daddu v0,v1,a0
+[0-9a-f]+ <[^>]*> fd40 daddiu v0,0
+[0-9a-f]+ <[^>]*> fd41 daddiu v0,1
+[0-9a-f]+ <[^>]*> fd5f daddiu v0,-1
+[0-9a-f]+ <[^>]*> f020 fd40 daddiu v0,32
+[0-9a-f]+ <[^>]*> f7ff fd40 daddiu v0,-32
+[0-9a-f]+ <[^>]*> f080 fd40 daddiu v0,128
+[0-9a-f]+ <[^>]*> f79f fd40 daddiu v0,-128
+[0-9a-f]+ <[^>]*> f17f fe48 dla v0,00000000 <data1>
+[0-9a-f]+ <[^>]*> f080 fe40 dla v0,0000071c <data2>
+[0-9a-f]+ <[^>]*> f1c0 fe48 dla v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f280 fe4c dla v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> fb00 daddiu sp,0
+[0-9a-f]+ <[^>]*> f000 fb01 daddiu sp,1
+[0-9a-f]+ <[^>]*> f7ff fb1f daddiu sp,-1
+[0-9a-f]+ <[^>]*> fb20 daddiu sp,256
+[0-9a-f]+ <[^>]*> fbe0 daddiu sp,-256
+[0-9a-f]+ <[^>]*> ff40 daddiu v0,sp,0
+[0-9a-f]+ <[^>]*> f000 ff41 daddiu v0,sp,1
+[0-9a-f]+ <[^>]*> f7ff ff5f daddiu v0,sp,-1
+[0-9a-f]+ <[^>]*> ff48 daddiu v0,sp,32
+[0-9a-f]+ <[^>]*> f7ff ff40 daddiu v0,sp,-32
+[0-9a-f]+ <[^>]*> f080 ff40 daddiu v0,sp,128
+[0-9a-f]+ <[^>]*> f79f ff40 daddiu v0,sp,-128
+[0-9a-f]+ <[^>]*> 4340 addiu v0,v1,0
+[0-9a-f]+ <[^>]*> 4341 addiu v0,v1,1
+[0-9a-f]+ <[^>]*> 434f addiu v0,v1,-1
+[0-9a-f]+ <[^>]*> f010 4340 addiu v0,v1,16
+[0-9a-f]+ <[^>]*> f7ff 4340 addiu v0,v1,-16
+[0-9a-f]+ <[^>]*> e389 addu v0,v1,a0
+[0-9a-f]+ <[^>]*> 4a00 addiu v0,0
+[0-9a-f]+ <[^>]*> 4a01 addiu v0,1
+[0-9a-f]+ <[^>]*> 4aff addiu v0,-1
+[0-9a-f]+ <[^>]*> 4a20 addiu v0,32
+[0-9a-f]+ <[^>]*> 4ae0 addiu v0,-32
+[0-9a-f]+ <[^>]*> f080 4a00 addiu v0,128
+[0-9a-f]+ <[^>]*> 4a80 addiu v0,-128
+[0-9a-f]+ <[^>]*> f11f 0a14 la v0,00000000 <data1>
+[0-9a-f]+ <[^>]*> 0a0b la v0,0000071c <data2>
+[0-9a-f]+ <[^>]*> 0a5d la v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> 0a8f la v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> 6300 addiu sp,0
+[0-9a-f]+ <[^>]*> f000 6301 addiu sp,1
+[0-9a-f]+ <[^>]*> f7ff 631f addiu sp,-1
+[0-9a-f]+ <[^>]*> 6320 addiu sp,256
+[0-9a-f]+ <[^>]*> 63e0 addiu sp,-256
+[0-9a-f]+ <[^>]*> 0200 addiu v0,sp,0
+[0-9a-f]+ <[^>]*> f000 0201 addiu v0,sp,1
+[0-9a-f]+ <[^>]*> f7ff 021f addiu v0,sp,-1
+[0-9a-f]+ <[^>]*> 0208 addiu v0,sp,32
+[0-9a-f]+ <[^>]*> f7ff 0200 addiu v0,sp,-32
+[0-9a-f]+ <[^>]*> 0220 addiu v0,sp,128
+[0-9a-f]+ <[^>]*> f79f 0200 addiu v0,sp,-128
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> e38a dsubu v0,v1,a0
+[0-9a-f]+ <[^>]*> e38b subu v0,v1,a0
+[0-9a-f]+ <[^>]*> ea6b neg v0,v1
+[0-9a-f]+ <[^>]*> ea6c and v0,v1
+[0-9a-f]+ <[^>]*> ea6d or v0,v1
+[0-9a-f]+ <[^>]*> ea6e xor v0,v1
+[0-9a-f]+ <[^>]*> ea6f not v0,v1
+[0-9a-f]+ <[^>]*> 5200 slti v0,0
+[0-9a-f]+ <[^>]*> 5201 slti v0,1
+[0-9a-f]+ <[^>]*> f7ff 521f slti v0,-1
+[0-9a-f]+ <[^>]*> 52ff slti v0,255
+[0-9a-f]+ <[^>]*> f100 5200 slti v0,256
+[0-9a-f]+ <[^>]*> ea62 slt v0,v1
+[0-9a-f]+ <[^>]*> 5a00 sltiu v0,0
+[0-9a-f]+ <[^>]*> 5a01 sltiu v0,1
+[0-9a-f]+ <[^>]*> f7ff 5a1f sltiu v0,-1
+[0-9a-f]+ <[^>]*> 5aff sltiu v0,255
+[0-9a-f]+ <[^>]*> f100 5a00 sltiu v0,256
+[0-9a-f]+ <[^>]*> ea63 sltu v0,v1
+[0-9a-f]+ <[^>]*> 7200 cmpi v0,0
+[0-9a-f]+ <[^>]*> 7201 cmpi v0,1
+[0-9a-f]+ <[^>]*> 72ff cmpi v0,255
+[0-9a-f]+ <[^>]*> f100 7200 cmpi v0,256
+[0-9a-f]+ <[^>]*> ea6a cmp v0,v1
+[0-9a-f]+ <[^>]*> f000 3261 dsll v0,v1,0
+[0-9a-f]+ <[^>]*> 3265 dsll v0,v1,1
+[0-9a-f]+ <[^>]*> 3261 dsll v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3261 dsll v0,v1,9
+[0-9a-f]+ <[^>]*> f7e0 3261 dsll v0,v1,63
+[0-9a-f]+ <[^>]*> eb54 dsllv v0,v1
+[0-9a-f]+ <[^>]*> f000 e848 dsrl v0,0
+[0-9a-f]+ <[^>]*> e948 dsrl v0,1
+[0-9a-f]+ <[^>]*> e848 dsrl v0,8
+[0-9a-f]+ <[^>]*> f240 e848 dsrl v0,9
+[0-9a-f]+ <[^>]*> f7e0 e848 dsrl v0,63
+[0-9a-f]+ <[^>]*> eb56 dsrlv v0,v1
+[0-9a-f]+ <[^>]*> f000 e853 dsra v0,0
+[0-9a-f]+ <[^>]*> e953 dsra v0,1
+[0-9a-f]+ <[^>]*> e853 dsra v0,8
+[0-9a-f]+ <[^>]*> f240 e853 dsra v0,9
+[0-9a-f]+ <[^>]*> f7e0 e853 dsra v0,63
+[0-9a-f]+ <[^>]*> eb57 dsrav v0,v1
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> eb10 mfhi v1
+[0-9a-f]+ <[^>]*> f000 3260 sll v0,v1,0
+[0-9a-f]+ <[^>]*> 3264 sll v0,v1,1
+[0-9a-f]+ <[^>]*> 3260 sll v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3260 sll v0,v1,9
+[0-9a-f]+ <[^>]*> f7c0 3260 sll v0,v1,31
+[0-9a-f]+ <[^>]*> eb44 sllv v0,v1
+[0-9a-f]+ <[^>]*> f000 3262 srl v0,v1,0
+[0-9a-f]+ <[^>]*> 3266 srl v0,v1,1
+[0-9a-f]+ <[^>]*> 3262 srl v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3262 srl v0,v1,9
+[0-9a-f]+ <[^>]*> f7c0 3262 srl v0,v1,31
+[0-9a-f]+ <[^>]*> eb46 srlv v0,v1
+[0-9a-f]+ <[^>]*> f000 3263 sra v0,v1,0
+[0-9a-f]+ <[^>]*> 3267 sra v0,v1,1
+[0-9a-f]+ <[^>]*> 3263 sra v0,v1,8
+[0-9a-f]+ <[^>]*> f240 3263 sra v0,v1,9
+[0-9a-f]+ <[^>]*> f7c0 3263 sra v0,v1,31
+[0-9a-f]+ <[^>]*> eb47 srav v0,v1
+[0-9a-f]+ <[^>]*> ea7c dmult v0,v1
+[0-9a-f]+ <[^>]*> ea7d dmultu v0,v1
+[0-9a-f]+ <[^>]*> ea7e ddiv zero,v0,v1
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007d4 <insns2\+0xb4>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea7f ddivu zero,v0,v1
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007e0 <insns2\+0xc0>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea78 mult v0,v1
+[0-9a-f]+ <[^>]*> ea79 multu v0,v1
+[0-9a-f]+ <[^>]*> ea7a div zero,v0,v1
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007f0 <insns2\+0xd0>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea7b divu zero,v0,v1
+[0-9a-f]+ <[^>]*> 2b01 bnez v1,000007fc <insns2\+0xdc>
+[0-9a-f]+ <[^>]*> e8e5 break 7
+[0-9a-f]+ <[^>]*> ea12 mflo v0
+[0-9a-f]+ <[^>]*> ea00 jr v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> e820 jr ra
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> ea40 jalr v0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> f3ff 221b beqz v0,00000004 <insns1>
+[0-9a-f]+ <[^>]*> 2288 beqz v0,00000720 <insns2>
+[0-9a-f]+ <[^>]*> 222b beqz v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f080 220d beqz v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 2a15 bnez v0,00000004 <insns1>
+[0-9a-f]+ <[^>]*> 2a82 bnez v0,00000720 <insns2>
+[0-9a-f]+ <[^>]*> 2a25 bnez v0,00000868 <bar>
+[0-9a-f]+ <[^>]*> f080 2a07 bnez v0,00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 600f bteqz 00000004 <insns1>
+[0-9a-f]+ <[^>]*> f77f 601b bteqz 00000720 <insns2>
+[0-9a-f]+ <[^>]*> 601e bteqz 00000868 <bar>
+[0-9a-f]+ <[^>]*> f080 6000 bteqz 00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 6108 btnez 00000004 <insns1>
+[0-9a-f]+ <[^>]*> f77f 6114 btnez 00000720 <insns2>
+[0-9a-f]+ <[^>]*> 6117 btnez 00000868 <bar>
+[0-9a-f]+ <[^>]*> 617a btnez 00000930 <iuux>
+[0-9a-f]+ <[^>]*> f3ff 1002 b 00000004 <insns1>
+[0-9a-f]+ <[^>]*> 176f b 00000720 <insns2>
+[0-9a-f]+ <[^>]*> 1012 b 00000868 <bar>
+[0-9a-f]+ <[^>]*> 1075 b 00000930 <iuux>
+[0-9a-f]+ <[^>]*> e805 break 0
+[0-9a-f]+ <[^>]*> e825 break 1
+[0-9a-f]+ <[^>]*> efe5 break 63
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <data1>
+[ ]*[0-9a-f]+: R_MIPS16_26 extern
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> e809 entry
+[0-9a-f]+ <[^>]*> e909 entry a0
+[0-9a-f]+ <[^>]*> eb49 entry a0-a2,s0
+[0-9a-f]+ <[^>]*> e8a9 entry s0-s1,ra
+[0-9a-f]+ <[^>]*> e829 entry ra
+[0-9a-f]+ <[^>]*> ef09 exit
+[0-9a-f]+ <[^>]*> ef49 exit s0
+[0-9a-f]+ <[^>]*> efa9 exit s0-s1,ra
+[0-9a-f]+ <[^>]*> ef29 exit ra
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+ \.\.\.
diff --git a/gas/testsuite/gas/mips/mips16-sub.s b/gas/testsuite/gas/mips/mips16-sub.s
new file mode 100644
index 0000000..fa44e00
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16-sub.s
@@ -0,0 +1,2 @@
+ .set mips3
+ .include "mips16.s"
diff --git a/gas/testsuite/gas/mips/mips16e-32@mips16-sub.d b/gas/testsuite/gas/mips/mips16e-32@mips16-sub.d
new file mode 100644
index 0000000..78dbdf6
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16e-32@mips16-sub.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16 ISA subset disassembly
+#source: mips16-sub.s
+#dump: mips16-32@mips16-sub.d
diff --git a/gas/testsuite/gas/mips/mips16e-32@mips16e-64-sub.d b/gas/testsuite/gas/mips/mips16e-32@mips16e-64-sub.d
new file mode 100644
index 0000000..7db304d
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16e-32@mips16e-64-sub.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e ISA subset disassembly
+#source: mips16e-64-sub.s
+#dump: mips16-32@mips16e-64-sub.d
diff --git a/gas/testsuite/gas/mips/mips16e-64-sub.d b/gas/testsuite/gas/mips/mips16e-64-sub.d
new file mode 100644
index 0000000..b64f0b7
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16e-64-sub.d
@@ -0,0 +1,15 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e ISA subset disassembly
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> ecd1 sew a0
+[0-9a-f]+ <[^>]*> ec51 zew a0
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6500 nop
diff --git a/gas/testsuite/gas/mips/mips16e-64-sub.s b/gas/testsuite/gas/mips/mips16e-64-sub.s
new file mode 100644
index 0000000..43dd8df
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16e-64-sub.s
@@ -0,0 +1,2 @@
+ .set mips64
+ .include "mips16e-64.s"
diff --git a/gas/testsuite/gas/mips/mips16e-sub.d b/gas/testsuite/gas/mips/mips16e-sub.d
new file mode 100644
index 0000000..9bfb13e
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16e-sub.d
@@ -0,0 +1,49 @@
+#objdump: -dr --prefix-address --show-raw-insn
+#as: -32 -I$srcdir/$subdir
+#name: MIPS16e 64-bit ISA subset disassembly
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> e8a0 jrc ra
+[0-9a-f]+ <[^>]*> ea80 jrc v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> e8a0 jrc ra
+[0-9a-f]+ <[^>]*> ea80 jrc v0
+[0-9a-f]+ <[^>]*> e8a0 jrc ra
+[0-9a-f]+ <[^>]*> ea80 jrc v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <stuff>
+[ ]*[0-9a-f]+: R_MIPS16_26 foo
+[0-9a-f]+ <[^>]*> 4281 addiu a0,v0,1
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 <stuff>
+[ ]*[0-9a-f]+: R_MIPS16_26 foo
+[0-9a-f]+ <[^>]*> 6500 nop
+[0-9a-f]+ <[^>]*> 6782 move a0,v0
+[0-9a-f]+ <[^>]*> eac0 jalrc v0
+[0-9a-f]+ <[^>]*> 6782 move a0,v0
+[0-9a-f]+ <[^>]*> ea80 jrc v0
+[0-9a-f]+ <[^>]*> 6782 move a0,v0
+[0-9a-f]+ <[^>]*> e8a0 jrc ra
+[0-9a-f]+ <[^>]*> ec91 seb a0
+[0-9a-f]+ <[^>]*> ecb1 seh a0
+[0-9a-f]+ <[^>]*> ec11 zeb a0
+[0-9a-f]+ <[^>]*> ec31 zeh a0
+[0-9a-f]+ <[^>]*> 64c1 save 8,ra
+[0-9a-f]+ <[^>]*> 64c0 save 128,ra
+[0-9a-f]+ <[^>]*> 64e2 save 16,ra,s0
+[0-9a-f]+ <[^>]*> 64f2 save 16,ra,s0-s1
+[0-9a-f]+ <[^>]*> 64df save 120,ra,s1
+[0-9a-f]+ <[^>]*> f010 64e1 save 136,ra,s0
+[0-9a-f]+ <[^>]*> f004 64f2 save a0,16,ra,s0-s1
+[0-9a-f]+ <[^>]*> f308 64e2 save a0-a1,16,ra,s0,s2-s4
+[0-9a-f]+ <[^>]*> f30c 64f2 save a0-a2,16,ra,s0-s4
+[0-9a-f]+ <[^>]*> f70e 64d2 save a0-a3,16,ra,s1-s8
+[0-9a-f]+ <[^>]*> f30a 64e2 save a0-a1,16,ra,s0,s2-s4,a2-a3
+[0-9a-f]+ <[^>]*> 6441 restore 8,ra
diff --git a/gas/testsuite/gas/mips/mips16e-sub.s b/gas/testsuite/gas/mips/mips16e-sub.s
new file mode 100644
index 0000000..026d59a
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips16e-sub.s
@@ -0,0 +1,2 @@
+ .set mips32
+ .include "mips16e.s"
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index bffa445..d009f23 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,12 @@
2016-12-20 Maciej W. Rozycki <macro@imgtec.com>
+ * mips-dis.c (mips_arch_choices): Use ISA_MIPS64 rather than
+ ISA_MIPS3 as the `isa' selection in the `bfd_mach_mips16' entry.
+ (print_insn_mips16): Check opcode entries for validity against
+ the ISA level and ASE set selected.
+
+2016-12-20 Maciej W. Rozycki <macro@imgtec.com>
+
* mips-dis.c (print_mips16_insn_arg): Always handle `extend' and
`insn' together, with `extend' as the high-order 16 bits.
(match_kind): New enum.
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
index 609e0ba..9cf737d 100644
--- a/opcodes/mips-dis.c
+++ b/opcodes/mips-dis.c
@@ -658,7 +658,7 @@ const struct mips_arch_choice mips_arch_choices[] =
/* This entry, mips16, is here only for ISA/processor selection; do
not print its name. */
- { "", 1, bfd_mach_mips16, CPU_MIPS16, ISA_MIPS3, 0,
+ { "", 1, bfd_mach_mips16, CPU_MIPS16, ISA_MIPS64, 0,
mips_cp0_names_numeric, NULL, 0, mips_cp1_names_numeric,
mips_hwr_names_numeric },
};
@@ -2106,6 +2106,9 @@ print_insn_mips16 (bfd_vma memaddr, struct disassemble_info *info)
{
enum match_kind match;
+ if (!opcode_is_member (op, mips_isa, mips_ase, mips_processor))
+ continue;
+
if (op->pinfo == INSN_MACRO
|| (no_aliases && (op->pinfo2 & INSN2_ALIAS)))
match = MATCH_NONE;