[binutils-gdb] MIPS/GAS/testsuite: Add C0, C1, C2, C3 opcode tests

Maciej W. Rozycki macro@sourceware.org
Sat May 29 01:29:30 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=28b7d4f1c98fe62fb1d8f51c18dddca174820962

commit 28b7d4f1c98fe62fb1d8f51c18dddca174820962
Author: Maciej W. Rozycki <macro@orcam.me.uk>
Date:   Sat May 29 03:26:33 2021 +0200

    MIPS/GAS/testsuite: Add C0, C1, C2, C3 opcode tests
    
    Add tests for the generic C0, C1, C2, C3 coprocessor instructions.
    
            gas/
            * testsuite/gas/mips/c0.d: New test.
            * testsuite/gas/mips/mips1@c0.d: New test.
            * testsuite/gas/mips/mips2@c0.d: New test.
            * testsuite/gas/mips/mips3@c0.d: New test.
            * testsuite/gas/mips/mips4@c0.d: New test.
            * testsuite/gas/mips/mips5@c0.d: New test.
            * testsuite/gas/mips/mips32@c0.d: New test.
            * testsuite/gas/mips/mips64@c0.d: New test.
            * testsuite/gas/mips/r3000@c0.d: New test.
            * testsuite/gas/mips/r3900@c0.d: New test.
            * testsuite/gas/mips/r4000@c0.d: New test.
            * testsuite/gas/mips/vr5400@c0.d: New test.
            * testsuite/gas/mips/r5900@c0.d: New test.
            * testsuite/gas/mips/sb1@c0.d: New test.
            * testsuite/gas/mips/interaptiv-mr2@c0.d: New test.
            * testsuite/gas/mips/octeon@c0.d: New test.
            * testsuite/gas/mips/xlr@c0.d: New test.
            * testsuite/gas/mips/c1.d: New test.
            * testsuite/gas/mips/mips1@c1.d: New test.
            * testsuite/gas/mips/mips2@c1.d: New test.
            * testsuite/gas/mips/mips3@c1.d: New test.
            * testsuite/gas/mips/mips4@c1.d: New test.
            * testsuite/gas/mips/mips5@c1.d: New test.
            * testsuite/gas/mips/mips32@c1.d: New test.
            * testsuite/gas/mips/mips64@c1.d: New test.
            * testsuite/gas/mips/mipsr6@c1.d: New test.
            * testsuite/gas/mips/r3000@c1.d: New test.
            * testsuite/gas/mips/r3900@c1.d: New test.
            * testsuite/gas/mips/r4000@c1.d: New test.
            * testsuite/gas/mips/vr5400@c1.d: New test.
            * testsuite/gas/mips/r5900@c1.d: New test.
            * testsuite/gas/mips/sb1@c1.d: New test.
            * testsuite/gas/mips/interaptiv-mr2@c1.d: New test.
            * testsuite/gas/mips/octeon@c1.d: New test.
            * testsuite/gas/mips/xlr@c1.d: New test.
            * testsuite/gas/mips/c2.d: New test.
            * testsuite/gas/mips/vr5400@c2.d: New test.
            * testsuite/gas/mips/r5900@c2.d: New test.
            * testsuite/gas/mips/octeon@c2.d: New test.
            * testsuite/gas/mips/c3.d: New test.
            * testsuite/gas/mips/mips1@c3.d: New test.
            * testsuite/gas/mips/mips2@c3.d: New test.
            * testsuite/gas/mips/mips32@c3.d: New test.
            * testsuite/gas/mips/r3000@c3.d: New test.
            * testsuite/gas/mips/r3900@c3.d: New test.
            * testsuite/gas/mips/c0.l: New test stderr output.
            * testsuite/gas/mips/c2.l: New test stderr output.
            * testsuite/gas/mips/c3.l: New test stderr output.
            * testsuite/gas/mips/c0.s: New test source.
            * testsuite/gas/mips/c1.s: New test source.
            * testsuite/gas/mips/c2.s: New test source.
            * testsuite/gas/mips/c3.s: New test source.
            * testsuite/gas/mips/mips.exp: Run the new tests.

Diff:
---
 gas/ChangeLog                              |  56 ++++++
 gas/testsuite/gas/mips/c0.d                | 264 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c0.l                | 257 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c0.s                | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c1.d                | 266 +++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c1.s                | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c2.d                | 264 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c2.l                | 257 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c2.s                | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c3.d                |   4 +
 gas/testsuite/gas/mips/c3.l                | 257 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/c3.s                | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/interaptiv-mr2@c0.d | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/interaptiv-mr2@c1.d |   5 +
 gas/testsuite/gas/mips/mips.exp            |   9 +
 gas/testsuite/gas/mips/mips1@c0.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips1@c1.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips1@c3.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips2@c0.d          |   5 +
 gas/testsuite/gas/mips/mips2@c1.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips2@c3.d          |   5 +
 gas/testsuite/gas/mips/mips32@c0.d         | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips32@c1.d         | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips32@c3.d         |   5 +
 gas/testsuite/gas/mips/mips3@c0.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips3@c1.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips4@c0.d          |   5 +
 gas/testsuite/gas/mips/mips4@c1.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips5@c0.d          |   5 +
 gas/testsuite/gas/mips/mips5@c1.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips64@c0.d         |   5 +
 gas/testsuite/gas/mips/mips64@c1.d         | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/mipsr6@c1.d         | 266 +++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/octeon@c0.d         |   5 +
 gas/testsuite/gas/mips/octeon@c1.d         | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/octeon@c2.d         |   5 +
 gas/testsuite/gas/mips/r3000@c0.d          |   5 +
 gas/testsuite/gas/mips/r3000@c1.d          |   5 +
 gas/testsuite/gas/mips/r3000@c3.d          |   5 +
 gas/testsuite/gas/mips/r3900@c0.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/r3900@c1.d          |   5 +
 gas/testsuite/gas/mips/r3900@c3.d          |   5 +
 gas/testsuite/gas/mips/r4000@c0.d          |   5 +
 gas/testsuite/gas/mips/r4000@c1.d          |   5 +
 gas/testsuite/gas/mips/r5900@c0.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/r5900@c1.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/r5900@c2.d          | 265 ++++++++++++++++++++++++++++
 gas/testsuite/gas/mips/sb1@c0.d            |   5 +
 gas/testsuite/gas/mips/sb1@c1.d            |   5 +
 gas/testsuite/gas/mips/vr5400@c0.d         |   5 +
 gas/testsuite/gas/mips/vr5400@c1.d         |   5 +
 gas/testsuite/gas/mips/vr5400@c2.d         |   5 +
 gas/testsuite/gas/mips/xlr@c0.d            |   5 +
 gas/testsuite/gas/mips/xlr@c1.d            |   5 +
 54 files changed, 7580 insertions(+)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 94690feb191..98c22efba1c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,59 @@
+2021-05-29  Maciej W. Rozycki  <macro@orcam.me.uk>
+
+	* testsuite/gas/mips/c0.d: New test.
+	* testsuite/gas/mips/mips1@c0.d: New test.
+	* testsuite/gas/mips/mips2@c0.d: New test.
+	* testsuite/gas/mips/mips3@c0.d: New test.
+	* testsuite/gas/mips/mips4@c0.d: New test.
+	* testsuite/gas/mips/mips5@c0.d: New test.
+	* testsuite/gas/mips/mips32@c0.d: New test.
+	* testsuite/gas/mips/mips64@c0.d: New test.
+	* testsuite/gas/mips/r3000@c0.d: New test.
+	* testsuite/gas/mips/r3900@c0.d: New test.
+	* testsuite/gas/mips/r4000@c0.d: New test.
+	* testsuite/gas/mips/vr5400@c0.d: New test.
+	* testsuite/gas/mips/r5900@c0.d: New test.
+	* testsuite/gas/mips/sb1@c0.d: New test.
+	* testsuite/gas/mips/interaptiv-mr2@c0.d: New test.
+	* testsuite/gas/mips/octeon@c0.d: New test.
+	* testsuite/gas/mips/xlr@c0.d: New test.
+	* testsuite/gas/mips/c1.d: New test.
+	* testsuite/gas/mips/mips1@c1.d: New test.
+	* testsuite/gas/mips/mips2@c1.d: New test.
+	* testsuite/gas/mips/mips3@c1.d: New test.
+	* testsuite/gas/mips/mips4@c1.d: New test.
+	* testsuite/gas/mips/mips5@c1.d: New test.
+	* testsuite/gas/mips/mips32@c1.d: New test.
+	* testsuite/gas/mips/mips64@c1.d: New test.
+	* testsuite/gas/mips/mipsr6@c1.d: New test.
+	* testsuite/gas/mips/r3000@c1.d: New test.
+	* testsuite/gas/mips/r3900@c1.d: New test.
+	* testsuite/gas/mips/r4000@c1.d: New test.
+	* testsuite/gas/mips/vr5400@c1.d: New test.
+	* testsuite/gas/mips/r5900@c1.d: New test.
+	* testsuite/gas/mips/sb1@c1.d: New test.
+	* testsuite/gas/mips/interaptiv-mr2@c1.d: New test.
+	* testsuite/gas/mips/octeon@c1.d: New test.
+	* testsuite/gas/mips/xlr@c1.d: New test.
+	* testsuite/gas/mips/c2.d: New test.
+	* testsuite/gas/mips/vr5400@c2.d: New test.
+	* testsuite/gas/mips/r5900@c2.d: New test.
+	* testsuite/gas/mips/octeon@c2.d: New test.
+	* testsuite/gas/mips/c3.d: New test.
+	* testsuite/gas/mips/mips1@c3.d: New test.
+	* testsuite/gas/mips/mips2@c3.d: New test.
+	* testsuite/gas/mips/mips32@c3.d: New test.
+	* testsuite/gas/mips/r3000@c3.d: New test.
+	* testsuite/gas/mips/r3900@c3.d: New test.
+	* testsuite/gas/mips/c0.l: New test stderr output.
+	* testsuite/gas/mips/c2.l: New test stderr output.
+	* testsuite/gas/mips/c3.l: New test stderr output.
+	* testsuite/gas/mips/c0.s: New test source.
+	* testsuite/gas/mips/c1.s: New test source.
+	* testsuite/gas/mips/c2.s: New test source.
+	* testsuite/gas/mips/c3.s: New test source.
+	* testsuite/gas/mips/mips.exp: Run the new tests.
+
 2021-05-29  Maciej W. Rozycki  <macro@orcam.me.uk>
 
 	* testsuite/gas/mips/mips.exp: Run RFE test across all ISAs.
