MIPS16/opcodes: Respect ISA and ASE in disassembly
authorMaciej W. Rozycki <macro@imgtec.com>
Tue, 20 Dec 2016 11:38:53 +0000 (11:38 +0000)
committerMaciej W. Rozycki <macro@imgtec.com>
Tue, 20 Dec 2016 12:05:48 +0000 (12:05 +0000)
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.

19 files changed:
binutils/ChangeLog
binutils/testsuite/binutils-all/mips/mips16-undecoded.s
gas/ChangeLog
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/mips16-32@mips16-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-32@mips16e-64-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-32@mips16e-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-64@mips16e-64-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-64@mips16e-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-sub.s [new file with mode: 0644]
gas/testsuite/gas/mips/mips16e-32@mips16-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16e-32@mips16e-64-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16e-64-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16e-64-sub.s [new file with mode: 0644]
gas/testsuite/gas/mips/mips16e-sub.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16e-sub.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/mips-dis.c

index 6e9de9b..bcbbe67 100644 (file)
@@ -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.
 
index 2736ae4..e17c45d 100644 (file)
@@ -1,5 +1,5 @@
        .text
-       .set    mips3
+       .module mips3
        .set    mips16
        .globl  foo
        .ent    foo
index 0652b1a..3b86e47 100644 (file)
@@ -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.
 
index 06c5ea8..cd62e44 100644 (file)
@@ -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 (file)
index 0000000..83750ae
--- /dev/null
@@ -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 (file)
index 0000000..953a1d8
--- /dev/null
@@ -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 (file)
index 0000000..697d93c
--- /dev/null
@@ -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 (file)
index 0000000..7db304d
--- /dev/null
@@ -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 (file)
index 0000000..e68784b
--- /dev/null
@@ -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 (file)
index 0000000..0ccae66
--- /dev/null
@@ -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 (file)
index 0000000..fa44e00
--- /dev/null
@@ -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 (file)
index 0000000..78dbdf6
--- /dev/null
@@ -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 (file)
index 0000000..7db304d
--- /dev/null
@@ -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 (file)
index 0000000..b64f0b7
--- /dev/null
@@ -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 (file)
index 0000000..43dd8df
--- /dev/null
@@ -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 (file)
index 0000000..9bfb13e
--- /dev/null
@@ -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 (file)
index 0000000..026d59a
--- /dev/null
@@ -0,0 +1,2 @@
+       .set            mips32
+       .include        "mips16e.s"
index bffa445..d009f23 100644 (file)
@@ -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.
index 609e0ba..9cf737d 100644 (file)
@@ -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;