summaryrefslogtreecommitdiffstats
path: root/gas
diff options
context:
space:
mode:
authorStan Cox <scox@redhat.com>2003-01-03 21:38:50 +0000
committerStan Cox <scox@redhat.com>2003-01-03 21:38:50 +0000
commita99bcdd0d53e7959bbbc3e574f957f324ac6a23a (patch)
tree6e85f3a947692f5b2979212fba2481cb2529b863 /gas
parenta75473eb669e29b5a60695988da32f2c5449d530 (diff)
downloadppe42-binutils-a99bcdd0d53e7959bbbc3e574f957f324ac6a23a.tar.gz
ppe42-binutils-a99bcdd0d53e7959bbbc3e574f957f324ac6a23a.zip
* gas/iq2000: New testsuite.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog4
-rw-r--r--gas/testsuite/gas/iq2000/allinsn.d442
-rw-r--r--gas/testsuite/gas/iq2000/allinsn.exp6
-rw-r--r--gas/testsuite/gas/iq2000/allinsn.s582
-rw-r--r--gas/testsuite/gas/iq2000/hazard0.s11
-rw-r--r--gas/testsuite/gas/iq2000/hazard1.s11
-rw-r--r--gas/testsuite/gas/iq2000/hazard2.s11
-rw-r--r--gas/testsuite/gas/iq2000/hazard3.s14
-rw-r--r--gas/testsuite/gas/iq2000/hazard4.s11
-rw-r--r--gas/testsuite/gas/iq2000/hazard5.s11
-rw-r--r--gas/testsuite/gas/iq2000/load-hazards.exp63
-rw-r--r--gas/testsuite/gas/iq2000/nohazard.s20
-rw-r--r--gas/testsuite/gas/iq2000/noyield.s13
-rw-r--r--gas/testsuite/gas/iq2000/odd-ldw.exp6
-rw-r--r--gas/testsuite/gas/iq2000/odd-sdw.exp6
-rw-r--r--gas/testsuite/gas/iq2000/oddldw.s10
-rw-r--r--gas/testsuite/gas/iq2000/oddsdw.s10
-rw-r--r--gas/testsuite/gas/iq2000/q10allinsn.d492
-rw-r--r--gas/testsuite/gas/iq2000/q10allinsn.s641
-rw-r--r--gas/testsuite/gas/iq2000/q10hazard3.s14
-rw-r--r--gas/testsuite/gas/iq2000/q10hazard4.s11
-rw-r--r--gas/testsuite/gas/iq2000/q10hazard5.s11
-rw-r--r--gas/testsuite/gas/iq2000/q10load-hazards.exp62
-rw-r--r--gas/testsuite/gas/iq2000/q10nohazard.s20
-rw-r--r--gas/testsuite/gas/iq2000/q10noyield.s14
-rw-r--r--gas/testsuite/gas/iq2000/q10test0.d361
-rw-r--r--gas/testsuite/gas/iq2000/q10test0.s354
-rw-r--r--gas/testsuite/gas/iq2000/q10test1.d317
-rw-r--r--gas/testsuite/gas/iq2000/q10test1.s310
-rw-r--r--gas/testsuite/gas/iq2000/q10test10.d301
-rw-r--r--gas/testsuite/gas/iq2000/q10test10.s294
-rw-r--r--gas/testsuite/gas/iq2000/q10test11.d225
-rw-r--r--gas/testsuite/gas/iq2000/q10test11.s218
-rw-r--r--gas/testsuite/gas/iq2000/q10test12.d221
-rw-r--r--gas/testsuite/gas/iq2000/q10test12.s214
-rw-r--r--gas/testsuite/gas/iq2000/q10test2.d319
-rw-r--r--gas/testsuite/gas/iq2000/q10test2.s312
-rw-r--r--gas/testsuite/gas/iq2000/q10test3.d313
-rw-r--r--gas/testsuite/gas/iq2000/q10test3.s306
-rw-r--r--gas/testsuite/gas/iq2000/q10test4.d315
-rw-r--r--gas/testsuite/gas/iq2000/q10test4.s308
-rw-r--r--gas/testsuite/gas/iq2000/q10test5.d315
-rw-r--r--gas/testsuite/gas/iq2000/q10test5.s308
-rw-r--r--gas/testsuite/gas/iq2000/q10test6.d315
-rw-r--r--gas/testsuite/gas/iq2000/q10test6.s308
-rw-r--r--gas/testsuite/gas/iq2000/q10test7.d301
-rw-r--r--gas/testsuite/gas/iq2000/q10test7.s294
-rw-r--r--gas/testsuite/gas/iq2000/q10test8.d327
-rw-r--r--gas/testsuite/gas/iq2000/q10test8.s286
-rw-r--r--gas/testsuite/gas/iq2000/q10test9.d291
-rw-r--r--gas/testsuite/gas/iq2000/q10test9.s284
-rw-r--r--gas/testsuite/gas/iq2000/q10yield.exp39
-rw-r--r--gas/testsuite/gas/iq2000/test.exp17
-rw-r--r--gas/testsuite/gas/iq2000/yield.exp39
-rw-r--r--gas/testsuite/gas/iq2000/yield0.s140
-rw-r--r--gas/testsuite/gas/iq2000/yield1.s9
-rw-r--r--gas/testsuite/gas/iq2000/yield2.s10
57 files changed, 10467 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index a010004895..3bb9a86e5c 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2003-01-02 Jeff Johnston <jjohnstn@redhat.com>
+
+ * gas/iq2000: New testsuite.
+
2003-01-02 Chris Demetriou <cgd@broadcom.com>
* gas/mips/elf_arch_mips32r2.d: Fix file description comment.
diff --git a/gas/testsuite/gas/iq2000/allinsn.d b/gas/testsuite/gas/iq2000/allinsn.d
new file mode 100644
index 0000000000..c7178cc13d
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/allinsn.d
@@ -0,0 +1,442 @@
+#as:
+#objdump: -dr
+#name: allinsn
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <add>:
+ 0: 00 00 00 20 add r0,r0,r0
+
+00000004 <addi>:
+ 4: 20 00 ff fc addi r0,r0,0xfffc
+
+00000008 <addiu>:
+ 8: 24 00 00 04 addiu r0,r0,0x4
+
+0000000c <addu>:
+ c: 00 00 00 21 addu r0,r0,r0
+
+00000010 <ado16>:
+ 10: 00 00 00 29 ado16 r0,r0,r0
+
+00000014 <and>:
+ 14: 00 00 00 24 and r0,r0,r0
+
+00000018 <andi>:
+ 18: 30 00 de ad andi r0,r0,0xdead
+
+0000001c <andoi>:
+ 1c: b0 00 00 00 andoi r0,r0,0x0
+
+00000020 <andoui>:
+ 20: fc 00 00 00 andoui r0,r0,0x0
+
+00000024 <mrgb>:
+ 24: 00 00 00 2d mrgb r0,r0,r0,0x0
+
+00000028 <nor>:
+ 28: 00 00 00 27 nor r0,r0,r0
+
+0000002c <or>:
+ 2c: 00 00 00 25 or r0,r0,r0
+
+00000030 <ori>:
+ 30: 34 00 ff ff ori r0,r0,0xffff
+
+00000034 <orui>:
+ 34: bc 00 00 00 orui r0,r0,0x0
+
+00000038 <ram>:
+ 38: 9c 00 00 00 ram r0,r0,0x0,0x0,0x0
+
+0000003c <sll>:
+ 3c: 00 00 00 00 nop
+
+00000040 <sllv>:
+ 40: 00 00 00 04 sllv r0,r0,r0
+
+00000044 <slmv>:
+ 44: 00 00 00 01 slmv r0,r0,r0,0x0
+
+00000048 <slt>:
+ 48: 00 00 00 2a slt r0,r0,r0
+
+0000004c <slti>:
+ 4c: 28 00 00 00 slti r0,r0,0x0
+
+00000050 <sltiu>:
+ 50: 2c 00 00 00 sltiu r0,r0,0x0
+
+00000054 <sltu>:
+ 54: 00 00 00 2b sltu r0,r0,r0
+
+00000058 <sra>:
+ 58: 00 00 00 03 sra r0,r0,0x0
+
+0000005c <srav>:
+ 5c: 00 00 00 07 srav r0,r0,r0
+
+00000060 <srl>:
+ 60: 00 00 00 02 srl r0,r0,0x0
+
+00000064 <srlv>:
+ 64: 00 00 00 06 srlv r0,r0,r0
+
+00000068 <srmv>:
+ 68: 00 00 00 05 srmv r0,r0,r0,0x0
+
+0000006c <sub>:
+ 6c: 00 00 00 22 sub r0,r0,r0
+
+00000070 <subu>:
+ 70: 00 00 00 23 subu r0,r0,r0
+
+00000074 <xor>:
+ 74: 00 00 00 26 xor r0,r0,r0
+
+00000078 <xori>:
+ 78: 38 00 00 00 xori r0,r0,0x0
+
+0000007c <bbi>:
+ 7c: 70 00 ff e0 bbi r0\(0x0\),0 <add>
+
+00000080 <bbin>:
+ 80: 78 00 ff df bbin r0\(0x0\),0 <add>
+
+00000084 <bbv>:
+ 84: 74 00 ff de bbv r0,r0,0 <add>
+
+00000088 <bbvn>:
+ 88: 7c 00 ff dd bbvn r0,r0,0 <add>
+
+0000008c <beq>:
+ 8c: 10 00 ff dc beq r0,r0,0 <add>
+
+00000090 <beql>:
+ 90: 50 00 ff db beql r0,r0,0 <add>
+
+00000094 <bgez>:
+ 94: 04 01 ff da bgez r0,0 <add>
+
+00000098 <bgezal>:
+ 98: 04 11 ff d9 bgezal r0,0 <add>
+
+0000009c <bgezall>:
+ 9c: 04 13 ff d8 bgezall r0,0 <add>
+
+000000a0 <bgezl>:
+ a0: 04 03 ff d7 bgezl r0,0 <add>
+
+000000a4 <bgtz>:
+ a4: 1c 00 ff d6 bgtz r0,0 <add>
+
+000000a8 <bgtzl>:
+ a8: 5c 00 ff d5 bgtzl r0,0 <add>
+
+000000ac <blez>:
+ ac: 18 00 ff d4 blez r0,0 <add>
+
+000000b0 <blezl>:
+ b0: 58 00 ff d3 blezl r0,0 <add>
+
+000000b4 <bltz>:
+ b4: 04 00 ff d2 bltz r0,0 <add>
+
+000000b8 <bltzl>:
+ b8: 04 02 ff d1 bltzl r0,0 <add>
+
+000000bc <bltzal>:
+ bc: 04 10 ff d0 bltzal r0,0 <add>
+
+000000c0 <bltzall>:
+ c0: 04 12 ff cf bltzall r0,0 <add>
+
+000000c4 <bmb>:
+ c4: b4 00 ff ce bmb r0,r0,0 <add>
+
+000000c8 <bmb0>:
+ c8: 60 00 ff cd bmb0 r0,r0,0 <add>
+
+000000cc <bmb1>:
+ cc: 64 00 ff cc bmb1 r0,r0,0 <add>
+
+000000d0 <bmb2>:
+ d0: 68 00 ff cb bmb2 r0,r0,0 <add>
+
+000000d4 <bmb3>:
+ d4: 6c 00 ff ca bmb3 r0,r0,0 <add>
+
+000000d8 <bne>:
+ d8: 14 00 ff c9 bne r0,r0,0 <add>
+
+000000dc <bnel>:
+ dc: 54 00 ff c8 bnel r0,r0,0 <add>
+
+000000e0 <bctxt>:
+ e0: 04 06 ff c7 bctxt r0,0 <add>
+
+000000e4 <bc0f>:
+ e4: 41 00 ff c6 bc0f 0 <add>
+
+000000e8 <bc0fl>:
+ e8: 41 02 ff c5 bc0fl 0 <add>
+
+000000ec <bc3f>:
+ ec: 4d 00 ff c4 bc3f 0 <add>
+
+000000f0 <bc3fl>:
+ f0: 4d 02 ff c3 bc3fl 0 <add>
+
+000000f4 <bc0t>:
+ f4: 41 01 ff c2 bc0t 0 <add>
+
+000000f8 <bc0tl>:
+ f8: 41 03 ff c1 bc0tl 0 <add>
+
+000000fc <bc3t>:
+ fc: 4d 01 ff c0 bc3t 0 <add>
+
+00000100 <bc3tl>:
+ 100: 4d 03 ff bf bc3tl 0 <add>
+
+00000104 <break>:
+ 104: 00 00 00 0d break
+
+00000108 <cfc0>:
+ 108: 40 40 00 00 cfc0 r0,r0
+
+0000010c <cfc1>:
+ 10c: 44 40 00 00 cfc1 r0,r0
+
+00000110 <cfc2>:
+ 110: 48 40 00 00 cfc2 r0,r0
+
+00000114 <cfc3>:
+ 114: 4c 40 00 00 cfc3 r0,r0
+
+00000118 <chkhdr>:
+ 118: 4d 20 00 00 chkhdr r0,r0
+
+0000011c <ctc0>:
+ 11c: 40 c0 00 00 ctc0 r0,r0
+
+00000120 <ctc1>:
+ 120: 44 c0 00 00 ctc1 r0,r0
+
+00000124 <ctc2>:
+ 124: 48 c0 00 00 ctc2 r0,r0
+
+00000128 <ctc3>:
+ 128: 4c c0 00 00 ctc3 r0,r0
+
+0000012c <jcr>:
+ 12c: 00 00 00 0a jcr r0
+ 130: 00 00 00 00 nop
+
+00000134 <luc32>:
+ 134: 48 20 00 03 luc32 r0,r0
+
+00000138 <luc32l>:
+ 138: 48 20 00 07 luc32l r0,r0
+
+0000013c <luc64>:
+ 13c: 48 20 00 0b luc64 r0,r0
+
+00000140 <luc64l>:
+ 140: 48 20 00 0f luc64l r0,r0
+
+00000144 <luk>:
+ 144: 48 20 00 08 luk r0,r0
+
+00000148 <lulck>:
+ 148: 48 20 00 04 lulck r0
+
+0000014c <lum32>:
+ 14c: 48 20 00 02 lum32 r0,r0
+
+00000150 <lum32l>:
+ 150: 48 20 00 06 lum32l r0,r0
+
+00000154 <lum64>:
+ 154: 48 20 00 0a lum64 r0,r0
+
+00000158 <lum64l>:
+ 158: 48 20 00 0e lum64l r0,r0
+
+0000015c <lur>:
+ 15c: 48 20 00 01 lur r0,r0
+
+00000160 <lurl>:
+ 160: 48 20 00 05 lurl r0,r0
+
+00000164 <luulck>:
+ 164: 48 20 00 00 luulck r0
+
+00000168 <mfc0>:
+ 168: 40 00 00 00 mfc0 r0,r0
+
+0000016c <mfc1>:
+ 16c: 44 00 00 00 mfc1 r0,r0
+
+00000170 <mfc2>:
+ 170: 48 00 00 00 mfc2 r0,r0
+
+00000174 <mfc3>:
+ 174: 4c 00 00 00 mfc3 r0,r0
+
+00000178 <mtc0>:
+ 178: 40 80 00 00 mtc0 r0,r0
+
+0000017c <mtc1>:
+ 17c: 44 80 00 00 mtc1 r0,r0
+
+00000180 <mtc2>:
+ 180: 48 80 00 00 mtc2 r0,r0
+
+00000184 <mtc3>:
+ 184: 4c 80 00 00 mtc3 r0,r0
+
+00000188 <rb>:
+ 188: 4c 20 00 04 rb r0,r0
+
+0000018c <rbr1>:
+ 18c: 4f 00 00 00 rbr1 r0,0x0,0x0
+
+00000190 <rbr30>:
+ 190: 4f 40 00 00 rbr30 r0,0x0,0x0
+
+00000194 <rfe>:
+ 194: 42 00 00 10 rfe
+
+00000198 <rx>:
+ 198: 4c 20 00 06 rx r0,r0
+
+0000019c <rxr1>:
+ 19c: 4f 80 00 00 rxr1 r0,0x0,0x0
+
+000001a0 <rxr30>:
+ 1a0: 4f c0 00 00 rxr30 r0,0x0,0x0
+
+000001a4 <sleep>:
+ 1a4: 00 00 00 0e sleep
+
+000001a8 <srrd>:
+ 1a8: 48 20 00 10 srrd r0
+
+000001ac <srrdl>:
+ 1ac: 48 20 00 14 srrdl r0
+
+000001b0 <srulck>:
+ 1b0: 48 20 00 16 srulck r0
+
+000001b4 <srwr>:
+ 1b4: 48 20 00 11 srwr r0,r0
+
+000001b8 <srwru>:
+ 1b8: 48 20 00 15 srwru r0,r0
+
+000001bc <syscall>:
+ 1bc: 00 00 00 0c syscall
+
+000001c0 <trapqfl>:
+ 1c0: 4c 20 00 08 trapqfl
+
+000001c4 <trapqne>:
+ 1c4: 4c 20 00 09 trapqne
+
+000001c8 <wb>:
+ 1c8: 4c 20 00 00 wb r0,r0
+
+000001cc <wbu>:
+ 1cc: 4c 20 00 01 wbu r0,r0
+
+000001d0 <wbr1>:
+ 1d0: 4e 03 00 00 wbr1 r3,0x0,0x0
+
+000001d4 <wbr1u>:
+ 1d4: 4e 20 00 00 wbr1u r0,0x0,0x0
+
+000001d8 <wbr30>:
+ 1d8: 4e 40 00 00 wbr30 r0,0x0,0x0
+
+000001dc <wbr30u>:
+ 1dc: 4e 60 00 00 wbr30u r0,0x0,0x0
+
+000001e0 <wx>:
+ 1e0: 4c 20 00 02 wx r0,r0
+
+000001e4 <wxu>:
+ 1e4: 4c 20 00 03 wxu r0,r0
+
+000001e8 <wxr1>:
+ 1e8: 4e 80 00 00 wxr1 r0,0x0,0x0
+
+000001ec <wxr1u>:
+ 1ec: 4e a0 00 00 wxr1u r0,0x0,0x0
+
+000001f0 <wxr30>:
+ 1f0: 4e c0 00 00 wxr30 r0,0x0,0x0
+
+000001f4 <wxr30u>:
+ 1f4: 4e e0 00 00 wxr30u r0,0x0,0x0
+
+000001f8 <j>:
+ 1f8: 08 00 00 00 j 0 <add>
+ 1f8: R_IQ2000_OFFSET_16 .text
+
+000001fc <jal>:
+ 1fc: 0c 00 00 00 jal 0 <add>
+ 1fc: R_IQ2000_OFFSET_16 .text
+
+00000200 <jalr>:
+ 200: 00 00 00 09 jalr r0,r0
+
+00000204 <jr>:
+ 204: 00 00 00 08 jr r0
+
+00000208 <lb>:
+ 208: 80 00 10 24 lb r0,0x1024\(r0\)
+
+0000020c <lbu>:
+ 20c: 90 00 10 24 lbu r0,0x1024\(r0\)
+
+00000210 <ldw>:
+ 210: c0 00 10 24 ldw r0,0x1024\(r0\)
+
+00000214 <lh>:
+ 214: 84 00 10 24 lh r0,0x1024\(r0\)
+
+00000218 <lhu>:
+ 218: 94 00 10 24 lhu r0,0x1024\(r0\)
+
+0000021c <lui>:
+ 21c: 3c 00 ff ff lui r0,0xffff
+
+00000220 <lw>:
+ 220: 8c 00 10 24 lw r0,0x1024\(r0\)
+
+00000224 <sb>:
+ 224: a0 00 10 24 sb r0,0x1024\(r0\)
+
+00000228 <sdw>:
+ 228: e0 00 10 24 sdw r0,0x1024\(r0\)
+
+0000022c <sh>:
+ 22c: a4 00 10 24 sh r0,0x1024\(r0\)
+
+00000230 <sw>:
+ 230: ac 00 10 24 sw r0,0x1024\(r0\)
+
+00000234 <traprel>:
+ 234: 4c 20 00 0a traprel r0
+
+00000238 <pkrl>:
+ 238: 4c 21 00 07 pkrl r0,r1
+
+0000023c <pkrlr1>:
+ 23c: 4f a0 00 00 pkrlr1 r0,0x0,0x0
+
+00000240 <pkrlr30>:
+ 240: 4f e0 00 00 pkrlr30 r0,0x0,0x0
diff --git a/gas/testsuite/gas/iq2000/allinsn.exp b/gas/testsuite/gas/iq2000/allinsn.exp
new file mode 100644
index 0000000000..20354e0126
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/allinsn.exp
@@ -0,0 +1,6 @@
+# IQ2000 assembler testsuite.
+
+if [istarget iq2000*-*-*] {
+ run_dump_test "allinsn"
+ run_dump_test "q10allinsn"
+}
diff --git a/gas/testsuite/gas/iq2000/allinsn.s b/gas/testsuite/gas/iq2000/allinsn.s
new file mode 100644
index 0000000000..872dbc463b
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/allinsn.s
@@ -0,0 +1,582 @@
+ .data
+foodata: .word 42
+ .text
+footext:
+ .text
+ .global add
+add:
+ add %0,%0,%0
+ .text
+ .global addi
+addi:
+ addi %0,%0,-4
+ .text
+ .global addiu
+addiu:
+ addiu %0,%0,4
+ .text
+ .global addu
+addu:
+ addu %0,%0,%0
+ .text
+ .global ado16
+ado16:
+ ado16 %0,%0,%0
+ .text
+ .global and
+and:
+ and %0,%0,%0
+ .text
+ .global andi
+andi:
+ andi %0,%0,0xdead
+ .text
+ .global andoi
+andoi:
+ andoi %0,%0,0
+ .text
+ .global andoui
+andoui:
+ andoui %0,%0,0
+ .text
+ .global mrgb
+mrgb:
+ mrgb %0,%0,%0,0
+ .text
+ .global nor
+nor:
+ nor %0,%0,%0
+ .text
+ .global or
+or:
+ or %0,%0,%0
+ .text
+ .global ori
+ori:
+ ori %0,%0,-1
+ .text
+ .global orui
+orui:
+ orui %0,%0,0
+ .text
+ .global ram
+ram:
+ ram %0,%0,0,0,0
+ .text
+ .global sll
+sll:
+ sll %0,%0,0
+ .text
+ .global sllv
+sllv:
+ sllv %0,%0,%0
+ .text
+ .global slmv
+slmv:
+ slmv %0,%0,%0,0
+ .text
+ .global slt
+slt:
+ slt %0,%0,%0
+ .text
+ .global slti
+slti:
+ slti %0,%0,0
+ .text
+ .global sltiu
+sltiu:
+ sltiu %0,%0,0
+ .text
+ .global sltu
+sltu:
+ sltu %0,%0,%0
+ .text
+ .global sra
+sra:
+ sra %0,%0,0
+ .text
+ .global srav
+srav:
+ srav %0,%0,%0
+ .text
+ .global srl
+srl:
+ srl %0,%0,0
+ .text
+ .global srlv
+srlv:
+ srlv %0,%0,%0
+ .text
+ .global srmv
+srmv:
+ srmv %0,%0,%0,0
+ .text
+ .global sub
+sub:
+ sub %0,%0,%0
+ .text
+ .global subu
+subu:
+ subu %0,%0,%0
+ .text
+ .global xor
+xor:
+ xor %0,%0,%0
+ .text
+ .global xori
+xori:
+ xori %0,%0,0
+ .text
+ .global bbi
+bbi:
+ bbi %0(0),footext
+ .text
+ .global bbin
+bbin:
+ bbin %0(0),footext
+ .text
+ .global bbv
+bbv:
+ bbv %0,%0,footext
+ .text
+ .global bbvn
+bbvn:
+ bbvn %0,%0,footext
+ .text
+ .global beq
+beq:
+ beq %0,%0,footext
+ .text
+ .global beql
+beql:
+ beql %0,%0,footext
+ .text
+ .global bgez
+bgez:
+ bgez %0,footext
+ .text
+ .global bgezal
+bgezal:
+ bgezal %0,footext
+ .text
+ .global bgezall
+bgezall:
+ bgezall %0,footext
+ .text
+ .global bgezl
+bgezl:
+ bgezl %0,footext
+ .text
+ .global bgtz
+bgtz:
+ bgtz %0,footext
+ .text
+ .global bgtzl
+bgtzl:
+ bgtzl %0,footext
+ .text
+ .global blez
+blez:
+ blez %0,footext
+ .text
+ .global blezl
+blezl:
+ blezl %0,footext
+ .text
+ .global bltz
+bltz:
+ bltz %0,footext
+ .text
+ .global bltzl
+bltzl:
+ bltzl %0,footext
+ .text
+ .global bltzal
+bltzal:
+ bltzal %0,footext
+ .text
+ .global bltzall
+bltzall:
+ bltzall %0,footext
+ .text
+ .global bmb
+bmb:
+ bmb %0,%0,footext
+ .text
+ .global bmb0
+bmb0:
+ bmb0 %0,%0,footext
+ .text
+ .global bmb1
+bmb1:
+ bmb1 %0,%0,footext
+ .text
+ .global bmb2
+bmb2:
+ bmb2 %0,%0,footext
+ .text
+ .global bmb3
+bmb3:
+ bmb3 %0,%0,footext
+ .text
+ .global bne
+bne:
+ bne %0,%0,footext
+ .text
+ .global bnel
+bnel:
+ bnel %0,%0,footext
+ .text
+ .global bctxt
+bctxt:
+ bctxt %0,footext
+ .text
+ .global bc0f
+bc0f:
+ bc0f footext
+ .text
+ .global bc0fl
+bc0fl:
+ bc0fl footext
+ .text
+ .global bc3f
+bc3f:
+ bc3f footext
+ .text
+ .global bc3fl
+bc3fl:
+ bc3fl footext
+ .text
+ .global bc0t
+bc0t:
+ bc0t footext
+ .text
+ .global bc0tl
+bc0tl:
+ bc0tl footext
+ .text
+ .global bc3t
+bc3t:
+ bc3t footext
+ .text
+ .global bc3tl
+bc3tl:
+ bc3tl footext
+ .text
+ .global break
+break:
+ break
+ .text
+ .global cfc0
+cfc0:
+ cfc0 %0,%0
+ .text
+ .global cfc1
+cfc1:
+ cfc1 %0,%0
+ .text
+ .global cfc2
+cfc2:
+ cfc2 %0,%0
+ .text
+ .global cfc3
+cfc3:
+ cfc3 %0,%0
+ .text
+ .global chkhdr
+chkhdr:
+ chkhdr %0,%0
+ .text
+ .global ctc0
+ctc0:
+ ctc0 %0,%0
+ .text
+ .global ctc1
+ctc1:
+ ctc1 %0,%0
+ .text
+ .global ctc2
+ctc2:
+ ctc2 %0,%0
+ .text
+ .global ctc3
+ctc3:
+ ctc3 %0,%0
+ .text
+ .global jcr
+jcr:
+ jcr %0
+ .text
+ .global luc32
+ nop
+luc32:
+ # insert a nop here to pacify the assembler (luc32 may not follow jcr).
+ luc32 %0,%0
+ .text
+ .global luc32l
+luc32l:
+ luc32l %0,%0
+ .text
+ .global luc64
+luc64:
+ luc64 %0,%0
+ .text
+ .global luc64l
+luc64l:
+ luc64l %0,%0
+ .text
+ .global luk
+luk:
+ luk %0,%0
+ .text
+ .global lulck
+lulck:
+ lulck %0
+ .text
+ .global lum32
+lum32:
+ lum32 %0,%0
+ .text
+ .global lum32l
+lum32l:
+ lum32l %0,%0
+ .text
+ .global lum64
+lum64:
+ lum64 %0,%0
+ .text
+ .global lum64l
+lum64l:
+ lum64l %0,%0
+ .text
+ .global lur
+lur:
+ lur %0,%0
+ .text
+ .global lurl
+lurl:
+ lurl %0,%0
+ .text
+ .global luulck
+luulck:
+ luulck %0
+ .text
+ .global mfc0
+mfc0:
+ mfc0 %0,%0
+ .text
+ .global mfc1
+mfc1:
+ mfc1 %0,%0
+ .text
+ .global mfc2
+mfc2:
+ mfc2 %0,%0
+ .text
+ .global mfc3
+mfc3:
+ mfc3 %0,%0
+ .text
+ .global mtc0
+mtc0:
+ mtc0 %0,%0
+ .text
+ .global mtc1
+mtc1:
+ mtc1 %0,%0
+ .text
+ .global mtc2
+mtc2:
+ mtc2 %0,%0
+ .text
+ .global mtc3
+mtc3:
+ mtc3 %0,%0
+ .text
+ .global rb
+rb:
+ rb %0,%0
+ .text
+ .global rbr1
+rbr1:
+ rbr1 %0,0,0
+ .text
+ .global rbr30
+rbr30:
+ rbr30 %0,0,0
+ .text
+ .global rfe
+rfe:
+ rfe
+ .text
+ .global rx
+rx:
+ rx %0,%0
+ .text
+ .global rxr1
+rxr1:
+ rxr1 %0,0,0
+ .text
+ .global rxr30
+rxr30:
+ rxr30 %0,0,0
+ .text
+ .global sleep
+sleep:
+ sleep
+ .text
+ .global srrd
+srrd:
+ srrd %0
+ .text
+ .global srrdl
+srrdl:
+ srrdl %0
+ .text
+ .global srulck
+srulck:
+ srulck %0
+ .text
+ .global srwr
+srwr:
+ srwr %0,%0
+ .text
+ .global srwru
+srwru:
+ srwru %0,%0
+ .text
+ .global syscall
+syscall:
+ syscall
+ .text
+ .global trapqfl
+trapqfl:
+ trapqfl
+ .text
+ .global trapqne
+trapqne:
+ trapqne
+ .text
+ .global wb
+wb:
+ wb %0,%0
+ .text
+ .global wbu
+wbu:
+ wbu %0,%0
+ .text
+ .global wbr1
+wbr1:
+ wbr1 %3,0,0
+ .text
+ .global wbr1u
+wbr1u:
+ wbr1u %0,0,0
+ .text
+ .global wbr30
+wbr30:
+ wbr30 %0,0,0
+ .text
+ .global wbr30u
+wbr30u:
+ wbr30u %0,0,0
+ .text
+ .global wx
+wx:
+ wx %0,%0
+ .text
+ .global wxu
+wxu:
+ wxu %0,%0
+ .text
+ .global wxr1
+wxr1:
+ wxr1 %0,0,0
+ .text
+ .global wxr1u
+wxr1u:
+ wxr1u %0,0,0
+ .text
+ .global wxr30
+wxr30:
+ wxr30 %0,0,0
+ .text
+ .global wxr30u
+wxr30u:
+ wxr30u %0,0,0
+ .text
+ .global j
+j:
+ j footext
+ .text
+ .global jal
+jal:
+ jal footext
+ .text
+ .global jalr
+jalr:
+ jalr %0,%0
+ .text
+ .global jr
+jr:
+ jr %0
+ .text
+ .global lb
+lb:
+ lb %0,0x1024(%0)
+ .text
+ .global lbu
+lbu:
+ lbu %0,0x1024(%0)
+ .text
+ .global ldw
+ldw:
+ ldw %0,0x1024(%0)
+ .text
+ .global lh
+lh:
+ lh %0,0x1024(%0)
+ .text
+ .global lhu
+lhu:
+ lhu %0,0x1024(%0)
+ .text
+ .global lui
+lui:
+ lui %0,-1
+ .text
+ .global lw
+lw:
+ lw %0,0x1024(%0)
+ .text
+ .global sb
+sb:
+ sb %0,0x1024(%0)
+ .text
+ .global sdw
+sdw:
+ sdw %0,0x1024(%0)
+ .text
+ .global sh
+sh:
+ sh %0,0x1024(%0)
+ .text
+ .global sw
+sw:
+ sw %0,0x1024(%0)
+ .text
+ .global traprel
+traprel:
+ traprel %0
+ .text
+ .global pkrl
+pkrl:
+ pkrl %0,%1
+ .text
+ .global pkrlr1
+pkrlr1:
+ pkrlr1 %0,0,0
+ .text
+ .global pkrlr30
+pkrlr30:
+ pkrlr30 %0,0,0
diff --git a/gas/testsuite/gas/iq2000/hazard0.s b/gas/testsuite/gas/iq2000/hazard0.s
new file mode 100644
index 0000000000..6c13af2643
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/hazard0.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %10, foodata(%1)
+ add %10, %1, %2
diff --git a/gas/testsuite/gas/iq2000/hazard1.s b/gas/testsuite/gas/iq2000/hazard1.s
new file mode 100644
index 0000000000..a9cee194f6
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/hazard1.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %1, foodata(%1)
+ add %0, %1, %2
diff --git a/gas/testsuite/gas/iq2000/hazard2.s b/gas/testsuite/gas/iq2000/hazard2.s
new file mode 100644
index 0000000000..cb45a5bef2
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/hazard2.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %2, foodata(%1)
+ add %0, %1, %2
diff --git a/gas/testsuite/gas/iq2000/hazard3.s b/gas/testsuite/gas/iq2000/hazard3.s
new file mode 100644
index 0000000000..fd8eda0edd
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/hazard3.s
@@ -0,0 +1,14 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %31, foodata(%1)
+ jal footext
+
+footext:
+ nop
diff --git a/gas/testsuite/gas/iq2000/hazard4.s b/gas/testsuite/gas/iq2000/hazard4.s
new file mode 100644
index 0000000000..86081146a0
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/hazard4.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ ldw %10, foodata(%12)
+ add %3, %10, %9
diff --git a/gas/testsuite/gas/iq2000/hazard5.s b/gas/testsuite/gas/iq2000/hazard5.s
new file mode 100644
index 0000000000..ecbacb753f
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/hazard5.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ ldw %8, foodata(%4)
+ add %8, %1, %9
diff --git a/gas/testsuite/gas/iq2000/load-hazards.exp b/gas/testsuite/gas/iq2000/load-hazards.exp
new file mode 100644
index 0000000000..654c96accc
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/load-hazards.exp
@@ -0,0 +1,63 @@
+# Test for warnings when producing load hazards (instructions that
+# reference the target of load one stage further down the pipeline.
+# Written by Ben Elliston (bje@redhat.com)
+
+# Run GAS and check that it emits the desired warning for the test case.
+# Arguments:
+# file -- name of the test case to assemble.
+# testname -- a string describing the test.
+# warnpattern -- a regular expression, suitable for use by the Tcl
+# regexp command, to decide if the warning string was emitted by
+# the assembler to stderr.
+
+proc iq2000_warning_test { file testname {warnpattern ""} } {
+ global comp_output
+
+ gas_run $file "" ">/dev/null"
+ verbose "output was $comp_output" 2
+
+ if {$warnpattern == ""} {
+ if {$comp_output == ""} { pass $testname } else { fail $testname }
+ return
+ }
+
+ if {[regexp "Warning: $warnpattern" $comp_output]} {
+ pass $testname
+ } else {
+ fail $testname
+ }
+}
+
+if [istarget iq2000*-*-*] {
+ foreach file [glob -nocomplain -- $srcdir/$subdir/hazard*.s] {
+ set file [file tail $file]
+ switch -- $file {
+ "hazard0.s" {
+ set warnpattern "operand references R10 of previous load"
+ }
+ "hazard1.s" {
+ set warnpattern "operand references R1 of previous load"
+ }
+ "hazard2.s" {
+ set warnpattern "operand references R2 of previous load"
+ }
+ "hazard3.s" {
+ set warnpattern "instruction implicitly accesses R31 of previous load"
+ }
+ "hazard4.s" {
+ set warnpattern "operand references R10 of previous load"
+ }
+ "hazard5.s" {
+ set warnpattern "operand references R8 of previous load"
+ }
+ default {
+ error "no expected result specified for $file"
+ return
+ }
+ }
+ iq2000_warning_test $file "assembler emits load hazard warning for $file" $warnpattern
+ }
+
+ set testname "assembler emits no warnings when there are no load hazards"
+ iq2000_warning_test nohazard.s $testname
+}
diff --git a/gas/testsuite/gas/iq2000/nohazard.s b/gas/testsuite/gas/iq2000/nohazard.s
new file mode 100644
index 0000000000..fb2531726e
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/nohazard.s
@@ -0,0 +1,20 @@
+# This test case includes a number of cases where there is no load
+# hazard between a load and the instruction which follows it in
+# the pipeline.
+
+.data
+.text
+ lw %0, 0x40(%0)
+ add %1, %2, %3
+ lh %0, 0x80(%0)
+ add %1, %2, %3
+ lb %0, 0x80(%0)
+ add %1, %2, %3
+ lw %0, 0x80(%0)
+ nop
+ add %0, %0, %0
+ ldw %0, 0x80(%3)
+ nop
+ ldw %0, 0x80(%3)
+ add %2, %3, %4
+ \ No newline at end of file
diff --git a/gas/testsuite/gas/iq2000/noyield.s b/gas/testsuite/gas/iq2000/noyield.s
new file mode 100644
index 0000000000..119622b121
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/noyield.s
@@ -0,0 +1,13 @@
+# This test case includes a number of cases where a yield instruction
+# (e.g. SLEEP) does NOT appear in the branch delay slot.
+
+.text
+test1: beq %0, %0, test2
+ # nop in the branch delay slot.
+ nop
+test2: sleep
+ nop
+test3: sleep
+ beq %0, %0, test4
+ nop
+test4: sleep
diff --git a/gas/testsuite/gas/iq2000/odd-ldw.exp b/gas/testsuite/gas/iq2000/odd-ldw.exp
new file mode 100644
index 0000000000..4867c1a8f9
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/odd-ldw.exp
@@ -0,0 +1,6 @@
+# Test for errors when using an odd numbered base register for LDW.
+# Written by Ben Elliston (bje@redhat.com)
+
+if [istarget iq2000*-*-*] {
+ gas_test_error oddldw.s "" "emits error for odd numbered register in double word load"
+}
diff --git a/gas/testsuite/gas/iq2000/odd-sdw.exp b/gas/testsuite/gas/iq2000/odd-sdw.exp
new file mode 100644
index 0000000000..277589b0f9
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/odd-sdw.exp
@@ -0,0 +1,6 @@
+# Test for errors when using an odd numbered base register for SDW.
+# Written by Ben Elliston (bje@redhat.com)
+
+if [istarget iq2000*-*-*] {
+ gas_test_error oddsdw.s "" "emits error for odd numbered register in double word store"
+}
diff --git a/gas/testsuite/gas/iq2000/oddldw.s b/gas/testsuite/gas/iq2000/oddldw.s
new file mode 100644
index 0000000000..931fbdfc6a
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/oddldw.s
@@ -0,0 +1,10 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ ldw %1, foodata(%12)
diff --git a/gas/testsuite/gas/iq2000/oddsdw.s b/gas/testsuite/gas/iq2000/oddsdw.s
new file mode 100644
index 0000000000..50d829b850
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/oddsdw.s
@@ -0,0 +1,10 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ sdw %1, foodata(%12)
diff --git a/gas/testsuite/gas/iq2000/q10allinsn.d b/gas/testsuite/gas/iq2000/q10allinsn.d
new file mode 100644
index 0000000000..6e9903a8d4
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10allinsn.d
@@ -0,0 +1,492 @@
+#as: -m10
+#objdump: -drz
+#name: q10allinsn
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <add>:
+ 0: 03 be 00 20 add r0,r29,r30
+
+00000004 <addi>:
+ 4: 20 00 ff fc addi r0,r0,0xfffc
+
+00000008 <addiu>:
+ 8: 24 00 00 04 addiu r0,r0,0x4
+
+0000000c <addu>:
+ c: 03 be 00 21 addu r0,r29,r30
+
+00000010 <ado16>:
+ 10: 03 be 00 29 ado16 r0,r29,r30
+
+00000014 <and>:
+ 14: 03 be 00 24 and r0,r29,r30
+
+00000018 <andi>:
+ 18: 30 00 de ad andi r0,r0,0xdead
+
+0000001c <andoi>:
+ 1c: b0 00 00 00 andoi r0,r0,0x0
+
+00000020 <andoui>:
+ 20: bc 00 00 00 andoui r0,r0,0x0
+
+00000024 <mrgb>:
+ 24: 03 a0 00 2d mrgb r0,r29,r0,0x0
+
+00000028 <nor>:
+ 28: 03 be 00 27 nor r0,r29,r30
+
+0000002c <or>:
+ 2c: 03 be 00 25 or r0,r29,r30
+ 30: 03 be 08 25 or r1,r29,r30
+
+00000034 <ori>:
+ 34: 34 00 ff ff ori r0,r0,0xffff
+
+00000038 <orui>:
+ 38: 3c 20 00 00 orui r0,r1,0x0
+
+0000003c <ram>:
+ 3c: 9c 00 00 00 ram r0,r0,0x0,0x0,0x0
+
+00000040 <sll>:
+ 40: 00 00 00 00 nop
+ 44: 00 02 08 00 sll r1,r2,0x0
+
+00000048 <sllv>:
+ 48: 03 dd 00 04 sllv r0,r29,r30
+
+0000004c <slmv>:
+ 4c: 00 00 00 01 slmv r0,r0,r0,0x0
+
+00000050 <slt>:
+ 50: 03 be 00 2a slt r0,r29,r30
+
+00000054 <slti>:
+ 54: 28 00 00 00 slti r0,r0,0x0
+
+00000058 <sltiu>:
+ 58: 2c 00 00 00 sltiu r0,r0,0x0
+
+0000005c <sltu>:
+ 5c: 03 be 00 2b sltu r0,r29,r30
+
+00000060 <sra>:
+ 60: 00 00 00 03 sra r0,r0,0x0
+
+00000064 <srav>:
+ 64: 03 dd 00 07 srav r0,r29,r30
+
+00000068 <srl>:
+ 68: 00 00 00 02 srl r0,r0,0x0
+
+0000006c <srlv>:
+ 6c: 03 dd 00 06 srlv r0,r29,r30
+
+00000070 <srmv>:
+ 70: 00 00 00 05 srmv r0,r0,r0,0x0
+
+00000074 <sub>:
+ 74: 03 be 00 22 sub r0,r29,r30
+
+00000078 <subu>:
+ 78: 03 be 00 23 subu r0,r29,r30
+
+0000007c <xor>:
+ 7c: 00 00 00 26 xor r0,r0,r0
+
+00000080 <xori>:
+ 80: 38 00 00 00 xori r0,r0,0x0
+
+00000084 <bbi>:
+ 84: 70 00 ff ff bbi r0\(0x0\),84 <bbi>
+
+00000088 <bbil>:
+ 88: f0 00 ff fe bbil r0\(0x0\),84 <bbi>
+
+0000008c <bbinl>:
+ 8c: f8 00 ff fd bbinl r0\(0x0\),84 <bbi>
+
+00000090 <bbin>:
+ 90: 78 00 ff fc bbin r0\(0x0\),84 <bbi>
+
+00000094 <bbv>:
+ 94: 74 00 ff fb bbv r0,r0,84 <bbi>
+
+00000098 <bbvl>:
+ 98: f4 00 ff fa bbvl r0,r0,84 <bbi>
+
+0000009c <bbvn>:
+ 9c: 7c 00 ff f9 bbvn r0,r0,84 <bbi>
+
+000000a0 <bbvnl>:
+ a0: fc 00 ff f8 bbvnl r0,r0,84 <bbi>
+
+000000a4 <beq>:
+ a4: 10 00 ff f7 beq r0,r0,84 <bbi>
+
+000000a8 <beql>:
+ a8: 50 00 ff f6 beql r0,r0,84 <bbi>
+
+000000ac <bgez>:
+ ac: 04 01 ff f5 bgez r0,84 <bbi>
+
+000000b0 <bgezal>:
+ b0: 04 11 ff f4 bgezal r0,84 <bbi>
+
+000000b4 <bgezall>:
+ b4: 04 13 ff f3 bgezall r0,84 <bbi>
+
+000000b8 <bgezl>:
+ b8: 04 03 ff f2 bgezl r0,84 <bbi>
+
+000000bc <bgtz>:
+ bc: 04 05 ff f1 bgtz r0,84 <bbi>
+
+000000c0 <bgtzal>:
+ c0: 04 15 ff f0 bgtzal r0,84 <bbi>
+
+000000c4 <bgtzall>:
+ c4: 04 17 ff ef bgtzall r0,84 <bbi>
+
+000000c8 <bgtzl>:
+ c8: 04 07 ff ee bgtzl r0,84 <bbi>
+
+000000cc <blez>:
+ cc: 04 04 ff ed blez r0,84 <bbi>
+
+000000d0 <blezal>:
+ d0: 04 14 ff ec blezal r0,84 <bbi>
+
+000000d4 <blezall>:
+ d4: 04 16 ff eb blezall r0,84 <bbi>
+
+000000d8 <blezl>:
+ d8: 04 06 ff ea blezl r0,84 <bbi>
+
+000000dc <bltz>:
+ dc: 04 00 ff e9 bltz r0,84 <bbi>
+
+000000e0 <bltzl>:
+ e0: 04 02 ff e8 bltzl r0,84 <bbi>
+
+000000e4 <bltzal>:
+ e4: 04 10 ff e7 bltzal r0,84 <bbi>
+
+000000e8 <bltzall>:
+ e8: 04 12 ff e6 bltzall r0,84 <bbi>
+
+000000ec <bmb>:
+ ec: 18 00 ff e5 bmb r0,r0,84 <bbi>
+
+000000f0 <bmb0>:
+ f0: 60 00 ff e4 bmb0 r0,r0,84 <bbi>
+
+000000f4 <bmb1>:
+ f4: 64 00 ff e3 bmb1 r0,r0,84 <bbi>
+
+000000f8 <bmb2>:
+ f8: 68 00 ff e2 bmb2 r0,r0,84 <bbi>
+
+000000fc <bmb3>:
+ fc: 6c 00 ff e1 bmb3 r0,r0,84 <bbi>
+
+00000100 <bmbl>:
+ 100: 58 00 ff e0 bmbl r0,r0,84 <bbi>
+
+00000104 <bne>:
+ 104: 14 00 ff df bne r0,r0,84 <bbi>
+
+00000108 <bnel>:
+ 108: 54 00 ff de bnel r0,r0,84 <bbi>
+
+0000010c <break>:
+ 10c: 00 00 00 0d break
+
+00000110 <bri>:
+ 110: 04 08 ff dc bri r0,84 <bbi>
+
+00000114 <brv>:
+ 114: 04 09 ff db brv r0,84 <bbi>
+
+00000118 <chkhdr>:
+ 118: 4c 00 00 26 chkhdr r0,r0
+
+0000011c <j>:
+ 11c: 08 00 00 00 j 0 <add>
+ 11c: R_IQ2000_OFFSET_16 .text\+0x124
+
+00000120 <jal>:
+ 120: 0c 00 00 00 jal r0,0 <add>
+ 120: R_IQ2000_OFFSET_16 .text\+0x124
+
+00000124 <jalr>:
+ 124: 00 00 00 09 jalr r0,r0
+
+00000128 <jr>:
+ 128: 00 00 00 08 jr r0
+
+0000012c <lb>:
+ 12c: 80 00 10 24 lb r0,0x1024\(r0\)
+
+00000130 <lbu>:
+ 130: 90 00 10 24 lbu r0,0x1024\(r0\)
+
+00000134 <lh>:
+ 134: 84 00 10 24 lh r0,0x1024\(r0\)
+
+00000138 <lhu>:
+ 138: 94 00 10 24 lhu r0,0x1024\(r0\)
+
+0000013c <lui>:
+ 13c: 3c 00 ff ff lui r0,0xffff
+ 140: 3c 1d 00 00 lui r29,0x0
+ 140: R_IQ2000_HI16 foodata
+ 144: 37 bd 00 00 ori r29,r29,0x0
+ 144: R_IQ2000_LO16 foodata
+
+00000148 <la>:
+ 148: 3c 0b 00 00 lui r11,0x0
+ 148: R_IQ2000_HI16 foodata
+ 14c: 35 6b 00 00 ori r11,r11,0x0
+ 14c: R_IQ2000_LO16 foodata
+
+00000150 <lw>:
+ 150: 8c 00 10 24 lw r0,0x1024\(r0\)
+
+00000154 <sb>:
+ 154: a0 00 10 24 sb r0,0x1024\(r0\)
+
+00000158 <sh>:
+ 158: a4 00 10 24 sh r0,0x1024\(r0\)
+
+0000015c <sw>:
+ 15c: ac 00 10 24 sw r0,0x1024\(r0\)
+
+00000160 <swrd>:
+ 160: 4c 1e e8 04 swrd r29,r30
+
+00000164 <swrdl>:
+ 164: 4c 1e e8 05 swrdl r29,r30
+
+00000168 <swwr>:
+ 168: 4f be 00 06 swwr r0,r29,r30
+
+0000016c <swwru>:
+ 16c: 4f be 00 07 swwru r0,r29,r30
+
+00000170 <rba>:
+ 170: 4f be 00 08 rba r0,r29,r30
+
+00000174 <rbal>:
+ 174: 4f be 00 09 rbal r0,r29,r30
+
+00000178 <rbar>:
+ 178: 4f be 00 0a rbar r0,r29,r30
+
+0000017c <dwrd>:
+ 17c: 4c 1e e0 0c dwrd r28,r30
+
+00000180 <dwrdl>:
+ 180: 4c 1e e0 0d dwrdl r28,r30
+
+00000184 <wba>:
+ 184: 4f be 00 10 wba r0,r29,r30
+
+00000188 <wbau>:
+ 188: 4f be 00 11 wbau r0,r29,r30
+
+0000018c <wbac>:
+ 18c: 4f be 00 12 wbac r0,r29,r30
+
+00000190 <crc32>:
+ 190: 4f be 00 14 crc32 r0,r29,r30
+
+00000194 <crc32b>:
+ 194: 4f be 00 15 crc32b r0,r29,r30
+
+00000198 <cfc>:
+ 198: 4c 1e e8 00 cfc r29,r30
+
+0000019c <lock>:
+ 19c: 4c 1c e8 01 lock r29,r28
+
+000001a0 <ctc>:
+ 1a0: 4f be 00 02 ctc r29,r30
+
+000001a4 <unlk>:
+ 1a4: 4c 1e e8 03 unlk r29,r30
+
+000001a8 <mcid>:
+ 1a8: 4c 1d 00 20 mcid r0,r29
+
+000001ac <dba>:
+ 1ac: 4c 00 f0 22 dba r30
+
+000001b0 <dbd>:
+ 1b0: 4c 1e 00 21 dbd r0,r0,r30
+
+000001b4 <dpwt>:
+ 1b4: 4f c0 00 23 dpwt r0,r30
+
+000001b8 <avail>:
+ 1b8: 4c 00 f8 24 avail r31
+
+000001bc <free>:
+ 1bc: 4f c0 00 25 free r0,r30
+
+000001c0 <tstod>:
+ 1c0: 4f c0 00 27 tstod r0,r30
+
+000001c4 <yield>:
+ 1c4: 00 00 00 0e yield
+
+000001c8 <pkrla>:
+ 1c8: 4f be 00 28 pkrla r0,r29,r30
+
+000001cc <pkrlac>:
+ 1cc: 4f be 00 2b pkrlac r0,r29,r30
+
+000001d0 <pkrlau>:
+ 1d0: 4f be 00 29 pkrlau r0,r29,r30
+
+000001d4 <pkrlah>:
+ 1d4: 4f be 00 2a pkrlah r0,r29,r30
+
+000001d8 <cmphdr>:
+ 1d8: 4c 00 f8 2c cmphdr r31
+
+000001dc <cam36>:
+ 1dc: 4c 1e ec 09 cam36 r29,r30,0x1,0x1
+
+000001e0 <cam72>:
+ 1e0: 4c 1e 04 52 cam72 r0,r30,0x2,0x2
+
+000001e4 <cam144>:
+ 1e4: 4c 1d 04 9b cam144 r0,r29,0x3,0x3
+
+000001e8 <cam288>:
+ 1e8: 4c 1d 04 a4 cam144 r0,r29,0x4,0x4
+
+000001ec <cm32and>:
+ 1ec: 4f be 00 ab cm32and r0,r29,r30
+
+000001f0 <cm32andn>:
+ 1f0: 4f be 00 a3 cm32andn r0,r29,r30
+
+000001f4 <cm32or>:
+ 1f4: 4f be 00 aa cm32or r0,r29,r30
+
+000001f8 <cm32ra>:
+ 1f8: 4f be 00 b0 cm32ra r0,r29,r30
+
+000001fc <cm32rd>:
+ 1fc: 4c 1e e8 a1 cm32rd r29,r30
+
+00000200 <cm32ri>:
+ 200: 4c 1d 00 a4 cm32ri r0,r29
+
+00000204 <cm32rs>:
+ 204: 4f be 00 a0 cm32rs r0,r29,r30
+
+00000208 <cm32sa>:
+ 208: 4f be 00 b8 cm32sa r0,r29,r30
+
+0000020c <cm32sd>:
+ 20c: 4c 1d 00 a9 cm32sd r0,r29
+
+00000210 <cm32si>:
+ 210: 4c 1d 00 ac cm32si r0,r29
+
+00000214 <cm32ss>:
+ 214: 4f be 00 a8 cm32ss r0,r29,r30
+
+00000218 <cm32xor>:
+ 218: 4f be 00 a2 cm32xor r0,r29,r30
+
+0000021c <cm64clr>:
+ 21c: 4c 1c 00 85 cm64clr r0,r28
+
+00000220 <cm64ra>:
+ 220: 4f 9e 00 90 cm64ra r0,r28,r30
+
+00000224 <cm64rd>:
+ 224: 4c 1c 00 81 cm64rd r0,r28
+
+00000228 <cm64ri>:
+ 228: 4c 1c 00 84 cm64ri r0,r28
+
+0000022c <cm64ria2>:
+ 22c: 4f 9e 00 94 cm64ria2 r0,r28,r30
+
+00000230 <cm64rs>:
+ 230: 4f 9e 00 80 cm64rs r0,r28,r30
+
+00000234 <cm64sa>:
+ 234: 4f 9e 00 98 cm64sa r0,r28,r30
+
+00000238 <cm64sd>:
+ 238: 4c 1c 00 89 cm64sd r0,r28
+
+0000023c <cm64si>:
+ 23c: 4c 1c 00 8c cm64si r0,r28
+
+00000240 <cm64sia2>:
+ 240: 4f 9e 00 9c cm64sia2 r0,r28,r30
+
+00000244 <cm64ss>:
+ 244: 4f be 00 88 cm64ss r0,r29,r30
+
+00000248 <cm128ria2>:
+ 248: 4f be 00 95 cm128ria2 r0,r29,r30
+
+0000024c <cm128ria3>:
+ 24c: 4f be 00 90 cm64ra r0,r29,r30
+
+00000250 <cm128ria4>:
+ 250: 4f be 00 b7 cm128ria4 r0,r29,r30,0x7
+
+00000254 <cm128sia2>:
+ 254: 4f be 00 9d cm128sia2 r0,r29,r30
+
+00000258 <cm128sia3>:
+ 258: 4f be 00 98 cm64sa r0,r29,r30
+
+0000025c <cm128sia4>:
+ 25c: 4f be 00 bf cm128sia4 r0,r29,r30,0x7
+
+00000260 <cm128vsa>:
+ 260: 4f be 00 a6 cm128vsa r0,r29,r30
+
+00000264 <pkrli>:
+ 264: 4b fd 08 3f pkrli r1,r31,r29,0x3f
+
+00000268 <pkrlic>:
+ 268: 4b fd 0b 3f pkrlic r1,r31,r29,0x3f
+
+0000026c <pkrlih>:
+ 26c: 4b fd 0a 3f pkrlih r1,r31,r29,0x3f
+
+00000270 <pkrliu>:
+ 270: 4b fd 09 3f pkrliu r1,r31,r29,0x3f
+
+00000274 <rbi>:
+ 274: 4f bc 12 20 rbi r2,r29,r28,0x20
+
+00000278 <rbil>:
+ 278: 4f bc 13 20 rbil r2,r29,r28,0x20
+
+0000027c <rbir>:
+ 27c: 4f bc 11 20 rbir r2,r29,r28,0x20
+
+00000280 <wbi>:
+ 280: 4c 22 06 20 wbi r0,r1,r2,0x20
+
+00000284 <wbic>:
+ 284: 4c 22 05 20 wbic r0,r1,r2,0x20
+
+00000288 <wbiu>:
+ 288: 4c 22 07 20 wbiu r0,r1,r2,0x20
diff --git a/gas/testsuite/gas/iq2000/q10allinsn.s b/gas/testsuite/gas/iq2000/q10allinsn.s
new file mode 100644
index 0000000000..bb5d0f6887
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10allinsn.s
@@ -0,0 +1,641 @@
+ .globl foodata
+ .data
+ .align 2
+foodata:
+ .word 42
+ .text
+ .global add
+add:
+ add %0,%29,%30
+ .text
+ .global addi
+addi:
+ addi %0,%0,-4
+ .text
+ .global addiu
+addiu:
+ addiu %0,%0,4
+ .text
+ .global addu
+addu:
+ addu %0,%29,%30
+ .text
+ .global ado16
+ado16:
+ ado16 %0,%29,%30
+ .text
+ .global and
+and:
+ and %0,%29,%30
+ .text
+ .global andi
+andi:
+ andi %0,%0,0xdead
+ .text
+ .global andoi
+andoi:
+ andoi %0,%0,0
+ .text
+ .global andoui
+andoui:
+ andoui %0,%0,0
+ .text
+ .global mrgb
+mrgb:
+ mrgb %0,%29,%0,0
+ .text
+ .global nor
+nor:
+ nor %0,%29,%30
+ .text
+ .global or
+or:
+ or %0,%29,%30
+ or %1,%29,%30
+ .text
+ .global ori
+ori:
+ ori %0,%0,-1
+ .text
+ .global orui
+orui:
+ orui %0,%1,0
+ .text
+ .global ram
+ram:
+ ram %0,%0,0,0,0
+ .text
+ .global sll
+sll:
+ sll %0,%0,0
+ sll %1,%2,0
+ .text
+ .global sllv
+sllv:
+ sllv %0,%29,%30
+ .text
+ .global slmv
+slmv:
+ slmv %0,%0,%0,0
+ .text
+ .global slt
+slt:
+ slt %0,%29,%30
+ .text
+ .global slti
+slti:
+ slti %0,%0,0
+ .text
+ .global sltiu
+sltiu:
+ sltiu %0,%0,0
+ .text
+ .global sltu
+sltu:
+ sltu %0,%29,%30
+ .text
+ .global sra
+sra:
+ sra %0,%0,0
+ .text
+ .global srav
+srav:
+ srav %0,%29,%30
+ .text
+ .global srl
+srl:
+ srl %0,%0,0
+ .text
+ .global srlv
+srlv:
+ srlv %0,%29,%30
+ .text
+ .global srmv
+srmv:
+ srmv %0,%0,%0,0
+ .text
+ .global sub
+sub:
+ sub %0,%29,%30
+ .text
+ .global subu
+subu:
+ subu %0,%29,%30
+ .text
+ .global xor
+xor:
+ xor %0,%0,%0
+ .global xori
+xori:
+ xori %0,%0,0
+footext:
+ .text
+ .global bbi
+bbi:
+ bbi %0(0),footext
+ .text
+ .global bbil
+bbil:
+ bbil %0(0),footext
+ .text
+ .global bbinl
+bbinl:
+ bbinl %0(0),footext
+ .text
+ .global bbin
+bbin:
+ bbin %0(0),footext
+ .text
+ .global bbv
+bbv:
+ bbv %0,%0,footext
+ .text
+ .global bbvl
+bbvl:
+ bbvl %0,%0,footext
+ .text
+ .global bbvn
+bbvn:
+ bbvn %0,%0,footext
+ .text
+ .global bbvnl
+bbvnl:
+ bbvnl %0,%0,footext
+ .text
+ .global beq
+beq:
+ beq %0,%0,footext
+ .text
+ .global beql
+beql:
+ beql %0,%0,footext
+ .text
+ .global bgez
+bgez:
+ bgez %0,footext
+ .text
+ .global bgezal
+bgezal:
+ bgezal %0,footext
+ .text
+ .global bgezall
+bgezall:
+ bgezall %0,footext
+ .text
+ .global bgezl
+bgezl:
+ bgezl %0,footext
+ .text
+ .global bgtz
+bgtz:
+ bgtz %0,footext
+ .text
+ .global bgtzal
+bgtzal:
+ bgtzal %0,footext
+ .text
+ .global bgtzall
+bgtzall:
+ bgtzall %0,footext
+ .text
+ .global bgtzl
+bgtzl:
+ bgtzl %0,footext
+ .text
+ .global blez
+blez:
+ blez %0,footext
+ .text
+ .global blezal
+blezal:
+ blezal %0,footext
+ .text
+ .global blezall
+blezall:
+ blezall %0,footext
+ .text
+ .global blezl
+blezl:
+ blezl %0,footext
+ .text
+ .global bltz
+bltz:
+ bltz %0,footext
+ .text
+ .global bltzl
+bltzl:
+ bltzl %0,footext
+ .text
+ .global bltzal
+bltzal:
+ bltzal %0,footext
+ .text
+ .global bltzall
+bltzall:
+ bltzall %0,footext
+ .text
+ .global bmb
+bmb:
+ bmb %0,%0,footext
+ .text
+ .global bmb0
+bmb0:
+ bmb0 %0,%0,footext
+ .text
+ .global bmb1
+bmb1:
+ bmb1 %0,%0,footext
+ .text
+ .global bmb2
+bmb2:
+ bmb2 %0,%0,footext
+ .text
+ .global bmb3
+bmb3:
+ bmb3 %0,%0,footext
+ .text
+ .global bmbl
+bmbl:
+ bmbl %0,%0,footext
+ .text
+ .global bne
+bne:
+ bne %0,%0,footext
+ .text
+ .global bnel
+bnel:
+ bnel %0,%0,footext
+ .text
+ .global break
+break:
+ break
+ .text
+ .global bri
+bri:
+ bri %0,footext
+ .text
+ .global brv
+brv:
+ brv %0,footext
+ .text
+ .global chkhdr
+chkhdr:
+ chkhdr %0,%0
+ .text
+ .global j
+j:
+ j bartext
+ .text
+ .global jal
+jal:
+ jal %0,bartext
+bartext:
+ .text
+ .global jalr
+jalr:
+ jalr %0,%0
+ .text
+ .global jr
+jr:
+ jr %0
+ .text
+ .global lb
+lb:
+ lb %0,0x1024(%0)
+ .text
+ .global lbu
+lbu:
+ lbu %0,0x1024(%0)
+ .text
+ .global lh
+lh:
+ lh %0,0x1024(%0)
+ .text
+ .global lhu
+lhu:
+ lhu %0,0x1024(%0)
+ .text
+ .global lui
+lui:
+ lui %0,-1
+ lui %29,%hi(foodata)
+ ori %29,%29,%lo(foodata)
+ .text
+ .global la
+la:
+ la %11,foodata
+ .global lw
+lw:
+ lw %0,0x1024(%0)
+ .text
+ .global sb
+sb:
+ sb %0,0x1024(%0)
+ .text
+ .global sh
+sh:
+ sh %0,0x1024(%0)
+ .text
+ .global sw
+sw:
+ sw %0,0x1024(%0)
+ .text
+ .global swrd
+swrd:
+ swrd %29,%30
+ .text
+ .global swrdl
+swrdl:
+ swrdl %29,%30
+ .text
+ .global swwr
+swwr:
+ swwr %0,%29,%30
+ .text
+ .global swwru
+swwru:
+ swwru %0,%29,%30
+ .text
+ .global rba
+rba:
+ rba %0,%29,%30
+ .text
+ .global rbal
+rbal:
+ rbal %0,%29,%30
+ .text
+ .global rbar
+rbar:
+ rbar %0,%29,%30
+ .text
+ .global dwrd
+dwrd:
+ dwrd %28,%30
+ .text
+ .global dwrdl
+dwrdl:
+ dwrdl %28,%30
+ .text
+ .global wba
+wba:
+ wba %0,%29,%30
+ .text
+ .global wbau
+wbau:
+ wbau %0,%29,%30
+ .text
+ .global wbac
+wbac:
+ wbac %0,%29,%30
+ .text
+ .global crc32
+crc32:
+ crc32 %0,%29,%30
+ .text
+ .global crc32b
+crc32b:
+ crc32b %0,%29,%30
+ .text
+ .global cfc
+cfc:
+ cfc %29,%30
+ .text
+ .global lock
+lock:
+ lock %29,%28
+ .text
+ .global ctc
+ctc:
+ ctc %29,%30
+ .text
+ .global unlk
+unlk:
+ unlk %29,%30
+ .text
+ .global mcid
+mcid:
+ mcid %0,%29
+ .text
+ .global dba
+dba:
+ dba %30
+ .text
+ .global dbd
+dbd:
+ dbd %0,%30
+ .text
+ .global dpwt
+dpwt:
+ dpwt %0,%30
+ .text
+ .global avail
+avail:
+ avail %31
+ .text
+ .global free
+free:
+ free %0,%30
+ .text
+ .global tstod
+tstod:
+ tstod %0,%30
+ .global yield
+yield:
+ yield
+ .text
+ .global pkrla
+pkrla:
+ pkrla %0,%29,%30
+ .text
+ .global pkrlac
+pkrlac:
+ pkrlac %0,%29,%30
+ .text
+ .global pkrlau
+pkrlau:
+ pkrlau %0,%29,%30
+ .text
+ .global pkrlah
+pkrlah:
+ pkrlah %0,%29,%30
+ .text
+ .global cmphdr
+cmphdr:
+ cmphdr %31
+ .text
+ .global cam36
+cam36:
+ cam36 %29,%30,1,1
+ .text
+ .global cam72
+cam72:
+ cam72 %0,%30,2,2
+ .text
+ .global cam144
+cam144:
+ cam144 %0,%29,3,3
+ .text
+ .global cam288
+cam288:
+ cam144 %0,%29,4,4
+ .text
+ .global cm32and
+cm32and:
+ cm32and %0,%29,%30
+ .text
+ .global cm32andn
+cm32andn:
+ cm32andn %0,%29,%30
+ .text
+ .global cm32or
+cm32or:
+ cm32or %0,%29,%30
+ .text
+ .global cm32ra
+cm32ra:
+ cm32ra %0,%29,%30
+ .text
+ .global cm32rd
+cm32rd:
+ cm32rd %29,%30
+ .text
+ .global cm32ri
+cm32ri:
+ cm32ri %0,%29
+ .text
+ .global cm32rs
+cm32rs:
+ cm32rs %0,%29,%30
+ .text
+ .global cm32sa
+cm32sa:
+ cm32sa %0,%29,%30
+ .text
+ .global cm32sd
+cm32sd:
+ cm32sd %0,%29
+ .text
+ .global cm32si
+cm32si:
+ cm32si %0,%29
+ .text
+ .global cm32ss
+cm32ss:
+ cm32ss %0,%29,%30
+ .text
+ .global cm32xor
+cm32xor:
+ cm32xor %0,%29,%30
+ .text
+ .global cm64clr
+cm64clr:
+ cm64clr %0,%28
+ .text
+ .global cm64ra
+cm64ra:
+ cm64ra %0,%28,%30
+ .text
+ .global cm64rd
+cm64rd:
+ cm64rd %0,%28
+ .text
+ .global cm64ri
+cm64ri:
+ cm64ri %0,%28
+ .text
+ .global cm64ria2
+cm64ria2:
+ cm64ria2 %0,%28,%30
+ .text
+ .global cm64rs
+cm64rs:
+ cm64rs %0,%28,%30
+ .text
+ .global cm64sa
+cm64sa:
+ cm64sa %0,%28,%30
+ .text
+ .global cm64sd
+cm64sd:
+ cm64sd %0,%28
+ .text
+ .global cm64si
+cm64si:
+ cm64si %0,%28
+ .text
+ .global cm64sia2
+cm64sia2:
+ cm64sia2 %0,%28,%30
+ .text
+ .global cm64ss
+cm64ss:
+ cm64ss %0,%29,%30
+ .text
+ .global cm128ria2
+cm128ria2:
+ cm128ria2 %0,%29,%30
+ .text
+ .global cm128ria30
+cm128ria3:
+ cm128ria3 %0,%29,%30,0
+ .text
+ .global cm128ria4
+cm128ria4:
+ cm128ria4 %0,%29,%30,7
+ .text
+ .global cm128sia2
+cm128sia2:
+ cm128sia2 %0,%29,%30
+ .text
+ .global cm128sia3
+cm128sia3:
+ cm128sia3 %0,%29,%30,0
+ .text
+ .global cm128sia4
+cm128sia4:
+ cm128sia4 %0,%29,%30,7
+ .text
+ .global cm128vsa
+cm128vsa:
+ cm128vsa %0,%29,%30
+ .text
+ .global pkrli
+pkrli:
+ pkrli %1,%31,%29,63
+ .text
+ .global pkrlic
+pkrlic:
+ pkrlic %1,%31,%29,63
+ .text
+ .global pkrlih
+pkrlih:
+ pkrlih %1,%31,%29,63
+ .text
+ .global pkrliu
+pkrliu:
+ pkrliu %1,%31,%29,63
+ .text
+ .global rbi
+rbi:
+ rbi %2,%29,%28,32
+ .text
+ .global rbil
+rbil:
+ rbil %2,%29,%28,32
+ .text
+ .global rbir
+rbir:
+ rbir %2,%29,%28,32
+ .text
+ .global wbi
+wbi:
+ wbi %0,%1,%2,32
+ .text
+ .global wbic
+wbic:
+ wbic %0,%1,%2,32
+ .text
+ .global wbiu
+wbiu:
+ wbiu %0,%1,%2,32
+
diff --git a/gas/testsuite/gas/iq2000/q10hazard3.s b/gas/testsuite/gas/iq2000/q10hazard3.s
new file mode 100644
index 0000000000..c4170a075a
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10hazard3.s
@@ -0,0 +1,14 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %31, foodata(%1)
+ jal %31,footext
+
+footext:
+ nop
diff --git a/gas/testsuite/gas/iq2000/q10hazard4.s b/gas/testsuite/gas/iq2000/q10hazard4.s
new file mode 100644
index 0000000000..fc9f9a65e6
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10hazard4.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %10, foodata(%12)
+ add %3, %10, %9
diff --git a/gas/testsuite/gas/iq2000/q10hazard5.s b/gas/testsuite/gas/iq2000/q10hazard5.s
new file mode 100644
index 0000000000..6ec51f5a80
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10hazard5.s
@@ -0,0 +1,11 @@
+# This test case includes a single case of a load hazard, whereby an
+# instruction references a register which is the target of a load.
+# The assembler must warn about this!
+
+.data
+foodata:
+ .word 42
+
+.text
+ lw %1, foodata(%4)
+ add %8, %1, %9
diff --git a/gas/testsuite/gas/iq2000/q10load-hazards.exp b/gas/testsuite/gas/iq2000/q10load-hazards.exp
new file mode 100644
index 0000000000..e49bcf9020
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10load-hazards.exp
@@ -0,0 +1,62 @@
+# Test for warnings when producing load hazards (instructions that
+# reference the target of load one stage further down the pipeline.
+
+# Run GAS and check that it emits the desired warning for the test case.
+# Arguments:
+# file -- name of the test case to assemble.
+# testname -- a string describing the test.
+# warnpattern -- a regular expression, suitable for use by the Tcl
+# regexp command, to decide if the warning string was emitted by
+# the assembler to stderr.
+
+proc iq2000_warning_test { file testname {warnpattern ""} } {
+ global comp_output
+
+ gas_run $file "-m10" ">/dev/null"
+ verbose "output was $comp_output" 2
+
+ if {$warnpattern == ""} {
+ if {$comp_output == ""} { pass $testname } else { fail $testname }
+ return
+ }
+
+ if {[regexp "Warning: $warnpattern" $comp_output]} {
+ pass $testname
+ } else {
+ fail $testname
+ }
+}
+
+if [istarget iq2000*-*-*] {
+ foreach file [glob -nocomplain -- $srcdir/$subdir/q10hazard*.s] {
+ set file [file tail $file]
+ switch -- $file {
+ "q10hazard0.s" {
+ set warnpattern "operand references R10 of previous load"
+ }
+ "q10hazard1.s" {
+ set warnpattern "operand references R1 of previous load"
+ }
+ "q10hazard2.s" {
+ set warnpattern "operand references R2 of previous load"
+ }
+ "q10hazard3.s" {
+ set warnpattern "operand references R31 of previous load"
+ }
+ "q10hazard4.s" {
+ set warnpattern "operand references R10 of previous load"
+ }
+ "q10hazard5.s" {
+ set warnpattern "operand references R1 of previous load"
+ }
+ default {
+ error "no expected result specified for $file"
+ return
+ }
+ }
+ iq2000_warning_test $file "assembler emits load hazard warning for $file" $warnpattern
+ }
+
+ set testname "assembler emits no warnings when there are no load hazards"
+ iq2000_warning_test q10nohazard.s $testname
+}
diff --git a/gas/testsuite/gas/iq2000/q10nohazard.s b/gas/testsuite/gas/iq2000/q10nohazard.s
new file mode 100644
index 0000000000..02fc136d7e
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10nohazard.s
@@ -0,0 +1,20 @@
+# This test case includes a number of cases where there is no load
+# hazard between a load and the instruction which follows it in
+# the pipeline.
+
+.data
+.text
+ lw %0, 0x40(%0)
+ add %1, %2, %3
+ lh %0, 0x80(%0)
+ add %1, %2, %3
+ lb %0, 0x80(%0)
+ add %1, %2, %3
+ lw %0, 0x80(%0)
+ nop
+ add %0, %0, %0
+ lw %0, 0x80(%3)
+ nop
+ lw %0, 0x80(%3)
+ add %2, %3, %4
+
diff --git a/gas/testsuite/gas/iq2000/q10noyield.s b/gas/testsuite/gas/iq2000/q10noyield.s
new file mode 100644
index 0000000000..7c8cdaf9df
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10noyield.s
@@ -0,0 +1,14 @@
+# This test case includes a number of cases where a yield instruction
+# (e.g. SLEEP) does NOT appear in the branch delay slot.
+
+.text
+test1: beq %0, %0, test2
+ # nop in the branch delay slot.
+ nop
+test2: cfc %0, %0
+ nop
+test3: cfc %0, %0
+ beq %0, %0, test4
+ nop
+test4: sub %1,%2,%3
+
diff --git a/gas/testsuite/gas/iq2000/q10test0.d b/gas/testsuite/gas/iq2000/q10test0.d
new file mode 100644
index 0000000000..a0e77c7ec7
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test0.d
@@ -0,0 +1,361 @@
+#as: -m10
+#objdump: -drz
+#name: q10test0
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 00 addi r1,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 21 00 00 addiu r1,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 00 andi r1,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 00 andoi r1,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 00 andoui r1,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 21 08 2d mrgb r1,r1,r1,0x0
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 00 ori r1,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 00 orui r1,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 00 slti r1,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 00 sltiu r1,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 00 xori r1,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 01 08 00 ram r1,r1,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 21 ff b9 bbv r1,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 ff b7 bbvn r1,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 21 ff b1 bbvl r1,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 ff af bbvnl r1,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 21 ff ad beq r1,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 ff ab beql r1,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 ff 89 bmb r1,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 ff 87 bmbl r1,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 ff 85 bmb0 r1,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 ff 83 bmb1 r1,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 ff 81 bmb2 r1,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 ff 7f bmb3 r1,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 21 ff 7d bne r1,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 ff 7b bnel r1,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 00 lw r1,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 00 lh r1,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 00 lb r1,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 00 lhu r1,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 00 lbu r1,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 00 sb r1,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 00 sh r1,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 00 sw r1,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a 00 rbi r1,r1,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 00 rbir r1,r1,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b 00 rbil r1,r1,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e 00 wbi r1,r1,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d 00 wbic r1,r1,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f 00 wbiu r1,r1,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2b pkrlac r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 2a pkrlah r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 4c 21 08 29 pkrlau r1,r1,r1
+ 30c: 00 00 00 00 nop
+ 310: 48 21 08 00 pkrli r1,r1,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 21 0b 00 pkrlic r1,r1,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 48 21 0a 00 pkrlih r1,r1,r1,0x0
+ 324: 00 00 00 00 nop
+ 328: 48 21 09 00 pkrliu r1,r1,r1,0x0
+ 32c: 00 00 00 00 nop
+ 330: 4c 01 08 01 lock r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 01 08 03 unlk r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 21 08 06 swwr r1,r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 21 08 07 swwru r1,r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 01 08 04 swrd r1,r1
+ 354: 00 00 00 00 nop
+ 358: 4c 01 08 05 swrdl r1,r1
+ 35c: 00 00 00 00 nop
+ 360: 4c 02 10 0c dwrd r2,r2
+ 364: 00 00 00 00 nop
+ 368: 4c 02 10 0d dwrdl r2,r2
+ 36c: 00 00 00 00 nop
+ 370: 4c 01 0c 00 cam36 r1,r1,0x0,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 01 0c 40 cam72 r1,r1,0x0,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4c 01 0c 80 cam144 r1,r1,0x0,0x0
+ 384: 00 00 00 00 nop
+ 388: 4c 01 0c c0 cam288 r1,r1,0x0,0x0
+ 38c: 00 00 00 00 nop
+ 390: 4c 21 08 ab cm32and r1,r1,r1
+ 394: 00 00 00 00 nop
+ 398: 4c 21 08 a3 cm32andn r1,r1,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 21 08 aa cm32or r1,r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 21 08 b0 cm32ra r1,r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 01 08 a1 cm32rd r1,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 01 08 a4 cm32ri r1,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 21 08 a0 cm32rs r1,r1,r1
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 21 08 b8 cm32sa r1,r1,r1
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 01 08 a9 cm32sd r1,r1
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 01 08 ac cm32si r1,r1
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 21 08 a8 cm32ss r1,r1,r1
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 21 08 a2 cm32xor r1,r1,r1
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 02 10 85 cm64clr r2,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 42 10 90 cm64ra r2,r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4c 02 10 81 cm64rd r2,r2
+ 404: 00 00 00 00 nop
+ 408: 4c 02 10 84 cm64ri r2,r2
+ 40c: 00 00 00 00 nop
+ 410: 4c 42 10 94 cm64ria2 r2,r2,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 42 10 80 cm64rs r2,r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 42 10 98 cm64sa r2,r2,r2
+ 424: 00 00 00 00 nop
+ 428: 4c 02 10 89 cm64sd r2,r2
+ 42c: 00 00 00 00 nop
+ 430: 4c 02 10 8c cm64si r2,r2
+ 434: 00 00 00 00 nop
+ 438: 4c 42 10 9c cm64sia2 r2,r2,r2
+ 43c: 00 00 00 00 nop
+ 440: 4c 42 10 88 cm64ss r2,r2,r2
+ 444: 00 00 00 00 nop
+ 448: 4c 42 10 95 cm128ria2 r2,r2,r2
+ 44c: 00 00 00 00 nop
+ 450: 4c 42 10 90 cm64ra r2,r2,r2
+ 454: 00 00 00 00 nop
+ 458: 4c 42 10 91 cm128ria3 r2,r2,r2,0x1
+ 45c: 00 00 00 00 nop
+ 460: 4c 42 10 92 cm128ria3 r2,r2,r2,0x2
+ 464: 00 00 00 00 nop
+ 468: 4c 42 10 93 cm128ria3 r2,r2,r2,0x3
+ 46c: 00 00 00 00 nop
+ 470: 4c 42 10 b0 cm32ra r2,r2,r2
+ 474: 00 00 00 00 nop
+ 478: 4c 42 10 b1 cm128ria4 r2,r2,r2,0x1
+ 47c: 00 00 00 00 nop
+ 480: 4c 42 10 b2 cm128ria4 r2,r2,r2,0x2
+ 484: 00 00 00 00 nop
+ 488: 4c 42 10 b3 cm128ria4 r2,r2,r2,0x3
+ 48c: 00 00 00 00 nop
+ 490: 4c 42 10 b4 cm128ria4 r2,r2,r2,0x4
+ 494: 00 00 00 00 nop
+ 498: 4c 42 10 b5 cm128ria4 r2,r2,r2,0x5
+ 49c: 00 00 00 00 nop
+ 4a0: 4c 42 10 b6 cm128ria4 r2,r2,r2,0x6
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 42 10 b7 cm128ria4 r2,r2,r2,0x7
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 42 10 9d cm128sia2 r2,r2,r2
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 42 10 98 cm64sa r2,r2,r2
+ 4bc: 00 00 00 00 nop
+ 4c0: 4c 42 10 99 cm128sia3 r2,r2,r2,0x1
+ 4c4: 00 00 00 00 nop
+ 4c8: 4c 42 10 9a cm128sia3 r2,r2,r2,0x2
+ 4cc: 00 00 00 00 nop
+ 4d0: 4c 42 10 9b cm128sia3 r2,r2,r2,0x3
+ 4d4: 00 00 00 00 nop
+ 4d8: 4c 21 08 b8 cm32sa r1,r1,r1
+ 4dc: 00 00 00 00 nop
+ 4e0: 4c 21 08 b9 cm128sia4 r1,r1,r1,0x1
+ 4e4: 00 00 00 00 nop
+ 4e8: 4c 21 08 ba cm128sia4 r1,r1,r1,0x2
+ 4ec: 00 00 00 00 nop
+ 4f0: 4c 21 08 bb cm128sia4 r1,r1,r1,0x3
+ 4f4: 00 00 00 00 nop
+ 4f8: 4c 21 08 bc cm128sia4 r1,r1,r1,0x4
+ 4fc: 00 00 00 00 nop
+ 500: 4c 21 08 bd cm128sia4 r1,r1,r1,0x5
+ 504: 00 00 00 00 nop
+ 508: 4c 21 08 be cm128sia4 r1,r1,r1,0x6
+ 50c: 00 00 00 00 nop
+ 510: 4c 21 08 bf cm128sia4 r1,r1,r1,0x7
+ 514: 00 00 00 00 nop
+ 518: 4c 21 08 a6 cm128vsa r1,r1,r1
+ 51c: 00 00 00 00 nop
+ 520: 4c 21 08 14 crc32 r1,r1,r1
+ 524: 00 00 00 00 nop
+ 528: 4c 21 08 15 crc32b r1,r1,r1
+ 52c: 00 00 00 00 nop
+ 530: 4c 20 08 26 chkhdr r1,r1
+ 534: 00 00 00 00 nop
+ 538: 4c 00 08 24 avail r1
+ 53c: 00 00 00 00 nop
+ 540: 4c 20 08 25 free r1,r1
+ 544: 00 00 00 00 nop
+ 548: 00 00 00 0e yield
+ 54c: 00 00 00 00 nop
+ 550: 4c 20 08 27 tstod r1,r1
+ 554: 00 00 00 00 nop
+ 558: 4c 00 08 2c cmphdr r1
+ 55c: 00 00 00 00 nop
+ 560: 4c 01 08 20 mcid r1,r1
+ 564: 00 00 00 00 nop
+ 568: 4c 00 08 22 dba r1
+ 56c: 00 00 00 00 nop
+ 570: 4c 01 08 21 dbd r1,r0,r1
+ 574: 00 00 00 00 nop
+ 578: 4c 20 08 23 dpwt r1,r1
+ 57c: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test0.s b/gas/testsuite/gas/iq2000/q10test0.s
new file mode 100644
index 0000000000..60ba744f10
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test0.s
@@ -0,0 +1,354 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,0
+ NOP
+ ADDIU %1,%1,0
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,0
+ NOP
+ ANDOI %1,%1,0
+ NOP
+ ANDOUI %1,%1,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %1,%1,%1,0
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,0
+ NOP
+ ORUI %1,%1,0
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,0
+ NOP
+ SLTIU %1,%1,0
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,0,0
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%1,_start
+ NOP
+ BBVN %1,%1,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%1,_start
+ NOP
+ BBVNL %1,%1,_start
+ NOP
+ BEQ %1,%1,_start
+ NOP
+ BEQL %1,%1,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%1,_start
+ NOP
+ BMBL %1,%1,_start
+ NOP
+ BMB0 %1,%1,_start
+ NOP
+ BMB1 %1,%1,_start
+ NOP
+ BMB2 %1,%1,_start
+ NOP
+ BMB3 %1,%1,_start
+ NOP
+ BNE %1,%1,_start
+ NOP
+ BNEL %1,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0(%1)
+ NOP
+ LH %1,0(%1)
+ NOP
+ LB %1,0(%1)
+ NOP
+ LHU %1,0(%1)
+ NOP
+ LBU %1,0(%1)
+ NOP
+ SB %1,0(%1)
+ NOP
+ SH %1,0(%1)
+ NOP
+ SW %1,0(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,0
+ NOP
+ RBIR %1,%1,%1,0
+ NOP
+ RBIL %1,%1,%1,0
+ NOP
+ WBI %1,%1,%1,0
+ NOP
+ WBIC %1,%1,%1,0
+ NOP
+ WBIU %1,%1,%1,0
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAC %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,0
+ NOP
+ PKRLIC %1,%1,%1,0
+ NOP
+ PKRLIH %1,%1,%1,0
+ NOP
+ PKRLIU %1,%1,%1,0
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
+ DWRD %2,%2
+ NOP
+ DWRDL %2,%2
+ NOP
+ CAM36 %1,%1,0,0
+ NOP
+ CAM72 %1,%1,0,0
+ NOP
+ CAM144 %1,%1,0,0
+ NOP
+ CAM288 %1,%1,0,0
+ NOP
+ CM32AND %1,%1,%1
+ NOP
+ CM32ANDN %1,%1,%1
+ NOP
+ CM32OR %1,%1,%1
+ NOP
+ CM32RA %1,%1,%1
+ NOP
+ CM32RD %1,%1
+ NOP
+ CM32RI %1,%1
+ NOP
+ CM32RS %1,%1,%1
+ NOP
+ CM32SA %1,%1,%1
+ NOP
+ CM32SD %1,%1
+ NOP
+ CM32SI %1,%1
+ NOP
+ CM32SS %1,%1,%1
+ NOP
+ CM32XOR %1,%1,%1
+ NOP
+ CM64CLR %2,%2
+ NOP
+ CM64RA %2,%2,%2
+ NOP
+ CM64RD %2,%2
+ NOP
+ CM64RI %2,%2
+ NOP
+ CM64RIA2 %2,%2,%2
+ NOP
+ CM64RS %2,%2,%2
+ NOP
+ CM64SA %2,%2,%2
+ NOP
+ CM64SD %2,%2
+ NOP
+ CM64SI %2,%2
+ NOP
+ CM64SIA2 %2,%2,%2
+ NOP
+ CM64SS %2,%2,%2
+ NOP
+ CM128RIA2 %2,%2,%2
+ NOP
+ CM128RIA3 %2,%2,%2,0
+ NOP
+ CM128RIA3 %2,%2,%2,1
+ NOP
+ CM128RIA3 %2,%2,%2,2
+ NOP
+ CM128RIA3 %2,%2,%2,3
+ NOP
+ CM128RIA4 %2,%2,%2,0
+ NOP
+ CM128RIA4 %2,%2,%2,1
+ NOP
+ CM128RIA4 %2,%2,%2,2
+ NOP
+ CM128RIA4 %2,%2,%2,3
+ NOP
+ CM128RIA4 %2,%2,%2,4
+ NOP
+ CM128RIA4 %2,%2,%2,5
+ NOP
+ CM128RIA4 %2,%2,%2,6
+ NOP
+ CM128RIA4 %2,%2,%2,7
+ NOP
+ CM128SIA2 %2,%2,%2
+ NOP
+ CM128SIA3 %2,%2,%2,0
+ NOP
+ CM128SIA3 %2,%2,%2,1
+ NOP
+ CM128SIA3 %2,%2,%2,2
+ NOP
+ CM128SIA3 %2,%2,%2,3
+ NOP
+ CM128SIA4 %1,%1,%1,0
+ NOP
+ CM128SIA4 %1,%1,%1,1
+ NOP
+ CM128SIA4 %1,%1,%1,2
+ NOP
+ CM128SIA4 %1,%1,%1,3
+ NOP
+ CM128SIA4 %1,%1,%1,4
+ NOP
+ CM128SIA4 %1,%1,%1,5
+ NOP
+ CM128SIA4 %1,%1,%1,6
+ NOP
+ CM128SIA4 %1,%1,%1,7
+ NOP
+ CM128VSA %1,%1,%1
+ NOP
+ CRC32 %1,%1,%1
+ NOP
+ CRC32B %1,%1,%1
+ NOP
+ CHKHDR %1,%1
+ NOP
+ AVAIL %1
+ NOP
+ FREE %1,%1
+ NOP
+ YIELD
+ NOP
+ TSTOD %1,%1
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%1
+ NOP
+ DBA %1
+ NOP
+ DBD %1,%1
+ NOP
+ DPWT %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test1.d b/gas/testsuite/gas/iq2000/q10test1.d
new file mode 100644
index 0000000000..97f5cd7014
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test1.d
@@ -0,0 +1,317 @@
+#as: -m10
+#objdump: -drz
+#name: q10test1
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 03 e1 08 20 add r1,r31,r1
+ 4: 00 00 00 00 nop
+ 8: 23 e1 00 00 addi r1,r31,0x0
+ c: 00 00 00 00 nop
+ 10: 27 e1 00 00 addiu r1,r31,0x0
+ 14: 00 00 00 00 nop
+ 18: 03 e1 08 21 addu r1,r31,r1
+ 1c: 00 00 00 00 nop
+ 20: 03 e1 08 29 ado16 r1,r31,r1
+ 24: 00 00 00 00 nop
+ 28: 03 e1 08 24 and r1,r31,r1
+ 2c: 00 00 00 00 nop
+ 30: 33 e1 00 00 andi r1,r31,0x0
+ 34: 00 00 00 00 nop
+ 38: b3 e1 00 00 andoi r1,r31,0x0
+ 3c: 00 00 00 00 nop
+ 40: bf e1 00 00 andoui r1,r31,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 03 e1 08 2d mrgb r1,r31,r1,0x0
+ 54: 00 00 00 00 nop
+ 58: 03 e1 08 27 nor r1,r31,r1
+ 5c: 00 00 00 00 nop
+ 60: 03 e1 08 25 or r1,r31,r1
+ 64: 00 00 00 00 nop
+ 68: 37 e1 00 00 ori r1,r31,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3f e1 00 00 orui r1,r31,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 03 e1 08 04 sllv r1,r1,r31
+ 84: 00 00 00 00 nop
+ 88: 03 e1 08 2a slt r1,r31,r1
+ 8c: 00 00 00 00 nop
+ 90: 2b e1 00 00 slti r1,r31,0x0
+ 94: 00 00 00 00 nop
+ 98: 2f e1 00 00 sltiu r1,r31,0x0
+ 9c: 00 00 00 00 nop
+ a0: 03 e1 08 2b sltu r1,r31,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 03 e1 08 07 srav r1,r1,r31
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 03 e1 08 06 srlv r1,r1,r31
+ c4: 00 00 00 00 nop
+ c8: 03 e1 08 22 sub r1,r31,r1
+ cc: 00 00 00 00 nop
+ d0: 03 e1 08 23 subu r1,r31,r1
+ d4: 00 00 00 00 nop
+ d8: 03 e1 08 26 xor r1,r31,r1
+ dc: 00 00 00 00 nop
+ e0: 3b e1 00 00 xori r1,r31,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 3f 08 05 srmv r1,r31,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 3f 08 01 slmv r1,r31,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 01 08 00 ram r1,r1,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 73 e0 ff bd bbi r31\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 7b e0 ff bb bbin r31\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 77 e1 ff b9 bbv r31,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7f e1 ff b7 bbvn r31,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f3 e0 ff b5 bbil r31\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: fb e0 ff b3 bbinl r31\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f7 e1 ff b1 bbvl r31,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: ff e1 ff af bbvnl r31,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 13 e1 ff ad beq r31,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 53 e1 ff ab beql r31,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 07 e1 ff a9 bgez r31,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 07 f5 ff a7 bgtzal r31,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 07 f1 ff a5 bgezal r31,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 07 f7 ff a3 bgtzall r31,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 07 f3 ff a1 bgezall r31,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 07 e3 ff 9f bgezl r31,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 07 e7 ff 9d bgtzl r31,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 07 e5 ff 9b bgtz r31,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 07 e4 ff 99 blez r31,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 07 f4 ff 97 blezal r31,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 07 e0 ff 95 bltz r31,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 07 f0 ff 93 bltzal r31,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 07 e6 ff 91 blezl r31,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 07 e2 ff 8f bltzl r31,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 07 f6 ff 8d blezall r31,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 07 f2 ff 8b bltzall r31,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 1b e1 ff 89 bmb r31,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 5b e1 ff 87 bmbl r31,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 63 e1 ff 85 bmb0 r31,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 67 e1 ff 83 bmb1 r31,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 6b e1 ff 81 bmb2 r31,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6f e1 ff 7f bmb3 r31,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 17 e1 ff 7d bne r31,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 57 e1 ff 7b bnel r31,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 1f 00 00 jal 0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 03 e0 08 09 jalr r1,r31
+ 22c: 00 00 00 00 nop
+ 230: 03 e0 00 08 jr r31
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4f e1 00 02 ctc r31,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8f e1 00 00 lw r1,0x0\(r31\)
+ 254: 00 00 00 00 nop
+ 258: 87 e1 00 00 lh r1,0x0\(r31\)
+ 25c: 00 00 00 00 nop
+ 260: 83 e1 00 00 lb r1,0x0\(r31\)
+ 264: 00 00 00 00 nop
+ 268: 97 e1 00 00 lhu r1,0x0\(r31\)
+ 26c: 00 00 00 00 nop
+ 270: 93 e1 00 00 lbu r1,0x0\(r31\)
+ 274: 00 00 00 00 nop
+ 278: a3 e1 00 00 sb r1,0x0\(r31\)
+ 27c: 00 00 00 00 nop
+ 280: a7 e1 00 00 sh r1,0x0\(r31\)
+ 284: 00 00 00 00 nop
+ 288: af e1 00 00 sw r1,0x0\(r31\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 f8 08 rba r31,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 f8 0a rbar r31,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 f8 09 rbal r31,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 f8 10 wba r31,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 f8 12 wbac r31,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 f8 11 wbau r31,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 fa 00 rbi r31,r1,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 f9 00 rbir r31,r1,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 fb 00 rbil r31,r1,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 fe 00 wbi r31,r1,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 fd 00 wbic r31,r1,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 ff 00 wbiu r31,r1,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 f8 28 pkrla r31,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 f8 2a pkrlah r31,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 f8 29 pkrlau r31,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 48 21 f8 00 pkrli r31,r1,r1,0x0
+ 30c: 00 00 00 00 nop
+ 310: 48 21 fa 00 pkrlih r31,r1,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 21 f9 00 pkrliu r31,r1,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 08 01 lock r1,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 08 03 unlk r1,r1
+ 32c: 00 00 00 00 nop
+ 330: 4c 21 f8 06 swwr r31,r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 21 f8 07 swwru r31,r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 01 08 04 swrd r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 01 08 05 swrdl r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 02 10 0c dwrd r2,r2
+ 354: 00 00 00 00 nop
+ 358: 4c 02 10 0d dwrdl r2,r2
+ 35c: 00 00 00 00 nop
+ 360: 4c 1f 0c 08 cam36 r1,r31,0x1,0x0
+ 364: 00 00 00 00 nop
+ 368: 4c 1f 0c 41 cam72 r1,r31,0x1,0x0
+ 36c: 00 00 00 00 nop
+ 370: 4c 1f 0c 81 cam144 r1,r31,0x1,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 1f 0c c1 cam288 r1,r31,0x1,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4f e1 08 ab cm32and r1,r31,r1
+ 384: 00 00 00 00 nop
+ 388: 4f e1 08 a3 cm32andn r1,r31,r1
+ 38c: 00 00 00 00 nop
+ 390: 4f e1 08 aa cm32or r1,r31,r1
+ 394: 00 00 00 00 nop
+ 398: 4f e1 08 b0 cm32ra r1,r31,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 01 08 a1 cm32rd r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 01 08 a4 cm32ri r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4f e1 08 a0 cm32rs r1,r31,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4f e1 08 b8 cm32sa r1,r31,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 01 08 a9 cm32sd r1,r1
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 01 08 ac cm32si r1,r1
+ 3cc: 00 00 00 00 nop
+ 3d0: 4f e1 08 a8 cm32ss r1,r31,r1
+ 3d4: 00 00 00 00 nop
+ 3d8: 4f e1 08 a2 cm32xor r1,r31,r1
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 02 10 85 cm64clr r2,r2
+ 3e4: 00 00 00 00 nop
+ 3e8: 4f e2 10 90 cm64ra r2,r31,r2
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 02 10 81 cm64rd r2,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 02 10 84 cm64ri r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4f e2 10 94 cm64ria2 r2,r31,r2
+ 404: 00 00 00 00 nop
+ 408: 4f e2 10 80 cm64rs r2,r31,r2
+ 40c: 00 00 00 00 nop
+ 410: 4f e2 10 98 cm64sa r2,r31,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 02 10 89 cm64sd r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 02 10 8c cm64si r2,r2
+ 424: 00 00 00 00 nop
+ 428: 4f e2 10 9c cm64sia2 r2,r31,r2
+ 42c: 00 00 00 00 nop
+ 430: 4f e2 10 88 cm64ss r2,r31,r2
+ 434: 00 00 00 00 nop
+ 438: 4f e2 10 95 cm128ria2 r2,r31,r2
+ 43c: 00 00 00 00 nop
+ 440: 4f e2 10 90 cm64ra r2,r31,r2
+ 444: 00 00 00 00 nop
+ 448: 4f e2 10 b1 cm128ria4 r2,r31,r2,0x1
+ 44c: 00 00 00 00 nop
+ 450: 4f e2 10 9d cm128sia2 r2,r31,r2
+ 454: 00 00 00 00 nop
+ 458: 4f e2 10 98 cm64sa r2,r31,r2
+ 45c: 00 00 00 00 nop
+ 460: 4f e1 08 b8 cm32sa r1,r31,r1
+ 464: 00 00 00 00 nop
+ 468: 4f e1 08 a6 cm128vsa r1,r31,r1
+ 46c: 00 00 00 00 nop
+ 470: 4f e1 08 14 crc32 r1,r31,r1
+ 474: 00 00 00 00 nop
+ 478: 4f e1 08 15 crc32b r1,r31,r1
+ 47c: 00 00 00 00 nop
+ 480: 4c 20 08 26 chkhdr r1,r1
+ 484: 00 00 00 00 nop
+ 488: 4c 00 08 24 avail r1
+ 48c: 00 00 00 00 nop
+ 490: 4c 20 08 25 free r1,r1
+ 494: 00 00 00 00 nop
+ 498: 4f e0 08 27 tstod r1,r31
+ 49c: 00 00 00 00 nop
+ 4a0: 00 00 00 0e yield
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 00 08 2c cmphdr r1
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 01 08 20 mcid r1,r1
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 00 f8 22 dba r31
+ 4bc: 00 00 00 00 nop
+ 4c0: 4c 01 08 21 dbd r1,r0,r1
+ 4c4: 00 00 00 00 nop
+ 4c8: 4c 20 08 23 dpwt r1,r1
+ 4cc: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test1.s b/gas/testsuite/gas/iq2000/q10test1.s
new file mode 100644
index 0000000000..7505230081
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test1.s
@@ -0,0 +1,310 @@
+.global _start
+_start:
+ ADD %1,%31,%1
+ NOP
+ ADDI %1,%31,0
+ NOP
+ ADDIU %1,%31,0
+ NOP
+ ADDU %1,%31,%1
+ NOP
+ ADO16 %1,%31,%1
+ NOP
+ AND %1,%31,%1
+ NOP
+ ANDI %1,%31,0
+ NOP
+ ANDOI %1,%31,0
+ NOP
+ ANDOUI %1,%31,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %1,%31,%1,0
+ NOP
+ NOR %1,%31,%1
+ NOP
+ OR %1,%31,%1
+ NOP
+ ORI %1,%31,0
+ NOP
+ ORUI %1,%31,0
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%31
+ NOP
+ SLT %1,%31,%1
+ NOP
+ SLTI %1,%31,0
+ NOP
+ SLTIU %1,%31,0
+ NOP
+ SLTU %1,%31,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%31
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%31
+ NOP
+ SUB %1,%31,%1
+ NOP
+ SUBU %1,%31,%1
+ NOP
+ XOR %1,%31,%1
+ NOP
+ XORI %1,%31,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%31,%1,0
+ NOP
+ SLMV %1,%31,%1,0
+ NOP
+ RAM %1,%1,0,0,0
+ NOP
+ BBI %31(0),_start
+ NOP
+ BBIN %31(0),_start
+ NOP
+ BBV %31,%1,_start
+ NOP
+ BBVN %31,%1,_start
+ NOP
+ BBIL %31(0),_start
+ NOP
+ BBINL %31(0),_start
+ NOP
+ BBVL %31,%1,_start
+ NOP
+ BBVNL %31,%1,_start
+ NOP
+ BEQ %31,%1,_start
+ NOP
+ BEQL %31,%1,_start
+ NOP
+ BGEZ %31,_start
+ NOP
+ BGTZAL %31,_start
+ NOP
+ BGEZAL %31,_start
+ NOP
+ BGTZALL %31,_start
+ NOP
+ BGEZALL %31,_start
+ NOP
+ BGEZL %31,_start
+ NOP
+ BGTZL %31,_start
+ NOP
+ BGTZ %31,_start
+ NOP
+ BLEZ %31,_start
+ NOP
+ BLEZAL %31,_start
+ NOP
+ BLTZ %31,_start
+ NOP
+ BLTZAL %31,_start
+ NOP
+ BLEZL %31,_start
+ NOP
+ BLTZL %31,_start
+ NOP
+ BLEZALL %31,_start
+ NOP
+ BLTZALL %31,_start
+ NOP
+ BMB %31,%1,_start
+ NOP
+ BMBL %31,%1,_start
+ NOP
+ BMB0 %31,%1,_start
+ NOP
+ BMB1 %31,%1,_start
+ NOP
+ BMB2 %31,%1,_start
+ NOP
+ BMB3 %31,%1,_start
+ NOP
+ BNE %31,%1,_start
+ NOP
+ BNEL %31,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %31,0
+ NOP
+ JALR %1,%31
+ NOP
+ JR %31
+ NOP
+ BREAK
+ NOP
+ CTC %31,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0(%31)
+ NOP
+ LH %1,0(%31)
+ NOP
+ LB %1,0(%31)
+ NOP
+ LHU %1,0(%31)
+ NOP
+ LBU %1,0(%31)
+ NOP
+ SB %1,0(%31)
+ NOP
+ SH %1,0(%31)
+ NOP
+ SW %1,0(%31)
+ NOP
+ RBA %31,%1,%1
+ NOP
+ RBAR %31,%1,%1
+ NOP
+ RBAL %31,%1,%1
+ NOP
+ WBA %31,%1,%1
+ NOP
+ WBAC %31,%1,%1
+ NOP
+ WBAU %31,%1,%1
+ NOP
+ RBI %31,%1,%1,0
+ NOP
+ RBIR %31,%1,%1,0
+ NOP
+ RBIL %31,%1,%1,0
+ NOP
+ WBI %31,%1,%1,0
+ NOP
+ WBIC %31,%1,%1,0
+ NOP
+ WBIU %31,%1,%1,0
+ NOP
+ PKRLA %31,%1,%1
+ NOP
+ PKRLAH %31,%1,%1
+ NOP
+ PKRLAU %31,%1,%1
+ NOP
+ PKRLI %31,%1,%1,0
+ NOP
+ PKRLIH %31,%1,%1,0
+ NOP
+ PKRLIU %31,%1,%1,0
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %31,%1,%1
+ NOP
+ SWWRU %31,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
+ DWRD %2,%2
+ NOP
+ DWRDL %2,%2
+ NOP
+ CAM36 %1,%31,1,0
+ NOP
+ CAM72 %1,%31,1,0
+ NOP
+ CAM144 %1,%31,1,0
+ NOP
+ CAM288 %1,%31,1,0
+ NOP
+ CM32AND %1,%31,%1
+ NOP
+ CM32ANDN %1,%31,%1
+ NOP
+ CM32OR %1,%31,%1
+ NOP
+ CM32RA %1,%31,%1
+ NOP
+ CM32RD %1,%1
+ NOP
+ CM32RI %1,%1
+ NOP
+ CM32RS %1,%31,%1
+ NOP
+ CM32SA %1,%31,%1
+ NOP
+ CM32SD %1,%1
+ NOP
+ CM32SI %1,%1
+ NOP
+ CM32SS %1,%31,%1
+ NOP
+ CM32XOR %1,%31,%1
+ NOP
+ CM64CLR %2,%2
+ NOP
+ CM64RA %2,%31,%2
+ NOP
+ CM64RD %2,%2
+ NOP
+ CM64RI %2,%2
+ NOP
+ CM64RIA2 %2,%31,%2
+ NOP
+ CM64RS %2,%31,%2
+ NOP
+ CM64SA %2,%31,%2
+ NOP
+ CM64SD %2,%2
+ NOP
+ CM64SI %2,%2
+ NOP
+ CM64SIA2 %2,%31,%2
+ NOP
+ CM64SS %2,%31,%2
+ NOP
+ CM128RIA2 %2,%31,%2
+ NOP
+ CM128RIA3 %2,%31,%2,0
+ NOP
+ CM128RIA4 %2,%31,%2,1
+ NOP
+ CM128SIA2 %2,%31,%2
+ NOP
+ CM128SIA3 %2,%31,%2,0
+ NOP
+ CM128SIA4 %1,%31,%1,0
+ NOP
+ CM128VSA %1,%31,%1
+ NOP
+ CRC32 %1,%31,%1
+ NOP
+ CRC32B %1,%31,%1
+ NOP
+ CHKHDR %1,%1
+ NOP
+ AVAIL %1
+ NOP
+ FREE %1,%1
+ NOP
+ TSTOD %1,%31
+ NOP
+ YIELD
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%1
+ NOP
+ DBA %31
+ NOP
+ DBD %1,%1
+ NOP
+ DPWT %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test10.d b/gas/testsuite/gas/iq2000/q10test10.d
new file mode 100644
index 0000000000..422e0b74bc
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test10.d
@@ -0,0 +1,301 @@
+#as: -m10
+#objdump: -drz
+#name: q10test10
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 00 addi r1,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 21 00 00 addiu r1,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 00 andi r1,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 00 andoi r1,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 00 andoui r1,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 21 0f ed mrgb r1,r1,r1,0x1f
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 00 ori r1,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 00 orui r1,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 00 slti r1,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 00 sltiu r1,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 00 xori r1,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 21 08 01 ram r1,r1,0x0,0x1,0x1
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 21 ff b9 bbv r1,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 ff b7 bbvn r1,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 21 ff b1 bbvl r1,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 ff af bbvnl r1,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 21 ff ad beq r1,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 ff ab beql r1,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 ff 89 bmb r1,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 ff 87 bmbl r1,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 ff 85 bmb0 r1,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 ff 83 bmb1 r1,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 ff 81 bmb2 r1,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 ff 7f bmb3 r1,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 21 ff 7d bne r1,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 ff 7b bnel r1,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 00 lw r1,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 00 lh r1,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 00 lb r1,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 00 lhu r1,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 00 lbu r1,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 00 sb r1,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 00 sh r1,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 00 sw r1,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a ff rbi r1,r1,r1,0xff
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 ff rbir r1,r1,r1,0xff
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b ff rbil r1,r1,r1,0xff
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e ff wbi r1,r1,r1,0xff
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d ff wbic r1,r1,r1,0xff
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f ff wbiu r1,r1,r1,0xff
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2a pkrlah r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 29 pkrlau r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 48 21 08 ff pkrli r1,r1,r1,0xff
+ 30c: 00 00 00 00 nop
+ 310: 48 21 0a ff pkrlih r1,r1,r1,0xff
+ 314: 00 00 00 00 nop
+ 318: 48 21 09 ff pkrliu r1,r1,r1,0xff
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 08 01 lock r1,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 08 03 unlk r1,r1
+ 32c: 00 00 00 00 nop
+ 330: 4c 21 08 06 swwr r1,r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 21 08 07 swwru r1,r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 01 08 04 swrd r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 01 08 05 swrdl r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 01 0c 07 cam36 r1,r1,0x0,0x7
+ 354: 00 00 00 00 nop
+ 358: 4c 01 0c 78 cam72 r1,r1,0x0,0x7
+ 35c: 00 00 00 00 nop
+ 360: 4c 01 0c b8 cam144 r1,r1,0x0,0x7
+ 364: 00 00 00 00 nop
+ 368: 4c 01 0c f8 cam288 r1,r1,0x0,0x7
+ 36c: 00 00 00 00 nop
+ 370: 4c 21 08 ab cm32and r1,r1,r1
+ 374: 00 00 00 00 nop
+ 378: 4c 21 08 a3 cm32andn r1,r1,r1
+ 37c: 00 00 00 00 nop
+ 380: 4c 21 08 aa cm32or r1,r1,r1
+ 384: 00 00 00 00 nop
+ 388: 4c 21 08 b0 cm32ra r1,r1,r1
+ 38c: 00 00 00 00 nop
+ 390: 4c 01 08 a1 cm32rd r1,r1
+ 394: 00 00 00 00 nop
+ 398: 4c 01 08 a4 cm32ri r1,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 21 08 a0 cm32rs r1,r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 21 08 b8 cm32sa r1,r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 01 08 a9 cm32sd r1,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 01 08 ac cm32si r1,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 21 08 a8 cm32ss r1,r1,r1
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 21 08 a2 cm32xor r1,r1,r1
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 02 10 85 cm64clr r2,r2
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 42 10 90 cm64ra r2,r2,r2
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 02 10 81 cm64rd r2,r2
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 02 10 84 cm64ri r2,r2
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 42 10 94 cm64ria2 r2,r2,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 42 10 80 cm64rs r2,r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4c 42 10 98 cm64sa r2,r2,r2
+ 404: 00 00 00 00 nop
+ 408: 4c 02 10 89 cm64sd r2,r2
+ 40c: 00 00 00 00 nop
+ 410: 4c 02 10 8c cm64si r2,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 42 10 9c cm64sia2 r2,r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 42 10 88 cm64ss r2,r2,r2
+ 424: 00 00 00 00 nop
+ 428: 4c 42 10 95 cm128ria2 r2,r2,r2
+ 42c: 00 00 00 00 nop
+ 430: 4c 21 08 14 crc32 r1,r1,r1
+ 434: 00 00 00 00 nop
+ 438: 4c 21 08 15 crc32b r1,r1,r1
+ 43c: 00 00 00 00 nop
+ 440: 4c 20 08 26 chkhdr r1,r1
+ 444: 00 00 00 00 nop
+ 448: 4c 00 08 24 avail r1
+ 44c: 00 00 00 00 nop
+ 450: 4c 20 08 25 free r1,r1
+ 454: 00 00 00 00 nop
+ 458: 4c 20 08 27 tstod r1,r1
+ 45c: 00 00 00 00 nop
+ 460: 00 00 00 0e yield
+ 464: 00 00 00 00 nop
+ 468: 4c 00 08 2c cmphdr r1
+ 46c: 00 00 00 00 nop
+ 470: 4c 01 08 20 mcid r1,r1
+ 474: 00 00 00 00 nop
+ 478: 4c 00 08 22 dba r1
+ 47c: 00 00 00 00 nop
+ 480: 4c 01 08 21 dbd r1,r0,r1
+ 484: 00 00 00 00 nop
+ 488: 4c 20 08 23 dpwt r1,r1
+ 48c: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test10.s b/gas/testsuite/gas/iq2000/q10test10.s
new file mode 100644
index 0000000000..1ecf11013d
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test10.s
@@ -0,0 +1,294 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,0
+ NOP
+ ADDIU %1,%1,0
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,0
+ NOP
+ ANDOI %1,%1,0
+ NOP
+ ANDOUI %1,%1,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %1,%1,%1,31
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,0
+ NOP
+ ORUI %1,%1,0
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,0
+ NOP
+ SLTIU %1,%1,0
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,1,1
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%1,_start
+ NOP
+ BBVN %1,%1,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%1,_start
+ NOP
+ BBVNL %1,%1,_start
+ NOP
+ BEQ %1,%1,_start
+ NOP
+ BEQL %1,%1,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%1,_start
+ NOP
+ BMBL %1,%1,_start
+ NOP
+ BMB0 %1,%1,_start
+ NOP
+ BMB1 %1,%1,_start
+ NOP
+ BMB2 %1,%1,_start
+ NOP
+ BMB3 %1,%1,_start
+ NOP
+ BNE %1,%1,_start
+ NOP
+ BNEL %1,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0(%1)
+ NOP
+ LH %1,0(%1)
+ NOP
+ LB %1,0(%1)
+ NOP
+ LHU %1,0(%1)
+ NOP
+ LBU %1,0(%1)
+ NOP
+ SB %1,0(%1)
+ NOP
+ SH %1,0(%1)
+ NOP
+ SW %1,0(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,255
+ NOP
+ RBIR %1,%1,%1,255
+ NOP
+ RBIL %1,%1,%1,255
+ NOP
+ WBI %1,%1,%1,255
+ NOP
+ WBIC %1,%1,%1,255
+ NOP
+ WBIU %1,%1,%1,255
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,255
+ NOP
+ PKRLIH %1,%1,%1,255
+ NOP
+ PKRLIU %1,%1,%1,255
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
+ CAM36 %1,%1,0,7
+ NOP
+ CAM72 %1,%1,0,7
+ NOP
+ CAM144 %1,%1,0,7
+ NOP
+ CAM288 %1,%1,0,7
+ NOP
+ CM32AND %1,%1,%1
+ NOP
+ CM32ANDN %1,%1,%1
+ NOP
+ CM32OR %1,%1,%1
+ NOP
+ CM32RA %1,%1,%1
+ NOP
+ CM32RD %1,%1
+ NOP
+ CM32RI %1,%1
+ NOP
+ CM32RS %1,%1,%1
+ NOP
+ CM32SA %1,%1,%1
+ NOP
+ CM32SD %1,%1
+ NOP
+ CM32SI %1,%1
+ NOP
+ CM32SS %1,%1,%1
+ NOP
+ CM32XOR %1,%1,%1
+ NOP
+ CM64CLR %2,%2
+ NOP
+ CM64RA %2,%2,%2
+ NOP
+ CM64RD %2,%2
+ NOP
+ CM64RI %2,%2
+ NOP
+ CM64RIA2 %2,%2,%2
+ NOP
+ CM64RS %2,%2,%2
+ NOP
+ CM64SA %2,%2,%2
+ NOP
+ CM64SD %2,%2
+ NOP
+ CM64SI %2,%2
+ NOP
+ CM64SIA2 %2,%2,%2
+ NOP
+ CM64SS %2,%2,%2
+ NOP
+ CM128RIA2 %2,%2,%2
+ NOP
+ CRC32 %1,%1,%1
+ NOP
+ CRC32B %1,%1,%1
+ NOP
+ CHKHDR %1,%1
+ NOP
+ AVAIL %1
+ NOP
+ FREE %1,%1
+ NOP
+ TSTOD %1,%1
+ NOP
+ YIELD
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%1
+ NOP
+ DBA %1
+ NOP
+ DBD %1,%1
+ NOP
+ DPWT %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test11.d b/gas/testsuite/gas/iq2000/q10test11.d
new file mode 100644
index 0000000000..a01fedc738
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test11.d
@@ -0,0 +1,225 @@
+#as: -m10
+#objdump: -drz
+#name: q10test11
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 00 addi r1,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 21 00 00 addiu r1,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 00 andi r1,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 00 andoi r1,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 00 andoui r1,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 21 08 6d mrgb r1,r1,r1,0x1
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 00 ori r1,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 00 orui r1,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 00 slti r1,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 00 sltiu r1,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 00 xori r1,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9d e1 08 01 ram r1,r1,0x0,0x1,0xf
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 21 ff b9 bbv r1,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 ff b7 bbvn r1,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 21 ff b1 bbvl r1,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 ff af bbvnl r1,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 21 ff ad beq r1,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 ff ab beql r1,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 ff 89 bmb r1,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 ff 87 bmbl r1,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 ff 85 bmb0 r1,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 ff 83 bmb1 r1,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 ff 81 bmb2 r1,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 ff 7f bmb3 r1,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 21 ff 7d bne r1,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 ff 7b bnel r1,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 00 lw r1,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 00 lh r1,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 00 lb r1,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 00 lhu r1,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 00 lbu r1,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 00 sb r1,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 00 sh r1,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 00 sw r1,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a 00 rbi r1,r1,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 00 rbir r1,r1,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b 00 rbil r1,r1,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e 00 wbi r1,r1,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d 00 wbic r1,r1,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f 00 wbiu r1,r1,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2b pkrlac r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 2a pkrlah r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 4c 21 08 29 pkrlau r1,r1,r1
+ 30c: 00 00 00 00 nop
+ 310: 48 21 08 00 pkrli r1,r1,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 21 0b 00 pkrlic r1,r1,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 48 21 0a 00 pkrlih r1,r1,r1,0x0
+ 324: 00 00 00 00 nop
+ 328: 48 21 09 00 pkrliu r1,r1,r1,0x0
+ 32c: 00 00 00 00 nop
+ 330: 4c 01 08 01 lock r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 01 08 03 unlk r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 21 08 06 swwr r1,r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 21 08 07 swwru r1,r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 01 08 04 swrd r1,r1
+ 354: 00 00 00 00 nop
+ 358: 4c 01 08 05 swrdl r1,r1
+ 35c: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test11.s b/gas/testsuite/gas/iq2000/q10test11.s
new file mode 100644
index 0000000000..08ee8d5573
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test11.s
@@ -0,0 +1,218 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,0
+ NOP
+ ADDIU %1,%1,0
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,0
+ NOP
+ ANDOI %1,%1,0
+ NOP
+ ANDOUI %1,%1,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %1,%1,%1,1
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,0
+ NOP
+ ORUI %1,%1,0
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,0
+ NOP
+ SLTIU %1,%1,0
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,1,15
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%1,_start
+ NOP
+ BBVN %1,%1,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%1,_start
+ NOP
+ BBVNL %1,%1,_start
+ NOP
+ BEQ %1,%1,_start
+ NOP
+ BEQL %1,%1,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%1,_start
+ NOP
+ BMBL %1,%1,_start
+ NOP
+ BMB0 %1,%1,_start
+ NOP
+ BMB1 %1,%1,_start
+ NOP
+ BMB2 %1,%1,_start
+ NOP
+ BMB3 %1,%1,_start
+ NOP
+ BNE %1,%1,_start
+ NOP
+ BNEL %1,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0(%1)
+ NOP
+ LH %1,0(%1)
+ NOP
+ LB %1,0(%1)
+ NOP
+ LHU %1,0(%1)
+ NOP
+ LBU %1,0(%1)
+ NOP
+ SB %1,0(%1)
+ NOP
+ SH %1,0(%1)
+ NOP
+ SW %1,0(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,0
+ NOP
+ RBIR %1,%1,%1,0
+ NOP
+ RBIL %1,%1,%1,0
+ NOP
+ WBI %1,%1,%1,0
+ NOP
+ WBIC %1,%1,%1,0
+ NOP
+ WBIU %1,%1,%1,0
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAC %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,0
+ NOP
+ PKRLIC %1,%1,%1,0
+ NOP
+ PKRLIH %1,%1,%1,0
+ NOP
+ PKRLIU %1,%1,%1,0
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test12.d b/gas/testsuite/gas/iq2000/q10test12.d
new file mode 100644
index 0000000000..c261205678
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test12.d
@@ -0,0 +1,221 @@
+#as: -m10
+#objdump: -drz
+#name: q10test12
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 00 addi r1,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 21 00 00 addiu r1,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 00 andi r1,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 00 andoi r1,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 00 andoui r1,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 21 08 6d mrgb r1,r1,r1,0x1
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 00 ori r1,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 00 orui r1,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 00 slti r1,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 00 sltiu r1,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 00 xori r1,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 21 08 0f ram r1,r1,0x0,0xf,0x1
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 21 ff b9 bbv r1,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 ff b7 bbvn r1,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 21 ff b1 bbvl r1,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 ff af bbvnl r1,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 21 ff ad beq r1,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 ff ab beql r1,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 ff 89 bmb r1,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 ff 87 bmbl r1,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 ff 85 bmb0 r1,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 ff 83 bmb1 r1,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 ff 81 bmb2 r1,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 ff 7f bmb3 r1,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 21 ff 7d bne r1,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 ff 7b bnel r1,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 00 lw r1,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 00 lh r1,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 00 lb r1,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 00 lhu r1,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 00 lbu r1,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 00 sb r1,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 00 sh r1,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 00 sw r1,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a 00 rbi r1,r1,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 00 rbir r1,r1,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b 00 rbil r1,r1,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e 00 wbi r1,r1,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d 00 wbic r1,r1,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f 00 wbiu r1,r1,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2a pkrlah r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 29 pkrlau r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 48 21 08 00 pkrli r1,r1,r1,0x0
+ 30c: 00 00 00 00 nop
+ 310: 48 21 0a 00 pkrlih r1,r1,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 21 09 00 pkrliu r1,r1,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 08 01 lock r1,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 08 03 unlk r1,r1
+ 32c: 00 00 00 00 nop
+ 330: 4c 21 08 06 swwr r1,r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 21 08 07 swwru r1,r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 01 08 04 swrd r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 01 08 05 swrdl r1,r1
+ 34c: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test12.s b/gas/testsuite/gas/iq2000/q10test12.s
new file mode 100644
index 0000000000..e207ec3d93
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test12.s
@@ -0,0 +1,214 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,0
+ NOP
+ ADDIU %1,%1,0
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,0
+ NOP
+ ANDOI %1,%1,0
+ NOP
+ ANDOUI %1,%1,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %1,%1,%1,1
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,0
+ NOP
+ ORUI %1,%1,0
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,0
+ NOP
+ SLTIU %1,%1,0
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,15,1
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%1,_start
+ NOP
+ BBVN %1,%1,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%1,_start
+ NOP
+ BBVNL %1,%1,_start
+ NOP
+ BEQ %1,%1,_start
+ NOP
+ BEQL %1,%1,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%1,_start
+ NOP
+ BMBL %1,%1,_start
+ NOP
+ BMB0 %1,%1,_start
+ NOP
+ BMB1 %1,%1,_start
+ NOP
+ BMB2 %1,%1,_start
+ NOP
+ BMB3 %1,%1,_start
+ NOP
+ BNE %1,%1,_start
+ NOP
+ BNEL %1,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0(%1)
+ NOP
+ LH %1,0(%1)
+ NOP
+ LB %1,0(%1)
+ NOP
+ LHU %1,0(%1)
+ NOP
+ LBU %1,0(%1)
+ NOP
+ SB %1,0(%1)
+ NOP
+ SH %1,0(%1)
+ NOP
+ SW %1,0(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,0
+ NOP
+ RBIR %1,%1,%1,0
+ NOP
+ RBIL %1,%1,%1,0
+ NOP
+ WBI %1,%1,%1,0
+ NOP
+ WBIC %1,%1,%1,0
+ NOP
+ WBIU %1,%1,%1,0
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,0
+ NOP
+ PKRLIH %1,%1,%1,0
+ NOP
+ PKRLIU %1,%1,%1,0
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test2.d b/gas/testsuite/gas/iq2000/q10test2.d
new file mode 100644
index 0000000000..944232a10b
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test2.d
@@ -0,0 +1,319 @@
+#as: -m10
+#objdump: -drz
+#name: q10test2
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 f8 20 add r31,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 00 addi r1,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 21 00 00 addiu r1,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 21 f8 21 addu r31,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 f8 29 ado16 r31,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 f8 24 and r31,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 00 andi r1,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 00 andoi r1,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 00 andoui r1,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 21 f8 2d mrgb r31,r1,r1,0x0
+ 54: 00 00 00 00 nop
+ 58: 00 21 f8 27 nor r31,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 f8 25 or r31,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 00 ori r1,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 00 orui r1,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 f8 00 sll r31,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 f8 04 sllv r31,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 f8 2a slt r31,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 00 slti r1,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 00 sltiu r1,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 21 f8 2b sltu r31,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 f8 03 sra r31,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 f8 07 srav r31,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 f8 02 srl r31,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 f8 06 srlv r31,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 f8 22 sub r31,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 f8 23 subu r31,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 f8 26 xor r31,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 00 xori r1,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 f8 05 srmv r31,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 f8 01 slmv r31,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 01 f8 00 ram r31,r1,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 21 ff b9 bbv r1,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 ff b7 bbvn r1,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 21 ff b1 bbvl r1,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 ff af bbvnl r1,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 21 ff ad beq r1,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 ff ab beql r1,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 ff 89 bmb r1,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 ff 87 bmbl r1,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 ff 85 bmb0 r1,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 ff 83 bmb1 r1,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 ff 81 bmb2 r1,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 ff 7f bmb3 r1,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 21 ff 7d bne r1,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 ff 7b bnel r1,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 f8 09 jalr r31,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 f8 00 cfc r31,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 00 lw r1,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 00 lh r1,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 00 lb r1,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 00 lhu r1,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 00 lbu r1,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 00 sb r1,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 00 sh r1,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 00 sw r1,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 3f 08 08 rba r1,r1,r31
+ 294: 00 00 00 00 nop
+ 298: 4c 3f 08 0a rbar r1,r1,r31
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 3f 08 09 rbal r1,r1,r31
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 3f 08 10 wba r1,r1,r31
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 3f 08 12 wbac r1,r1,r31
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 3f 08 11 wbau r1,r1,r31
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 3f 0a 00 rbi r1,r1,r31,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 3f 09 00 rbir r1,r1,r31,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 3f 0b 00 rbil r1,r1,r31,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 3f 0e 00 wbi r1,r1,r31,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 3f 0d 00 wbic r1,r1,r31,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 3f 0f 00 wbiu r1,r1,r31,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 3f 08 28 pkrla r1,r1,r31
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 3f 08 2b pkrlac r1,r1,r31
+ 2fc: 00 00 00 00 nop
+ 300: 4c 3f 08 2a pkrlah r1,r1,r31
+ 304: 00 00 00 00 nop
+ 308: 4c 3f 08 29 pkrlau r1,r1,r31
+ 30c: 00 00 00 00 nop
+ 310: 48 3f 08 00 pkrli r1,r1,r31,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 3f 0b 00 pkrlic r1,r1,r31,0x0
+ 31c: 00 00 00 00 nop
+ 320: 48 3f 0a 00 pkrlih r1,r1,r31,0x0
+ 324: 00 00 00 00 nop
+ 328: 48 3f 09 00 pkrliu r1,r1,r31,0x0
+ 32c: 00 00 00 00 nop
+ 330: 4c 1f 08 01 lock r1,r31
+ 334: 00 00 00 00 nop
+ 338: 4c 1f 08 03 unlk r1,r31
+ 33c: 00 00 00 00 nop
+ 340: 4c 3f 08 06 swwr r1,r1,r31
+ 344: 00 00 00 00 nop
+ 348: 4c 3f 08 07 swwru r1,r1,r31
+ 34c: 00 00 00 00 nop
+ 350: 4c 01 f8 04 swrd r31,r1
+ 354: 00 00 00 00 nop
+ 358: 4c 01 f8 05 swrdl r31,r1
+ 35c: 00 00 00 00 nop
+ 360: 4c 02 f0 0c dwrd r30,r2
+ 364: 00 00 00 00 nop
+ 368: 4c 02 f0 0d dwrdl r30,r2
+ 36c: 00 00 00 00 nop
+ 370: 4c 01 fc 10 cam36 r31,r1,0x2,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 01 fc 42 cam72 r31,r1,0x2,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4c 01 fc 82 cam144 r31,r1,0x2,0x0
+ 384: 00 00 00 00 nop
+ 388: 4c 01 fc c2 cam288 r31,r1,0x2,0x0
+ 38c: 00 00 00 00 nop
+ 390: 4c 21 f8 ab cm32and r31,r1,r1
+ 394: 00 00 00 00 nop
+ 398: 4c 21 f8 a3 cm32andn r31,r1,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 21 f8 aa cm32or r31,r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 21 f8 b0 cm32ra r31,r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 01 f8 a1 cm32rd r31,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 01 f8 a4 cm32ri r31,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 21 f8 a0 cm32rs r31,r1,r1
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 21 f8 b8 cm32sa r31,r1,r1
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 01 f8 a9 cm32sd r31,r1
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 01 f8 ac cm32si r31,r1
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 21 f8 a8 cm32ss r31,r1,r1
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 21 f8 a2 cm32xor r31,r1,r1
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 02 f0 85 cm64clr r30,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 42 f0 90 cm64ra r30,r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4c 02 f0 81 cm64rd r30,r2
+ 404: 00 00 00 00 nop
+ 408: 4c 02 f0 84 cm64ri r30,r2
+ 40c: 00 00 00 00 nop
+ 410: 4c 42 f0 94 cm64ria2 r30,r2,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 42 f0 80 cm64rs r30,r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 42 f0 98 cm64sa r30,r2,r2
+ 424: 00 00 00 00 nop
+ 428: 4c 02 f0 89 cm64sd r30,r2
+ 42c: 00 00 00 00 nop
+ 430: 4c 02 f0 8c cm64si r30,r2
+ 434: 00 00 00 00 nop
+ 438: 4c 42 f0 9c cm64sia2 r30,r2,r2
+ 43c: 00 00 00 00 nop
+ 440: 4c 42 f0 88 cm64ss r30,r2,r2
+ 444: 00 00 00 00 nop
+ 448: 4c 42 f0 95 cm128ria2 r30,r2,r2
+ 44c: 00 00 00 00 nop
+ 450: 4c 42 f0 92 cm128ria3 r30,r2,r2,0x2
+ 454: 00 00 00 00 nop
+ 458: 4c 42 f0 b2 cm128ria4 r30,r2,r2,0x2
+ 45c: 00 00 00 00 nop
+ 460: 4c 42 f0 9d cm128sia2 r30,r2,r2
+ 464: 00 00 00 00 nop
+ 468: 4c 42 f0 9a cm128sia3 r30,r2,r2,0x2
+ 46c: 00 00 00 00 nop
+ 470: 4c 21 f8 ba cm128sia4 r31,r1,r1,0x2
+ 474: 00 00 00 00 nop
+ 478: 4c 21 f8 a6 cm128vsa r31,r1,r1
+ 47c: 00 00 00 00 nop
+ 480: 4c 21 f8 14 crc32 r31,r1,r1
+ 484: 00 00 00 00 nop
+ 488: 4c 21 f8 15 crc32b r31,r1,r1
+ 48c: 00 00 00 00 nop
+ 490: 4c 20 f8 26 chkhdr r31,r1
+ 494: 00 00 00 00 nop
+ 498: 4c 00 f8 24 avail r31
+ 49c: 00 00 00 00 nop
+ 4a0: 4c 20 f8 25 free r31,r1
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 20 f8 27 tstod r31,r1
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 00 f8 2c cmphdr r31
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 01 f8 20 mcid r31,r1
+ 4bc: 00 00 00 00 nop
+ 4c0: 4c 00 f8 22 dba r31
+ 4c4: 00 00 00 00 nop
+ 4c8: 4c 1f 08 21 dbd r1,r0,r31
+ 4cc: 00 00 00 00 nop
+ 4d0: 4f e0 08 23 dpwt r1,r31
+ 4d4: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test2.s b/gas/testsuite/gas/iq2000/q10test2.s
new file mode 100644
index 0000000000..72a83113d9
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test2.s
@@ -0,0 +1,312 @@
+.global _start
+_start:
+ ADD %31,%1,%1
+ NOP
+ ADDI %1,%1,0
+ NOP
+ ADDIU %1,%1,0
+ NOP
+ ADDU %31,%1,%1
+ NOP
+ ADO16 %31,%1,%1
+ NOP
+ AND %31,%1,%1
+ NOP
+ ANDI %1,%1,0
+ NOP
+ ANDOI %1,%1,0
+ NOP
+ ANDOUI %1,%1,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %31,%1,%1,0
+ NOP
+ NOR %31,%1,%1
+ NOP
+ OR %31,%1,%1
+ NOP
+ ORI %1,%1,0
+ NOP
+ ORUI %1,%1,0
+ NOP
+ SLL %31,%1,0
+ NOP
+ SLLV %31,%1,%1
+ NOP
+ SLT %31,%1,%1
+ NOP
+ SLTI %1,%1,0
+ NOP
+ SLTIU %1,%1,0
+ NOP
+ SLTU %31,%1,%1
+ NOP
+ SRA %31,%1,0
+ NOP
+ SRAV %31,%1,%1
+ NOP
+ SRL %31,%1,0
+ NOP
+ SRLV %31,%1,%1
+ NOP
+ SUB %31,%1,%1
+ NOP
+ SUBU %31,%1,%1
+ NOP
+ XOR %31,%1,%1
+ NOP
+ XORI %1,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %31,%1,%1,0
+ NOP
+ SLMV %31,%1,%1,0
+ NOP
+ RAM %31,%1,0,0,0
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%1,_start
+ NOP
+ BBVN %1,%1,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%1,_start
+ NOP
+ BBVNL %1,%1,_start
+ NOP
+ BEQ %1,%1,_start
+ NOP
+ BEQL %1,%1,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%1,_start
+ NOP
+ BMBL %1,%1,_start
+ NOP
+ BMB0 %1,%1,_start
+ NOP
+ BMB1 %1,%1,_start
+ NOP
+ BMB2 %1,%1,_start
+ NOP
+ BMB3 %1,%1,_start
+ NOP
+ BNE %1,%1,_start
+ NOP
+ BNEL %1,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %31,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %31,%1
+ NOP
+ LW %1,0(%1)
+ NOP
+ LH %1,0(%1)
+ NOP
+ LB %1,0(%1)
+ NOP
+ LHU %1,0(%1)
+ NOP
+ LBU %1,0(%1)
+ NOP
+ SB %1,0(%1)
+ NOP
+ SH %1,0(%1)
+ NOP
+ SW %1,0(%1)
+ NOP
+ RBA %1,%1,%31
+ NOP
+ RBAR %1,%1,%31
+ NOP
+ RBAL %1,%1,%31
+ NOP
+ WBA %1,%1,%31
+ NOP
+ WBAC %1,%1,%31
+ NOP
+ WBAU %1,%1,%31
+ NOP
+ RBI %1,%1,%31,0
+ NOP
+ RBIR %1,%1,%31,0
+ NOP
+ RBIL %1,%1,%31,0
+ NOP
+ WBI %1,%1,%31,0
+ NOP
+ WBIC %1,%1,%31,0
+ NOP
+ WBIU %1,%1,%31,0
+ NOP
+ PKRLA %1,%1,%31
+ NOP
+ PKRLAC %1,%1,%31
+ NOP
+ PKRLAH %1,%1,%31
+ NOP
+ PKRLAU %1,%1,%31
+ NOP
+ PKRLI %1,%1,%31,0
+ NOP
+ PKRLIC %1,%1,%31,0
+ NOP
+ PKRLIH %1,%1,%31,0
+ NOP
+ PKRLIU %1,%1,%31,0
+ NOP
+ LOCK %1,%31
+ NOP
+ UNLK %1,%31
+ NOP
+ SWWR %1,%1,%31
+ NOP
+ SWWRU %1,%1,%31
+ NOP
+ SWRD %31,%1
+ NOP
+ SWRDL %31,%1
+ NOP
+ DWRD %30,%2
+ NOP
+ DWRDL %30,%2
+ NOP
+ CAM36 %31,%1,2,0
+ NOP
+ CAM72 %31,%1,2,0
+ NOP
+ CAM144 %31,%1,2,0
+ NOP
+ CAM288 %31,%1,2,0
+ NOP
+ CM32AND %31,%1,%1
+ NOP
+ CM32ANDN %31,%1,%1
+ NOP
+ CM32OR %31,%1,%1
+ NOP
+ CM32RA %31,%1,%1
+ NOP
+ CM32RD %31,%1
+ NOP
+ CM32RI %31,%1
+ NOP
+ CM32RS %31,%1,%1
+ NOP
+ CM32SA %31,%1,%1
+ NOP
+ CM32SD %31,%1
+ NOP
+ CM32SI %31,%1
+ NOP
+ CM32SS %31,%1,%1
+ NOP
+ CM32XOR %31,%1,%1
+ NOP
+ CM64CLR %30,%2
+ NOP
+ CM64RA %30,%2,%2
+ NOP
+ CM64RD %30,%2
+ NOP
+ CM64RI %30,%2
+ NOP
+ CM64RIA2 %30,%2,%2
+ NOP
+ CM64RS %30,%2,%2
+ NOP
+ CM64SA %30,%2,%2
+ NOP
+ CM64SD %30,%2
+ NOP
+ CM64SI %30,%2
+ NOP
+ CM64SIA2 %30,%2,%2
+ NOP
+ CM64SS %30,%2,%2
+ NOP
+ CM128RIA2 %30,%2,%2
+ NOP
+ CM128RIA3 %30,%2,%2,2
+ NOP
+ CM128RIA4 %30,%2,%2,2
+ NOP
+ CM128SIA2 %30,%2,%2
+ NOP
+ CM128SIA3 %30,%2,%2,2
+ NOP
+ CM128SIA4 %31,%1,%1,2
+ NOP
+ CM128VSA %31,%1,%1
+ NOP
+ CRC32 %31,%1,%1
+ NOP
+ CRC32B %31,%1,%1
+ NOP
+ CHKHDR %31,%1
+ NOP
+ AVAIL %31
+ NOP
+ FREE %31,%1
+ NOP
+ TSTOD %31,%1
+ NOP
+ CMPHDR %31
+ NOP
+ MCID %31,%1
+ NOP
+ DBA %31
+ NOP
+ DBD %1,%31
+ NOP
+ DPWT %1,%31
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test3.d b/gas/testsuite/gas/iq2000/q10test3.d
new file mode 100644
index 0000000000..a32acdd6dd
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test3.d
@@ -0,0 +1,313 @@
+#as: -m10
+#objdump: -drz
+#name: q10test3
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 3f 08 20 add r1,r1,r31
+ 4: 00 00 00 00 nop
+ 8: 20 3f 00 00 addi r31,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 3f 00 00 addiu r31,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 3f 08 21 addu r1,r1,r31
+ 1c: 00 00 00 00 nop
+ 20: 00 3f 08 29 ado16 r1,r1,r31
+ 24: 00 00 00 00 nop
+ 28: 00 3f 08 24 and r1,r1,r31
+ 2c: 00 00 00 00 nop
+ 30: 30 3f 00 00 andi r31,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 3f 00 00 andoi r31,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 3f 00 00 andoui r31,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 1f 00 00 lui r31,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 3f 08 2d mrgb r1,r1,r31,0x0
+ 54: 00 00 00 00 nop
+ 58: 00 3f 08 27 nor r1,r1,r31
+ 5c: 00 00 00 00 nop
+ 60: 00 3f 08 25 or r1,r1,r31
+ 64: 00 00 00 00 nop
+ 68: 34 3f 00 00 ori r31,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 3f 00 00 orui r31,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 1f 08 00 sll r1,r31,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 3f 08 04 sllv r1,r31,r1
+ 84: 00 00 00 00 nop
+ 88: 00 3f 08 2a slt r1,r1,r31
+ 8c: 00 00 00 00 nop
+ 90: 28 3f 00 00 slti r31,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 3f 00 00 sltiu r31,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 3f 08 2b sltu r1,r1,r31
+ a4: 00 00 00 00 nop
+ a8: 00 1f 08 03 sra r1,r31,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 3f 08 07 srav r1,r31,r1
+ b4: 00 00 00 00 nop
+ b8: 00 1f 08 02 srl r1,r31,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 3f 08 06 srlv r1,r31,r1
+ c4: 00 00 00 00 nop
+ c8: 00 3f 08 22 sub r1,r1,r31
+ cc: 00 00 00 00 nop
+ d0: 00 3f 08 23 subu r1,r1,r31
+ d4: 00 00 00 00 nop
+ d8: 00 3f 08 26 xor r1,r1,r31
+ dc: 00 00 00 00 nop
+ e0: 38 3f 00 00 xori r31,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 03 e1 08 05 srmv r1,r1,r31,0x0
+ f4: 00 00 00 00 nop
+ f8: 03 e1 08 01 slmv r1,r1,r31,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 1f 08 00 ram r1,r31,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 3f ff b9 bbv r1,r31,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 3f ff b7 bbvn r1,r31,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 3f ff b1 bbvl r1,r31,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 3f ff af bbvnl r1,r31,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 3f ff ad beq r1,r31,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 3f ff ab beql r1,r31,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 3f ff 89 bmb r1,r31,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 3f ff 87 bmbl r1,r31,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 3f ff 85 bmb0 r1,r31,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 3f ff 83 bmb1 r1,r31,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 3f ff 81 bmb2 r1,r31,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 3f ff 7f bmb3 r1,r31,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 3f ff 7d bne r1,r31,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 3f ff 7b bnel r1,r31,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 3f 00 02 ctc r1,r31
+ 244: 00 00 00 00 nop
+ 248: 4c 1f 08 00 cfc r1,r31
+ 24c: 00 00 00 00 nop
+ 250: 8c 3f 00 00 lw r31,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 3f 00 00 lh r31,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 3f 00 00 lb r31,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 3f 00 00 lhu r31,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 3f 00 00 lbu r31,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 3f 00 00 sb r31,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 3f 00 00 sh r31,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 3f 00 00 sw r31,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4f e1 08 08 rba r1,r31,r1
+ 294: 00 00 00 00 nop
+ 298: 4f e1 08 0a rbar r1,r31,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4f e1 08 09 rbal r1,r31,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4f e1 08 10 wba r1,r31,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4f e1 08 12 wbac r1,r31,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4f e1 08 11 wbau r1,r31,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4f e1 0a 00 rbi r1,r31,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4f e1 09 00 rbir r1,r31,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4f e1 0b 00 rbil r1,r31,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4f e1 0e 00 wbi r1,r31,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4f e1 0d 00 wbic r1,r31,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4f e1 0f 00 wbiu r1,r31,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4f e1 08 28 pkrla r1,r31,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4f e1 08 2a pkrlah r1,r31,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4f e1 08 29 pkrlau r1,r31,r1
+ 304: 00 00 00 00 nop
+ 308: 4b e1 08 00 pkrli r1,r31,r1,0x0
+ 30c: 00 00 00 00 nop
+ 310: 4b e1 0a 00 pkrlih r1,r31,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 4b e1 09 00 pkrliu r1,r31,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 f8 01 lock r31,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 f8 03 unlk r31,r1
+ 32c: 00 00 00 00 nop
+ 330: 4f e1 08 06 swwr r1,r31,r1
+ 334: 00 00 00 00 nop
+ 338: 4f e1 08 07 swwru r1,r31,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 1f 08 04 swrd r1,r31
+ 344: 00 00 00 00 nop
+ 348: 4c 1f 08 05 swrdl r1,r31
+ 34c: 00 00 00 00 nop
+ 350: 4c 1e 10 0c dwrd r2,r30
+ 354: 00 00 00 00 nop
+ 358: 4c 1e 10 0d dwrdl r2,r30
+ 35c: 00 00 00 00 nop
+ 360: 4c 1f 0c 18 cam36 r1,r31,0x3,0x0
+ 364: 00 00 00 00 nop
+ 368: 4c 1f 0c 43 cam72 r1,r31,0x3,0x0
+ 36c: 00 00 00 00 nop
+ 370: 4c 1f 0c 83 cam144 r1,r31,0x3,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 1f 0c c3 cam288 r1,r31,0x3,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4c 3f 08 ab cm32and r1,r1,r31
+ 384: 00 00 00 00 nop
+ 388: 4c 3f 08 a3 cm32andn r1,r1,r31
+ 38c: 00 00 00 00 nop
+ 390: 4c 3f 08 aa cm32or r1,r1,r31
+ 394: 00 00 00 00 nop
+ 398: 4c 3f 08 b0 cm32ra r1,r1,r31
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 1f 08 a1 cm32rd r1,r31
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 1f 08 a4 cm32ri r1,r31
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 3f 08 a0 cm32rs r1,r1,r31
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 3f 08 b8 cm32sa r1,r1,r31
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 1f 08 a9 cm32sd r1,r31
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 1f 08 ac cm32si r1,r31
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 3f 08 a8 cm32ss r1,r1,r31
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 3f 08 a2 cm32xor r1,r1,r31
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 1e 10 85 cm64clr r2,r30
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 5e 10 90 cm64ra r2,r2,r30
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 1e 10 81 cm64rd r2,r30
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 1e 10 84 cm64ri r2,r30
+ 3fc: 00 00 00 00 nop
+ 400: 4c 5e 10 94 cm64ria2 r2,r2,r30
+ 404: 00 00 00 00 nop
+ 408: 4c 5e 10 80 cm64rs r2,r2,r30
+ 40c: 00 00 00 00 nop
+ 410: 4c 5e 10 98 cm64sa r2,r2,r30
+ 414: 00 00 00 00 nop
+ 418: 4c 1e 10 89 cm64sd r2,r30
+ 41c: 00 00 00 00 nop
+ 420: 4c 1e 10 8c cm64si r2,r30
+ 424: 00 00 00 00 nop
+ 428: 4c 5e 10 9c cm64sia2 r2,r2,r30
+ 42c: 00 00 00 00 nop
+ 430: 4c 5e 10 88 cm64ss r2,r2,r30
+ 434: 00 00 00 00 nop
+ 438: 4c 5e 10 95 cm128ria2 r2,r2,r30
+ 43c: 00 00 00 00 nop
+ 440: 4c 5e 10 93 cm128ria3 r2,r2,r30,0x3
+ 444: 00 00 00 00 nop
+ 448: 4c 5e 10 b3 cm128ria4 r2,r2,r30,0x3
+ 44c: 00 00 00 00 nop
+ 450: 4c 5e 10 9d cm128sia2 r2,r2,r30
+ 454: 00 00 00 00 nop
+ 458: 4c 5e 10 9b cm128sia3 r2,r2,r30,0x3
+ 45c: 00 00 00 00 nop
+ 460: 4c 3f 08 bb cm128sia4 r1,r1,r31,0x3
+ 464: 00 00 00 00 nop
+ 468: 4c 3f 08 a6 cm128vsa r1,r1,r31
+ 46c: 00 00 00 00 nop
+ 470: 4c 3f 08 14 crc32 r1,r1,r31
+ 474: 00 00 00 00 nop
+ 478: 4c 3f 08 15 crc32b r1,r1,r31
+ 47c: 00 00 00 00 nop
+ 480: 4f e0 08 26 chkhdr r1,r31
+ 484: 00 00 00 00 nop
+ 488: 4c 00 08 24 avail r1
+ 48c: 00 00 00 00 nop
+ 490: 4c 20 f8 25 free r31,r1
+ 494: 00 00 00 00 nop
+ 498: 4c 00 08 2c cmphdr r1
+ 49c: 00 00 00 00 nop
+ 4a0: 4c 1f 08 20 mcid r1,r31
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 00 f8 22 dba r31
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 01 f8 21 dbd r31,r0,r1
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 20 f8 23 dpwt r31,r1
+ 4bc: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test3.s b/gas/testsuite/gas/iq2000/q10test3.s
new file mode 100644
index 0000000000..c5f0f3267c
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test3.s
@@ -0,0 +1,306 @@
+.global _start
+_start:
+ ADD %1,%1,%31
+ NOP
+ ADDI %31,%1,0
+ NOP
+ ADDIU %31,%1,0
+ NOP
+ ADDU %1,%1,%31
+ NOP
+ ADO16 %1,%1,%31
+ NOP
+ AND %1,%1,%31
+ NOP
+ ANDI %31,%1,0
+ NOP
+ ANDOI %31,%1,0
+ NOP
+ ANDOUI %31,%1,0
+ NOP
+ LUI %31,0
+ NOP
+ MRGB %1,%1,%31,0
+ NOP
+ NOR %1,%1,%31
+ NOP
+ OR %1,%1,%31
+ NOP
+ ORI %31,%1,0
+ NOP
+ ORUI %31,%1,0
+ NOP
+ SLL %1,%31,0
+ NOP
+ SLLV %1,%31,%1
+ NOP
+ SLT %1,%1,%31
+ NOP
+ SLTI %31,%1,0
+ NOP
+ SLTIU %31,%1,0
+ NOP
+ SLTU %1,%1,%31
+ NOP
+ SRA %1,%31,0
+ NOP
+ SRAV %1,%31,%1
+ NOP
+ SRL %1,%31,0
+ NOP
+ SRLV %1,%31,%1
+ NOP
+ SUB %1,%1,%31
+ NOP
+ SUBU %1,%1,%31
+ NOP
+ XOR %1,%1,%31
+ NOP
+ XORI %31,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%31,0
+ NOP
+ SLMV %1,%1,%31,0
+ NOP
+ RAM %1,%31,0,0,0
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%31,_start
+ NOP
+ BBVN %1,%31,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%31,_start
+ NOP
+ BBVNL %1,%31,_start
+ NOP
+ BEQ %1,%31,_start
+ NOP
+ BEQL %1,%31,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%31,_start
+ NOP
+ BMBL %1,%31,_start
+ NOP
+ BMB0 %1,%31,_start
+ NOP
+ BMB1 %1,%31,_start
+ NOP
+ BMB2 %1,%31,_start
+ NOP
+ BMB3 %1,%31,_start
+ NOP
+ BNE %1,%31,_start
+ NOP
+ BNEL %1,%31,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%31
+ NOP
+ CFC %1,%31
+ NOP
+ LW %31,0(%1)
+ NOP
+ LH %31,0(%1)
+ NOP
+ LB %31,0(%1)
+ NOP
+ LHU %31,0(%1)
+ NOP
+ LBU %31,0(%1)
+ NOP
+ SB %31,0(%1)
+ NOP
+ SH %31,0(%1)
+ NOP
+ SW %31,0(%1)
+ NOP
+ RBA %1,%31,%1
+ NOP
+ RBAR %1,%31,%1
+ NOP
+ RBAL %1,%31,%1
+ NOP
+ WBA %1,%31,%1
+ NOP
+ WBAC %1,%31,%1
+ NOP
+ WBAU %1,%31,%1
+ NOP
+ RBI %1,%31,%1,0
+ NOP
+ RBIR %1,%31,%1,0
+ NOP
+ RBIL %1,%31,%1,0
+ NOP
+ WBI %1,%31,%1,0
+ NOP
+ WBIC %1,%31,%1,0
+ NOP
+ WBIU %1,%31,%1,0
+ NOP
+ PKRLA %1,%31,%1
+ NOP
+ PKRLAH %1,%31,%1
+ NOP
+ PKRLAU %1,%31,%1
+ NOP
+ PKRLI %1,%31,%1,0
+ NOP
+ PKRLIH %1,%31,%1,0
+ NOP
+ PKRLIU %1,%31,%1,0
+ NOP
+ LOCK %31,%1
+ NOP
+ UNLK %31,%1
+ NOP
+ SWWR %1,%31,%1
+ NOP
+ SWWRU %1,%31,%1
+ NOP
+ SWRD %1,%31
+ NOP
+ SWRDL %1,%31
+ NOP
+ DWRD %2,%30
+ NOP
+ DWRDL %2,%30
+ NOP
+ CAM36 %1,%31,3,0
+ NOP
+ CAM72 %1,%31,3,0
+ NOP
+ CAM144 %1,%31,3,0
+ NOP
+ CAM288 %1,%31,3,0
+ NOP
+ CM32AND %1,%1,%31
+ NOP
+ CM32ANDN %1,%1,%31
+ NOP
+ CM32OR %1,%1,%31
+ NOP
+ CM32RA %1,%1,%31
+ NOP
+ CM32RD %1,%31
+ NOP
+ CM32RI %1,%31
+ NOP
+ CM32RS %1,%1,%31
+ NOP
+ CM32SA %1,%1,%31
+ NOP
+ CM32SD %1,%31
+ NOP
+ CM32SI %1,%31
+ NOP
+ CM32SS %1,%1,%31
+ NOP
+ CM32XOR %1,%1,%31
+ NOP
+ CM64CLR %2,%30
+ NOP
+ CM64RA %2,%2,%30
+ NOP
+ CM64RD %2,%30
+ NOP
+ CM64RI %2,%30
+ NOP
+ CM64RIA2 %2,%2,%30
+ NOP
+ CM64RS %2,%2,%30
+ NOP
+ CM64SA %2,%2,%30
+ NOP
+ CM64SD %2,%30
+ NOP
+ CM64SI %2,%30
+ NOP
+ CM64SIA2 %2,%2,%30
+ NOP
+ CM64SS %2,%2,%30
+ NOP
+ CM128RIA2 %2,%2,%30
+ NOP
+ CM128RIA3 %2,%2,%30,3
+ NOP
+ CM128RIA4 %2,%2,%30,3
+ NOP
+ CM128SIA2 %2,%2,%30
+ NOP
+ CM128SIA3 %2,%2,%30,3
+ NOP
+ CM128SIA4 %1,%1,%31,3
+ NOP
+ CM128VSA %1,%1,%31
+ NOP
+ CRC32 %1,%1,%31
+ NOP
+ CRC32B %1,%1,%31
+ NOP
+ CHKHDR %1,%31
+ NOP
+ AVAIL %1
+ NOP
+ FREE %31,%1
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%31
+ NOP
+ DBA %31
+ NOP
+ DBD %31,%1
+ NOP
+ DPWT %31,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test4.d b/gas/testsuite/gas/iq2000/q10test4.d
new file mode 100644
index 0000000000..3b3a77fe3d
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test4.d
@@ -0,0 +1,315 @@
+#as: -m10
+#objdump: -drz
+#name: q10test4
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 03 df 08 20 add r1,r30,r31
+ 4: 00 00 00 00 nop
+ 8: 23 df 00 00 addi r31,r30,0x0
+ c: 00 00 00 00 nop
+ 10: 27 df 00 00 addiu r31,r30,0x0
+ 14: 00 00 00 00 nop
+ 18: 03 df 08 21 addu r1,r30,r31
+ 1c: 00 00 00 00 nop
+ 20: 03 df 08 29 ado16 r1,r30,r31
+ 24: 00 00 00 00 nop
+ 28: 03 df 08 24 and r1,r30,r31
+ 2c: 00 00 00 00 nop
+ 30: 33 df 00 00 andi r31,r30,0x0
+ 34: 00 00 00 00 nop
+ 38: b3 df 00 00 andoi r31,r30,0x0
+ 3c: 00 00 00 00 nop
+ 40: bf df 00 00 andoui r31,r30,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 1f 00 00 lui r31,0x0
+ 4c: 00 00 00 00 nop
+ 50: 03 df 08 2d mrgb r1,r30,r31,0x0
+ 54: 00 00 00 00 nop
+ 58: 03 df 08 27 nor r1,r30,r31
+ 5c: 00 00 00 00 nop
+ 60: 03 df 08 25 or r1,r30,r31
+ 64: 00 00 00 00 nop
+ 68: 37 df 00 00 ori r31,r30,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3f df 00 00 orui r31,r30,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 1f 08 00 sll r1,r31,0x0
+ 7c: 00 00 00 00 nop
+ 80: 03 df 08 04 sllv r1,r31,r30
+ 84: 00 00 00 00 nop
+ 88: 03 df 08 2a slt r1,r30,r31
+ 8c: 00 00 00 00 nop
+ 90: 2b df 00 00 slti r31,r30,0x0
+ 94: 00 00 00 00 nop
+ 98: 2f df 00 00 sltiu r31,r30,0x0
+ 9c: 00 00 00 00 nop
+ a0: 03 df 08 2b sltu r1,r30,r31
+ a4: 00 00 00 00 nop
+ a8: 00 1f 08 03 sra r1,r31,0x0
+ ac: 00 00 00 00 nop
+ b0: 03 df 08 07 srav r1,r31,r30
+ b4: 00 00 00 00 nop
+ b8: 00 1f 08 02 srl r1,r31,0x0
+ bc: 00 00 00 00 nop
+ c0: 03 df 08 06 srlv r1,r31,r30
+ c4: 00 00 00 00 nop
+ c8: 03 df 08 22 sub r1,r30,r31
+ cc: 00 00 00 00 nop
+ d0: 03 df 08 23 subu r1,r30,r31
+ d4: 00 00 00 00 nop
+ d8: 03 df 08 26 xor r1,r30,r31
+ dc: 00 00 00 00 nop
+ e0: 3b df 00 00 xori r31,r30,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 03 fe 08 05 srmv r1,r30,r31,0x0
+ f4: 00 00 00 00 nop
+ f8: 03 fe 08 01 slmv r1,r30,r31,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 1f 08 00 ram r1,r31,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 73 c0 ff bd bbi r30\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 7b c0 ff bb bbin r30\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 77 df ff b9 bbv r30,r31,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7f df ff b7 bbvn r30,r31,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f3 c0 ff b5 bbil r30\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: fb c0 ff b3 bbinl r30\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f7 df ff b1 bbvl r30,r31,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: ff df ff af bbvnl r30,r31,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 13 df ff ad beq r30,r31,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 53 df ff ab beql r30,r31,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 07 c1 ff a9 bgez r30,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 07 d5 ff a7 bgtzal r30,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 07 d1 ff a5 bgezal r30,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 07 d7 ff a3 bgtzall r30,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 07 d3 ff a1 bgezall r30,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 07 c3 ff 9f bgezl r30,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 07 c7 ff 9d bgtzl r30,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 07 c5 ff 9b bgtz r30,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 07 c4 ff 99 blez r30,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 07 d4 ff 97 blezal r30,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 07 c0 ff 95 bltz r30,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 07 d0 ff 93 bltzal r30,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 07 c6 ff 91 blezl r30,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 07 c2 ff 8f bltzl r30,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 07 d6 ff 8d blezall r30,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 07 d2 ff 8b bltzall r30,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 1b df ff 89 bmb r30,r31,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 5b df ff 87 bmbl r30,r31,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 63 df ff 85 bmb0 r30,r31,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 67 df ff 83 bmb1 r30,r31,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 6b df ff 81 bmb2 r30,r31,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6f df ff 7f bmb3 r30,r31,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 17 df ff 7d bne r30,r31,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 57 df ff 7b bnel r30,r31,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 1e 00 00 jal r30,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 03 c0 08 09 jalr r1,r30
+ 22c: 00 00 00 00 nop
+ 230: 03 c0 00 08 jr r30
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4f df 00 02 ctc r30,r31
+ 244: 00 00 00 00 nop
+ 248: 4c 1f 08 00 cfc r1,r31
+ 24c: 00 00 00 00 nop
+ 250: 8f df 00 00 lw r31,0x0\(r30\)
+ 254: 00 00 00 00 nop
+ 258: 87 df 00 00 lh r31,0x0\(r30\)
+ 25c: 00 00 00 00 nop
+ 260: 83 df 00 00 lb r31,0x0\(r30\)
+ 264: 00 00 00 00 nop
+ 268: 97 df 00 00 lhu r31,0x0\(r30\)
+ 26c: 00 00 00 00 nop
+ 270: 93 df 00 00 lbu r31,0x0\(r30\)
+ 274: 00 00 00 00 nop
+ 278: a3 df 00 00 sb r31,0x0\(r30\)
+ 27c: 00 00 00 00 nop
+ 280: a7 df 00 00 sh r31,0x0\(r30\)
+ 284: 00 00 00 00 nop
+ 288: af df 00 00 sw r31,0x0\(r30\)
+ 28c: 00 00 00 00 nop
+ 290: 4f e1 f0 08 rba r30,r31,r1
+ 294: 00 00 00 00 nop
+ 298: 4f e1 f0 0a rbar r30,r31,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4f e1 f0 09 rbal r30,r31,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4f e1 f0 10 wba r30,r31,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4f e1 f0 12 wbac r30,r31,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4f e1 f0 11 wbau r30,r31,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4f e1 f2 00 rbi r30,r31,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4f e1 f1 00 rbir r30,r31,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4f e1 f3 00 rbil r30,r31,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4f e1 f6 00 wbi r30,r31,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4f e1 f5 00 wbic r30,r31,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4f e1 f7 00 wbiu r30,r31,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4f e1 f0 28 pkrla r30,r31,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4f e1 f0 2a pkrlah r30,r31,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4f e1 f0 29 pkrlau r30,r31,r1
+ 304: 00 00 00 00 nop
+ 308: 4b e1 f0 00 pkrli r30,r31,r1,0x0
+ 30c: 00 00 00 00 nop
+ 310: 4b e1 f2 00 pkrlih r30,r31,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 4b e1 f1 00 pkrliu r30,r31,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 f8 01 lock r31,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 f8 03 unlk r31,r1
+ 32c: 00 00 00 00 nop
+ 330: 4f e1 f0 06 swwr r30,r31,r1
+ 334: 00 00 00 00 nop
+ 338: 4f e1 f0 07 swwru r30,r31,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 1f 08 04 swrd r1,r31
+ 344: 00 00 00 00 nop
+ 348: 4c 1f 08 05 swrdl r1,r31
+ 34c: 00 00 00 00 nop
+ 350: 4c 1e 10 0c dwrd r2,r30
+ 354: 00 00 00 00 nop
+ 358: 4c 1e 10 0d dwrdl r2,r30
+ 35c: 00 00 00 00 nop
+ 360: 4c 1e 0c 20 cam36 r1,r30,0x4,0x0
+ 364: 00 00 00 00 nop
+ 368: 4c 1e 0c 44 cam72 r1,r30,0x4,0x0
+ 36c: 00 00 00 00 nop
+ 370: 4c 1e 0c 84 cam144 r1,r30,0x4,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 1e 0c c4 cam288 r1,r30,0x4,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4f df 08 ab cm32and r1,r30,r31
+ 384: 00 00 00 00 nop
+ 388: 4f df 08 a3 cm32andn r1,r30,r31
+ 38c: 00 00 00 00 nop
+ 390: 4f df 08 aa cm32or r1,r30,r31
+ 394: 00 00 00 00 nop
+ 398: 4f df 08 b0 cm32ra r1,r30,r31
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 1f 08 a1 cm32rd r1,r31
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 1f 08 a4 cm32ri r1,r31
+ 3ac: 00 00 00 00 nop
+ 3b0: 4f df 08 a0 cm32rs r1,r30,r31
+ 3b4: 00 00 00 00 nop
+ 3b8: 4f df 08 b8 cm32sa r1,r30,r31
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 1f 08 a9 cm32sd r1,r31
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 1f 08 ac cm32si r1,r31
+ 3cc: 00 00 00 00 nop
+ 3d0: 4f df 08 a8 cm32ss r1,r30,r31
+ 3d4: 00 00 00 00 nop
+ 3d8: 4f df 08 a2 cm32xor r1,r30,r31
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 1e 10 85 cm64clr r2,r30
+ 3e4: 00 00 00 00 nop
+ 3e8: 4f de 10 90 cm64ra r2,r30,r30
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 1e 10 81 cm64rd r2,r30
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 1e 10 84 cm64ri r2,r30
+ 3fc: 00 00 00 00 nop
+ 400: 4f de 10 94 cm64ria2 r2,r30,r30
+ 404: 00 00 00 00 nop
+ 408: 4f de 10 80 cm64rs r2,r30,r30
+ 40c: 00 00 00 00 nop
+ 410: 4f de 10 98 cm64sa r2,r30,r30
+ 414: 00 00 00 00 nop
+ 418: 4c 1e 10 89 cm64sd r2,r30
+ 41c: 00 00 00 00 nop
+ 420: 4c 1e 10 8c cm64si r2,r30
+ 424: 00 00 00 00 nop
+ 428: 4f de 10 9c cm64sia2 r2,r30,r30
+ 42c: 00 00 00 00 nop
+ 430: 4f de 10 88 cm64ss r2,r30,r30
+ 434: 00 00 00 00 nop
+ 438: 4f de 10 95 cm128ria2 r2,r30,r30
+ 43c: 00 00 00 00 nop
+ 440: 4f de 10 93 cm128ria3 r2,r30,r30,0x3
+ 444: 00 00 00 00 nop
+ 448: 4f de 10 b4 cm128ria4 r2,r30,r30,0x4
+ 44c: 00 00 00 00 nop
+ 450: 4f de 10 9d cm128sia2 r2,r30,r30
+ 454: 00 00 00 00 nop
+ 458: 4f de 10 9b cm128sia3 r2,r30,r30,0x3
+ 45c: 00 00 00 00 nop
+ 460: 4f df 08 bc cm128sia4 r1,r30,r31,0x4
+ 464: 00 00 00 00 nop
+ 468: 4f df 08 a6 cm128vsa r1,r30,r31
+ 46c: 00 00 00 00 nop
+ 470: 4f df 08 14 crc32 r1,r30,r31
+ 474: 00 00 00 00 nop
+ 478: 4f df 08 15 crc32b r1,r30,r31
+ 47c: 00 00 00 00 nop
+ 480: 4f e0 08 26 chkhdr r1,r31
+ 484: 00 00 00 00 nop
+ 488: 4c 00 08 24 avail r1
+ 48c: 00 00 00 00 nop
+ 490: 4c 20 f8 25 free r31,r1
+ 494: 00 00 00 00 nop
+ 498: 4c 20 f8 27 tstod r31,r1
+ 49c: 00 00 00 00 nop
+ 4a0: 4c 00 08 2c cmphdr r1
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 1f 08 20 mcid r1,r31
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 00 f0 22 dba r30
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 01 f8 21 dbd r31,r0,r1
+ 4bc: 00 00 00 00 nop
+ 4c0: 4c 20 f8 23 dpwt r31,r1
+ 4c4: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test4.s b/gas/testsuite/gas/iq2000/q10test4.s
new file mode 100644
index 0000000000..3ef2ef9cd3
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test4.s
@@ -0,0 +1,308 @@
+.global _start
+_start:
+ ADD %1,%30,%31
+ NOP
+ ADDI %31,%30,0
+ NOP
+ ADDIU %31,%30,0
+ NOP
+ ADDU %1,%30,%31
+ NOP
+ ADO16 %1,%30,%31
+ NOP
+ AND %1,%30,%31
+ NOP
+ ANDI %31,%30,0
+ NOP
+ ANDOI %31,%30,0
+ NOP
+ ANDOUI %31,%30,0
+ NOP
+ LUI %31,0
+ NOP
+ MRGB %1,%30,%31,0
+ NOP
+ NOR %1,%30,%31
+ NOP
+ OR %1,%30,%31
+ NOP
+ ORI %31,%30,0
+ NOP
+ ORUI %31,%30,0
+ NOP
+ SLL %1,%31,0
+ NOP
+ SLLV %1,%31,%30
+ NOP
+ SLT %1,%30,%31
+ NOP
+ SLTI %31,%30,0
+ NOP
+ SLTIU %31,%30,0
+ NOP
+ SLTU %1,%30,%31
+ NOP
+ SRA %1,%31,0
+ NOP
+ SRAV %1,%31,%30
+ NOP
+ SRL %1,%31,0
+ NOP
+ SRLV %1,%31,%30
+ NOP
+ SUB %1,%30,%31
+ NOP
+ SUBU %1,%30,%31
+ NOP
+ XOR %1,%30,%31
+ NOP
+ XORI %31,%30,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%30,%31,0
+ NOP
+ SLMV %1,%30,%31,0
+ NOP
+ RAM %1,%31,0,0,0
+ NOP
+ BBI %30(0),_start
+ NOP
+ BBIN %30(0),_start
+ NOP
+ BBV %30,%31,_start
+ NOP
+ BBVN %30,%31,_start
+ NOP
+ BBIL %30(0),_start
+ NOP
+ BBINL %30(0),_start
+ NOP
+ BBVL %30,%31,_start
+ NOP
+ BBVNL %30,%31,_start
+ NOP
+ BEQ %30,%31,_start
+ NOP
+ BEQL %30,%31,_start
+ NOP
+ BGEZ %30,_start
+ NOP
+ BGTZAL %30,_start
+ NOP
+ BGEZAL %30,_start
+ NOP
+ BGTZALL %30,_start
+ NOP
+ BGEZALL %30,_start
+ NOP
+ BGEZL %30,_start
+ NOP
+ BGTZL %30,_start
+ NOP
+ BGTZ %30,_start
+ NOP
+ BLEZ %30,_start
+ NOP
+ BLEZAL %30,_start
+ NOP
+ BLTZ %30,_start
+ NOP
+ BLTZAL %30,_start
+ NOP
+ BLEZL %30,_start
+ NOP
+ BLTZL %30,_start
+ NOP
+ BLEZALL %30,_start
+ NOP
+ BLTZALL %30,_start
+ NOP
+ BMB %30,%31,_start
+ NOP
+ BMBL %30,%31,_start
+ NOP
+ BMB0 %30,%31,_start
+ NOP
+ BMB1 %30,%31,_start
+ NOP
+ BMB2 %30,%31,_start
+ NOP
+ BMB3 %30,%31,_start
+ NOP
+ BNE %30,%31,_start
+ NOP
+ BNEL %30,%31,_start
+ NOP
+ J 0
+ NOP
+ JAL %30,0
+ NOP
+ JALR %1,%30
+ NOP
+ JR %30
+ NOP
+ BREAK
+ NOP
+ CTC %30,%31
+ NOP
+ CFC %1,%31
+ NOP
+ LW %31,0(%30)
+ NOP
+ LH %31,0(%30)
+ NOP
+ LB %31,0(%30)
+ NOP
+ LHU %31,0(%30)
+ NOP
+ LBU %31,0(%30)
+ NOP
+ SB %31,0(%30)
+ NOP
+ SH %31,0(%30)
+ NOP
+ SW %31,0(%30)
+ NOP
+ RBA %30,%31,%1
+ NOP
+ RBAR %30,%31,%1
+ NOP
+ RBAL %30,%31,%1
+ NOP
+ WBA %30,%31,%1
+ NOP
+ WBAC %30,%31,%1
+ NOP
+ WBAU %30,%31,%1
+ NOP
+ RBI %30,%31,%1,0
+ NOP
+ RBIR %30,%31,%1,0
+ NOP
+ RBIL %30,%31,%1,0
+ NOP
+ WBI %30,%31,%1,0
+ NOP
+ WBIC %30,%31,%1,0
+ NOP
+ WBIU %30,%31,%1,0
+ NOP
+ PKRLA %30,%31,%1
+ NOP
+ PKRLAH %30,%31,%1
+ NOP
+ PKRLAU %30,%31,%1
+ NOP
+ PKRLI %30,%31,%1,0
+ NOP
+ PKRLIH %30,%31,%1,0
+ NOP
+ PKRLIU %30,%31,%1,0
+ NOP
+ LOCK %31,%1
+ NOP
+ UNLK %31,%1
+ NOP
+ SWWR %30,%31,%1
+ NOP
+ SWWRU %30,%31,%1
+ NOP
+ SWRD %1,%31
+ NOP
+ SWRDL %1,%31
+ NOP
+ DWRD %2,%30
+ NOP
+ DWRDL %2,%30
+ NOP
+ CAM36 %1,%30,4,0
+ NOP
+ CAM72 %1,%30,4,0
+ NOP
+ CAM144 %1,%30,4,0
+ NOP
+ CAM288 %1,%30,4,0
+ NOP
+ CM32AND %1,%30,%31
+ NOP
+ CM32ANDN %1,%30,%31
+ NOP
+ CM32OR %1,%30,%31
+ NOP
+ CM32RA %1,%30,%31
+ NOP
+ CM32RD %1,%31
+ NOP
+ CM32RI %1,%31
+ NOP
+ CM32RS %1,%30,%31
+ NOP
+ CM32SA %1,%30,%31
+ NOP
+ CM32SD %1,%31
+ NOP
+ CM32SI %1,%31
+ NOP
+ CM32SS %1,%30,%31
+ NOP
+ CM32XOR %1,%30,%31
+ NOP
+ CM64CLR %2,%30
+ NOP
+ CM64RA %2,%30,%30
+ NOP
+ CM64RD %2,%30
+ NOP
+ CM64RI %2,%30
+ NOP
+ CM64RIA2 %2,%30,%30
+ NOP
+ CM64RS %2,%30,%30
+ NOP
+ CM64SA %2,%30,%30
+ NOP
+ CM64SD %2,%30
+ NOP
+ CM64SI %2,%30
+ NOP
+ CM64SIA2 %2,%30,%30
+ NOP
+ CM64SS %2,%30,%30
+ NOP
+ CM128RIA2 %2,%30,%30
+ NOP
+ CM128RIA3 %2,%30,%30,3
+ NOP
+ CM128RIA4 %2,%30,%30,4
+ NOP
+ CM128SIA2 %2,%30,%30
+ NOP
+ CM128SIA3 %2,%30,%30,3
+ NOP
+ CM128SIA4 %1,%30,%31,4
+ NOP
+ CM128VSA %1,%30,%31
+ NOP
+ CRC32 %1,%30,%31
+ NOP
+ CRC32B %1,%30,%31
+ NOP
+ CHKHDR %1,%31
+ NOP
+ AVAIL %1
+ NOP
+ FREE %31,%1
+ NOP
+ TSTOD %31,%1
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%31
+ NOP
+ DBA %30
+ NOP
+ DBD %31,%1
+ NOP
+ DPWT %31,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test5.d b/gas/testsuite/gas/iq2000/q10test5.d
new file mode 100644
index 0000000000..4485a977e1
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test5.d
@@ -0,0 +1,315 @@
+#as: -m10
+#objdump: -drz
+#name: q10test5
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 03 df f0 20 add r30,r30,r31
+ 4: 00 00 00 00 nop
+ 8: 23 df 00 00 addi r31,r30,0x0
+ c: 00 00 00 00 nop
+ 10: 27 df 00 00 addiu r31,r30,0x0
+ 14: 00 00 00 00 nop
+ 18: 03 df f0 21 addu r30,r30,r31
+ 1c: 00 00 00 00 nop
+ 20: 03 df f0 29 ado16 r30,r30,r31
+ 24: 00 00 00 00 nop
+ 28: 03 df f0 24 and r30,r30,r31
+ 2c: 00 00 00 00 nop
+ 30: 33 df 00 00 andi r31,r30,0x0
+ 34: 00 00 00 00 nop
+ 38: b3 df 00 00 andoi r31,r30,0x0
+ 3c: 00 00 00 00 nop
+ 40: bf df 00 00 andoui r31,r30,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 1f 00 00 lui r31,0x0
+ 4c: 00 00 00 00 nop
+ 50: 03 df f0 2d mrgb r30,r30,r31,0x0
+ 54: 00 00 00 00 nop
+ 58: 03 df f0 27 nor r30,r30,r31
+ 5c: 00 00 00 00 nop
+ 60: 03 df f0 25 or r30,r30,r31
+ 64: 00 00 00 00 nop
+ 68: 37 df 00 00 ori r31,r30,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3f df 00 00 orui r31,r30,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 1f f0 00 sll r30,r31,0x0
+ 7c: 00 00 00 00 nop
+ 80: 03 df f0 04 sllv r30,r31,r30
+ 84: 00 00 00 00 nop
+ 88: 03 df f0 2a slt r30,r30,r31
+ 8c: 00 00 00 00 nop
+ 90: 2b df 00 00 slti r31,r30,0x0
+ 94: 00 00 00 00 nop
+ 98: 2f df 00 00 sltiu r31,r30,0x0
+ 9c: 00 00 00 00 nop
+ a0: 03 df f0 2b sltu r30,r30,r31
+ a4: 00 00 00 00 nop
+ a8: 00 1f f0 03 sra r30,r31,0x0
+ ac: 00 00 00 00 nop
+ b0: 03 df f0 07 srav r30,r31,r30
+ b4: 00 00 00 00 nop
+ b8: 00 1f f0 02 srl r30,r31,0x0
+ bc: 00 00 00 00 nop
+ c0: 03 df f0 06 srlv r30,r31,r30
+ c4: 00 00 00 00 nop
+ c8: 03 df f0 22 sub r30,r30,r31
+ cc: 00 00 00 00 nop
+ d0: 03 df f0 23 subu r30,r30,r31
+ d4: 00 00 00 00 nop
+ d8: 03 df f0 26 xor r30,r30,r31
+ dc: 00 00 00 00 nop
+ e0: 3b df 00 00 xori r31,r30,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 03 fe f0 05 srmv r30,r30,r31,0x0
+ f4: 00 00 00 00 nop
+ f8: 03 fe f0 01 slmv r30,r30,r31,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 1f f0 00 ram r30,r31,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 73 c0 ff bd bbi r30\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 7b c0 ff bb bbin r30\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 77 df ff b9 bbv r30,r31,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7f df ff b7 bbvn r30,r31,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f3 c0 ff b5 bbil r30\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: fb c0 ff b3 bbinl r30\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f7 df ff b1 bbvl r30,r31,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: ff df ff af bbvnl r30,r31,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 13 df ff ad beq r30,r31,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 53 df ff ab beql r30,r31,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 07 c1 ff a9 bgez r30,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 07 d5 ff a7 bgtzal r30,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 07 d1 ff a5 bgezal r30,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 07 d7 ff a3 bgtzall r30,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 07 d3 ff a1 bgezall r30,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 07 c3 ff 9f bgezl r30,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 07 c7 ff 9d bgtzl r30,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 07 c5 ff 9b bgtz r30,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 07 c4 ff 99 blez r30,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 07 d4 ff 97 blezal r30,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 07 c0 ff 95 bltz r30,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 07 d0 ff 93 bltzal r30,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 07 c6 ff 91 blezl r30,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 07 c2 ff 8f bltzl r30,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 07 d6 ff 8d blezall r30,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 07 d2 ff 8b bltzall r30,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 1b df ff 89 bmb r30,r31,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 5b df ff 87 bmbl r30,r31,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 63 df ff 85 bmb0 r30,r31,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 67 df ff 83 bmb1 r30,r31,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 6b df ff 81 bmb2 r30,r31,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6f df ff 7f bmb3 r30,r31,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 17 df ff 7d bne r30,r31,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 57 df ff 7b bnel r30,r31,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 1e 00 00 jal r30,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 03 c0 f0 09 jalr r30,r30
+ 22c: 00 00 00 00 nop
+ 230: 03 c0 00 08 jr r30
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4f df 00 02 ctc r30,r31
+ 244: 00 00 00 00 nop
+ 248: 4c 1f f0 00 cfc r30,r31
+ 24c: 00 00 00 00 nop
+ 250: 8f df 00 00 lw r31,0x0\(r30\)
+ 254: 00 00 00 00 nop
+ 258: 87 df 00 00 lh r31,0x0\(r30\)
+ 25c: 00 00 00 00 nop
+ 260: 83 df 00 00 lb r31,0x0\(r30\)
+ 264: 00 00 00 00 nop
+ 268: 97 df 00 00 lhu r31,0x0\(r30\)
+ 26c: 00 00 00 00 nop
+ 270: 93 df 00 00 lbu r31,0x0\(r30\)
+ 274: 00 00 00 00 nop
+ 278: a3 df 00 00 sb r31,0x0\(r30\)
+ 27c: 00 00 00 00 nop
+ 280: a7 df 00 00 sh r31,0x0\(r30\)
+ 284: 00 00 00 00 nop
+ 288: af df 00 00 sw r31,0x0\(r30\)
+ 28c: 00 00 00 00 nop
+ 290: 4f fe f0 08 rba r30,r31,r30
+ 294: 00 00 00 00 nop
+ 298: 4f fe f0 0a rbar r30,r31,r30
+ 29c: 00 00 00 00 nop
+ 2a0: 4f fe f0 09 rbal r30,r31,r30
+ 2a4: 00 00 00 00 nop
+ 2a8: 4f fe f0 10 wba r30,r31,r30
+ 2ac: 00 00 00 00 nop
+ 2b0: 4f fe f0 12 wbac r30,r31,r30
+ 2b4: 00 00 00 00 nop
+ 2b8: 4f fe f0 11 wbau r30,r31,r30
+ 2bc: 00 00 00 00 nop
+ 2c0: 4f fe f2 00 rbi r30,r31,r30,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4f fe f1 00 rbir r30,r31,r30,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4f fe f3 00 rbil r30,r31,r30,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4f fe f6 00 wbi r30,r31,r30,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4f fe f5 00 wbic r30,r31,r30,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4f fe f7 00 wbiu r30,r31,r30,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4f fe f0 28 pkrla r30,r31,r30
+ 2f4: 00 00 00 00 nop
+ 2f8: 4f fe f0 2a pkrlah r30,r31,r30
+ 2fc: 00 00 00 00 nop
+ 300: 4f fe f0 29 pkrlau r30,r31,r30
+ 304: 00 00 00 00 nop
+ 308: 4b fe f0 00 pkrli r30,r31,r30,0x0
+ 30c: 00 00 00 00 nop
+ 310: 4b fe f2 00 pkrlih r30,r31,r30,0x0
+ 314: 00 00 00 00 nop
+ 318: 4b fe f1 00 pkrliu r30,r31,r30,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 1e f8 01 lock r31,r30
+ 324: 00 00 00 00 nop
+ 328: 4c 1e f8 03 unlk r31,r30
+ 32c: 00 00 00 00 nop
+ 330: 4f fe f0 06 swwr r30,r31,r30
+ 334: 00 00 00 00 nop
+ 338: 4f fe f0 07 swwru r30,r31,r30
+ 33c: 00 00 00 00 nop
+ 340: 4c 1f f0 04 swrd r30,r31
+ 344: 00 00 00 00 nop
+ 348: 4c 1f f0 05 swrdl r30,r31
+ 34c: 00 00 00 00 nop
+ 350: 4c 1e f0 0c dwrd r30,r30
+ 354: 00 00 00 00 nop
+ 358: 4c 1e f0 0d dwrdl r30,r30
+ 35c: 00 00 00 00 nop
+ 360: 4c 1f f4 28 cam36 r30,r31,0x5,0x0
+ 364: 00 00 00 00 nop
+ 368: 4c 1f f4 45 cam72 r30,r31,0x5,0x0
+ 36c: 00 00 00 00 nop
+ 370: 4c 1f f4 85 cam144 r30,r31,0x5,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 1f f4 c5 cam288 r30,r31,0x5,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4f df f0 ab cm32and r30,r30,r31
+ 384: 00 00 00 00 nop
+ 388: 4f df f0 a3 cm32andn r30,r30,r31
+ 38c: 00 00 00 00 nop
+ 390: 4f df f0 aa cm32or r30,r30,r31
+ 394: 00 00 00 00 nop
+ 398: 4f df f0 b0 cm32ra r30,r30,r31
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 1f f0 a1 cm32rd r30,r31
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 1f f0 a4 cm32ri r30,r31
+ 3ac: 00 00 00 00 nop
+ 3b0: 4f df f0 a0 cm32rs r30,r30,r31
+ 3b4: 00 00 00 00 nop
+ 3b8: 4f df f0 b8 cm32sa r30,r30,r31
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 1f f0 a9 cm32sd r30,r31
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 1f f0 ac cm32si r30,r31
+ 3cc: 00 00 00 00 nop
+ 3d0: 4f df f0 a8 cm32ss r30,r30,r31
+ 3d4: 00 00 00 00 nop
+ 3d8: 4f df f0 a2 cm32xor r30,r30,r31
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 1e f0 85 cm64clr r30,r30
+ 3e4: 00 00 00 00 nop
+ 3e8: 4f de f0 90 cm64ra r30,r30,r30
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 1e f0 81 cm64rd r30,r30
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 1e f0 84 cm64ri r30,r30
+ 3fc: 00 00 00 00 nop
+ 400: 4f de f0 94 cm64ria2 r30,r30,r30
+ 404: 00 00 00 00 nop
+ 408: 4f de f0 80 cm64rs r30,r30,r30
+ 40c: 00 00 00 00 nop
+ 410: 4f de f0 98 cm64sa r30,r30,r30
+ 414: 00 00 00 00 nop
+ 418: 4c 1e f0 89 cm64sd r30,r30
+ 41c: 00 00 00 00 nop
+ 420: 4c 1e f0 8c cm64si r30,r30
+ 424: 00 00 00 00 nop
+ 428: 4f de f0 9c cm64sia2 r30,r30,r30
+ 42c: 00 00 00 00 nop
+ 430: 4f de f0 88 cm64ss r30,r30,r30
+ 434: 00 00 00 00 nop
+ 438: 4f de f0 95 cm128ria2 r30,r30,r30
+ 43c: 00 00 00 00 nop
+ 440: 4f de f0 93 cm128ria3 r30,r30,r30,0x3
+ 444: 00 00 00 00 nop
+ 448: 4f de f0 b5 cm128ria4 r30,r30,r30,0x5
+ 44c: 00 00 00 00 nop
+ 450: 4f de f0 9d cm128sia2 r30,r30,r30
+ 454: 00 00 00 00 nop
+ 458: 4f de f0 9b cm128sia3 r30,r30,r30,0x3
+ 45c: 00 00 00 00 nop
+ 460: 4f df f0 bd cm128sia4 r30,r30,r31,0x5
+ 464: 00 00 00 00 nop
+ 468: 4f df f0 a6 cm128vsa r30,r30,r31
+ 46c: 00 00 00 00 nop
+ 470: 4f df f0 14 crc32 r30,r30,r31
+ 474: 00 00 00 00 nop
+ 478: 4f df f0 15 crc32b r30,r30,r31
+ 47c: 00 00 00 00 nop
+ 480: 4f e0 f0 26 chkhdr r30,r31
+ 484: 00 00 00 00 nop
+ 488: 4c 00 f0 24 avail r30
+ 48c: 00 00 00 00 nop
+ 490: 4f c0 f8 25 free r31,r30
+ 494: 00 00 00 00 nop
+ 498: 4f c0 f8 27 tstod r31,r30
+ 49c: 00 00 00 00 nop
+ 4a0: 4c 00 f0 2c cmphdr r30
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 1f f0 20 mcid r30,r31
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 00 f0 22 dba r30
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 1e f8 21 dbd r31,r0,r30
+ 4bc: 00 00 00 00 nop
+ 4c0: 4f c0 f8 23 dpwt r31,r30
+ 4c4: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test5.s b/gas/testsuite/gas/iq2000/q10test5.s
new file mode 100644
index 0000000000..ab80fac90d
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test5.s
@@ -0,0 +1,308 @@
+.global _start
+_start:
+ ADD %30,%30,%31
+ NOP
+ ADDI %31,%30,0
+ NOP
+ ADDIU %31,%30,0
+ NOP
+ ADDU %30,%30,%31
+ NOP
+ ADO16 %30,%30,%31
+ NOP
+ AND %30,%30,%31
+ NOP
+ ANDI %31,%30,0
+ NOP
+ ANDOI %31,%30,0
+ NOP
+ ANDOUI %31,%30,0
+ NOP
+ LUI %31,0
+ NOP
+ MRGB %30,%30,%31,0
+ NOP
+ NOR %30,%30,%31
+ NOP
+ OR %30,%30,%31
+ NOP
+ ORI %31,%30,0
+ NOP
+ ORUI %31,%30,0
+ NOP
+ SLL %30,%31,0
+ NOP
+ SLLV %30,%31,%30
+ NOP
+ SLT %30,%30,%31
+ NOP
+ SLTI %31,%30,0
+ NOP
+ SLTIU %31,%30,0
+ NOP
+ SLTU %30,%30,%31
+ NOP
+ SRA %30,%31,0
+ NOP
+ SRAV %30,%31,%30
+ NOP
+ SRL %30,%31,0
+ NOP
+ SRLV %30,%31,%30
+ NOP
+ SUB %30,%30,%31
+ NOP
+ SUBU %30,%30,%31
+ NOP
+ XOR %30,%30,%31
+ NOP
+ XORI %31,%30,0
+ NOP
+ NOP
+ NOP
+ SRMV %30,%30,%31,0
+ NOP
+ SLMV %30,%30,%31,0
+ NOP
+ RAM %30,%31,0,0,0
+ NOP
+ BBI %30(0),_start
+ NOP
+ BBIN %30(0),_start
+ NOP
+ BBV %30,%31,_start
+ NOP
+ BBVN %30,%31,_start
+ NOP
+ BBIL %30(0),_start
+ NOP
+ BBINL %30(0),_start
+ NOP
+ BBVL %30,%31,_start
+ NOP
+ BBVNL %30,%31,_start
+ NOP
+ BEQ %30,%31,_start
+ NOP
+ BEQL %30,%31,_start
+ NOP
+ BGEZ %30,_start
+ NOP
+ BGTZAL %30,_start
+ NOP
+ BGEZAL %30,_start
+ NOP
+ BGTZALL %30,_start
+ NOP
+ BGEZALL %30,_start
+ NOP
+ BGEZL %30,_start
+ NOP
+ BGTZL %30,_start
+ NOP
+ BGTZ %30,_start
+ NOP
+ BLEZ %30,_start
+ NOP
+ BLEZAL %30,_start
+ NOP
+ BLTZ %30,_start
+ NOP
+ BLTZAL %30,_start
+ NOP
+ BLEZL %30,_start
+ NOP
+ BLTZL %30,_start
+ NOP
+ BLEZALL %30,_start
+ NOP
+ BLTZALL %30,_start
+ NOP
+ BMB %30,%31,_start
+ NOP
+ BMBL %30,%31,_start
+ NOP
+ BMB0 %30,%31,_start
+ NOP
+ BMB1 %30,%31,_start
+ NOP
+ BMB2 %30,%31,_start
+ NOP
+ BMB3 %30,%31,_start
+ NOP
+ BNE %30,%31,_start
+ NOP
+ BNEL %30,%31,_start
+ NOP
+ J 0
+ NOP
+ JAL %30,0
+ NOP
+ JALR %30,%30
+ NOP
+ JR %30
+ NOP
+ BREAK
+ NOP
+ CTC %30,%31
+ NOP
+ CFC %30,%31
+ NOP
+ LW %31,0(%30)
+ NOP
+ LH %31,0(%30)
+ NOP
+ LB %31,0(%30)
+ NOP
+ LHU %31,0(%30)
+ NOP
+ LBU %31,0(%30)
+ NOP
+ SB %31,0(%30)
+ NOP
+ SH %31,0(%30)
+ NOP
+ SW %31,0(%30)
+ NOP
+ RBA %30,%31,%30
+ NOP
+ RBAR %30,%31,%30
+ NOP
+ RBAL %30,%31,%30
+ NOP
+ WBA %30,%31,%30
+ NOP
+ WBAC %30,%31,%30
+ NOP
+ WBAU %30,%31,%30
+ NOP
+ RBI %30,%31,%30,0
+ NOP
+ RBIR %30,%31,%30,0
+ NOP
+ RBIL %30,%31,%30,0
+ NOP
+ WBI %30,%31,%30,0
+ NOP
+ WBIC %30,%31,%30,0
+ NOP
+ WBIU %30,%31,%30,0
+ NOP
+ PKRLA %30,%31,%30
+ NOP
+ PKRLAH %30,%31,%30
+ NOP
+ PKRLAU %30,%31,%30
+ NOP
+ PKRLI %30,%31,%30,0
+ NOP
+ PKRLIH %30,%31,%30,0
+ NOP
+ PKRLIU %30,%31,%30,0
+ NOP
+ LOCK %31,%30
+ NOP
+ UNLK %31,%30
+ NOP
+ SWWR %30,%31,%30
+ NOP
+ SWWRU %30,%31,%30
+ NOP
+ SWRD %30,%31
+ NOP
+ SWRDL %30,%31
+ NOP
+ DWRD %30,%30
+ NOP
+ DWRDL %30,%30
+ NOP
+ CAM36 %30,%31,5,0
+ NOP
+ CAM72 %30,%31,5,0
+ NOP
+ CAM144 %30,%31,5,0
+ NOP
+ CAM288 %30,%31,5,0
+ NOP
+ CM32AND %30,%30,%31
+ NOP
+ CM32ANDN %30,%30,%31
+ NOP
+ CM32OR %30,%30,%31
+ NOP
+ CM32RA %30,%30,%31
+ NOP
+ CM32RD %30,%31
+ NOP
+ CM32RI %30,%31
+ NOP
+ CM32RS %30,%30,%31
+ NOP
+ CM32SA %30,%30,%31
+ NOP
+ CM32SD %30,%31
+ NOP
+ CM32SI %30,%31
+ NOP
+ CM32SS %30,%30,%31
+ NOP
+ CM32XOR %30,%30,%31
+ NOP
+ CM64CLR %30,%30
+ NOP
+ CM64RA %30,%30,%30
+ NOP
+ CM64RD %30,%30
+ NOP
+ CM64RI %30,%30
+ NOP
+ CM64RIA2 %30,%30,%30
+ NOP
+ CM64RS %30,%30,%30
+ NOP
+ CM64SA %30,%30,%30
+ NOP
+ CM64SD %30,%30
+ NOP
+ CM64SI %30,%30
+ NOP
+ CM64SIA2 %30,%30,%30
+ NOP
+ CM64SS %30,%30,%30
+ NOP
+ CM128RIA2 %30,%30,%30
+ NOP
+ CM128RIA3 %30,%30,%30,3
+ NOP
+ CM128RIA4 %30,%30,%30,5
+ NOP
+ CM128SIA2 %30,%30,%30
+ NOP
+ CM128SIA3 %30,%30,%30,3
+ NOP
+ CM128SIA4 %30,%30,%31,5
+ NOP
+ CM128VSA %30,%30,%31
+ NOP
+ CRC32 %30,%30,%31
+ NOP
+ CRC32B %30,%30,%31
+ NOP
+ CHKHDR %30,%31
+ NOP
+ AVAIL %30
+ NOP
+ FREE %31,%30
+ NOP
+ TSTOD %31,%30
+ NOP
+ CMPHDR %30
+ NOP
+ MCID %30,%31
+ NOP
+ DBA %30
+ NOP
+ DBD %31,%30
+ NOP
+ DPWT %31,%30
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test6.d b/gas/testsuite/gas/iq2000/q10test6.d
new file mode 100644
index 0000000000..c7e0adf0e6
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test6.d
@@ -0,0 +1,315 @@
+#as: -m10
+#objdump: -drz
+#name: q10test6
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 03 de f0 20 add r30,r30,r30
+ 4: 00 00 00 00 nop
+ 8: 23 de 00 00 addi r30,r30,0x0
+ c: 00 00 00 00 nop
+ 10: 27 de 00 00 addiu r30,r30,0x0
+ 14: 00 00 00 00 nop
+ 18: 03 de f0 21 addu r30,r30,r30
+ 1c: 00 00 00 00 nop
+ 20: 03 de f0 29 ado16 r30,r30,r30
+ 24: 00 00 00 00 nop
+ 28: 03 de f0 24 and r30,r30,r30
+ 2c: 00 00 00 00 nop
+ 30: 33 de 00 00 andi r30,r30,0x0
+ 34: 00 00 00 00 nop
+ 38: b3 de 00 00 andoi r30,r30,0x0
+ 3c: 00 00 00 00 nop
+ 40: bf de 00 00 andoui r30,r30,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 1e 00 00 lui r30,0x0
+ 4c: 00 00 00 00 nop
+ 50: 03 de f0 2d mrgb r30,r30,r30,0x0
+ 54: 00 00 00 00 nop
+ 58: 03 de f0 27 nor r30,r30,r30
+ 5c: 00 00 00 00 nop
+ 60: 03 de f0 25 or r30,r30,r30
+ 64: 00 00 00 00 nop
+ 68: 37 de 00 00 ori r30,r30,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3f de 00 00 orui r30,r30,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 1e f0 00 sll r30,r30,0x0
+ 7c: 00 00 00 00 nop
+ 80: 03 de f0 04 sllv r30,r30,r30
+ 84: 00 00 00 00 nop
+ 88: 03 de f0 2a slt r30,r30,r30
+ 8c: 00 00 00 00 nop
+ 90: 2b de 00 00 slti r30,r30,0x0
+ 94: 00 00 00 00 nop
+ 98: 2f de 00 00 sltiu r30,r30,0x0
+ 9c: 00 00 00 00 nop
+ a0: 03 de f0 2b sltu r30,r30,r30
+ a4: 00 00 00 00 nop
+ a8: 00 1e f0 03 sra r30,r30,0x0
+ ac: 00 00 00 00 nop
+ b0: 03 de f0 07 srav r30,r30,r30
+ b4: 00 00 00 00 nop
+ b8: 00 1e f0 02 srl r30,r30,0x0
+ bc: 00 00 00 00 nop
+ c0: 03 de f0 06 srlv r30,r30,r30
+ c4: 00 00 00 00 nop
+ c8: 03 de f0 22 sub r30,r30,r30
+ cc: 00 00 00 00 nop
+ d0: 03 de f0 23 subu r30,r30,r30
+ d4: 00 00 00 00 nop
+ d8: 03 de f0 26 xor r30,r30,r30
+ dc: 00 00 00 00 nop
+ e0: 3b de 00 00 xori r30,r30,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 03 de f0 05 srmv r30,r30,r30,0x0
+ f4: 00 00 00 00 nop
+ f8: 03 de f0 01 slmv r30,r30,r30,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 1e f0 00 ram r30,r30,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 73 c0 ff bd bbi r30\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 7b c0 ff bb bbin r30\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 77 de ff b9 bbv r30,r30,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7f de ff b7 bbvn r30,r30,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f3 c0 ff b5 bbil r30\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: fb c0 ff b3 bbinl r30\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f7 de ff b1 bbvl r30,r30,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: ff de ff af bbvnl r30,r30,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 13 de ff ad beq r30,r30,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 53 de ff ab beql r30,r30,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 07 c1 ff a9 bgez r30,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 07 d5 ff a7 bgtzal r30,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 07 d1 ff a5 bgezal r30,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 07 d7 ff a3 bgtzall r30,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 07 d3 ff a1 bgezall r30,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 07 c3 ff 9f bgezl r30,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 07 c7 ff 9d bgtzl r30,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 07 c5 ff 9b bgtz r30,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 07 c4 ff 99 blez r30,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 07 d4 ff 97 blezal r30,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 07 c0 ff 95 bltz r30,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 07 d0 ff 93 bltzal r30,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 07 c6 ff 91 blezl r30,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 07 c2 ff 8f bltzl r30,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 07 d6 ff 8d blezall r30,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 07 d2 ff 8b bltzall r30,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 1b de ff 89 bmb r30,r30,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 5b de ff 87 bmbl r30,r30,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 63 de ff 85 bmb0 r30,r30,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 67 de ff 83 bmb1 r30,r30,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 6b de ff 81 bmb2 r30,r30,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6f de ff 7f bmb3 r30,r30,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 17 de ff 7d bne r30,r30,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 57 de ff 7b bnel r30,r30,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 1e 00 00 jal r30,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 03 c0 f0 09 jalr r30,r30
+ 22c: 00 00 00 00 nop
+ 230: 03 c0 00 08 jr r30
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4f de 00 02 ctc r30,r30
+ 244: 00 00 00 00 nop
+ 248: 4c 1e f0 00 cfc r30,r30
+ 24c: 00 00 00 00 nop
+ 250: 8f de 00 00 lw r30,0x0\(r30\)
+ 254: 00 00 00 00 nop
+ 258: 87 de 00 00 lh r30,0x0\(r30\)
+ 25c: 00 00 00 00 nop
+ 260: 83 de 00 00 lb r30,0x0\(r30\)
+ 264: 00 00 00 00 nop
+ 268: 97 de 00 00 lhu r30,0x0\(r30\)
+ 26c: 00 00 00 00 nop
+ 270: 93 de 00 00 lbu r30,0x0\(r30\)
+ 274: 00 00 00 00 nop
+ 278: a3 de 00 00 sb r30,0x0\(r30\)
+ 27c: 00 00 00 00 nop
+ 280: a7 de 00 00 sh r30,0x0\(r30\)
+ 284: 00 00 00 00 nop
+ 288: af de 00 00 sw r30,0x0\(r30\)
+ 28c: 00 00 00 00 nop
+ 290: 4f de f0 08 rba r30,r30,r30
+ 294: 00 00 00 00 nop
+ 298: 4f de f0 0a rbar r30,r30,r30
+ 29c: 00 00 00 00 nop
+ 2a0: 4f de f0 09 rbal r30,r30,r30
+ 2a4: 00 00 00 00 nop
+ 2a8: 4f de f0 10 wba r30,r30,r30
+ 2ac: 00 00 00 00 nop
+ 2b0: 4f de f0 12 wbac r30,r30,r30
+ 2b4: 00 00 00 00 nop
+ 2b8: 4f de f0 11 wbau r30,r30,r30
+ 2bc: 00 00 00 00 nop
+ 2c0: 4f de f2 00 rbi r30,r30,r30,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4f de f1 00 rbir r30,r30,r30,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4f de f3 00 rbil r30,r30,r30,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4f de f6 00 wbi r30,r30,r30,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4f de f5 00 wbic r30,r30,r30,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4f de f7 00 wbiu r30,r30,r30,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4f de f0 28 pkrla r30,r30,r30
+ 2f4: 00 00 00 00 nop
+ 2f8: 4f de f0 2a pkrlah r30,r30,r30
+ 2fc: 00 00 00 00 nop
+ 300: 4f de f0 29 pkrlau r30,r30,r30
+ 304: 00 00 00 00 nop
+ 308: 4b de f0 00 pkrli r30,r30,r30,0x0
+ 30c: 00 00 00 00 nop
+ 310: 4b de f2 00 pkrlih r30,r30,r30,0x0
+ 314: 00 00 00 00 nop
+ 318: 4b de f1 00 pkrliu r30,r30,r30,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 1e f0 01 lock r30,r30
+ 324: 00 00 00 00 nop
+ 328: 4c 1e f0 03 unlk r30,r30
+ 32c: 00 00 00 00 nop
+ 330: 4f de f0 06 swwr r30,r30,r30
+ 334: 00 00 00 00 nop
+ 338: 4f de f0 07 swwru r30,r30,r30
+ 33c: 00 00 00 00 nop
+ 340: 4c 1e f0 04 swrd r30,r30
+ 344: 00 00 00 00 nop
+ 348: 4c 1e f0 05 swrdl r30,r30
+ 34c: 00 00 00 00 nop
+ 350: 4c 1e f0 0c dwrd r30,r30
+ 354: 00 00 00 00 nop
+ 358: 4c 1e f0 0d dwrdl r30,r30
+ 35c: 00 00 00 00 nop
+ 360: 4c 1e f4 30 cam36 r30,r30,0x6,0x0
+ 364: 00 00 00 00 nop
+ 368: 4c 1e f4 46 cam72 r30,r30,0x6,0x0
+ 36c: 00 00 00 00 nop
+ 370: 4c 1e f4 86 cam144 r30,r30,0x6,0x0
+ 374: 00 00 00 00 nop
+ 378: 4c 1e f4 c6 cam288 r30,r30,0x6,0x0
+ 37c: 00 00 00 00 nop
+ 380: 4f de f0 ab cm32and r30,r30,r30
+ 384: 00 00 00 00 nop
+ 388: 4f de f0 a3 cm32andn r30,r30,r30
+ 38c: 00 00 00 00 nop
+ 390: 4f de f0 aa cm32or r30,r30,r30
+ 394: 00 00 00 00 nop
+ 398: 4f de f0 b0 cm32ra r30,r30,r30
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 1e f0 a1 cm32rd r30,r30
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 1e f0 a4 cm32ri r30,r30
+ 3ac: 00 00 00 00 nop
+ 3b0: 4f de f0 a0 cm32rs r30,r30,r30
+ 3b4: 00 00 00 00 nop
+ 3b8: 4f de f0 b8 cm32sa r30,r30,r30
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 1e f0 a9 cm32sd r30,r30
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 1e f0 ac cm32si r30,r30
+ 3cc: 00 00 00 00 nop
+ 3d0: 4f de f0 a8 cm32ss r30,r30,r30
+ 3d4: 00 00 00 00 nop
+ 3d8: 4f de f0 a2 cm32xor r30,r30,r30
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 1e f0 85 cm64clr r30,r30
+ 3e4: 00 00 00 00 nop
+ 3e8: 4f de f0 90 cm64ra r30,r30,r30
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 1e f0 81 cm64rd r30,r30
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 1e f0 84 cm64ri r30,r30
+ 3fc: 00 00 00 00 nop
+ 400: 4f de f0 94 cm64ria2 r30,r30,r30
+ 404: 00 00 00 00 nop
+ 408: 4f de f0 80 cm64rs r30,r30,r30
+ 40c: 00 00 00 00 nop
+ 410: 4f de f0 98 cm64sa r30,r30,r30
+ 414: 00 00 00 00 nop
+ 418: 4c 1e f0 89 cm64sd r30,r30
+ 41c: 00 00 00 00 nop
+ 420: 4c 1e f0 8c cm64si r30,r30
+ 424: 00 00 00 00 nop
+ 428: 4f de f0 9c cm64sia2 r30,r30,r30
+ 42c: 00 00 00 00 nop
+ 430: 4f de f0 88 cm64ss r30,r30,r30
+ 434: 00 00 00 00 nop
+ 438: 4f de f0 95 cm128ria2 r30,r30,r30
+ 43c: 00 00 00 00 nop
+ 440: 4f de f0 93 cm128ria3 r30,r30,r30,0x3
+ 444: 00 00 00 00 nop
+ 448: 4f de f0 b6 cm128ria4 r30,r30,r30,0x6
+ 44c: 00 00 00 00 nop
+ 450: 4f de f0 9d cm128sia2 r30,r30,r30
+ 454: 00 00 00 00 nop
+ 458: 4f de f0 9b cm128sia3 r30,r30,r30,0x3
+ 45c: 00 00 00 00 nop
+ 460: 4f de f0 be cm128sia4 r30,r30,r30,0x6
+ 464: 00 00 00 00 nop
+ 468: 4f de f0 a6 cm128vsa r30,r30,r30
+ 46c: 00 00 00 00 nop
+ 470: 4f de f0 14 crc32 r30,r30,r30
+ 474: 00 00 00 00 nop
+ 478: 4f de f0 15 crc32b r30,r30,r30
+ 47c: 00 00 00 00 nop
+ 480: 4f c0 f0 26 chkhdr r30,r30
+ 484: 00 00 00 00 nop
+ 488: 4c 00 f0 24 avail r30
+ 48c: 00 00 00 00 nop
+ 490: 4f c0 f0 25 free r30,r30
+ 494: 00 00 00 00 nop
+ 498: 4f c0 f0 27 tstod r30,r30
+ 49c: 00 00 00 00 nop
+ 4a0: 4c 00 f0 2c cmphdr r30
+ 4a4: 00 00 00 00 nop
+ 4a8: 4c 1e f0 20 mcid r30,r30
+ 4ac: 00 00 00 00 nop
+ 4b0: 4c 00 f0 22 dba r30
+ 4b4: 00 00 00 00 nop
+ 4b8: 4c 1e f0 21 dbd r30,r0,r30
+ 4bc: 00 00 00 00 nop
+ 4c0: 4f c0 f0 23 dpwt r30,r30
+ 4c4: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test6.s b/gas/testsuite/gas/iq2000/q10test6.s
new file mode 100644
index 0000000000..c6f58acc10
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test6.s
@@ -0,0 +1,308 @@
+.global _start
+_start:
+ ADD %30,%30,%30
+ NOP
+ ADDI %30,%30,0
+ NOP
+ ADDIU %30,%30,0
+ NOP
+ ADDU %30,%30,%30
+ NOP
+ ADO16 %30,%30,%30
+ NOP
+ AND %30,%30,%30
+ NOP
+ ANDI %30,%30,0
+ NOP
+ ANDOI %30,%30,0
+ NOP
+ ANDOUI %30,%30,0
+ NOP
+ LUI %30,0
+ NOP
+ MRGB %30,%30,%30,0
+ NOP
+ NOR %30,%30,%30
+ NOP
+ OR %30,%30,%30
+ NOP
+ ORI %30,%30,0
+ NOP
+ ORUI %30,%30,0
+ NOP
+ SLL %30,%30,0
+ NOP
+ SLLV %30,%30,%30
+ NOP
+ SLT %30,%30,%30
+ NOP
+ SLTI %30,%30,0
+ NOP
+ SLTIU %30,%30,0
+ NOP
+ SLTU %30,%30,%30
+ NOP
+ SRA %30,%30,0
+ NOP
+ SRAV %30,%30,%30
+ NOP
+ SRL %30,%30,0
+ NOP
+ SRLV %30,%30,%30
+ NOP
+ SUB %30,%30,%30
+ NOP
+ SUBU %30,%30,%30
+ NOP
+ XOR %30,%30,%30
+ NOP
+ XORI %30,%30,0
+ NOP
+ NOP
+ NOP
+ SRMV %30,%30,%30,0
+ NOP
+ SLMV %30,%30,%30,0
+ NOP
+ RAM %30,%30,0,0,0
+ NOP
+ BBI %30(0),_start
+ NOP
+ BBIN %30(0),_start
+ NOP
+ BBV %30,%30,_start
+ NOP
+ BBVN %30,%30,_start
+ NOP
+ BBIL %30(0),_start
+ NOP
+ BBINL %30(0),_start
+ NOP
+ BBVL %30,%30,_start
+ NOP
+ BBVNL %30,%30,_start
+ NOP
+ BEQ %30,%30,_start
+ NOP
+ BEQL %30,%30,_start
+ NOP
+ BGEZ %30,_start
+ NOP
+ BGTZAL %30,_start
+ NOP
+ BGEZAL %30,_start
+ NOP
+ BGTZALL %30,_start
+ NOP
+ BGEZALL %30,_start
+ NOP
+ BGEZL %30,_start
+ NOP
+ BGTZL %30,_start
+ NOP
+ BGTZ %30,_start
+ NOP
+ BLEZ %30,_start
+ NOP
+ BLEZAL %30,_start
+ NOP
+ BLTZ %30,_start
+ NOP
+ BLTZAL %30,_start
+ NOP
+ BLEZL %30,_start
+ NOP
+ BLTZL %30,_start
+ NOP
+ BLEZALL %30,_start
+ NOP
+ BLTZALL %30,_start
+ NOP
+ BMB %30,%30,_start
+ NOP
+ BMBL %30,%30,_start
+ NOP
+ BMB0 %30,%30,_start
+ NOP
+ BMB1 %30,%30,_start
+ NOP
+ BMB2 %30,%30,_start
+ NOP
+ BMB3 %30,%30,_start
+ NOP
+ BNE %30,%30,_start
+ NOP
+ BNEL %30,%30,_start
+ NOP
+ J 0
+ NOP
+ JAL %30,0
+ NOP
+ JALR %30,%30
+ NOP
+ JR %30
+ NOP
+ BREAK
+ NOP
+ CTC %30,%30
+ NOP
+ CFC %30,%30
+ NOP
+ LW %30,0(%30)
+ NOP
+ LH %30,0(%30)
+ NOP
+ LB %30,0(%30)
+ NOP
+ LHU %30,0(%30)
+ NOP
+ LBU %30,0(%30)
+ NOP
+ SB %30,0(%30)
+ NOP
+ SH %30,0(%30)
+ NOP
+ SW %30,0(%30)
+ NOP
+ RBA %30,%30,%30
+ NOP
+ RBAR %30,%30,%30
+ NOP
+ RBAL %30,%30,%30
+ NOP
+ WBA %30,%30,%30
+ NOP
+ WBAC %30,%30,%30
+ NOP
+ WBAU %30,%30,%30
+ NOP
+ RBI %30,%30,%30,0
+ NOP
+ RBIR %30,%30,%30,0
+ NOP
+ RBIL %30,%30,%30,0
+ NOP
+ WBI %30,%30,%30,0
+ NOP
+ WBIC %30,%30,%30,0
+ NOP
+ WBIU %30,%30,%30,0
+ NOP
+ PKRLA %30,%30,%30
+ NOP
+ PKRLAH %30,%30,%30
+ NOP
+ PKRLAU %30,%30,%30
+ NOP
+ PKRLI %30,%30,%30,0
+ NOP
+ PKRLIH %30,%30,%30,0
+ NOP
+ PKRLIU %30,%30,%30,0
+ NOP
+ LOCK %30,%30
+ NOP
+ UNLK %30,%30
+ NOP
+ SWWR %30,%30,%30
+ NOP
+ SWWRU %30,%30,%30
+ NOP
+ SWRD %30,%30
+ NOP
+ SWRDL %30,%30
+ NOP
+ DWRD %30,%30
+ NOP
+ DWRDL %30,%30
+ NOP
+ CAM36 %30,%30,6,0
+ NOP
+ CAM72 %30,%30,6,0
+ NOP
+ CAM144 %30,%30,6,0
+ NOP
+ CAM288 %30,%30,6,0
+ NOP
+ CM32AND %30,%30,%30
+ NOP
+ CM32ANDN %30,%30,%30
+ NOP
+ CM32OR %30,%30,%30
+ NOP
+ CM32RA %30,%30,%30
+ NOP
+ CM32RD %30,%30
+ NOP
+ CM32RI %30,%30
+ NOP
+ CM32RS %30,%30,%30
+ NOP
+ CM32SA %30,%30,%30
+ NOP
+ CM32SD %30,%30
+ NOP
+ CM32SI %30,%30
+ NOP
+ CM32SS %30,%30,%30
+ NOP
+ CM32XOR %30,%30,%30
+ NOP
+ CM64CLR %30,%30
+ NOP
+ CM64RA %30,%30,%30
+ NOP
+ CM64RD %30,%30
+ NOP
+ CM64RI %30,%30
+ NOP
+ CM64RIA2 %30,%30,%30
+ NOP
+ CM64RS %30,%30,%30
+ NOP
+ CM64SA %30,%30,%30
+ NOP
+ CM64SD %30,%30
+ NOP
+ CM64SI %30,%30
+ NOP
+ CM64SIA2 %30,%30,%30
+ NOP
+ CM64SS %30,%30,%30
+ NOP
+ CM128RIA2 %30,%30,%30
+ NOP
+ CM128RIA3 %30,%30,%30,3
+ NOP
+ CM128RIA4 %30,%30,%30,6
+ NOP
+ CM128SIA2 %30,%30,%30
+ NOP
+ CM128SIA3 %30,%30,%30,3
+ NOP
+ CM128SIA4 %30,%30,%30,6
+ NOP
+ CM128VSA %30,%30,%30
+ NOP
+ CRC32 %30,%30,%30
+ NOP
+ CRC32B %30,%30,%30
+ NOP
+ CHKHDR %30,%30
+ NOP
+ AVAIL %30
+ NOP
+ FREE %30,%30
+ NOP
+ TSTOD %30,%30
+ NOP
+ CMPHDR %30
+ NOP
+ MCID %30,%30
+ NOP
+ DBA %30
+ NOP
+ DBD %30,%30
+ NOP
+ DPWT %30,%30
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test7.d b/gas/testsuite/gas/iq2000/q10test7.d
new file mode 100644
index 0000000000..2bf380ca7e
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test7.d
@@ -0,0 +1,301 @@
+#as: -m10
+#objdump: -drz
+#name: q10test7
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 08 addi r1,r1,0x8
+ c: 00 00 00 00 nop
+ 10: 24 21 00 08 addiu r1,r1,0x8
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 08 andi r1,r1,0x8
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 08 andoi r1,r1,0x8
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 08 andoui r1,r1,0x8
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 08 lui r1,0x8
+ 4c: 00 00 00 00 nop
+ 50: 00 21 08 2d mrgb r1,r1,r1,0x0
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 08 ori r1,r1,0x8
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 08 orui r1,r1,0x8
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 08 slti r1,r1,0x8
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 08 sltiu r1,r1,0x8
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 08 xori r1,r1,0x8
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 01 08 00 ram r1,r1,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 70 21 00 02 bbi r1\(0x1\),114 <_start\+0x114>
+ 10c: 00 00 00 00 nop
+ 110: 78 21 00 02 bbin r1\(0x1\),11c <_start\+0x11c>
+ 114: 00 00 00 00 nop
+ 118: 74 21 00 02 bbv r1,r1,124 <_start\+0x124>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 00 02 bbvn r1,r1,12c <_start\+0x12c>
+ 124: 00 00 00 00 nop
+ 128: f0 21 00 02 bbil r1\(0x1\),134 <_start\+0x134>
+ 12c: 00 00 00 00 nop
+ 130: f8 21 00 02 bbinl r1\(0x1\),13c <_start\+0x13c>
+ 134: 00 00 00 00 nop
+ 138: f4 21 00 02 bbvl r1,r1,144 <_start\+0x144>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 00 02 bbvnl r1,r1,14c <_start\+0x14c>
+ 144: 00 00 00 00 nop
+ 148: 10 21 00 02 beq r1,r1,154 <_start\+0x154>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 00 02 beql r1,r1,15c <_start\+0x15c>
+ 154: 00 00 00 00 nop
+ 158: 04 21 00 02 bgez r1,164 <_start\+0x164>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 00 02 bgtzal r1,16c <_start\+0x16c>
+ 164: 00 00 00 00 nop
+ 168: 04 31 00 02 bgezal r1,174 <_start\+0x174>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 00 02 bgtzall r1,17c <_start\+0x17c>
+ 174: 00 00 00 00 nop
+ 178: 04 33 00 02 bgezall r1,184 <_start\+0x184>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 00 02 bgezl r1,18c <_start\+0x18c>
+ 184: 00 00 00 00 nop
+ 188: 04 27 00 02 bgtzl r1,194 <_start\+0x194>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 00 02 bgtz r1,19c <_start\+0x19c>
+ 194: 00 00 00 00 nop
+ 198: 04 24 00 02 blez r1,1a4 <_start\+0x1a4>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 00 02 blezal r1,1ac <_start\+0x1ac>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 00 02 bltz r1,1b4 <_start\+0x1b4>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 00 02 bltzal r1,1bc <_start\+0x1bc>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 00 02 blezl r1,1c4 <_start\+0x1c4>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 00 02 bltzl r1,1cc <_start\+0x1cc>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 00 02 blezall r1,1d4 <_start\+0x1d4>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 00 02 bltzall r1,1dc <_start\+0x1dc>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 00 02 bmb r1,r1,1e4 <_start\+0x1e4>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 00 02 bmbl r1,r1,1ec <_start\+0x1ec>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 00 02 bmb0 r1,r1,1f4 <_start\+0x1f4>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 00 02 bmb1 r1,r1,1fc <_start\+0x1fc>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 00 02 bmb2 r1,r1,204 <_start\+0x204>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 00 02 bmb3 r1,r1,20c <_start\+0x20c>
+ 204: 00 00 00 00 nop
+ 208: 14 21 00 02 bne r1,r1,214 <_start\+0x214>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 00 02 bnel r1,r1,21c <_start\+0x21c>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 02 j 8 <_start\+0x8>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 02 jal r1,8 <_start\+0x8>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 08 lw r1,0x8\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 08 lh r1,0x8\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 08 lb r1,0x8\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 08 lhu r1,0x8\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 08 lbu r1,0x8\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 08 sb r1,0x8\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 08 sh r1,0x8\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 08 sw r1,0x8\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a 00 rbi r1,r1,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 00 rbir r1,r1,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b 00 rbil r1,r1,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e 00 wbi r1,r1,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d 00 wbic r1,r1,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f 00 wbiu r1,r1,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2a pkrlah r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 29 pkrlau r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 48 21 08 00 pkrli r1,r1,r1,0x0
+ 30c: 00 00 00 00 nop
+ 310: 48 21 0a 00 pkrlih r1,r1,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 21 09 00 pkrliu r1,r1,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 08 01 lock r1,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 08 03 unlk r1,r1
+ 32c: 00 00 00 00 nop
+ 330: 4c 21 08 06 swwr r1,r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 21 08 07 swwru r1,r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 01 08 04 swrd r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 01 08 05 swrdl r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 02 10 0c dwrd r2,r2
+ 354: 00 00 00 00 nop
+ 358: 4c 02 10 0d dwrdl r2,r2
+ 35c: 00 00 00 00 nop
+ 360: 4c 21 08 ab cm32and r1,r1,r1
+ 364: 00 00 00 00 nop
+ 368: 4c 21 08 a3 cm32andn r1,r1,r1
+ 36c: 00 00 00 00 nop
+ 370: 4c 21 08 aa cm32or r1,r1,r1
+ 374: 00 00 00 00 nop
+ 378: 4c 21 08 b0 cm32ra r1,r1,r1
+ 37c: 00 00 00 00 nop
+ 380: 4c 01 08 a1 cm32rd r1,r1
+ 384: 00 00 00 00 nop
+ 388: 4c 01 08 a4 cm32ri r1,r1
+ 38c: 00 00 00 00 nop
+ 390: 4c 21 08 a0 cm32rs r1,r1,r1
+ 394: 00 00 00 00 nop
+ 398: 4c 21 08 b8 cm32sa r1,r1,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 01 08 a9 cm32sd r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 01 08 ac cm32si r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 21 08 a8 cm32ss r1,r1,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 21 08 a2 cm32xor r1,r1,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 02 10 85 cm64clr r2,r2
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 42 10 90 cm64ra r2,r2,r2
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 02 10 81 cm64rd r2,r2
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 02 10 84 cm64ri r2,r2
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 42 10 94 cm64ria2 r2,r2,r2
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 42 10 80 cm64rs r2,r2,r2
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 42 10 98 cm64sa r2,r2,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 02 10 89 cm64sd r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4c 02 10 8c cm64si r2,r2
+ 404: 00 00 00 00 nop
+ 408: 4c 42 10 9c cm64sia2 r2,r2,r2
+ 40c: 00 00 00 00 nop
+ 410: 4c 42 10 88 cm64ss r2,r2,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 42 10 95 cm128ria2 r2,r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 42 10 b7 cm128ria4 r2,r2,r2,0x7
+ 424: 00 00 00 00 nop
+ 428: 4c 42 10 9d cm128sia2 r2,r2,r2
+ 42c: 00 00 00 00 nop
+ 430: 4c 21 08 bf cm128sia4 r1,r1,r1,0x7
+ 434: 00 00 00 00 nop
+ 438: 4c 21 08 a6 cm128vsa r1,r1,r1
+ 43c: 00 00 00 00 nop
+ 440: 4c 21 08 14 crc32 r1,r1,r1
+ 444: 00 00 00 00 nop
+ 448: 4c 21 08 15 crc32b r1,r1,r1
+ 44c: 00 00 00 00 nop
+ 450: 4c 20 08 26 chkhdr r1,r1
+ 454: 00 00 00 00 nop
+ 458: 4c 00 08 24 avail r1
+ 45c: 00 00 00 00 nop
+ 460: 4c 20 08 25 free r1,r1
+ 464: 00 00 00 00 nop
+ 468: 4c 00 08 2c cmphdr r1
+ 46c: 00 00 00 00 nop
+ 470: 4c 01 08 20 mcid r1,r1
+ 474: 00 00 00 00 nop
+ 478: 4c 00 08 22 dba r1
+ 47c: 00 00 00 00 nop
+ 480: 4c 01 08 21 dbd r1,r0,r1
+ 484: 00 00 00 00 nop
+ 488: 4c 20 08 23 dpwt r1,r1
+ 48c: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test7.s b/gas/testsuite/gas/iq2000/q10test7.s
new file mode 100644
index 0000000000..12b1c99535
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test7.s
@@ -0,0 +1,294 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,8
+ NOP
+ ADDIU %1,%1,8
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,8
+ NOP
+ ANDOI %1,%1,8
+ NOP
+ ANDOUI %1,%1,8
+ NOP
+ LUI %1,8
+ NOP
+ MRGB %1,%1,%1,0
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,8
+ NOP
+ ORUI %1,%1,8
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,8
+ NOP
+ SLTIU %1,%1,8
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,8
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,0,0
+ NOP
+ BBI %1(1),8
+ NOP
+ BBIN %1(1),8
+ NOP
+ BBV %1,%1,8
+ NOP
+ BBVN %1,%1,8
+ NOP
+ BBIL %1(1),8
+ NOP
+ BBINL %1(1),8
+ NOP
+ BBVL %1,%1,8
+ NOP
+ BBVNL %1,%1,8
+ NOP
+ BEQ %1,%1,8
+ NOP
+ BEQL %1,%1,8
+ NOP
+ BGEZ %1,8
+ NOP
+ BGTZAL %1,8
+ NOP
+ BGEZAL %1,8
+ NOP
+ BGTZALL %1,8
+ NOP
+ BGEZALL %1,8
+ NOP
+ BGEZL %1,8
+ NOP
+ BGTZL %1,8
+ NOP
+ BGTZ %1,8
+ NOP
+ BLEZ %1,8
+ NOP
+ BLEZAL %1,8
+ NOP
+ BLTZ %1,8
+ NOP
+ BLTZAL %1,8
+ NOP
+ BLEZL %1,8
+ NOP
+ BLTZL %1,8
+ NOP
+ BLEZALL %1,8
+ NOP
+ BLTZALL %1,8
+ NOP
+ BMB %1,%1,8
+ NOP
+ BMBL %1,%1,8
+ NOP
+ BMB0 %1,%1,8
+ NOP
+ BMB1 %1,%1,8
+ NOP
+ BMB2 %1,%1,8
+ NOP
+ BMB3 %1,%1,8
+ NOP
+ BNE %1,%1,8
+ NOP
+ BNEL %1,%1,8
+ NOP
+ J 8
+ NOP
+ JAL %1,8
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,8(%1)
+ NOP
+ LH %1,8(%1)
+ NOP
+ LB %1,8(%1)
+ NOP
+ LHU %1,8(%1)
+ NOP
+ LBU %1,8(%1)
+ NOP
+ SB %1,8(%1)
+ NOP
+ SH %1,8(%1)
+ NOP
+ SW %1,8(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,0
+ NOP
+ RBIR %1,%1,%1,0
+ NOP
+ RBIL %1,%1,%1,0
+ NOP
+ WBI %1,%1,%1,0
+ NOP
+ WBIC %1,%1,%1,0
+ NOP
+ WBIU %1,%1,%1,0
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,0
+ NOP
+ PKRLIH %1,%1,%1,0
+ NOP
+ PKRLIU %1,%1,%1,0
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
+ DWRD %2,%2
+ NOP
+ DWRDL %2,%2
+ NOP
+ CM32AND %1,%1,%1
+ NOP
+ CM32ANDN %1,%1,%1
+ NOP
+ CM32OR %1,%1,%1
+ NOP
+ CM32RA %1,%1,%1
+ NOP
+ CM32RD %1,%1
+ NOP
+ CM32RI %1,%1
+ NOP
+ CM32RS %1,%1,%1
+ NOP
+ CM32SA %1,%1,%1
+ NOP
+ CM32SD %1,%1
+ NOP
+ CM32SI %1,%1
+ NOP
+ CM32SS %1,%1,%1
+ NOP
+ CM32XOR %1,%1,%1
+ NOP
+ CM64CLR %2,%2
+ NOP
+ CM64RA %2,%2,%2
+ NOP
+ CM64RD %2,%2
+ NOP
+ CM64RI %2,%2
+ NOP
+ CM64RIA2 %2,%2,%2
+ NOP
+ CM64RS %2,%2,%2
+ NOP
+ CM64SA %2,%2,%2
+ NOP
+ CM64SD %2,%2
+ NOP
+ CM64SI %2,%2
+ NOP
+ CM64SIA2 %2,%2,%2
+ NOP
+ CM64SS %2,%2,%2
+ NOP
+ CM128RIA2 %2,%2,%2
+ NOP
+ CM128RIA4 %2,%2,%2,7
+ NOP
+ CM128SIA2 %2,%2,%2
+ NOP
+ CM128SIA4 %1,%1,%1,7
+ NOP
+ CM128VSA %1,%1,%1
+ NOP
+ CRC32 %1,%1,%1
+ NOP
+ CRC32B %1,%1,%1
+ NOP
+ CHKHDR %1,%1
+ NOP
+ AVAIL %1
+ NOP
+ FREE %1,%1
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%1
+ NOP
+ DBA %1
+ NOP
+ DBD %1,%1
+ NOP
+ DPWT %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test8.d b/gas/testsuite/gas/iq2000/q10test8.d
new file mode 100644
index 0000000000..9b18dde51d
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test8.d
@@ -0,0 +1,327 @@
+#as: -m10
+#objdump: -drz
+#name: q10test8
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 ff f8 addi r1,r1,0xfff8
+ c: 00 00 00 00 nop
+ 10: 24 21 ff f8 addiu r1,r1,0xfff8
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 ff f8 andi r1,r1,0xfff8
+ 34: 00 00 00 00 nop
+ 38: b0 21 ff f8 andoi r1,r1,0xfff8
+ 3c: 00 00 00 00 nop
+ 40: bc 21 ff f8 andoui r1,r1,0xfff8
+ 44: 00 00 00 00 nop
+ 48: 3c 01 ff f8 lui r1,0xfff8
+ 4c: 00 00 00 00 nop
+ 50: 00 21 08 2d mrgb r1,r1,r1,0x0
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 ff f8 ori r1,r1,0xfff8
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 ff f8 orui r1,r1,0xfff8
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 ff f8 slti r1,r1,0xfff8
+ 94: 00 00 00 00 nop
+ 98: 2c 21 ff f8 sltiu r1,r1,0xfff8
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 ff f8 xori r1,r1,0xfff8
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 01 08 00 ram r1,r1,0x0,0x0,0x0
+ 104: 00 00 00 00 nop
+ 108: 70 3f 00 00 bbi r1\(0x1f\),10c <_start\+0x10c>
+ 108: R_IQ2000_PC16 _startxfff8
+ 10c: 00 00 00 00 nop
+ 110: 78 3f 00 00 bbin r1\(0x1f\),114 <_start\+0x114>
+ 110: R_IQ2000_PC16 _startxfff8
+ 114: 00 00 00 00 nop
+ 118: 74 21 00 00 bbv r1,r1,11c <_start\+0x11c>
+ 118: R_IQ2000_PC16 _startxfff8
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 00 00 bbvn r1,r1,124 <_start\+0x124>
+ 120: R_IQ2000_PC16 _startxfff8
+ 124: 00 00 00 00 nop
+ 128: f0 3f 00 00 bbil r1\(0x1f\),12c <_start\+0x12c>
+ 128: R_IQ2000_PC16 _startxfff8
+ 12c: 00 00 00 00 nop
+ 130: f8 3f 00 00 bbinl r1\(0x1f\),134 <_start\+0x134>
+ 130: R_IQ2000_PC16 _startxfff8
+ 134: 00 00 00 00 nop
+ 138: f4 21 00 00 bbvl r1,r1,13c <_start\+0x13c>
+ 138: R_IQ2000_PC16 _startxfff8
+ 13c: 00 00 00 00 nop
+ 140: fc 21 00 00 bbvnl r1,r1,144 <_start\+0x144>
+ 140: R_IQ2000_PC16 _startxfff8
+ 144: 00 00 00 00 nop
+ 148: 10 21 00 00 beq r1,r1,14c <_start\+0x14c>
+ 148: R_IQ2000_PC16 _startxfff8
+ 14c: 00 00 00 00 nop
+ 150: 50 21 00 00 beql r1,r1,154 <_start\+0x154>
+ 150: R_IQ2000_PC16 _startxfff8
+ 154: 00 00 00 00 nop
+ 158: 04 21 00 00 bgez r1,15c <_start\+0x15c>
+ 158: R_IQ2000_PC16 _startxfff8
+ 15c: 00 00 00 00 nop
+ 160: 04 35 00 00 bgtzal r1,164 <_start\+0x164>
+ 160: R_IQ2000_PC16 _startxfff8
+ 164: 00 00 00 00 nop
+ 168: 04 31 00 00 bgezal r1,16c <_start\+0x16c>
+ 168: R_IQ2000_PC16 _startxfff8
+ 16c: 00 00 00 00 nop
+ 170: 04 37 00 00 bgtzall r1,174 <_start\+0x174>
+ 170: R_IQ2000_PC16 _startxfff8
+ 174: 00 00 00 00 nop
+ 178: 04 33 00 00 bgezall r1,17c <_start\+0x17c>
+ 178: R_IQ2000_PC16 _startxfff8
+ 17c: 00 00 00 00 nop
+ 180: 04 23 00 00 bgezl r1,184 <_start\+0x184>
+ 180: R_IQ2000_PC16 _startxfff8
+ 184: 00 00 00 00 nop
+ 188: 04 27 00 00 bgtzl r1,18c <_start\+0x18c>
+ 188: R_IQ2000_PC16 _startxfff8
+ 18c: 00 00 00 00 nop
+ 190: 04 25 00 00 bgtz r1,194 <_start\+0x194>
+ 190: R_IQ2000_PC16 _startxfff8
+ 194: 00 00 00 00 nop
+ 198: 04 24 00 00 blez r1,19c <_start\+0x19c>
+ 198: R_IQ2000_PC16 _startxfff8
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 00 00 blezal r1,1a4 <_start\+0x1a4>
+ 1a0: R_IQ2000_PC16 _startxfff8
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 00 00 bltz r1,1ac <_start\+0x1ac>
+ 1a8: R_IQ2000_PC16 _startxfff8
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 00 00 bltzal r1,1b4 <_start\+0x1b4>
+ 1b0: R_IQ2000_PC16 _startxfff8
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 00 00 blezl r1,1bc <_start\+0x1bc>
+ 1b8: R_IQ2000_PC16 _startxfff8
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 00 00 bltzl r1,1c4 <_start\+0x1c4>
+ 1c0: R_IQ2000_PC16 _startxfff8
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 00 00 blezall r1,1cc <_start\+0x1cc>
+ 1c8: R_IQ2000_PC16 _startxfff8
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 00 00 bltzall r1,1d4 <_start\+0x1d4>
+ 1d0: R_IQ2000_PC16 _startxfff8
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 00 00 bmb r1,r1,1dc <_start\+0x1dc>
+ 1d8: R_IQ2000_PC16 _startxfff8
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 00 00 bmbl r1,r1,1e4 <_start\+0x1e4>
+ 1e0: R_IQ2000_PC16 _startxfff8
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 00 00 bmb0 r1,r1,1ec <_start\+0x1ec>
+ 1e8: R_IQ2000_PC16 _startxfff8
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 00 00 bmb1 r1,r1,1f4 <_start\+0x1f4>
+ 1f0: R_IQ2000_PC16 _startxfff8
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 00 00 bmb2 r1,r1,1fc <_start\+0x1fc>
+ 1f8: R_IQ2000_PC16 _startxfff8
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 00 00 bmb3 r1,r1,204 <_start\+0x204>
+ 200: R_IQ2000_PC16 _startxfff8
+ 204: 00 00 00 00 nop
+ 208: 14 21 00 00 bne r1,r1,20c <_start\+0x20c>
+ 208: R_IQ2000_PC16 _startxfff8
+ 20c: 00 00 00 00 nop
+ 210: 54 21 00 00 bnel r1,r1,214 <_start\+0x214>
+ 210: R_IQ2000_PC16 _startxfff8
+ 214: 00 00 00 00 nop
+ 218: 08 00 3f fe j fff8 <_start\+0xfff8>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 3f fe jal r1,fff8 <_start\+0xfff8>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 ff f8 lw r1,0xfff8\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 ff f8 lh r1,0xfff8\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 ff f8 lb r1,0xfff8\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 ff f8 lhu r1,0xfff8\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 ff f8 lbu r1,0xfff8\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 ff f8 sb r1,0xfff8\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 ff f8 sh r1,0xfff8\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 ff f8 sw r1,0xfff8\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a 00 rbi r1,r1,r1,0x0
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 00 rbir r1,r1,r1,0x0
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b 00 rbil r1,r1,r1,0x0
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e 00 wbi r1,r1,r1,0x0
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d 00 wbic r1,r1,r1,0x0
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f 00 wbiu r1,r1,r1,0x0
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2a pkrlah r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 29 pkrlau r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 48 21 08 00 pkrli r1,r1,r1,0x0
+ 30c: 00 00 00 00 nop
+ 310: 48 21 0a 00 pkrlih r1,r1,r1,0x0
+ 314: 00 00 00 00 nop
+ 318: 48 21 09 00 pkrliu r1,r1,r1,0x0
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 08 01 lock r1,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 08 03 unlk r1,r1
+ 32c: 00 00 00 00 nop
+ 330: 4c 21 08 06 swwr r1,r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 21 08 07 swwru r1,r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 01 08 04 swrd r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 01 08 05 swrdl r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 02 10 0c dwrd r2,r2
+ 354: 00 00 00 00 nop
+ 358: 4c 02 10 0d dwrdl r2,r2
+ 35c: 00 00 00 00 nop
+ 360: 4c 21 08 ab cm32and r1,r1,r1
+ 364: 00 00 00 00 nop
+ 368: 4c 21 08 a3 cm32andn r1,r1,r1
+ 36c: 00 00 00 00 nop
+ 370: 4c 21 08 aa cm32or r1,r1,r1
+ 374: 00 00 00 00 nop
+ 378: 4c 21 08 b0 cm32ra r1,r1,r1
+ 37c: 00 00 00 00 nop
+ 380: 4c 01 08 a1 cm32rd r1,r1
+ 384: 00 00 00 00 nop
+ 388: 4c 01 08 a4 cm32ri r1,r1
+ 38c: 00 00 00 00 nop
+ 390: 4c 21 08 a0 cm32rs r1,r1,r1
+ 394: 00 00 00 00 nop
+ 398: 4c 21 08 b8 cm32sa r1,r1,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 01 08 a9 cm32sd r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 01 08 ac cm32si r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 21 08 a8 cm32ss r1,r1,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 21 08 a2 cm32xor r1,r1,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 02 10 85 cm64clr r2,r2
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 42 10 90 cm64ra r2,r2,r2
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 02 10 81 cm64rd r2,r2
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 02 10 84 cm64ri r2,r2
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 42 10 94 cm64ria2 r2,r2,r2
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 42 10 80 cm64rs r2,r2,r2
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 42 10 98 cm64sa r2,r2,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 02 10 89 cm64sd r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4c 02 10 8c cm64si r2,r2
+ 404: 00 00 00 00 nop
+ 408: 4c 42 10 9c cm64sia2 r2,r2,r2
+ 40c: 00 00 00 00 nop
+ 410: 4c 42 10 88 cm64ss r2,r2,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 42 10 95 cm128ria2 r2,r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 21 08 14 crc32 r1,r1,r1
+ 424: 00 00 00 00 nop
+ 428: 4c 21 08 15 crc32b r1,r1,r1
+ 42c: 00 00 00 00 nop
+ 430: 4c 20 08 26 chkhdr r1,r1
+ 434: 00 00 00 00 nop
+ 438: 4c 00 08 24 avail r1
+ 43c: 00 00 00 00 nop
+ 440: 4c 20 08 25 free r1,r1
+ 444: 00 00 00 00 nop
+ 448: 4c 00 08 2c cmphdr r1
+ 44c: 00 00 00 00 nop
+ 450: 4c 01 08 20 mcid r1,r1
+ 454: 00 00 00 00 nop
+ 458: 4c 00 08 22 dba r1
+ 45c: 00 00 00 00 nop
+ 460: 4c 01 08 21 dbd r1,r0,r1
+ 464: 00 00 00 00 nop
+ 468: 4c 20 08 23 dpwt r1,r1
+ 46c: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test8.s b/gas/testsuite/gas/iq2000/q10test8.s
new file mode 100644
index 0000000000..9484f3111d
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test8.s
@@ -0,0 +1,286 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,0xfff8
+ NOP
+ ADDIU %1,%1,0xfff8
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,0xfff8
+ NOP
+ ANDOI %1,%1,0xfff8
+ NOP
+ ANDOUI %1,%1,0xfff8
+ NOP
+ LUI %1,0xfff8
+ NOP
+ MRGB %1,%1,%1,0
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,0xfff8
+ NOP
+ ORUI %1,%1,0xfff8
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,0xfff8
+ NOP
+ SLTIU %1,%1,0xfff8
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,0xfff8
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,0,0
+ NOP
+ BBI %1(31),_startxfff8
+ NOP
+ BBIN %1(31),_startxfff8
+ NOP
+ BBV %1,%1,_startxfff8
+ NOP
+ BBVN %1,%1,_startxfff8
+ NOP
+ BBIL %1(31),_startxfff8
+ NOP
+ BBINL %1(31),_startxfff8
+ NOP
+ BBVL %1,%1,_startxfff8
+ NOP
+ BBVNL %1,%1,_startxfff8
+ NOP
+ BEQ %1,%1,_startxfff8
+ NOP
+ BEQL %1,%1,_startxfff8
+ NOP
+ BGEZ %1,_startxfff8
+ NOP
+ BGTZAL %1,_startxfff8
+ NOP
+ BGEZAL %1,_startxfff8
+ NOP
+ BGTZALL %1,_startxfff8
+ NOP
+ BGEZALL %1,_startxfff8
+ NOP
+ BGEZL %1,_startxfff8
+ NOP
+ BGTZL %1,_startxfff8
+ NOP
+ BGTZ %1,_startxfff8
+ NOP
+ BLEZ %1,_startxfff8
+ NOP
+ BLEZAL %1,_startxfff8
+ NOP
+ BLTZ %1,_startxfff8
+ NOP
+ BLTZAL %1,_startxfff8
+ NOP
+ BLEZL %1,_startxfff8
+ NOP
+ BLTZL %1,_startxfff8
+ NOP
+ BLEZALL %1,_startxfff8
+ NOP
+ BLTZALL %1,_startxfff8
+ NOP
+ BMB %1,%1,_startxfff8
+ NOP
+ BMBL %1,%1,_startxfff8
+ NOP
+ BMB0 %1,%1,_startxfff8
+ NOP
+ BMB1 %1,%1,_startxfff8
+ NOP
+ BMB2 %1,%1,_startxfff8
+ NOP
+ BMB3 %1,%1,_startxfff8
+ NOP
+ BNE %1,%1,_startxfff8
+ NOP
+ BNEL %1,%1,_startxfff8
+ NOP
+ J 0xfff8
+ NOP
+ JAL %1,0xfff8
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0xfff8(%1)
+ NOP
+ LH %1,0xfff8(%1)
+ NOP
+ LB %1,0xfff8(%1)
+ NOP
+ LHU %1,0xfff8(%1)
+ NOP
+ LBU %1,0xfff8(%1)
+ NOP
+ SB %1,0xfff8(%1)
+ NOP
+ SH %1,0xfff8(%1)
+ NOP
+ SW %1,0xfff8(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,0
+ NOP
+ RBIR %1,%1,%1,0
+ NOP
+ RBIL %1,%1,%1,0
+ NOP
+ WBI %1,%1,%1,0
+ NOP
+ WBIC %1,%1,%1,0
+ NOP
+ WBIU %1,%1,%1,0
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,0
+ NOP
+ PKRLIH %1,%1,%1,0
+ NOP
+ PKRLIU %1,%1,%1,0
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
+ DWRD %2,%2
+ NOP
+ DWRDL %2,%2
+ NOP
+ CM32AND %1,%1,%1
+ NOP
+ CM32ANDN %1,%1,%1
+ NOP
+ CM32OR %1,%1,%1
+ NOP
+ CM32RA %1,%1,%1
+ NOP
+ CM32RD %1,%1
+ NOP
+ CM32RI %1,%1
+ NOP
+ CM32RS %1,%1,%1
+ NOP
+ CM32SA %1,%1,%1
+ NOP
+ CM32SD %1,%1
+ NOP
+ CM32SI %1,%1
+ NOP
+ CM32SS %1,%1,%1
+ NOP
+ CM32XOR %1,%1,%1
+ NOP
+ CM64CLR %2,%2
+ NOP
+ CM64RA %2,%2,%2
+ NOP
+ CM64RD %2,%2
+ NOP
+ CM64RI %2,%2
+ NOP
+ CM64RIA2 %2,%2,%2
+ NOP
+ CM64RS %2,%2,%2
+ NOP
+ CM64SA %2,%2,%2
+ NOP
+ CM64SD %2,%2
+ NOP
+ CM64SI %2,%2
+ NOP
+ CM64SIA2 %2,%2,%2
+ NOP
+ CM64SS %2,%2,%2
+ NOP
+ CM128RIA2 %2,%2,%2
+ NOP
+ CRC32 %1,%1,%1
+ NOP
+ CRC32B %1,%1,%1
+ NOP
+ CHKHDR %1,%1
+ NOP
+ AVAIL %1
+ NOP
+ FREE %1,%1
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%1
+ NOP
+ DBA %1
+ NOP
+ DBD %1,%1
+ NOP
+ DPWT %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10test9.d b/gas/testsuite/gas/iq2000/q10test9.d
new file mode 100644
index 0000000000..9a1f295a14
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test9.d
@@ -0,0 +1,291 @@
+#as: -m10
+#objdump: -drz
+#name: q10test9
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+00000000 <_start>:
+ 0: 00 21 08 20 add r1,r1,r1
+ 4: 00 00 00 00 nop
+ 8: 20 21 00 00 addi r1,r1,0x0
+ c: 00 00 00 00 nop
+ 10: 24 21 00 00 addiu r1,r1,0x0
+ 14: 00 00 00 00 nop
+ 18: 00 21 08 21 addu r1,r1,r1
+ 1c: 00 00 00 00 nop
+ 20: 00 21 08 29 ado16 r1,r1,r1
+ 24: 00 00 00 00 nop
+ 28: 00 21 08 24 and r1,r1,r1
+ 2c: 00 00 00 00 nop
+ 30: 30 21 00 00 andi r1,r1,0x0
+ 34: 00 00 00 00 nop
+ 38: b0 21 00 00 andoi r1,r1,0x0
+ 3c: 00 00 00 00 nop
+ 40: bc 21 00 00 andoui r1,r1,0x0
+ 44: 00 00 00 00 nop
+ 48: 3c 01 00 00 lui r1,0x0
+ 4c: 00 00 00 00 nop
+ 50: 00 21 08 6d mrgb r1,r1,r1,0x1
+ 54: 00 00 00 00 nop
+ 58: 00 21 08 27 nor r1,r1,r1
+ 5c: 00 00 00 00 nop
+ 60: 00 21 08 25 or r1,r1,r1
+ 64: 00 00 00 00 nop
+ 68: 34 21 00 00 ori r1,r1,0x0
+ 6c: 00 00 00 00 nop
+ 70: 3c 21 00 00 orui r1,r1,0x0
+ 74: 00 00 00 00 nop
+ 78: 00 01 08 00 sll r1,r1,0x0
+ 7c: 00 00 00 00 nop
+ 80: 00 21 08 04 sllv r1,r1,r1
+ 84: 00 00 00 00 nop
+ 88: 00 21 08 2a slt r1,r1,r1
+ 8c: 00 00 00 00 nop
+ 90: 28 21 00 00 slti r1,r1,0x0
+ 94: 00 00 00 00 nop
+ 98: 2c 21 00 00 sltiu r1,r1,0x0
+ 9c: 00 00 00 00 nop
+ a0: 00 21 08 2b sltu r1,r1,r1
+ a4: 00 00 00 00 nop
+ a8: 00 01 08 03 sra r1,r1,0x0
+ ac: 00 00 00 00 nop
+ b0: 00 21 08 07 srav r1,r1,r1
+ b4: 00 00 00 00 nop
+ b8: 00 01 08 02 srl r1,r1,0x0
+ bc: 00 00 00 00 nop
+ c0: 00 21 08 06 srlv r1,r1,r1
+ c4: 00 00 00 00 nop
+ c8: 00 21 08 22 sub r1,r1,r1
+ cc: 00 00 00 00 nop
+ d0: 00 21 08 23 subu r1,r1,r1
+ d4: 00 00 00 00 nop
+ d8: 00 21 08 26 xor r1,r1,r1
+ dc: 00 00 00 00 nop
+ e0: 38 21 00 00 xori r1,r1,0x0
+ e4: 00 00 00 00 nop
+ e8: 00 00 00 00 nop
+ ec: 00 00 00 00 nop
+ f0: 00 21 08 05 srmv r1,r1,r1,0x0
+ f4: 00 00 00 00 nop
+ f8: 00 21 08 01 slmv r1,r1,r1,0x0
+ fc: 00 00 00 00 nop
+ 100: 9c 21 08 01 ram r1,r1,0x0,0x1,0x1
+ 104: 00 00 00 00 nop
+ 108: 70 20 ff bd bbi r1\(0x0\),0 <_start>
+ 10c: 00 00 00 00 nop
+ 110: 78 20 ff bb bbin r1\(0x0\),0 <_start>
+ 114: 00 00 00 00 nop
+ 118: 74 21 ff b9 bbv r1,r1,0 <_start>
+ 11c: 00 00 00 00 nop
+ 120: 7c 21 ff b7 bbvn r1,r1,0 <_start>
+ 124: 00 00 00 00 nop
+ 128: f0 20 ff b5 bbil r1\(0x0\),0 <_start>
+ 12c: 00 00 00 00 nop
+ 130: f8 20 ff b3 bbinl r1\(0x0\),0 <_start>
+ 134: 00 00 00 00 nop
+ 138: f4 21 ff b1 bbvl r1,r1,0 <_start>
+ 13c: 00 00 00 00 nop
+ 140: fc 21 ff af bbvnl r1,r1,0 <_start>
+ 144: 00 00 00 00 nop
+ 148: 10 21 ff ad beq r1,r1,0 <_start>
+ 14c: 00 00 00 00 nop
+ 150: 50 21 ff ab beql r1,r1,0 <_start>
+ 154: 00 00 00 00 nop
+ 158: 04 21 ff a9 bgez r1,0 <_start>
+ 15c: 00 00 00 00 nop
+ 160: 04 35 ff a7 bgtzal r1,0 <_start>
+ 164: 00 00 00 00 nop
+ 168: 04 31 ff a5 bgezal r1,0 <_start>
+ 16c: 00 00 00 00 nop
+ 170: 04 37 ff a3 bgtzall r1,0 <_start>
+ 174: 00 00 00 00 nop
+ 178: 04 33 ff a1 bgezall r1,0 <_start>
+ 17c: 00 00 00 00 nop
+ 180: 04 23 ff 9f bgezl r1,0 <_start>
+ 184: 00 00 00 00 nop
+ 188: 04 27 ff 9d bgtzl r1,0 <_start>
+ 18c: 00 00 00 00 nop
+ 190: 04 25 ff 9b bgtz r1,0 <_start>
+ 194: 00 00 00 00 nop
+ 198: 04 24 ff 99 blez r1,0 <_start>
+ 19c: 00 00 00 00 nop
+ 1a0: 04 34 ff 97 blezal r1,0 <_start>
+ 1a4: 00 00 00 00 nop
+ 1a8: 04 20 ff 95 bltz r1,0 <_start>
+ 1ac: 00 00 00 00 nop
+ 1b0: 04 30 ff 93 bltzal r1,0 <_start>
+ 1b4: 00 00 00 00 nop
+ 1b8: 04 26 ff 91 blezl r1,0 <_start>
+ 1bc: 00 00 00 00 nop
+ 1c0: 04 22 ff 8f bltzl r1,0 <_start>
+ 1c4: 00 00 00 00 nop
+ 1c8: 04 36 ff 8d blezall r1,0 <_start>
+ 1cc: 00 00 00 00 nop
+ 1d0: 04 32 ff 8b bltzall r1,0 <_start>
+ 1d4: 00 00 00 00 nop
+ 1d8: 18 21 ff 89 bmb r1,r1,0 <_start>
+ 1dc: 00 00 00 00 nop
+ 1e0: 58 21 ff 87 bmbl r1,r1,0 <_start>
+ 1e4: 00 00 00 00 nop
+ 1e8: 60 21 ff 85 bmb0 r1,r1,0 <_start>
+ 1ec: 00 00 00 00 nop
+ 1f0: 64 21 ff 83 bmb1 r1,r1,0 <_start>
+ 1f4: 00 00 00 00 nop
+ 1f8: 68 21 ff 81 bmb2 r1,r1,0 <_start>
+ 1fc: 00 00 00 00 nop
+ 200: 6c 21 ff 7f bmb3 r1,r1,0 <_start>
+ 204: 00 00 00 00 nop
+ 208: 14 21 ff 7d bne r1,r1,0 <_start>
+ 20c: 00 00 00 00 nop
+ 210: 54 21 ff 7b bnel r1,r1,0 <_start>
+ 214: 00 00 00 00 nop
+ 218: 08 00 00 00 j 0 <_start>
+ 21c: 00 00 00 00 nop
+ 220: 0c 01 00 00 jal r1,0 <_start>
+ 224: 00 00 00 00 nop
+ 228: 00 20 08 09 jalr r1,r1
+ 22c: 00 00 00 00 nop
+ 230: 00 20 00 08 jr r1
+ 234: 00 00 00 00 nop
+ 238: 00 00 00 0d break
+ 23c: 00 00 00 00 nop
+ 240: 4c 21 00 02 ctc r1,r1
+ 244: 00 00 00 00 nop
+ 248: 4c 01 08 00 cfc r1,r1
+ 24c: 00 00 00 00 nop
+ 250: 8c 21 00 00 lw r1,0x0\(r1\)
+ 254: 00 00 00 00 nop
+ 258: 84 21 00 00 lh r1,0x0\(r1\)
+ 25c: 00 00 00 00 nop
+ 260: 80 21 00 00 lb r1,0x0\(r1\)
+ 264: 00 00 00 00 nop
+ 268: 94 21 00 00 lhu r1,0x0\(r1\)
+ 26c: 00 00 00 00 nop
+ 270: 90 21 00 00 lbu r1,0x0\(r1\)
+ 274: 00 00 00 00 nop
+ 278: a0 21 00 00 sb r1,0x0\(r1\)
+ 27c: 00 00 00 00 nop
+ 280: a4 21 00 00 sh r1,0x0\(r1\)
+ 284: 00 00 00 00 nop
+ 288: ac 21 00 00 sw r1,0x0\(r1\)
+ 28c: 00 00 00 00 nop
+ 290: 4c 21 08 08 rba r1,r1,r1
+ 294: 00 00 00 00 nop
+ 298: 4c 21 08 0a rbar r1,r1,r1
+ 29c: 00 00 00 00 nop
+ 2a0: 4c 21 08 09 rbal r1,r1,r1
+ 2a4: 00 00 00 00 nop
+ 2a8: 4c 21 08 10 wba r1,r1,r1
+ 2ac: 00 00 00 00 nop
+ 2b0: 4c 21 08 12 wbac r1,r1,r1
+ 2b4: 00 00 00 00 nop
+ 2b8: 4c 21 08 11 wbau r1,r1,r1
+ 2bc: 00 00 00 00 nop
+ 2c0: 4c 21 0a 08 rbi r1,r1,r1,0x8
+ 2c4: 00 00 00 00 nop
+ 2c8: 4c 21 09 08 rbir r1,r1,r1,0x8
+ 2cc: 00 00 00 00 nop
+ 2d0: 4c 21 0b 08 rbil r1,r1,r1,0x8
+ 2d4: 00 00 00 00 nop
+ 2d8: 4c 21 0e 08 wbi r1,r1,r1,0x8
+ 2dc: 00 00 00 00 nop
+ 2e0: 4c 21 0d 08 wbic r1,r1,r1,0x8
+ 2e4: 00 00 00 00 nop
+ 2e8: 4c 21 0f 08 wbiu r1,r1,r1,0x8
+ 2ec: 00 00 00 00 nop
+ 2f0: 4c 21 08 28 pkrla r1,r1,r1
+ 2f4: 00 00 00 00 nop
+ 2f8: 4c 21 08 2a pkrlah r1,r1,r1
+ 2fc: 00 00 00 00 nop
+ 300: 4c 21 08 29 pkrlau r1,r1,r1
+ 304: 00 00 00 00 nop
+ 308: 48 21 08 08 pkrli r1,r1,r1,0x8
+ 30c: 00 00 00 00 nop
+ 310: 48 21 0a 08 pkrlih r1,r1,r1,0x8
+ 314: 00 00 00 00 nop
+ 318: 48 21 09 08 pkrliu r1,r1,r1,0x8
+ 31c: 00 00 00 00 nop
+ 320: 4c 01 08 01 lock r1,r1
+ 324: 00 00 00 00 nop
+ 328: 4c 01 08 03 unlk r1,r1
+ 32c: 00 00 00 00 nop
+ 330: 4c 21 08 06 swwr r1,r1,r1
+ 334: 00 00 00 00 nop
+ 338: 4c 21 08 07 swwru r1,r1,r1
+ 33c: 00 00 00 00 nop
+ 340: 4c 01 08 04 swrd r1,r1
+ 344: 00 00 00 00 nop
+ 348: 4c 01 08 05 swrdl r1,r1
+ 34c: 00 00 00 00 nop
+ 350: 4c 02 10 0c dwrd r2,r2
+ 354: 00 00 00 00 nop
+ 358: 4c 02 10 0d dwrdl r2,r2
+ 35c: 00 00 00 00 nop
+ 360: 4c 21 08 ab cm32and r1,r1,r1
+ 364: 00 00 00 00 nop
+ 368: 4c 21 08 a3 cm32andn r1,r1,r1
+ 36c: 00 00 00 00 nop
+ 370: 4c 21 08 aa cm32or r1,r1,r1
+ 374: 00 00 00 00 nop
+ 378: 4c 21 08 b0 cm32ra r1,r1,r1
+ 37c: 00 00 00 00 nop
+ 380: 4c 01 08 a1 cm32rd r1,r1
+ 384: 00 00 00 00 nop
+ 388: 4c 01 08 a4 cm32ri r1,r1
+ 38c: 00 00 00 00 nop
+ 390: 4c 21 08 a0 cm32rs r1,r1,r1
+ 394: 00 00 00 00 nop
+ 398: 4c 21 08 b8 cm32sa r1,r1,r1
+ 39c: 00 00 00 00 nop
+ 3a0: 4c 01 08 a9 cm32sd r1,r1
+ 3a4: 00 00 00 00 nop
+ 3a8: 4c 01 08 ac cm32si r1,r1
+ 3ac: 00 00 00 00 nop
+ 3b0: 4c 21 08 a8 cm32ss r1,r1,r1
+ 3b4: 00 00 00 00 nop
+ 3b8: 4c 21 08 a2 cm32xor r1,r1,r1
+ 3bc: 00 00 00 00 nop
+ 3c0: 4c 02 10 85 cm64clr r2,r2
+ 3c4: 00 00 00 00 nop
+ 3c8: 4c 42 10 90 cm64ra r2,r2,r2
+ 3cc: 00 00 00 00 nop
+ 3d0: 4c 02 10 81 cm64rd r2,r2
+ 3d4: 00 00 00 00 nop
+ 3d8: 4c 02 10 84 cm64ri r2,r2
+ 3dc: 00 00 00 00 nop
+ 3e0: 4c 42 10 94 cm64ria2 r2,r2,r2
+ 3e4: 00 00 00 00 nop
+ 3e8: 4c 42 10 80 cm64rs r2,r2,r2
+ 3ec: 00 00 00 00 nop
+ 3f0: 4c 42 10 98 cm64sa r2,r2,r2
+ 3f4: 00 00 00 00 nop
+ 3f8: 4c 02 10 89 cm64sd r2,r2
+ 3fc: 00 00 00 00 nop
+ 400: 4c 02 10 8c cm64si r2,r2
+ 404: 00 00 00 00 nop
+ 408: 4c 42 10 9c cm64sia2 r2,r2,r2
+ 40c: 00 00 00 00 nop
+ 410: 4c 42 10 88 cm64ss r2,r2,r2
+ 414: 00 00 00 00 nop
+ 418: 4c 42 10 14 crc32 r2,r2,r2
+ 41c: 00 00 00 00 nop
+ 420: 4c 42 10 15 crc32b r2,r2,r2
+ 424: 00 00 00 00 nop
+ 428: 4c 40 10 26 chkhdr r2,r2
+ 42c: 00 00 00 00 nop
+ 430: 4c 00 08 24 avail r1
+ 434: 00 00 00 00 nop
+ 438: 4c 20 08 25 free r1,r1
+ 43c: 00 00 00 00 nop
+ 440: 4c 00 08 2c cmphdr r1
+ 444: 00 00 00 00 nop
+ 448: 4c 01 08 20 mcid r1,r1
+ 44c: 00 00 00 00 nop
+ 450: 4c 00 08 22 dba r1
+ 454: 00 00 00 00 nop
+ 458: 4c 01 08 21 dbd r1,r0,r1
+ 45c: 00 00 00 00 nop
+ 460: 4c 20 08 23 dpwt r1,r1
+ 464: 00 00 00 00 nop
diff --git a/gas/testsuite/gas/iq2000/q10test9.s b/gas/testsuite/gas/iq2000/q10test9.s
new file mode 100644
index 0000000000..0481743aa7
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10test9.s
@@ -0,0 +1,284 @@
+.global _start
+_start:
+ ADD %1,%1,%1
+ NOP
+ ADDI %1,%1,0
+ NOP
+ ADDIU %1,%1,0
+ NOP
+ ADDU %1,%1,%1
+ NOP
+ ADO16 %1,%1,%1
+ NOP
+ AND %1,%1,%1
+ NOP
+ ANDI %1,%1,0
+ NOP
+ ANDOI %1,%1,0
+ NOP
+ ANDOUI %1,%1,0
+ NOP
+ LUI %1,0
+ NOP
+ MRGB %1,%1,%1,1
+ NOP
+ NOR %1,%1,%1
+ NOP
+ OR %1,%1,%1
+ NOP
+ ORI %1,%1,0
+ NOP
+ ORUI %1,%1,0
+ NOP
+ SLL %1,%1,0
+ NOP
+ SLLV %1,%1,%1
+ NOP
+ SLT %1,%1,%1
+ NOP
+ SLTI %1,%1,0
+ NOP
+ SLTIU %1,%1,0
+ NOP
+ SLTU %1,%1,%1
+ NOP
+ SRA %1,%1,0
+ NOP
+ SRAV %1,%1,%1
+ NOP
+ SRL %1,%1,0
+ NOP
+ SRLV %1,%1,%1
+ NOP
+ SUB %1,%1,%1
+ NOP
+ SUBU %1,%1,%1
+ NOP
+ XOR %1,%1,%1
+ NOP
+ XORI %1,%1,0
+ NOP
+ NOP
+ NOP
+ SRMV %1,%1,%1,0
+ NOP
+ SLMV %1,%1,%1,0
+ NOP
+ RAM %1,%1,0,1,1
+ NOP
+ BBI %1(0),_start
+ NOP
+ BBIN %1(0),_start
+ NOP
+ BBV %1,%1,_start
+ NOP
+ BBVN %1,%1,_start
+ NOP
+ BBIL %1(0),_start
+ NOP
+ BBINL %1(0),_start
+ NOP
+ BBVL %1,%1,_start
+ NOP
+ BBVNL %1,%1,_start
+ NOP
+ BEQ %1,%1,_start
+ NOP
+ BEQL %1,%1,_start
+ NOP
+ BGEZ %1,_start
+ NOP
+ BGTZAL %1,_start
+ NOP
+ BGEZAL %1,_start
+ NOP
+ BGTZALL %1,_start
+ NOP
+ BGEZALL %1,_start
+ NOP
+ BGEZL %1,_start
+ NOP
+ BGTZL %1,_start
+ NOP
+ BGTZ %1,_start
+ NOP
+ BLEZ %1,_start
+ NOP
+ BLEZAL %1,_start
+ NOP
+ BLTZ %1,_start
+ NOP
+ BLTZAL %1,_start
+ NOP
+ BLEZL %1,_start
+ NOP
+ BLTZL %1,_start
+ NOP
+ BLEZALL %1,_start
+ NOP
+ BLTZALL %1,_start
+ NOP
+ BMB %1,%1,_start
+ NOP
+ BMBL %1,%1,_start
+ NOP
+ BMB0 %1,%1,_start
+ NOP
+ BMB1 %1,%1,_start
+ NOP
+ BMB2 %1,%1,_start
+ NOP
+ BMB3 %1,%1,_start
+ NOP
+ BNE %1,%1,_start
+ NOP
+ BNEL %1,%1,_start
+ NOP
+ J 0
+ NOP
+ JAL %1,0
+ NOP
+ JALR %1,%1
+ NOP
+ JR %1
+ NOP
+ BREAK
+ NOP
+ CTC %1,%1
+ NOP
+ CFC %1,%1
+ NOP
+ LW %1,0(%1)
+ NOP
+ LH %1,0(%1)
+ NOP
+ LB %1,0(%1)
+ NOP
+ LHU %1,0(%1)
+ NOP
+ LBU %1,0(%1)
+ NOP
+ SB %1,0(%1)
+ NOP
+ SH %1,0(%1)
+ NOP
+ SW %1,0(%1)
+ NOP
+ RBA %1,%1,%1
+ NOP
+ RBAR %1,%1,%1
+ NOP
+ RBAL %1,%1,%1
+ NOP
+ WBA %1,%1,%1
+ NOP
+ WBAC %1,%1,%1
+ NOP
+ WBAU %1,%1,%1
+ NOP
+ RBI %1,%1,%1,8
+ NOP
+ RBIR %1,%1,%1,8
+ NOP
+ RBIL %1,%1,%1,8
+ NOP
+ WBI %1,%1,%1,8
+ NOP
+ WBIC %1,%1,%1,8
+ NOP
+ WBIU %1,%1,%1,8
+ NOP
+ PKRLA %1,%1,%1
+ NOP
+ PKRLAH %1,%1,%1
+ NOP
+ PKRLAU %1,%1,%1
+ NOP
+ PKRLI %1,%1,%1,8
+ NOP
+ PKRLIH %1,%1,%1,8
+ NOP
+ PKRLIU %1,%1,%1,8
+ NOP
+ LOCK %1,%1
+ NOP
+ UNLK %1,%1
+ NOP
+ SWWR %1,%1,%1
+ NOP
+ SWWRU %1,%1,%1
+ NOP
+ SWRD %1,%1
+ NOP
+ SWRDL %1,%1
+ NOP
+ DWRD %2,%2
+ NOP
+ DWRDL %2,%2
+ NOP
+ CM32AND %1,%1,%1
+ NOP
+ CM32ANDN %1,%1,%1
+ NOP
+ CM32OR %1,%1,%1
+ NOP
+ CM32RA %1,%1,%1
+ NOP
+ CM32RD %1,%1
+ NOP
+ CM32RI %1,%1
+ NOP
+ CM32RS %1,%1,%1
+ NOP
+ CM32SA %1,%1,%1
+ NOP
+ CM32SD %1,%1
+ NOP
+ CM32SI %1,%1
+ NOP
+ CM32SS %1,%1,%1
+ NOP
+ CM32XOR %1,%1,%1
+ NOP
+ CM64CLR %2,%2
+ NOP
+ CM64RA %2,%2,%2
+ NOP
+ CM64RD %2,%2
+ NOP
+ CM64RI %2,%2
+ NOP
+ CM64RIA2 %2,%2,%2
+ NOP
+ CM64RS %2,%2,%2
+ NOP
+ CM64SA %2,%2,%2
+ NOP
+ CM64SD %2,%2
+ NOP
+ CM64SI %2,%2
+ NOP
+ CM64SIA2 %2,%2,%2
+ NOP
+ CM64SS %2,%2,%2
+ NOP
+ CRC32 %2,%2,%2
+ NOP
+ CRC32B %2,%2,%2
+ NOP
+ CHKHDR %2,%2
+ NOP
+ AVAIL %1
+ NOP
+ FREE %1,%1
+ NOP
+ CMPHDR %1
+ NOP
+ MCID %1,%1
+ NOP
+ DBA %1
+ NOP
+ DBD %1,%1
+ NOP
+ DPWT %1,%1
+ NOP
diff --git a/gas/testsuite/gas/iq2000/q10yield.exp b/gas/testsuite/gas/iq2000/q10yield.exp
new file mode 100644
index 0000000000..9e9d9dcf47
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/q10yield.exp
@@ -0,0 +1,39 @@
+# Test for warnings when placing yield instructions into IQ2000's
+# branch delay slot. Written by Ben Elliston (bje@redhat.com)
+
+# Run GAS and check that it emits the desired warning for the test case.
+# Arguments:
+# file -- name of the test case to assemble.
+# testname -- a string describing the test.
+# warnpattern -- a regular expression, suitable for use by the Tcl
+# regexp command, to decide if the warning string was emitted by
+# the assembler to stderr.
+
+proc iq2000_warning_test { file testname {warnpattern ""} } {
+ global comp_output
+
+ gas_run $file "-m10" ">/dev/null"
+ verbose "output was $comp_output" 2
+
+ if {$warnpattern == ""} {
+ if {$comp_output == ""} { pass $testname } else { fail $testname }
+ return
+ }
+
+ if {[regexp "Warning: $warnpattern" $comp_output]} {
+ pass $testname
+ } else {
+ fail $testname
+ }
+}
+
+if [istarget iq2000*-*-*] {
+ foreach file [glob -nocomplain -- $srcdir/$subdir/q10yield*.s] {
+ set file [file tail $file]
+ iq2000_warning_test $file \
+ "assembler emits yield instruction in delay slot warning for $file" \
+ "instruction \[a-zA-Z0-9\]+ may not follow a branch/jump"
+ }
+ set testname "assembler emits no warnings for non-yield instruction in delay slot"
+ iq2000_warning_test q10noyield.s $testname
+}
diff --git a/gas/testsuite/gas/iq2000/test.exp b/gas/testsuite/gas/iq2000/test.exp
new file mode 100644
index 0000000000..3f1553c4b2
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/test.exp
@@ -0,0 +1,17 @@
+# IQ2000 assembler testsuite.
+
+if [istarget iq2000*-*-*] {
+ run_dump_test "q10test0"
+ run_dump_test "q10test1"
+ run_dump_test "q10test2"
+ run_dump_test "q10test3"
+ run_dump_test "q10test4"
+ run_dump_test "q10test5"
+ run_dump_test "q10test6"
+ run_dump_test "q10test7"
+ run_dump_test "q10test8"
+ run_dump_test "q10test9"
+ run_dump_test "q10test10"
+ run_dump_test "q10test11"
+ run_dump_test "q10test12"
+}
diff --git a/gas/testsuite/gas/iq2000/yield.exp b/gas/testsuite/gas/iq2000/yield.exp
new file mode 100644
index 0000000000..c68095f391
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/yield.exp
@@ -0,0 +1,39 @@
+# Test for warnings when placing yield instructions into IQ2000's
+# branch delay slot. Written by Ben Elliston (bje@redhat.com)
+
+# Run GAS and check that it emits the desired error for the test case.
+# Arguments:
+# file -- name of the test case to assemble.
+# testname -- a string describing the test.
+# pattern -- a regular expression, suitable for use by the Tcl
+# regexp command, to decide if the error string was emitted by
+# the assembler to stderr.
+
+proc iq2000_error_test { file testname {pattern ""} } {
+ global comp_output
+
+ gas_run $file "" ">/dev/null"
+ verbose "output was $comp_output" 2
+
+ if {$pattern == ""} {
+ if {$comp_output == ""} { pass $testname } else { fail $testname }
+ return
+ }
+
+ if {[regexp "Error: $pattern" $comp_output]} {
+ pass $testname
+ } else {
+ fail $testname
+ }
+}
+
+if [istarget iq2000*-*-*] {
+ foreach file [glob -nocomplain -- $srcdir/$subdir/yield*.s] {
+ set file [file tail $file]
+ iq2000_error_test $file \
+ "assembler emits yield instruction in delay slot error for $file" \
+ "the yielding instruction \[a-zA-Z0-9\]+ may not be in a delay slot."
+ }
+ set testname "assembler emits no warnings for non-yield instruction in delay slot"
+ iq2000_error_test noyield.s $testname
+}
diff --git a/gas/testsuite/gas/iq2000/yield0.s b/gas/testsuite/gas/iq2000/yield0.s
new file mode 100644
index 0000000000..e317bb9eff
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/yield0.s
@@ -0,0 +1,140 @@
+# This test case includes a single case of a yield instruction
+# (e.g. SLEEP) appearing in the branch delay slot. We expect
+# the assembler to issue a warning about this!
+
+.text
+ # yield insn in the branch delay slot.
+ beq %0,%0,foo
+ cfc2 %1, %1
+
+ # likewise for the rest.
+ beq %0,%0,foo
+ cfc3 %1, %1
+
+ beq %0,%0,foo
+ chkhdr %1, %1
+
+ beq %0,%0,foo
+ luc32 %1, %1
+
+ beq %0,%0,foo
+ luc32l %1, %1
+
+ beq %0,%0,foo
+ luc64 %1, %1
+
+ beq %0,%0,foo
+ luc64l %1, %1
+
+ beq %0,%0,foo
+ lulck %1
+
+ beq %0,%0,foo
+ lum32 %1, %1
+
+ beq %0,%0,foo
+ lum32l %1, %1
+
+ beq %0,%0,foo
+ lum64 %1, %1
+
+ beq %0,%0,foo
+ lum64l %1, %1
+
+ beq %0,%0,foo
+ lur %1, %1
+
+ beq %0,%0,foo
+ lurl %1, %1
+
+ beq %0,%0,foo
+ luulck %1
+
+ beq %0,%0,foo
+ mfc2 %1, %1
+
+ beq %0,%0,foo
+ mfc3 %1, %1
+
+ beq %0,%0,foo
+ rb %1, %1
+
+ beq %0,%0,foo
+ rbr1 %1, 1, 1
+
+ beq %0,%0,foo
+ rbr30 %1, 1, 1
+
+ beq %0,%0,foo
+ rx %1, %1
+
+ beq %0,%0,foo
+ rxr1 %1, 1, 1
+
+ beq %0,%0,foo
+ rxr30 %1, 1, 1
+
+ beq %0,%0,foo
+ sleep
+
+ beq %0,%0,foo
+ srrd %1
+
+ beq %0,%0,foo
+ srrdl %1
+
+ beq %0,%0,foo
+ srulck %1
+
+ beq %0,%0,foo
+ srwr %1, %1
+
+ beq %0,%0,foo
+ srwru %1, %1
+
+ beq %0,%0,foo
+ syscall
+
+ beq %0,%0,foo
+ trapqfl
+
+ beq %0,%0,foo
+ trapqne
+
+ beq %0,%0,foo
+ wb %1, %1
+
+ beq %0,%0,foo
+ wbu %1, %1
+
+ beq %0,%0,foo
+ wbr1 %1, 1, 1
+
+ beq %0,%0,foo
+ wbr1u %1, 1, 1
+
+ beq %0,%0,foo
+ wbr30 %1, 1, 1
+
+ beq %0,%0,foo
+ wbr30u %1, 1, 1
+
+ beq %0,%0,foo
+ wx %1, %1
+
+ beq %0,%0,foo
+ wxu %1, %1
+
+ beq %0,%0,foo
+ wxr1 %1, 1, 1
+
+ beq %0,%0,foo
+ wxr1u %1, 1, 1
+
+ beq %0,%0,foo
+ wxr30 %1, 1, 1
+
+ beq %0,%0,foo
+ wxr30u %1, 1, 1
+
+foo: nop
diff --git a/gas/testsuite/gas/iq2000/yield1.s b/gas/testsuite/gas/iq2000/yield1.s
new file mode 100644
index 0000000000..aee670436e
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/yield1.s
@@ -0,0 +1,9 @@
+# This test case includes a single case of a yield instruction
+# (e.g. SLEEP) appearing in the branch delay slot. We expect
+# the assembler to issue a warning about this!
+
+.text
+ jalr %3, %4
+ # sleep insn in the branch delay slot.
+ sleep
+foo: nop \ No newline at end of file
diff --git a/gas/testsuite/gas/iq2000/yield2.s b/gas/testsuite/gas/iq2000/yield2.s
new file mode 100644
index 0000000000..b3bd2d9ac7
--- /dev/null
+++ b/gas/testsuite/gas/iq2000/yield2.s
@@ -0,0 +1,10 @@
+# This test case includes a single case of a yield instruction
+# (e.g. SLEEP) appearing in the branch delay slot. We expect
+# the assembler to issue a warning about this!
+
+.text
+ sleep
+ beq %0, %0, foo
+ # sleep insn in the branch delay slot.
+ sleep
+foo: nop
OpenPOWER on IntegriCloud