diff --git a/gas/testsuite/gas/mips/c0.d b/gas/testsuite/gas/mips/c0.d
new file mode 100644
index 00000000000..a09ee9c248b
--- /dev/null
+++ b/gas/testsuite/gas/mips/c0.d
@@ -0,0 +1,264 @@
+#objdump: -d --prefix-addresses --show-raw-insn
+#name: MIPS C0/COP0 instructions
+#as: -32
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 42000000 	c0	0x0
+[0-9a-f]+ <[^>]*> 42000001 	tlbr
+[0-9a-f]+ <[^>]*> 42000002 	tlbwi
+[0-9a-f]+ <[^>]*> 42000003 	tlbinv
+[0-9a-f]+ <[^>]*> 42000004 	tlbinvf
+[0-9a-f]+ <[^>]*> 42000005 	c0	0x5
+[0-9a-f]+ <[^>]*> 42000006 	tlbwr
+[0-9a-f]+ <[^>]*> 42000007 	c0	0x7
+[0-9a-f]+ <[^>]*> 42000008 	tlbp
+[0-9a-f]+ <[^>]*> 42000009 	tlbgr
+[0-9a-f]+ <[^>]*> 4200000a 	tlbgwi
+[0-9a-f]+ <[^>]*> 4200000b 	tlbginv
+[0-9a-f]+ <[^>]*> 4200000c 	tlbginvf
+[0-9a-f]+ <[^>]*> 4200000d 	c0	0xd
+[0-9a-f]+ <[^>]*> 4200000e 	tlbgwr
+[0-9a-f]+ <[^>]*> 4200000f 	c0	0xf
+[0-9a-f]+ <[^>]*> 42000010 	tlbgp
+[0-9a-f]+ <[^>]*> 42000011 	c0	0x11
+[0-9a-f]+ <[^>]*> 42000012 	c0	0x12
+[0-9a-f]+ <[^>]*> 42000013 	c0	0x13
+[0-9a-f]+ <[^>]*> 42000014 	c0	0x14
+[0-9a-f]+ <[^>]*> 42000015 	c0	0x15
+[0-9a-f]+ <[^>]*> 42000016 	c0	0x16
+[0-9a-f]+ <[^>]*> 42000017 	c0	0x17
+[0-9a-f]+ <[^>]*> 42000018 	eret
+[0-9a-f]+ <[^>]*> 42000019 	c0	0x19
+[0-9a-f]+ <[^>]*> 4200001a 	c0	0x1a
+[0-9a-f]+ <[^>]*> 4200001b 	c0	0x1b
+[0-9a-f]+ <[^>]*> 4200001c 	c0	0x1c
+[0-9a-f]+ <[^>]*> 4200001d 	c0	0x1d
+[0-9a-f]+ <[^>]*> 4200001e 	c0	0x1e
+[0-9a-f]+ <[^>]*> 4200001f 	deret
+[0-9a-f]+ <[^>]*> 42000020 	wait
+[0-9a-f]+ <[^>]*> 42000021 	c0	0x21
+[0-9a-f]+ <[^>]*> 42000022 	c0	0x22
+[0-9a-f]+ <[^>]*> 42000023 	c0	0x23
+[0-9a-f]+ <[^>]*> 42000024 	c0	0x24
+[0-9a-f]+ <[^>]*> 42000025 	c0	0x25
+[0-9a-f]+ <[^>]*> 42000026 	c0	0x26
+[0-9a-f]+ <[^>]*> 42000027 	c0	0x27
+[0-9a-f]+ <[^>]*> 42000028 	hypcall
+[0-9a-f]+ <[^>]*> 42000029 	c0	0x29
+[0-9a-f]+ <[^>]*> 4200002a 	c0	0x2a
+[0-9a-f]+ <[^>]*> 4200002b 	c0	0x2b
+[0-9a-f]+ <[^>]*> 4200002c 	c0	0x2c
+[0-9a-f]+ <[^>]*> 4200002d 	c0	0x2d
+[0-9a-f]+ <[^>]*> 4200002e 	c0	0x2e
+[0-9a-f]+ <[^>]*> 4200002f 	c0	0x2f
+[0-9a-f]+ <[^>]*> 42000030 	c0	0x30
+[0-9a-f]+ <[^>]*> 42000031 	c0	0x31
+[0-9a-f]+ <[^>]*> 42000032 	c0	0x32
+[0-9a-f]+ <[^>]*> 42000033 	c0	0x33
+[0-9a-f]+ <[^>]*> 42000034 	c0	0x34
+[0-9a-f]+ <[^>]*> 42000035 	c0	0x35
+[0-9a-f]+ <[^>]*> 42000036 	c0	0x36
+[0-9a-f]+ <[^>]*> 42000037 	c0	0x37
+[0-9a-f]+ <[^>]*> 42000038 	iret
+[0-9a-f]+ <[^>]*> 42000039 	c0	0x39
+[0-9a-f]+ <[^>]*> 4200003a 	c0	0x3a
+[0-9a-f]+ <[^>]*> 4200003b 	c0	0x3b
+[0-9a-f]+ <[^>]*> 4200003c 	c0	0x3c
+[0-9a-f]+ <[^>]*> 4200003d 	c0	0x3d
+[0-9a-f]+ <[^>]*> 4200003e 	c0	0x3e
+[0-9a-f]+ <[^>]*> 4200003f 	c0	0x3f
+[0-9a-f]+ <[^>]*> 43000000 	c0	0x1000000
+[0-9a-f]+ <[^>]*> 43000001 	c0	0x1000001
+[0-9a-f]+ <[^>]*> 43000002 	c0	0x1000002
+[0-9a-f]+ <[^>]*> 43000003 	c0	0x1000003
+[0-9a-f]+ <[^>]*> 43000004 	c0	0x1000004
+[0-9a-f]+ <[^>]*> 43000005 	c0	0x1000005
+[0-9a-f]+ <[^>]*> 43000006 	c0	0x1000006
+[0-9a-f]+ <[^>]*> 43000007 	c0	0x1000007
+[0-9a-f]+ <[^>]*> 43000008 	c0	0x1000008
+[0-9a-f]+ <[^>]*> 43000009 	c0	0x1000009
+[0-9a-f]+ <[^>]*> 4300000a 	c0	0x100000a
+[0-9a-f]+ <[^>]*> 4300000b 	c0	0x100000b
+[0-9a-f]+ <[^>]*> 4300000c 	c0	0x100000c
+[0-9a-f]+ <[^>]*> 4300000d 	c0	0x100000d
+[0-9a-f]+ <[^>]*> 4300000e 	c0	0x100000e
+[0-9a-f]+ <[^>]*> 4300000f 	c0	0x100000f
+[0-9a-f]+ <[^>]*> 43000010 	c0	0x1000010
+[0-9a-f]+ <[^>]*> 43000011 	c0	0x1000011
+[0-9a-f]+ <[^>]*> 43000012 	c0	0x1000012
+[0-9a-f]+ <[^>]*> 43000013 	c0	0x1000013
+[0-9a-f]+ <[^>]*> 43000014 	c0	0x1000014
+[0-9a-f]+ <[^>]*> 43000015 	c0	0x1000015
+[0-9a-f]+ <[^>]*> 43000016 	c0	0x1000016
+[0-9a-f]+ <[^>]*> 43000017 	c0	0x1000017
+[0-9a-f]+ <[^>]*> 43000018 	c0	0x1000018
+[0-9a-f]+ <[^>]*> 43000019 	c0	0x1000019
+[0-9a-f]+ <[^>]*> 4300001a 	c0	0x100001a
+[0-9a-f]+ <[^>]*> 4300001b 	c0	0x100001b
+[0-9a-f]+ <[^>]*> 4300001c 	c0	0x100001c
+[0-9a-f]+ <[^>]*> 4300001d 	c0	0x100001d
+[0-9a-f]+ <[^>]*> 4300001e 	c0	0x100001e
+[0-9a-f]+ <[^>]*> 4300001f 	c0	0x100001f
+[0-9a-f]+ <[^>]*> 43000020 	wait	0x40000
+[0-9a-f]+ <[^>]*> 43000021 	c0	0x1000021
+[0-9a-f]+ <[^>]*> 43000022 	c0	0x1000022
+[0-9a-f]+ <[^>]*> 43000023 	c0	0x1000023
+[0-9a-f]+ <[^>]*> 43000024 	c0	0x1000024
+[0-9a-f]+ <[^>]*> 43000025 	c0	0x1000025
+[0-9a-f]+ <[^>]*> 43000026 	c0	0x1000026
+[0-9a-f]+ <[^>]*> 43000027 	c0	0x1000027
+[0-9a-f]+ <[^>]*> 43000028 	c0	0x1000028
+[0-9a-f]+ <[^>]*> 43000029 	c0	0x1000029
+[0-9a-f]+ <[^>]*> 4300002a 	c0	0x100002a
+[0-9a-f]+ <[^>]*> 4300002b 	c0	0x100002b
+[0-9a-f]+ <[^>]*> 4300002c 	c0	0x100002c
+[0-9a-f]+ <[^>]*> 4300002d 	c0	0x100002d
+[0-9a-f]+ <[^>]*> 4300002e 	c0	0x100002e
+[0-9a-f]+ <[^>]*> 4300002f 	c0	0x100002f
+[0-9a-f]+ <[^>]*> 43000030 	c0	0x1000030
+[0-9a-f]+ <[^>]*> 43000031 	c0	0x1000031
+[0-9a-f]+ <[^>]*> 43000032 	c0	0x1000032
+[0-9a-f]+ <[^>]*> 43000033 	c0	0x1000033
+[0-9a-f]+ <[^>]*> 43000034 	c0	0x1000034
+[0-9a-f]+ <[^>]*> 43000035 	c0	0x1000035
+[0-9a-f]+ <[^>]*> 43000036 	c0	0x1000036
+[0-9a-f]+ <[^>]*> 43000037 	c0	0x1000037
+[0-9a-f]+ <[^>]*> 43000038 	c0	0x1000038
+[0-9a-f]+ <[^>]*> 43000039 	c0	0x1000039
+[0-9a-f]+ <[^>]*> 4300003a 	c0	0x100003a
+[0-9a-f]+ <[^>]*> 4300003b 	c0	0x100003b
+[0-9a-f]+ <[^>]*> 4300003c 	c0	0x100003c
+[0-9a-f]+ <[^>]*> 4300003d 	c0	0x100003d
+[0-9a-f]+ <[^>]*> 4300003e 	c0	0x100003e
+[0-9a-f]+ <[^>]*> 4300003f 	c0	0x100003f
+[0-9a-f]+ <[^>]*> 42000000 	c0	0x0
+[0-9a-f]+ <[^>]*> 42000001 	tlbr
+[0-9a-f]+ <[^>]*> 42000002 	tlbwi
+[0-9a-f]+ <[^>]*> 42000003 	tlbinv
+[0-9a-f]+ <[^>]*> 42000004 	tlbinvf
+[0-9a-f]+ <[^>]*> 42000005 	c0	0x5
+[0-9a-f]+ <[^>]*> 42000006 	tlbwr
+[0-9a-f]+ <[^>]*> 42000007 	c0	0x7
+[0-9a-f]+ <[^>]*> 42000008 	tlbp
+[0-9a-f]+ <[^>]*> 42000009 	tlbgr
+[0-9a-f]+ <[^>]*> 4200000a 	tlbgwi
+[0-9a-f]+ <[^>]*> 4200000b 	tlbginv
+[0-9a-f]+ <[^>]*> 4200000c 	tlbginvf
+[0-9a-f]+ <[^>]*> 4200000d 	c0	0xd
+[0-9a-f]+ <[^>]*> 4200000e 	tlbgwr
+[0-9a-f]+ <[^>]*> 4200000f 	c0	0xf
+[0-9a-f]+ <[^>]*> 42000010 	tlbgp
+[0-9a-f]+ <[^>]*> 42000011 	c0	0x11
+[0-9a-f]+ <[^>]*> 42000012 	c0	0x12
+[0-9a-f]+ <[^>]*> 42000013 	c0	0x13
+[0-9a-f]+ <[^>]*> 42000014 	c0	0x14
+[0-9a-f]+ <[^>]*> 42000015 	c0	0x15
+[0-9a-f]+ <[^>]*> 42000016 	c0	0x16
+[0-9a-f]+ <[^>]*> 42000017 	c0	0x17
+[0-9a-f]+ <[^>]*> 42000018 	eret
+[0-9a-f]+ <[^>]*> 42000019 	c0	0x19
+[0-9a-f]+ <[^>]*> 4200001a 	c0	0x1a
+[0-9a-f]+ <[^>]*> 4200001b 	c0	0x1b
+[0-9a-f]+ <[^>]*> 4200001c 	c0	0x1c
+[0-9a-f]+ <[^>]*> 4200001d 	c0	0x1d
+[0-9a-f]+ <[^>]*> 4200001e 	c0	0x1e
+[0-9a-f]+ <[^>]*> 4200001f 	deret
+[0-9a-f]+ <[^>]*> 42000020 	wait
+[0-9a-f]+ <[^>]*> 42000021 	c0	0x21
+[0-9a-f]+ <[^>]*> 42000022 	c0	0x22
+[0-9a-f]+ <[^>]*> 42000023 	c0	0x23
+[0-9a-f]+ <[^>]*> 42000024 	c0	0x24
+[0-9a-f]+ <[^>]*> 42000025 	c0	0x25
+[0-9a-f]+ <[^>]*> 42000026 	c0	0x26
+[0-9a-f]+ <[^>]*> 42000027 	c0	0x27
+[0-9a-f]+ <[^>]*> 42000028 	hypcall
+[0-9a-f]+ <[^>]*> 42000029 	c0	0x29
+[0-9a-f]+ <[^>]*> 4200002a 	c0	0x2a
+[0-9a-f]+ <[^>]*> 4200002b 	c0	0x2b
+[0-9a-f]+ <[^>]*> 4200002c 	c0	0x2c
+[0-9a-f]+ <[^>]*> 4200002d 	c0	0x2d
+[0-9a-f]+ <[^>]*> 4200002e 	c0	0x2e
+[0-9a-f]+ <[^>]*> 4200002f 	c0	0x2f
+[0-9a-f]+ <[^>]*> 42000030 	c0	0x30
+[0-9a-f]+ <[^>]*> 42000031 	c0	0x31
+[0-9a-f]+ <[^>]*> 42000032 	c0	0x32
+[0-9a-f]+ <[^>]*> 42000033 	c0	0x33
+[0-9a-f]+ <[^>]*> 42000034 	c0	0x34
+[0-9a-f]+ <[^>]*> 42000035 	c0	0x35
+[0-9a-f]+ <[^>]*> 42000036 	c0	0x36
+[0-9a-f]+ <[^>]*> 42000037 	c0	0x37
+[0-9a-f]+ <[^>]*> 42000038 	iret
+[0-9a-f]+ <[^>]*> 42000039 	c0	0x39
+[0-9a-f]+ <[^>]*> 4200003a 	c0	0x3a
+[0-9a-f]+ <[^>]*> 4200003b 	c0	0x3b
+[0-9a-f]+ <[^>]*> 4200003c 	c0	0x3c
+[0-9a-f]+ <[^>]*> 4200003d 	c0	0x3d
+[0-9a-f]+ <[^>]*> 4200003e 	c0	0x3e
+[0-9a-f]+ <[^>]*> 4200003f 	c0	0x3f
+[0-9a-f]+ <[^>]*> 43000000 	c0	0x1000000
+[0-9a-f]+ <[^>]*> 43000001 	c0	0x1000001
+[0-9a-f]+ <[^>]*> 43000002 	c0	0x1000002
+[0-9a-f]+ <[^>]*> 43000003 	c0	0x1000003
+[0-9a-f]+ <[^>]*> 43000004 	c0	0x1000004
+[0-9a-f]+ <[^>]*> 43000005 	c0	0x1000005
+[0-9a-f]+ <[^>]*> 43000006 	c0	0x1000006
+[0-9a-f]+ <[^>]*> 43000007 	c0	0x1000007
+[0-9a-f]+ <[^>]*> 43000008 	c0	0x1000008
+[0-9a-f]+ <[^>]*> 43000009 	c0	0x1000009
+[0-9a-f]+ <[^>]*> 4300000a 	c0	0x100000a
+[0-9a-f]+ <[^>]*> 4300000b 	c0	0x100000b
+[0-9a-f]+ <[^>]*> 4300000c 	c0	0x100000c
+[0-9a-f]+ <[^>]*> 4300000d 	c0	0x100000d
+[0-9a-f]+ <[^>]*> 4300000e 	c0	0x100000e
+[0-9a-f]+ <[^>]*> 4300000f 	c0	0x100000f
+[0-9a-f]+ <[^>]*> 43000010 	c0	0x1000010
+[0-9a-f]+ <[^>]*> 43000011 	c0	0x1000011
+[0-9a-f]+ <[^>]*> 43000012 	c0	0x1000012
+[0-9a-f]+ <[^>]*> 43000013 	c0	0x1000013
+[0-9a-f]+ <[^>]*> 43000014 	c0	0x1000014
+[0-9a-f]+ <[^>]*> 43000015 	c0	0x1000015
+[0-9a-f]+ <[^>]*> 43000016 	c0	0x1000016
+[0-9a-f]+ <[^>]*> 43000017 	c0	0x1000017
+[0-9a-f]+ <[^>]*> 43000018 	c0	0x1000018
+[0-9a-f]+ <[^>]*> 43000019 	c0	0x1000019
+[0-9a-f]+ <[^>]*> 4300001a 	c0	0x100001a
+[0-9a-f]+ <[^>]*> 4300001b 	c0	0x100001b
+[0-9a-f]+ <[^>]*> 4300001c 	c0	0x100001c
+[0-9a-f]+ <[^>]*> 4300001d 	c0	0x100001d
+[0-9a-f]+ <[^>]*> 4300001e 	c0	0x100001e
+[0-9a-f]+ <[^>]*> 4300001f 	c0	0x100001f
+[0-9a-f]+ <[^>]*> 43000020 	wait	0x40000
+[0-9a-f]+ <[^>]*> 43000021 	c0	0x1000021
+[0-9a-f]+ <[^>]*> 43000022 	c0	0x1000022
+[0-9a-f]+ <[^>]*> 43000023 	c0	0x1000023
+[0-9a-f]+ <[^>]*> 43000024 	c0	0x1000024
+[0-9a-f]+ <[^>]*> 43000025 	c0	0x1000025
+[0-9a-f]+ <[^>]*> 43000026 	c0	0x1000026
+[0-9a-f]+ <[^>]*> 43000027 	c0	0x1000027
+[0-9a-f]+ <[^>]*> 43000028 	c0	0x1000028
+[0-9a-f]+ <[^>]*> 43000029 	c0	0x1000029
+[0-9a-f]+ <[^>]*> 4300002a 	c0	0x100002a
+[0-9a-f]+ <[^>]*> 4300002b 	c0	0x100002b
+[0-9a-f]+ <[^>]*> 4300002c 	c0	0x100002c
+[0-9a-f]+ <[^>]*> 4300002d 	c0	0x100002d
+[0-9a-f]+ <[^>]*> 4300002e 	c0	0x100002e
+[0-9a-f]+ <[^>]*> 4300002f 	c0	0x100002f
+[0-9a-f]+ <[^>]*> 43000030 	c0	0x1000030
+[0-9a-f]+ <[^>]*> 43000031 	c0	0x1000031
+[0-9a-f]+ <[^>]*> 43000032 	c0	0x1000032
+[0-9a-f]+ <[^>]*> 43000033 	c0	0x1000033
+[0-9a-f]+ <[^>]*> 43000034 	c0	0x1000034
+[0-9a-f]+ <[^>]*> 43000035 	c0	0x1000035
+[0-9a-f]+ <[^>]*> 43000036 	c0	0x1000036
+[0-9a-f]+ <[^>]*> 43000037 	c0	0x1000037
+[0-9a-f]+ <[^>]*> 43000038 	c0	0x1000038
+[0-9a-f]+ <[^>]*> 43000039 	c0	0x1000039
+[0-9a-f]+ <[^>]*> 4300003a 	c0	0x100003a
+[0-9a-f]+ <[^>]*> 4300003b 	c0	0x100003b
+[0-9a-f]+ <[^>]*> 4300003c 	c0	0x100003c
+[0-9a-f]+ <[^>]*> 4300003d 	c0	0x100003d
+[0-9a-f]+ <[^>]*> 4300003e 	c0	0x100003e
+[0-9a-f]+ <[^>]*> 4300003f 	c0	0x100003f
+	\.\.\.
diff --git a/gas/testsuite/gas/mips/c0.l b/gas/testsuite/gas/mips/c0.l
new file mode 100644
index 00000000000..9ec5ab0aa7c
--- /dev/null
+++ b/gas/testsuite/gas/mips/c0.l
@@ -0,0 +1,257 @@
+.*: Assembler messages:
+.*:3: Error: opcode not supported on this processor: .* \(.*\) `c0 0x00'
+.*:4: Error: opcode not supported on this processor: .* \(.*\) `c0 0x01'
+.*:5: Error: opcode not supported on this processor: .* \(.*\) `c0 0x02'
+.*:6: Error: opcode not supported on this processor: .* \(.*\) `c0 0x03'
+.*:7: Error: opcode not supported on this processor: .* \(.*\) `c0 0x04'
+.*:8: Error: opcode not supported on this processor: .* \(.*\) `c0 0x05'
+.*:9: Error: opcode not supported on this processor: .* \(.*\) `c0 0x06'
+.*:10: Error: opcode not supported on this processor: .* \(.*\) `c0 0x07'
+.*:11: Error: opcode not supported on this processor: .* \(.*\) `c0 0x08'
+.*:12: Error: opcode not supported on this processor: .* \(.*\) `c0 0x09'
+.*:13: Error: opcode not supported on this processor: .* \(.*\) `c0 0x0a'
+.*:14: Error: opcode not supported on this processor: .* \(.*\) `c0 0x0b'
+.*:15: Error: opcode not supported on this processor: .* \(.*\) `c0 0x0c'
+.*:16: Error: opcode not supported on this processor: .* \(.*\) `c0 0x0d'
+.*:17: Error: opcode not supported on this processor: .* \(.*\) `c0 0x0e'
+.*:18: Error: opcode not supported on this processor: .* \(.*\) `c0 0x0f'
+.*:19: Error: opcode not supported on this processor: .* \(.*\) `c0 0x10'
+.*:20: Error: opcode not supported on this processor: .* \(.*\) `c0 0x11'
+.*:21: Error: opcode not supported on this processor: .* \(.*\) `c0 0x12'
+.*:22: Error: opcode not supported on this processor: .* \(.*\) `c0 0x13'
+.*:23: Error: opcode not supported on this processor: .* \(.*\) `c0 0x14'
+.*:24: Error: opcode not supported on this processor: .* \(.*\) `c0 0x15'
+.*:25: Error: opcode not supported on this processor: .* \(.*\) `c0 0x16'
+.*:26: Error: opcode not supported on this processor: .* \(.*\) `c0 0x17'
+.*:27: Error: opcode not supported on this processor: .* \(.*\) `c0 0x18'
+.*:28: Error: opcode not supported on this processor: .* \(.*\) `c0 0x19'
+.*:29: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1a'
+.*:30: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1b'
+.*:31: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1c'
+.*:32: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1d'
+.*:33: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1e'
+.*:34: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1f'
+.*:35: Error: opcode not supported on this processor: .* \(.*\) `c0 0x20'
+.*:36: Error: opcode not supported on this processor: .* \(.*\) `c0 0x21'
+.*:37: Error: opcode not supported on this processor: .* \(.*\) `c0 0x22'
+.*:38: Error: opcode not supported on this processor: .* \(.*\) `c0 0x23'
+.*:39: Error: opcode not supported on this processor: .* \(.*\) `c0 0x24'
+.*:40: Error: opcode not supported on this processor: .* \(.*\) `c0 0x25'
+.*:41: Error: opcode not supported on this processor: .* \(.*\) `c0 0x26'
+.*:42: Error: opcode not supported on this processor: .* \(.*\) `c0 0x27'
+.*:43: Error: opcode not supported on this processor: .* \(.*\) `c0 0x28'
+.*:44: Error: opcode not supported on this processor: .* \(.*\) `c0 0x29'
+.*:45: Error: opcode not supported on this processor: .* \(.*\) `c0 0x2a'
+.*:46: Error: opcode not supported on this processor: .* \(.*\) `c0 0x2b'
+.*:47: Error: opcode not supported on this processor: .* \(.*\) `c0 0x2c'
+.*:48: Error: opcode not supported on this processor: .* \(.*\) `c0 0x2d'
+.*:49: Error: opcode not supported on this processor: .* \(.*\) `c0 0x2e'
+.*:50: Error: opcode not supported on this processor: .* \(.*\) `c0 0x2f'
+.*:51: Error: opcode not supported on this processor: .* \(.*\) `c0 0x30'
+.*:52: Error: opcode not supported on this processor: .* \(.*\) `c0 0x31'
+.*:53: Error: opcode not supported on this processor: .* \(.*\) `c0 0x32'
+.*:54: Error: opcode not supported on this processor: .* \(.*\) `c0 0x33'
+.*:55: Error: opcode not supported on this processor: .* \(.*\) `c0 0x34'
+.*:56: Error: opcode not supported on this processor: .* \(.*\) `c0 0x35'
+.*:57: Error: opcode not supported on this processor: .* \(.*\) `c0 0x36'
+.*:58: Error: opcode not supported on this processor: .* \(.*\) `c0 0x37'
+.*:59: Error: opcode not supported on this processor: .* \(.*\) `c0 0x38'
+.*:60: Error: opcode not supported on this processor: .* \(.*\) `c0 0x39'
+.*:61: Error: opcode not supported on this processor: .* \(.*\) `c0 0x3a'
+.*:62: Error: opcode not supported on this processor: .* \(.*\) `c0 0x3b'
+.*:63: Error: opcode not supported on this processor: .* \(.*\) `c0 0x3c'
+.*:64: Error: opcode not supported on this processor: .* \(.*\) `c0 0x3d'
+.*:65: Error: opcode not supported on this processor: .* \(.*\) `c0 0x3e'
+.*:66: Error: opcode not supported on this processor: .* \(.*\) `c0 0x3f'
+.*:68: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000000'
+.*:69: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000001'
+.*:70: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000002'
+.*:71: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000003'
+.*:72: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000004'
+.*:73: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000005'
+.*:74: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000006'
+.*:75: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000007'
+.*:76: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000008'
+.*:77: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000009'
+.*:78: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100000a'
+.*:79: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100000b'
+.*:80: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100000c'
+.*:81: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100000d'
+.*:82: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100000e'
+.*:83: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100000f'
+.*:84: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000010'
+.*:85: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000011'
+.*:86: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000012'
+.*:87: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000013'
+.*:88: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000014'
+.*:89: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000015'
+.*:90: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000016'
+.*:91: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000017'
+.*:92: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000018'
+.*:93: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000019'
+.*:94: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100001a'
+.*:95: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100001b'
+.*:96: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100001c'
+.*:97: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100001d'
+.*:98: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100001e'
+.*:99: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100001f'
+.*:100: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000020'
+.*:101: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000021'
+.*:102: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000022'
+.*:103: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000023'
+.*:104: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000024'
+.*:105: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000025'
+.*:106: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000026'
+.*:107: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000027'
+.*:108: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000028'
+.*:109: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000029'
+.*:110: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100002a'
+.*:111: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100002b'
+.*:112: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100002c'
+.*:113: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100002d'
+.*:114: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100002e'
+.*:115: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100002f'
+.*:116: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000030'
+.*:117: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000031'
+.*:118: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000032'
+.*:119: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000033'
+.*:120: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000034'
+.*:121: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000035'
+.*:122: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000036'
+.*:123: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000037'
+.*:124: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000038'
+.*:125: Error: opcode not supported on this processor: .* \(.*\) `c0 0x1000039'
+.*:126: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100003a'
+.*:127: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100003b'
+.*:128: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100003c'
+.*:129: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100003d'
+.*:130: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100003e'
+.*:131: Error: opcode not supported on this processor: .* \(.*\) `c0 0x100003f'
+.*:133: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x00'
+.*:134: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x01'
+.*:135: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x02'
+.*:136: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x03'
+.*:137: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x04'
+.*:138: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x05'
+.*:139: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x06'
+.*:140: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x07'
+.*:141: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x08'
+.*:142: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x09'
+.*:143: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x0a'
+.*:144: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x0b'
+.*:145: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x0c'
+.*:146: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x0d'
+.*:147: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x0e'
+.*:148: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x0f'
+.*:149: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x10'
+.*:150: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x11'
+.*:151: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x12'
+.*:152: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x13'
+.*:153: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x14'
+.*:154: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x15'
+.*:155: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x16'
+.*:156: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x17'
+.*:157: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x18'
+.*:158: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x19'
+.*:159: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1a'
+.*:160: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1b'
+.*:161: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1c'
+.*:162: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1d'
+.*:163: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1e'
+.*:164: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1f'
+.*:165: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x20'
+.*:166: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x21'
+.*:167: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x22'
+.*:168: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x23'
+.*:169: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x24'
+.*:170: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x25'
+.*:171: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x26'
+.*:172: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x27'
+.*:173: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x28'
+.*:174: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x29'
+.*:175: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x2a'
+.*:176: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x2b'
+.*:177: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x2c'
+.*:178: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x2d'
+.*:179: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x2e'
+.*:180: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x2f'
+.*:181: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x30'
+.*:182: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x31'
+.*:183: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x32'
+.*:184: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x33'
+.*:185: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x34'
+.*:186: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x35'
+.*:187: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x36'
+.*:188: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x37'
+.*:189: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x38'
+.*:190: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x39'
+.*:191: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x3a'
+.*:192: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x3b'
+.*:193: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x3c'
+.*:194: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x3d'
+.*:195: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x3e'
+.*:196: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x3f'
+.*:198: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000000'
+.*:199: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000001'
+.*:200: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000002'
+.*:201: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000003'
+.*:202: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000004'
+.*:203: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000005'
+.*:204: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000006'
+.*:205: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000007'
+.*:206: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000008'
+.*:207: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000009'
+.*:208: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100000a'
+.*:209: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100000b'
+.*:210: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100000c'
+.*:211: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100000d'
+.*:212: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100000e'
+.*:213: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100000f'
+.*:214: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000010'
+.*:215: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000011'
+.*:216: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000012'
+.*:217: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000013'
+.*:218: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000014'
+.*:219: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000015'
+.*:220: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000016'
+.*:221: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000017'
+.*:222: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000018'
+.*:223: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000019'
+.*:224: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100001a'
+.*:225: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100001b'
+.*:226: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100001c'
+.*:227: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100001d'
+.*:228: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100001e'
+.*:229: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100001f'
+.*:230: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000020'
+.*:231: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000021'
+.*:232: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000022'
+.*:233: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000023'
+.*:234: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000024'
+.*:235: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000025'
+.*:236: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000026'
+.*:237: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000027'
+.*:238: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000028'
+.*:239: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000029'
+.*:240: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100002a'
+.*:241: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100002b'
+.*:242: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100002c'
+.*:243: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100002d'
+.*:244: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100002e'
+.*:245: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100002f'
+.*:246: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000030'
+.*:247: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000031'
+.*:248: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000032'
+.*:249: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000033'
+.*:250: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000034'
+.*:251: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000035'
+.*:252: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000036'
+.*:253: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000037'
+.*:254: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000038'
+.*:255: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x1000039'
+.*:256: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100003a'
+.*:257: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100003b'
+.*:258: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100003c'
+.*:259: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100003d'
+.*:260: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100003e'
+.*:261: Error: opcode not supported on this processor: .* \(.*\) `cop0 0x100003f'
diff --git a/gas/testsuite/gas/mips/c0.s b/gas/testsuite/gas/mips/c0.s
new file mode 100644
index 00000000000..ae460b14ee7
--- /dev/null
+++ b/gas/testsuite/gas/mips/c0.s
@@ -0,0 +1,265 @@
+	.text
+foo:
+	c0	0x00
+	c0	0x01
+	c0	0x02
+	c0	0x03
+	c0	0x04
+	c0	0x05
+	c0	0x06
+	c0	0x07
+	c0	0x08
+	c0	0x09
+	c0	0x0a
+	c0	0x0b
+	c0	0x0c
+	c0	0x0d
+	c0	0x0e
+	c0	0x0f
+	c0	0x10
+	c0	0x11
+	c0	0x12
+	c0	0x13
+	c0	0x14
+	c0	0x15
+	c0	0x16
+	c0	0x17
+	c0	0x18
+	c0	0x19
+	c0	0x1a
+	c0	0x1b
+	c0	0x1c
+	c0	0x1d
+	c0	0x1e
+	c0	0x1f
+	c0	0x20
+	c0	0x21
+	c0	0x22
+	c0	0x23
+	c0	0x24
+	c0	0x25
+	c0	0x26
+	c0	0x27
+	c0	0x28
+	c0	0x29
+	c0	0x2a
+	c0	0x2b
+	c0	0x2c
+	c0	0x2d
+	c0	0x2e
+	c0	0x2f
+	c0	0x30
+	c0	0x31
+	c0	0x32
+	c0	0x33
+	c0	0x34
+	c0	0x35
+	c0	0x36
+	c0	0x37
+	c0	0x38
+	c0	0x39
+	c0	0x3a
+	c0	0x3b
+	c0	0x3c
+	c0	0x3d
+	c0	0x3e
+	c0	0x3f
+
+	c0	0x1000000
+	c0	0x1000001
+	c0	0x1000002
+	c0	0x1000003
+	c0	0x1000004
+	c0	0x1000005
+	c0	0x1000006
+	c0	0x1000007
+	c0	0x1000008
+	c0	0x1000009
+	c0	0x100000a
+	c0	0x100000b
+	c0	0x100000c
+	c0	0x100000d
+	c0	0x100000e
+	c0	0x100000f
+	c0	0x1000010
+	c0	0x1000011
+	c0	0x1000012
+	c0	0x1000013
+	c0	0x1000014
+	c0	0x1000015
+	c0	0x1000016
+	c0	0x1000017
+	c0	0x1000018
+	c0	0x1000019
+	c0	0x100001a
+	c0	0x100001b
+	c0	0x100001c
+	c0	0x100001d
+	c0	0x100001e
+	c0	0x100001f
+	c0	0x1000020
+	c0	0x1000021
+	c0	0x1000022
+	c0	0x1000023
+	c0	0x1000024
+	c0	0x1000025
+	c0	0x1000026
+	c0	0x1000027
+	c0	0x1000028
+	c0	0x1000029
+	c0	0x100002a
+	c0	0x100002b
+	c0	0x100002c
+	c0	0x100002d
+	c0	0x100002e
+	c0	0x100002f
+	c0	0x1000030
+	c0	0x1000031
+	c0	0x1000032
+	c0	0x1000033
+	c0	0x1000034
+	c0	0x1000035
+	c0	0x1000036
+	c0	0x1000037
+	c0	0x1000038
+	c0	0x1000039
+	c0	0x100003a
+	c0	0x100003b
+	c0	0x100003c
+	c0	0x100003d
+	c0	0x100003e
+	c0	0x100003f
+
+	cop0	0x00
+	cop0	0x01
+	cop0	0x02
+	cop0	0x03
+	cop0	0x04
+	cop0	0x05
+	cop0	0x06
+	cop0	0x07
+	cop0	0x08
+	cop0	0x09
+	cop0	0x0a
+	cop0	0x0b
+	cop0	0x0c
+	cop0	0x0d
+	cop0	0x0e
+	cop0	0x0f
+	cop0	0x10
+	cop0	0x11
+	cop0	0x12
+	cop0	0x13
+	cop0	0x14
+	cop0	0x15
+	cop0	0x16
+	cop0	0x17
+	cop0	0x18
+	cop0	0x19
+	cop0	0x1a
+	cop0	0x1b
+	cop0	0x1c
+	cop0	0x1d
+	cop0	0x1e
+	cop0	0x1f
+	cop0	0x20
+	cop0	0x21
+	cop0	0x22
+	cop0	0x23
+	cop0	0x24
+	cop0	0x25
+	cop0	0x26
+	cop0	0x27
+	cop0	0x28
+	cop0	0x29
+	cop0	0x2a
+	cop0	0x2b
+	cop0	0x2c
+	cop0	0x2d
+	cop0	0x2e
+	cop0	0x2f
+	cop0	0x30
+	cop0	0x31
+	cop0	0x32
+	cop0	0x33
+	cop0	0x34
+	cop0	0x35
+	cop0	0x36
+	cop0	0x37
+	cop0	0x38
+	cop0	0x39
+	cop0	0x3a
+	cop0	0x3b
+	cop0	0x3c
+	cop0	0x3d
+	cop0	0x3e
+	cop0	0x3f
+
+	cop0	0x1000000
+	cop0	0x1000001
+	cop0	0x1000002
+	cop0	0x1000003
+	cop0	0x1000004
+	cop0	0x1000005
+	cop0	0x1000006
+	cop0	0x1000007
+	cop0	0x1000008
+	cop0	0x1000009
+	cop0	0x100000a
+	cop0	0x100000b
+	cop0	0x100000c
+	cop0	0x100000d
+	cop0	0x100000e
+	cop0	0x100000f
+	cop0	0x1000010
+	cop0	0x1000011
+	cop0	0x1000012
+	cop0	0x1000013
+	cop0	0x1000014
+	cop0	0x1000015
+	cop0	0x1000016
+	cop0	0x1000017
+	cop0	0x1000018
+	cop0	0x1000019
+	cop0	0x100001a
+	cop0	0x100001b
+	cop0	0x100001c
+	cop0	0x100001d
+	cop0	0x100001e
+	cop0	0x100001f
+	cop0	0x1000020
+	cop0	0x1000021
+	cop0	0x1000022
+	cop0	0x1000023
+	cop0	0x1000024
+	cop0	0x1000025
+	cop0	0x1000026
+	cop0	0x1000027
+	cop0	0x1000028
+	cop0	0x1000029
+	cop0	0x100002a
+	cop0	0x100002b
+	cop0	0x100002c
+	cop0	0x100002d
+	cop0	0x100002e
+	cop0	0x100002f
+	cop0	0x1000030
+	cop0	0x1000031
+	cop0	0x1000032
+	cop0	0x1000033
+	cop0	0x1000034
+	cop0	0x1000035
+	cop0	0x1000036
+	cop0	0x1000037
+	cop0	0x1000038
+	cop0	0x1000039
+	cop0	0x100003a
+	cop0	0x100003b
+	cop0	0x100003c
+	cop0	0x100003d
+	cop0	0x100003e
+	cop0	0x100003f
+
+# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.align	4, 0
+	.space	16
diff --git a/gas/testsuite/gas/mips/c1.d b/gas/testsuite/gas/mips/c1.d
new file mode 100644
index 00000000000..1d02d68cc25
--- /dev/null
+++ b/gas/testsuite/gas/mips/c1.d
@@ -0,0 +1,266 @@
+#objdump: -d --prefix-addresses --show-raw-insn
+#name: MIPS C1/COP1 instructions
+#as: -32
+#source: c1.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 46000000 	add\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000001 	sub\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000002 	mul\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000003 	div\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000004 	sqrt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000005 	abs\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000006 	mov\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000007 	neg\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000008 	round\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000009 	trunc\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000a 	ceil\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000b 	floor\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000c 	round\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000d 	trunc\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000e 	ceil\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000f 	floor\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000010 	c1	0x10
+[0-9a-f]+ <[^>]*> 46000011 	movf\.s	\$f0,\$f0,\$fcc0
+[0-9a-f]+ <[^>]*> 46000012 	movz\.s	\$f0,\$f0,zero
+[0-9a-f]+ <[^>]*> 46000013 	movn\.s	\$f0,\$f0,zero
+[0-9a-f]+ <[^>]*> 46000014 	c1	0x14
+[0-9a-f]+ <[^>]*> 46000015 	recip\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000016 	rsqrt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000017 	c1	0x17
+[0-9a-f]+ <[^>]*> 46000018 	c1	0x18
+[0-9a-f]+ <[^>]*> 46000019 	c1	0x19
+[0-9a-f]+ <[^>]*> 4600001a 	c1	0x1a
+[0-9a-f]+ <[^>]*> 4600001b 	c1	0x1b
+[0-9a-f]+ <[^>]*> 4600001c 	recip2\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600001d 	recip1\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600001e 	rsqrt1\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600001f 	rsqrt2\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000020 	c1	0x20
+[0-9a-f]+ <[^>]*> 46000021 	cvt\.d\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000022 	c1	0x22
+[0-9a-f]+ <[^>]*> 46000023 	c1	0x23
+[0-9a-f]+ <[^>]*> 46000024 	cvt\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000025 	cvt\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000026 	cvt\.ps\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000027 	c1	0x27
+[0-9a-f]+ <[^>]*> 46000028 	c1	0x28
+[0-9a-f]+ <[^>]*> 46000029 	c1	0x29
+[0-9a-f]+ <[^>]*> 4600002a 	c1	0x2a
+[0-9a-f]+ <[^>]*> 4600002b 	c1	0x2b
+[0-9a-f]+ <[^>]*> 4600002c 	c1	0x2c
+[0-9a-f]+ <[^>]*> 4600002d 	c1	0x2d
+[0-9a-f]+ <[^>]*> 4600002e 	c1	0x2e
+[0-9a-f]+ <[^>]*> 4600002f 	c1	0x2f
+[0-9a-f]+ <[^>]*> 46000030 	c\.f\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000031 	c\.un\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000032 	c\.eq\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000033 	c\.ueq\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000034 	c\.olt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000035 	c\.ult\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000036 	c\.ole\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000037 	c\.ule\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000038 	c\.sf\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000039 	c\.ngle\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003a 	c\.seq\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003b 	c\.ngl\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003c 	c\.lt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003d 	c\.nge\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003e 	c\.le\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003f 	c\.ngt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 47000000 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000001 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000002 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000003 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000004 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000005 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000006 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000007 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000008 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000009 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000010 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000011 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000012 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000013 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000014 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000015 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000016 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000017 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000018 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000019 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000020 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000021 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000022 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000023 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000024 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000025 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000026 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000027 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000028 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000029 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000030 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000031 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000032 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000033 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000034 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000035 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000036 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000037 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000038 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000039 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 46000000 	add\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000001 	sub\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000002 	mul\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000003 	div\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000004 	sqrt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000005 	abs\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000006 	mov\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000007 	neg\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000008 	round\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000009 	trunc\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000a 	ceil\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000b 	floor\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000c 	round\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000d 	trunc\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000e 	ceil\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600000f 	floor\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000010 	c1	0x10
+[0-9a-f]+ <[^>]*> 46000011 	movf\.s	\$f0,\$f0,\$fcc0
+[0-9a-f]+ <[^>]*> 46000012 	movz\.s	\$f0,\$f0,zero
+[0-9a-f]+ <[^>]*> 46000013 	movn\.s	\$f0,\$f0,zero
+[0-9a-f]+ <[^>]*> 46000014 	c1	0x14
+[0-9a-f]+ <[^>]*> 46000015 	recip\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000016 	rsqrt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000017 	c1	0x17
+[0-9a-f]+ <[^>]*> 46000018 	c1	0x18
+[0-9a-f]+ <[^>]*> 46000019 	c1	0x19
+[0-9a-f]+ <[^>]*> 4600001a 	c1	0x1a
+[0-9a-f]+ <[^>]*> 4600001b 	c1	0x1b
+[0-9a-f]+ <[^>]*> 4600001c 	recip2\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600001d 	recip1\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600001e 	rsqrt1\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600001f 	rsqrt2\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000020 	c1	0x20
+[0-9a-f]+ <[^>]*> 46000021 	cvt\.d\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000022 	c1	0x22
+[0-9a-f]+ <[^>]*> 46000023 	c1	0x23
+[0-9a-f]+ <[^>]*> 46000024 	cvt\.w\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000025 	cvt\.l\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000026 	cvt\.ps\.s	\$f0,\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000027 	c1	0x27
+[0-9a-f]+ <[^>]*> 46000028 	c1	0x28
+[0-9a-f]+ <[^>]*> 46000029 	c1	0x29
+[0-9a-f]+ <[^>]*> 4600002a 	c1	0x2a
+[0-9a-f]+ <[^>]*> 4600002b 	c1	0x2b
+[0-9a-f]+ <[^>]*> 4600002c 	c1	0x2c
+[0-9a-f]+ <[^>]*> 4600002d 	c1	0x2d
+[0-9a-f]+ <[^>]*> 4600002e 	c1	0x2e
+[0-9a-f]+ <[^>]*> 4600002f 	c1	0x2f
+[0-9a-f]+ <[^>]*> 46000030 	c\.f\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000031 	c\.un\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000032 	c\.eq\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000033 	c\.ueq\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000034 	c\.olt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000035 	c\.ult\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000036 	c\.ole\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000037 	c\.ule\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000038 	c\.sf\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 46000039 	c\.ngle\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003a 	c\.seq\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003b 	c\.ngl\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003c 	c\.lt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003d 	c\.nge\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003e 	c\.le\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 4600003f 	c\.ngt\.s	\$f0,\$f0
+[0-9a-f]+ <[^>]*> 47000000 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000001 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000002 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000003 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000004 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000005 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000006 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000007 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000008 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000009 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700000f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000010 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000011 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000012 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000013 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000014 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000015 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000016 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000017 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000018 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000019 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700001f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000020 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000021 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000022 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000023 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000024 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000025 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000026 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000027 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000028 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000029 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700002f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000030 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000031 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000032 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000033 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000034 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000035 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000036 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000037 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000038 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 47000039 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003a 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003b 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003c 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003d 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003e 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 4700003f 	bz\.b	\$w0,[0-9a-f]+ <[^>]*>
+[0-9a-f]+ <[^>]*> 00000000 	nop
+	\.\.\.
diff --git a/gas/testsuite/gas/mips/c1.s b/gas/testsuite/gas/mips/c1.s
new file mode 100644
index 00000000000..e338f6e54e7
--- /dev/null
+++ b/gas/testsuite/gas/mips/c1.s
@@ -0,0 +1,265 @@
+	.text
+foo:
+	c1	0x00
+	c1	0x01
+	c1	0x02
+	c1	0x03
+	c1	0x04
+	c1	0x05
+	c1	0x06
+	c1	0x07
+	c1	0x08
+	c1	0x09
+	c1	0x0a
+	c1	0x0b
+	c1	0x0c
+	c1	0x0d
+	c1	0x0e
+	c1	0x0f
+	c1	0x10
+	c1	0x11
+	c1	0x12
+	c1	0x13
+	c1	0x14
+	c1	0x15
+	c1	0x16
+	c1	0x17
+	c1	0x18
+	c1	0x19
+	c1	0x1a
+	c1	0x1b
+	c1	0x1c
+	c1	0x1d
+	c1	0x1e
+	c1	0x1f
+	c1	0x20
+	c1	0x21
+	c1	0x22
+	c1	0x23
+	c1	0x24
+	c1	0x25
+	c1	0x26
+	c1	0x27
+	c1	0x28
+	c1	0x29
+	c1	0x2a
+	c1	0x2b
+	c1	0x2c
+	c1	0x2d
+	c1	0x2e
+	c1	0x2f
+	c1	0x30
+	c1	0x31
+	c1	0x32
+	c1	0x33
+	c1	0x34
+	c1	0x35
+	c1	0x36
+	c1	0x37
+	c1	0x38
+	c1	0x39
+	c1	0x3a
+	c1	0x3b
+	c1	0x3c
+	c1	0x3d
+	c1	0x3e
+	c1	0x3f
+
+	c1	0x1000000
+	c1	0x1000001
+	c1	0x1000002
+	c1	0x1000003
+	c1	0x1000004
+	c1	0x1000005
+	c1	0x1000006
+	c1	0x1000007
+	c1	0x1000008
+	c1	0x1000009
+	c1	0x100000a
+	c1	0x100000b
+	c1	0x100000c
+	c1	0x100000d
+	c1	0x100000e
+	c1	0x100000f
+	c1	0x1000010
+	c1	0x1000011
+	c1	0x1000012
+	c1	0x1000013
+	c1	0x1000014
+	c1	0x1000015
+	c1	0x1000016
+	c1	0x1000017
+	c1	0x1000018
+	c1	0x1000019
+	c1	0x100001a
+	c1	0x100001b
+	c1	0x100001c
+	c1	0x100001d
+	c1	0x100001e
+	c1	0x100001f
+	c1	0x1000020
+	c1	0x1000021
+	c1	0x1000022
+	c1	0x1000023
+	c1	0x1000024
+	c1	0x1000025
+	c1	0x1000026
+	c1	0x1000027
+	c1	0x1000028
+	c1	0x1000029
+	c1	0x100002a
+	c1	0x100002b
+	c1	0x100002c
+	c1	0x100002d
+	c1	0x100002e
+	c1	0x100002f
+	c1	0x1000030
+	c1	0x1000031
+	c1	0x1000032
+	c1	0x1000033
+	c1	0x1000034
+	c1	0x1000035
+	c1	0x1000036
+	c1	0x1000037
+	c1	0x1000038
+	c1	0x1000039
+	c1	0x100003a
+	c1	0x100003b
+	c1	0x100003c
+	c1	0x100003d
+	c1	0x100003e
+	c1	0x100003f
+
+	cop1	0x00
+	cop1	0x01
+	cop1	0x02
+	cop1	0x03
+	cop1	0x04
+	cop1	0x05
+	cop1	0x06
+	cop1	0x07
+	cop1	0x08
+	cop1	0x09
+	cop1	0x0a
+	cop1	0x0b
+	cop1	0x0c
+	cop1	0x0d
+	cop1	0x0e
+	cop1	0x0f
+	cop1	0x10
+	cop1	0x11
+	cop1	0x12
+	cop1	0x13
+	cop1	0x14
+	cop1	0x15
+	cop1	0x16
+	cop1	0x17
+	cop1	0x18
+	cop1	0x19
+	cop1	0x1a
+	cop1	0x1b
+	cop1	0x1c
+	cop1	0x1d
+	cop1	0x1e
+	cop1	0x1f
+	cop1	0x20
+	cop1	0x21
+	cop1	0x22
+	cop1	0x23
+	cop1	0x24
+	cop1	0x25
+	cop1	0x26
+	cop1	0x27
+	cop1	0x28
+	cop1	0x29
+	cop1	0x2a
+	cop1	0x2b
+	cop1	0x2c
+	cop1	0x2d
+	cop1	0x2e
+	cop1	0x2f
+	cop1	0x30
+	cop1	0x31
+	cop1	0x32
+	cop1	0x33
+	cop1	0x34
+	cop1	0x35
+	cop1	0x36
+	cop1	0x37
+	cop1	0x38
+	cop1	0x39
+	cop1	0x3a
+	cop1	0x3b
+	cop1	0x3c
+	cop1	0x3d
+	cop1	0x3e
+	cop1	0x3f
+
+	cop1	0x1000000
+	cop1	0x1000001
+	cop1	0x1000002
+	cop1	0x1000003
+	cop1	0x1000004
+	cop1	0x1000005
+	cop1	0x1000006
+	cop1	0x1000007
+	cop1	0x1000008
+	cop1	0x1000009
+	cop1	0x100000a
+	cop1	0x100000b
+	cop1	0x100000c
+	cop1	0x100000d
+	cop1	0x100000e
+	cop1	0x100000f
+	cop1	0x1000010
+	cop1	0x1000011
+	cop1	0x1000012
+	cop1	0x1000013
+	cop1	0x1000014
+	cop1	0x1000015
+	cop1	0x1000016
+	cop1	0x1000017
+	cop1	0x1000018
+	cop1	0x1000019
+	cop1	0x100001a
+	cop1	0x100001b
+	cop1	0x100001c
+	cop1	0x100001d
+	cop1	0x100001e
+	cop1	0x100001f
+	cop1	0x1000020
+	cop1	0x1000021
+	cop1	0x1000022
+	cop1	0x1000023
+	cop1	0x1000024
+	cop1	0x1000025
+	cop1	0x1000026
+	cop1	0x1000027
+	cop1	0x1000028
+	cop1	0x1000029
+	cop1	0x100002a
+	cop1	0x100002b
+	cop1	0x100002c
+	cop1	0x100002d
+	cop1	0x100002e
+	cop1	0x100002f
+	cop1	0x1000030
+	cop1	0x1000031
+	cop1	0x1000032
+	cop1	0x1000033
+	cop1	0x1000034
+	cop1	0x1000035
+	cop1	0x1000036
+	cop1	0x1000037
+	cop1	0x1000038
+	cop1	0x1000039
+	cop1	0x100003a
+	cop1	0x100003b
+	cop1	0x100003c
+	cop1	0x100003d
+	cop1	0x100003e
+	cop1	0x100003f
+
+# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.align	4, 0
+	.space	16
diff --git a/gas/testsuite/gas/mips/c2.d b/gas/testsuite/gas/mips/c2.d
new file mode 100644
index 00000000000..b0eaf1bcd41
--- /dev/null
+++ b/gas/testsuite/gas/mips/c2.d
@@ -0,0 +1,264 @@
+#objdump: -d --prefix-addresses --show-raw-insn
+#name: MIPS C2/COP2 instructions
+#as: -32
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 4a000000 	c2	0x0
+[0-9a-f]+ <[^>]*> 4a000001 	c2	0x1
+[0-9a-f]+ <[^>]*> 4a000002 	c2	0x2
+[0-9a-f]+ <[^>]*> 4a000003 	c2	0x3
+[0-9a-f]+ <[^>]*> 4a000004 	c2	0x4
+[0-9a-f]+ <[^>]*> 4a000005 	c2	0x5
+[0-9a-f]+ <[^>]*> 4a000006 	c2	0x6
+[0-9a-f]+ <[^>]*> 4a000007 	c2	0x7
+[0-9a-f]+ <[^>]*> 4a000008 	c2	0x8
+[0-9a-f]+ <[^>]*> 4a000009 	c2	0x9
+[0-9a-f]+ <[^>]*> 4a00000a 	c2	0xa
+[0-9a-f]+ <[^>]*> 4a00000b 	c2	0xb
+[0-9a-f]+ <[^>]*> 4a00000c 	c2	0xc
+[0-9a-f]+ <[^>]*> 4a00000d 	c2	0xd
+[0-9a-f]+ <[^>]*> 4a00000e 	c2	0xe
+[0-9a-f]+ <[^>]*> 4a00000f 	c2	0xf
+[0-9a-f]+ <[^>]*> 4a000010 	c2	0x10
+[0-9a-f]+ <[^>]*> 4a000011 	c2	0x11
+[0-9a-f]+ <[^>]*> 4a000012 	c2	0x12
+[0-9a-f]+ <[^>]*> 4a000013 	c2	0x13
+[0-9a-f]+ <[^>]*> 4a000014 	c2	0x14
+[0-9a-f]+ <[^>]*> 4a000015 	c2	0x15
+[0-9a-f]+ <[^>]*> 4a000016 	c2	0x16
+[0-9a-f]+ <[^>]*> 4a000017 	c2	0x17
+[0-9a-f]+ <[^>]*> 4a000018 	c2	0x18
+[0-9a-f]+ <[^>]*> 4a000019 	c2	0x19
+[0-9a-f]+ <[^>]*> 4a00001a 	c2	0x1a
+[0-9a-f]+ <[^>]*> 4a00001b 	c2	0x1b
+[0-9a-f]+ <[^>]*> 4a00001c 	c2	0x1c
+[0-9a-f]+ <[^>]*> 4a00001d 	c2	0x1d
+[0-9a-f]+ <[^>]*> 4a00001e 	c2	0x1e
+[0-9a-f]+ <[^>]*> 4a00001f 	c2	0x1f
+[0-9a-f]+ <[^>]*> 4a000020 	c2	0x20
+[0-9a-f]+ <[^>]*> 4a000021 	c2	0x21
+[0-9a-f]+ <[^>]*> 4a000022 	c2	0x22
+[0-9a-f]+ <[^>]*> 4a000023 	c2	0x23
+[0-9a-f]+ <[^>]*> 4a000024 	c2	0x24
+[0-9a-f]+ <[^>]*> 4a000025 	c2	0x25
+[0-9a-f]+ <[^>]*> 4a000026 	c2	0x26
+[0-9a-f]+ <[^>]*> 4a000027 	c2	0x27
+[0-9a-f]+ <[^>]*> 4a000028 	c2	0x28
+[0-9a-f]+ <[^>]*> 4a000029 	c2	0x29
+[0-9a-f]+ <[^>]*> 4a00002a 	c2	0x2a
+[0-9a-f]+ <[^>]*> 4a00002b 	c2	0x2b
+[0-9a-f]+ <[^>]*> 4a00002c 	c2	0x2c
+[0-9a-f]+ <[^>]*> 4a00002d 	c2	0x2d
+[0-9a-f]+ <[^>]*> 4a00002e 	c2	0x2e
+[0-9a-f]+ <[^>]*> 4a00002f 	c2	0x2f
+[0-9a-f]+ <[^>]*> 4a000030 	c2	0x30
+[0-9a-f]+ <[^>]*> 4a000031 	c2	0x31
+[0-9a-f]+ <[^>]*> 4a000032 	c2	0x32
+[0-9a-f]+ <[^>]*> 4a000033 	c2	0x33
+[0-9a-f]+ <[^>]*> 4a000034 	c2	0x34
+[0-9a-f]+ <[^>]*> 4a000035 	c2	0x35
+[0-9a-f]+ <[^>]*> 4a000036 	c2	0x36
+[0-9a-f]+ <[^>]*> 4a000037 	c2	0x37
+[0-9a-f]+ <[^>]*> 4a000038 	c2	0x38
+[0-9a-f]+ <[^>]*> 4a000039 	c2	0x39
+[0-9a-f]+ <[^>]*> 4a00003a 	c2	0x3a
+[0-9a-f]+ <[^>]*> 4a00003b 	c2	0x3b
+[0-9a-f]+ <[^>]*> 4a00003c 	c2	0x3c
+[0-9a-f]+ <[^>]*> 4a00003d 	c2	0x3d
+[0-9a-f]+ <[^>]*> 4a00003e 	c2	0x3e
+[0-9a-f]+ <[^>]*> 4a00003f 	c2	0x3f
+[0-9a-f]+ <[^>]*> 4b000000 	c2	0x1000000
+[0-9a-f]+ <[^>]*> 4b000001 	c2	0x1000001
+[0-9a-f]+ <[^>]*> 4b000002 	c2	0x1000002
+[0-9a-f]+ <[^>]*> 4b000003 	c2	0x1000003
+[0-9a-f]+ <[^>]*> 4b000004 	c2	0x1000004
+[0-9a-f]+ <[^>]*> 4b000005 	c2	0x1000005
+[0-9a-f]+ <[^>]*> 4b000006 	c2	0x1000006
+[0-9a-f]+ <[^>]*> 4b000007 	c2	0x1000007
+[0-9a-f]+ <[^>]*> 4b000008 	c2	0x1000008
+[0-9a-f]+ <[^>]*> 4b000009 	c2	0x1000009
+[0-9a-f]+ <[^>]*> 4b00000a 	c2	0x100000a
+[0-9a-f]+ <[^>]*> 4b00000b 	c2	0x100000b
+[0-9a-f]+ <[^>]*> 4b00000c 	c2	0x100000c
+[0-9a-f]+ <[^>]*> 4b00000d 	c2	0x100000d
+[0-9a-f]+ <[^>]*> 4b00000e 	c2	0x100000e
+[0-9a-f]+ <[^>]*> 4b00000f 	c2	0x100000f
+[0-9a-f]+ <[^>]*> 4b000010 	c2	0x1000010
+[0-9a-f]+ <[^>]*> 4b000011 	c2	0x1000011
+[0-9a-f]+ <[^>]*> 4b000012 	c2	0x1000012
+[0-9a-f]+ <[^>]*> 4b000013 	c2	0x1000013
+[0-9a-f]+ <[^>]*> 4b000014 	c2	0x1000014
+[0-9a-f]+ <[^>]*> 4b000015 	c2	0x1000015
+[0-9a-f]+ <[^>]*> 4b000016 	c2	0x1000016
+[0-9a-f]+ <[^>]*> 4b000017 	c2	0x1000017
+[0-9a-f]+ <[^>]*> 4b000018 	c2	0x1000018
+[0-9a-f]+ <[^>]*> 4b000019 	c2	0x1000019
+[0-9a-f]+ <[^>]*> 4b00001a 	c2	0x100001a
+[0-9a-f]+ <[^>]*> 4b00001b 	c2	0x100001b
+[0-9a-f]+ <[^>]*> 4b00001c 	c2	0x100001c
+[0-9a-f]+ <[^>]*> 4b00001d 	c2	0x100001d
+[0-9a-f]+ <[^>]*> 4b00001e 	c2	0x100001e
+[0-9a-f]+ <[^>]*> 4b00001f 	c2	0x100001f
+[0-9a-f]+ <[^>]*> 4b000020 	c2	0x1000020
+[0-9a-f]+ <[^>]*> 4b000021 	c2	0x1000021
+[0-9a-f]+ <[^>]*> 4b000022 	c2	0x1000022
+[0-9a-f]+ <[^>]*> 4b000023 	c2	0x1000023
+[0-9a-f]+ <[^>]*> 4b000024 	c2	0x1000024
+[0-9a-f]+ <[^>]*> 4b000025 	c2	0x1000025
+[0-9a-f]+ <[^>]*> 4b000026 	c2	0x1000026
+[0-9a-f]+ <[^>]*> 4b000027 	c2	0x1000027
+[0-9a-f]+ <[^>]*> 4b000028 	c2	0x1000028
+[0-9a-f]+ <[^>]*> 4b000029 	c2	0x1000029
+[0-9a-f]+ <[^>]*> 4b00002a 	c2	0x100002a
+[0-9a-f]+ <[^>]*> 4b00002b 	c2	0x100002b
+[0-9a-f]+ <[^>]*> 4b00002c 	c2	0x100002c
+[0-9a-f]+ <[^>]*> 4b00002d 	c2	0x100002d
+[0-9a-f]+ <[^>]*> 4b00002e 	c2	0x100002e
+[0-9a-f]+ <[^>]*> 4b00002f 	c2	0x100002f
+[0-9a-f]+ <[^>]*> 4b000030 	c2	0x1000030
+[0-9a-f]+ <[^>]*> 4b000031 	c2	0x1000031
+[0-9a-f]+ <[^>]*> 4b000032 	c2	0x1000032
+[0-9a-f]+ <[^>]*> 4b000033 	c2	0x1000033
+[0-9a-f]+ <[^>]*> 4b000034 	c2	0x1000034
+[0-9a-f]+ <[^>]*> 4b000035 	c2	0x1000035
+[0-9a-f]+ <[^>]*> 4b000036 	c2	0x1000036
+[0-9a-f]+ <[^>]*> 4b000037 	c2	0x1000037
+[0-9a-f]+ <[^>]*> 4b000038 	c2	0x1000038
+[0-9a-f]+ <[^>]*> 4b000039 	c2	0x1000039
+[0-9a-f]+ <[^>]*> 4b00003a 	c2	0x100003a
+[0-9a-f]+ <[^>]*> 4b00003b 	c2	0x100003b
+[0-9a-f]+ <[^>]*> 4b00003c 	c2	0x100003c
+[0-9a-f]+ <[^>]*> 4b00003d 	c2	0x100003d
+[0-9a-f]+ <[^>]*> 4b00003e 	c2	0x100003e
+[0-9a-f]+ <[^>]*> 4b00003f 	c2	0x100003f
+[0-9a-f]+ <[^>]*> 4a000000 	c2	0x0
+[0-9a-f]+ <[^>]*> 4a000001 	c2	0x1
+[0-9a-f]+ <[^>]*> 4a000002 	c2	0x2
+[0-9a-f]+ <[^>]*> 4a000003 	c2	0x3
+[0-9a-f]+ <[^>]*> 4a000004 	c2	0x4
+[0-9a-f]+ <[^>]*> 4a000005 	c2	0x5
+[0-9a-f]+ <[^>]*> 4a000006 	c2	0x6
+[0-9a-f]+ <[^>]*> 4a000007 	c2	0x7
+[0-9a-f]+ <[^>]*> 4a000008 	c2	0x8
+[0-9a-f]+ <[^>]*> 4a000009 	c2	0x9
+[0-9a-f]+ <[^>]*> 4a00000a 	c2	0xa
+[0-9a-f]+ <[^>]*> 4a00000b 	c2	0xb
+[0-9a-f]+ <[^>]*> 4a00000c 	c2	0xc
+[0-9a-f]+ <[^>]*> 4a00000d 	c2	0xd
+[0-9a-f]+ <[^>]*> 4a00000e 	c2	0xe
+[0-9a-f]+ <[^>]*> 4a00000f 	c2	0xf
+[0-9a-f]+ <[^>]*> 4a000010 	c2	0x10
+[0-9a-f]+ <[^>]*> 4a000011 	c2	0x11
+[0-9a-f]+ <[^>]*> 4a000012 	c2	0x12
+[0-9a-f]+ <[^>]*> 4a000013 	c2	0x13
+[0-9a-f]+ <[^>]*> 4a000014 	c2	0x14
+[0-9a-f]+ <[^>]*> 4a000015 	c2	0x15
+[0-9a-f]+ <[^>]*> 4a000016 	c2	0x16
+[0-9a-f]+ <[^>]*> 4a000017 	c2	0x17
+[0-9a-f]+ <[^>]*> 4a000018 	c2	0x18
+[0-9a-f]+ <[^>]*> 4a000019 	c2	0x19
+[0-9a-f]+ <[^>]*> 4a00001a 	c2	0x1a
+[0-9a-f]+ <[^>]*> 4a00001b 	c2	0x1b
+[0-9a-f]+ <[^>]*> 4a00001c 	c2	0x1c
+[0-9a-f]+ <[^>]*> 4a00001d 	c2	0x1d
+[0-9a-f]+ <[^>]*> 4a00001e 	c2	0x1e
+[0-9a-f]+ <[^>]*> 4a00001f 	c2	0x1f
+[0-9a-f]+ <[^>]*> 4a000020 	c2	0x20
+[0-9a-f]+ <[^>]*> 4a000021 	c2	0x21
+[0-9a-f]+ <[^>]*> 4a000022 	c2	0x22
+[0-9a-f]+ <[^>]*> 4a000023 	c2	0x23
+[0-9a-f]+ <[^>]*> 4a000024 	c2	0x24
+[0-9a-f]+ <[^>]*> 4a000025 	c2	0x25
+[0-9a-f]+ <[^>]*> 4a000026 	c2	0x26
+[0-9a-f]+ <[^>]*> 4a000027 	c2	0x27
+[0-9a-f]+ <[^>]*> 4a000028 	c2	0x28
+[0-9a-f]+ <[^>]*> 4a000029 	c2	0x29
+[0-9a-f]+ <[^>]*> 4a00002a 	c2	0x2a
+[0-9a-f]+ <[^>]*> 4a00002b 	c2	0x2b
+[0-9a-f]+ <[^>]*> 4a00002c 	c2	0x2c
+[0-9a-f]+ <[^>]*> 4a00002d 	c2	0x2d
+[0-9a-f]+ <[^>]*> 4a00002e 	c2	0x2e
+[0-9a-f]+ <[^>]*> 4a00002f 	c2	0x2f
+[0-9a-f]+ <[^>]*> 4a000030 	c2	0x30
+[0-9a-f]+ <[^>]*> 4a000031 	c2	0x31
+[0-9a-f]+ <[^>]*> 4a000032 	c2	0x32
+[0-9a-f]+ <[^>]*> 4a000033 	c2	0x33
+[0-9a-f]+ <[^>]*> 4a000034 	c2	0x34
+[0-9a-f]+ <[^>]*> 4a000035 	c2	0x35
+[0-9a-f]+ <[^>]*> 4a000036 	c2	0x36
+[0-9a-f]+ <[^>]*> 4a000037 	c2	0x37
+[0-9a-f]+ <[^>]*> 4a000038 	c2	0x38
+[0-9a-f]+ <[^>]*> 4a000039 	c2	0x39
+[0-9a-f]+ <[^>]*> 4a00003a 	c2	0x3a
+[0-9a-f]+ <[^>]*> 4a00003b 	c2	0x3b
+[0-9a-f]+ <[^>]*> 4a00003c 	c2	0x3c
+[0-9a-f]+ <[^>]*> 4a00003d 	c2	0x3d
+[0-9a-f]+ <[^>]*> 4a00003e 	c2	0x3e
+[0-9a-f]+ <[^>]*> 4a00003f 	c2	0x3f
+[0-9a-f]+ <[^>]*> 4b000000 	c2	0x1000000
+[0-9a-f]+ <[^>]*> 4b000001 	c2	0x1000001
+[0-9a-f]+ <[^>]*> 4b000002 	c2	0x1000002
+[0-9a-f]+ <[^>]*> 4b000003 	c2	0x1000003
+[0-9a-f]+ <[^>]*> 4b000004 	c2	0x1000004
+[0-9a-f]+ <[^>]*> 4b000005 	c2	0x1000005
+[0-9a-f]+ <[^>]*> 4b000006 	c2	0x1000006
+[0-9a-f]+ <[^>]*> 4b000007 	c2	0x1000007
+[0-9a-f]+ <[^>]*> 4b000008 	c2	0x1000008
+[0-9a-f]+ <[^>]*> 4b000009 	c2	0x1000009
+[0-9a-f]+ <[^>]*> 4b00000a 	c2	0x100000a
+[0-9a-f]+ <[^>]*> 4b00000b 	c2	0x100000b
+[0-9a-f]+ <[^>]*> 4b00000c 	c2	0x100000c
+[0-9a-f]+ <[^>]*> 4b00000d 	c2	0x100000d
+[0-9a-f]+ <[^>]*> 4b00000e 	c2	0x100000e
+[0-9a-f]+ <[^>]*> 4b00000f 	c2	0x100000f
+[0-9a-f]+ <[^>]*> 4b000010 	c2	0x1000010
+[0-9a-f]+ <[^>]*> 4b000011 	c2	0x1000011
+[0-9a-f]+ <[^>]*> 4b000012 	c2	0x1000012
+[0-9a-f]+ <[^>]*> 4b000013 	c2	0x1000013
+[0-9a-f]+ <[^>]*> 4b000014 	c2	0x1000014
+[0-9a-f]+ <[^>]*> 4b000015 	c2	0x1000015
+[0-9a-f]+ <[^>]*> 4b000016 	c2	0x1000016
+[0-9a-f]+ <[^>]*> 4b000017 	c2	0x1000017
+[0-9a-f]+ <[^>]*> 4b000018 	c2	0x1000018
+[0-9a-f]+ <[^>]*> 4b000019 	c2	0x1000019
+[0-9a-f]+ <[^>]*> 4b00001a 	c2	0x100001a
+[0-9a-f]+ <[^>]*> 4b00001b 	c2	0x100001b
+[0-9a-f]+ <[^>]*> 4b00001c 	c2	0x100001c
+[0-9a-f]+ <[^>]*> 4b00001d 	c2	0x100001d
+[0-9a-f]+ <[^>]*> 4b00001e 	c2	0x100001e
+[0-9a-f]+ <[^>]*> 4b00001f 	c2	0x100001f
+[0-9a-f]+ <[^>]*> 4b000020 	c2	0x1000020
+[0-9a-f]+ <[^>]*> 4b000021 	c2	0x1000021
+[0-9a-f]+ <[^>]*> 4b000022 	c2	0x1000022
+[0-9a-f]+ <[^>]*> 4b000023 	c2	0x1000023
+[0-9a-f]+ <[^>]*> 4b000024 	c2	0x1000024
+[0-9a-f]+ <[^>]*> 4b000025 	c2	0x1000025
+[0-9a-f]+ <[^>]*> 4b000026 	c2	0x1000026
+[0-9a-f]+ <[^>]*> 4b000027 	c2	0x1000027
+[0-9a-f]+ <[^>]*> 4b000028 	c2	0x1000028
+[0-9a-f]+ <[^>]*> 4b000029 	c2	0x1000029
+[0-9a-f]+ <[^>]*> 4b00002a 	c2	0x100002a
+[0-9a-f]+ <[^>]*> 4b00002b 	c2	0x100002b
+[0-9a-f]+ <[^>]*> 4b00002c 	c2	0x100002c
+[0-9a-f]+ <[^>]*> 4b00002d 	c2	0x100002d
+[0-9a-f]+ <[^>]*> 4b00002e 	c2	0x100002e
+[0-9a-f]+ <[^>]*> 4b00002f 	c2	0x100002f
+[0-9a-f]+ <[^>]*> 4b000030 	c2	0x1000030
+[0-9a-f]+ <[^>]*> 4b000031 	c2	0x1000031
+[0-9a-f]+ <[^>]*> 4b000032 	c2	0x1000032
+[0-9a-f]+ <[^>]*> 4b000033 	c2	0x1000033
+[0-9a-f]+ <[^>]*> 4b000034 	c2	0x1000034
+[0-9a-f]+ <[^>]*> 4b000035 	c2	0x1000035
+[0-9a-f]+ <[^>]*> 4b000036 	c2	0x1000036
+[0-9a-f]+ <[^>]*> 4b000037 	c2	0x1000037
+[0-9a-f]+ <[^>]*> 4b000038 	c2	0x1000038
+[0-9a-f]+ <[^>]*> 4b000039 	c2	0x1000039
+[0-9a-f]+ <[^>]*> 4b00003a 	c2	0x100003a
+[0-9a-f]+ <[^>]*> 4b00003b 	c2	0x100003b
+[0-9a-f]+ <[^>]*> 4b00003c 	c2	0x100003c
+[0-9a-f]+ <[^>]*> 4b00003d 	c2	0x100003d
+[0-9a-f]+ <[^>]*> 4b00003e 	c2	0x100003e
+[0-9a-f]+ <[^>]*> 4b00003f 	c2	0x100003f
+	\.\.\.
diff --git a/gas/testsuite/gas/mips/c2.l b/gas/testsuite/gas/mips/c2.l
new file mode 100644
index 00000000000..b1934288e06
--- /dev/null
+++ b/gas/testsuite/gas/mips/c2.l
@@ -0,0 +1,257 @@
+.*: Assembler messages:
+.*:3: Error: opcode not supported on this processor: .* \(.*\) `c2 0x00'
+.*:4: Error: opcode not supported on this processor: .* \(.*\) `c2 0x01'
+.*:5: Error: opcode not supported on this processor: .* \(.*\) `c2 0x02'
+.*:6: Error: opcode not supported on this processor: .* \(.*\) `c2 0x03'
+.*:7: Error: opcode not supported on this processor: .* \(.*\) `c2 0x04'
+.*:8: Error: opcode not supported on this processor: .* \(.*\) `c2 0x05'
+.*:9: Error: opcode not supported on this processor: .* \(.*\) `c2 0x06'
+.*:10: Error: opcode not supported on this processor: .* \(.*\) `c2 0x07'
+.*:11: Error: opcode not supported on this processor: .* \(.*\) `c2 0x08'
+.*:12: Error: opcode not supported on this processor: .* \(.*\) `c2 0x09'
+.*:13: Error: opcode not supported on this processor: .* \(.*\) `c2 0x0a'
+.*:14: Error: opcode not supported on this processor: .* \(.*\) `c2 0x0b'
+.*:15: Error: opcode not supported on this processor: .* \(.*\) `c2 0x0c'
+.*:16: Error: opcode not supported on this processor: .* \(.*\) `c2 0x0d'
+.*:17: Error: opcode not supported on this processor: .* \(.*\) `c2 0x0e'
+.*:18: Error: opcode not supported on this processor: .* \(.*\) `c2 0x0f'
+.*:19: Error: opcode not supported on this processor: .* \(.*\) `c2 0x10'
+.*:20: Error: opcode not supported on this processor: .* \(.*\) `c2 0x11'
+.*:21: Error: opcode not supported on this processor: .* \(.*\) `c2 0x12'
+.*:22: Error: opcode not supported on this processor: .* \(.*\) `c2 0x13'
+.*:23: Error: opcode not supported on this processor: .* \(.*\) `c2 0x14'
+.*:24: Error: opcode not supported on this processor: .* \(.*\) `c2 0x15'
+.*:25: Error: opcode not supported on this processor: .* \(.*\) `c2 0x16'
+.*:26: Error: opcode not supported on this processor: .* \(.*\) `c2 0x17'
+.*:27: Error: opcode not supported on this processor: .* \(.*\) `c2 0x18'
+.*:28: Error: opcode not supported on this processor: .* \(.*\) `c2 0x19'
+.*:29: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1a'
+.*:30: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1b'
+.*:31: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1c'
+.*:32: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1d'
+.*:33: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1e'
+.*:34: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1f'
+.*:35: Error: opcode not supported on this processor: .* \(.*\) `c2 0x20'
+.*:36: Error: opcode not supported on this processor: .* \(.*\) `c2 0x21'
+.*:37: Error: opcode not supported on this processor: .* \(.*\) `c2 0x22'
+.*:38: Error: opcode not supported on this processor: .* \(.*\) `c2 0x23'
+.*:39: Error: opcode not supported on this processor: .* \(.*\) `c2 0x24'
+.*:40: Error: opcode not supported on this processor: .* \(.*\) `c2 0x25'
+.*:41: Error: opcode not supported on this processor: .* \(.*\) `c2 0x26'
+.*:42: Error: opcode not supported on this processor: .* \(.*\) `c2 0x27'
+.*:43: Error: opcode not supported on this processor: .* \(.*\) `c2 0x28'
+.*:44: Error: opcode not supported on this processor: .* \(.*\) `c2 0x29'
+.*:45: Error: opcode not supported on this processor: .* \(.*\) `c2 0x2a'
+.*:46: Error: opcode not supported on this processor: .* \(.*\) `c2 0x2b'
+.*:47: Error: opcode not supported on this processor: .* \(.*\) `c2 0x2c'
+.*:48: Error: opcode not supported on this processor: .* \(.*\) `c2 0x2d'
+.*:49: Error: opcode not supported on this processor: .* \(.*\) `c2 0x2e'
+.*:50: Error: opcode not supported on this processor: .* \(.*\) `c2 0x2f'
+.*:51: Error: opcode not supported on this processor: .* \(.*\) `c2 0x30'
+.*:52: Error: opcode not supported on this processor: .* \(.*\) `c2 0x31'
+.*:53: Error: opcode not supported on this processor: .* \(.*\) `c2 0x32'
+.*:54: Error: opcode not supported on this processor: .* \(.*\) `c2 0x33'
+.*:55: Error: opcode not supported on this processor: .* \(.*\) `c2 0x34'
+.*:56: Error: opcode not supported on this processor: .* \(.*\) `c2 0x35'
+.*:57: Error: opcode not supported on this processor: .* \(.*\) `c2 0x36'
+.*:58: Error: opcode not supported on this processor: .* \(.*\) `c2 0x37'
+.*:59: Error: opcode not supported on this processor: .* \(.*\) `c2 0x38'
+.*:60: Error: opcode not supported on this processor: .* \(.*\) `c2 0x39'
+.*:61: Error: opcode not supported on this processor: .* \(.*\) `c2 0x3a'
+.*:62: Error: opcode not supported on this processor: .* \(.*\) `c2 0x3b'
+.*:63: Error: opcode not supported on this processor: .* \(.*\) `c2 0x3c'
+.*:64: Error: opcode not supported on this processor: .* \(.*\) `c2 0x3d'
+.*:65: Error: opcode not supported on this processor: .* \(.*\) `c2 0x3e'
+.*:66: Error: opcode not supported on this processor: .* \(.*\) `c2 0x3f'
+.*:68: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000000'
+.*:69: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000001'
+.*:70: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000002'
+.*:71: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000003'
+.*:72: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000004'
+.*:73: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000005'
+.*:74: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000006'
+.*:75: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000007'
+.*:76: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000008'
+.*:77: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000009'
+.*:78: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100000a'
+.*:79: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100000b'
+.*:80: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100000c'
+.*:81: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100000d'
+.*:82: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100000e'
+.*:83: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100000f'
+.*:84: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000010'
+.*:85: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000011'
+.*:86: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000012'
+.*:87: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000013'
+.*:88: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000014'
+.*:89: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000015'
+.*:90: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000016'
+.*:91: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000017'
+.*:92: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000018'
+.*:93: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000019'
+.*:94: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100001a'
+.*:95: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100001b'
+.*:96: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100001c'
+.*:97: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100001d'
+.*:98: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100001e'
+.*:99: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100001f'
+.*:100: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000020'
+.*:101: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000021'
+.*:102: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000022'
+.*:103: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000023'
+.*:104: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000024'
+.*:105: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000025'
+.*:106: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000026'
+.*:107: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000027'
+.*:108: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000028'
+.*:109: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000029'
+.*:110: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100002a'
+.*:111: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100002b'
+.*:112: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100002c'
+.*:113: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100002d'
+.*:114: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100002e'
+.*:115: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100002f'
+.*:116: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000030'
+.*:117: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000031'
+.*:118: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000032'
+.*:119: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000033'
+.*:120: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000034'
+.*:121: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000035'
+.*:122: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000036'
+.*:123: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000037'
+.*:124: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000038'
+.*:125: Error: opcode not supported on this processor: .* \(.*\) `c2 0x1000039'
+.*:126: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100003a'
+.*:127: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100003b'
+.*:128: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100003c'
+.*:129: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100003d'
+.*:130: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100003e'
+.*:131: Error: opcode not supported on this processor: .* \(.*\) `c2 0x100003f'
+.*:133: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x00'
+.*:134: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x01'
+.*:135: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x02'
+.*:136: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x03'
+.*:137: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x04'
+.*:138: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x05'
+.*:139: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x06'
+.*:140: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x07'
+.*:141: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x08'
+.*:142: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x09'
+.*:143: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x0a'
+.*:144: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x0b'
+.*:145: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x0c'
+.*:146: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x0d'
+.*:147: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x0e'
+.*:148: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x0f'
+.*:149: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x10'
+.*:150: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x11'
+.*:151: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x12'
+.*:152: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x13'
+.*:153: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x14'
+.*:154: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x15'
+.*:155: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x16'
+.*:156: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x17'
+.*:157: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x18'
+.*:158: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x19'
+.*:159: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1a'
+.*:160: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1b'
+.*:161: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1c'
+.*:162: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1d'
+.*:163: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1e'
+.*:164: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1f'
+.*:165: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x20'
+.*:166: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x21'
+.*:167: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x22'
+.*:168: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x23'
+.*:169: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x24'
+.*:170: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x25'
+.*:171: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x26'
+.*:172: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x27'
+.*:173: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x28'
+.*:174: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x29'
+.*:175: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x2a'
+.*:176: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x2b'
+.*:177: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x2c'
+.*:178: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x2d'
+.*:179: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x2e'
+.*:180: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x2f'
+.*:181: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x30'
+.*:182: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x31'
+.*:183: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x32'
+.*:184: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x33'
+.*:185: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x34'
+.*:186: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x35'
+.*:187: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x36'
+.*:188: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x37'
+.*:189: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x38'
+.*:190: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x39'
+.*:191: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x3a'
+.*:192: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x3b'
+.*:193: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x3c'
+.*:194: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x3d'
+.*:195: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x3e'
+.*:196: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x3f'
+.*:198: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000000'
+.*:199: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000001'
+.*:200: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000002'
+.*:201: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000003'
+.*:202: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000004'
+.*:203: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000005'
+.*:204: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000006'
+.*:205: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000007'
+.*:206: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000008'
+.*:207: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000009'
+.*:208: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100000a'
+.*:209: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100000b'
+.*:210: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100000c'
+.*:211: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100000d'
+.*:212: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100000e'
+.*:213: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100000f'
+.*:214: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000010'
+.*:215: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000011'
+.*:216: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000012'
+.*:217: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000013'
+.*:218: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000014'
+.*:219: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000015'
+.*:220: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000016'
+.*:221: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000017'
+.*:222: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000018'
+.*:223: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000019'
+.*:224: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100001a'
+.*:225: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100001b'
+.*:226: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100001c'
+.*:227: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100001d'
+.*:228: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100001e'
+.*:229: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100001f'
+.*:230: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000020'
+.*:231: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000021'
+.*:232: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000022'
+.*:233: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000023'
+.*:234: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000024'
+.*:235: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000025'
+.*:236: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000026'
+.*:237: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000027'
+.*:238: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000028'
+.*:239: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000029'
+.*:240: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100002a'
+.*:241: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100002b'
+.*:242: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100002c'
+.*:243: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100002d'
+.*:244: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100002e'
+.*:245: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100002f'
+.*:246: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000030'
+.*:247: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000031'
+.*:248: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000032'
+.*:249: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000033'
+.*:250: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000034'
+.*:251: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000035'
+.*:252: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000036'
+.*:253: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000037'
+.*:254: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000038'
+.*:255: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x1000039'
+.*:256: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100003a'
+.*:257: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100003b'
+.*:258: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100003c'
+.*:259: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100003d'
+.*:260: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100003e'
+.*:261: Error: opcode not supported on this processor: .* \(.*\) `cop2 0x100003f'
diff --git a/gas/testsuite/gas/mips/c2.s b/gas/testsuite/gas/mips/c2.s
new file mode 100644
index 00000000000..c28d2bf93ae
--- /dev/null
+++ b/gas/testsuite/gas/mips/c2.s
@@ -0,0 +1,265 @@
+	.text
+foo:
+	c2	0x00
+	c2	0x01
+	c2	0x02
+	c2	0x03
+	c2	0x04
+	c2	0x05
+	c2	0x06
+	c2	0x07
+	c2	0x08
+	c2	0x09
+	c2	0x0a
+	c2	0x0b
+	c2	0x0c
+	c2	0x0d
+	c2	0x0e
+	c2	0x0f
+	c2	0x10
+	c2	0x11
+	c2	0x12
+	c2	0x13
+	c2	0x14
+	c2	0x15
+	c2	0x16
+	c2	0x17
+	c2	0x18
+	c2	0x19
+	c2	0x1a
+	c2	0x1b
+	c2	0x1c
+	c2	0x1d
+	c2	0x1e
+	c2	0x1f
+	c2	0x20
+	c2	0x21
+	c2	0x22
+	c2	0x23
+	c2	0x24
+	c2	0x25
+	c2	0x26
+	c2	0x27
+	c2	0x28
+	c2	0x29
+	c2	0x2a
+	c2	0x2b
+	c2	0x2c
+	c2	0x2d
+	c2	0x2e
+	c2	0x2f
+	c2	0x30
+	c2	0x31
+	c2	0x32
+	c2	0x33
+	c2	0x34
+	c2	0x35
+	c2	0x36
+	c2	0x37
+	c2	0x38
+	c2	0x39
+	c2	0x3a
+	c2	0x3b
+	c2	0x3c
+	c2	0x3d
+	c2	0x3e
+	c2	0x3f
+
+	c2	0x1000000
+	c2	0x1000001
+	c2	0x1000002
+	c2	0x1000003
+	c2	0x1000004
+	c2	0x1000005
+	c2	0x1000006
+	c2	0x1000007
+	c2	0x1000008
+	c2	0x1000009
+	c2	0x100000a
+	c2	0x100000b
+	c2	0x100000c
+	c2	0x100000d
+	c2	0x100000e
+	c2	0x100000f
+	c2	0x1000010
+	c2	0x1000011
+	c2	0x1000012
+	c2	0x1000013
+	c2	0x1000014
+	c2	0x1000015
+	c2	0x1000016
+	c2	0x1000017
+	c2	0x1000018
+	c2	0x1000019
+	c2	0x100001a
+	c2	0x100001b
+	c2	0x100001c
+	c2	0x100001d
+	c2	0x100001e
+	c2	0x100001f
+	c2	0x1000020
+	c2	0x1000021
+	c2	0x1000022
+	c2	0x1000023
+	c2	0x1000024
+	c2	0x1000025
+	c2	0x1000026
+	c2	0x1000027
+	c2	0x1000028
+	c2	0x1000029
+	c2	0x100002a
+	c2	0x100002b
+	c2	0x100002c
+	c2	0x100002d
+	c2	0x100002e
+	c2	0x100002f
+	c2	0x1000030
+	c2	0x1000031
+	c2	0x1000032
+	c2	0x1000033
+	c2	0x1000034
+	c2	0x1000035
+	c2	0x1000036
+	c2	0x1000037
+	c2	0x1000038
+	c2	0x1000039
+	c2	0x100003a
+	c2	0x100003b
+	c2	0x100003c
+	c2	0x100003d
+	c2	0x100003e
+	c2	0x100003f
+
+	cop2	0x00
+	cop2	0x01
+	cop2	0x02
+	cop2	0x03
+	cop2	0x04
+	cop2	0x05
+	cop2	0x06
+	cop2	0x07
+	cop2	0x08
+	cop2	0x09
+	cop2	0x0a
+	cop2	0x0b
+	cop2	0x0c
+	cop2	0x0d
+	cop2	0x0e
+	cop2	0x0f
+	cop2	0x10
+	cop2	0x11
+	cop2	0x12
+	cop2	0x13
+	cop2	0x14
+	cop2	0x15
+	cop2	0x16
+	cop2	0x17
+	cop2	0x18
+	cop2	0x19
+	cop2	0x1a
+	cop2	0x1b
+	cop2	0x1c
+	cop2	0x1d
+	cop2	0x1e
+	cop2	0x1f
+	cop2	0x20
+	cop2	0x21
+	cop2	0x22
+	cop2	0x23
+	cop2	0x24
+	cop2	0x25
+	cop2	0x26
+	cop2	0x27
+	cop2	0x28
+	cop2	0x29
+	cop2	0x2a
+	cop2	0x2b
+	cop2	0x2c
+	cop2	0x2d
+	cop2	0x2e
+	cop2	0x2f
+	cop2	0x30
+	cop2	0x31
+	cop2	0x32
+	cop2	0x33
+	cop2	0x34
+	cop2	0x35
+	cop2	0x36
+	cop2	0x37
+	cop2	0x38
+	cop2	0x39
+	cop2	0x3a
+	cop2	0x3b
+	cop2	0x3c
+	cop2	0x3d
+	cop2	0x3e
+	cop2	0x3f
+
+	cop2	0x1000000
+	cop2	0x1000001
+	cop2	0x1000002
+	cop2	0x1000003
+	cop2	0x1000004
+	cop2	0x1000005
+	cop2	0x1000006
+	cop2	0x1000007
+	cop2	0x1000008
+	cop2	0x1000009
+	cop2	0x100000a
+	cop2	0x100000b
+	cop2	0x100000c
+	cop2	0x100000d
+	cop2	0x100000e
+	cop2	0x100000f
+	cop2	0x1000010
+	cop2	0x1000011
+	cop2	0x1000012
+	cop2	0x1000013
+	cop2	0x1000014
+	cop2	0x1000015
+	cop2	0x1000016
+	cop2	0x1000017
+	cop2	0x1000018
+	cop2	0x1000019
+	cop2	0x100001a
+	cop2	0x100001b
+	cop2	0x100001c
+	cop2	0x100001d
+	cop2	0x100001e
+	cop2	0x100001f
+	cop2	0x1000020
+	cop2	0x1000021
+	cop2	0x1000022
+	cop2	0x1000023
+	cop2	0x1000024
+	cop2	0x1000025
+	cop2	0x1000026
+	cop2	0x1000027
+	cop2	0x1000028
+	cop2	0x1000029
+	cop2	0x100002a
+	cop2	0x100002b
+	cop2	0x100002c
+	cop2	0x100002d
+	cop2	0x100002e
+	cop2	0x100002f
+	cop2	0x1000030
+	cop2	0x1000031
+	cop2	0x1000032
+	cop2	0x1000033
+	cop2	0x1000034
+	cop2	0x1000035
+	cop2	0x1000036
+	cop2	0x1000037
+	cop2	0x1000038
+	cop2	0x1000039
+	cop2	0x100003a
+	cop2	0x100003b
+	cop2	0x100003c
+	cop2	0x100003d
+	cop2	0x100003e
+	cop2	0x100003f
+
+# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.align	4, 0
+	.space	16
diff --git a/gas/testsuite/gas/mips/c3.d b/gas/testsuite/gas/mips/c3.d
new file mode 100644
index 00000000000..f25a276c1e9
--- /dev/null
+++ b/gas/testsuite/gas/mips/c3.d
@@ -0,0 +1,4 @@
+#objdump: -d --prefix-addresses --show-raw-insn
+#name: MIPS C3/COP3 instructions
+#as: -32
+#error_output: c3.l
diff --git a/gas/testsuite/gas/mips/c3.l b/gas/testsuite/gas/mips/c3.l
new file mode 100644
index 00000000000..246680498cc
--- /dev/null
+++ b/gas/testsuite/gas/mips/c3.l
@@ -0,0 +1,257 @@
+.*: Assembler messages:
+.*:3: Error: opcode not supported on this processor: .* \(.*\) `c3 0x00'
+.*:4: Error: opcode not supported on this processor: .* \(.*\) `c3 0x01'
+.*:5: Error: opcode not supported on this processor: .* \(.*\) `c3 0x02'
+.*:6: Error: opcode not supported on this processor: .* \(.*\) `c3 0x03'
+.*:7: Error: opcode not supported on this processor: .* \(.*\) `c3 0x04'
+.*:8: Error: opcode not supported on this processor: .* \(.*\) `c3 0x05'
+.*:9: Error: opcode not supported on this processor: .* \(.*\) `c3 0x06'
+.*:10: Error: opcode not supported on this processor: .* \(.*\) `c3 0x07'
+.*:11: Error: opcode not supported on this processor: .* \(.*\) `c3 0x08'
+.*:12: Error: opcode not supported on this processor: .* \(.*\) `c3 0x09'
+.*:13: Error: opcode not supported on this processor: .* \(.*\) `c3 0x0a'
+.*:14: Error: opcode not supported on this processor: .* \(.*\) `c3 0x0b'
+.*:15: Error: opcode not supported on this processor: .* \(.*\) `c3 0x0c'
+.*:16: Error: opcode not supported on this processor: .* \(.*\) `c3 0x0d'
+.*:17: Error: opcode not supported on this processor: .* \(.*\) `c3 0x0e'
+.*:18: Error: opcode not supported on this processor: .* \(.*\) `c3 0x0f'
+.*:19: Error: opcode not supported on this processor: .* \(.*\) `c3 0x10'
+.*:20: Error: opcode not supported on this processor: .* \(.*\) `c3 0x11'
+.*:21: Error: opcode not supported on this processor: .* \(.*\) `c3 0x12'
+.*:22: Error: opcode not supported on this processor: .* \(.*\) `c3 0x13'
+.*:23: Error: opcode not supported on this processor: .* \(.*\) `c3 0x14'
+.*:24: Error: opcode not supported on this processor: .* \(.*\) `c3 0x15'
+.*:25: Error: opcode not supported on this processor: .* \(.*\) `c3 0x16'
+.*:26: Error: opcode not supported on this processor: .* \(.*\) `c3 0x17'
+.*:27: Error: opcode not supported on this processor: .* \(.*\) `c3 0x18'
+.*:28: Error: opcode not supported on this processor: .* \(.*\) `c3 0x19'
+.*:29: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1a'
+.*:30: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1b'
+.*:31: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1c'
+.*:32: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1d'
+.*:33: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1e'
+.*:34: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1f'
+.*:35: Error: opcode not supported on this processor: .* \(.*\) `c3 0x20'
+.*:36: Error: opcode not supported on this processor: .* \(.*\) `c3 0x21'
+.*:37: Error: opcode not supported on this processor: .* \(.*\) `c3 0x22'
+.*:38: Error: opcode not supported on this processor: .* \(.*\) `c3 0x23'
+.*:39: Error: opcode not supported on this processor: .* \(.*\) `c3 0x24'
+.*:40: Error: opcode not supported on this processor: .* \(.*\) `c3 0x25'
+.*:41: Error: opcode not supported on this processor: .* \(.*\) `c3 0x26'
+.*:42: Error: opcode not supported on this processor: .* \(.*\) `c3 0x27'
+.*:43: Error: opcode not supported on this processor: .* \(.*\) `c3 0x28'
+.*:44: Error: opcode not supported on this processor: .* \(.*\) `c3 0x29'
+.*:45: Error: opcode not supported on this processor: .* \(.*\) `c3 0x2a'
+.*:46: Error: opcode not supported on this processor: .* \(.*\) `c3 0x2b'
+.*:47: Error: opcode not supported on this processor: .* \(.*\) `c3 0x2c'
+.*:48: Error: opcode not supported on this processor: .* \(.*\) `c3 0x2d'
+.*:49: Error: opcode not supported on this processor: .* \(.*\) `c3 0x2e'
+.*:50: Error: opcode not supported on this processor: .* \(.*\) `c3 0x2f'
+.*:51: Error: opcode not supported on this processor: .* \(.*\) `c3 0x30'
+.*:52: Error: opcode not supported on this processor: .* \(.*\) `c3 0x31'
+.*:53: Error: opcode not supported on this processor: .* \(.*\) `c3 0x32'
+.*:54: Error: opcode not supported on this processor: .* \(.*\) `c3 0x33'
+.*:55: Error: opcode not supported on this processor: .* \(.*\) `c3 0x34'
+.*:56: Error: opcode not supported on this processor: .* \(.*\) `c3 0x35'
+.*:57: Error: opcode not supported on this processor: .* \(.*\) `c3 0x36'
+.*:58: Error: opcode not supported on this processor: .* \(.*\) `c3 0x37'
+.*:59: Error: opcode not supported on this processor: .* \(.*\) `c3 0x38'
+.*:60: Error: opcode not supported on this processor: .* \(.*\) `c3 0x39'
+.*:61: Error: opcode not supported on this processor: .* \(.*\) `c3 0x3a'
+.*:62: Error: opcode not supported on this processor: .* \(.*\) `c3 0x3b'
+.*:63: Error: opcode not supported on this processor: .* \(.*\) `c3 0x3c'
+.*:64: Error: opcode not supported on this processor: .* \(.*\) `c3 0x3d'
+.*:65: Error: opcode not supported on this processor: .* \(.*\) `c3 0x3e'
+.*:66: Error: opcode not supported on this processor: .* \(.*\) `c3 0x3f'
+.*:68: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000000'
+.*:69: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000001'
+.*:70: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000002'
+.*:71: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000003'
+.*:72: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000004'
+.*:73: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000005'
+.*:74: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000006'
+.*:75: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000007'
+.*:76: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000008'
+.*:77: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000009'
+.*:78: Error: opcode not supported on this processor: .* \(.*\) `c3 0x100000a'
+.*:79: Error: opcode not supported on this processor: .* \(.*\) `c3 0x100000b'
+.*:80: Error: opcode not supported on this processor: .* \(.*\) `c3 0x100000c'
+.*:81: Error: opcode not supported on this processor: .* \(.*\) `c3 0x100000d'
+.*:82: Error: opcode not supported on this processor: .* \(.*\) `c3 0x100000e'
+.*:83: Error: opcode not supported on this processor: .* \(.*\) `c3 0x100000f'
+.*:84: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000010'
+.*:85: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000011'
+.*:86: Error: opcode not supported on this processor: .* \(.*\) `c3 0x1000012'
+.*:87: Error: opcode not supported on this processor: .* \(.*\) `c3 0x10[...]

[diff truncated at 100000 bytes]


More information about the Binutils-cvs mailing list