aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2000-07-21 00:48:55 +0000
committerHans-Peter Nilsson <hp@axis.com>2000-07-21 00:48:55 +0000
commita471a06b87fa570d9590c51d9eb3756703cd6612 (patch)
treea32485d5d92a7dbd6a85049260aeff1c804a0d8b
parente107c42f0797742d58a7d87c590b8b621b4f86fd (diff)
downloadgdb-a471a06b87fa570d9590c51d9eb3756703cd6612.zip
gdb-a471a06b87fa570d9590c51d9eb3756703cd6612.tar.gz
gdb-a471a06b87fa570d9590c51d9eb3756703cd6612.tar.bz2
* gas/cris/*: New tests for CRIS.
-rw-r--r--gas/testsuite/gas/cris/addi.d19
-rw-r--r--gas/testsuite/gas/cris/addi.s16
-rw-r--r--gas/testsuite/gas/cris/binop-cmpmove.d406
-rw-r--r--gas/testsuite/gas/cris/binop-cmpmovx.d233
-rw-r--r--gas/testsuite/gas/cris/binop-extx.d327
-rw-r--r--gas/testsuite/gas/cris/binop-segref.s95
-rw-r--r--gas/testsuite/gas/cris/binop.d571
-rw-r--r--gas/testsuite/gas/cris/binop.s914
-rw-r--r--gas/testsuite/gas/cris/bork.d10
-rw-r--r--gas/testsuite/gas/cris/bork.s6
-rw-r--r--gas/testsuite/gas/cris/branch-warn-1.s11
-rw-r--r--gas/testsuite/gas/cris/branch-warn-2.s13
-rw-r--r--gas/testsuite/gas/cris/branch-warn-3.s13
-rw-r--r--gas/testsuite/gas/cris/branch.d519
-rw-r--r--gas/testsuite/gas/cris/branch.s270
-rw-r--r--gas/testsuite/gas/cris/break.d27
-rw-r--r--gas/testsuite/gas/cris/break.s22
-rw-r--r--gas/testsuite/gas/cris/brokw-1.d20
-rw-r--r--gas/testsuite/gas/cris/brokw-1.s19
-rw-r--r--gas/testsuite/gas/cris/brokw-2.d26
-rw-r--r--gas/testsuite/gas/cris/brokw-2.s21
-rw-r--r--gas/testsuite/gas/cris/brokw-3.d228
-rw-r--r--gas/testsuite/gas/cris/brokw-3.s112
-rw-r--r--gas/testsuite/gas/cris/bwtest-err-1.s91
-rw-r--r--gas/testsuite/gas/cris/ccr.d71
-rw-r--r--gas/testsuite/gas/cris/ccr.s79
-rw-r--r--gas/testsuite/gas/cris/clear.d325
-rw-r--r--gas/testsuite/gas/cris/continue.d10
-rw-r--r--gas/testsuite/gas/cris/continue.s7
-rw-r--r--gas/testsuite/gas/cris/cris.exp550
-rw-r--r--gas/testsuite/gas/cris/diffexp-ovwr.d26
-rw-r--r--gas/testsuite/gas/cris/diffexp-ovwr.s21
-rw-r--r--gas/testsuite/gas/cris/fragtest.d64
-rw-r--r--gas/testsuite/gas/cris/fragtest.s70
-rw-r--r--gas/testsuite/gas/cris/jump-type.d220
-rw-r--r--gas/testsuite/gas/cris/labfloat.d12
-rw-r--r--gas/testsuite/gas/cris/labfloat.s8
-rw-r--r--gas/testsuite/gas/cris/macroat.d14
-rw-r--r--gas/testsuite/gas/cris/macroat.s12
-rw-r--r--gas/testsuite/gas/cris/movem-to-reg.d165
-rw-r--r--gas/testsuite/gas/cris/nosep.d10
-rw-r--r--gas/testsuite/gas/cris/nosep.s8
-rw-r--r--gas/testsuite/gas/cris/oneop-type.d15
-rw-r--r--gas/testsuite/gas/cris/operand-err-1.s45
-rw-r--r--gas/testsuite/gas/cris/prefix.d94
-rw-r--r--gas/testsuite/gas/cris/prefix.s247
-rw-r--r--gas/testsuite/gas/cris/pushpop-byte-sreg.d39
-rw-r--r--gas/testsuite/gas/cris/pushpop-dcr1-sreg.d15
-rw-r--r--gas/testsuite/gas/cris/pushpop-dword-sreg.d39
-rw-r--r--gas/testsuite/gas/cris/pushpop-word-sreg.d39
-rw-r--r--gas/testsuite/gas/cris/pushpop.d90
-rw-r--r--gas/testsuite/gas/cris/pushpop.s121
-rw-r--r--gas/testsuite/gas/cris/quick-s6.d24
-rw-r--r--gas/testsuite/gas/cris/quick-u5.d17
-rw-r--r--gas/testsuite/gas/cris/quick-u6.d26
-rw-r--r--gas/testsuite/gas/cris/quick.s51
-rw-r--r--gas/testsuite/gas/cris/range-err-1.s68
-rw-r--r--gas/testsuite/gas/cris/range-err-2.s10
-rw-r--r--gas/testsuite/gas/cris/reg-to-mem.d165
-rw-r--r--gas/testsuite/gas/cris/regreg.d15
-rw-r--r--gas/testsuite/gas/cris/regreg.s17
-rw-r--r--gas/testsuite/gas/cris/return.d13
-rw-r--r--gas/testsuite/gas/cris/return.s11
-rw-r--r--gas/testsuite/gas/cris/scc.d28
-rw-r--r--gas/testsuite/gas/cris/scc.s25
-rw-r--r--gas/testsuite/gas/cris/sep-err-1.s6
-rw-r--r--gas/testsuite/gas/cris/sep-err-2.s5
-rw-r--r--gas/testsuite/gas/cris/sep-err-3.s5
-rw-r--r--gas/testsuite/gas/cris/separator.d8
-rw-r--r--gas/testsuite/gas/cris/separator.s16
-rw-r--r--gas/testsuite/gas/cris/shexpr-1.d8
-rw-r--r--gas/testsuite/gas/cris/shexpr-1.s5
-rw-r--r--gas/testsuite/gas/cris/sreg-to-x.d216
-rw-r--r--gas/testsuite/gas/cris/string-1.d12
-rw-r--r--gas/testsuite/gas/cris/string-1.s8
-rw-r--r--gas/testsuite/gas/cris/string-2.d12
-rw-r--r--gas/testsuite/gas/cris/string-2.s7
-rw-r--r--gas/testsuite/gas/cris/test.d324
-rw-r--r--gas/testsuite/gas/cris/unimplemented.d31
-rw-r--r--gas/testsuite/gas/cris/unimplemented.s29
-rw-r--r--gas/testsuite/gas/cris/unop-mem.d218
-rw-r--r--gas/testsuite/gas/cris/unop.s668
-rw-r--r--gas/testsuite/gas/cris/x-to-byte-sreg.d94
-rw-r--r--gas/testsuite/gas/cris/x-to-dcr1-sreg.d58
-rw-r--r--gas/testsuite/gas/cris/x-to-dword-sreg.d182
-rw-r--r--gas/testsuite/gas/cris/x-to-word-sreg.d153
86 files changed, 8940 insertions, 0 deletions
diff --git a/gas/testsuite/gas/cris/addi.d b/gas/testsuite/gas/cris/addi.d
new file mode 100644
index 0000000..25caf03
--- /dev/null
+++ b/gas/testsuite/gas/cris/addi.d
@@ -0,0 +1,19 @@
+#objdump: -dr
+#name: addi
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+0105[ ]+addi[ ]+r0.b,r1
+[ ]+2:[ ]+1105[ ]+addi[ ]+r0.w,r1
+[ ]+4:[ ]+2105[ ]+addi[ ]+r0.d,r1
+[ ]+6:[ ]+0005[ ]+addi[ ]+r0.b,r0
+[ ]+8:[ ]+1005[ ]+addi[ ]+r0.w,r0
+[ ]+a:[ ]+2005[ ]+addi[ ]+r0.d,r0
+[ ]+c:[ ]+0755[ ]+addi[ ]+r5.b,r7
+[ ]+e:[ ]+1095[ ]+addi[ ]+r9.w,r0
+[ ]+10:[ ]+2db5[ ]+addi[ ]+r11.d,r13
+[ ]+12:[ ]+0445[ ]+addi[ ]+r4.b,r4
+[ ]+14:[ ]+1445[ ]+addi[ ]+r4.w,r4
+[ ]+16:[ ]+2445[ ]+addi[ ]+r4.d,r4
diff --git a/gas/testsuite/gas/cris/addi.s b/gas/testsuite/gas/cris/addi.s
new file mode 100644
index 0000000..8f5825b
--- /dev/null
+++ b/gas/testsuite/gas/cris/addi.s
@@ -0,0 +1,16 @@
+; Test the addi insn.
+ .text
+start:
+ addi r0.b,r1
+ addi r0.w,r1
+ addi r0.d,r1
+ addi r0.b,r0
+ addi r0.w,r0
+ addi r0.d,r0
+ addi r5.b,r7
+ addi r9.w,r0
+ addi r11.d,r13
+ addi r4.b,r4
+ addi r4.w,r4
+ addi r4.d,r4
+end:
diff --git a/gas/testsuite/gas/cris/binop-cmpmove.d b/gas/testsuite/gas/cris/binop-cmpmove.d
new file mode 100644
index 0000000..dec779c
--- /dev/null
+++ b/gas/testsuite/gas/cris/binop-cmpmove.d
@@ -0,0 +1,406 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+ 0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IR+4356@[ ]+@OC@\.b r3,r5
+[ ]+6:[ ]+@IR+55d6@[ ]+@OC@\.w r5,r13
+[ ]+8:[ ]+@IR+6a16@[ ]+@OC@\.d r10,r1
+[ ]+a:[ ]+@IM+405a@[ ]+@OC@\.b \[r0\],r5
+[ ]+c:[ ]+@IM+55da@[ ]+@OC@\.w \[r5\],r13
+[ ]+e:[ ]+@IM+6a1a@[ ]+@OC@\.d \[r10\],r1
+[ ]+10:[ ]+@IM+405e@[ ]+@OC@\.b \[r0\+\],r5
+[ ]+12:[ ]+@IM+55de@[ ]+@OC@\.w \[r5\+\],r13
+[ ]+14:[ ]+@IM+6a1e@[ ]+@OC@\.d \[r10\+\],r1
+[ ]+16:[ ]+@IM+4f5e@ 0000[ ]+@OC@\.b 0x0,r5
+[ ]+1a:[ ]+@IM+4f5e@ 0100[ ]+@OC@\.b 0x1,r5
+[ ]+1e:[ ]+@IM+4f5e@ 7f00[ ]+@OC@\.b 0x7f,r5
+[ ]+22:[ ]+@IM+4f5e@ 8000[ ]+@OC@\.b 0x80,r5
+[ ]+26:[ ]+@IM+4f5e@ ffff[ ]+@OC@\.b 0xffff,r5
+[ ]+2a:[ ]+@IM+4f5e@ 81ff[ ]+@OC@\.b 0xff81,r5
+[ ]+2e:[ ]+@IM+4f5e@ 80ff[ ]+@OC@\.b 0xff80,r5
+[ ]+32:[ ]+@IM+4f5e@ ff00[ ]+@OC@\.b 0xff,r5
+[ ]+36:[ ]+@IM+4f5e@ 2a00[ ]+@OC@\.b 0x2a,r5
+[ ]+3a:[ ]+@IM+4f5e@ d6ff[ ]+@OC@\.b 0xffd6,r5
+[ ]+3e:[ ]+@IM+4f5e@ 2a00[ ]+@OC@\.b 0x2a,r5
+[ ]+42:[ ]+@IM+4f5e@ d6ff[ ]+@OC@\.b 0xffd6,r5
+[ ]+46:[ ]+@IM+4f5e@ d6ff[ ]+@OC@\.b 0xffd6,r5
+[ ]+4a:[ ]+@IM+4f5e@ 2a00[ ]+@OC@\.b 0x2a,r5
+[ ]+4e:[ ]+@IM+4f5e@ 0000[ ]+@OC@\.b 0x0,r5
+[ ]+50:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+52:[ ]+@IM+5fde@ 0000[ ]+@OC@\.w 0x0,r13
+[ ]+56:[ ]+@IM+5fde@ 0100[ ]+@OC@\.w 0x1,r13
+[ ]+5a:[ ]+@IM+5fde@ 7f00[ ]+@OC@\.w 0x7f,r13
+[ ]+5e:[ ]+@IM+5fde@ 8000[ ]+@OC@\.w 0x80,r13
+[ ]+62:[ ]+@IM+5fde@ ffff[ ]+@OC@\.w 0xffff,r13
+[ ]+66:[ ]+@IM+5fde@ 81ff[ ]+@OC@\.w 0xff81,r13
+[ ]+6a:[ ]+@IM+5fde@ 80ff[ ]+@OC@\.w 0xff80,r13
+[ ]+6e:[ ]+@IM+5fde@ 7fff[ ]+@OC@\.w 0xff7f,r13
+[ ]+72:[ ]+@IM+5fde@ ff00[ ]+@OC@\.w 0xff,r13
+[ ]+76:[ ]+@IM+5fde@ 01ff[ ]+@OC@\.w 0xff01,r13
+[ ]+7a:[ ]+@IM+5fde@ 0001[ ]+@OC@\.w 0x[0]?100,r13
+[ ]+7e:[ ]+@IM+5fde@ 68dd[ ]+@OC@\.w 0xdd68,r13
+[ ]+82:[ ]+@IM+5fde@ 9822[ ]+@OC@\.w 0x2298,r13
+[ ]+86:[ ]+@IM+5fde@ 2a00[ ]+@OC@\.w 0x2a,r13
+[ ]+8a:[ ]+@IM+5fde@ d6ff[ ]+@OC@\.w 0xffd6,r13
+[ ]+8e:[ ]+@IM+5fde@ 2a00[ ]+@OC@\.w 0x2a,r13
+[ ]+92:[ ]+@IM+5fde@ d6ff[ ]+@OC@\.w 0xffd6,r13
+[ ]+96:[ ]+@IM+5f5e@ d6ff[ ]+@OC@\.w 0xffd6,r5
+[ ]+9a:[ ]+@IM+5f5e@ 2a00[ ]+@OC@\.w 0x2a,r5
+[ ]+9e:[ ]+@IM+5f5e@ ff7f[ ]+@OC@\.w 0x7fff,r5
+[ ]+a2:[ ]+@IM+5f5e@ 0080[ ]+@OC@\.w 0x8000,r5
+[ ]+a6:[ ]+@IM+5fde@ 0180[ ]+@OC@\.w 0x8001,r13
+[ ]+aa:[ ]+@IM+5fde@ 0180[ ]+@OC@\.w 0x8001,r13
+[ ]+ae:[ ]+@IM+5fde@ 0080[ ]+@OC@\.w 0x8000,r13
+[ ]+b2:[ ]+@IM+5f5e@ ffff[ ]+@OC@\.w 0xffff,r5
+[ ]+b6:[ ]+@IM+5f5e@ 0000[ ]+@OC@\.w 0x0,r5
+[ ]+b8:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+ba:[ ]+@IM+6f1e@ 0000 0000[ ]+@OC@\.d (0x0|0 <notstart>),r1
+[ ]+c0:[ ]+@IM+6f1e@ 0100 0000[ ]+@OC@\.d (0x1|1 <notstart\+0x1>),r1
+[ ]+c6:[ ]+@IM+6f1e@ 7f00 0000[ ]+@OC@\.d (0x7f|7f <start\+0x7b>),r1
+[ ]+cc:[ ]+@IM+6f1e@ 8000 0000[ ]+@OC@\.d (0x80|80 <start\+0x7c>),r1
+[ ]+d2:[ ]+@IM+6f1e@ ffff ffff[ ]+@OC@\.d 0xffffffff,r1
+[ ]+d8:[ ]+@IM+6f1e@ 81ff ffff[ ]+@OC@\.d 0xffffff81,r1
+[ ]+de:[ ]+@IM+6f1e@ 80ff ffff[ ]+@OC@\.d 0xffffff80,r1
+[ ]+e4:[ ]+@IM+6f1e@ ff00 0000[ ]+@OC@\.d (0xff|ff <start\+0xfb>),r1
+[ ]+ea:[ ]+@IM+6f1e@ 01ff ffff[ ]+@OC@\.d 0xffffff01,r1
+[ ]+f0:[ ]+@IM+6f1e@ 0001 0000[ ]+@OC@\.d (0x[0]?100|100 <start\+0xfc>),r1
+[ ]+f6:[ ]+@IM+6f1e@ 68dd ffff[ ]+@OC@\.d 0xffffdd68,r1
+[ ]+fc:[ ]+@IM+6f1e@ 9822 0000[ ]+@OC@\.d (0x2298|2298 <end\+0x1b20>),r1
+[ ]+102:[ ]+@IM+6f1e@ ac72 2a00[ ]+@OC@\.d (0x2a72ac|2a72ac <two701867\+0x13881>),r1
+[ ]+108:[ ]+@IM+6f1e@ d5c5 d6ff[ ]+@OC@\.d 0xffd6c5d5,r1
+[ ]+10e:[ ]+@IM+6f1e@ acce c09e[ ]+@OC@\.d (0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>),r1
+[ ]+114:[ ]+@IM+6f1e@ 5331 3f81[ ]+@OC@\.d (0x813f3153|813f3153 <const_int_m32\+0x52a6819e>),r1
+[ ]+11a:[ ]+@IM+6f1e@ b5af 982e[ ]+@OC@\.d (0x2e98afb5|2e98afb5 <const_int_m32>),r1
+[ ]+120:[ ]+@IM+6f1e@ 2b45 941b[ ]+@OC@\.d (0x1b94452b|1b94452b <const_int_32>),r1
+[ ]+126:[ ]+@IM+6fde@ 2a00 0000[ ]+@OC@\.d (0x2a|2a <start\+0x26>),r13
+[ ]+12c:[ ]+@IM+6f5e@ d6ff ffff[ ]+@OC@\.d 0xffffffd6,r5
+[ ]+132:[ ]+@IM+6f5e@ 2a00 0000[ ]+@OC@\.d (0x2a|2a <start\+0x26>),r5
+[ ]+138:[ ]+@IM+6f5e@ d6ff ffff[ ]+@OC@\.d 0xffffffd6,r5
+[ ]+13e:[ ]+@IM+6f5e@ d6ff ffff[ ]+@OC@\.d 0xffffffd6,r5
+[ ]+144:[ ]+@IM+6f5e@ 2a00 0000[ ]+@OC@\.d (0x2a|2a <start\+0x26>),r5
+[ ]+14a:[ ]+@IM+6f5e@ ff7f 0000[ ]+@OC@\.d (0x7fff|7fff <three2767>),r5
+[ ]+150:[ ]+@IM+6f5e@ 0080 0000[ ]+@OC@\.d (0x8000|8000 <three2767\+0x1>),r5
+[ ]+156:[ ]+@IM+6f5e@ 0180 0000[ ]+@OC@\.d (0x8001|8001 <three2767\+0x2>),r5
+[ ]+15c:[ ]+@IM+6f5e@ 0180 ffff[ ]+@OC@\.d 0xffff8001,r5
+[ ]+162:[ ]+@IM+6fde@ 0080 ffff[ ]+@OC@\.d 0xffff8000,r13
+[ ]+168:[ ]+@IM+6fde@ ff7f ffff[ ]+@OC@\.d 0xffff7fff,r13
+[ ]+16e:[ ]+@IM+6f5e@ ffff 0000[ ]+@OC@\.d (0xffff|ffff <six5535>),r5
+[ ]+174:[ ]+@IM+6fde@ 0000 0100[ ]+@OC@\.d (0x[0]?10000|10000 <six5535\+0x1>),r13
+[ ]+17a:[ ]+@IM+6f5e@ 2b3a 2900[ ]+@OC@\.d (0x293a2b|293a2b <two701867>),r5
+[ ]+180:[ ]+@IM+6f5e@ d5c5 d6ff[ ]+@OC@\.d 0xffd6c5d5,r5
+[ ]+186:[ ]+@IM+6f5e@ 0000 0000[ ]+@OC@\.d (0x0|0 <notstart>),r5
+[ ]+188:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+18c:[ ]+4205 @IM+455a@[ ]+@OC@\.b \[r2\+r0\.b\],r5
+[ ]+190:[ ]+4255 @IM+5dda@[ ]+@OC@\.w \[r2\+r5\.b\],r13
+[ ]+194:[ ]+42a5 @IM+611a@[ ]+@OC@\.d \[r2\+r10\.b\],r1
+[ ]+198:[ ]+4029 @IM+455a@[ ]+@OC@\.b \[r2\+\[r0\]\.b\],r5
+[ ]+19c:[ ]+4529 @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\]\.b\],r13
+[ ]+1a0:[ ]+4a29 @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\]\.b\],r1
+[ ]+1a4:[ ]+402d @IM+455a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.b\],r5
+[ ]+1a8:[ ]+452d @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+1ac:[ ]+4a2d @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.b\],r1
+[ ]+1b0:[ ]+452d @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+1b4:[ ]+4a2d @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.b\],r1
+[ ]+1b8:[ ]+5205 @IM+455a@[ ]+@OC@\.b \[r2\+r0\.w\],r5
+[ ]+1bc:[ ]+5255 @IM+5dda@[ ]+@OC@\.w \[r2\+r5\.w\],r13
+[ ]+1c0:[ ]+52a5 @IM+611a@[ ]+@OC@\.d \[r2\+r10\.w\],r1
+[ ]+1c4:[ ]+5029 @IM+455a@[ ]+@OC@\.b \[r2\+\[r0\]\.w\],r5
+[ ]+1c8:[ ]+5529 @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\]\.w\],r13
+[ ]+1cc:[ ]+5a29 @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\]\.w\],r1
+[ ]+1d0:[ ]+502d @IM+455a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.w\],r5
+[ ]+1d4:[ ]+552d @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+1d8:[ ]+5a2d @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.w\],r1
+[ ]+1dc:[ ]+552d @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+1e0:[ ]+5a2d @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.w\],r1
+[ ]+1e4:[ ]+6205 @IM+455a@[ ]+@OC@\.b \[r2\+r0\.d\],r5
+[ ]+1e8:[ ]+6255 @IM+5dda@[ ]+@OC@\.w \[r2\+r5\.d\],r13
+[ ]+1ec:[ ]+62a5 @IM+611a@[ ]+@OC@\.d \[r2\+r10\.d\],r1
+[ ]+1f0:[ ]+6029 @IM+455a@[ ]+@OC@\.b \[r2\+\[r0\]\.d\],r5
+[ ]+1f4:[ ]+6529 @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\]\.d\],r13
+[ ]+1f8:[ ]+6a29 @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\]\.d\],r1
+[ ]+1fc:[ ]+602d @IM+455a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.d\],r5
+[ ]+200:[ ]+652d @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+204:[ ]+6a2d @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.d\],r1
+[ ]+208:[ ]+652d @IM+5dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+20c:[ ]+6a2d @IM+611a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.d\],r1
+[ ]+210:[ ]+0021 @IM+455a@[ ]+@OC@\.b \[r2\+0\],r5
+[ ]+214:[ ]+0121 @IM+455a@[ ]+@OC@\.b \[r2\+1\],r5
+[ ]+218:[ ]+7f21 @IM+455a@[ ]+@OC@\.b \[r2\+127\],r5
+[ ]+21c:[ ]+5f2d 8000 @IM+455a@[ ]+@OC@\.b \[r2\+128\],r5
+[ ]+222:[ ]+ff21 @IM+455a@[ ]+@OC@\.b \[r2-1\],r5
+[ ]+226:[ ]+8121 @IM+455a@[ ]+@OC@\.b \[r2-127\],r5
+[ ]+22a:[ ]+8021 @IM+455a@[ ]+@OC@\.b \[r2-128\],r5
+[ ]+22e:[ ]+5f2d ff00 @IM+455a@[ ]+@OC@\.b \[r2\+255\],r5
+[ ]+234:[ ]+2a21 @IM+455a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+238:[ ]+d621 @IM+455a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+23c:[ ]+d621 @IM+455a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+240:[ ]+2a21 @IM+455a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+244:[ ]+d621 @IM+455a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+248:[ ]+d621 @IM+455a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+24c:[ ]+2a21 @IM+455a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+250:[ ]+d621 @IM+455a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+254:[ ]+2a21 @IM+455a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+258:[ ]+6f2d 0000 0000 @IM+455a@[ ]+@OC@\.b \[r2\+0( <notstart>)?\],r5
+[ ]+25a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+260:[ ]+0021 @IM+5dda@[ ]+@OC@\.w \[r2\+0\],r13
+[ ]+264:[ ]+0121 @IM+5dda@[ ]+@OC@\.w \[r2\+1\],r13
+[ ]+268:[ ]+7f21 @IM+5dda@[ ]+@OC@\.w \[r2\+127\],r13
+[ ]+26c:[ ]+5f2d 8000 @IM+5dda@[ ]+@OC@\.w \[r2\+128\],r13
+[ ]+272:[ ]+ff21 @IM+5dda@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+276:[ ]+ff21 @IM+5dda@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+27a:[ ]+8121 @IM+5dda@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+27e:[ ]+8021 @IM+5dda@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+282:[ ]+5f2d 7fff @IM+5dda@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+288:[ ]+8121 @IM+5dda@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+28c:[ ]+8021 @IM+5dda@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+290:[ ]+5f2d 7fff @IM+5dda@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+296:[ ]+5f2d ff00 @IM+5dda@[ ]+@OC@\.w \[r2\+255\],r13
+[ ]+29c:[ ]+5f2d 01ff @IM+5dda@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+2a2:[ ]+5f2d 01ff @IM+5dda@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+2a8:[ ]+5f2d 0001 @IM+5dda@[ ]+@OC@\.w \[r2\+256\],r13
+[ ]+2ae:[ ]+5f2d 00ff @IM+5dda@[ ]+@OC@\.w \[r2-256\],r13
+[ ]+2b4:[ ]+5f2d 68dd @IM+5dda@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+2ba:[ ]+5f2d 68dd @IM+5dda@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+2c0:[ ]+5f2d 9822 @IM+5dda@[ ]+@OC@\.w \[r2\+8856\],r13
+[ ]+2c6:[ ]+2a21 @IM+5dda@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+2ca:[ ]+d621 @IM+5dda@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+2ce:[ ]+d621 @IM+5dda@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+2d2:[ ]+2a21 @IM+5dda@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+2d6:[ ]+d621 @IM+5dda@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+2da:[ ]+d621 @IM+555a@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+2de:[ ]+d621 @IM+555a@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+2e2:[ ]+2a21 @IM+555a@[ ]+@OC@\.w \[r2\+42\],r5
+[ ]+2e6:[ ]+5f2d ff7f @IM+555a@[ ]+@OC@\.w \[r2\+32767\],r5
+[ ]+2ec:[ ]+6f2d 0080 0000 @IM+555a@[ ]+@OC@\.w \[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+2f4:[ ]+6f2d 0180 0000 @IM+5dda@[ ]+@OC@\.w \[r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+2fc:[ ]+5f2d 0180 @IM+5dda@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+302:[ ]+5f2d 0080 @IM+5dda@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+308:[ ]+6f2d ff7f ffff @IM+555a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+310:[ ]+5f2d 0180 @IM+5dda@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+316:[ ]+5f2d 0080 @IM+5dda@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+31c:[ ]+6f2d ff7f ffff @IM+555a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+324:[ ]+6f2d ffff 0000 @IM+555a@[ ]+@OC@\.w \[r2\+(65535|ffff <six5535>)\],r5
+[ ]+32c:[ ]+6f2d 0000 0000 @IM+555a@[ ]+@OC@\.w \[r2\+0( <notstart>)?\],r5
+[ ]+32e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+334:[ ]+0021 @IM+611a@[ ]+@OC@\.d \[r2\+0\],r1
+[ ]+338:[ ]+0121 @IM+611a@[ ]+@OC@\.d \[r2\+1\],r1
+[ ]+33c:[ ]+7f21 @IM+611a@[ ]+@OC@\.d \[r2\+127\],r1
+[ ]+340:[ ]+5f2d 8000 @IM+611a@[ ]+@OC@\.d \[r2\+128\],r1
+[ ]+346:[ ]+ff21 @IM+611a@[ ]+@OC@\.d \[r2-1\],r1
+[ ]+34a:[ ]+ff21 @IM+611a@[ ]+@OC@\.d \[r2-1\],r1
+[ ]+34e:[ ]+8121 @IM+611a@[ ]+@OC@\.d \[r2-127\],r1
+[ ]+352:[ ]+8021 @IM+611a@[ ]+@OC@\.d \[r2-128\],r1
+[ ]+356:[ ]+8121 @IM+611a@[ ]+@OC@\.d \[r2-127\],r1
+[ ]+35a:[ ]+8021 @IM+611a@[ ]+@OC@\.d \[r2-128\],r1
+[ ]+35e:[ ]+5f2d ff00 @IM+611a@[ ]+@OC@\.d \[r2\+255\],r1
+[ ]+364:[ ]+5f2d 01ff @IM+611a@[ ]+@OC@\.d \[r2-255\],r1
+[ ]+36a:[ ]+5f2d 01ff @IM+611a@[ ]+@OC@\.d \[r2-255\],r1
+[ ]+370:[ ]+5f2d 0001 @IM+611a@[ ]+@OC@\.d \[r2\+256\],r1
+[ ]+376:[ ]+5f2d 00ff @IM+611a@[ ]+@OC@\.d \[r2-256\],r1
+[ ]+37c:[ ]+5f2d 68dd @IM+611a@[ ]+@OC@\.d \[r2-8856\],r1
+[ ]+382:[ ]+5f2d 00ff @IM+611a@[ ]+@OC@\.d \[r2-256\],r1
+[ ]+388:[ ]+5f2d 68dd @IM+611a@[ ]+@OC@\.d \[r2-8856\],r1
+[ ]+38e:[ ]+5f2d 9822 @IM+611a@[ ]+@OC@\.d \[r2\+8856\],r1
+[ ]+394:[ ]+6f2d ac72 2a00 @IM+611a@[ ]+@OC@\.d \[r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1
+[ ]+39c:[ ]+6f2d d5c5 d6ff @IM+611a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1
+[ ]+3a4:[ ]+6f2d acce c09e @IM+611a@[ ]+@OC@\.d \[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1
+[ ]+3ac:[ ]+6f2d 5331 3f81 @IM+611a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+3b4:[ ]+6f2d 5331 3f81 @IM+611a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+3bc:[ ]+6f2d b5af 982e @IM+611a@[ ]+@OC@\.d \[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1
+[ ]+3c4:[ ]+6f2d 2b45 941b @IM+611a@[ ]+@OC@\.d \[r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1
+[ ]+3cc:[ ]+2a21 @IM+6dda@[ ]+@OC@\.d \[r2\+42\],r13
+[ ]+3d0:[ ]+d621 @IM+655a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3d4:[ ]+d621 @IM+655a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3d8:[ ]+2a21 @IM+655a@[ ]+@OC@\.d \[r2\+42\],r5
+[ ]+3dc:[ ]+d621 @IM+655a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3e0:[ ]+d621 @IM+655a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3e4:[ ]+2a21 @IM+655a@[ ]+@OC@\.d \[r2\+42\],r5
+[ ]+3e8:[ ]+d621 @IM+655a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3ec:[ ]+2a21 @IM+655a@[ ]+@OC@\.d \[r2\+42\],r5
+[ ]+3f0:[ ]+5f2d ff7f @IM+655a@[ ]+@OC@\.d \[r2\+32767\],r5
+[ ]+3f6:[ ]+6f2d 0080 0000 @IM+655a@[ ]+@OC@\.d \[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+3fe:[ ]+6f2d 0180 0000 @IM+655a@[ ]+@OC@\.d \[r2\+(32769|8001 <three2767\+0x2>)\],r5
+[ ]+406:[ ]+5f2d 0180 @IM+655a@[ ]+@OC@\.d \[r2-32767\],r5
+[ ]+40c:[ ]+5f2d 0080 @IM+6dda@[ ]+@OC@\.d \[r2-32768\],r13
+[ ]+412:[ ]+6f2d ff7f ffff @IM+6dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+41a:[ ]+5f2d 0180 @IM+655a@[ ]+@OC@\.d \[r2-32767\],r5
+[ ]+420:[ ]+5f2d 0080 @IM+6dda@[ ]+@OC@\.d \[r2-32768\],r13
+[ ]+426:[ ]+6f2d ff7f ffff @IM+6dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+42e:[ ]+6f2d ffff 0000 @IM+655a@[ ]+@OC@\.d \[r2\+(65535|ffff <six5535>)\],r5
+[ ]+436:[ ]+6f2d 0000 0100 @IM+6dda@[ ]+@OC@\.d \[r2\+(65536|10000 <six5535\+0x1>)\],r13
+[ ]+43e:[ ]+6f2d 2b3a 2900 @IM+655a@[ ]+@OC@\.d \[r2\+(2701867|293a2b <two701867>)\],r5
+[ ]+446:[ ]+6f2d d5c5 d6ff @IM+655a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+44e:[ ]+6f2d d5c5 d6ff @IM+655a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+456:[ ]+6f2d 0000 0000 @IM+655a@[ ]+@OC@\.d \[r2\+0( <notstart>)?\],r5
+[ ]+458:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+45e:[ ]+4205 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+r0.b\],r5
+[ ]+462:[ ]+4255 @IM+5cde@[ ]+@OC@.w \[r12=r2\+r5.b\],r13
+[ ]+466:[ ]+42a5 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+r10.b\],r1
+[ ]+46a:[ ]+4029 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+\[r0\].b\],r5
+[ ]+46e:[ ]+4529 @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\].b\],r13
+[ ]+472:[ ]+4a29 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\].b\],r1
+[ ]+476:[ ]+402d @IM+4c5e@[ ]+@OC@.b \[r12=r2\+\[r0\+\].b\],r5
+[ ]+47a:[ ]+452d @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\+\].b\],r13
+[ ]+47e:[ ]+4a2d @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\+\].b\],r1
+[ ]+482:[ ]+452d @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\+\].b\],r13
+[ ]+486:[ ]+4a2d @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\+\].b\],r1
+[ ]+48a:[ ]+5205 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+r0.w\],r5
+[ ]+48e:[ ]+5255 @IM+5cde@[ ]+@OC@.w \[r12=r2\+r5.w\],r13
+[ ]+492:[ ]+52a5 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+r10.w\],r1
+[ ]+496:[ ]+5029 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+\[r0\].w\],r5
+[ ]+49a:[ ]+5529 @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\].w\],r13
+[ ]+49e:[ ]+5a29 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\].w\],r1
+[ ]+4a2:[ ]+502d @IM+4c5e@[ ]+@OC@.b \[r12=r2\+\[r0\+\].w\],r5
+[ ]+4a6:[ ]+552d @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\+\].w\],r13
+[ ]+4aa:[ ]+5a2d @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\+\].w\],r1
+[ ]+4ae:[ ]+552d @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\+\].w\],r13
+[ ]+4b2:[ ]+5a2d @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\+\].w\],r1
+[ ]+4b6:[ ]+6205 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+r0.d\],r5
+[ ]+4ba:[ ]+6255 @IM+5cde@[ ]+@OC@.w \[r12=r2\+r5.d\],r13
+[ ]+4be:[ ]+62a5 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+r10.d\],r1
+[ ]+4c2:[ ]+6029 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+\[r0\].d\],r5
+[ ]+4c6:[ ]+6529 @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\].d\],r13
+[ ]+4ca:[ ]+6a29 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\].d\],r1
+[ ]+4ce:[ ]+602d @IM+4c5e@[ ]+@OC@.b \[r12=r2\+\[r0\+\].d\],r5
+[ ]+4d2:[ ]+652d @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\+\].d\],r13
+[ ]+4d6:[ ]+6a2d @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\+\].d\],r1
+[ ]+4da:[ ]+652d @IM+5cde@[ ]+@OC@.w \[r12=r2\+\[r5\+\].d\],r13
+[ ]+4de:[ ]+6a2d @IM+6c1e@[ ]+@OC@.d \[r12=r2\+\[r10\+\].d\],r1
+[ ]+4e2:[ ]+0021 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+0\],r5
+[ ]+4e6:[ ]+0121 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+1\],r5
+[ ]+4ea:[ ]+7f21 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+127\],r5
+[ ]+4ee:[ ]+5f2d 8000 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+128\],r5
+[ ]+4f4:[ ]+ff21 @IM+4c5e@[ ]+@OC@.b \[r12=r2-1\],r5
+[ ]+4f8:[ ]+8121 @IM+4c5e@[ ]+@OC@.b \[r12=r2-127\],r5
+[ ]+4fc:[ ]+8021 @IM+4c5e@[ ]+@OC@.b \[r12=r2-128\],r5
+[ ]+500:[ ]+5f2d ff00 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+255\],r5
+[ ]+506:[ ]+2a21 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+42\],r5
+[ ]+50a:[ ]+d621 @IM+4c5e@[ ]+@OC@.b \[r12=r2-42\],r5
+[ ]+50e:[ ]+d621 @IM+4c5e@[ ]+@OC@.b \[r12=r2-42\],r5
+[ ]+512:[ ]+2a21 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+42\],r5
+[ ]+516:[ ]+d621 @IM+4c5e@[ ]+@OC@.b \[r12=r2-42\],r5
+[ ]+51a:[ ]+d621 @IM+4c5e@[ ]+@OC@.b \[r12=r2-42\],r5
+[ ]+51e:[ ]+2a21 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+42\],r5
+[ ]+522:[ ]+d621 @IM+4c5e@[ ]+@OC@.b \[r12=r2-42\],r5
+[ ]+526:[ ]+2a21 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+42\],r5
+[ ]+52a:[ ]+6f2d 0000 0000 @IM+4c5e@[ ]+@OC@.b \[r12=r2\+0( <notstart>)?\],r5
+[ ]+52c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+532:[ ]+0021 @IM+5cde@[ ]+@OC@.w \[r12=r2\+0\],r13
+[ ]+536:[ ]+0121 @IM+5cde@[ ]+@OC@.w \[r12=r2\+1\],r13
+[ ]+53a:[ ]+7f21 @IM+5cde@[ ]+@OC@.w \[r12=r2\+127\],r13
+[ ]+53e:[ ]+5f2d 8000 @IM+5cde@[ ]+@OC@.w \[r12=r2\+128\],r13
+[ ]+544:[ ]+ff21 @IM+5cde@[ ]+@OC@.w \[r12=r2-1\],r13
+[ ]+548:[ ]+ff21 @IM+5cde@[ ]+@OC@.w \[r12=r2-1\],r13
+[ ]+54c:[ ]+8121 @IM+5cde@[ ]+@OC@.w \[r12=r2-127\],r13
+[ ]+550:[ ]+8021 @IM+5cde@[ ]+@OC@.w \[r12=r2-128\],r13
+[ ]+554:[ ]+5f2d 7fff @IM+5cde@[ ]+@OC@.w \[r12=r2-129\],r13
+[ ]+55a:[ ]+8121 @IM+5cde@[ ]+@OC@.w \[r12=r2-127\],r13
+[ ]+55e:[ ]+8021 @IM+5cde@[ ]+@OC@.w \[r12=r2-128\],r13
+[ ]+562:[ ]+5f2d 7fff @IM+5cde@[ ]+@OC@.w \[r12=r2-129\],r13
+[ ]+568:[ ]+5f2d ff00 @IM+5cde@[ ]+@OC@.w \[r12=r2\+255\],r13
+[ ]+56e:[ ]+5f2d 01ff @IM+5cde@[ ]+@OC@.w \[r12=r2-255\],r13
+[ ]+574:[ ]+5f2d 01ff @IM+5cde@[ ]+@OC@.w \[r12=r2-255\],r13
+[ ]+57a:[ ]+5f2d 0001 @IM+5cde@[ ]+@OC@.w \[r12=r2\+256\],r13
+[ ]+580:[ ]+5f2d 00ff @IM+5cde@[ ]+@OC@.w \[r12=r2-256\],r13
+[ ]+586:[ ]+5f2d 68dd @IM+5cde@[ ]+@OC@.w \[r12=r2-8856\],r13
+[ ]+58c:[ ]+5f2d 68dd @IM+5cde@[ ]+@OC@.w \[r12=r2-8856\],r13
+[ ]+592:[ ]+5f2d 9822 @IM+5cde@[ ]+@OC@.w \[r12=r2\+8856\],r13
+[ ]+598:[ ]+2a21 @IM+5cde@[ ]+@OC@.w \[r12=r2\+42\],r13
+[ ]+59c:[ ]+d621 @IM+5cde@[ ]+@OC@.w \[r12=r2-42\],r13
+[ ]+5a0:[ ]+d621 @IM+5cde@[ ]+@OC@.w \[r12=r2-42\],r13
+[ ]+5a4:[ ]+2a21 @IM+5cde@[ ]+@OC@.w \[r12=r2\+42\],r13
+[ ]+5a8:[ ]+d621 @IM+5cde@[ ]+@OC@.w \[r12=r2-42\],r13
+[ ]+5ac:[ ]+d621 @IM+5c5e@[ ]+@OC@.w \[r12=r2-42\],r5
+[ ]+5b0:[ ]+d621 @IM+5c5e@[ ]+@OC@.w \[r12=r2-42\],r5
+[ ]+5b4:[ ]+2a21 @IM+5c5e@[ ]+@OC@.w \[r12=r2\+42\],r5
+[ ]+5b8:[ ]+5f2d ff7f @IM+5c5e@[ ]+@OC@.w \[r12=r2\+32767\],r5
+[ ]+5be:[ ]+6f2d 0080 0000 @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+5c6:[ ]+6f2d 0180 0000 @IM+5cde@[ ]+@OC@.w \[r12=r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+5ce:[ ]+5f2d 0180 @IM+5cde@[ ]+@OC@.w \[r12=r2-32767\],r13
+[ ]+5d4:[ ]+5f2d 0080 @IM+5cde@[ ]+@OC@.w \[r12=r2-32768\],r13
+[ ]+5da:[ ]+6f2d ff7f ffff @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+5e2:[ ]+5f2d 0180 @IM+5cde@[ ]+@OC@.w \[r12=r2-32767\],r13
+[ ]+5e8:[ ]+5f2d 0080 @IM+5cde@[ ]+@OC@.w \[r12=r2-32768\],r13
+[ ]+5ee:[ ]+6f2d ff7f ffff @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+5f6:[ ]+6f2d ffff 0000 @IM+5c5e@[ ]+@OC@.w \[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+5fe:[ ]+6f2d 0000 0000 @IM+5c5e@[ ]+@OC@.w \[r12=r2\+0( <notstart>)?\],r5
+[ ]+600:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+606:[ ]+0021 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+0\],r1
+[ ]+60a:[ ]+0121 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+1\],r1
+[ ]+60e:[ ]+7f21 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+127\],r1
+[ ]+612:[ ]+5f2d 8000 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+128\],r1
+[ ]+618:[ ]+ff21 @IM+6c1e@[ ]+@OC@.d \[r12=r2-1\],r1
+[ ]+61c:[ ]+ff21 @IM+6c1e@[ ]+@OC@.d \[r12=r2-1\],r1
+[ ]+620:[ ]+8121 @IM+6c1e@[ ]+@OC@.d \[r12=r2-127\],r1
+[ ]+624:[ ]+8021 @IM+6c1e@[ ]+@OC@.d \[r12=r2-128\],r1
+[ ]+628:[ ]+8121 @IM+6c1e@[ ]+@OC@.d \[r12=r2-127\],r1
+[ ]+62c:[ ]+8021 @IM+6c1e@[ ]+@OC@.d \[r12=r2-128\],r1
+[ ]+630:[ ]+5f2d ff00 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+255\],r1
+[ ]+636:[ ]+5f2d 01ff @IM+6c1e@[ ]+@OC@.d \[r12=r2-255\],r1
+[ ]+63c:[ ]+5f2d 01ff @IM+6c1e@[ ]+@OC@.d \[r12=r2-255\],r1
+[ ]+642:[ ]+5f2d 0001 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+256\],r1
+[ ]+648:[ ]+5f2d 00ff @IM+6c1e@[ ]+@OC@.d \[r12=r2-256\],r1
+[ ]+64e:[ ]+5f2d 68dd @IM+6c1e@[ ]+@OC@.d \[r12=r2-8856\],r1
+[ ]+654:[ ]+5f2d 00ff @IM+6c1e@[ ]+@OC@.d \[r12=r2-256\],r1
+[ ]+65a:[ ]+5f2d 68dd @IM+6c1e@[ ]+@OC@.d \[r12=r2-8856\],r1
+[ ]+660:[ ]+5f2d 9822 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+8856\],r1
+[ ]+666:[ ]+6f2d ac72 2a00 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1
+[ ]+66e:[ ]+6f2d d5c5 d6ff @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1
+[ ]+676:[ ]+6f2d acce c09e @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1
+[ ]+67e:[ ]+6f2d 5331 3f81 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+686:[ ]+6f2d 5331 3f81 @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+68e:[ ]+6f2d b5af 982e @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1
+[ ]+696:[ ]+6f2d 2b45 941b @IM+6c1e@[ ]+@OC@.d \[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1
+[ ]+69e:[ ]+2a21 @IM+6cde@[ ]+@OC@.d \[r12=r2\+42\],r13
+[ ]+6a2:[ ]+d621 @IM+6c5e@[ ]+@OC@.d \[r12=r2-42\],r5
+[ ]+6a6:[ ]+d621 @IM+6c5e@[ ]+@OC@.d \[r12=r2-42\],r5
+[ ]+6aa:[ ]+2a21 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+42\],r5
+[ ]+6ae:[ ]+d621 @IM+6c5e@[ ]+@OC@.d \[r12=r2-42\],r5
+[ ]+6b2:[ ]+d621 @IM+6c5e@[ ]+@OC@.d \[r12=r2-42\],r5
+[ ]+6b6:[ ]+2a21 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+42\],r5
+[ ]+6ba:[ ]+d621 @IM+6c5e@[ ]+@OC@.d \[r12=r2-42\],r5
+[ ]+6be:[ ]+2a21 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+42\],r5
+[ ]+6c2:[ ]+5f2d ff7f @IM+6c5e@[ ]+@OC@.d \[r12=r2\+32767\],r5
+[ ]+6c8:[ ]+6f2d 0080 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+6d0:[ ]+6f2d 0180 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(32769|8001 <three2767\+0x2>)\],r5
+[ ]+6d8:[ ]+5f2d 0180 @IM+6c5e@[ ]+@OC@.d \[r12=r2-32767\],r5
+[ ]+6de:[ ]+5f2d 0080 @IM+6cde@[ ]+@OC@.d \[r12=r2-32768\],r13
+[ ]+6e4:[ ]+6f2d ff7f ffff @IM+6cde@[ ]+@OC@.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+6ec:[ ]+5f2d 0180 @IM+6c5e@[ ]+@OC@.d \[r12=r2-32767\],r5
+[ ]+6f2:[ ]+5f2d 0080 @IM+6cde@[ ]+@OC@.d \[r12=r2-32768\],r13
+[ ]+6f8:[ ]+6f2d ff7f ffff @IM+6cde@[ ]+@OC@.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+700:[ ]+6f2d ffff 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+708:[ ]+6f2d 0000 0100 @IM+6cde@[ ]+@OC@.d \[r12=r2\+(65536|10000 <six5535\+0x1>)\],r13
+[ ]+710:[ ]+6f2d 2b3a 2900 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(2701867|293a2b <two701867>)\],r5
+[ ]+718:[ ]+6f2d d5c5 d6ff @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+720:[ ]+6f2d d5c5 d6ff @IM+6c5e@[ ]+@OC@.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+728:[ ]+6f2d 0000 0000 @IM+6c5e@[ ]+@OC@.d \[r12=r2\+0( <notstart>)?\],r5
+[ ]+72a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+730:[ ]+7309 @IM+455a@[ ]+@OC@.b \[\[r3\]\],r5
+[ ]+734:[ ]+7209 @IM+544a@[ ]+@OC@.w \[\[r2\]\],r4
+[ ]+738:[ ]+7309 @IM+677a@[ ]+@OC@.d \[\[r3\]\],r7
+[ ]+73c:[ ]+790d @IM+477a@[ ]+@OC@.b \[\[r9\+\]\],r7
+[ ]+740:[ ]+730d @IM+555a@[ ]+@OC@.w \[\[r3\+\]\],r5
+[ ]+744:[ ]+710d @IM+666a@[ ]+@OC@.d \[\[r1\+\]\],r6
+[ ]+748:[ ]+7f0d 0000 0000 @IM+455a@[ ]+@OC@.b \[(0x0|0 <notstart>)\],r5
+[ ]+74a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+750:[ ]+7f0d 0000 0000 @IM+544a@[ ]+@OC@.w \[(0x0|0 <notstart>)\],r4
+[ ]+752:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+758:[ ]+7f0d 0000 0000 @IM+677a@[ ]+@OC@.d \[(0x0|0 <notstart>)\],r7
+[ ]+75a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+760:[ ]+7f0d 0000 0000 @IM+455a@[ ]+@OC@.b \[(0x0|0 <notstart>)\],r5
+[ ]+762:[ ]+(R_CRIS_)?32[ ]+.text
+[ ]+768:[ ]+7f0d 0000 0000 @IM+544a@[ ]+@OC@.w \[(0x0|0 <notstart>)\],r4
+[ ]+76a:[ ]+(R_CRIS_)?32[ ]+.text
+[ ]+770:[ ]+7f0d 0000 0000 @IM+677a@[ ]+@OC@.d \[(0x0|0 <notstart>)\],r7
+[ ]+772:[ ]+(R_CRIS_)?32[ ]+.text
+
diff --git a/gas/testsuite/gas/cris/binop-cmpmovx.d b/gas/testsuite/gas/cris/binop-cmpmovx.d
new file mode 100644
index 0000000..6ec5666
--- /dev/null
+++ b/gas/testsuite/gas/cris/binop-cmpmovx.d
@@ -0,0 +1,233 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+ 0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IM+4058@[ ]+@OC@\.b \[r0\],r5
+[ ]+6:[ ]+@IM+55d8@[ ]+@OC@\.w \[r5\],r13
+[ ]+8:[ ]+@IM+405c@[ ]+@OC@\.b \[r0\+\],r5
+[ ]+a:[ ]+@IM+55dc@[ ]+@OC@\.w \[r5\+\],r13
+[ ]+c:[ ]+@IM+4f5c@ 0000[ ]+@OC@\.b (0x|)0,r5
+[ ]+10:[ ]+@IM+4f5c@ 0100[ ]+@OC@\.b (0x|)1,r5
+[ ]+14:[ ]+@IM+4f5c@ 7f00[ ]+@OC@\.b (0x7f|127),r5
+[ ]+18:[ ]+@IM+4f5c@ 8000[ ]+@OC@\.b (0x80|128),r5
+[ ]+1c:[ ]+@IM+4f5c@ ffff[ ]+@OC@\.b (0xffff|-1),r5
+[ ]+20:[ ]+@IM+4f5c@ 81ff[ ]+@OC@\.b (0xff81|-127),r5
+[ ]+24:[ ]+@IM+4f5c@ 80ff[ ]+@OC@\.b (0xff80|-128),r5
+[ ]+28:[ ]+@IM+4f5c@ ff00[ ]+@OC@\.b (0xff|255),r5
+[ ]+2c:[ ]+@IM+4f5c@ 2a00[ ]+@OC@\.b (0x2a|42),r5
+[ ]+30:[ ]+@IM+4f5c@ d6ff[ ]+@OC@\.b (0xffd6|-42),r5
+[ ]+34:[ ]+@IM+4f5c@ 2a00[ ]+@OC@\.b (0x2a|42),r5
+[ ]+38:[ ]+@IM+4f5c@ d6ff[ ]+@OC@\.b (0xffd6|-42),r5
+[ ]+3c:[ ]+@IM+4f5c@ d6ff[ ]+@OC@\.b (0xffd6|-42),r5
+[ ]+40:[ ]+@IM+4f5c@ 2a00[ ]+@OC@\.b (0x2a|42),r5
+[ ]+44:[ ]+@IM+4f5c@ 0000[ ]+@OC@\.b (0x|)0,r5
+[ ]+46:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+48:[ ]+@IM+5fdc@ 0000[ ]+@OC@\.w (0x|)0,r13
+[ ]+4c:[ ]+@IM+5fdc@ 0100[ ]+@OC@\.w (0x|)1,r13
+[ ]+50:[ ]+@IM+5fdc@ 7f00[ ]+@OC@\.w (0x7f|127),r13
+[ ]+54:[ ]+@IM+5fdc@ 8000[ ]+@OC@\.w (0x80|128),r13
+[ ]+58:[ ]+@IM+5fdc@ ffff[ ]+@OC@\.w (0xffff|-1),r13
+[ ]+5c:[ ]+@IM+5fdc@ 81ff[ ]+@OC@\.w (0xff81|-127),r13
+[ ]+60:[ ]+@IM+5fdc@ 80ff[ ]+@OC@\.w (0xff80|-128),r13
+[ ]+64:[ ]+@IM+5fdc@ 7fff[ ]+@OC@\.w (0xff7f|-129),r13
+[ ]+68:[ ]+@IM+5fdc@ ff00[ ]+@OC@\.w (0xff|255),r13
+[ ]+6c:[ ]+@IM+5fdc@ 01ff[ ]+@OC@\.w (0xff01|-255),r13
+[ ]+70:[ ]+@IM+5fdc@ 0001[ ]+@OC@\.w (0x[0]?100|256),r13
+[ ]+74:[ ]+@IM+5fdc@ 68dd[ ]+@OC@\.w (0xdd68|-8856),r13
+[ ]+78:[ ]+@IM+5fdc@ 9822[ ]+@OC@\.w (0x2298|8856),r13
+[ ]+7c:[ ]+@IM+5fdc@ 2a00[ ]+@OC@\.w (0x2a|42),r13
+[ ]+80:[ ]+@IM+5fdc@ d6ff[ ]+@OC@\.w (0xffd6|-42),r13
+[ ]+84:[ ]+@IM+5fdc@ 2a00[ ]+@OC@\.w (0x2a|42),r13
+[ ]+88:[ ]+@IM+5fdc@ d6ff[ ]+@OC@\.w (0xffd6|-42),r13
+[ ]+8c:[ ]+@IM+5f5c@ d6ff[ ]+@OC@\.w (0xffd6|-42),r5
+[ ]+90:[ ]+@IM+5f5c@ 2a00[ ]+@OC@\.w (0x2a|42),r5
+[ ]+94:[ ]+@IM+5f5c@ ff7f[ ]+@OC@\.w (0x7fff|32767),r5
+[ ]+98:[ ]+@IM+5f5c@ 0080[ ]+@OC@\.w (0x8000|-32768),r5
+[ ]+9c:[ ]+@IM+5fdc@ 0180[ ]+@OC@\.w (0x8001|-32767),r13
+[ ]+a0:[ ]+@IM+5fdc@ 0180[ ]+@OC@\.w (0x8001|-32767),r13
+[ ]+a4:[ ]+@IM+5fdc@ 0080[ ]+@OC@\.w (0x8000|-32768),r13
+[ ]+a8:[ ]+@IM+5f5c@ ffff[ ]+@OC@\.w (0xffff|-1),r5
+[ ]+ac:[ ]+@IM+5f5c@ 0000[ ]+@OC@\.w (0x|)0,r5
+[ ]+ae:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+b0:[ ]+4205 @IM+4558@[ ]+@OC@\.b \[r2\+r0\.b\],r5
+[ ]+b4:[ ]+4255 @IM+5dd8@[ ]+@OC@\.w \[r2\+r5\.b\],r13
+[ ]+b8:[ ]+4029 @IM+4558@[ ]+@OC@\.b \[r2\+\[r0\]\.b\],r5
+[ ]+bc:[ ]+4529 @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\]\.b\],r13
+[ ]+c0:[ ]+402d @IM+4558@[ ]+@OC@\.b \[r2\+\[r0\+\]\.b\],r5
+[ ]+c4:[ ]+452d @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+c8:[ ]+452d @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+cc:[ ]+5205 @IM+4558@[ ]+@OC@\.b \[r2\+r0\.w\],r5
+[ ]+d0:[ ]+5255 @IM+5dd8@[ ]+@OC@\.w \[r2\+r5\.w\],r13
+[ ]+d4:[ ]+5029 @IM+4558@[ ]+@OC@\.b \[r2\+\[r0\]\.w\],r5
+[ ]+d8:[ ]+5529 @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\]\.w\],r13
+[ ]+dc:[ ]+502d @IM+4558@[ ]+@OC@\.b \[r2\+\[r0\+\]\.w\],r5
+[ ]+e0:[ ]+552d @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+e4:[ ]+552d @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+e8:[ ]+6205 @IM+4558@[ ]+@OC@\.b \[r2\+r0\.d\],r5
+[ ]+ec:[ ]+6255 @IM+5dd8@[ ]+@OC@\.w \[r2\+r5\.d\],r13
+[ ]+f0:[ ]+6029 @IM+4558@[ ]+@OC@\.b \[r2\+\[r0\]\.d\],r5
+[ ]+f4:[ ]+6529 @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\]\.d\],r13
+[ ]+f8:[ ]+602d @IM+4558@[ ]+@OC@\.b \[r2\+\[r0\+\]\.d\],r5
+[ ]+fc:[ ]+652d @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+100:[ ]+652d @IM+5dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+104:[ ]+0021 @IM+4558@[ ]+@OC@\.b \[r2\+0\],r5
+[ ]+108:[ ]+0121 @IM+4558@[ ]+@OC@\.b \[r2\+1\],r5
+[ ]+10c:[ ]+7f21 @IM+4558@[ ]+@OC@\.b \[r2\+127\],r5
+[ ]+110:[ ]+5f2d 8000 @IM+4558@[ ]+@OC@\.b \[r2\+128\],r5
+[ ]+116:[ ]+ff21 @IM+4558@[ ]+@OC@\.b \[r2-1\],r5
+[ ]+11a:[ ]+8121 @IM+4558@[ ]+@OC@\.b \[r2-127\],r5
+[ ]+11e:[ ]+8021 @IM+4558@[ ]+@OC@\.b \[r2-128\],r5
+[ ]+122:[ ]+5f2d ff00 @IM+4558@[ ]+@OC@\.b \[r2\+255\],r5
+[ ]+128:[ ]+2a21 @IM+4558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+12c:[ ]+d621 @IM+4558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+130:[ ]+d621 @IM+4558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+134:[ ]+2a21 @IM+4558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+138:[ ]+d621 @IM+4558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+13c:[ ]+d621 @IM+4558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+140:[ ]+2a21 @IM+4558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+144:[ ]+d621 @IM+4558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+148:[ ]+2a21 @IM+4558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+14c:[ ]+6f2d 0000 0000 @IM+4558@[ ]+@OC@\.b \[r2\+0( <notstart>)?\],r5
+[ ]+14e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+154:[ ]+0021 @IM+5dd8@[ ]+@OC@\.w \[r2\+0\],r13
+[ ]+158:[ ]+0121 @IM+5dd8@[ ]+@OC@\.w \[r2\+1\],r13
+[ ]+15c:[ ]+7f21 @IM+5dd8@[ ]+@OC@\.w \[r2\+127\],r13
+[ ]+160:[ ]+5f2d 8000 @IM+5dd8@[ ]+@OC@\.w \[r2\+128\],r13
+[ ]+166:[ ]+ff21 @IM+5dd8@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+16a:[ ]+ff21 @IM+5dd8@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+16e:[ ]+8121 @IM+5dd8@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+172:[ ]+8021 @IM+5dd8@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+176:[ ]+5f2d 7fff @IM+5dd8@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+17c:[ ]+8121 @IM+5dd8@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+180:[ ]+8021 @IM+5dd8@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+184:[ ]+5f2d 7fff @IM+5dd8@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+18a:[ ]+5f2d ff00 @IM+5dd8@[ ]+@OC@\.w \[r2\+255\],r13
+[ ]+190:[ ]+5f2d 01ff @IM+5dd8@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+196:[ ]+5f2d 01ff @IM+5dd8@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+19c:[ ]+5f2d 0001 @IM+5dd8@[ ]+@OC@\.w \[r2\+256\],r13
+[ ]+1a2:[ ]+5f2d 00ff @IM+5dd8@[ ]+@OC@\.w \[r2-256\],r13
+[ ]+1a8:[ ]+5f2d 68dd @IM+5dd8@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+1ae:[ ]+5f2d 68dd @IM+5dd8@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+1b4:[ ]+5f2d 9822 @IM+5dd8@[ ]+@OC@\.w \[r2\+8856\],r13
+[ ]+1ba:[ ]+2a21 @IM+5dd8@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+1be:[ ]+d621 @IM+5dd8@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+1c2:[ ]+d621 @IM+5dd8@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+1c6:[ ]+2a21 @IM+5dd8@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+1ca:[ ]+d621 @IM+5dd8@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+1ce:[ ]+d621 @IM+5558@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+1d2:[ ]+d621 @IM+5558@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+1d6:[ ]+2a21 @IM+5558@[ ]+@OC@\.w \[r2\+42\],r5
+[ ]+1da:[ ]+5f2d ff7f @IM+5558@[ ]+@OC@\.w \[r2\+32767\],r5
+[ ]+1e0:[ ]+6f2d 0080 0000 @IM+5558@[ ]+@OC@\.w \[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+1e8:[ ]+6f2d 0180 0000 @IM+5dd8@[ ]+@OC@\.w \[r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+1f0:[ ]+5f2d 0180 @IM+5dd8@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+1f6:[ ]+5f2d 0080 @IM+5dd8@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+1fc:[ ]+6f2d ff7f ffff @IM+5558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+204:[ ]+5f2d 0180 @IM+5dd8@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+20a:[ ]+5f2d 0080 @IM+5dd8@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+210:[ ]+6f2d ff7f ffff @IM+5558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+218:[ ]+6f2d ffff 0000 @IM+5558@[ ]+@OC@\.w \[r2\+(65535|ffff <six5535>)\],r5
+[ ]+220:[ ]+6f2d 0000 0000 @IM+5558@[ ]+@OC@\.w \[r2\+0( <notstart>)?\],r5
+[ ]+222:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+228:[ ]+4205 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+r0\.b\],r5
+[ ]+22c:[ ]+4255 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+r5\.b\],r13
+[ ]+230:[ ]+4029 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.b\],r5
+[ ]+234:[ ]+4529 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.b\],r13
+[ ]+238:[ ]+402d @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.b\],r5
+[ ]+23c:[ ]+452d @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.b\],r13
+[ ]+240:[ ]+452d @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.b\],r13
+[ ]+244:[ ]+5205 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+r0\.w\],r5
+[ ]+248:[ ]+5255 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+r5\.w\],r13
+[ ]+24c:[ ]+5029 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.w\],r5
+[ ]+250:[ ]+5529 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.w\],r13
+[ ]+254:[ ]+502d @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.w\],r5
+[ ]+258:[ ]+552d @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.w\],r13
+[ ]+25c:[ ]+552d @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.w\],r13
+[ ]+260:[ ]+6205 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+r0\.d\],r5
+[ ]+264:[ ]+6255 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+r5\.d\],r13
+[ ]+268:[ ]+6029 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.d\],r5
+[ ]+26c:[ ]+6529 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.d\],r13
+[ ]+270:[ ]+602d @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.d\],r5
+[ ]+274:[ ]+652d @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.d\],r13
+[ ]+278:[ ]+652d @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.d\],r13
+[ ]+27c:[ ]+0021 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+0\],r5
+[ ]+280:[ ]+0121 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+1\],r5
+[ ]+284:[ ]+7f21 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+127\],r5
+[ ]+288:[ ]+5f2d 8000 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+128\],r5
+[ ]+28e:[ ]+ff21 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-1\],r5
+[ ]+292:[ ]+8121 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-127\],r5
+[ ]+296:[ ]+8021 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-128\],r5
+[ ]+29a:[ ]+5f2d ff00 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+255\],r5
+[ ]+2a0:[ ]+2a21 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+2a4:[ ]+d621 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+2a8:[ ]+d621 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+2ac:[ ]+2a21 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+2b0:[ ]+d621 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+2b4:[ ]+d621 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+2b8:[ ]+2a21 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+2bc:[ ]+d621 @IM+4c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+2c0:[ ]+2a21 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+2c4:[ ]+6f2d 0000 0000 @IM+4c5c@[ ]+@OC@\.b \[r12=r2\+0( <notstart>)?\],r5
+[ ]+2c6:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2cc:[ ]+0021 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+0\],r13
+[ ]+2d0:[ ]+0121 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+1\],r13
+[ ]+2d4:[ ]+7f21 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+127\],r13
+[ ]+2d8:[ ]+5f2d 8000 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+128\],r13
+[ ]+2de:[ ]+ff21 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-1\],r13
+[ ]+2e2:[ ]+ff21 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-1\],r13
+[ ]+2e6:[ ]+8121 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-127\],r13
+[ ]+2ea:[ ]+8021 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-128\],r13
+[ ]+2ee:[ ]+5f2d 7fff @IM+5cdc@[ ]+@OC@\.w \[r12=r2-129\],r13
+[ ]+2f4:[ ]+8121 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-127\],r13
+[ ]+2f8:[ ]+8021 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-128\],r13
+[ ]+2fc:[ ]+5f2d 7fff @IM+5cdc@[ ]+@OC@\.w \[r12=r2-129\],r13
+[ ]+302:[ ]+5f2d ff00 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+255\],r13
+[ ]+308:[ ]+5f2d 01ff @IM+5cdc@[ ]+@OC@\.w \[r12=r2-255\],r13
+[ ]+30e:[ ]+5f2d 01ff @IM+5cdc@[ ]+@OC@\.w \[r12=r2-255\],r13
+[ ]+314:[ ]+5f2d 0001 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+256\],r13
+[ ]+31a:[ ]+5f2d 00ff @IM+5cdc@[ ]+@OC@\.w \[r12=r2-256\],r13
+[ ]+320:[ ]+5f2d 68dd @IM+5cdc@[ ]+@OC@\.w \[r12=r2-8856\],r13
+[ ]+326:[ ]+5f2d 68dd @IM+5cdc@[ ]+@OC@\.w \[r12=r2-8856\],r13
+[ ]+32c:[ ]+5f2d 9822 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+8856\],r13
+[ ]+332:[ ]+2a21 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+42\],r13
+[ ]+336:[ ]+d621 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+33a:[ ]+d621 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+33e:[ ]+2a21 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+42\],r13
+[ ]+342:[ ]+d621 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+346:[ ]+d621 @IM+5c5c@[ ]+@OC@\.w \[r12=r2-42\],r5
+[ ]+34a:[ ]+d621 @IM+5c5c@[ ]+@OC@\.w \[r12=r2-42\],r5
+[ ]+34e:[ ]+2a21 @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+42\],r5
+[ ]+352:[ ]+5f2d ff7f @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+32767\],r5
+[ ]+358:[ ]+6f2d 0080 0000 @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+360:[ ]+6f2d 0180 0000 @IM+5cdc@[ ]+@OC@\.w \[r12=r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+368:[ ]+5f2d 0180 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13
+[ ]+36e:[ ]+5f2d 0080 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13
+[ ]+374:[ ]+6f2d ff7f ffff @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+37c:[ ]+5f2d 0180 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13
+[ ]+382:[ ]+5f2d 0080 @IM+5cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13
+[ ]+388:[ ]+6f2d ff7f ffff @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+390:[ ]+6f2d ffff 0000 @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+398:[ ]+6f2d 0000 0000 @IM+5c5c@[ ]+@OC@\.w \[r12=r2\+0( <notstart>)?\],r5
+[ ]+39a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3a0:[ ]+7309 @IM+4558@[ ]+@OC@\.b \[\[r3\]\],r5
+[ ]+3a4:[ ]+7209 @IM+5448@[ ]+@OC@\.w \[\[r2\]\],r4
+[ ]+3a8:[ ]+790d @IM+4778@[ ]+@OC@\.b \[\[r9\+\]\],r7
+[ ]+3ac:[ ]+730d @IM+5558@[ ]+@OC@\.w \[\[r3\+\]\],r5
+[ ]+3b0:[ ]+7f0d 0000 0000 @IM+4558@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5
+[ ]+3b2:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3b8:[ ]+7f0d 0000 0000 @IM+5448@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4
+[ ]+3ba:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3c0:[ ]+7f0d 0000 0000 @IM+4558@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5
+[ ]+3c2:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+3c8:[ ]+7f0d 0000 0000 @IM+5448@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4
+[ ]+3ca:[ ]+(R_CRIS_)?32[ ]+\.text
+
diff --git a/gas/testsuite/gas/cris/binop-extx.d b/gas/testsuite/gas/cris/binop-extx.d
new file mode 100644
index 0000000..834eab9
--- /dev/null
+++ b/gas/testsuite/gas/cris/binop-extx.d
@@ -0,0 +1,327 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+
+.*:[ ]+file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IR+0354@[ ]+@OC@\.b r3,r5
+[ ]+6:[ ]+@IR+15d4@[ ]+@OC@\.w r5,r13
+[ ]+8:[ ]+@IM+0058@[ ]+@OC@\.b \[r0\],r5
+[ ]+a:[ ]+@IM+15d8@[ ]+@OC@\.w \[r5\],r13
+[ ]+c:[ ]+@IM+005c@[ ]+@OC@\.b \[r0\+\],r5
+[ ]+e:[ ]+@IM+15dc@[ ]+@OC@\.w \[r5\+\],r13
+[ ]+10:[ ]+@IM+0f5c@ 0000[ ]+@OC@\.b (0x|)0,r5
+[ ]+14:[ ]+@IM+0f5c@ 0100[ ]+@OC@\.b (0x|)1,r5
+[ ]+18:[ ]+@IM+0f5c@ 7f00[ ]+@OC@\.b (0x7f|127),r5
+[ ]+1c:[ ]+@IM+0f5c@ 8000[ ]+@OC@\.b (0x80|128),r5
+[ ]+20:[ ]+@IM+0f5c@ ffff[ ]+@OC@\.b (0xffff|-1),r5
+[ ]+24:[ ]+@IM+0f5c@ 81ff[ ]+@OC@\.b (0xff81|-127),r5
+[ ]+28:[ ]+@IM+0f5c@ 80ff[ ]+@OC@\.b (0xff80|-128),r5
+[ ]+2c:[ ]+@IM+0f5c@ ff00[ ]+@OC@\.b (0xff|255),r5
+[ ]+30:[ ]+@IM+0f5c@ 2a00[ ]+@OC@\.b (0x2a|42),r5
+[ ]+34:[ ]+@IM+0f5c@ d6ff[ ]+@OC@\.b (0xffd6|-42),r5
+[ ]+38:[ ]+@IM+0f5c@ 2a00[ ]+@OC@\.b (0x2a|42),r5
+[ ]+3c:[ ]+@IM+0f5c@ d6ff[ ]+@OC@\.b (0xffd6|-42),r5
+[ ]+40:[ ]+@IM+0f5c@ d6ff[ ]+@OC@\.b (0xffd6|-42),r5
+[ ]+44:[ ]+@IM+0f5c@ 2a00[ ]+@OC@\.b (0x2a|42),r5
+[ ]+48:[ ]+@IM+0f5c@ 0000[ ]+@OC@\.b (0x|)0,r5
+[ ]+4a:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+4c:[ ]+@IM+1fdc@ 0000[ ]+@OC@\.w (0x|)0,r13
+[ ]+50:[ ]+@IM+1fdc@ 0100[ ]+@OC@\.w (0x|)1,r13
+[ ]+54:[ ]+@IM+1fdc@ 7f00[ ]+@OC@\.w (0x7f|127),r13
+[ ]+58:[ ]+@IM+1fdc@ 8000[ ]+@OC@\.w (0x80|128),r13
+[ ]+5c:[ ]+@IM+1fdc@ ffff[ ]+@OC@\.w (0xffff|-1),r13
+[ ]+60:[ ]+@IM+1fdc@ 81ff[ ]+@OC@\.w (0xff81|-127),r13
+[ ]+64:[ ]+@IM+1fdc@ 80ff[ ]+@OC@\.w (0xff80|-128),r13
+[ ]+68:[ ]+@IM+1fdc@ 7fff[ ]+@OC@\.w (0xff7f|-129),r13
+[ ]+6c:[ ]+@IM+1fdc@ ff00[ ]+@OC@\.w (0xff|255),r13
+[ ]+70:[ ]+@IM+1fdc@ 01ff[ ]+@OC@\.w (0xff01|-255),r13
+[ ]+74:[ ]+@IM+1fdc@ 0001[ ]+@OC@\.w (0x[0]?100|256),r13
+[ ]+78:[ ]+@IM+1fdc@ 68dd[ ]+@OC@\.w (0xdd68|-8856),r13
+[ ]+7c:[ ]+@IM+1fdc@ 9822[ ]+@OC@\.w (0x2298|8856),r13
+[ ]+80:[ ]+@IM+1fdc@ 2a00[ ]+@OC@\.w (0x2a|42),r13
+[ ]+84:[ ]+@IM+1fdc@ d6ff[ ]+@OC@\.w (0xffd6|-42),r13
+[ ]+88:[ ]+@IM+1fdc@ 2a00[ ]+@OC@\.w (0x2a|42),r13
+[ ]+8c:[ ]+@IM+1fdc@ d6ff[ ]+@OC@\.w (0xffd6|-42),r13
+[ ]+90:[ ]+@IM+1f5c@ d6ff[ ]+@OC@\.w (0xffd6|-42),r5
+[ ]+94:[ ]+@IM+1f5c@ 2a00[ ]+@OC@\.w (0x2a|42),r5
+[ ]+98:[ ]+@IM+1f5c@ ff7f[ ]+@OC@\.w (0x7fff|32767),r5
+[ ]+9c:[ ]+@IM+1f5c@ 0080[ ]+@OC@\.w (0x8000|-32768),r5
+[ ]+a0:[ ]+@IM+1fdc@ 0180[ ]+@OC@\.w (0x8001|-32767),r13
+[ ]+a4:[ ]+@IM+1fdc@ 0180[ ]+@OC@\.w (0x8001|-32767),r13
+[ ]+a8:[ ]+@IM+1fdc@ 0080[ ]+@OC@\.w (0x8000|-32768),r13
+[ ]+ac:[ ]+@IM+1f5c@ ffff[ ]+@OC@\.w (0xffff|-1),r5
+[ ]+b0:[ ]+@IM+1f5c@ 0000[ ]+@OC@\.w (0x|)0,r5
+[ ]+b2:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+b4:[ ]+4205 @IM+0558@[ ]+@OC@\.b \[r2\+r0\.b\],r5
+[ ]+b8:[ ]+4255 @IM+1dd8@[ ]+@OC@\.w \[r2\+r5\.b\],r13
+[ ]+bc:[ ]+4029 @IM+0558@[ ]+@OC@\.b \[r2\+\[r0\]\.b\],r5
+[ ]+c0:[ ]+4529 @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\]\.b\],r13
+[ ]+c4:[ ]+402d @IM+0558@[ ]+@OC@\.b \[r2\+\[r0\+\]\.b\],r5
+[ ]+c8:[ ]+452d @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+cc:[ ]+452d @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+d0:[ ]+5205 @IM+0558@[ ]+@OC@\.b \[r2\+r0\.w\],r5
+[ ]+d4:[ ]+5255 @IM+1dd8@[ ]+@OC@\.w \[r2\+r5\.w\],r13
+[ ]+d8:[ ]+5029 @IM+0558@[ ]+@OC@\.b \[r2\+\[r0\]\.w\],r5
+[ ]+dc:[ ]+5529 @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\]\.w\],r13
+[ ]+e0:[ ]+502d @IM+0558@[ ]+@OC@\.b \[r2\+\[r0\+\]\.w\],r5
+[ ]+e4:[ ]+552d @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+e8:[ ]+552d @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+ec:[ ]+6205 @IM+0558@[ ]+@OC@\.b \[r2\+r0\.d\],r5
+[ ]+f0:[ ]+6255 @IM+1dd8@[ ]+@OC@\.w \[r2\+r5\.d\],r13
+[ ]+f4:[ ]+6029 @IM+0558@[ ]+@OC@\.b \[r2\+\[r0\]\.d\],r5
+[ ]+f8:[ ]+6529 @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\]\.d\],r13
+[ ]+fc:[ ]+602d @IM+0558@[ ]+@OC@\.b \[r2\+\[r0\+\]\.d\],r5
+[ ]+100:[ ]+652d @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+104:[ ]+652d @IM+1dd8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+108:[ ]+0021 @IM+0558@[ ]+@OC@\.b \[r2\+0\],r5
+[ ]+10c:[ ]+0121 @IM+0558@[ ]+@OC@\.b \[r2\+1\],r5
+[ ]+110:[ ]+7f21 @IM+0558@[ ]+@OC@\.b \[r2\+127\],r5
+[ ]+114:[ ]+5f2d 8000 @IM+0558@[ ]+@OC@\.b \[r2\+128\],r5
+[ ]+11a:[ ]+ff21 @IM+0558@[ ]+@OC@\.b \[r2-1\],r5
+[ ]+11e:[ ]+8121 @IM+0558@[ ]+@OC@\.b \[r2-127\],r5
+[ ]+122:[ ]+8021 @IM+0558@[ ]+@OC@\.b \[r2-128\],r5
+[ ]+126:[ ]+5f2d ff00 @IM+0558@[ ]+@OC@\.b \[r2\+255\],r5
+[ ]+12c:[ ]+2a21 @IM+0558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+130:[ ]+d621 @IM+0558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+134:[ ]+d621 @IM+0558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+138:[ ]+2a21 @IM+0558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+13c:[ ]+d621 @IM+0558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+140:[ ]+d621 @IM+0558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+144:[ ]+2a21 @IM+0558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+148:[ ]+d621 @IM+0558@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+14c:[ ]+2a21 @IM+0558@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+150:[ ]+6f2d 0000 0000 @IM+0558@[ ]+@OC@\.b \[r2\+0( <notstart>)?\],r5
+[ ]+152:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+158:[ ]+0021 @IM+1dd8@[ ]+@OC@\.w \[r2\+0\],r13
+[ ]+15c:[ ]+0121 @IM+1dd8@[ ]+@OC@\.w \[r2\+1\],r13
+[ ]+160:[ ]+7f21 @IM+1dd8@[ ]+@OC@\.w \[r2\+127\],r13
+[ ]+164:[ ]+5f2d 8000 @IM+1dd8@[ ]+@OC@\.w \[r2\+128\],r13
+[ ]+16a:[ ]+ff21 @IM+1dd8@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+16e:[ ]+ff21 @IM+1dd8@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+172:[ ]+8121 @IM+1dd8@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+176:[ ]+8021 @IM+1dd8@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+17a:[ ]+5f2d 7fff @IM+1dd8@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+180:[ ]+8121 @IM+1dd8@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+184:[ ]+8021 @IM+1dd8@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+188:[ ]+5f2d 7fff @IM+1dd8@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+18e:[ ]+5f2d ff00 @IM+1dd8@[ ]+@OC@\.w \[r2\+255\],r13
+[ ]+194:[ ]+5f2d 01ff @IM+1dd8@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+19a:[ ]+5f2d 01ff @IM+1dd8@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+1a0:[ ]+5f2d 0001 @IM+1dd8@[ ]+@OC@\.w \[r2\+256\],r13
+[ ]+1a6:[ ]+5f2d 00ff @IM+1dd8@[ ]+@OC@\.w \[r2-256\],r13
+[ ]+1ac:[ ]+5f2d 68dd @IM+1dd8@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+1b2:[ ]+5f2d 68dd @IM+1dd8@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+1b8:[ ]+5f2d 9822 @IM+1dd8@[ ]+@OC@\.w \[r2\+8856\],r13
+[ ]+1be:[ ]+2a21 @IM+1dd8@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+1c2:[ ]+d621 @IM+1dd8@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+1c6:[ ]+d621 @IM+1dd8@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+1ca:[ ]+2a21 @IM+1dd8@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+1ce:[ ]+d621 @IM+1dd8@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+1d2:[ ]+d621 @IM+1558@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+1d6:[ ]+d621 @IM+1558@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+1da:[ ]+2a21 @IM+1558@[ ]+@OC@\.w \[r2\+42\],r5
+[ ]+1de:[ ]+5f2d ff7f @IM+1558@[ ]+@OC@\.w \[r2\+32767\],r5
+[ ]+1e4:[ ]+6f2d 0080 0000 @IM+1558@[ ]+@OC@\.w \[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+1ec:[ ]+6f2d 0180 0000 @IM+1dd8@[ ]+@OC@\.w \[r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+1f4:[ ]+5f2d 0180 @IM+1dd8@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+1fa:[ ]+5f2d 0080 @IM+1dd8@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+200:[ ]+6f2d ff7f ffff @IM+1558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+208:[ ]+5f2d 0180 @IM+1dd8@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+20e:[ ]+5f2d 0080 @IM+1dd8@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+214:[ ]+6f2d ff7f ffff @IM+1558@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+21c:[ ]+6f2d ffff 0000 @IM+1558@[ ]+@OC@\.w \[r2\+(65535|ffff <six5535>)\],r5
+[ ]+224:[ ]+6f2d 0000 0000 @IM+1558@[ ]+@OC@\.w \[r2\+0( <notstart>)?\],r5
+[ ]+226:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+22c:[ ]+4205 @IM+0858@[ ]+@OC@\.b \[r2\+r0\.b\],r5,r8
+[ ]+230:[ ]+4255 @IM+18d8@[ ]+@OC@\.w \[r2\+r5\.b\],r13,r8
+[ ]+234:[ ]+4029 @IM+0858@[ ]+@OC@\.b \[r2\+\[r0\]\.b\],r5,r8
+[ ]+238:[ ]+4529 @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\]\.b\],r13,r8
+[ ]+23c:[ ]+402d @IM+0858@[ ]+@OC@\.b \[r2\+\[r0\+\]\.b\],r5,r8
+[ ]+240:[ ]+452d @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13,r8
+[ ]+244:[ ]+452d @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13,r8
+[ ]+248:[ ]+5205 @IM+0858@[ ]+@OC@\.b \[r2\+r0\.w\],r5,r8
+[ ]+24c:[ ]+5255 @IM+18d8@[ ]+@OC@\.w \[r2\+r5\.w\],r13,r8
+[ ]+250:[ ]+5029 @IM+0858@[ ]+@OC@\.b \[r2\+\[r0\]\.w\],r5,r8
+[ ]+254:[ ]+5529 @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\]\.w\],r13,r8
+[ ]+258:[ ]+502d @IM+0858@[ ]+@OC@\.b \[r2\+\[r0\+\]\.w\],r5,r8
+[ ]+25c:[ ]+552d @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13,r8
+[ ]+260:[ ]+552d @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13,r8
+[ ]+264:[ ]+6205 @IM+0858@[ ]+@OC@\.b \[r2\+r0\.d\],r5,r8
+[ ]+268:[ ]+6255 @IM+18d8@[ ]+@OC@\.w \[r2\+r5\.d\],r13,r8
+[ ]+26c:[ ]+6029 @IM+0858@[ ]+@OC@\.b \[r2\+\[r0\]\.d\],r5,r8
+[ ]+270:[ ]+6529 @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\]\.d\],r13,r8
+[ ]+274:[ ]+602d @IM+0858@[ ]+@OC@\.b \[r2\+\[r0\+\]\.d\],r5,r8
+[ ]+278:[ ]+652d @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13,r8
+[ ]+27c:[ ]+652d @IM+18d8@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13,r8
+[ ]+280:[ ]+0021 @IM+0858@[ ]+@OC@\.b \[r2\+0\],r5,r8
+[ ]+284:[ ]+0121 @IM+0858@[ ]+@OC@\.b \[r2\+1\],r5,r8
+[ ]+288:[ ]+7f21 @IM+0858@[ ]+@OC@\.b \[r2\+127\],r5,r8
+[ ]+28c:[ ]+5f2d 8000 @IM+0858@[ ]+@OC@\.b \[r2\+128\],r5,r8
+[ ]+292:[ ]+ff21 @IM+0858@[ ]+@OC@\.b \[r2-1\],r5,r8
+[ ]+296:[ ]+8121 @IM+0858@[ ]+@OC@\.b \[r2-127\],r5,r8
+[ ]+29a:[ ]+8021 @IM+0858@[ ]+@OC@\.b \[r2-128\],r5,r8
+[ ]+29e:[ ]+5f2d ff00 @IM+0858@[ ]+@OC@\.b \[r2\+255\],r5,r8
+[ ]+2a4:[ ]+2a21 @IM+0858@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+2a8:[ ]+d621 @IM+0858@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+2ac:[ ]+d621 @IM+0858@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+2b0:[ ]+2a21 @IM+0858@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+2b4:[ ]+d621 @IM+0858@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+2b8:[ ]+d621 @IM+0858@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+2bc:[ ]+2a21 @IM+0858@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+2c0:[ ]+d621 @IM+0858@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+2c4:[ ]+2a21 @IM+0858@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+2c8:[ ]+6f2d 0000 0000 @IM+0858@[ ]+@OC@\.b \[r2\+0( <notstart>)?\],r5,r8
+[ ]+2ca:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2d0:[ ]+0021 @IM+18d8@[ ]+@OC@\.w \[r2\+0\],r13,r8
+[ ]+2d4:[ ]+0121 @IM+18d8@[ ]+@OC@\.w \[r2\+1\],r13,r8
+[ ]+2d8:[ ]+7f21 @IM+18d8@[ ]+@OC@\.w \[r2\+127\],r13,r8
+[ ]+2dc:[ ]+5f2d 8000 @IM+18d8@[ ]+@OC@\.w \[r2\+128\],r13,r8
+[ ]+2e2:[ ]+ff21 @IM+18d8@[ ]+@OC@\.w \[r2-1\],r13,r8
+[ ]+2e6:[ ]+ff21 @IM+18d8@[ ]+@OC@\.w \[r2-1\],r13,r8
+[ ]+2ea:[ ]+8121 @IM+18d8@[ ]+@OC@\.w \[r2-127\],r13,r8
+[ ]+2ee:[ ]+8021 @IM+18d8@[ ]+@OC@\.w \[r2-128\],r13,r8
+[ ]+2f2:[ ]+5f2d 7fff @IM+18d8@[ ]+@OC@\.w \[r2-129\],r13,r8
+[ ]+2f8:[ ]+8121 @IM+18d8@[ ]+@OC@\.w \[r2-127\],r13,r8
+[ ]+2fc:[ ]+8021 @IM+18d8@[ ]+@OC@\.w \[r2-128\],r13,r8
+[ ]+300:[ ]+5f2d 7fff @IM+18d8@[ ]+@OC@\.w \[r2-129\],r13,r8
+[ ]+306:[ ]+5f2d ff00 @IM+18d8@[ ]+@OC@\.w \[r2\+255\],r13,r8
+[ ]+30c:[ ]+5f2d 01ff @IM+18d8@[ ]+@OC@\.w \[r2-255\],r13,r8
+[ ]+312:[ ]+5f2d 01ff @IM+18d8@[ ]+@OC@\.w \[r2-255\],r13,r8
+[ ]+318:[ ]+5f2d 0001 @IM+18d8@[ ]+@OC@\.w \[r2\+256\],r13,r8
+[ ]+31e:[ ]+5f2d 00ff @IM+18d8@[ ]+@OC@\.w \[r2-256\],r13,r8
+[ ]+324:[ ]+5f2d 68dd @IM+18d8@[ ]+@OC@\.w \[r2-8856\],r13,r8
+[ ]+32a:[ ]+5f2d 68dd @IM+18d8@[ ]+@OC@\.w \[r2-8856\],r13,r8
+[ ]+330:[ ]+5f2d 9822 @IM+18d8@[ ]+@OC@\.w \[r2\+8856\],r13,r8
+[ ]+336:[ ]+2a21 @IM+18d8@[ ]+@OC@\.w \[r2\+42\],r13,r8
+[ ]+33a:[ ]+d621 @IM+18d8@[ ]+@OC@\.w \[r2-42\],r13,r8
+[ ]+33e:[ ]+d621 @IM+18d8@[ ]+@OC@\.w \[r2-42\],r13,r8
+[ ]+342:[ ]+2a21 @IM+18d8@[ ]+@OC@\.w \[r2\+42\],r13,r8
+[ ]+346:[ ]+d621 @IM+18d8@[ ]+@OC@\.w \[r2-42\],r13,r8
+[ ]+34a:[ ]+d621 @IM+1858@[ ]+@OC@\.w \[r2-42\],r5,r8
+[ ]+34e:[ ]+d621 @IM+1858@[ ]+@OC@\.w \[r2-42\],r5,r8
+[ ]+352:[ ]+2a21 @IM+1858@[ ]+@OC@\.w \[r2\+42\],r5,r8
+[ ]+356:[ ]+5f2d ff7f @IM+1858@[ ]+@OC@\.w \[r2\+32767\],r5,r8
+[ ]+35c:[ ]+6f2d 0080 0000 @IM+1858@[ ]+@OC@\.w \[r2\+(32768|8000 <three2767\+0x1>)\],r5,r8
+[ ]+364:[ ]+6f2d 0180 0000 @IM+18d8@[ ]+@OC@\.w \[r2\+(32769|8001 <three2767\+0x2>)\],r13,r8
+[ ]+36c:[ ]+5f2d 0180 @IM+18d8@[ ]+@OC@\.w \[r2-32767\],r13,r8
+[ ]+372:[ ]+5f2d 0080 @IM+18d8@[ ]+@OC@\.w \[r2-32768\],r13,r8
+[ ]+378:[ ]+6f2d ff7f ffff @IM+1858@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5,r8
+[ ]+380:[ ]+5f2d 0180 @IM+18d8@[ ]+@OC@\.w \[r2-32767\],r13,r8
+[ ]+386:[ ]+5f2d 0080 @IM+18d8@[ ]+@OC@\.w \[r2-32768\],r13,r8
+[ ]+38c:[ ]+6f2d ff7f ffff @IM+1858@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5,r8
+[ ]+394:[ ]+6f2d ffff 0000 @IM+1858@[ ]+@OC@\.w \[r2\+(65535|ffff <six5535>)\],r5,r8
+[ ]+39c:[ ]+6f2d 0000 0000 @IM+1858@[ ]+@OC@\.w \[r2\+0( <notstart>)?\],r5,r8
+[ ]+39e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3a4:[ ]+4205 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+r0\.b\],r5
+[ ]+3a8:[ ]+4255 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+r5\.b\],r13
+[ ]+3ac:[ ]+4029 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.b\],r5
+[ ]+3b0:[ ]+4529 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.b\],r13
+[ ]+3b4:[ ]+402d @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.b\],r5
+[ ]+3b8:[ ]+452d @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.b\],r13
+[ ]+3bc:[ ]+452d @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.b\],r13
+[ ]+3c0:[ ]+5205 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+r0\.w\],r5
+[ ]+3c4:[ ]+5255 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+r5\.w\],r13
+[ ]+3c8:[ ]+5029 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.w\],r5
+[ ]+3cc:[ ]+5529 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.w\],r13
+[ ]+3d0:[ ]+502d @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.w\],r5
+[ ]+3d4:[ ]+552d @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.w\],r13
+[ ]+3d8:[ ]+552d @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.w\],r13
+[ ]+3dc:[ ]+6205 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+r0\.d\],r5
+[ ]+3e0:[ ]+6255 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+r5\.d\],r13
+[ ]+3e4:[ ]+6029 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.d\],r5
+[ ]+3e8:[ ]+6529 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.d\],r13
+[ ]+3ec:[ ]+602d @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.d\],r5
+[ ]+3f0:[ ]+652d @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.d\],r13
+[ ]+3f4:[ ]+652d @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.d\],r13
+[ ]+3f8:[ ]+0021 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+0\],r5
+[ ]+3fc:[ ]+0121 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+1\],r5
+[ ]+400:[ ]+7f21 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+127\],r5
+[ ]+404:[ ]+5f2d 8000 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+128\],r5
+[ ]+40a:[ ]+ff21 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-1\],r5
+[ ]+40e:[ ]+8121 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-127\],r5
+[ ]+412:[ ]+8021 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-128\],r5
+[ ]+416:[ ]+5f2d ff00 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+255\],r5
+[ ]+41c:[ ]+2a21 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+420:[ ]+d621 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+424:[ ]+d621 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+428:[ ]+2a21 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+42c:[ ]+d621 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+430:[ ]+d621 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+434:[ ]+2a21 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+438:[ ]+d621 @IM+0c5c@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+43c:[ ]+2a21 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+440:[ ]+6f2d 0000 0000 @IM+0c5c@[ ]+@OC@\.b \[r12=r2\+0( <notstart>)?\],r5
+[ ]+442:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+448:[ ]+0021 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+0\],r13
+[ ]+44c:[ ]+0121 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+1\],r13
+[ ]+450:[ ]+7f21 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+127\],r13
+[ ]+454:[ ]+5f2d 8000 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+128\],r13
+[ ]+45a:[ ]+ff21 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-1\],r13
+[ ]+45e:[ ]+ff21 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-1\],r13
+[ ]+462:[ ]+8121 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-127\],r13
+[ ]+466:[ ]+8021 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-128\],r13
+[ ]+46a:[ ]+5f2d 7fff @IM+1cdc@[ ]+@OC@\.w \[r12=r2-129\],r13
+[ ]+470:[ ]+8121 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-127\],r13
+[ ]+474:[ ]+8021 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-128\],r13
+[ ]+478:[ ]+5f2d 7fff @IM+1cdc@[ ]+@OC@\.w \[r12=r2-129\],r13
+[ ]+47e:[ ]+5f2d ff00 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+255\],r13
+[ ]+484:[ ]+5f2d 01ff @IM+1cdc@[ ]+@OC@\.w \[r12=r2-255\],r13
+[ ]+48a:[ ]+5f2d 01ff @IM+1cdc@[ ]+@OC@\.w \[r12=r2-255\],r13
+[ ]+490:[ ]+5f2d 0001 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+256\],r13
+[ ]+496:[ ]+5f2d 00ff @IM+1cdc@[ ]+@OC@\.w \[r12=r2-256\],r13
+[ ]+49c:[ ]+5f2d 68dd @IM+1cdc@[ ]+@OC@\.w \[r12=r2-8856\],r13
+[ ]+4a2:[ ]+5f2d 68dd @IM+1cdc@[ ]+@OC@\.w \[r12=r2-8856\],r13
+[ ]+4a8:[ ]+5f2d 9822 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+8856\],r13
+[ ]+4ae:[ ]+2a21 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+42\],r13
+[ ]+4b2:[ ]+d621 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+4b6:[ ]+d621 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+4ba:[ ]+2a21 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+42\],r13
+[ ]+4be:[ ]+d621 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+4c2:[ ]+d621 @IM+1c5c@[ ]+@OC@\.w \[r12=r2-42\],r5
+[ ]+4c6:[ ]+d621 @IM+1c5c@[ ]+@OC@\.w \[r12=r2-42\],r5
+[ ]+4ca:[ ]+2a21 @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+42\],r5
+[ ]+4ce:[ ]+5f2d ff7f @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+32767\],r5
+[ ]+4d4:[ ]+6f2d 0080 0000 @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+4dc:[ ]+6f2d 0180 0000 @IM+1cdc@[ ]+@OC@\.w \[r12=r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+4e4:[ ]+5f2d 0180 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13
+[ ]+4ea:[ ]+5f2d 0080 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13
+[ ]+4f0:[ ]+6f2d ff7f ffff @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+4f8:[ ]+5f2d 0180 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32767\],r13
+[ ]+4fe:[ ]+5f2d 0080 @IM+1cdc@[ ]+@OC@\.w \[r12=r2-32768\],r13
+[ ]+504:[ ]+6f2d ff7f ffff @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+50c:[ ]+6f2d ffff 0000 @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+514:[ ]+6f2d 0000 0000 @IM+1c5c@[ ]+@OC@\.w \[r12=r2\+0( <notstart>)?\],r5
+[ ]+516:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+51c:[ ]+7309 @IM+0558@[ ]+@OC@\.b \[\[r3\]\],r5
+[ ]+520:[ ]+7209 @IM+1448@[ ]+@OC@\.w \[\[r2\]\],r4
+[ ]+524:[ ]+790d @IM+0778@[ ]+@OC@\.b \[\[r9\+\]\],r7
+[ ]+528:[ ]+730d @IM+1558@[ ]+@OC@\.w \[\[r3\+\]\],r5
+[ ]+52c:[ ]+7f0d 0000 0000 @IM+0558@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5
+[ ]+52e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+534:[ ]+7f0d 0000 0000 @IM+1448@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4
+[ ]+536:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+53c:[ ]+7f0d 0000 0000 @IM+0558@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5
+[ ]+53e:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+544:[ ]+7f0d 0000 0000 @IM+1448@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4
+[ ]+546:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+54c:[ ]+7309 @IM+0c58@[ ]+@OC@\.b \[\[r3\]\],r5,r12
+[ ]+550:[ ]+7209 @IM+1948@[ ]+@OC@\.w \[\[r2\]\],r4,r9
+[ ]+554:[ ]+790d @IM+0a78@[ ]+@OC@\.b \[\[r9\+\]\],r7,r10
+[ ]+558:[ ]+730d @IM+1958@[ ]+@OC@\.w \[\[r3\+\]\],r5,r9
+[ ]+55c:[ ]+7f0d 0000 0000 @IM+0758@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5,r7
+[ ]+55e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+564:[ ]+7f0d 0000 0000 @IM+1948@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4,r9
+[ ]+566:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+56c:[ ]+7f0d 0000 0000 @IM+0958@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5,r9
+[ ]+56e:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+574:[ ]+7f0d 0000 0000 @IM+1c48@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4,r12
+[ ]+576:[ ]+(R_CRIS_)?32[ ]+\.text
diff --git a/gas/testsuite/gas/cris/binop-segref.s b/gas/testsuite/gas/cris/binop-segref.s
new file mode 100644
index 0000000..66fc2cc
--- /dev/null
+++ b/gas/testsuite/gas/cris/binop-segref.s
@@ -0,0 +1,95 @@
+; This used to be part of the binop test; differences broke when the
+; broken-dot-word handling was broke and were moved here.
+
+ .text
+ .byte 56,43,42 ; Make sure we don't start at zero.
+
+; Some differences we want to see computed right, giving the right
+; size of the operands.
+;
+ .globl back_ref_text_zero
+back_ref_text_zero:
+ .space 42,0
+ .globl back_ref_text_fortytwo
+back_ref_text_fortytwo:
+ .space 32767-42,0
+ .globl back_ref_text_three2767
+back_ref_text_three2767:
+ .space 327767-32767,0
+ .globl back_ref_text_three27767
+back_ref_text_three27767:
+
+ .data
+ .globl back_ref_data_zero
+back_ref_data_zero:
+ .space 42,0
+ .globl back_ref_data_fortytwo
+back_ref_data_fortytwo:
+ .space 32767-42,0
+ .globl back_ref_data_three2767
+back_ref_data_three2767:
+ .space 327767-32767,0
+ .globl back_ref_data_three27767
+back_ref_data_three27767:
+
+ .text
+
+ add.b back_ref_data_fortytwo-back_ref_data_zero,r5
+ add.b forw_ref_data_fortytwo-forw_ref_data_zero,r5
+ add.b back_ref_text_fortytwo-back_ref_text_zero,r5
+ add.b forw_ref_text_fortytwo-forw_ref_text_zero,r5
+
+ add.w back_ref_data_fortytwo-back_ref_data_zero,r5
+ add.w forw_ref_data_fortytwo-forw_ref_data_zero,r5
+ add.w back_ref_text_fortytwo-back_ref_text_zero,r5
+ add.w forw_ref_text_fortytwo-forw_ref_text_zero,r5
+
+ add.w back_ref_data_three2767-back_ref_data_zero,r5
+ add.w forw_ref_data_three2767-forw_ref_data_zero,r5
+ add.w back_ref_text_three2767-back_ref_text_zero,r5
+ add.w forw_ref_text_three2767-forw_ref_text_zero,r5
+
+ add.d back_ref_data_fortytwo-back_ref_data_zero,r5
+ add.d forw_ref_data_fortytwo-forw_ref_data_zero,r5
+ add.d back_ref_text_fortytwo-back_ref_text_zero,r5
+ add.d forw_ref_text_fortytwo-forw_ref_text_zero,r5
+
+ add.d back_ref_data_three2767-back_ref_data_zero,r5
+ add.d forw_ref_data_three2767-forw_ref_data_zero,r5
+ add.d back_ref_text_three2767-back_ref_text_zero,r5
+ add.d forw_ref_text_three2767-forw_ref_text_zero,r5
+
+ add.d back_ref_data_three27767-back_ref_data_zero,r5
+ add.d forw_ref_data_three27767-forw_ref_data_zero,r5
+ add.d back_ref_text_three27767-back_ref_text_zero,r5
+ add.d forw_ref_text_three27767-forw_ref_text_zero,r5
+
+ .text
+; Don't have references to addresses immediately after the
+; tested code (I'm superstitious).
+ .byte 56,43,42
+
+ .globl forw_ref_text_zero
+forw_ref_text_zero:
+ .space 42,0
+ .globl forw_ref_text_fortytwo
+forw_ref_text_fortytwo:
+ .space 32767-42
+ .globl forw_ref_text_three2767
+forw_ref_text_three2767:
+ .space 327767-32767,0
+ .globl forw_ref_text_three27767
+forw_ref_text_three27767:
+
+ .data
+ .globl forw_ref_data_zero
+forw_ref_data_zero:
+ .space 42,0
+ .globl forw_ref_data_fortytwo
+forw_ref_data_fortytwo:
+ .globl forw_ref_data_three2767
+ .space 32767-42
+forw_ref_data_three2767:
+ .space 327767-32767,0
+ .globl forw_ref_data_three27767
+forw_ref_data_three27767:
diff --git a/gas/testsuite/gas/cris/binop.d b/gas/testsuite/gas/cris/binop.d
new file mode 100644
index 0000000..4ea0452
--- /dev/null
+++ b/gas/testsuite/gas/cris/binop.d
@@ -0,0 +1,571 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+ 0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IR+0356@[ ]+@OC@\.b r3,r5
+[ ]+6:[ ]+@IR+15d6@[ ]+@OC@\.w r5,r13
+[ ]+8:[ ]+@IR+2a16@[ ]+@OC@\.d r10,r1
+[ ]+a:[ ]+@IM+005a@[ ]+@OC@\.b \[r0\],r5
+[ ]+c:[ ]+@IM+15da@[ ]+@OC@\.w \[r5\],r13
+[ ]+e:[ ]+@IM+2a1a@[ ]+@OC@\.d \[r10\],r1
+[ ]+10:[ ]+@IM+005e@[ ]+@OC@\.b \[r0\+\],r5
+[ ]+12:[ ]+@IM+15de@[ ]+@OC@\.w \[r5\+\],r13
+[ ]+14:[ ]+@IM+2a1e@[ ]+@OC@\.d \[r10\+\],r1
+[ ]+16:[ ]+@IM+0f5e@ 0000[ ]+@OC@\.b 0x0,r5
+[ ]+1a:[ ]+@IM+0f5e@ 0100[ ]+@OC@\.b 0x1,r5
+[ ]+1e:[ ]+@IM+0f5e@ 7f00[ ]+@OC@\.b 0x7f,r5
+[ ]+22:[ ]+@IM+0f5e@ 8000[ ]+@OC@\.b 0x80,r5
+[ ]+26:[ ]+@IM+0f5e@ ffff[ ]+@OC@\.b 0xffff,r5
+[ ]+2a:[ ]+@IM+0f5e@ 81ff[ ]+@OC@\.b 0xff81,r5
+[ ]+2e:[ ]+@IM+0f5e@ 80ff[ ]+@OC@\.b 0xff80,r5
+[ ]+32:[ ]+@IM+0f5e@ ff00[ ]+@OC@\.b 0xff,r5
+[ ]+36:[ ]+@IM+0f5e@ 2a00[ ]+@OC@\.b 0x2a,r5
+[ ]+3a:[ ]+@IM+0f5e@ d6ff[ ]+@OC@\.b 0xffd6,r5
+[ ]+3e:[ ]+@IM+0f5e@ 2a00[ ]+@OC@\.b 0x2a,r5
+[ ]+42:[ ]+@IM+0f5e@ d6ff[ ]+@OC@\.b 0xffd6,r5
+[ ]+46:[ ]+@IM+0f5e@ d6ff[ ]+@OC@\.b 0xffd6,r5
+[ ]+4a:[ ]+@IM+0f5e@ 2a00[ ]+@OC@\.b 0x2a,r5
+[ ]+4e:[ ]+@IM+0f5e@ 0000[ ]+@OC@\.b 0x0,r5
+[ ]+50:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+52:[ ]+@IM+1fde@ 0000[ ]+@OC@\.w 0x0,r13
+[ ]+56:[ ]+@IM+1fde@ 0100[ ]+@OC@\.w 0x1,r13
+[ ]+5a:[ ]+@IM+1fde@ 7f00[ ]+@OC@\.w 0x7f,r13
+[ ]+5e:[ ]+@IM+1fde@ 8000[ ]+@OC@\.w 0x80,r13
+[ ]+62:[ ]+@IM+1fde@ ffff[ ]+@OC@\.w 0xffff,r13
+[ ]+66:[ ]+@IM+1fde@ 81ff[ ]+@OC@\.w 0xff81,r13
+[ ]+6a:[ ]+@IM+1fde@ 80ff[ ]+@OC@\.w 0xff80,r13
+[ ]+6e:[ ]+@IM+1fde@ 7fff[ ]+@OC@\.w 0xff7f,r13
+[ ]+72:[ ]+@IM+1fde@ ff00[ ]+@OC@\.w 0xff,r13
+[ ]+76:[ ]+@IM+1fde@ 01ff[ ]+@OC@\.w 0xff01,r13
+[ ]+7a:[ ]+@IM+1fde@ 0001[ ]+@OC@\.w 0x[0]?100,r13
+[ ]+7e:[ ]+@IM+1fde@ 68dd[ ]+@OC@\.w 0xdd68,r13
+[ ]+82:[ ]+@IM+1fde@ 9822[ ]+@OC@\.w 0x2298,r13
+[ ]+86:[ ]+@IM+1fde@ 2a00[ ]+@OC@\.w 0x2a,r13
+[ ]+8a:[ ]+@IM+1fde@ d6ff[ ]+@OC@\.w 0xffd6,r13
+[ ]+8e:[ ]+@IM+1fde@ 2a00[ ]+@OC@\.w 0x2a,r13
+[ ]+92:[ ]+@IM+1fde@ d6ff[ ]+@OC@\.w 0xffd6,r13
+[ ]+96:[ ]+@IM+1f5e@ d6ff[ ]+@OC@\.w 0xffd6,r5
+[ ]+9a:[ ]+@IM+1f5e@ 2a00[ ]+@OC@\.w 0x2a,r5
+[ ]+9e:[ ]+@IM+1f5e@ ff7f[ ]+@OC@\.w 0x7fff,r5
+[ ]+a2:[ ]+@IM+1f5e@ 0080[ ]+@OC@\.w 0x8000,r5
+[ ]+a6:[ ]+@IM+1fde@ 0180[ ]+@OC@\.w 0x8001,r13
+[ ]+aa:[ ]+@IM+1fde@ 0180[ ]+@OC@\.w 0x8001,r13
+[ ]+ae:[ ]+@IM+1fde@ 0080[ ]+@OC@\.w 0x8000,r13
+[ ]+b2:[ ]+@IM+1f5e@ ffff[ ]+@OC@\.w 0xffff,r5
+[ ]+b6:[ ]+@IM+1f5e@ 0000[ ]+@OC@\.w 0x0,r5
+[ ]+b8:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+ba:[ ]+@IM+2f1e@ 0000 0000[ ]+@OC@\.d (0x0|0 <notstart>),r1
+[ ]+c0:[ ]+@IM+2f1e@ 0100 0000[ ]+@OC@\.d (0x1|1 <notstart\+0x1>),r1
+[ ]+c6:[ ]+@IM+2f1e@ 7f00 0000[ ]+@OC@\.d (0x7f|7f <start\+0x7b>),r1
+[ ]+cc:[ ]+@IM+2f1e@ 8000 0000[ ]+@OC@\.d (0x80|80 <start\+0x7c>),r1
+[ ]+d2:[ ]+@IM+2f1e@ ffff ffff[ ]+@OC@\.d 0xffffffff,r1
+[ ]+d8:[ ]+@IM+2f1e@ 81ff ffff[ ]+@OC@\.d 0xffffff81,r1
+[ ]+de:[ ]+@IM+2f1e@ 80ff ffff[ ]+@OC@\.d 0xffffff80,r1
+[ ]+e4:[ ]+@IM+2f1e@ ff00 0000[ ]+@OC@\.d (0xff|ff <start\+0xfb>),r1
+[ ]+ea:[ ]+@IM+2f1e@ 01ff ffff[ ]+@OC@\.d 0xffffff01,r1
+[ ]+f0:[ ]+@IM+2f1e@ 0001 0000[ ]+@OC@\.d (0x[0]?100|100 <start\+0xfc>),r1
+[ ]+f6:[ ]+@IM+2f1e@ 68dd ffff[ ]+@OC@\.d 0xffffdd68,r1
+[ ]+fc:[ ]+@IM+2f1e@ 9822 0000[ ]+@OC@\.d (0x2298|2298 <end\+0x1806>),r1
+[ ]+102:[ ]+@IM+2f1e@ ac72 2a00[ ]+@OC@\.d (0x2a72ac|2a72ac <two701867\+0x13881>),r1
+[ ]+108:[ ]+@IM+2f1e@ d5c5 d6ff[ ]+@OC@\.d 0xffd6c5d5,r1
+[ ]+10e:[ ]+@IM+2f1e@ acce c09e[ ]+@OC@\.d (0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>),r1
+[ ]+114:[ ]+@IM+2f1e@ 5331 3f81[ ]+@OC@\.d (0x813f3153|813f3153 <const_int_m32\+0x52a6819e>),r1
+[ ]+11a:[ ]+@IM+2f1e@ b5af 982e[ ]+@OC@\.d (0x2e98afb5|2e98afb5 <const_int_m32>),r1
+[ ]+120:[ ]+@IM+2f1e@ 2b45 941b[ ]+@OC@\.d (0x1b94452b|1b94452b <const_int_32>),r1
+[ ]+126:[ ]+@IM+2fde@ 2a00 0000[ ]+@OC@\.d (0x2a|2a <start\+0x26>),r13
+[ ]+12c:[ ]+@IM+2f5e@ d6ff ffff[ ]+@OC@\.d 0xffffffd6,r5
+[ ]+132:[ ]+@IM+2f5e@ 2a00 0000[ ]+@OC@\.d (0x2a|2a <start\+0x26>),r5
+[ ]+138:[ ]+@IM+2f5e@ d6ff ffff[ ]+@OC@\.d 0xffffffd6,r5
+[ ]+13e:[ ]+@IM+2f5e@ d6ff ffff[ ]+@OC@\.d 0xffffffd6,r5
+[ ]+144:[ ]+@IM+2f5e@ 2a00 0000[ ]+@OC@\.d (0x2a|2a <start\+0x26>),r5
+[ ]+14a:[ ]+@IM+2f5e@ ff7f 0000[ ]+@OC@\.d (0x7fff|7fff <three2767>),r5
+[ ]+150:[ ]+@IM+2f5e@ 0080 0000[ ]+@OC@\.d (0x8000|8000 <three2767\+0x1>),r5
+[ ]+156:[ ]+@IM+2f5e@ 0180 0000[ ]+@OC@\.d (0x8001|8001 <three2767\+0x2>),r5
+[ ]+15c:[ ]+@IM+2f5e@ 0180 ffff[ ]+@OC@\.d 0xffff8001,r5
+[ ]+162:[ ]+@IM+2fde@ 0080 ffff[ ]+@OC@\.d 0xffff8000,r13
+[ ]+168:[ ]+@IM+2fde@ ff7f ffff[ ]+@OC@\.d 0xffff7fff,r13
+[ ]+16e:[ ]+@IM+2f5e@ ffff 0000[ ]+@OC@\.d (0xffff|ffff <six5535>),r5
+[ ]+174:[ ]+@IM+2fde@ 0000 0100[ ]+@OC@\.d (0x[0]?10000|10000 <six5535\+0x1>),r13
+[ ]+17a:[ ]+@IM+2f5e@ 2b3a 2900[ ]+@OC@\.d (0x293a2b|293a2b <two701867>),r5
+[ ]+180:[ ]+@IM+2f5e@ d5c5 d6ff[ ]+@OC@\.d 0xffd6c5d5,r5
+[ ]+186:[ ]+@IM+2f5e@ 0000 0000[ ]+@OC@\.d (0x0|0 <notstart>),r5
+[ ]+188:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+18c:[ ]+4205 @IM+055a@[ ]+@OC@\.b \[r2\+r0\.b\],r5
+[ ]+190:[ ]+4255 @IM+1dda@[ ]+@OC@\.w \[r2\+r5\.b\],r13
+[ ]+194:[ ]+42a5 @IM+211a@[ ]+@OC@\.d \[r2\+r10\.b\],r1
+[ ]+198:[ ]+4029 @IM+055a@[ ]+@OC@\.b \[r2\+\[r0\]\.b\],r5
+[ ]+19c:[ ]+4529 @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\]\.b\],r13
+[ ]+1a0:[ ]+4a29 @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\]\.b\],r1
+[ ]+1a4:[ ]+402d @IM+055a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.b\],r5
+[ ]+1a8:[ ]+452d @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+1ac:[ ]+4a2d @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.b\],r1
+[ ]+1b0:[ ]+452d @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13
+[ ]+1b4:[ ]+4a2d @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.b\],r1
+[ ]+1b8:[ ]+5205 @IM+055a@[ ]+@OC@\.b \[r2\+r0\.w\],r5
+[ ]+1bc:[ ]+5255 @IM+1dda@[ ]+@OC@\.w \[r2\+r5\.w\],r13
+[ ]+1c0:[ ]+52a5 @IM+211a@[ ]+@OC@\.d \[r2\+r10\.w\],r1
+[ ]+1c4:[ ]+5029 @IM+055a@[ ]+@OC@\.b \[r2\+\[r0\]\.w\],r5
+[ ]+1c8:[ ]+5529 @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\]\.w\],r13
+[ ]+1cc:[ ]+5a29 @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\]\.w\],r1
+[ ]+1d0:[ ]+502d @IM+055a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.w\],r5
+[ ]+1d4:[ ]+552d @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+1d8:[ ]+5a2d @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.w\],r1
+[ ]+1dc:[ ]+552d @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13
+[ ]+1e0:[ ]+5a2d @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.w\],r1
+[ ]+1e4:[ ]+6205 @IM+055a@[ ]+@OC@\.b \[r2\+r0\.d\],r5
+[ ]+1e8:[ ]+6255 @IM+1dda@[ ]+@OC@\.w \[r2\+r5\.d\],r13
+[ ]+1ec:[ ]+62a5 @IM+211a@[ ]+@OC@\.d \[r2\+r10\.d\],r1
+[ ]+1f0:[ ]+6029 @IM+055a@[ ]+@OC@\.b \[r2\+\[r0\]\.d\],r5
+[ ]+1f4:[ ]+6529 @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\]\.d\],r13
+[ ]+1f8:[ ]+6a29 @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\]\.d\],r1
+[ ]+1fc:[ ]+602d @IM+055a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.d\],r5
+[ ]+200:[ ]+652d @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+204:[ ]+6a2d @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.d\],r1
+[ ]+208:[ ]+652d @IM+1dda@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13
+[ ]+20c:[ ]+6a2d @IM+211a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.d\],r1
+[ ]+210:[ ]+0021 @IM+055a@[ ]+@OC@\.b \[r2\+0\],r5
+[ ]+214:[ ]+0121 @IM+055a@[ ]+@OC@\.b \[r2\+1\],r5
+[ ]+218:[ ]+7f21 @IM+055a@[ ]+@OC@\.b \[r2\+127\],r5
+[ ]+21c:[ ]+5f2d 8000 @IM+055a@[ ]+@OC@\.b \[r2\+128\],r5
+[ ]+222:[ ]+ff21 @IM+055a@[ ]+@OC@\.b \[r2-1\],r5
+[ ]+226:[ ]+8121 @IM+055a@[ ]+@OC@\.b \[r2-127\],r5
+[ ]+22a:[ ]+8021 @IM+055a@[ ]+@OC@\.b \[r2-128\],r5
+[ ]+22e:[ ]+5f2d ff00 @IM+055a@[ ]+@OC@\.b \[r2\+255\],r5
+[ ]+234:[ ]+2a21 @IM+055a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+238:[ ]+d621 @IM+055a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+23c:[ ]+d621 @IM+055a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+240:[ ]+2a21 @IM+055a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+244:[ ]+d621 @IM+055a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+248:[ ]+d621 @IM+055a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+24c:[ ]+2a21 @IM+055a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+250:[ ]+d621 @IM+055a@[ ]+@OC@\.b \[r2-42\],r5
+[ ]+254:[ ]+2a21 @IM+055a@[ ]+@OC@\.b \[r2\+42\],r5
+[ ]+258:[ ]+6f2d 0000 0000 @IM+055a@[ ]+@OC@\.b \[r2\+0( <notstart>)?\],r5
+[ ]+25a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+260:[ ]+0021 @IM+1dda@[ ]+@OC@\.w \[r2\+0\],r13
+[ ]+264:[ ]+0121 @IM+1dda@[ ]+@OC@\.w \[r2\+1\],r13
+[ ]+268:[ ]+7f21 @IM+1dda@[ ]+@OC@\.w \[r2\+127\],r13
+[ ]+26c:[ ]+5f2d 8000 @IM+1dda@[ ]+@OC@\.w \[r2\+128\],r13
+[ ]+272:[ ]+ff21 @IM+1dda@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+276:[ ]+ff21 @IM+1dda@[ ]+@OC@\.w \[r2-1\],r13
+[ ]+27a:[ ]+8121 @IM+1dda@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+27e:[ ]+8021 @IM+1dda@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+282:[ ]+5f2d 7fff @IM+1dda@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+288:[ ]+8121 @IM+1dda@[ ]+@OC@\.w \[r2-127\],r13
+[ ]+28c:[ ]+8021 @IM+1dda@[ ]+@OC@\.w \[r2-128\],r13
+[ ]+290:[ ]+5f2d 7fff @IM+1dda@[ ]+@OC@\.w \[r2-129\],r13
+[ ]+296:[ ]+5f2d ff00 @IM+1dda@[ ]+@OC@\.w \[r2\+255\],r13
+[ ]+29c:[ ]+5f2d 01ff @IM+1dda@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+2a2:[ ]+5f2d 01ff @IM+1dda@[ ]+@OC@\.w \[r2-255\],r13
+[ ]+2a8:[ ]+5f2d 0001 @IM+1dda@[ ]+@OC@\.w \[r2\+256\],r13
+[ ]+2ae:[ ]+5f2d 00ff @IM+1dda@[ ]+@OC@\.w \[r2-256\],r13
+[ ]+2b4:[ ]+5f2d 68dd @IM+1dda@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+2ba:[ ]+5f2d 68dd @IM+1dda@[ ]+@OC@\.w \[r2-8856\],r13
+[ ]+2c0:[ ]+5f2d 9822 @IM+1dda@[ ]+@OC@\.w \[r2\+8856\],r13
+[ ]+2c6:[ ]+2a21 @IM+1dda@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+2ca:[ ]+d621 @IM+1dda@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+2ce:[ ]+d621 @IM+1dda@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+2d2:[ ]+2a21 @IM+1dda@[ ]+@OC@\.w \[r2\+42\],r13
+[ ]+2d6:[ ]+d621 @IM+1dda@[ ]+@OC@\.w \[r2-42\],r13
+[ ]+2da:[ ]+d621 @IM+155a@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+2de:[ ]+d621 @IM+155a@[ ]+@OC@\.w \[r2-42\],r5
+[ ]+2e2:[ ]+2a21 @IM+155a@[ ]+@OC@\.w \[r2\+42\],r5
+[ ]+2e6:[ ]+5f2d ff7f @IM+155a@[ ]+@OC@\.w \[r2\+32767\],r5
+[ ]+2ec:[ ]+6f2d 0080 0000 @IM+155a@[ ]+@OC@\.w \[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+2f4:[ ]+6f2d 0180 0000 @IM+1dda@[ ]+@OC@\.w \[r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+2fc:[ ]+5f2d 0180 @IM+1dda@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+302:[ ]+5f2d 0080 @IM+1dda@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+308:[ ]+6f2d ff7f ffff @IM+155a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+310:[ ]+5f2d 0180 @IM+1dda@[ ]+@OC@\.w \[r2-32767\],r13
+[ ]+316:[ ]+5f2d 0080 @IM+1dda@[ ]+@OC@\.w \[r2-32768\],r13
+[ ]+31c:[ ]+6f2d ff7f ffff @IM+155a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+324:[ ]+6f2d ffff 0000 @IM+155a@[ ]+@OC@\.w \[r2\+(65535|ffff <six5535>)\],r5
+[ ]+32c:[ ]+6f2d 0000 0000 @IM+155a@[ ]+@OC@\.w \[r2\+0( <notstart>)?\],r5
+[ ]+32e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+334:[ ]+0021 @IM+211a@[ ]+@OC@\.d \[r2\+0\],r1
+[ ]+338:[ ]+0121 @IM+211a@[ ]+@OC@\.d \[r2\+1\],r1
+[ ]+33c:[ ]+7f21 @IM+211a@[ ]+@OC@\.d \[r2\+127\],r1
+[ ]+340:[ ]+5f2d 8000 @IM+211a@[ ]+@OC@\.d \[r2\+128\],r1
+[ ]+346:[ ]+ff21 @IM+211a@[ ]+@OC@\.d \[r2-1\],r1
+[ ]+34a:[ ]+ff21 @IM+211a@[ ]+@OC@\.d \[r2-1\],r1
+[ ]+34e:[ ]+8121 @IM+211a@[ ]+@OC@\.d \[r2-127\],r1
+[ ]+352:[ ]+8021 @IM+211a@[ ]+@OC@\.d \[r2-128\],r1
+[ ]+356:[ ]+8121 @IM+211a@[ ]+@OC@\.d \[r2-127\],r1
+[ ]+35a:[ ]+8021 @IM+211a@[ ]+@OC@\.d \[r2-128\],r1
+[ ]+35e:[ ]+5f2d ff00 @IM+211a@[ ]+@OC@\.d \[r2\+255\],r1
+[ ]+364:[ ]+5f2d 01ff @IM+211a@[ ]+@OC@\.d \[r2-255\],r1
+[ ]+36a:[ ]+5f2d 01ff @IM+211a@[ ]+@OC@\.d \[r2-255\],r1
+[ ]+370:[ ]+5f2d 0001 @IM+211a@[ ]+@OC@\.d \[r2\+256\],r1
+[ ]+376:[ ]+5f2d 00ff @IM+211a@[ ]+@OC@\.d \[r2-256\],r1
+[ ]+37c:[ ]+5f2d 68dd @IM+211a@[ ]+@OC@\.d \[r2-8856\],r1
+[ ]+382:[ ]+5f2d 00ff @IM+211a@[ ]+@OC@\.d \[r2-256\],r1
+[ ]+388:[ ]+5f2d 68dd @IM+211a@[ ]+@OC@\.d \[r2-8856\],r1
+[ ]+38e:[ ]+5f2d 9822 @IM+211a@[ ]+@OC@\.d \[r2\+8856\],r1
+[ ]+394:[ ]+6f2d ac72 2a00 @IM+211a@[ ]+@OC@\.d \[r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1
+[ ]+39c:[ ]+6f2d d5c5 d6ff @IM+211a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1
+[ ]+3a4:[ ]+6f2d acce c09e @IM+211a@[ ]+@OC@\.d \[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1
+[ ]+3ac:[ ]+6f2d 5331 3f81 @IM+211a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+3b4:[ ]+6f2d 5331 3f81 @IM+211a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+3bc:[ ]+6f2d b5af 982e @IM+211a@[ ]+@OC@\.d \[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1
+[ ]+3c4:[ ]+6f2d 2b45 941b @IM+211a@[ ]+@OC@\.d \[r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1
+[ ]+3cc:[ ]+2a21 @IM+2dda@[ ]+@OC@\.d \[r2\+42\],r13
+[ ]+3d0:[ ]+d621 @IM+255a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3d4:[ ]+d621 @IM+255a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3d8:[ ]+2a21 @IM+255a@[ ]+@OC@\.d \[r2\+42\],r5
+[ ]+3dc:[ ]+d621 @IM+255a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3e0:[ ]+d621 @IM+255a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3e4:[ ]+2a21 @IM+255a@[ ]+@OC@\.d \[r2\+42\],r5
+[ ]+3e8:[ ]+d621 @IM+255a@[ ]+@OC@\.d \[r2-42\],r5
+[ ]+3ec:[ ]+2a21 @IM+255a@[ ]+@OC@\.d \[r2\+42\],r5
+[ ]+3f0:[ ]+5f2d ff7f @IM+255a@[ ]+@OC@\.d \[r2\+32767\],r5
+[ ]+3f6:[ ]+6f2d 0080 0000 @IM+255a@[ ]+@OC@\.d \[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+3fe:[ ]+6f2d 0180 0000 @IM+255a@[ ]+@OC@\.d \[r2\+(32769|8001 <three2767\+0x2>)\],r5
+[ ]+406:[ ]+5f2d 0180 @IM+255a@[ ]+@OC@\.d \[r2-32767\],r5
+[ ]+40c:[ ]+5f2d 0080 @IM+2dda@[ ]+@OC@\.d \[r2-32768\],r13
+[ ]+412:[ ]+6f2d ff7f ffff @IM+2dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+41a:[ ]+5f2d 0180 @IM+255a@[ ]+@OC@\.d \[r2-32767\],r5
+[ ]+420:[ ]+5f2d 0080 @IM+2dda@[ ]+@OC@\.d \[r2-32768\],r13
+[ ]+426:[ ]+6f2d ff7f ffff @IM+2dda@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+42e:[ ]+6f2d ffff 0000 @IM+255a@[ ]+@OC@\.d \[r2\+(65535|ffff <six5535>)\],r5
+[ ]+436:[ ]+6f2d 0000 0100 @IM+2dda@[ ]+@OC@\.d \[r2\+(65536|10000 <six5535\+0x1>)\],r13
+[ ]+43e:[ ]+6f2d 2b3a 2900 @IM+255a@[ ]+@OC@\.d \[r2\+(2701867|293a2b <two701867>)\],r5
+[ ]+446:[ ]+6f2d d5c5 d6ff @IM+255a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+44e:[ ]+6f2d d5c5 d6ff @IM+255a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+456:[ ]+6f2d 0000 0000 @IM+255a@[ ]+@OC@\.d \[r2\+0( <notstart>)?\],r5
+[ ]+458:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+45e:[ ]+4205 @IM+085a@[ ]+@OC@\.b \[r2\+r0\.b\],r5,r8
+[ ]+462:[ ]+4255 @IM+18da@[ ]+@OC@\.w \[r2\+r5\.b\],r13,r8
+[ ]+466:[ ]+42a5 @IM+281a@[ ]+@OC@\.d \[r2\+r10\.b\],r1,r8
+[ ]+46a:[ ]+4029 @IM+085a@[ ]+@OC@\.b \[r2\+\[r0\]\.b\],r5,r8
+[ ]+46e:[ ]+4529 @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\]\.b\],r13,r8
+[ ]+472:[ ]+4a29 @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\]\.b\],r1,r8
+[ ]+476:[ ]+402d @IM+085a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.b\],r5,r8
+[ ]+47a:[ ]+452d @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13,r8
+[ ]+47e:[ ]+4a2d @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.b\],r1,r8
+[ ]+482:[ ]+452d @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\+\]\.b\],r13,r8
+[ ]+486:[ ]+4a2d @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.b\],r1,r8
+[ ]+48a:[ ]+5205 @IM+085a@[ ]+@OC@\.b \[r2\+r0\.w\],r5,r8
+[ ]+48e:[ ]+5255 @IM+18da@[ ]+@OC@\.w \[r2\+r5\.w\],r13,r8
+[ ]+492:[ ]+52a5 @IM+281a@[ ]+@OC@\.d \[r2\+r10\.w\],r1,r8
+[ ]+496:[ ]+5029 @IM+085a@[ ]+@OC@\.b \[r2\+\[r0\]\.w\],r5,r8
+[ ]+49a:[ ]+5529 @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\]\.w\],r13,r8
+[ ]+49e:[ ]+5a29 @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\]\.w\],r1,r8
+[ ]+4a2:[ ]+502d @IM+085a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.w\],r5,r8
+[ ]+4a6:[ ]+552d @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13,r8
+[ ]+4aa:[ ]+5a2d @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.w\],r1,r8
+[ ]+4ae:[ ]+552d @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\+\]\.w\],r13,r8
+[ ]+4b2:[ ]+5a2d @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.w\],r1,r8
+[ ]+4b6:[ ]+6205 @IM+085a@[ ]+@OC@\.b \[r2\+r0\.d\],r5,r8
+[ ]+4ba:[ ]+6255 @IM+18da@[ ]+@OC@\.w \[r2\+r5\.d\],r13,r8
+[ ]+4be:[ ]+62a5 @IM+281a@[ ]+@OC@\.d \[r2\+r10\.d\],r1,r8
+[ ]+4c2:[ ]+6029 @IM+085a@[ ]+@OC@\.b \[r2\+\[r0\]\.d\],r5,r8
+[ ]+4c6:[ ]+6529 @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\]\.d\],r13,r8
+[ ]+4ca:[ ]+6a29 @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\]\.d\],r1,r8
+[ ]+4ce:[ ]+602d @IM+085a@[ ]+@OC@\.b \[r2\+\[r0\+\]\.d\],r5,r8
+[ ]+4d2:[ ]+652d @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13,r8
+[ ]+4d6:[ ]+6a2d @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.d\],r1,r8
+[ ]+4da:[ ]+652d @IM+18da@[ ]+@OC@\.w \[r2\+\[r5\+\]\.d\],r13,r8
+[ ]+4de:[ ]+6a2d @IM+281a@[ ]+@OC@\.d \[r2\+\[r10\+\]\.d\],r1,r8
+[ ]+4e2:[ ]+0021 @IM+085a@[ ]+@OC@\.b \[r2\+0\],r5,r8
+[ ]+4e6:[ ]+0121 @IM+085a@[ ]+@OC@\.b \[r2\+1\],r5,r8
+[ ]+4ea:[ ]+7f21 @IM+085a@[ ]+@OC@\.b \[r2\+127\],r5,r8
+[ ]+4ee:[ ]+5f2d 8000 @IM+085a@[ ]+@OC@\.b \[r2\+128\],r5,r8
+[ ]+4f4:[ ]+ff21 @IM+085a@[ ]+@OC@\.b \[r2-1\],r5,r8
+[ ]+4f8:[ ]+8121 @IM+085a@[ ]+@OC@\.b \[r2-127\],r5,r8
+[ ]+4fc:[ ]+8021 @IM+085a@[ ]+@OC@\.b \[r2-128\],r5,r8
+[ ]+500:[ ]+5f2d ff00 @IM+085a@[ ]+@OC@\.b \[r2\+255\],r5,r8
+[ ]+506:[ ]+2a21 @IM+085a@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+50a:[ ]+d621 @IM+085a@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+50e:[ ]+d621 @IM+085a@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+512:[ ]+2a21 @IM+085a@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+516:[ ]+d621 @IM+085a@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+51a:[ ]+d621 @IM+085a@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+51e:[ ]+2a21 @IM+085a@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+522:[ ]+d621 @IM+085a@[ ]+@OC@\.b \[r2-42\],r5,r8
+[ ]+526:[ ]+2a21 @IM+085a@[ ]+@OC@\.b \[r2\+42\],r5,r8
+[ ]+52a:[ ]+6f2d 0000 0000 @IM+085a@[ ]+@OC@\.b \[r2\+0( <notstart>)?\],r5,r8
+[ ]+52c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+532:[ ]+0021 @IM+18da@[ ]+@OC@\.w \[r2\+0\],r13,r8
+[ ]+536:[ ]+0121 @IM+18da@[ ]+@OC@\.w \[r2\+1\],r13,r8
+[ ]+53a:[ ]+7f21 @IM+18da@[ ]+@OC@\.w \[r2\+127\],r13,r8
+[ ]+53e:[ ]+5f2d 8000 @IM+18da@[ ]+@OC@\.w \[r2\+128\],r13,r8
+[ ]+544:[ ]+ff21 @IM+18da@[ ]+@OC@\.w \[r2-1\],r13,r8
+[ ]+548:[ ]+ff21 @IM+18da@[ ]+@OC@\.w \[r2-1\],r13,r8
+[ ]+54c:[ ]+8121 @IM+18da@[ ]+@OC@\.w \[r2-127\],r13,r8
+[ ]+550:[ ]+8021 @IM+18da@[ ]+@OC@\.w \[r2-128\],r13,r8
+[ ]+554:[ ]+5f2d 7fff @IM+18da@[ ]+@OC@\.w \[r2-129\],r13,r8
+[ ]+55a:[ ]+8121 @IM+18da@[ ]+@OC@\.w \[r2-127\],r13,r8
+[ ]+55e:[ ]+8021 @IM+18da@[ ]+@OC@\.w \[r2-128\],r13,r8
+[ ]+562:[ ]+5f2d 7fff @IM+18da@[ ]+@OC@\.w \[r2-129\],r13,r8
+[ ]+568:[ ]+5f2d ff00 @IM+18da@[ ]+@OC@\.w \[r2\+255\],r13,r8
+[ ]+56e:[ ]+5f2d 01ff @IM+18da@[ ]+@OC@\.w \[r2-255\],r13,r8
+[ ]+574:[ ]+5f2d 01ff @IM+18da@[ ]+@OC@\.w \[r2-255\],r13,r8
+[ ]+57a:[ ]+5f2d 0001 @IM+18da@[ ]+@OC@\.w \[r2\+256\],r13,r8
+[ ]+580:[ ]+5f2d 00ff @IM+18da@[ ]+@OC@\.w \[r2-256\],r13,r8
+[ ]+586:[ ]+5f2d 68dd @IM+18da@[ ]+@OC@\.w \[r2-8856\],r13,r8
+[ ]+58c:[ ]+5f2d 68dd @IM+18da@[ ]+@OC@\.w \[r2-8856\],r13,r8
+[ ]+592:[ ]+5f2d 9822 @IM+18da@[ ]+@OC@\.w \[r2\+8856\],r13,r8
+[ ]+598:[ ]+2a21 @IM+18da@[ ]+@OC@\.w \[r2\+42\],r13,r8
+[ ]+59c:[ ]+d621 @IM+18da@[ ]+@OC@\.w \[r2-42\],r13,r8
+[ ]+5a0:[ ]+d621 @IM+18da@[ ]+@OC@\.w \[r2-42\],r13,r8
+[ ]+5a4:[ ]+2a21 @IM+18da@[ ]+@OC@\.w \[r2\+42\],r13,r8
+[ ]+5a8:[ ]+d621 @IM+18da@[ ]+@OC@\.w \[r2-42\],r13,r8
+[ ]+5ac:[ ]+d621 @IM+185a@[ ]+@OC@\.w \[r2-42\],r5,r8
+[ ]+5b0:[ ]+d621 @IM+185a@[ ]+@OC@\.w \[r2-42\],r5,r8
+[ ]+5b4:[ ]+2a21 @IM+185a@[ ]+@OC@\.w \[r2\+42\],r5,r8
+[ ]+5b8:[ ]+5f2d ff7f @IM+185a@[ ]+@OC@\.w \[r2\+32767\],r5,r8
+[ ]+5be:[ ]+6f2d 0080 0000 @IM+185a@[ ]+@OC@\.w \[r2\+(32768|8000 <three2767\+0x1>)\],r5,r8
+[ ]+5c6:[ ]+6f2d 0180 0000 @IM+18da@[ ]+@OC@\.w \[r2\+(32769|8001 <three2767\+0x2>)\],r13,r8
+[ ]+5ce:[ ]+5f2d 0180 @IM+18da@[ ]+@OC@\.w \[r2-32767\],r13,r8
+[ ]+5d4:[ ]+5f2d 0080 @IM+18da@[ ]+@OC@\.w \[r2-32768\],r13,r8
+[ ]+5da:[ ]+6f2d ff7f ffff @IM+185a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5,r8
+[ ]+5e2:[ ]+5f2d 0180 @IM+18da@[ ]+@OC@\.w \[r2-32767\],r13,r8
+[ ]+5e8:[ ]+5f2d 0080 @IM+18da@[ ]+@OC@\.w \[r2-32768\],r13,r8
+[ ]+5ee:[ ]+6f2d ff7f ffff @IM+185a@[ ]+@OC@\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5,r8
+[ ]+5f6:[ ]+6f2d ffff 0000 @IM+185a@[ ]+@OC@\.w \[r2\+(65535|ffff <six5535>)\],r5,r8
+[ ]+5fe:[ ]+6f2d 0000 0000 @IM+185a@[ ]+@OC@\.w \[r2\+0( <notstart>)?\],r5,r8
+[ ]+600:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+606:[ ]+0021 @IM+281a@[ ]+@OC@\.d \[r2\+0\],r1,r8
+[ ]+60a:[ ]+0121 @IM+281a@[ ]+@OC@\.d \[r2\+1\],r1,r8
+[ ]+60e:[ ]+7f21 @IM+281a@[ ]+@OC@\.d \[r2\+127\],r1,r8
+[ ]+612:[ ]+5f2d 8000 @IM+281a@[ ]+@OC@\.d \[r2\+128\],r1,r8
+[ ]+618:[ ]+ff21 @IM+281a@[ ]+@OC@\.d \[r2-1\],r1,r8
+[ ]+61c:[ ]+ff21 @IM+281a@[ ]+@OC@\.d \[r2-1\],r1,r8
+[ ]+620:[ ]+8121 @IM+281a@[ ]+@OC@\.d \[r2-127\],r1,r8
+[ ]+624:[ ]+8021 @IM+281a@[ ]+@OC@\.d \[r2-128\],r1,r8
+[ ]+628:[ ]+8121 @IM+281a@[ ]+@OC@\.d \[r2-127\],r1,r8
+[ ]+62c:[ ]+8021 @IM+281a@[ ]+@OC@\.d \[r2-128\],r1,r8
+[ ]+630:[ ]+5f2d ff00 @IM+281a@[ ]+@OC@\.d \[r2\+255\],r1,r8
+[ ]+636:[ ]+5f2d 01ff @IM+281a@[ ]+@OC@\.d \[r2-255\],r1,r8
+[ ]+63c:[ ]+5f2d 01ff @IM+281a@[ ]+@OC@\.d \[r2-255\],r1,r8
+[ ]+642:[ ]+5f2d 0001 @IM+281a@[ ]+@OC@\.d \[r2\+256\],r1,r8
+[ ]+648:[ ]+5f2d 00ff @IM+281a@[ ]+@OC@\.d \[r2-256\],r1,r8
+[ ]+64e:[ ]+5f2d 68dd @IM+281a@[ ]+@OC@\.d \[r2-8856\],r1,r8
+[ ]+654:[ ]+5f2d 00ff @IM+281a@[ ]+@OC@\.d \[r2-256\],r1,r8
+[ ]+65a:[ ]+5f2d 68dd @IM+281a@[ ]+@OC@\.d \[r2-8856\],r1,r8
+[ ]+660:[ ]+5f2d 9822 @IM+281a@[ ]+@OC@\.d \[r2\+8856\],r1,r8
+[ ]+666:[ ]+6f2d ac72 2a00 @IM+281a@[ ]+@OC@\.d \[r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1,r8
+[ ]+66e:[ ]+6f2d d5c5 d6ff @IM+281a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1,r8
+[ ]+676:[ ]+6f2d acce c09e @IM+281a@[ ]+@OC@\.d \[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1,r8
+[ ]+67e:[ ]+6f2d 5331 3f81 @IM+281a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1,r8
+[ ]+686:[ ]+6f2d 5331 3f81 @IM+281a@[ ]+@OC@\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1,r8
+[ ]+68e:[ ]+6f2d b5af 982e @IM+281a@[ ]+@OC@\.d \[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1,r8
+[ ]+696:[ ]+6f2d 2b45 941b @IM+281a@[ ]+@OC@\.d \[r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1,r8
+[ ]+69e:[ ]+2a21 @IM+28da@[ ]+@OC@\.d \[r2\+42\],r13,r8
+[ ]+6a2:[ ]+d621 @IM+285a@[ ]+@OC@\.d \[r2-42\],r5,r8
+[ ]+6a6:[ ]+d621 @IM+285a@[ ]+@OC@\.d \[r2-42\],r5,r8
+[ ]+6aa:[ ]+2a21 @IM+285a@[ ]+@OC@\.d \[r2\+42\],r5,r8
+[ ]+6ae:[ ]+d621 @IM+285a@[ ]+@OC@\.d \[r2-42\],r5,r8
+[ ]+6b2:[ ]+d621 @IM+285a@[ ]+@OC@\.d \[r2-42\],r5,r8
+[ ]+6b6:[ ]+2a21 @IM+285a@[ ]+@OC@\.d \[r2\+42\],r5,r8
+[ ]+6ba:[ ]+d621 @IM+285a@[ ]+@OC@\.d \[r2-42\],r5,r8
+[ ]+6be:[ ]+2a21 @IM+285a@[ ]+@OC@\.d \[r2\+42\],r5,r8
+[ ]+6c2:[ ]+5f2d ff7f @IM+285a@[ ]+@OC@\.d \[r2\+32767\],r5,r8
+[ ]+6c8:[ ]+6f2d 0080 0000 @IM+285a@[ ]+@OC@\.d \[r2\+(32768|8000 <three2767\+0x1>)\],r5,r8
+[ ]+6d0:[ ]+6f2d 0180 0000 @IM+285a@[ ]+@OC@\.d \[r2\+(32769|8001 <three2767\+0x2>)\],r5,r8
+[ ]+6d8:[ ]+5f2d 0180 @IM+285a@[ ]+@OC@\.d \[r2-32767\],r5,r8
+[ ]+6de:[ ]+5f2d 0080 @IM+28da@[ ]+@OC@\.d \[r2-32768\],r13,r8
+[ ]+6e4:[ ]+6f2d ff7f ffff @IM+28da@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13,r8
+[ ]+6ec:[ ]+5f2d 0180 @IM+285a@[ ]+@OC@\.d \[r2-32767\],r5,r8
+[ ]+6f2:[ ]+5f2d 0080 @IM+28da@[ ]+@OC@\.d \[r2-32768\],r13,r8
+[ ]+6f8:[ ]+6f2d ff7f ffff @IM+28da@[ ]+@OC@\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13,r8
+[ ]+700:[ ]+6f2d ffff 0000 @IM+285a@[ ]+@OC@\.d \[r2\+(65535|ffff <six5535>)\],r5,r8
+[ ]+708:[ ]+6f2d 0000 0100 @IM+28da@[ ]+@OC@\.d \[r2\+(65536|10000 <six5535\+0x1>)\],r13,r8
+[ ]+710:[ ]+6f2d 2b3a 2900 @IM+285a@[ ]+@OC@\.d \[r2\+(2701867|293a2b <two701867>)\],r5,r8
+[ ]+718:[ ]+6f2d d5c5 d6ff @IM+285a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5,r8
+[ ]+720:[ ]+6f2d d5c5 d6ff @IM+285a@[ ]+@OC@\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5,r8
+[ ]+728:[ ]+6f2d 0000 0000 @IM+285a@[ ]+@OC@\.d \[r2\+0( <notstart>)?\],r5,r8
+[ ]+72a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+730:[ ]+4205 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+r0\.b\],r5
+[ ]+734:[ ]+4255 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+r5\.b\],r13
+[ ]+738:[ ]+42a5 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+r10\.b\],r1
+[ ]+73c:[ ]+4029 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.b\],r5
+[ ]+740:[ ]+4529 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.b\],r13
+[ ]+744:[ ]+4a29 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\]\.b\],r1
+[ ]+748:[ ]+402d @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.b\],r5
+[ ]+74c:[ ]+452d @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.b\],r13
+[ ]+750:[ ]+4a2d @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\+\]\.b\],r1
+[ ]+754:[ ]+452d @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.b\],r13
+[ ]+758:[ ]+4a2d @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\+\]\.b\],r1
+[ ]+75c:[ ]+5205 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+r0\.w\],r5
+[ ]+760:[ ]+5255 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+r5\.w\],r13
+[ ]+764:[ ]+52a5 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+r10\.w\],r1
+[ ]+768:[ ]+5029 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.w\],r5
+[ ]+76c:[ ]+5529 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.w\],r13
+[ ]+770:[ ]+5a29 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\]\.w\],r1
+[ ]+774:[ ]+502d @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.w\],r5
+[ ]+778:[ ]+552d @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.w\],r13
+[ ]+77c:[ ]+5a2d @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\+\]\.w\],r1
+[ ]+780:[ ]+552d @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.w\],r13
+[ ]+784:[ ]+5a2d @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\+\]\.w\],r1
+[ ]+788:[ ]+6205 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+r0\.d\],r5
+[ ]+78c:[ ]+6255 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+r5\.d\],r13
+[ ]+790:[ ]+62a5 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+r10\.d\],r1
+[ ]+794:[ ]+6029 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+\[r0\]\.d\],r5
+[ ]+798:[ ]+6529 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\]\.d\],r13
+[ ]+79c:[ ]+6a29 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\]\.d\],r1
+[ ]+7a0:[ ]+602d @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+\[r0\+\]\.d\],r5
+[ ]+7a4:[ ]+652d @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.d\],r13
+[ ]+7a8:[ ]+6a2d @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\+\]\.d\],r1
+[ ]+7ac:[ ]+652d @IM+1cde@[ ]+@OC@\.w \[r12=r2\+\[r5\+\]\.d\],r13
+[ ]+7b0:[ ]+6a2d @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+\[r10\+\]\.d\],r1
+[ ]+7b4:[ ]+0021 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+0\],r5
+[ ]+7b8:[ ]+0121 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+1\],r5
+[ ]+7bc:[ ]+7f21 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+127\],r5
+[ ]+7c0:[ ]+5f2d 8000 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+128\],r5
+[ ]+7c6:[ ]+ff21 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-1\],r5
+[ ]+7ca:[ ]+8121 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-127\],r5
+[ ]+7ce:[ ]+8021 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-128\],r5
+[ ]+7d2:[ ]+5f2d ff00 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+255\],r5
+[ ]+7d8:[ ]+2a21 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+7dc:[ ]+d621 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+7e0:[ ]+d621 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+7e4:[ ]+2a21 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+7e8:[ ]+d621 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+7ec:[ ]+d621 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+7f0:[ ]+2a21 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+7f4:[ ]+d621 @IM+0c5e@[ ]+@OC@\.b \[r12=r2-42\],r5
+[ ]+7f8:[ ]+2a21 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+42\],r5
+[ ]+7fc:[ ]+6f2d 0000 0000 @IM+0c5e@[ ]+@OC@\.b \[r12=r2\+0( <notstart>)?\],r5
+[ ]+7fe:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+804:[ ]+0021 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+0\],r13
+[ ]+808:[ ]+0121 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+1\],r13
+[ ]+80c:[ ]+7f21 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+127\],r13
+[ ]+810:[ ]+5f2d 8000 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+128\],r13
+[ ]+816:[ ]+ff21 @IM+1cde@[ ]+@OC@\.w \[r12=r2-1\],r13
+[ ]+81a:[ ]+ff21 @IM+1cde@[ ]+@OC@\.w \[r12=r2-1\],r13
+[ ]+81e:[ ]+8121 @IM+1cde@[ ]+@OC@\.w \[r12=r2-127\],r13
+[ ]+822:[ ]+8021 @IM+1cde@[ ]+@OC@\.w \[r12=r2-128\],r13
+[ ]+826:[ ]+5f2d 7fff @IM+1cde@[ ]+@OC@\.w \[r12=r2-129\],r13
+[ ]+82c:[ ]+8121 @IM+1cde@[ ]+@OC@\.w \[r12=r2-127\],r13
+[ ]+830:[ ]+8021 @IM+1cde@[ ]+@OC@\.w \[r12=r2-128\],r13
+[ ]+834:[ ]+5f2d 7fff @IM+1cde@[ ]+@OC@\.w \[r12=r2-129\],r13
+[ ]+83a:[ ]+5f2d ff00 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+255\],r13
+[ ]+840:[ ]+5f2d 01ff @IM+1cde@[ ]+@OC@\.w \[r12=r2-255\],r13
+[ ]+846:[ ]+5f2d 01ff @IM+1cde@[ ]+@OC@\.w \[r12=r2-255\],r13
+[ ]+84c:[ ]+5f2d 0001 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+256\],r13
+[ ]+852:[ ]+5f2d 00ff @IM+1cde@[ ]+@OC@\.w \[r12=r2-256\],r13
+[ ]+858:[ ]+5f2d 68dd @IM+1cde@[ ]+@OC@\.w \[r12=r2-8856\],r13
+[ ]+85e:[ ]+5f2d 68dd @IM+1cde@[ ]+@OC@\.w \[r12=r2-8856\],r13
+[ ]+864:[ ]+5f2d 9822 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+8856\],r13
+[ ]+86a:[ ]+2a21 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+42\],r13
+[ ]+86e:[ ]+d621 @IM+1cde@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+872:[ ]+d621 @IM+1cde@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+876:[ ]+2a21 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+42\],r13
+[ ]+87a:[ ]+d621 @IM+1cde@[ ]+@OC@\.w \[r12=r2-42\],r13
+[ ]+87e:[ ]+d621 @IM+1c5e@[ ]+@OC@\.w \[r12=r2-42\],r5
+[ ]+882:[ ]+d621 @IM+1c5e@[ ]+@OC@\.w \[r12=r2-42\],r5
+[ ]+886:[ ]+2a21 @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+42\],r5
+[ ]+88a:[ ]+5f2d ff7f @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+32767\],r5
+[ ]+890:[ ]+6f2d 0080 0000 @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+898:[ ]+6f2d 0180 0000 @IM+1cde@[ ]+@OC@\.w \[r12=r2\+(32769|8001 <three2767\+0x2>)\],r13
+[ ]+8a0:[ ]+5f2d 0180 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32767\],r13
+[ ]+8a6:[ ]+5f2d 0080 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32768\],r13
+[ ]+8ac:[ ]+6f2d ff7f ffff @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+8b4:[ ]+5f2d 0180 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32767\],r13
+[ ]+8ba:[ ]+5f2d 0080 @IM+1cde@[ ]+@OC@\.w \[r12=r2-32768\],r13
+[ ]+8c0:[ ]+6f2d ff7f ffff @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r5
+[ ]+8c8:[ ]+6f2d ffff 0000 @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+8d0:[ ]+6f2d 0000 0000 @IM+1c5e@[ ]+@OC@\.w \[r12=r2\+0( <notstart>)?\],r5
+[ ]+8d2:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+8d8:[ ]+0021 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+0\],r1
+[ ]+8dc:[ ]+0121 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+1\],r1
+[ ]+8e0:[ ]+7f21 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+127\],r1
+[ ]+8e4:[ ]+5f2d 8000 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+128\],r1
+[ ]+8ea:[ ]+ff21 @IM+2c1e@[ ]+@OC@\.d \[r12=r2-1\],r1
+[ ]+8ee:[ ]+ff21 @IM+2c1e@[ ]+@OC@\.d \[r12=r2-1\],r1
+[ ]+8f2:[ ]+8121 @IM+2c1e@[ ]+@OC@\.d \[r12=r2-127\],r1
+[ ]+8f6:[ ]+8021 @IM+2c1e@[ ]+@OC@\.d \[r12=r2-128\],r1
+[ ]+8fa:[ ]+8121 @IM+2c1e@[ ]+@OC@\.d \[r12=r2-127\],r1
+[ ]+8fe:[ ]+8021 @IM+2c1e@[ ]+@OC@\.d \[r12=r2-128\],r1
+[ ]+902:[ ]+5f2d ff00 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+255\],r1
+[ ]+908:[ ]+5f2d 01ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2-255\],r1
+[ ]+90e:[ ]+5f2d 01ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2-255\],r1
+[ ]+914:[ ]+5f2d 0001 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+256\],r1
+[ ]+91a:[ ]+5f2d 00ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2-256\],r1
+[ ]+920:[ ]+5f2d 68dd @IM+2c1e@[ ]+@OC@\.d \[r12=r2-8856\],r1
+[ ]+926:[ ]+5f2d 00ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2-256\],r1
+[ ]+92c:[ ]+5f2d 68dd @IM+2c1e@[ ]+@OC@\.d \[r12=r2-8856\],r1
+[ ]+932:[ ]+5f2d 9822 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+8856\],r1
+[ ]+938:[ ]+6f2d ac72 2a00 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1
+[ ]+940:[ ]+6f2d d5c5 d6ff @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1
+[ ]+948:[ ]+6f2d acce c09e @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1
+[ ]+950:[ ]+6f2d 5331 3f81 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+958:[ ]+6f2d 5331 3f81 @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+960:[ ]+6f2d b5af 982e @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1
+[ ]+968:[ ]+6f2d 2b45 941b @IM+2c1e@[ ]+@OC@\.d \[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1
+[ ]+970:[ ]+2a21 @IM+2cde@[ ]+@OC@\.d \[r12=r2\+42\],r13
+[ ]+974:[ ]+d621 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-42\],r5
+[ ]+978:[ ]+d621 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-42\],r5
+[ ]+97c:[ ]+2a21 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+42\],r5
+[ ]+980:[ ]+d621 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-42\],r5
+[ ]+984:[ ]+d621 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-42\],r5
+[ ]+988:[ ]+2a21 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+42\],r5
+[ ]+98c:[ ]+d621 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-42\],r5
+[ ]+990:[ ]+2a21 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+42\],r5
+[ ]+994:[ ]+5f2d ff7f @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+32767\],r5
+[ ]+99a:[ ]+6f2d 0080 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+9a2:[ ]+6f2d 0180 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(32769|8001 <three2767\+0x2>)\],r5
+[ ]+9aa:[ ]+5f2d 0180 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-32767\],r5
+[ ]+9b0:[ ]+5f2d 0080 @IM+2cde@[ ]+@OC@\.d \[r12=r2-32768\],r13
+[ ]+9b6:[ ]+6f2d ff7f ffff @IM+2cde@[ ]+@OC@\.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+9be:[ ]+5f2d 0180 @IM+2c5e@[ ]+@OC@\.d \[r12=r2-32767\],r5
+[ ]+9c4:[ ]+5f2d 0080 @IM+2cde@[ ]+@OC@\.d \[r12=r2-32768\],r13
+[ ]+9ca:[ ]+6f2d ff7f ffff @IM+2cde@[ ]+@OC@\.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+9d2:[ ]+6f2d ffff 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+9da:[ ]+6f2d 0000 0100 @IM+2cde@[ ]+@OC@\.d \[r12=r2\+(65536|10000 <six5535\+0x1>)\],r13
+[ ]+9e2:[ ]+6f2d 2b3a 2900 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(2701867|293a2b <two701867>)\],r5
+[ ]+9ea:[ ]+6f2d d5c5 d6ff @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+9f2:[ ]+6f2d d5c5 d6ff @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+9fa:[ ]+6f2d 0000 0000 @IM+2c5e@[ ]+@OC@\.d \[r12=r2\+0( <notstart>)?\],r5
+[ ]+9fc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a02:[ ]+7309 @IM+055a@[ ]+@OC@\.b \[\[r3\]\],r5
+[ ]+a06:[ ]+7209 @IM+144a@[ ]+@OC@\.w \[\[r2\]\],r4
+[ ]+a0a:[ ]+7309 @IM+277a@[ ]+@OC@\.d \[\[r3\]\],r7
+[ ]+a0e:[ ]+790d @IM+077a@[ ]+@OC@\.b \[\[r9\+\]\],r7
+[ ]+a12:[ ]+730d @IM+155a@[ ]+@OC@\.w \[\[r3\+\]\],r5
+[ ]+a16:[ ]+710d @IM+266a@[ ]+@OC@\.d \[\[r1\+\]\],r6
+[ ]+a1a:[ ]+7f0d 0000 0000 @IM+055a@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5
+[ ]+a1c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a22:[ ]+7f0d 0000 0000 @IM+144a@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4
+[ ]+a24:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a2a:[ ]+7f0d 0000 0000 @IM+277a@[ ]+@OC@\.d \[(0x0|0 <notstart>)\],r7
+[ ]+a2c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a32:[ ]+7f0d 0000 0000 @IM+055a@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5
+[ ]+a34:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+a3a:[ ]+7f0d 0000 0000 @IM+144a@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4
+[ ]+a3c:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+a42:[ ]+7f0d 0000 0000 @IM+277a@[ ]+@OC@\.d \[(0x0|0 <notstart>)\],r7
+[ ]+a44:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+a4a:[ ]+7309 @IM+0c5a@[ ]+@OC@\.b \[\[r3\]\],r5,r12
+[ ]+a4e:[ ]+7209 @IM+194a@[ ]+@OC@\.w \[\[r2\]\],r4,r9
+[ ]+a52:[ ]+7309 @IM+297a@[ ]+@OC@\.d \[\[r3\]\],r7,r9
+[ ]+a56:[ ]+790d @IM+0a7a@[ ]+@OC@\.b \[\[r9\+\]\],r7,r10
+[ ]+a5a:[ ]+730d @IM+195a@[ ]+@OC@\.w \[\[r3\+\]\],r5,r9
+[ ]+a5e:[ ]+710d @IM+296a@[ ]+@OC@\.d \[\[r1\+\]\],r6,r9
+[ ]+a62:[ ]+7f0d 0000 0000 @IM+075a@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5,r7
+[ ]+a64:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a6a:[ ]+7f0d 0000 0000 @IM+194a@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4,r9
+[ ]+a6c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a72:[ ]+7f0d 0000 0000 @IM+297a@[ ]+@OC@\.d \[(0x0|0 <notstart>)\],r7,r9
+[ ]+a74:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+a7a:[ ]+7f0d 0000 0000 @IM+095a@[ ]+@OC@\.b \[(0x0|0 <notstart>)\],r5,r9
+[ ]+a7c:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+a82:[ ]+7f0d 0000 0000 @IM+1c4a@[ ]+@OC@\.w \[(0x0|0 <notstart>)\],r4,r12
+[ ]+a84:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+a8a:[ ]+7f0d 0000 0000 @IM+297a@[ ]+@OC@\.d \[(0x0|0 <notstart>)\],r7,r9
+[ ]+a8c:[ ]+(R_CRIS_)?32[ ]+\.text
+
+00000a92 <end>:
+ \.\.\.
+
+
diff --git a/gas/testsuite/gas/cris/binop.s b/gas/testsuite/gas/cris/binop.s
new file mode 100644
index 0000000..a1c8857
--- /dev/null
+++ b/gas/testsuite/gas/cris/binop.s
@@ -0,0 +1,914 @@
+; @OC@ test
+; Generic binary operations supporting all sizes and their various
+; addressing modes.
+
+; Some fairly big pseudorandom numbers we don't want to compute
+; as differences in actual data or code.
+
+ .set const_int_32, 0x1b94452b
+ .set const_int_m32, -3513208907
+ .set two701867, 2701867
+
+; Other constants that are not differences
+ .set forty2, 42
+ .set mforty2, -42
+
+ .set three2767, 32767
+ .set six5535, 65535
+
+ .text
+notstart:
+ .dword 0
+
+start:
+
+;;;;;;;;;;;;;;;;;
+;
+; r,r
+ @OC@.b r3,r5
+ @OC@.w r5,r13
+ @OC@.d r10,r1
+
+;;;;;;;;;;;;;;;;;
+;
+; [r],r
+ @OC@.b [r0],r5
+ @OC@.w [r5],r13
+ @OC@.d [r10],r1
+
+ @OC@ r13,[r5]
+ @OC@ r1,[r10]
+
+;;;;;;;;;;;;;;;;;
+;
+; [r+],r
+ @OC@.b [r0+],r5
+ @OC@.w [r5+],r13
+ @OC@.d [r10+],r1
+
+ @OC@ r13,[r5+]
+ @OC@ r4,[r10+]
+
+;;;;;;;;;;;;;;;;;
+;
+; const,r
+ @OC@.b 0,r5
+ @OC@.b 1,r5
+ @OC@.b 127,r5
+ @OC@.b 128,r5
+ @OC@.b -1,r5
+ @OC@.b -127,r5
+ @OC@.b -128,r5
+ @OC@.b 255,r5
+
+ @OC@.b 42,r5
+ @OC@.b -42,r5
+ @OC@.b forty2,r5
+ @OC@.b mforty2,r5
+ @OC@.b -forty2,r5
+ @OC@.b -mforty2,r5
+ @OC@.b externalsym,r5
+
+ @OC@.w 0,r13
+ @OC@.w 1,r13
+ @OC@.w 127,r13
+ @OC@.w 128,r13
+ @OC@.w -1,r13
+ @OC@.w -127,r13
+ @OC@.w -128,r13
+ @OC@.w -129,r13
+ @OC@.w 255,r13
+ @OC@.w -255,r13
+ @OC@.w 256,r13
+ @OC@.w -8856,r13
+ @OC@.w 8856,r13
+
+ @OC@.w 42,r13
+ @OC@.w -42,r13
+ @OC@.w forty2,r13
+ @OC@.w mforty2,r13
+ @OC@.w -forty2,r5
+ @OC@.w -mforty2,r5
+
+ @OC@.w three2767,r5
+ @OC@.w three2767+1,r5
+ @OC@.w three2767+2,r13
+ @OC@.w -three2767,r13
+ @OC@.w -(three2767+1),r13
+ @OC@.w six5535,r5
+ @OC@.w externalsym,r5
+
+ @OC@.d 0,r1
+ @OC@.d 1,r1
+ @OC@.d 127,r1
+ @OC@.d 128,r1
+ @OC@.d -1,r1
+ @OC@.d -127,r1
+ @OC@.d -128,r1
+ @OC@.d 255,r1
+ @OC@.d -255,r1
+ @OC@.d 256,r1
+ @OC@.d -8856,r1
+ @OC@.d 8856,r1
+
+ @OC@.d 2781868,r1
+ @OC@.d -2701867,r1
+
+ @OC@.d 0x9ec0ceac,r1
+ @OC@.d -0x7ec0cead,r1
+ @OC@.d const_int_m32,r1
+ @OC@.d const_int_32,r1
+
+ @OC@.d 42,r13
+ @OC@.d -42,r5
+ @OC@.d forty2,r5
+ @OC@.d mforty2,r5
+ @OC@.d -forty2,r5
+ @OC@.d -mforty2,r5
+
+ @OC@.d three2767,r5
+ @OC@.d three2767+1,r5
+ @OC@.d three2767+2,r5
+ @OC@.d -three2767,r5
+ @OC@.d -(three2767+1),r13
+ @OC@.d -(three2767+2),r13
+ @OC@.d six5535,r5
+ @OC@.d six5535+1,r13
+ @OC@.d two701867,r5
+ @OC@.d -two701867,r5
+
+ @OC@.d externalsym,r5
+
+;;;;;;;;;;;;;;;;;
+;
+; [r+X],r
+
+; [r+r.b],r
+
+ @OC@.b [r2+r0.b],r5
+ @OC@.w [r2+r5.b],r13
+ @OC@.d [r2+r10.b],r1
+
+ @OC@ r13,[r2+r5.b]
+ @OC@ r3,[r2+r10.b]
+
+; [r+[r].b],r
+ @OC@.b [r2+[r0].b],r5
+ @OC@.w [r2+[r5].b],r13
+ @OC@.d [r2+[r10].b],r1
+
+ @OC@ r13,[r2+[r5].b]
+ @OC@ r2,[r2+[r10].b]
+
+; [r+[r+].b],r
+ @OC@.b [r2+[r0+].b],r5
+ @OC@.w [r2+[r5+].b],r13
+ @OC@.d [r2+[r10+].b],r1
+
+ @OC@.w [r2+[r5+].b],r13
+
+ @OC@.d [r2+[r10+].b],r1
+
+ @OC@ r0,[r2+[r5+].b]
+ @OC@ r12,[r2+[r10+].b]
+
+; [r+r.w],r
+
+ @OC@.b [r2+r0.w],r5
+ @OC@.w [r2+r5.w],r13
+ @OC@.d [r2+r10.w],r1
+
+; [r+[r].w],r
+ @OC@.b [r2+[r0].w],r5
+ @OC@.w [r2+[r5].w],r13
+ @OC@.d [r2+[r10].w],r1
+
+ @OC@ r2,[r2+[r5].w]
+ @OC@ r6,[r2+[r10].w]
+
+; [r+[r+].w],r
+ @OC@.b [r2+[r0+].w],r5
+ @OC@.w [r2+[r5+].w],r13
+ @OC@.d [r2+[r10+].w],r1
+
+ @OC@.w [r2+[r5+].w],r13
+
+ @OC@.d [r2+[r10+].w],r1
+
+ @OC@ r7,[r2+[r5+].w]
+ @OC@ r8,[r2+[r10+].w]
+
+; [r+r.d],r
+
+ @OC@.b [r2+r0.d],r5
+ @OC@.w [r2+r5.d],r13
+ @OC@.d [r2+r10.d],r1
+
+ @OC@ r12,[r2+r5.d]
+ @OC@ r9,[r2+r10.d]
+
+; [r+[r].d],r
+ @OC@.b [r2+[r0].d],r5
+ @OC@.w [r2+[r5].d],r13
+ @OC@.d [r2+[r10].d],r1
+
+ @OC@ r13,[r2+[r5].d]
+ @OC@ r8,[r2+[r10].d]
+
+; [r+[r+].d],r
+ @OC@.b [r2+[r0+].d],r5
+ @OC@.w [r2+[r5+].d],r13
+ @OC@.d [r2+[r10+].d],r1
+
+ @OC@.w [r2+[r5+].d],r13
+
+ @OC@.d [r2+[r10+].d],r1
+
+ @OC@ r0,[r2+[r5+].d]
+ @OC@ r5,[r2+[r10+].d]
+
+; [r+const],r
+
+; Note that I forgot 16-bit offsets and 32-bit offsets here and later.
+; Maybe add them later if it feels necessary.
+
+ @OC@.b [r2+0],r5
+ @OC@.b [r2+1],r5
+ @OC@.b [r2+127],r5
+ @OC@.b [r2+128],r5
+ @OC@.b [r2+-1],r5
+ @OC@.b [r2+-127],r5
+ @OC@.b [r2+-128],r5
+ @OC@.b [r2+255],r5
+
+ @OC@.b [r2+42],r5
+ @OC@.b [r2+-42],r5
+ @OC@.b [r2-42],r5
+ @OC@.b [r2+forty2],r5
+ @OC@.b [r2+mforty2],r5
+ @OC@.b [r2+-forty2],r5
+ @OC@.b [r2+-mforty2],r5
+ @OC@.b [r2-forty2],r5
+ @OC@.b [r2-mforty2],r5
+ @OC@.b [r2+externalsym],r5
+
+; Note that I missed 32-bit offsets (except -32769) here and later.
+; Maybe add them later if it feels necessary.
+
+ @OC@.w [r2+0],r13
+ @OC@.w [r2+1],r13
+ @OC@.w [r2+127],r13
+ @OC@.w [r2+128],r13
+ @OC@.w [r2+-1],r13
+ @OC@.w [r2-1],r13
+ @OC@.w [r2+-127],r13
+ @OC@.w [r2+-128],r13
+ @OC@.w [r2+-129],r13
+ @OC@.w [r2-127],r13
+ @OC@.w [r2-128],r13
+ @OC@.w [r2-129],r13
+ @OC@.w [r2+255],r13
+ @OC@.w [r2+-255],r13
+ @OC@.w [r2-255],r13
+ @OC@.w [r2+256],r13
+ @OC@.w [r2-256],r13
+ @OC@.w [r2+-8856],r13
+ @OC@.w [r2-8856],r13
+ @OC@.w [r2+8856],r13
+
+ @OC@.w [r2+42],r13
+ @OC@.w [r2+-42],r13
+ @OC@.w [r2-42],r13
+ @OC@.w [r2+forty2],r13
+ @OC@.w [r2+mforty2],r13
+ @OC@.w [r2+-forty2],r5
+ @OC@.w [r2-forty2],r5
+ @OC@.w [r2+-mforty2],r5
+
+ @OC@.w [r2+three2767],r5
+ @OC@.w [r2+three2767+1],r5
+ @OC@.w [r2+three2767+2],r13
+ @OC@.w [r2+-three2767],r13
+ @OC@.w [r2+-(three2767+1)],r13
+ @OC@.w [r2+-(three2767+2)],r5
+ @OC@.w [r2-three2767],r13
+ @OC@.w [r2-(three2767+1)],r13
+ @OC@.w [r2-(three2767+2)],r5
+ @OC@.w [r2+six5535],r5
+ @OC@.w [r2+externalsym],r5
+
+ @OC@.d [r2+0],r1
+ @OC@.d [r2+1],r1
+ @OC@.d [r2+127],r1
+ @OC@.d [r2+128],r1
+ @OC@.d [r2+-1],r1
+ @OC@.d [r2-1],r1
+ @OC@.d [r2+-127],r1
+ @OC@.d [r2+-128],r1
+ @OC@.d [r2-127],r1
+ @OC@.d [r2-128],r1
+ @OC@.d [r2+255],r1
+ @OC@.d [r2+-255],r1
+ @OC@.d [r2-255],r1
+ @OC@.d [r2+256],r1
+ @OC@.d [r2-256],r1
+ @OC@.d [r2-8856],r1
+ @OC@.d [r2+-256],r1
+ @OC@.d [r2+-8856],r1
+ @OC@.d [r2+8856],r1
+
+ @OC@.d [r2+2781868],r1
+ @OC@.d [r2+-2701867],r1
+
+ @OC@.d [r2+0x9ec0ceac],r1
+ @OC@.d [r2+-0x7ec0cead],r1
+ @OC@.d [r2-0x7ec0cead],r1
+ @OC@.d [r2+const_int_m32],r1
+ @OC@.d [r2+const_int_32],r1
+
+ @OC@.d [r2+42],r13
+ @OC@.d [r2-42],r5
+ @OC@.d [r2+-42],r5
+ @OC@.d [r2+forty2],r5
+ @OC@.d [r2+mforty2],r5
+ @OC@.d [r2-forty2],r5
+ @OC@.d [r2-mforty2],r5
+ @OC@.d [r2+-forty2],r5
+ @OC@.d [r2+-mforty2],r5
+
+ @OC@.d [r2+three2767],r5
+ @OC@.d [r2+three2767+1],r5
+ @OC@.d [r2+three2767+2],r5
+ @OC@.d [r2+-three2767],r5
+ @OC@.d [r2+-(three2767+1)],r13
+ @OC@.d [r2+-(three2767+2)],r13
+ @OC@.d [r2-three2767],r5
+ @OC@.d [r2-(three2767+1)],r13
+ @OC@.d [r2-(three2767+2)],r13
+ @OC@.d [r2+six5535],r5
+ @OC@.d [r2+six5535+1],r13
+ @OC@.d [r2+two701867],r5
+ @OC@.d [r2+-two701867],r5
+ @OC@.d [r2-two701867],r5
+
+ @OC@.d [r2+externalsym],r5
+
+ @OC@ r1,[r2+0]
+ @OC@ r1,[r2+1]
+ @OC@ r1,[r2+127]
+ @OC@ r1,[r2+128]
+ @OC@ r1,[r2+-1]
+ @OC@ r1,[r2-1]
+ @OC@ r1,[r2+-127]
+ @OC@ r1,[r2+-128]
+ @OC@ r1,[r2-127]
+ @OC@ r1,[r2-128]
+ @OC@ r1,[r2+255]
+ @OC@ r1,[r2+-255]
+ @OC@ r1,[r2-255]
+ @OC@ r1,[r2+256]
+ @OC@ r1,[r2-256]
+ @OC@ r1,[r2-8856]
+ @OC@ r1,[r2+-256]
+ @OC@ r1,[r2+-8856]
+ @OC@ r1,[r2+8856]
+
+ @OC@ r1,[r2+2781868]
+ @OC@ r1,[r2+-2701867]
+
+ @OC@ r1,[r2+0x9ec0ceac]
+ @OC@ r1,[r2+-0x7ec0cead]
+ @OC@ r1,[r2-0x7ec0cead]
+ @OC@ r1,[r2+const_int_m32]
+ @OC@ r1,[r2+const_int_32]
+
+ @OC@ r13,[r2+42]
+ @OC@ r5,[r2-42]
+ @OC@ r5,[r2+-42]
+ @OC@ r5,[r2+forty2]
+ @OC@ r5,[r2+mforty2]
+ @OC@ r5,[r2-forty2]
+ @OC@ r5,[r2-mforty2]
+ @OC@ r5,[r2+-forty2]
+ @OC@ r5,[r2+-mforty2]
+
+ @OC@ r5,[r2+three2767]
+ @OC@ r5,[r2+three2767+1]
+ @OC@ r5,[r2+three2767+2]
+ @OC@ r5,[r2+-three2767]
+ @OC@ r13,[r2+-(three2767+1)]
+ @OC@ r13,[r2+-(three2767+2)]
+ @OC@ r5,[r2-three2767]
+ @OC@ r13,[r2-(three2767+1)]
+ @OC@ r13,[r2-(three2767+2)]
+ @OC@ r5,[r2+six5535]
+ @OC@ r13,[r2+six5535+1]
+ @OC@ r5,[r2+two701867]
+ @OC@ r5,[r2+-two701867]
+ @OC@ r5,[r2-two701867]
+
+ @OC@ r5,[r2+externalsym]
+
+;;;;;;;;;;;;;;;;;
+;
+; [r+X],r,r
+
+; [r+r.b],r,r
+
+ @OC@.b [r2+r0.b],r5,r8
+ @OC@.w [r2+r5.b],r13,r8
+ @OC@.d [r2+r10.b],r1,r8
+
+; [r+[r].b],r,r
+ @OC@.b [r2+[r0].b],r5,r8
+ @OC@.w [r2+[r5].b],r13,r8
+ @OC@.d [r2+[r10].b],r1,r8
+
+; [r+[r+].b],r,r
+ @OC@.b [r2+[r0+].b],r5,r8
+ @OC@.w [r2+[r5+].b],r13,r8
+ @OC@.d [r2+[r10+].b],r1,r8
+
+ @OC@.w [r2+[r5+].b],r13,r8
+
+ @OC@.d [r2+[r10+].b],r1,r8
+
+; [r+r.w],r,r
+
+ @OC@.b [r2+r0.w],r5,r8
+ @OC@.w [r2+r5.w],r13,r8
+ @OC@.d [r2+r10.w],r1,r8
+
+; [r+[r].w],r,r
+ @OC@.b [r2+[r0].w],r5,r8
+ @OC@.w [r2+[r5].w],r13,r8
+ @OC@.d [r2+[r10].w],r1,r8
+
+; [r+[r+].w],r,r
+ @OC@.b [r2+[r0+].w],r5,r8
+ @OC@.w [r2+[r5+].w],r13,r8
+ @OC@.d [r2+[r10+].w],r1,r8
+
+ @OC@.w [r2+[r5+].w],r13,r8
+
+ @OC@.d [r2+[r10+].w],r1,r8
+
+; [r+r.d],r,r
+
+ @OC@.b [r2+r0.d],r5,r8
+ @OC@.w [r2+r5.d],r13,r8
+ @OC@.d [r2+r10.d],r1,r8
+
+; [r+[r].d],r,r
+ @OC@.b [r2+[r0].d],r5,r8
+ @OC@.w [r2+[r5].d],r13,r8
+ @OC@.d [r2+[r10].d],r1,r8
+
+; [r+[r+].d],r,r
+ @OC@.b [r2+[r0+].d],r5,r8
+ @OC@.w [r2+[r5+].d],r13,r8
+ @OC@.d [r2+[r10+].d],r1,r8
+
+ @OC@.w [r2+[r5+].d],r13,r8
+
+ @OC@.d [r2+[r10+].d],r1,r8
+
+; [r+const],r,r
+ @OC@.b [r2+0],r5,r8
+ @OC@.b [r2+1],r5,r8
+ @OC@.b [r2+127],r5,r8
+ @OC@.b [r2+128],r5,r8
+ @OC@.b [r2+-1],r5,r8
+ @OC@.b [r2+-127],r5,r8
+ @OC@.b [r2+-128],r5,r8
+ @OC@.b [r2+255],r5,r8
+
+ @OC@.b [r2+42],r5,r8
+ @OC@.b [r2+-42],r5,r8
+ @OC@.b [r2-42],r5,r8
+ @OC@.b [r2+forty2],r5,r8
+ @OC@.b [r2+mforty2],r5,r8
+ @OC@.b [r2+-forty2],r5,r8
+ @OC@.b [r2+-mforty2],r5,r8
+ @OC@.b [r2-forty2],r5,r8
+ @OC@.b [r2-mforty2],r5,r8
+ @OC@.b [r2+externalsym],r5,r8
+
+ @OC@.w [r2+0],r13,r8
+ @OC@.w [r2+1],r13,r8
+ @OC@.w [r2+127],r13,r8
+ @OC@.w [r2+128],r13,r8
+ @OC@.w [r2+-1],r13,r8
+ @OC@.w [r2-1],r13,r8
+ @OC@.w [r2+-127],r13,r8
+ @OC@.w [r2+-128],r13,r8
+ @OC@.w [r2+-129],r13,r8
+ @OC@.w [r2-127],r13,r8
+ @OC@.w [r2-128],r13,r8
+ @OC@.w [r2-129],r13,r8
+ @OC@.w [r2+255],r13,r8
+ @OC@.w [r2+-255],r13,r8
+ @OC@.w [r2-255],r13,r8
+ @OC@.w [r2+256],r13,r8
+ @OC@.w [r2-256],r13,r8
+ @OC@.w [r2+-8856],r13,r8
+ @OC@.w [r2-8856],r13,r8
+ @OC@.w [r2+8856],r13,r8
+
+ @OC@.w [r2+42],r13,r8
+ @OC@.w [r2+-42],r13,r8
+ @OC@.w [r2-42],r13,r8
+ @OC@.w [r2+forty2],r13,r8
+ @OC@.w [r2+mforty2],r13,r8
+ @OC@.w [r2+-forty2],r5,r8
+ @OC@.w [r2-forty2],r5,r8
+ @OC@.w [r2+-mforty2],r5,r8
+
+ @OC@.w [r2+three2767],r5,r8
+ @OC@.w [r2+three2767+1],r5,r8
+ @OC@.w [r2+three2767+2],r13,r8
+ @OC@.w [r2+-three2767],r13,r8
+ @OC@.w [r2+-(three2767+1)],r13,r8
+ @OC@.w [r2+-(three2767+2)],r5,r8
+ @OC@.w [r2-three2767],r13,r8
+ @OC@.w [r2-(three2767+1)],r13,r8
+ @OC@.w [r2-(three2767+2)],r5,r8
+ @OC@.w [r2+six5535],r5,r8
+ @OC@.w [r2+externalsym],r5,r8
+
+ @OC@.d [r2+0],r1,r8
+ @OC@.d [r2+1],r1,r8
+ @OC@.d [r2+127],r1,r8
+ @OC@.d [r2+128],r1,r8
+ @OC@.d [r2+-1],r1,r8
+ @OC@.d [r2-1],r1,r8
+ @OC@.d [r2+-127],r1,r8
+ @OC@.d [r2+-128],r1,r8
+ @OC@.d [r2-127],r1,r8
+ @OC@.d [r2-128],r1,r8
+ @OC@.d [r2+255],r1,r8
+ @OC@.d [r2+-255],r1,r8
+ @OC@.d [r2-255],r1,r8
+ @OC@.d [r2+256],r1,r8
+ @OC@.d [r2-256],r1,r8
+ @OC@.d [r2-8856],r1,r8
+ @OC@.d [r2+-256],r1,r8
+ @OC@.d [r2+-8856],r1,r8
+ @OC@.d [r2+8856],r1,r8
+
+ @OC@.d [r2+2781868],r1,r8
+ @OC@.d [r2+-2701867],r1,r8
+
+ @OC@.d [r2+0x9ec0ceac],r1,r8
+ @OC@.d [r2+-0x7ec0cead],r1,r8
+ @OC@.d [r2-0x7ec0cead],r1,r8
+ @OC@.d [r2+const_int_m32],r1,r8
+ @OC@.d [r2+const_int_32],r1,r8
+
+ @OC@.d [r2+42],r13,r8
+ @OC@.d [r2-42],r5,r8
+ @OC@.d [r2+-42],r5,r8
+ @OC@.d [r2+forty2],r5,r8
+ @OC@.d [r2+mforty2],r5,r8
+ @OC@.d [r2-forty2],r5,r8
+ @OC@.d [r2-mforty2],r5,r8
+ @OC@.d [r2+-forty2],r5,r8
+ @OC@.d [r2+-mforty2],r5,r8
+
+ @OC@.d [r2+three2767],r5,r8
+ @OC@.d [r2+three2767+1],r5,r8
+ @OC@.d [r2+three2767+2],r5,r8
+ @OC@.d [r2+-three2767],r5,r8
+ @OC@.d [r2+-(three2767+1)],r13,r8
+ @OC@.d [r2+-(three2767+2)],r13,r8
+ @OC@.d [r2-three2767],r5,r8
+ @OC@.d [r2-(three2767+1)],r13,r8
+ @OC@.d [r2-(three2767+2)],r13,r8
+ @OC@.d [r2+six5535],r5,r8
+ @OC@.d [r2+six5535+1],r13,r8
+ @OC@.d [r2+two701867],r5,r8
+ @OC@.d [r2+-two701867],r5,r8
+ @OC@.d [r2-two701867],r5,r8
+
+ @OC@.d [r2+externalsym],r5,r8
+
+;;;;;;;;;;;;;;;;;
+;
+; [r=r+X],r
+
+; [r=r+r.b],r
+
+ @OC@.b [r12=r2+r0.b],r5
+ @OC@.w [r12=r2+r5.b],r13
+ @OC@.d [r12=r2+r10.b],r1
+
+ @OC@ r13,[r12=r2+r5.b]
+ @OC@ r1,[r12=r2+r10.b]
+
+; [r=r+[r].b],r
+ @OC@.b [r12=r2+[r0].b],r5
+ @OC@.w [r12=r2+[r5].b],r13
+ @OC@.d [r12=r2+[r10].b],r1
+
+ @OC@ r4,[r12=r2+[r5].b]
+ @OC@ r6,[r12=r2+[r10].b]
+
+; [r=r+[r+].b],r
+ @OC@.b [r12=r2+[r0+].b],r5
+ @OC@.w [r12=r2+[r5+].b],r13
+ @OC@.d [r12=r2+[r10+].b],r1
+
+ @OC@.w [r12=r2+[r5+].b],r13
+
+ @OC@.d [r12=r2+[r10+].b],r1
+
+ @OC@ r3,[r12=r2+[r5+].b]
+ @OC@ r2,[r12=r2+[r10+].b]
+
+; [r=r+r.w],r
+
+ @OC@.b [r12=r2+r0.w],r5
+ @OC@.w [r12=r2+r5.w],r13
+ @OC@.d [r12=r2+r10.w],r1
+
+ @OC@ r5,[r12=r2+r5.w]
+ @OC@ r8,[r12=r2+r10.w]
+
+; [r=r+[r].w],r
+ @OC@.b [r12=r2+[r0].w],r5
+ @OC@.w [r12=r2+[r5].w],r13
+ @OC@.d [r12=r2+[r10].w],r1
+
+ @OC@ r4,[r12=r2+[r5].w]
+ @OC@ r3,[r12=r2+[r10].w]
+
+; [r=r+[r+].w],r
+ @OC@.b [r12=r2+[r0+].w],r5
+ @OC@.w [r12=r2+[r5+].w],r13
+ @OC@.d [r12=r2+[r10+].w],r1
+
+ @OC@.w [r12=r2+[r5+].w],r13
+
+ @OC@.d [r12=r2+[r10+].w],r1
+
+ @OC@ r2,[r12=r2+[r5+].w]
+ @OC@ r7,[r12=r2+[r10+].w]
+
+; [r=r+r.d],r
+
+ @OC@.b [r12=r2+r0.d],r5
+ @OC@.w [r12=r2+r5.d],r13
+ @OC@.d [r12=r2+r10.d],r1
+
+ @OC@ r4,[r12=r2+r5.d]
+ @OC@ r8,[r12=r2+r10.d]
+
+; [r=r+[r].d],r
+ @OC@.b [r12=r2+[r0].d],r5
+ @OC@.w [r12=r2+[r5].d],r13
+ @OC@.d [r12=r2+[r10].d],r1
+
+ @OC@ r2,[r12=r2+[r5].d]
+ @OC@ r0,[r12=r2+[r10].d]
+
+; [r=r+[r+].d],r
+ @OC@.b [r12=r2+[r0+].d],r5
+ @OC@.w [r12=r2+[r5+].d],r13
+ @OC@.d [r12=r2+[r10+].d],r1
+
+ @OC@.w [r12=r2+[r5+].d],r13
+
+ @OC@.d [r12=r2+[r10+].d],r1
+
+ @OC@ r3,[r12=r2+[r5+].d]
+ @OC@ r2,[r12=r2+[r10+].d]
+
+; [r=r+const],r
+ @OC@.b [r12=r2+0],r5
+ @OC@.b [r12=r2+1],r5
+ @OC@.b [r12=r2+127],r5
+ @OC@.b [r12=r2+128],r5
+ @OC@.b [r12=r2+-1],r5
+ @OC@.b [r12=r2+-127],r5
+ @OC@.b [r12=r2+-128],r5
+ @OC@.b [r12=r2+255],r5
+
+ @OC@.b [r12=r2+42],r5
+ @OC@.b [r12=r2+-42],r5
+ @OC@.b [r12=r2-42],r5
+ @OC@.b [r12=r2+forty2],r5
+ @OC@.b [r12=r2+mforty2],r5
+ @OC@.b [r12=r2+-forty2],r5
+ @OC@.b [r12=r2+-mforty2],r5
+ @OC@.b [r12=r2-forty2],r5
+ @OC@.b [r12=r2-mforty2],r5
+ @OC@.b [r12=r2+externalsym],r5
+
+ @OC@.w [r12=r2+0],r13
+ @OC@.w [r12=r2+1],r13
+ @OC@.w [r12=r2+127],r13
+ @OC@.w [r12=r2+128],r13
+ @OC@.w [r12=r2+-1],r13
+ @OC@.w [r12=r2-1],r13
+ @OC@.w [r12=r2+-127],r13
+ @OC@.w [r12=r2+-128],r13
+ @OC@.w [r12=r2+-129],r13
+ @OC@.w [r12=r2-127],r13
+ @OC@.w [r12=r2-128],r13
+ @OC@.w [r12=r2-129],r13
+ @OC@.w [r12=r2+255],r13
+ @OC@.w [r12=r2+-255],r13
+ @OC@.w [r12=r2-255],r13
+ @OC@.w [r12=r2+256],r13
+ @OC@.w [r12=r2-256],r13
+ @OC@.w [r12=r2+-8856],r13
+ @OC@.w [r12=r2-8856],r13
+ @OC@.w [r12=r2+8856],r13
+
+ @OC@.w [r12=r2+42],r13
+ @OC@.w [r12=r2+-42],r13
+ @OC@.w [r12=r2-42],r13
+ @OC@.w [r12=r2+forty2],r13
+ @OC@.w [r12=r2+mforty2],r13
+ @OC@.w [r12=r2+-forty2],r5
+ @OC@.w [r12=r2-forty2],r5
+ @OC@.w [r12=r2+-mforty2],r5
+
+ @OC@.w [r12=r2+three2767],r5
+ @OC@.w [r12=r2+three2767+1],r5
+ @OC@.w [r12=r2+three2767+2],r13
+ @OC@.w [r12=r2+-three2767],r13
+ @OC@.w [r12=r2+-(three2767+1)],r13
+ @OC@.w [r12=r2+-(three2767+2)],r5
+ @OC@.w [r12=r2-three2767],r13
+ @OC@.w [r12=r2-(three2767+1)],r13
+ @OC@.w [r12=r2-(three2767+2)],r5
+ @OC@.w [r12=r2+six5535],r5
+ @OC@.w [r12=r2+externalsym],r5
+
+ @OC@.d [r12=r2+0],r1
+ @OC@.d [r12=r2+1],r1
+ @OC@.d [r12=r2+127],r1
+ @OC@.d [r12=r2+128],r1
+ @OC@.d [r12=r2+-1],r1
+ @OC@.d [r12=r2-1],r1
+ @OC@.d [r12=r2+-127],r1
+ @OC@.d [r12=r2+-128],r1
+ @OC@.d [r12=r2-127],r1
+ @OC@.d [r12=r2-128],r1
+ @OC@.d [r12=r2+255],r1
+ @OC@.d [r12=r2+-255],r1
+ @OC@.d [r12=r2-255],r1
+ @OC@.d [r12=r2+256],r1
+ @OC@.d [r12=r2-256],r1
+ @OC@.d [r12=r2-8856],r1
+ @OC@.d [r12=r2+-256],r1
+ @OC@.d [r12=r2+-8856],r1
+ @OC@.d [r12=r2+8856],r1
+
+ @OC@.d [r12=r2+2781868],r1
+ @OC@.d [r12=r2+-2701867],r1
+
+ @OC@.d [r12=r2+0x9ec0ceac],r1
+ @OC@.d [r12=r2+-0x7ec0cead],r1
+ @OC@.d [r12=r2-0x7ec0cead],r1
+ @OC@.d [r12=r2+const_int_m32],r1
+ @OC@.d [r12=r2+const_int_32],r1
+
+ @OC@.d [r12=r2+42],r13
+ @OC@.d [r12=r2-42],r5
+ @OC@.d [r12=r2+-42],r5
+ @OC@.d [r12=r2+forty2],r5
+ @OC@.d [r12=r2+mforty2],r5
+ @OC@.d [r12=r2-forty2],r5
+ @OC@.d [r12=r2-mforty2],r5
+ @OC@.d [r12=r2+-forty2],r5
+ @OC@.d [r12=r2+-mforty2],r5
+
+ @OC@.d [r12=r2+three2767],r5
+ @OC@.d [r12=r2+three2767+1],r5
+ @OC@.d [r12=r2+three2767+2],r5
+ @OC@.d [r12=r2+-three2767],r5
+ @OC@.d [r12=r2+-(three2767+1)],r13
+ @OC@.d [r12=r2+-(three2767+2)],r13
+ @OC@.d [r12=r2-three2767],r5
+ @OC@.d [r12=r2-(three2767+1)],r13
+ @OC@.d [r12=r2-(three2767+2)],r13
+ @OC@.d [r12=r2+six5535],r5
+ @OC@.d [r12=r2+six5535+1],r13
+ @OC@.d [r12=r2+two701867],r5
+ @OC@.d [r12=r2+-two701867],r5
+ @OC@.d [r12=r2-two701867],r5
+
+ @OC@.d [r12=r2+externalsym],r5
+
+ @OC@ r1,[r12=r2+0]
+ @OC@ r1,[r12=r2+1]
+ @OC@ r1,[r12=r2+127]
+ @OC@ r1,[r12=r2+128]
+ @OC@ r1,[r12=r2+-1]
+ @OC@ r1,[r12=r2-1]
+ @OC@ r1,[r12=r2+-127]
+ @OC@ r1,[r12=r2+-128]
+ @OC@ r1,[r12=r2-127]
+ @OC@ r1,[r12=r2-128]
+ @OC@ r1,[r12=r2+255]
+ @OC@ r1,[r12=r2+-255]
+ @OC@ r1,[r12=r2-255]
+ @OC@ r1,[r12=r2+256]
+ @OC@ r1,[r12=r2-256]
+ @OC@ r1,[r12=r2-8856]
+ @OC@ r1,[r12=r2+-256]
+ @OC@ r1,[r12=r2+-8856]
+ @OC@ r1,[r12=r2+8856]
+
+ @OC@ r1,[r12=r2+2781868]
+ @OC@ r1,[r12=r2+-2701867]
+
+ @OC@ r1,[r12=r2+0x9ec0ceac]
+ @OC@ r1,[r12=r2+-0x7ec0cead]
+ @OC@ r1,[r12=r2-0x7ec0cead]
+ @OC@ r1,[r12=r2+const_int_m32]
+ @OC@ r1,[r12=r2+const_int_32]
+
+ @OC@ r13,[r12=r2+42]
+ @OC@ r5,[r12=r2-42]
+ @OC@ r5,[r12=r2+-42]
+ @OC@ r5,[r12=r2+forty2]
+ @OC@ r5,[r12=r2+mforty2]
+ @OC@ r5,[r12=r2-forty2]
+ @OC@ r5,[r12=r2-mforty2]
+ @OC@ r5,[r12=r2+-forty2]
+ @OC@ r5,[r12=r2+-mforty2]
+
+ @OC@ r5,[r12=r2+three2767]
+ @OC@ r5,[r12=r2+three2767+1]
+ @OC@ r5,[r12=r2+three2767+2]
+ @OC@ r5,[r12=r2+-three2767]
+ @OC@ r13,[r12=r2+-(three2767+1)]
+ @OC@ r13,[r12=r2+-(three2767+2)]
+ @OC@ r5,[r12=r2-three2767]
+ @OC@ r13,[r12=r2-(three2767+1)]
+ @OC@ r13,[r12=r2-(three2767+2)]
+ @OC@ r5,[r12=r2+six5535]
+ @OC@ r13,[r12=r2+six5535+1]
+ @OC@ r5,[r12=r2+two701867]
+ @OC@ r5,[r12=r2+-two701867]
+ @OC@ r5,[r12=r2-two701867]
+
+ @OC@ r5,[r12=r2+externalsym]
+
+;;;;;;;;;;;;;;;;;;;
+;
+; [[r(+)]],r
+
+ @OC@.b [[r3]],r5
+ @OC@.w [[r2]],r4
+ @OC@.d [[r3]],r7
+
+ @OC@ r4,[[r2]]
+ @OC@ r7,[[r3]]
+
+ @OC@.b [[r9+]],r7
+ @OC@.w [[r3+]],r5
+ @OC@.d [[r1+]],r6
+
+ @OC@ r5,[[r3+]]
+ @OC@ r6,[[r1+]]
+
+ @OC@.b [externalsym],r5
+ @OC@.w [externalsym],r4
+ @OC@.d [externalsym],r7
+
+ @OC@ r4,[externalsym]
+ @OC@ r7,[externalsym]
+
+ @OC@.b [notstart],r5
+ @OC@.w [notstart],r4
+ @OC@.d [notstart],r7
+
+ @OC@ r3,[notstart]
+ @OC@ r7,[notstart]
+
+;;;;;;;;;;;;;;;;;;;
+;
+; [[r(+)]],r,r
+
+ @OC@.b [[r3]],r5,r12
+ @OC@.w [[r2]],r4,r9
+ @OC@.d [[r3]],r7,r9
+
+ @OC@.b [[r9+]],r7,r10
+ @OC@.w [[r3+]],r5,r9
+ @OC@.d [[r1+]],r6,r9
+
+ @OC@.b [externalsym],r5,r7
+ @OC@.w [externalsym],r4,r9
+ @OC@.d [externalsym],r7,r9
+
+ @OC@.b [notstart],r5,r9
+ @OC@.w [notstart],r4,r12
+ @OC@.d [notstart],r7,r9
+
+end:
+
diff --git a/gas/testsuite/gas/cris/bork.d b/gas/testsuite/gas/cris/bork.d
new file mode 100644
index 0000000..34b6725
--- /dev/null
+++ b/gas/testsuite/gas/cris/bork.d
@@ -0,0 +1,10 @@
+#objdump: -dr
+#name: bork
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+00000000 <start>:
+[ ]+0:[ ]+0f05[ ]+nop[ ]*
+[ ]+\.\.\.
diff --git a/gas/testsuite/gas/cris/bork.s b/gas/testsuite/gas/cris/bork.s
new file mode 100644
index 0000000..bb55538
--- /dev/null
+++ b/gas/testsuite/gas/cris/bork.s
@@ -0,0 +1,6 @@
+; Check that some ISO 8859-1 "scandinavian" letters are accepted in
+; comments (such that they do not break lines). This is highly dependent
+; on the host C library.
+ .text
+start:
+ nop ; borkåborkäborköborkÅborkÄborkÖbork.
diff --git a/gas/testsuite/gas/cris/branch-warn-1.s b/gas/testsuite/gas/cris/branch-warn-1.s
new file mode 100644
index 0000000..8c84a00
--- /dev/null
+++ b/gas/testsuite/gas/cris/branch-warn-1.s
@@ -0,0 +1,11 @@
+; Test warning for expansion of branches.
+; FIXME: Warnings currently have the line number of the last
+; line, which is not really good.
+
+; { dg-do assemble { target cris-*-* } }
+; { dg-options "-N" }
+
+ .text
+start:
+ ba external_symbol ; { dg-warning "32-bit conditional branch generated" "" { target cris-*-* } { 11 } }
+ nop
diff --git a/gas/testsuite/gas/cris/branch-warn-2.s b/gas/testsuite/gas/cris/branch-warn-2.s
new file mode 100644
index 0000000..27cdc72
--- /dev/null
+++ b/gas/testsuite/gas/cris/branch-warn-2.s
@@ -0,0 +1,13 @@
+; Test warning for expansion of branches.
+; FIXME: Warnings currently have the line number of the last
+; line, which is not really good.
+
+; { dg-do assemble { target cris-*-* } }
+; { dg-options "-N" }
+
+ .text
+start:
+ ba long_forward ; { dg-warning "32-bit conditional branch generated" "" { target cris-*-* } { 13 } }
+ .space 32768,0
+long_forward:
+ nop
diff --git a/gas/testsuite/gas/cris/branch-warn-3.s b/gas/testsuite/gas/cris/branch-warn-3.s
new file mode 100644
index 0000000..495cfa3
--- /dev/null
+++ b/gas/testsuite/gas/cris/branch-warn-3.s
@@ -0,0 +1,13 @@
+; Test warning for expansion of branches.
+; FIXME: Warnings currently have the line number of the last
+; line, which is not really good.
+
+; { dg-do assemble { target cris-*-* } }
+; { dg-options "-N" }
+
+ .text
+start:
+ nop
+ .space 32768,0
+ ba start ; { dg-warning "32-bit conditional branch generated" "" { target cris-*-* } { 13 } }
+ nop
diff --git a/gas/testsuite/gas/cris/branch.d b/gas/testsuite/gas/cris/branch.d
new file mode 100644
index 0000000..47b470c
--- /dev/null
+++ b/gas/testsuite/gas/cris/branch.d
@@ -0,0 +1,519 @@
+#objdump: -dr
+#name: branch
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start_original>:
+[ ]+0:[ ]+0f05[ ]+nop[ ]*
+00000002 <startm32>:
+[ ]+2:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+00007e6a <startm16>:
+[ ]+7e6a:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+00007f2e <start>:
+[ ]+7f2e:[ ]+0f05[ ]+nop[ ]*
+[ ]+7f30:[ ]+fde0[ ]+ba[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f32:[ ]+fb00[ ]+bcc[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f34:[ ]+f910[ ]+bcs[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f36:[ ]+f730[ ]+beq[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f38:[ ]+f5f0[ ]+bwf[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f3a:[ ]+f3f0[ ]+bwf[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f3c:[ ]+f1f0[ ]+bwf[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f3e:[ ]+efa0[ ]+bge[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f40:[ ]+edc0[ ]+bgt[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f42:[ ]+eb90[ ]+bhi[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f44:[ ]+e900[ ]+bcc[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f46:[ ]+e7d0[ ]+ble[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f48:[ ]+e510[ ]+bcs[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f4a:[ ]+e380[ ]+bls[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f4c:[ ]+e1b0[ ]+blt[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f4e:[ ]+df70[ ]+bmi[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f50:[ ]+dd20[ ]+bne[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f52:[ ]+db60[ ]+bpl[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f54:[ ]+d940[ ]+bvc[ ]+(0x7f2e|7f2e <start>)
+[ ]+7f56:[ ]+d750[ ]+bvs[ ]+(0x7f2e|7f2e <start>)
+00007f58 <start2>:
+[ ]+7f58:[ ]+0f05[ ]+nop[ ]*
+[ ]+7f5a:[ ]+0fe0[ ]+ba[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f5c:[ ]+0d00[ ]+bcc[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f5e:[ ]+0b10[ ]+bcs[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f60:[ ]+0930[ ]+beq[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f62:[ ]+07f0[ ]+bwf[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f64:[ ]+05f0[ ]+bwf[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f66:[ ]+03f0[ ]+bwf[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f68:[ ]+01a0[ ]+bge[ ]+(0x7e6a|7e6a <startm16>)
+[ ]+7f6a:[ ]+ffcd fcfe[ ]+bgt (0x7e6a|7e6a <startm16>)
+[ ]+7f6e:[ ]+ff9d f8fe[ ]+bhi (0x7e6a|7e6a <startm16>)
+[ ]+7f72:[ ]+ff0d f4fe[ ]+bhs (0x7e6a|7e6a <startm16>)
+[ ]+7f76:[ ]+ffdd f0fe[ ]+ble (0x7e6a|7e6a <startm16>)
+[ ]+7f7a:[ ]+ff1d ecfe[ ]+blo (0x7e6a|7e6a <startm16>)
+[ ]+7f7e:[ ]+ff8d e8fe[ ]+bls (0x7e6a|7e6a <startm16>)
+[ ]+7f82:[ ]+ffbd e4fe[ ]+blt (0x7e6a|7e6a <startm16>)
+[ ]+7f86:[ ]+ff7d e0fe[ ]+bmi (0x7e6a|7e6a <startm16>)
+[ ]+7f8a:[ ]+ff2d dcfe[ ]+bne (0x7e6a|7e6a <startm16>)
+[ ]+7f8e:[ ]+ff6d d8fe[ ]+bpl (0x7e6a|7e6a <startm16>)
+[ ]+7f92:[ ]+ff4d d4fe[ ]+bvc (0x7e6a|7e6a <startm16>)
+[ ]+7f96:[ ]+ff5d d0fe[ ]+bvs (0x7e6a|7e6a <startm16>)
+00007f9a <start3>:
+[ ]+7f9a:[ ]+0f05[ ]+nop[ ]*
+[ ]+7f9c:[ ]+ffed cafe[ ]+ba (0x7e6a|7e6a <startm16>)
+[ ]+7fa0:[ ]+ff0d c6fe[ ]+bhs (0x7e6a|7e6a <startm16>)
+[ ]+7fa4:[ ]+ff1d c2fe[ ]+blo (0x7e6a|7e6a <startm16>)
+[ ]+7fa8:[ ]+ff3d befe[ ]+beq (0x7e6a|7e6a <startm16>)
+[ ]+7fac:[ ]+fffd bafe[ ]+bwf (0x7e6a|7e6a <startm16>)
+[ ]+7fb0:[ ]+fffd b6fe[ ]+bwf (0x7e6a|7e6a <startm16>)
+[ ]+7fb4:[ ]+fffd b2fe[ ]+bwf (0x7e6a|7e6a <startm16>)
+[ ]+7fb8:[ ]+ffad aefe[ ]+bge (0x7e6a|7e6a <startm16>)
+[ ]+7fbc:[ ]+ffcd aafe[ ]+bgt (0x7e6a|7e6a <startm16>)
+[ ]+7fc0:[ ]+ff9d a6fe[ ]+bhi (0x7e6a|7e6a <startm16>)
+[ ]+7fc4:[ ]+ff0d a2fe[ ]+bhs (0x7e6a|7e6a <startm16>)
+[ ]+7fc8:[ ]+ffdd 9efe[ ]+ble (0x7e6a|7e6a <startm16>)
+[ ]+7fcc:[ ]+ff1d 9afe[ ]+blo (0x7e6a|7e6a <startm16>)
+[ ]+7fd0:[ ]+ff8d 96fe[ ]+bls (0x7e6a|7e6a <startm16>)
+[ ]+7fd4:[ ]+ffbd 92fe[ ]+blt (0x7e6a|7e6a <startm16>)
+[ ]+7fd8:[ ]+ff7d 8efe[ ]+bmi (0x7e6a|7e6a <startm16>)
+[ ]+7fdc:[ ]+ff2d 8afe[ ]+bne (0x7e6a|7e6a <startm16>)
+[ ]+7fe0:[ ]+ff6d 86fe[ ]+bpl (0x7e6a|7e6a <startm16>)
+[ ]+7fe4:[ ]+ff4d 82fe[ ]+bvc (0x7e6a|7e6a <startm16>)
+[ ]+7fe8:[ ]+ff5d 7efe[ ]+bvs (0x7e6a|7e6a <startm16>)
+00007fec <start4>:
+[ ]+7fec:[ ]+0f05[ ]+nop[ ]*
+[ ]+7fee:[ ]+ffed 1080[ ]+ba (0x2|2 <startm32>)
+[ ]+7ff2:[ ]+ff0d 0c80[ ]+bhs (0x2|2 <startm32>)
+[ ]+7ff6:[ ]+ff1d 0880[ ]+blo (0x2|2 <startm32>)
+[ ]+7ffa:[ ]+ff3d 0480[ ]+beq (0x2|2 <startm32>)
+[ ]+7ffe:[ ]+fffd 0080[ ]+bwf (0x2|2 <startm32>)
+[ ]+8002:[ ]+08e0[ ]+ba[ ]+(0x800c|800c <start4\+0x20>)
+[ ]+8004:[ ]+0f05[ ]+nop[ ]*
+[ ]+8006:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8008:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+800c:[ ]+f9f0[ ]+bwf[ ]+(0x8006|8006 <start4\+0x1a>)
+[ ]+800e:[ ]+08e0[ ]+ba[ ]+(0x8018|8018 <start4\+0x2c>)
+[ ]+8010:[ ]+0f05[ ]+nop[ ]*
+[ ]+8012:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8014:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8018:[ ]+f9f0[ ]+bwf[ ]+(0x8012|8012 <start4\+0x26>)
+[ ]+801a:[ ]+08e0[ ]+ba[ ]+(0x8024|8024 <start4\+0x38>)
+[ ]+801c:[ ]+0f05[ ]+nop[ ]*
+[ ]+801e:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8020:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8024:[ ]+f9a0[ ]+bge[ ]+(0x801e|801e <start4\+0x32>)
+[ ]+8026:[ ]+08e0[ ]+ba[ ]+(0x8030|8030 <start4\+0x44>)
+[ ]+8028:[ ]+0f05[ ]+nop[ ]*
+[ ]+802a:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+802c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8030:[ ]+f9c0[ ]+bgt[ ]+(0x802a|802a <start4\+0x3e>)
+[ ]+8032:[ ]+08e0[ ]+ba[ ]+(0x803c|803c <start4\+0x50>)
+[ ]+8034:[ ]+0f05[ ]+nop[ ]*
+[ ]+8036:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8038:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+803c:[ ]+f990[ ]+bhi[ ]+(0x8036|8036 <start4\+0x4a>)
+[ ]+803e:[ ]+08e0[ ]+ba[ ]+(0x8048|8048 <start4\+0x5c>)
+[ ]+8040:[ ]+0f05[ ]+nop[ ]*
+[ ]+8042:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8044:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8048:[ ]+f900[ ]+bcc[ ]+(0x8042|8042 <start4\+0x..>)
+[ ]+804a:[ ]+08e0[ ]+ba[ ]+(0x8054|8054 <start4\+0x..>)
+[ ]+804c:[ ]+0f05[ ]+nop[ ]*
+[ ]+804e:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8050:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8054:[ ]+f9d0[ ]+ble[ ]+(0x804e|804e <start4\+0x..>)
+[ ]+8056:[ ]+08e0[ ]+ba[ ]+(0x8060|8060 <start4\+0x..>)
+[ ]+8058:[ ]+0f05[ ]+nop[ ]*
+[ ]+805a:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+805c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8060:[ ]+f910[ ]+bcs[ ]+(0x805a|805a <start4\+0x..>)
+[ ]+8062:[ ]+08e0[ ]+ba[ ]+(0x806c|806c <start4\+0x..>)
+[ ]+8064:[ ]+0f05[ ]+nop[ ]*
+[ ]+8066:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8068:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+806c:[ ]+f980[ ]+bls[ ]+(0x8066|8066 <start4\+0x..>)
+[ ]+806e:[ ]+08e0[ ]+ba[ ]+(0x8078|8078 <start4\+0x..>)
+[ ]+8070:[ ]+0f05[ ]+nop[ ]*
+[ ]+8072:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8074:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8078:[ ]+f9b0[ ]+blt[ ]+(0x8072|8072 <start4\+0x..>)
+[ ]+807a:[ ]+08e0[ ]+ba[ ]+(0x8084|8084 <start4\+0x..>)
+[ ]+807c:[ ]+0f05[ ]+nop[ ]*
+[ ]+807e:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8080:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8084:[ ]+f970[ ]+bmi[ ]+(0x807e|807e <start4\+0x..>)
+[ ]+8086:[ ]+08e0[ ]+ba[ ]+(0x8090|8090 <start4\+0x..>)
+[ ]+8088:[ ]+0f05[ ]+nop[ ]*
+[ ]+808a:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+808c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8090:[ ]+f920[ ]+bne[ ]+(0x808a|808a <start4\+0x..>)
+[ ]+8092:[ ]+08e0[ ]+ba[ ]+(0x809c|809c <start4\+0x..>)
+[ ]+8094:[ ]+0f05[ ]+nop[ ]*
+[ ]+8096:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8098:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+809c:[ ]+f960[ ]+bpl[ ]+(0x8096|8096 <start4\+0x..>)
+[ ]+809e:[ ]+08e0[ ]+ba[ ]+(0x80a8|80a8 <start4\+0x..>)
+[ ]+80a0:[ ]+0f05[ ]+nop[ ]*
+[ ]+80a2:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80a4:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80a8:[ ]+f940[ ]+bvc[ ]+(0x80a2|80a2 <start4\+0x..>)
+[ ]+80aa:[ ]+08e0[ ]+ba[ ]+(0x80b4|80b4 <start4\+0x..>)
+[ ]+80ac:[ ]+0f05[ ]+nop[ ]*
+[ ]+80ae:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80b0:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80b4:[ ]+f950[ ]+bvs[ ]+(0x80ae|80ae <start4\+0x..>)
+000080b6 <start5>:
+[ ]+80b6:[ ]+0f05[ ]+nop[ ]*
+[ ]+80b8:[ ]+08e0[ ]+ba[ ]+(0x80c2|80c2 <start5\+0xc>)
+[ ]+80ba:[ ]+0f05[ ]+nop[ ]*
+[ ]+80bc:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80be:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80c2:[ ]+f9e0[ ]+ba[ ]+(0x80bc|80bc <start5\+0x6>)
+[ ]+80c4:[ ]+08e0[ ]+ba[ ]+(0x80ce|80ce <start5\+0x..>)
+[ ]+80c6:[ ]+0f05[ ]+nop[ ]*
+[ ]+80c8:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80ca:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80ce:[ ]+f900[ ]+bcc[ ]+(0x80c8|80c8 <start5\+0x..>)
+[ ]+80d0:[ ]+08e0[ ]+ba[ ]+(0x80da|80da <start5\+0x..>)
+[ ]+80d2:[ ]+0f05[ ]+nop[ ]*
+[ ]+80d4:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80d6:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80da:[ ]+f910[ ]+bcs[ ]+(0x80d4|80d4 <start5\+0x..>)
+[ ]+80dc:[ ]+08e0[ ]+ba[ ]+(0x80e6|80e6 <start5\+0x..>)
+[ ]+80de:[ ]+0f05[ ]+nop[ ]*
+[ ]+80e0:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80e2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80e6:[ ]+f930[ ]+beq[ ]+(0x80e0|80e0 <start5\+0x..>)
+[ ]+80e8:[ ]+08e0[ ]+ba[ ]+(0x80f2|80f2 <start5\+0x..>)
+[ ]+80ea:[ ]+0f05[ ]+nop[ ]*
+[ ]+80ec:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80ee:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80f2:[ ]+f9f0[ ]+bwf[ ]+(0x80ec|80ec <start5\+0x..>)
+[ ]+80f4:[ ]+08e0[ ]+ba[ ]+(0x80fe|80fe <start5\+0x..>)
+[ ]+80f6:[ ]+0f05[ ]+nop[ ]*
+[ ]+80f8:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+80fa:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+80fe:[ ]+f9f0[ ]+bwf[ ]+(0x80f8|80f8 <start5\+0x..>)
+[ ]+8100:[ ]+08e0[ ]+ba[ ]+(0x810a|810a <start5\+0x..>)
+[ ]+8102:[ ]+0f05[ ]+nop[ ]*
+[ ]+8104:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8106:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+810a:[ ]+f9f0[ ]+bwf[ ]+(0x8104|8104 <start5\+0x..>)
+[ ]+810c:[ ]+08e0[ ]+ba[ ]+(0x8116|8116 <start5\+0x..>)
+[ ]+810e:[ ]+0f05[ ]+nop[ ]*
+[ ]+8110:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8112:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8116:[ ]+f9a0[ ]+bge[ ]+(0x8110|8110 <start5\+0x..>)
+[ ]+8118:[ ]+08e0[ ]+ba[ ]+(0x8122|8122 <start5\+0x..>)
+[ ]+811a:[ ]+0f05[ ]+nop[ ]*
+[ ]+811c:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+811e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8122:[ ]+f9c0[ ]+bgt[ ]+(0x811c|811c <start5\+0x..>)
+[ ]+8124:[ ]+08e0[ ]+ba[ ]+(0x812e|812e <start5\+0x..>)
+[ ]+8126:[ ]+0f05[ ]+nop[ ]*
+[ ]+8128:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+812a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+812e:[ ]+f990[ ]+bhi[ ]+(0x8128|8128 <start5\+0x..>)
+[ ]+8130:[ ]+08e0[ ]+ba[ ]+(0x813a|813a <start5\+0x..>)
+[ ]+8132:[ ]+0f05[ ]+nop[ ]*
+[ ]+8134:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8136:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+813a:[ ]+f900[ ]+bcc[ ]+(0x8134|8134 <start5\+0x..>)
+[ ]+813c:[ ]+08e0[ ]+ba[ ]+(0x8146|8146 <start5\+0x..>)
+[ ]+813e:[ ]+0f05[ ]+nop[ ]*
+[ ]+8140:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8142:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8146:[ ]+f9d0[ ]+ble[ ]+(0x8140|8140 <start5\+0x..>)
+[ ]+8148:[ ]+08e0[ ]+ba[ ]+(0x8152|8152 <start5\+0x..>)
+[ ]+814a:[ ]+0f05[ ]+nop[ ]*
+[ ]+814c:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+814e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8152:[ ]+f910[ ]+bcs[ ]+(0x814c|814c <start5\+0x..>)
+[ ]+8154:[ ]+08e0[ ]+ba[ ]+(0x815e|815e <start5\+0x..>)
+[ ]+8156:[ ]+0f05[ ]+nop[ ]*
+[ ]+8158:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+815a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+815e:[ ]+f980[ ]+bls[ ]+(0x8158|8158 <start5\+0x..>)
+[ ]+8160:[ ]+08e0[ ]+ba[ ]+(0x816a|816a <start5\+0x..>)
+[ ]+8162:[ ]+0f05[ ]+nop[ ]*
+[ ]+8164:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8166:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+816a:[ ]+f9b0[ ]+blt[ ]+(0x8164|8164 <start5\+0x..>)
+[ ]+816c:[ ]+08e0[ ]+ba[ ]+(0x8176|8176 <start5\+0x..>)
+[ ]+816e:[ ]+0f05[ ]+nop[ ]*
+[ ]+8170:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8172:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8176:[ ]+f970[ ]+bmi[ ]+(0x8170|8170 <start5\+0x..>)
+[ ]+8178:[ ]+08e0[ ]+ba[ ]+(0x8182|8182 <start5\+0x..>)
+[ ]+817a:[ ]+0f05[ ]+nop[ ]*
+[ ]+817c:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+817e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+8182:[ ]+f920[ ]+bne[ ]+(0x817c|817c <start5\+0x..>)
+[ ]+8184:[ ]+08e0[ ]+ba[ ]+(0x818e|818e <start5\+0x..>)
+[ ]+8186:[ ]+0f05[ ]+nop[ ]*
+[ ]+8188:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+818a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+818e:[ ]+f960[ ]+bpl[ ]+(0x8188|8188 <start5\+0x..>)
+[ ]+8190:[ ]+08e0[ ]+ba[ ]+(0x819a|819a <start5\+0x..>)
+[ ]+8192:[ ]+0f05[ ]+nop[ ]*
+[ ]+8194:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+8196:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+819a:[ ]+f940[ ]+bvc[ ]+(0x8194|8194 <start5\+0x..>)
+[ ]+819c:[ ]+08e0[ ]+ba[ ]+(0x81a6|81a6 <start5\+0x..>)
+[ ]+819e:[ ]+0f05[ ]+nop[ ]*
+[ ]+81a0:[ ]+3f0d 0200 0000[ ]+jump[ ]+(0x2|2 <startm32>)
+[ ]+81a2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*2
+[ ]+81a6:[ ]+f950[ ]+bvs[ ]+(0x81a0|81a0 <start5\+0x..>)
+000081a8 <start6>:
+[ ]+81a8:[ ]+0f05[ ]+nop[ ]*
+[ ]+81aa:[ ]+08e0[ ]+ba[ ]+(0x81b4|81b4 <start6\+0xc>)
+[ ]+81ac:[ ]+0f05[ ]+nop[ ]*
+[ ]+81ae:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81b0:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81b4:[ ]+f9e0[ ]+ba[ ]+(0x81ae|81ae <start6\+0x6>)
+[ ]+81b6:[ ]+08e0[ ]+ba[ ]+(0x81c0|81c0 <start6\+0x..>)
+[ ]+81b8:[ ]+0f05[ ]+nop[ ]*
+[ ]+81ba:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81bc:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81c0:[ ]+f900[ ]+bcc[ ]+(0x81ba|81ba <start6\+0x..>)
+[ ]+81c2:[ ]+08e0[ ]+ba[ ]+(0x81cc|81cc <start6\+0x..>)
+[ ]+81c4:[ ]+0f05[ ]+nop[ ]*
+[ ]+81c6:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81c8:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81cc:[ ]+f910[ ]+bcs[ ]+(0x81c6|81c6 <start6\+0x..>)
+[ ]+81ce:[ ]+08e0[ ]+ba[ ]+(0x81d8|81d8 <start6\+0x..>)
+[ ]+81d0:[ ]+0f05[ ]+nop[ ]*
+[ ]+81d2:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81d4:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81d8:[ ]+f930[ ]+beq[ ]+(0x81d2|81d2 <start6\+0x..>)
+[ ]+81da:[ ]+08e0[ ]+ba[ ]+(0x81e4|81e4 <start6\+0x..>)
+[ ]+81dc:[ ]+0f05[ ]+nop[ ]*
+[ ]+81de:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81e0:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81e4:[ ]+f9f0[ ]+bwf[ ]+(0x81de|81de <start6\+0x..>)
+[ ]+81e6:[ ]+08e0[ ]+ba[ ]+(0x81f0|81f0 <start6\+0x..>)
+[ ]+81e8:[ ]+0f05[ ]+nop[ ]*
+[ ]+81ea:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81ec:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81f0:[ ]+f9f0[ ]+bwf[ ]+(0x81ea|81ea <start6\+0x..>)
+[ ]+81f2:[ ]+08e0[ ]+ba[ ]+(0x81fc|81fc <start6\+0x..>)
+[ ]+81f4:[ ]+0f05[ ]+nop[ ]*
+[ ]+81f6:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+81f8:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+81fc:[ ]+f9f0[ ]+bwf[ ]+(0x81f6|81f6 <start6\+0x..>)
+[ ]+81fe:[ ]+08e0[ ]+ba[ ]+(0x8208|8208 <start6\+0x..>)
+[ ]+8200:[ ]+0f05[ ]+nop[ ]*
+[ ]+8202:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8204:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8208:[ ]+f9a0[ ]+bge[ ]+(0x8202|8202 <start6\+0x..>)
+[ ]+820a:[ ]+08e0[ ]+ba[ ]+(0x8214|8214 <start6\+0x..>)
+[ ]+820c:[ ]+0f05[ ]+nop[ ]*
+[ ]+820e:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8210:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8214:[ ]+f9c0[ ]+bgt[ ]+(0x820e|820e <start6\+0x..>)
+[ ]+8216:[ ]+08e0[ ]+ba[ ]+(0x8220|8220 <start6\+0x..>)
+[ ]+8218:[ ]+0f05[ ]+nop[ ]*
+[ ]+821a:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+821c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8220:[ ]+f990[ ]+bhi[ ]+(0x821a|821a <start6\+0x..>)
+[ ]+8222:[ ]+08e0[ ]+ba[ ]+(0x822c|822c <start6\+0x..>)
+[ ]+8224:[ ]+0f05[ ]+nop[ ]*
+[ ]+8226:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8228:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+822c:[ ]+f900[ ]+bcc[ ]+(0x8226|8226 <start6\+0x..>)
+[ ]+822e:[ ]+08e0[ ]+ba[ ]+(0x8238|8238 <start6\+0x..>)
+[ ]+8230:[ ]+0f05[ ]+nop[ ]*
+[ ]+8232:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8234:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8238:[ ]+f9d0[ ]+ble[ ]+(0x8232|8232 <start6\+0x..>)
+[ ]+823a:[ ]+08e0[ ]+ba[ ]+(0x8244|8244 <start6\+0x..>)
+[ ]+823c:[ ]+0f05[ ]+nop[ ]*
+[ ]+823e:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8240:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8244:[ ]+f910[ ]+bcs[ ]+(0x823e|823e <start6\+0x..>)
+[ ]+8246:[ ]+08e0[ ]+ba[ ]+(0x8250|8250 <start6\+0x..>)
+[ ]+8248:[ ]+0f05[ ]+nop[ ]*
+[ ]+824a:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+824c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8250:[ ]+f980[ ]+bls[ ]+(0x824a|824a <start6\+0x..>)
+[ ]+8252:[ ]+08e0[ ]+ba[ ]+(0x825c|825c <start6\+0x..>)
+[ ]+8254:[ ]+0f05[ ]+nop[ ]*
+[ ]+8256:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8258:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+825c:[ ]+f9b0[ ]+blt[ ]+(0x8256|8256 <start6\+0x..>)
+[ ]+825e:[ ]+08e0[ ]+ba[ ]+(0x8268|8268 <start6\+0x..>)
+[ ]+8260:[ ]+0f05[ ]+nop[ ]*
+[ ]+8262:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8264:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8268:[ ]+f970[ ]+bmi[ ]+(0x8262|8262 <start6\+0x..>)
+[ ]+826a:[ ]+08e0[ ]+ba[ ]+(0x8274|8274 <start6\+0x..>)
+[ ]+826c:[ ]+0f05[ ]+nop[ ]*
+[ ]+826e:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8270:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8274:[ ]+f920[ ]+bne[ ]+(0x826e|826e <start6\+0x..>)
+[ ]+8276:[ ]+08e0[ ]+ba[ ]+(0x8280|8280 <start6\+0x..>)
+[ ]+8278:[ ]+0f05[ ]+nop[ ]*
+[ ]+827a:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+827c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8280:[ ]+f960[ ]+bpl[ ]+(0x827a|827a <start6\+0x..>)
+[ ]+8282:[ ]+08e0[ ]+ba[ ]+(0x828c|828c <start6\+0x..>)
+[ ]+8284:[ ]+0f05[ ]+nop[ ]*
+[ ]+8286:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8288:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+828c:[ ]+f940[ ]+bvc[ ]+(0x8286|8286 <start6\+0x..>)
+[ ]+828e:[ ]+08e0[ ]+ba[ ]+(0x8298|8298 <start6\+0x..>)
+[ ]+8290:[ ]+0f05[ ]+nop[ ]*
+[ ]+8292:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8294:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8298:[ ]+f950[ ]+bvs[ ]+(0x8292|8292 <start6\+0x..>)
+0000829a <start7>:
+[ ]+829a:[ ]+0f05[ ]+nop[ ]*
+[ ]+829c:[ ]+08e0[ ]+ba[ ]+(0x82a6|82a6 <start7\+0xc>)
+[ ]+829e:[ ]+0f05[ ]+nop[ ]*
+[ ]+82a0:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82a2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82a6:[ ]+f9e0[ ]+ba[ ]+(0x82a0|82a0 <start7\+0x6>)
+[ ]+82a8:[ ]+08e0[ ]+ba[ ]+(0x82b2|82b2 <start7\+0x..>)
+[ ]+82aa:[ ]+0f05[ ]+nop[ ]*
+[ ]+82ac:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82ae:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82b2:[ ]+f900[ ]+bcc[ ]+(0x82ac|82ac <start7\+0x..>)
+[ ]+82b4:[ ]+08e0[ ]+ba[ ]+(0x82be|82be <start7\+0x..>)
+[ ]+82b6:[ ]+0f05[ ]+nop[ ]*
+[ ]+82b8:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82ba:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82be:[ ]+f910[ ]+bcs[ ]+(0x82b8|82b8 <start7\+0x..>)
+[ ]+82c0:[ ]+08e0[ ]+ba[ ]+(0x82ca|82ca <start7\+0x..>)
+[ ]+82c2:[ ]+0f05[ ]+nop[ ]*
+[ ]+82c4:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82c6:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82ca:[ ]+f930[ ]+beq[ ]+(0x82c4|82c4 <start7\+0x..>)
+[ ]+82cc:[ ]+08e0[ ]+ba[ ]+(0x82d6|82d6 <start7\+0x..>)
+[ ]+82ce:[ ]+0f05[ ]+nop[ ]*
+[ ]+82d0:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82d2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82d6:[ ]+f9f0[ ]+bwf[ ]+(0x82d0|82d0 <start7\+0x..>)
+[ ]+82d8:[ ]+08e0[ ]+ba[ ]+(0x82e2|82e2 <start7\+0x..>)
+[ ]+82da:[ ]+0f05[ ]+nop[ ]*
+[ ]+82dc:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82de:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82e2:[ ]+f9f0[ ]+bwf[ ]+(0x82dc|82dc <start7\+0x..>)
+[ ]+82e4:[ ]+08e0[ ]+ba[ ]+(0x82ee|82ee <start7\+0x..>)
+[ ]+82e6:[ ]+0f05[ ]+nop[ ]*
+[ ]+82e8:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82ea:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82ee:[ ]+f9f0[ ]+bwf[ ]+(0x82e8|82e8 <start7\+0x..>)
+[ ]+82f0:[ ]+08e0[ ]+ba[ ]+(0x82fa|82fa <start7\+0x..>)
+[ ]+82f2:[ ]+0f05[ ]+nop[ ]*
+[ ]+82f4:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+82f6:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+82fa:[ ]+f9a0[ ]+bge[ ]+(0x82f4|82f4 <start7\+0x..>)
+[ ]+82fc:[ ]+08e0[ ]+ba[ ]+(0x8306|8306 <start7\+0x..>)
+[ ]+82fe:[ ]+0f05[ ]+nop[ ]*
+[ ]+8300:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8302:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8306:[ ]+f9c0[ ]+bgt[ ]+(0x8300|8300 <start7\+0x..>)
+[ ]+8308:[ ]+08e0[ ]+ba[ ]+(0x8312|8312 <start7\+0x..>)
+[ ]+830a:[ ]+0f05[ ]+nop[ ]*
+[ ]+830c:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+830e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8312:[ ]+f990[ ]+bhi[ ]+(0x830c|830c <start7\+0x..>)
+[ ]+8314:[ ]+08e0[ ]+ba[ ]+(0x831e|831e <start7\+0x..>)
+[ ]+8316:[ ]+0f05[ ]+nop[ ]*
+[ ]+8318:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+831a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+831e:[ ]+f900[ ]+bcc[ ]+(0x8318|8318 <start7\+0x..>)
+[ ]+8320:[ ]+08e0[ ]+ba[ ]+(0x832a|832a <start7\+0x..>)
+[ ]+8322:[ ]+0f05[ ]+nop[ ]*
+[ ]+8324:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8326:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+832a:[ ]+f9d0[ ]+ble[ ]+(0x8324|8324 <start7\+0x..>)
+[ ]+832c:[ ]+08e0[ ]+ba[ ]+(0x8336|8336 <start7\+0x..>)
+[ ]+832e:[ ]+0f05[ ]+nop[ ]*
+[ ]+8330:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+8332:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8336:[ ]+f910[ ]+bcs[ ]+(0x8330|8330 <start7\+0x..>)
+[ ]+8338:[ ]+08e0[ ]+ba[ ]+(0x8342|8342 <start7\+0x..>)
+[ ]+833a:[ ]+0f05[ ]+nop[ ]*
+[ ]+833c:[ ]+3f0d 4403 0100[ ]+jump[ ]+(0x[0]*10344|10344 <endp32>)
+[ ]+833e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*10344
+[ ]+8342:[ ]+f980[ ]+bls[ ]+(0x833c|833c <start7\+0x..>)
+[ ]+8344:[ ]+ffbd fc7f[ ]+blt (0x[0]*10344|10344 <endp32>)
+[ ]+8348:[ ]+ff7d f87f[ ]+bmi (0x[0]*10344|10344 <endp32>)
+[ ]+834c:[ ]+ff2d f47f[ ]+bne (0x[0]*10344|10344 <endp32>)
+[ ]+8350:[ ]+ff6d f07f[ ]+bpl (0x[0]*10344|10344 <endp32>)
+[ ]+8354:[ ]+ff4d ec7f[ ]+bvc (0x[0]*10344|10344 <endp32>)
+[ ]+8358:[ ]+ff5d e87f[ ]+bvs (0x[0]*10344|10344 <endp32>)
+0000835c <start8>:
+[ ]+835c:[ ]+0f05[ ]+nop[ ]*
+[ ]+835e:[ ]+ffed 7a01[ ]+ba (0x84dc|84dc <endp16>)
+[ ]+8362:[ ]+ff0d 7601[ ]+bhs (0x84dc|84dc <endp16>)
+[ ]+8366:[ ]+ff1d 7201[ ]+blo (0x84dc|84dc <endp16>)
+[ ]+836a:[ ]+ff3d 6e01[ ]+beq (0x84dc|84dc <endp16>)
+[ ]+836e:[ ]+fffd 6a01[ ]+bwf (0x84dc|84dc <endp16>)
+[ ]+8372:[ ]+fffd 6601[ ]+bwf (0x84dc|84dc <endp16>)
+[ ]+8376:[ ]+fffd 6201[ ]+bwf (0x84dc|84dc <endp16>)
+[ ]+837a:[ ]+ffad 5e01[ ]+bge (0x84dc|84dc <endp16>)
+[ ]+837e:[ ]+ffcd 5a01[ ]+bgt (0x84dc|84dc <endp16>)
+[ ]+8382:[ ]+ff9d 5601[ ]+bhi (0x84dc|84dc <endp16>)
+[ ]+8386:[ ]+ff0d 5201[ ]+bhs (0x84dc|84dc <endp16>)
+[ ]+838a:[ ]+ffdd 4e01[ ]+ble (0x84dc|84dc <endp16>)
+[ ]+838e:[ ]+ff1d 4a01[ ]+blo (0x84dc|84dc <endp16>)
+[ ]+8392:[ ]+ff8d 4601[ ]+bls (0x84dc|84dc <endp16>)
+[ ]+8396:[ ]+ffbd 4201[ ]+blt (0x84dc|84dc <endp16>)
+[ ]+839a:[ ]+ff7d 3e01[ ]+bmi (0x84dc|84dc <endp16>)
+[ ]+839e:[ ]+ff2d 3a01[ ]+bne (0x84dc|84dc <endp16>)
+[ ]+83a2:[ ]+ff6d 3601[ ]+bpl (0x84dc|84dc <endp16>)
+[ ]+83a6:[ ]+ff4d 3201[ ]+bvc (0x84dc|84dc <endp16>)
+[ ]+83aa:[ ]+ff5d 2e01[ ]+bvs (0x84dc|84dc <endp16>)
+000083ae <start9>:
+[ ]+83ae:[ ]+0f05[ ]+nop[ ]*
+[ ]+83b0:[ ]+ffed 2801[ ]+ba (0x84dc|84dc <endp16>)
+[ ]+83b4:[ ]+ff0d 2401[ ]+bhs (0x84dc|84dc <endp16>)
+[ ]+83b8:[ ]+ff1d 2001[ ]+blo (0x84dc|84dc <endp16>)
+[ ]+83bc:[ ]+ff3d 1c01[ ]+beq (0x84dc|84dc <endp16>)
+[ ]+83c0:[ ]+fffd 1801[ ]+bwf (0x84dc|84dc <endp16>)
+[ ]+83c4:[ ]+fffd 1401[ ]+bwf (0x84dc|84dc <endp16>)
+[ ]+83c8:[ ]+fffd 1001[ ]+bwf (0x84dc|84dc <endp16>)
+[ ]+83cc:[ ]+ffad 0c01[ ]+bge (0x84dc|84dc <endp16>)
+[ ]+83d0:[ ]+ffcd 0801[ ]+bgt (0x84dc|84dc <endp16>)
+[ ]+83d4:[ ]+ff9d 0401[ ]+bhi (0x84dc|84dc <endp16>)
+[ ]+83d8:[ ]+ff0d 0001[ ]+bhs (0x84dc|84dc <endp16>)
+[ ]+83dc:[ ]+fed0[ ]+ble[ ]+(0x84dc|84dc <endp16>)
+[ ]+83de:[ ]+fc10[ ]+bcs[ ]+(0x84dc|84dc <endp16>)
+[ ]+83e0:[ ]+fa80[ ]+bls[ ]+(0x84dc|84dc <endp16>)
+[ ]+83e2:[ ]+f8b0[ ]+blt[ ]+(0x84dc|84dc <endp16>)
+[ ]+83e4:[ ]+f670[ ]+bmi[ ]+(0x84dc|84dc <endp16>)
+[ ]+83e6:[ ]+f420[ ]+bne[ ]+(0x84dc|84dc <endp16>)
+[ ]+83e8:[ ]+f260[ ]+bpl[ ]+(0x84dc|84dc <endp16>)
+[ ]+83ea:[ ]+f040[ ]+bvc[ ]+(0x84dc|84dc <endp16>)
+[ ]+83ec:[ ]+ee50[ ]+bvs[ ]+(0x84dc|84dc <endp16>)
+000083ee <start10>:
+[ ]+83ee:[ ]+28e0[ ]+ba[ ]+(0x8418|8418 <end>)
+[ ]+83f0:[ ]+2600[ ]+bcc[ ]+(0x8418|8418 <end>)
+[ ]+83f2:[ ]+2410[ ]+bcs[ ]+(0x8418|8418 <end>)
+[ ]+83f4:[ ]+2230[ ]+beq[ ]+(0x8418|8418 <end>)
+[ ]+83f6:[ ]+20f0[ ]+bwf[ ]+(0x8418|8418 <end>)
+[ ]+83f8:[ ]+1ef0[ ]+bwf[ ]+(0x8418|8418 <end>)
+[ ]+83fa:[ ]+1cf0[ ]+bwf[ ]+(0x8418|8418 <end>)
+[ ]+83fc:[ ]+1aa0[ ]+bge[ ]+(0x8418|8418 <end>)
+[ ]+83fe:[ ]+18c0[ ]+bgt[ ]+(0x8418|8418 <end>)
+[ ]+8400:[ ]+1690[ ]+bhi[ ]+(0x8418|8418 <end>)
+[ ]+8402:[ ]+1400[ ]+bcc[ ]+(0x8418|8418 <end>)
+[ ]+8404:[ ]+12d0[ ]+ble[ ]+(0x8418|8418 <end>)
+[ ]+8406:[ ]+1010[ ]+bcs[ ]+(0x8418|8418 <end>)
+[ ]+8408:[ ]+0e80[ ]+bls[ ]+(0x8418|8418 <end>)
+[ ]+840a:[ ]+0cb0[ ]+blt[ ]+(0x8418|8418 <end>)
+[ ]+840c:[ ]+0a70[ ]+bmi[ ]+(0x8418|8418 <end>)
+[ ]+840e:[ ]+0820[ ]+bne[ ]+(0x8418|8418 <end>)
+[ ]+8410:[ ]+0660[ ]+bpl[ ]+(0x8418|8418 <end>)
+[ ]+8412:[ ]+0440[ ]+bvc[ ]+(0x8418|8418 <end>)
+[ ]+8414:[ ]+0250[ ]+bvs[ ]+(0x8418|8418 <end>)
+[ ]+8416:[ ]+0f05[ ]+nop[ ]*
+00008418 <end>:
+[ ]+8418:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+000084dc <endp16>:
+[ ]+84dc:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+00010344 <endp32>:
+[ ]+10344:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
diff --git a/gas/testsuite/gas/cris/branch.s b/gas/testsuite/gas/cris/branch.s
new file mode 100644
index 0000000..05cb520
--- /dev/null
+++ b/gas/testsuite/gas/cris/branch.s
@@ -0,0 +1,270 @@
+;
+; Test that branches work: 8- and 16-bit all insns, relaxing to
+; 32-bit, forward and backward. No need to check the border
+; cases for *all* insns.
+;
+ .text
+start_original:
+ nop
+startm32: ; start start2 start3
+ nop
+ .space 32750-(256-21*2+20)-(21*2+10*2+21*4)-12,0
+startm16:
+ nop
+ ; The size of a bunch of short branches is start2-start = 42,
+ ; so make the threshold be dependent of the size of that block,
+ ; for the next block; half of them will be relaxed.
+ .space 256-21*2-20,0
+start:
+ nop
+ ba start
+ bcc start
+ bcs start
+ beq start
+ bwf start
+ bext start
+ bext start ; leftover, used to be never-implemented "bir"
+ bge start
+ bgt start
+ bhi start
+ bhs start
+ ble start
+ blo start
+ bls start
+ blt start
+ bmi start
+ bne start
+ bpl start
+ bvc start
+ bvs start
+start2:
+ nop
+ ba startm16
+ bcc startm16
+ bcs startm16
+ beq startm16
+ bwf startm16
+ bext startm16
+ bext startm16
+ bge startm16
+ bgt startm16
+ bhi startm16
+ bhs startm16
+ ble startm16
+ blo startm16
+ bls startm16
+ blt startm16
+ bmi startm16
+ bne startm16
+ bpl startm16
+ bvc startm16
+ bvs startm16
+start3:
+; Ok, once more to make sure *all* 16-bit variants get ok for
+; backward references.
+ nop
+ ba startm16
+ bcc startm16
+ bcs startm16
+ beq startm16
+ bwf startm16
+ bext startm16
+ bext startm16
+ bge startm16
+ bgt startm16
+ bhi startm16
+ bhs startm16
+ ble startm16
+ blo startm16
+ bls startm16
+ blt startm16
+ bmi startm16
+ bne startm16
+ bpl startm16
+ bvc startm16
+ bvs startm16
+;
+; Now check that dynamically relaxing some of these branches
+; from 16-bit to 32-bit works.
+;
+start4:
+ nop
+ ba startm32
+ bcc startm32
+ bcs startm32
+ beq startm32
+ bwf startm32
+ bext startm32
+ bext startm32
+ bge startm32
+ bgt startm32
+ bhi startm32
+ bhs startm32
+ ble startm32
+ blo startm32
+ bls startm32
+ blt startm32
+ bmi startm32
+ bne startm32
+ bpl startm32
+ bvc startm32
+ bvs startm32
+;
+; Again, so all insns get to be tested for 32-bit relaxing.
+;
+start5:
+ nop
+ ba startm32
+ bcc startm32
+ bcs startm32
+ beq startm32
+ bwf startm32
+ bext startm32
+ bext startm32
+ bge startm32
+ bgt startm32
+ bhi startm32
+ bhs startm32
+ ble startm32
+ blo startm32
+ bls startm32
+ blt startm32
+ bmi startm32
+ bne startm32
+ bpl startm32
+ bvc startm32
+ bvs startm32
+;
+; Now test forward references. Symmetrically as above.
+;
+; All to 32-bit:
+start6:
+ nop
+ ba endp32
+ bcc endp32
+ bcs endp32
+ beq endp32
+ bwf endp32
+ bext endp32
+ bext endp32
+ bge endp32
+ bgt endp32
+ bhi endp32
+ bhs endp32
+ ble endp32
+ blo endp32
+ bls endp32
+ blt endp32
+ bmi endp32
+ bne endp32
+ bpl endp32
+ bvc endp32
+ bvs endp32
+;
+; Some get relaxed:
+;
+start7:
+ nop
+ ba endp32
+ bcc endp32
+ bcs endp32
+ beq endp32
+ bwf endp32
+ bext endp32
+ bext endp32
+ bge endp32
+ bgt endp32
+ bhi endp32
+ bhs endp32
+ ble endp32
+ blo endp32
+ bls endp32
+ blt endp32
+ bmi endp32
+ bne endp32
+ bpl endp32
+ bvc endp32
+ bvs endp32
+;
+; All to 16-bit:
+;
+start8:
+ nop
+ ba endp16
+ bcc endp16
+ bcs endp16
+ beq endp16
+ bwf endp16
+ bext endp16
+ bext endp16
+ bge endp16
+ bgt endp16
+ bhi endp16
+ bhs endp16
+ ble endp16
+ blo endp16
+ bls endp16
+ blt endp16
+ bmi endp16
+ bne endp16
+ bpl endp16
+ bvc endp16
+ bvs endp16
+;
+; Some relaxing:
+;
+start9:
+ nop
+ ba endp16
+ bcc endp16
+ bcs endp16
+ beq endp16
+ bwf endp16
+ bext endp16
+ bext endp16
+ bge endp16
+ bgt endp16
+ bhi endp16
+ bhs endp16
+ ble endp16
+ blo endp16
+ bls endp16
+ blt endp16
+ bmi endp16
+ bne endp16
+ bpl endp16
+ bvc endp16
+ bvs endp16
+;
+; And all the short ones, forward.
+;
+start10:
+ ba end
+ bcc end
+ bcs end
+ beq end
+ bwf end
+ bext end
+ bext end
+ bge end
+ bgt end
+ bhi end
+ bhs end
+ ble end
+ blo end
+ bls end
+ blt end
+ bmi end
+ bne end
+ bpl end
+ bvc end
+ bvs end
+ nop
+end:
+ nop
+ .space 256-21*2-20,0
+endp16:
+ nop
+ .space 32750-(256-21*2+20)-(21*2+10*2+21*4)-12,0
+endp32:
+ nop
diff --git a/gas/testsuite/gas/cris/break.d b/gas/testsuite/gas/cris/break.d
new file mode 100644
index 0000000..bf5d23f
--- /dev/null
+++ b/gas/testsuite/gas/cris/break.d
@@ -0,0 +1,27 @@
+#objdump: -dr
+#name: break
+
+.*:[ ]+file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+32e9[ ]+break[ ]+2
+[ ]+2:[ ]+30e9[ ]+break[ ]+0
+[ ]+4:[ ]+31e9[ ]+break[ ]+1
+[ ]+6:[ ]+32e9[ ]+break[ ]+2
+[ ]+8:[ ]+33e9[ ]+break[ ]+3
+[ ]+a:[ ]+34e9[ ]+break[ ]+4
+[ ]+c:[ ]+35e9[ ]+break[ ]+5
+[ ]+e:[ ]+36e9[ ]+break[ ]+6
+[ ]+10:[ ]+37e9[ ]+break[ ]+7
+[ ]+12:[ ]+38e9[ ]+break[ ]+8
+[ ]+14:[ ]+39e9[ ]+break[ ]+9
+[ ]+16:[ ]+3ae9[ ]+break[ ]+10
+[ ]+18:[ ]+3be9[ ]+break[ ]+11
+[ ]+1a:[ ]+3ce9[ ]+break[ ]+12
+[ ]+1c:[ ]+3de9[ ]+break[ ]+13
+[ ]+1e:[ ]+3ee9[ ]+break[ ]+14
+[ ]+20:[ ]+3fe9[ ]+break[ ]+15
+
+00000022 <end>:
+ \.\.\.
diff --git a/gas/testsuite/gas/cris/break.s b/gas/testsuite/gas/cris/break.s
new file mode 100644
index 0000000..4125b40
--- /dev/null
+++ b/gas/testsuite/gas/cris/break.s
@@ -0,0 +1,22 @@
+; No-brainer doing an exhaustive test for this one, I guess.
+ .text
+start:
+ break breakpoint
+ break 0
+ break 1
+ break 2
+ break 3
+ break 4
+ break 5
+ break 6
+ break 7
+ break 8
+ break 9
+ break 10
+ break 11
+ break 12
+ break 13
+ break 14
+ break 15
+end:
+ .set breakpoint,2
diff --git a/gas/testsuite/gas/cris/brokw-1.d b/gas/testsuite/gas/cris/brokw-1.d
new file mode 100644
index 0000000..3fd23d4
--- /dev/null
+++ b/gas/testsuite/gas/cris/brokw-1.d
@@ -0,0 +1,20 @@
+#objdump: -dr
+#name: brokw-1
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <sym2>:
+[ ]+0:[ ]+4002[ ]+moveq[ ]+0,r0
+[ ]+2:[ ]+0c00[ ]+bcc[ ]+(0x10|10 <sym2\+0x10>)
+[ ]+4:[ ]+4102[ ]+moveq[ ]+1,r0
+[ ]+6:[ ]+0ae0[ ]+ba[ ]+(0x12|12 <next_label>)
+[ ]+8:[ ]+0f05[ ]+nop[ ]*
+[ ]+a:[ ]+0f05[ ]+nop[ ]*
+[ ]+c:[ ]+3f0d 1280 0000[ ]+jump[ ]+(0x8012|8012 <sym1>)
+[ ]+e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8012
+00000012 <next_label>:
+[ ]+12:[ ]+4202[ ]+moveq[ ]+2,r0
+^[ ]+\.\.\.
+00008012 <sym1>:
+[ ]+8012:[ ]+4302[ ]+moveq[ ]+3,r0
diff --git a/gas/testsuite/gas/cris/brokw-1.s b/gas/testsuite/gas/cris/brokw-1.s
new file mode 100644
index 0000000..1121d78
--- /dev/null
+++ b/gas/testsuite/gas/cris/brokw-1.s
@@ -0,0 +1,19 @@
+; Tests the broken-word function, single word.
+
+sym2: moveq 0,r0
+
+ .word sym1 - sym2
+
+ moveq 1,r0
+; Short jump around secondary jump table inserted here :
+; ba next_label
+; nop
+; .skip 2,0
+; Secondary jump table inserted here :
+; jump sym1
+next_label:
+ moveq 2,r0
+
+ .space 32766, 0
+
+sym1: moveq 3,r0
diff --git a/gas/testsuite/gas/cris/brokw-2.d b/gas/testsuite/gas/cris/brokw-2.d
new file mode 100644
index 0000000..c641ba0
--- /dev/null
+++ b/gas/testsuite/gas/cris/brokw-2.d
@@ -0,0 +1,26 @@
+#objdump: -dr
+#name: brokw-2
+
+.*: file format .*-cris
+Disassembly of section \.text:
+00000000 <sym2>:
+[ ]+0:[ ]+4002[ ]+moveq[ ]+0,r0
+[ ]+2:[ ]+1400[ ]+bcc[ ]+(0x18|18 <sym2\+0x18>)
+[ ]+4:[ ]+0e00[ ]+bcc[ ]+(0x14|14 <sym2\+0x14>)
+[ ]+6:[ ]+4102[ ]+moveq[ ]+1,r0
+[ ]+8:[ ]+10e0[ ]+ba[ ]+(0x1a|1a <next_label>)
+[ ]+a:[ ]+0f05[ ]+nop[ ]*
+[ ]+c:[ ]+0f05[ ]+nop[ ]*
+[ ]+e:[ ]+3f0d 1c80 0000[ ]+jump[ ]+(0x801c|801c <sym3>)
+[ ]+10:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*801c
+[ ]+14:[ ]+3f0d 1a80 0000[ ]+jump[ ]+(0x801a|801a <sym1>)
+[ ]+16:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*801a
+0000001a <next_label>:
+[ ]+1a:[ ]+4202[ ]+moveq[ ]+2,r0
+^[ ]+\.\.\.
+0000801a <sym1>:
+[ ]+801a:[ ]+4302[ ]+moveq[ ]+3,r0
+0000801c <sym3>:
+[ ]+801c:[ ]+4402[ ]+moveq[ ]+4,r0
+^[ ]+\.\.\.
+
diff --git a/gas/testsuite/gas/cris/brokw-2.s b/gas/testsuite/gas/cris/brokw-2.s
new file mode 100644
index 0000000..2747d04
--- /dev/null
+++ b/gas/testsuite/gas/cris/brokw-2.s
@@ -0,0 +1,21 @@
+; Tests the broken-word function, two words.
+
+sym2: moveq 0,r0
+
+ .word sym1 - sym2
+ .word sym3 - sym2
+
+ moveq 1,r0
+; Short jump around secondary jump table inserted here :
+; ba next_label
+; nop
+; .skip 2,0
+; Secondary jump table inserted here :
+; jump sym1
+next_label:
+ moveq 2,r0
+
+ .space 32766, 0
+
+sym1: moveq 3,r0
+sym3: moveq 4,r0
diff --git a/gas/testsuite/gas/cris/brokw-3.d b/gas/testsuite/gas/cris/brokw-3.d
new file mode 100644
index 0000000..e27efe4
--- /dev/null
+++ b/gas/testsuite/gas/cris/brokw-3.d
@@ -0,0 +1,228 @@
+#objdump: -dr
+#name: brokw-3
+
+.*: file format .*-cris
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+4002[ ]+moveq[ ]+0,r0
+[ ]+2:[ ]+af0c 5700[ ]+subs\.b 87,r0
+[ ]+6:[ ]+cf0d 2900[ ]+bound\.b 0x29,r0
+[ ]+a:[ ]+5f05 3ff8[ ]+adds\.w \[pc\+r0\.w\],pc
+0000000e <sym2>:
+[ ]+e:[ ]+6201[ ]+case 87: -> (0x)?170( <.*)?
+[ ]+10:[ ]+5c01[ ]+case 88: -> (0x)?16a( <.*)?
+[ ]+12:[ ]+5601[ ]+case 89: -> (0x)?164( <.*)?
+[ ]+14:[ ]+5001[ ]+case 90: -> (0x)?15e( <.*)?
+[ ]+16:[ ]+4a01[ ]+case 91: -> (0x)?158( <.*)?
+[ ]+18:[ ]+4401[ ]+case 92: -> (0x)?152( <.*)?
+[ ]+1a:[ ]+3e01[ ]+case 93: -> (0x)?14c( <.*)?
+[ ]+1c:[ ]+3801[ ]+case 94: -> (0x)?146( <.*)?
+[ ]+1e:[ ]+3201[ ]+case 95: -> (0x)?140( <.*)?
+[ ]+20:[ ]+2c01[ ]+case 96: -> (0x)?13a( <.*)?
+[ ]+22:[ ]+2601[ ]+case 97: -> (0x)?134( <.*)?
+[ ]+24:[ ]+2001[ ]+case 98: -> (0x)?12e( <.*)?
+[ ]+26:[ ]+1a01[ ]+case 99: -> (0x)?128( <.*)?
+[ ]+28:[ ]+1401[ ]+case 100: -> (0x)?122( <.*)?
+[ ]+2a:[ ]+0e01[ ]+case 101: -> (0x)?11c( <.*)?
+[ ]+2c:[ ]+0801[ ]+case 102: -> (0x)?116( <.*)?
+[ ]+2e:[ ]+0201[ ]+case 103: -> (0x)?110( <.*)?
+[ ]+30:[ ]+fc00[ ]+case 104: -> (0x)?10a( <.*)?
+[ ]+32:[ ]+f600[ ]+case 105: -> (0x)?104( <.*)?
+[ ]+34:[ ]+f000[ ]+case 106: -> (0x)?fe( <.*)?
+[ ]+36:[ ]+ea00[ ]+case 107: -> (0x)?f8( <.*)?
+[ ]+38:[ ]+e400[ ]+case 108: -> (0x)?f2( <.*)?
+[ ]+3a:[ ]+de00[ ]+case 109: -> (0x)?ec( <.*)?
+[ ]+3c:[ ]+d800[ ]+case 110: -> (0x)?e6( <.*)?
+[ ]+3e:[ ]+d200[ ]+case 111: -> (0x)?e0( <.*)?
+[ ]+40:[ ]+cc00[ ]+case 112: -> (0x)?da( <.*)?
+[ ]+42:[ ]+c600[ ]+case 113: -> (0x)?d4( <.*)?
+[ ]+44:[ ]+c000[ ]+case 114: -> (0x)?ce( <.*)?
+[ ]+46:[ ]+ba00[ ]+case 115: -> (0x)?c8( <.*)?
+[ ]+48:[ ]+b400[ ]+case 116: -> (0x)?c2( <.*)?
+[ ]+4a:[ ]+ae00[ ]+case 117: -> (0x)?bc( <.*)?
+[ ]+4c:[ ]+a800[ ]+case 118: -> (0x)?b6( <.*)?
+[ ]+4e:[ ]+a200[ ]+case 119: -> (0x)?b0( <.*)?
+[ ]+50:[ ]+9c00[ ]+case 120: -> (0x)?aa( <.*)?
+[ ]+52:[ ]+9600[ ]+case 121: -> (0x)?a4( <.*)?
+[ ]+54:[ ]+9000[ ]+case 122: -> (0x)?9e( <.*)?
+[ ]+56:[ ]+8a00[ ]+case 123: -> (0x)?98( <.*)?
+[ ]+58:[ ]+8400[ ]+case 124: -> (0x)?92( <.*)?
+[ ]+5a:[ ]+7e00[ ]+case 125: -> (0x)?8c( <.*)?
+[ ]+5c:[ ]+7800[ ]+case 126: -> (0x)?86( <.*)?
+[ ]+5e:[ ]+7200[ ]+case 127: -> (0x)?80( <.*)?
+[ ]+60:[ ]+6c00[ ]+case 128/default: -> (0x)?7a( <.*)?
+^[ ]+\.\.\.
+[ ]+72:[ ]+4102[ ]+moveq[ ]+1,r0
+[ ]+74:[ ]+ffed fe00[ ]+ba (0x[0]?176|176 <next_label>)
+[ ]+78:[ ]+0f05[ ]+nop[ ]*
+[ ]+7a:[ ]+3f0d ca81 0000[ ]+jump[ ]+(0x81ca|81ca <sym43>)
+[ ]+7c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81ca
+[ ]+80:[ ]+3f0d c881 0000[ ]+jump[ ]+(0x81c8|81c8 <sym42>)
+[ ]+82:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81c8
+[ ]+86:[ ]+3f0d c681 0000[ ]+jump[ ]+(0x81c6|81c6 <sym41>)
+[ ]+88:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81c6
+[ ]+8c:[ ]+3f0d c481 0000[ ]+jump[ ]+(0x81c4|81c4 <sym40>)
+[ ]+8e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81c4
+[ ]+92:[ ]+3f0d c281 0000[ ]+jump[ ]+(0x81c2|81c2 <sym39>)
+[ ]+94:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81c2
+[ ]+98:[ ]+3f0d c081 0000[ ]+jump[ ]+(0x81c0|81c0 <sym38>)
+[ ]+9a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81c0
+[ ]+9e:[ ]+3f0d be81 0000[ ]+jump[ ]+(0x81be|81be <sym37>)
+[ ]+a0:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81be
+[ ]+a4:[ ]+3f0d bc81 0000[ ]+jump[ ]+(0x81bc|81bc <sym36>)
+[ ]+a6:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81bc
+[ ]+aa:[ ]+3f0d ba81 0000[ ]+jump[ ]+(0x81ba|81ba <sym35>)
+[ ]+ac:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81ba
+[ ]+b0:[ ]+3f0d b881 0000[ ]+jump[ ]+(0x81b8|81b8 <sym34>)
+[ ]+b2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81b8
+[ ]+b6:[ ]+3f0d b681 0000[ ]+jump[ ]+(0x81b6|81b6 <sym33>)
+[ ]+b8:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81b6
+[ ]+bc:[ ]+3f0d b481 0000[ ]+jump[ ]+(0x81b4|81b4 <sym32>)
+[ ]+be:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81b4
+[ ]+c2:[ ]+3f0d b281 0000[ ]+jump[ ]+(0x81b2|81b2 <sym31>)
+[ ]+c4:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81b2
+[ ]+c8:[ ]+3f0d b081 0000[ ]+jump[ ]+(0x81b0|81b0 <sym30>)
+[ ]+ca:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81b0
+[ ]+ce:[ ]+3f0d ae81 0000[ ]+jump[ ]+(0x81ae|81ae <sym29>)
+[ ]+d0:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81ae
+[ ]+d4:[ ]+3f0d ac81 0000[ ]+jump[ ]+(0x81ac|81ac <sym28>)
+[ ]+d6:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81ac
+[ ]+da:[ ]+3f0d aa81 0000[ ]+jump[ ]+(0x81aa|81aa <sym27>)
+[ ]+dc:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81aa
+[ ]+e0:[ ]+3f0d a881 0000[ ]+jump[ ]+(0x81a8|81a8 <sym26>)
+[ ]+e2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81a8
+[ ]+e6:[ ]+3f0d a681 0000[ ]+jump[ ]+(0x81a6|81a6 <sym25>)
+[ ]+e8:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81a6
+[ ]+ec:[ ]+3f0d a481 0000[ ]+jump[ ]+(0x81a4|81a4 <sym24>)
+[ ]+ee:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81a4
+[ ]+f2:[ ]+3f0d a281 0000[ ]+jump[ ]+(0x81a2|81a2 <sym23>)
+[ ]+f4:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81a2
+[ ]+f8:[ ]+3f0d a081 0000[ ]+jump[ ]+(0x81a0|81a0 <sym22>)
+[ ]+fa:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*81a0
+[ ]+fe:[ ]+3f0d 9e81 0000[ ]+jump[ ]+(0x819e|819e <sym21>)
+[ ]+100:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*819e
+[ ]+104:[ ]+3f0d 9c81 0000[ ]+jump[ ]+(0x819c|819c <sym20>)
+[ ]+106:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*819c
+[ ]+10a:[ ]+3f0d 9a81 0000[ ]+jump[ ]+(0x819a|819a <sym19>)
+[ ]+10c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*819a
+[ ]+110:[ ]+3f0d 9881 0000[ ]+jump[ ]+(0x8198|8198 <sym18>)
+[ ]+112:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8198
+[ ]+116:[ ]+3f0d 9681 0000[ ]+jump[ ]+(0x8196|8196 <sym17>)
+[ ]+118:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8196
+[ ]+11c:[ ]+3f0d 9481 0000[ ]+jump[ ]+(0x8194|8194 <sym16>)
+[ ]+11e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8194
+[ ]+122:[ ]+3f0d 9281 0000[ ]+jump[ ]+(0x8192|8192 <sym15>)
+[ ]+124:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8192
+[ ]+128:[ ]+3f0d 9081 0000[ ]+jump[ ]+(0x8190|8190 <sym14>)
+[ ]+12a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8190
+[ ]+12e:[ ]+3f0d 8e81 0000[ ]+jump[ ]+(0x818e|818e <sym13>)
+[ ]+130:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*818e
+[ ]+134:[ ]+3f0d 8c81 0000[ ]+jump[ ]+(0x818c|818c <sym12>)
+[ ]+136:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*818c
+[ ]+13a:[ ]+3f0d 8a81 0000[ ]+jump[ ]+(0x818a|818a <sym11>)
+[ ]+13c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*818a
+[ ]+140:[ ]+3f0d 8881 0000[ ]+jump[ ]+(0x8188|8188 <sym10>)
+[ ]+142:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8188
+[ ]+146:[ ]+3f0d 8681 0000[ ]+jump[ ]+(0x8186|8186 <sym9>)
+[ ]+148:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8186
+[ ]+14c:[ ]+3f0d 8481 0000[ ]+jump[ ]+(0x8184|8184 <sym8>)
+[ ]+14e:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8184
+[ ]+152:[ ]+3f0d 8281 0000[ ]+jump[ ]+(0x8182|8182 <sym7>)
+[ ]+154:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8182
+[ ]+158:[ ]+3f0d 8081 0000[ ]+jump[ ]+(0x8180|8180 <sym6>)
+[ ]+15a:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8180
+[ ]+15e:[ ]+3f0d 7e81 0000[ ]+jump[ ]+(0x817e|817e <sym5>)
+[ ]+160:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*817e
+[ ]+164:[ ]+3f0d 7c81 0000[ ]+jump[ ]+(0x817c|817c <sym4>)
+[ ]+166:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*817c
+[ ]+16a:[ ]+3f0d 7a81 0000[ ]+jump[ ]+(0x817a|817a <sym3>)
+[ ]+16c:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*817a
+[ ]+170:[ ]+3f0d 7881 0000[ ]+jump[ ]+(0x8178|8178 <sym1>)
+[ ]+172:[ ]+(R_CRIS_)?32[ ]+\.text\+0x[0]*8178
+00000176 <next_label>:
+[ ]+176:[ ]+4202[ ]+moveq[ ]+2,r0
+^[ ]+\.\.\.
+00008178 <sym1>:
+[ ]+8178:[ ]+7d02[ ]+moveq[ ]+-3,r0
+0000817a <sym3>:
+[ ]+817a:[ ]+4302[ ]+moveq[ ]+3,r0
+0000817c <sym4>:
+[ ]+817c:[ ]+4402[ ]+moveq[ ]+4,r0
+0000817e <sym5>:
+[ ]+817e:[ ]+4502[ ]+moveq[ ]+5,r0
+00008180 <sym6>:
+[ ]+8180:[ ]+4602[ ]+moveq[ ]+6,r0
+00008182 <sym7>:
+[ ]+8182:[ ]+4702[ ]+moveq[ ]+7,r0
+00008184 <sym8>:
+[ ]+8184:[ ]+4802[ ]+moveq[ ]+8,r0
+00008186 <sym9>:
+[ ]+8186:[ ]+4902[ ]+moveq[ ]+9,r0
+00008188 <sym10>:
+[ ]+8188:[ ]+4a02[ ]+moveq[ ]+10,r0
+0000818a <sym11>:
+[ ]+818a:[ ]+4b02[ ]+moveq[ ]+11,r0
+0000818c <sym12>:
+[ ]+818c:[ ]+4c02[ ]+moveq[ ]+12,r0
+0000818e <sym13>:
+[ ]+818e:[ ]+4d02[ ]+moveq[ ]+13,r0
+00008190 <sym14>:
+[ ]+8190:[ ]+4e02[ ]+moveq[ ]+14,r0
+00008192 <sym15>:
+[ ]+8192:[ ]+4f02[ ]+moveq[ ]+15,r0
+00008194 <sym16>:
+[ ]+8194:[ ]+5002[ ]+moveq[ ]+16,r0
+00008196 <sym17>:
+[ ]+8196:[ ]+5102[ ]+moveq[ ]+17,r0
+00008198 <sym18>:
+[ ]+8198:[ ]+5202[ ]+moveq[ ]+18,r0
+0000819a <sym19>:
+[ ]+819a:[ ]+5302[ ]+moveq[ ]+19,r0
+0000819c <sym20>:
+[ ]+819c:[ ]+5402[ ]+moveq[ ]+20,r0
+0000819e <sym21>:
+[ ]+819e:[ ]+5502[ ]+moveq[ ]+21,r0
+000081a0 <sym22>:
+[ ]+81a0:[ ]+5602[ ]+moveq[ ]+22,r0
+000081a2 <sym23>:
+[ ]+81a2:[ ]+5702[ ]+moveq[ ]+23,r0
+000081a4 <sym24>:
+[ ]+81a4:[ ]+5802[ ]+moveq[ ]+24,r0
+000081a6 <sym25>:
+[ ]+81a6:[ ]+5902[ ]+moveq[ ]+25,r0
+000081a8 <sym26>:
+[ ]+81a8:[ ]+5a02[ ]+moveq[ ]+26,r0
+000081aa <sym27>:
+[ ]+81aa:[ ]+5b02[ ]+moveq[ ]+27,r0
+000081ac <sym28>:
+[ ]+81ac:[ ]+5c02[ ]+moveq[ ]+28,r0
+000081ae <sym29>:
+[ ]+81ae:[ ]+5d02[ ]+moveq[ ]+29,r0
+000081b0 <sym30>:
+[ ]+81b0:[ ]+5e02[ ]+moveq[ ]+30,r0
+000081b2 <sym31>:
+[ ]+81b2:[ ]+5f02[ ]+moveq[ ]+31,r0
+000081b4 <sym32>:
+[ ]+81b4:[ ]+6002[ ]+moveq[ ]+-32,r0
+000081b6 <sym33>:
+[ ]+81b6:[ ]+6102[ ]+moveq[ ]+-31,r0
+000081b8 <sym34>:
+[ ]+81b8:[ ]+6202[ ]+moveq[ ]+-30,r0
+000081ba <sym35>:
+[ ]+81ba:[ ]+6302[ ]+moveq[ ]+-29,r0
+000081bc <sym36>:
+[ ]+81bc:[ ]+6402[ ]+moveq[ ]+-28,r0
+000081be <sym37>:
+[ ]+81be:[ ]+6502[ ]+moveq[ ]+-27,r0
+000081c0 <sym38>:
+[ ]+81c0:[ ]+6602[ ]+moveq[ ]+-26,r0
+000081c2 <sym39>:
+[ ]+81c2:[ ]+6702[ ]+moveq[ ]+-25,r0
+000081c4 <sym40>:
+[ ]+81c4:[ ]+6802[ ]+moveq[ ]+-24,r0
+000081c6 <sym41>:
+[ ]+81c6:[ ]+6902[ ]+moveq[ ]+-23,r0
+000081c8 <sym42>:
+[ ]+81c8:[ ]+6a02[ ]+moveq[ ]+-22,r0
+000081ca <sym43>:
+[ ]+81ca:[ ]+6b02[ ]+moveq[ ]+-21,r0
diff --git a/gas/testsuite/gas/cris/brokw-3.s b/gas/testsuite/gas/cris/brokw-3.s
new file mode 100644
index 0000000..468c0b0
--- /dev/null
+++ b/gas/testsuite/gas/cris/brokw-3.s
@@ -0,0 +1,112 @@
+; Tests the broken-word function, one more word than fits in a
+; single branch.
+
+start: moveq 0,r0
+
+; Take the opportunity to (rudimentally) test case-recognition,
+; as the diassembler gets overly confused by the table.
+ subs.b 87,r0
+ bound.b 41,r0
+ adds.w [pc+r0.w],pc
+sym2:
+ .word sym1 - sym2
+ .word sym3 - sym2
+ .word sym4 - sym2
+ .word sym5 - sym2
+ .word sym6 - sym2
+ .word sym7 - sym2
+ .word sym8 - sym2
+ .word sym9 - sym2
+ .word sym10 - sym2
+ .word sym11 - sym2
+ .word sym12 - sym2
+ .word sym13 - sym2
+ .word sym14 - sym2
+ .word sym15 - sym2
+ .word sym16 - sym2
+ .word sym17 - sym2
+ .word sym18 - sym2
+ .word sym19 - sym2
+ .word sym20 - sym2
+ .word sym21 - sym2
+ .word sym22 - sym2
+ .word sym23 - sym2
+ .word sym24 - sym2
+ .word sym25 - sym2
+ .word sym26 - sym2
+ .word sym27 - sym2
+ .word sym28 - sym2
+ .word sym29 - sym2
+ .word sym30 - sym2
+ .word sym31 - sym2
+ .word sym32 - sym2
+ .word sym33 - sym2
+ .word sym34 - sym2
+ .word sym35 - sym2
+ .word sym36 - sym2
+ .word sym37 - sym2
+ .word sym38 - sym2
+ .word sym39 - sym2
+ .word sym40 - sym2
+ .word sym41 - sym2
+ .word sym42 - sym2
+ .word sym43 - sym2
+
+ .space 16, 0
+
+ moveq 1,r0
+; Medium-range branch around secondary jump table inserted here :
+; ba next_label
+; nop
+; .skip 2,0
+; Secondary jump table inserted here :
+; jump sym1
+; jump sym3
+; ...
+next_label:
+ moveq 2,r0
+
+ .space 32768, 0
+
+sym1: moveq -3,r0
+sym3: moveq 3,r0
+sym4: moveq 4,r0
+sym5: moveq 5,r0
+sym6: moveq 6,r0
+sym7: moveq 7,r0
+sym8: moveq 8,r0
+sym9: moveq 9,r0
+sym10: moveq 10,r0
+sym11: moveq 11,r0
+sym12: moveq 12,r0
+sym13: moveq 13,r0
+sym14: moveq 14,r0
+sym15: moveq 15,r0
+sym16: moveq 16,r0
+sym17: moveq 17,r0
+sym18: moveq 18,r0
+sym19: moveq 19,r0
+sym20: moveq 20,r0
+sym21: moveq 21,r0
+sym22: moveq 22,r0
+sym23: moveq 23,r0
+sym24: moveq 24,r0
+sym25: moveq 25,r0
+sym26: moveq 26,r0
+sym27: moveq 27,r0
+sym28: moveq 28,r0
+sym29: moveq 29,r0
+sym30: moveq 30,r0
+sym31: moveq 31,r0
+sym32: moveq -32,r0
+sym33: moveq -31,r0
+sym34: moveq -30,r0
+sym35: moveq -29,r0
+sym36: moveq -28,r0
+sym37: moveq -27,r0
+sym38: moveq -26,r0
+sym39: moveq -25,r0
+sym40: moveq -24,r0
+sym41: moveq -23,r0
+sym42: moveq -22,r0
+sym43: moveq -21,r0
diff --git a/gas/testsuite/gas/cris/bwtest-err-1.s b/gas/testsuite/gas/cris/bwtest-err-1.s
new file mode 100644
index 0000000..df732d5
--- /dev/null
+++ b/gas/testsuite/gas/cris/bwtest-err-1.s
@@ -0,0 +1,91 @@
+; File bwtest-err-1.s
+
+; { dg-do assemble { target cris-*-* } }
+
+; A variant of exbwtest.s. This is an example of invalid use of the broken-
+; dot-word function. The nearest label occurs about 32 kbytes after the primary
+; jump table so the secondary jump table can't be reached by word displace-
+; ments and the broken words overflow.
+
+; main()
+; {
+; byte i;
+;
+; for (i=0; i <= 3; i++) {
+; result[i] = funct(i);
+; }
+; }
+;
+; Register use : r1 - i
+; r2 - result address
+
+ .text
+ .word 0
+main: move.d stack,sp
+ moveq 0,r1
+ move.d result,r2
+for1: cmpq 3,r1
+ bgt endfor1
+ move.d r1,r0
+ jsr funct
+ move.w r0,[r2+r1.w]
+ ba for1
+ addq 1,r1
+endfor1:
+end: ba end
+ nop
+
+
+; uword funct(i)
+; byte i;
+; {
+; switch (i) {
+; case 0 : return 0x1111;
+; case 1 : return 0x2222;
+; case 2 : return 0x3333;
+; case 3 : return 0x4444;
+; }
+; }
+;
+; Parameters : r0 - i
+;
+; Register use : r1 - pjt address
+
+funct: push r1
+ move.d pjt,r1
+ adds.w [r1+r0.w],pc
+pjt: .word near1 - pjt
+ .word near2 - pjt
+ .word far1 - pjt
+ .word far2 - pjt
+
+; Note that the line-number of the source-location of the error
+; seems slightly off from the user perspective, but it's the
+; best I could get without major changes in BW-handling. Not
+; sure it it's worth fixing. May need adjustments if
+; BW-handling changes. Four errors from four .words are what's
+; expected.
+
+ .space 32760,0xFF; { dg-error "Adjusted signed \.word \(.*\) overflow.*" }
+
+near1: move.w 0x1111,r0
+ ba ret1
+ nop
+
+near2: move.w 0x2222,r0
+ ba ret1
+ nop
+
+far1: move.w 0x3333,r0
+ ba ret1
+ nop
+
+far2: move.w 0x4444,r0
+ret1: pop r1
+ ret
+
+
+result: .space 4 * 2 ; static uword result[4];
+
+ .space 4
+stack:
diff --git a/gas/testsuite/gas/cris/ccr.d b/gas/testsuite/gas/cris/ccr.d
new file mode 100644
index 0000000..9089bd9
--- /dev/null
+++ b/gas/testsuite/gas/cris/ccr.d
@@ -0,0 +1,71 @@
+#objdump: -dr
+#name: flags: clearf, setf and nop
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+0f05[ ]+nop[ ]*
+[ ]+2:[ ]+b015[ ]+ax[ ]*
+[ ]+4:[ ]+bff5[ ]+setf[ ]+cvznxi[be][dm]
+[ ]+6:[ ]+fff5[ ]+clearf[ ]+cvznxi[be][dm]
+[ ]+8:[ ]+b025[ ]+ei[ ]*
+[ ]+a:[ ]+f025[ ]+di[ ]*
+[ ]+c:[ ]+b995[ ]+setf[ ]+cnx[dm]
+[ ]+e:[ ]+f995[ ]+clearf[ ]+cnx[dm]
+[ ]+10:[ ]+b005[ ]+setf[ ]*
+[ ]+12:[ ]+f005[ ]+clearf[ ]*
+[ ]+14:[ ]+b105[ ]+setf[ ]+c
+[ ]+16:[ ]+f105[ ]+clearf[ ]+c
+[ ]+18:[ ]+b205[ ]+setf[ ]+v
+[ ]+1a:[ ]+f205[ ]+clearf[ ]+v
+[ ]+1c:[ ]+b405[ ]+setf[ ]+z
+[ ]+1e:[ ]+f405[ ]+clearf[ ]+z
+[ ]+20:[ ]+b805[ ]+setf[ ]+n
+[ ]+22:[ ]+f805[ ]+clearf[ ]+n
+[ ]+24:[ ]+b015[ ]+ax[ ]*
+[ ]+26:[ ]+f015[ ]+clearf[ ]+x
+[ ]+28:[ ]+b025[ ]+ei[ ]*
+[ ]+2a:[ ]+f025[ ]+di[ ]*
+[ ]+2c:[ ]+b045[ ]+setf[ ]+[be]
+[ ]+2e:[ ]+f045[ ]+clearf[ ]+[be]
+[ ]+30:[ ]+b085[ ]+setf[ ]+[dm]
+[ ]+32:[ ]+f085[ ]+clearf[ ]+[dm]
+[ ]+34:[ ]+f305[ ]+clearf[ ]+cv
+[ ]+36:[ ]+b305[ ]+setf[ ]+cv
+[ ]+38:[ ]+f035[ ]+clearf[ ]+xi
+[ ]+3a:[ ]+b035[ ]+setf[ ]+xi
+[ ]+3c:[ ]+f305[ ]+clearf[ ]+cv
+[ ]+3e:[ ]+b305[ ]+setf[ ]+cv
+[ ]+40:[ ]+f035[ ]+clearf[ ]+xi
+[ ]+42:[ ]+b035[ ]+setf[ ]+xi
+[ ]+44:[ ]+f825[ ]+clearf[ ]+ni
+[ ]+46:[ ]+b825[ ]+setf[ ]+ni
+[ ]+48:[ ]+f825[ ]+clearf[ ]+ni
+[ ]+4a:[ ]+b825[ ]+setf[ ]+ni
+[ ]+4c:[ ]+fb15[ ]+clearf[ ]+cvnx
+[ ]+4e:[ ]+bb15[ ]+setf[ ]+cvnx
+[ ]+50:[ ]+fb15[ ]+clearf[ ]+cvnx
+[ ]+52:[ ]+bb15[ ]+setf[ ]+cvnx
+[ ]+54:[ ]+f0f5[ ]+clearf[ ]+xi[be][dm]
+[ ]+56:[ ]+b0f5[ ]+setf[ ]+xi[be][dm]
+[ ]+58:[ ]+f0f5[ ]+clearf[ ]+xi[be][dm]
+[ ]+5a:[ ]+b0f5[ ]+setf[ ]+xi[be][dm]
+[ ]+5c:[ ]+fa55[ ]+clearf[ ]+vnx[be]
+[ ]+5e:[ ]+ba55[ ]+setf[ ]+vnx[be]
+[ ]+60:[ ]+fa55[ ]+clearf[ ]+vnx[be]
+[ ]+62:[ ]+ba55[ ]+setf[ ]+vnx[be]
+[ ]+64:[ ]+bff5[ ]+setf[ ]+cvznxi[be][dm]
+[ ]+66:[ ]+fff5[ ]+clearf[ ]+cvznxi[be][dm]
+[ ]+68:[ ]+b045[ ]+setf[ ]+[be]
+[ ]+6a:[ ]+f045[ ]+clearf[ ]+[be]
+[ ]+6c:[ ]+b085[ ]+setf[ ]+[dm]
+[ ]+6e:[ ]+f085[ ]+clearf[ ]+[dm]
+[ ]+70:[ ]+f0f5[ ]+clearf[ ]+xi[be][dm]
+[ ]+72:[ ]+b0f5[ ]+setf[ ]+xi[be][dm]
+[ ]+74:[ ]+f0f5[ ]+clearf[ ]+xi[be][dm]
+[ ]+76:[ ]+b0f5[ ]+setf[ ]+xi[be][dm]
+[ ]+78:[ ]+fa55[ ]+clearf[ ]+vnx[be]
+[ ]+7a:[ ]+ba55[ ]+setf[ ]+vnx[be]
+[ ]+7c:[ ]+fa55[ ]+clearf[ ]+vnx[be]
+[ ]+7e:[ ]+ba55[ ]+setf[ ]+vnx[be]
diff --git a/gas/testsuite/gas/cris/ccr.s b/gas/testsuite/gas/cris/ccr.s
new file mode 100644
index 0000000..7fe3cb6
--- /dev/null
+++ b/gas/testsuite/gas/cris/ccr.s
@@ -0,0 +1,79 @@
+; Flag settings; clearf, setf
+
+ .text
+start:
+ nop ; So we get it tested too -- and it makes the
+ ; size of the code a 32-bit multiple, so
+ ; the end of disassembly does not show zeros.
+ ax
+ setf deixnzvc ; old names
+ clearf deixnzvc ; old names
+ ei
+ di
+ setf dxnc ; old names
+ clearf dxnc ; old names
+ setf ; empty list
+ clearf ; empty list
+; For each flag. Note that the disassembly will show macros for
+; some.
+ setf c
+ clearf c
+ setf v
+ clearf v
+ setf z
+ clearf z
+ setf n
+ clearf n
+ setf x
+ clearf x
+ setf i
+ clearf i
+ setf e
+ clearf e
+ setf d
+ clearf d
+; Two from same group, and switch order.
+ clearf vc
+ setf vc
+ clearf ix
+ setf ix
+ clearf cv
+ setf cv
+ clearf xi
+ setf xi
+; Two from different groups, and switch order.
+ clearf in
+ setf in
+ clearf ni
+ setf ni
+; Four in same group, and switch order.
+ clearf nvxc
+ setf nvxc
+ clearf vncx
+ setf vncx
+ clearf dxei
+ setf dxei
+ clearf xide
+ setf xide
+; Four in different groups, and switch order.
+ clearf exnv
+ setf exnv
+ clearf xvne
+ setf xvne
+; FIXME: Put tests for new flag-names here, (not above.
+; The new names in ETRAX 100, just some assortment of the above.
+ setf mbixnzvc
+ clearf bmixnzvc
+ setf b
+ clearf b
+ setf m
+ clearf m
+ clearf mxbi
+ setf dxbi
+ clearf ximb
+ setf ximb
+ clearf bxnv
+ setf bxnv
+ clearf xvnb
+ setf xvnb
+end:
diff --git a/gas/testsuite/gas/cris/clear.d b/gas/testsuite/gas/cris/clear.d
new file mode 100644
index 0000000..e542983
--- /dev/null
+++ b/gas/testsuite/gas/cris/clear.d
@@ -0,0 +1,325 @@
+#objdump: -dr
+#name: @OC@
+
+# Clear instruction.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+7306[ ]+clear\.b r3
+[ ]+6:[ ]+7546[ ]+clear\.w r5
+[ ]+8:[ ]+7a86[ ]+clear\.d r10
+[ ]+a:[ ]+700a[ ]+clear\.b \[r0\]
+[ ]+c:[ ]+754a[ ]+clear\.w \[r5\]
+[ ]+e:[ ]+7a8a[ ]+clear\.d \[r10\]
+[ ]+10:[ ]+700e[ ]+clear\.b \[r0\+\]
+[ ]+12:[ ]+754e[ ]+clear\.w \[r5\+\]
+[ ]+14:[ ]+7a8e[ ]+clear\.d \[r10\+\]
+[ ]+16:[ ]+4205 700a[ ]+clear\.b \[r2\+r0\.b\]
+[ ]+1a:[ ]+4255 704a[ ]+clear\.w \[r2\+r5\.b\]
+[ ]+1e:[ ]+42a5 708a[ ]+clear\.d \[r2\+r10\.b\]
+[ ]+22:[ ]+4029 700a[ ]+clear\.b \[r2\+\[r0\]\.b\]
+[ ]+26:[ ]+4529 704a[ ]+clear\.w \[r2\+\[r5\]\.b\]
+[ ]+2a:[ ]+4a29 708a[ ]+clear\.d \[r2\+\[r10\]\.b\]
+[ ]+2e:[ ]+402d 700a[ ]+clear\.b \[r2\+\[r0\+\]\.b\]
+[ ]+32:[ ]+452d 704a[ ]+clear\.w \[r2\+\[r5\+\]\.b\]
+[ ]+36:[ ]+4a2d 708a[ ]+clear\.d \[r2\+\[r10\+\]\.b\]
+[ ]+3a:[ ]+5205 700a[ ]+clear\.b \[r2\+r0\.w\]
+[ ]+3e:[ ]+5255 704a[ ]+clear\.w \[r2\+r5\.w\]
+[ ]+42:[ ]+52a5 708a[ ]+clear\.d \[r2\+r10\.w\]
+[ ]+46:[ ]+5029 700a[ ]+clear\.b \[r2\+\[r0\]\.w\]
+[ ]+4a:[ ]+5529 704a[ ]+clear\.w \[r2\+\[r5\]\.w\]
+[ ]+4e:[ ]+5a29 708a[ ]+clear\.d \[r2\+\[r10\]\.w\]
+[ ]+52:[ ]+502d 700a[ ]+clear\.b \[r2\+\[r0\+\]\.w\]
+[ ]+56:[ ]+552d 704a[ ]+clear\.w \[r2\+\[r5\+\]\.w\]
+[ ]+5a:[ ]+5a2d 708a[ ]+clear\.d \[r2\+\[r10\+\]\.w\]
+[ ]+5e:[ ]+6205 700a[ ]+clear\.b \[r2\+r0\.d\]
+[ ]+62:[ ]+6255 704a[ ]+clear\.w \[r2\+r5\.d\]
+[ ]+66:[ ]+62a5 708a[ ]+clear\.d \[r2\+r10\.d\]
+[ ]+6a:[ ]+6029 700a[ ]+clear\.b \[r2\+\[r0\]\.d\]
+[ ]+6e:[ ]+6529 704a[ ]+clear\.w \[r2\+\[r5\]\.d\]
+[ ]+72:[ ]+6a29 708a[ ]+clear\.d \[r2\+\[r10\]\.d\]
+[ ]+76:[ ]+602d 700a[ ]+clear\.b \[r2\+\[r0\+\]\.d\]
+[ ]+7a:[ ]+652d 704a[ ]+clear\.w \[r2\+\[r5\+\]\.d\]
+[ ]+7e:[ ]+6a2d 708a[ ]+clear\.d \[r2\+\[r10\+\]\.d\]
+[ ]+82:[ ]+0021 700a[ ]+clear\.b \[r2\+0\]
+[ ]+86:[ ]+0121 700a[ ]+clear\.b \[r2\+1\]
+[ ]+8a:[ ]+7f21 700a[ ]+clear\.b \[r2\+127\]
+[ ]+8e:[ ]+5f2d 8000 700a[ ]+clear\.b \[r2\+128\]
+[ ]+94:[ ]+ff21 700a[ ]+clear\.b \[r2-1\]
+[ ]+98:[ ]+8121 700a[ ]+clear\.b \[r2-127\]
+[ ]+9c:[ ]+8021 700a[ ]+clear\.b \[r2-128\]
+[ ]+a0:[ ]+5f2d ff00 700a[ ]+clear\.b \[r2\+255\]
+[ ]+a6:[ ]+2a21 700a[ ]+clear\.b \[r2\+42\]
+[ ]+aa:[ ]+d621 700a[ ]+clear\.b \[r2-42\]
+[ ]+ae:[ ]+d621 700a[ ]+clear\.b \[r2-42\]
+[ ]+b2:[ ]+2a21 700a[ ]+clear\.b \[r2\+42\]
+[ ]+b6:[ ]+d621 700a[ ]+clear\.b \[r2-42\]
+[ ]+ba:[ ]+d621 700a[ ]+clear\.b \[r2-42\]
+[ ]+be:[ ]+2a21 700a[ ]+clear\.b \[r2\+42\]
+[ ]+c2:[ ]+d621 700a[ ]+clear\.b \[r2-42\]
+[ ]+c6:[ ]+2a21 700a[ ]+clear\.b \[r2\+42\]
+[ ]+ca:[ ]+6f2d 0000 0000 700a[ ]+clear\.b \[r2\+0( <notstart>)?\]
+[ ]+cc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+d2:[ ]+0021 704a[ ]+clear\.w \[r2\+0\]
+[ ]+d6:[ ]+0121 704a[ ]+clear\.w \[r2\+1\]
+[ ]+da:[ ]+7f21 704a[ ]+clear\.w \[r2\+127\]
+[ ]+de:[ ]+5f2d 8000 704a[ ]+clear\.w \[r2\+128\]
+[ ]+e4:[ ]+ff21 704a[ ]+clear\.w \[r2-1\]
+[ ]+e8:[ ]+ff21 704a[ ]+clear\.w \[r2-1\]
+[ ]+ec:[ ]+8121 704a[ ]+clear\.w \[r2-127\]
+[ ]+f0:[ ]+8021 704a[ ]+clear\.w \[r2-128\]
+[ ]+f4:[ ]+5f2d 7fff 704a[ ]+clear\.w \[r2-129\]
+[ ]+fa:[ ]+8121 704a[ ]+clear\.w \[r2-127\]
+[ ]+fe:[ ]+8021 704a[ ]+clear\.w \[r2-128\]
+[ ]+102:[ ]+5f2d 7fff 704a[ ]+clear\.w \[r2-129\]
+[ ]+108:[ ]+5f2d ff00 704a[ ]+clear\.w \[r2\+255\]
+[ ]+10e:[ ]+5f2d 01ff 704a[ ]+clear\.w \[r2-255\]
+[ ]+114:[ ]+5f2d 01ff 704a[ ]+clear\.w \[r2-255\]
+[ ]+11a:[ ]+5f2d 0001 704a[ ]+clear\.w \[r2\+256\]
+[ ]+120:[ ]+5f2d 00ff 704a[ ]+clear\.w \[r2-256\]
+[ ]+126:[ ]+5f2d 68dd 704a[ ]+clear\.w \[r2-8856\]
+[ ]+12c:[ ]+5f2d 68dd 704a[ ]+clear\.w \[r2-8856\]
+[ ]+132:[ ]+5f2d 9822 704a[ ]+clear\.w \[r2\+8856\]
+[ ]+138:[ ]+2a21 704a[ ]+clear\.w \[r2\+42\]
+[ ]+13c:[ ]+d621 704a[ ]+clear\.w \[r2-42\]
+[ ]+140:[ ]+d621 704a[ ]+clear\.w \[r2-42\]
+[ ]+144:[ ]+2a21 704a[ ]+clear\.w \[r2\+42\]
+[ ]+148:[ ]+d621 704a[ ]+clear\.w \[r2-42\]
+[ ]+14c:[ ]+d621 704a[ ]+clear\.w \[r2-42\]
+[ ]+150:[ ]+d621 704a[ ]+clear\.w \[r2-42\]
+[ ]+154:[ ]+2a21 704a[ ]+clear\.w \[r2\+42\]
+[ ]+158:[ ]+5f2d ff7f 704a[ ]+clear\.w \[r2\+32767\]
+[ ]+15e:[ ]+6f2d 0080 0000 704a[ ]+clear\.w \[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+166:[ ]+6f2d 0180 0000 704a[ ]+clear\.w \[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+16e:[ ]+5f2d 0180 704a[ ]+clear\.w \[r2-32767\]
+[ ]+174:[ ]+5f2d 0080 704a[ ]+clear\.w \[r2-32768\]
+[ ]+17a:[ ]+6f2d ff7f ffff 704a[ ]+clear\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+182:[ ]+5f2d 0180 704a[ ]+clear\.w \[r2-32767\]
+[ ]+188:[ ]+5f2d 0080 704a[ ]+clear\.w \[r2-32768\]
+[ ]+18e:[ ]+6f2d ff7f ffff 704a[ ]+clear\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+196:[ ]+6f2d ffff 0000 704a[ ]+clear\.w \[r2\+(65535|ffff <six5535>)\]
+[ ]+19e:[ ]+6f2d 0000 0000 704a[ ]+clear\.w \[r2\+0( <notstart>)?\]
+[ ]+1a0:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+1a6:[ ]+0021 708a[ ]+clear\.d \[r2\+0\]
+[ ]+1aa:[ ]+0121 708a[ ]+clear\.d \[r2\+1\]
+[ ]+1ae:[ ]+7f21 708a[ ]+clear\.d \[r2\+127\]
+[ ]+1b2:[ ]+5f2d 8000 708a[ ]+clear\.d \[r2\+128\]
+[ ]+1b8:[ ]+ff21 708a[ ]+clear\.d \[r2-1\]
+[ ]+1bc:[ ]+ff21 708a[ ]+clear\.d \[r2-1\]
+[ ]+1c0:[ ]+8121 708a[ ]+clear\.d \[r2-127\]
+[ ]+1c4:[ ]+8021 708a[ ]+clear\.d \[r2-128\]
+[ ]+1c8:[ ]+8121 708a[ ]+clear\.d \[r2-127\]
+[ ]+1cc:[ ]+8021 708a[ ]+clear\.d \[r2-128\]
+[ ]+1d0:[ ]+5f2d ff00 708a[ ]+clear\.d \[r2\+255\]
+[ ]+1d6:[ ]+5f2d 01ff 708a[ ]+clear\.d \[r2-255\]
+[ ]+1dc:[ ]+5f2d 01ff 708a[ ]+clear\.d \[r2-255\]
+[ ]+1e2:[ ]+5f2d 0001 708a[ ]+clear\.d \[r2\+256\]
+[ ]+1e8:[ ]+5f2d 00ff 708a[ ]+clear\.d \[r2-256\]
+[ ]+1ee:[ ]+5f2d 68dd 708a[ ]+clear\.d \[r2-8856\]
+[ ]+1f4:[ ]+5f2d 00ff 708a[ ]+clear\.d \[r2-256\]
+[ ]+1fa:[ ]+5f2d 68dd 708a[ ]+clear\.d \[r2-8856\]
+[ ]+200:[ ]+5f2d 9822 708a[ ]+clear\.d \[r2\+8856\]
+[ ]+206:[ ]+6f2d ac72 2a00 708a[ ]+clear\.d \[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+20e:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+216:[ ]+6f2d acce c09e 708a[ ]+clear\.d \[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+21e:[ ]+6f2d 5331 3f81 708a[ ]+clear\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+226:[ ]+6f2d 5331 3f81 708a[ ]+clear\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+22e:[ ]+6f2d b5af 982e 708a[ ]+clear\.d \[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+236:[ ]+6f2d 2b45 941b 708a[ ]+clear\.d \[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+23e:[ ]+2a21 708a[ ]+clear\.d \[r2\+42\]
+[ ]+242:[ ]+d621 708a[ ]+clear\.d \[r2-42\]
+[ ]+246:[ ]+d621 708a[ ]+clear\.d \[r2-42\]
+[ ]+24a:[ ]+2a21 708a[ ]+clear\.d \[r2\+42\]
+[ ]+24e:[ ]+d621 708a[ ]+clear\.d \[r2-42\]
+[ ]+252:[ ]+d621 708a[ ]+clear\.d \[r2-42\]
+[ ]+256:[ ]+2a21 708a[ ]+clear\.d \[r2\+42\]
+[ ]+25a:[ ]+d621 708a[ ]+clear\.d \[r2-42\]
+[ ]+25e:[ ]+2a21 708a[ ]+clear\.d \[r2\+42\]
+[ ]+262:[ ]+5f2d ff7f 708a[ ]+clear\.d \[r2\+32767\]
+[ ]+268:[ ]+6f2d 0080 0000 708a[ ]+clear\.d \[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+270:[ ]+6f2d 0180 0000 708a[ ]+clear\.d \[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+278:[ ]+5f2d 0180 708a[ ]+clear\.d \[r2-32767\]
+[ ]+27e:[ ]+5f2d 0080 708a[ ]+clear\.d \[r2-32768\]
+[ ]+284:[ ]+6f2d ff7f ffff 708a[ ]+clear\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+28c:[ ]+5f2d 0180 708a[ ]+clear\.d \[r2-32767\]
+[ ]+292:[ ]+5f2d 0080 708a[ ]+clear\.d \[r2-32768\]
+[ ]+298:[ ]+6f2d ff7f ffff 708a[ ]+clear\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+2a0:[ ]+6f2d ffff 0000 708a[ ]+clear\.d \[r2\+(65535|ffff <six5535>)\]
+[ ]+2a8:[ ]+6f2d 0000 0100 708a[ ]+clear\.d \[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+2b0:[ ]+6f2d 2b3a 2900 708a[ ]+clear\.d \[r2\+(2701867|293a2b <two701867>)\]
+[ ]+2b8:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2c0:[ ]+6f2d d5c5 d6ff 708a[ ]+clear\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2c8:[ ]+6f2d 0000 0000 708a[ ]+clear\.d \[r2\+0( <notstart>)?\]
+[ ]+2ca:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2d0:[ ]+4205 7c0e[ ]+clear\.b \[r12=r2\+r0\.b\]
+[ ]+2d4:[ ]+4255 7c4e[ ]+clear\.w \[r12=r2\+r5\.b\]
+[ ]+2d8:[ ]+42a5 7c8e[ ]+clear\.d \[r12=r2\+r10\.b\]
+[ ]+2dc:[ ]+4029 7c0e[ ]+clear\.b \[r12=r2\+\[r0\]\.b\]
+[ ]+2e0:[ ]+4529 7c4e[ ]+clear\.w \[r12=r2\+\[r5\]\.b\]
+[ ]+2e4:[ ]+4a29 7c8e[ ]+clear\.d \[r12=r2\+\[r10\]\.b\]
+[ ]+2e8:[ ]+402d 7c0e[ ]+clear\.b \[r12=r2\+\[r0\+\]\.b\]
+[ ]+2ec:[ ]+452d 7c4e[ ]+clear\.w \[r12=r2\+\[r5\+\]\.b\]
+[ ]+2f0:[ ]+4a2d 7c8e[ ]+clear\.d \[r12=r2\+\[r10\+\]\.b\]
+[ ]+2f4:[ ]+452d 7c4e[ ]+clear\.w \[r12=r2\+\[r5\+\]\.b\]
+[ ]+2f8:[ ]+4a2d 7c8e[ ]+clear\.d \[r12=r2\+\[r10\+\]\.b\]
+[ ]+2fc:[ ]+5205 7c0e[ ]+clear\.b \[r12=r2\+r0\.w\]
+[ ]+300:[ ]+5255 7c4e[ ]+clear\.w \[r12=r2\+r5\.w\]
+[ ]+304:[ ]+52a5 7c8e[ ]+clear\.d \[r12=r2\+r10\.w\]
+[ ]+308:[ ]+5029 7c0e[ ]+clear\.b \[r12=r2\+\[r0\]\.w\]
+[ ]+30c:[ ]+5529 7c4e[ ]+clear\.w \[r12=r2\+\[r5\]\.w\]
+[ ]+310:[ ]+5a29 7c8e[ ]+clear\.d \[r12=r2\+\[r10\]\.w\]
+[ ]+314:[ ]+502d 7c0e[ ]+clear\.b \[r12=r2\+\[r0\+\]\.w\]
+[ ]+318:[ ]+552d 7c4e[ ]+clear\.w \[r12=r2\+\[r5\+\]\.w\]
+[ ]+31c:[ ]+5a2d 7c8e[ ]+clear\.d \[r12=r2\+\[r10\+\]\.w\]
+[ ]+320:[ ]+552d 7c4e[ ]+clear\.w \[r12=r2\+\[r5\+\]\.w\]
+[ ]+324:[ ]+5a2d 7c8e[ ]+clear\.d \[r12=r2\+\[r10\+\]\.w\]
+[ ]+328:[ ]+6205 7c0e[ ]+clear\.b \[r12=r2\+r0\.d\]
+[ ]+32c:[ ]+6255 7c4e[ ]+clear\.w \[r12=r2\+r5\.d\]
+[ ]+330:[ ]+62a5 7c8e[ ]+clear\.d \[r12=r2\+r10\.d\]
+[ ]+334:[ ]+6029 7c0e[ ]+clear\.b \[r12=r2\+\[r0\]\.d\]
+[ ]+338:[ ]+6529 7c4e[ ]+clear\.w \[r12=r2\+\[r5\]\.d\]
+[ ]+33c:[ ]+6a29 7c8e[ ]+clear\.d \[r12=r2\+\[r10\]\.d\]
+[ ]+340:[ ]+602d 7c0e[ ]+clear\.b \[r12=r2\+\[r0\+\]\.d\]
+[ ]+344:[ ]+652d 7c4e[ ]+clear\.w \[r12=r2\+\[r5\+\]\.d\]
+[ ]+348:[ ]+6a2d 7c8e[ ]+clear\.d \[r12=r2\+\[r10\+\]\.d\]
+[ ]+34c:[ ]+652d 7c4e[ ]+clear\.w \[r12=r2\+\[r5\+\]\.d\]
+[ ]+350:[ ]+6a2d 7c8e[ ]+clear\.d \[r12=r2\+\[r10\+\]\.d\]
+[ ]+354:[ ]+0021 7c0e[ ]+clear\.b \[r12=r2\+0\]
+[ ]+358:[ ]+0121 7c0e[ ]+clear\.b \[r12=r2\+1\]
+[ ]+35c:[ ]+7f21 7c0e[ ]+clear\.b \[r12=r2\+127\]
+[ ]+360:[ ]+5f2d 8000 7c0e[ ]+clear\.b \[r12=r2\+128\]
+[ ]+366:[ ]+ff21 7c0e[ ]+clear\.b \[r12=r2-1\]
+[ ]+36a:[ ]+8121 7c0e[ ]+clear\.b \[r12=r2-127\]
+[ ]+36e:[ ]+8021 7c0e[ ]+clear\.b \[r12=r2-128\]
+[ ]+372:[ ]+5f2d ff00 7c0e[ ]+clear\.b \[r12=r2\+255\]
+[ ]+378:[ ]+2a21 7c0e[ ]+clear\.b \[r12=r2\+42\]
+[ ]+37c:[ ]+d621 7c0e[ ]+clear\.b \[r12=r2-42\]
+[ ]+380:[ ]+d621 7c0e[ ]+clear\.b \[r12=r2-42\]
+[ ]+384:[ ]+2a21 7c0e[ ]+clear\.b \[r12=r2\+42\]
+[ ]+388:[ ]+d621 7c0e[ ]+clear\.b \[r12=r2-42\]
+[ ]+38c:[ ]+d621 7c0e[ ]+clear\.b \[r12=r2-42\]
+[ ]+390:[ ]+2a21 7c0e[ ]+clear\.b \[r12=r2\+42\]
+[ ]+394:[ ]+d621 7c0e[ ]+clear\.b \[r12=r2-42\]
+[ ]+398:[ ]+2a21 7c0e[ ]+clear\.b \[r12=r2\+42\]
+[ ]+39c:[ ]+6f2d 0000 0000 7c0e[ ]+clear\.b \[r12=r2\+0( <notstart>)?\]
+[ ]+39e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3a4:[ ]+0021 7c4e[ ]+clear\.w \[r12=r2\+0\]
+[ ]+3a8:[ ]+0121 7c4e[ ]+clear\.w \[r12=r2\+1\]
+[ ]+3ac:[ ]+7f21 7c4e[ ]+clear\.w \[r12=r2\+127\]
+[ ]+3b0:[ ]+5f2d 8000 7c4e[ ]+clear\.w \[r12=r2\+128\]
+[ ]+3b6:[ ]+ff21 7c4e[ ]+clear\.w \[r12=r2-1\]
+[ ]+3ba:[ ]+ff21 7c4e[ ]+clear\.w \[r12=r2-1\]
+[ ]+3be:[ ]+8121 7c4e[ ]+clear\.w \[r12=r2-127\]
+[ ]+3c2:[ ]+8021 7c4e[ ]+clear\.w \[r12=r2-128\]
+[ ]+3c6:[ ]+5f2d 7fff 7c4e[ ]+clear\.w \[r12=r2-129\]
+[ ]+3cc:[ ]+8121 7c4e[ ]+clear\.w \[r12=r2-127\]
+[ ]+3d0:[ ]+8021 7c4e[ ]+clear\.w \[r12=r2-128\]
+[ ]+3d4:[ ]+5f2d 7fff 7c4e[ ]+clear\.w \[r12=r2-129\]
+[ ]+3da:[ ]+5f2d ff00 7c4e[ ]+clear\.w \[r12=r2\+255\]
+[ ]+3e0:[ ]+5f2d 01ff 7c4e[ ]+clear\.w \[r12=r2-255\]
+[ ]+3e6:[ ]+5f2d 01ff 7c4e[ ]+clear\.w \[r12=r2-255\]
+[ ]+3ec:[ ]+5f2d 0001 7c4e[ ]+clear\.w \[r12=r2\+256\]
+[ ]+3f2:[ ]+5f2d 00ff 7c4e[ ]+clear\.w \[r12=r2-256\]
+[ ]+3f8:[ ]+5f2d 68dd 7c4e[ ]+clear\.w \[r12=r2-8856\]
+[ ]+3fe:[ ]+5f2d 68dd 7c4e[ ]+clear\.w \[r12=r2-8856\]
+[ ]+404:[ ]+5f2d 9822 7c4e[ ]+clear\.w \[r12=r2\+8856\]
+[ ]+40a:[ ]+2a21 7c4e[ ]+clear\.w \[r12=r2\+42\]
+[ ]+40e:[ ]+d621 7c4e[ ]+clear\.w \[r12=r2-42\]
+[ ]+412:[ ]+d621 7c4e[ ]+clear\.w \[r12=r2-42\]
+[ ]+416:[ ]+2a21 7c4e[ ]+clear\.w \[r12=r2\+42\]
+[ ]+41a:[ ]+d621 7c4e[ ]+clear\.w \[r12=r2-42\]
+[ ]+41e:[ ]+d621 7c4e[ ]+clear\.w \[r12=r2-42\]
+[ ]+422:[ ]+d621 7c4e[ ]+clear\.w \[r12=r2-42\]
+[ ]+426:[ ]+2a21 7c4e[ ]+clear\.w \[r12=r2\+42\]
+[ ]+42a:[ ]+5f2d ff7f 7c4e[ ]+clear\.w \[r12=r2\+32767\]
+[ ]+430:[ ]+6f2d 0080 0000 7c4e[ ]+clear\.w \[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+438:[ ]+6f2d 0180 0000 7c4e[ ]+clear\.w \[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+440:[ ]+5f2d 0180 7c4e[ ]+clear\.w \[r12=r2-32767\]
+[ ]+446:[ ]+5f2d 0080 7c4e[ ]+clear\.w \[r12=r2-32768\]
+[ ]+44c:[ ]+6f2d ff7f ffff 7c4e[ ]+clear\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+454:[ ]+5f2d 0180 7c4e[ ]+clear\.w \[r12=r2-32767\]
+[ ]+45a:[ ]+5f2d 0080 7c4e[ ]+clear\.w \[r12=r2-32768\]
+[ ]+460:[ ]+6f2d ff7f ffff 7c4e[ ]+clear\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+468:[ ]+6f2d ffff 0000 7c4e[ ]+clear\.w \[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+470:[ ]+6f2d 0000 0000 7c4e[ ]+clear\.w \[r12=r2\+0( <notstart>)?\]
+[ ]+472:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+478:[ ]+0021 7c8e[ ]+clear\.d \[r12=r2\+0\]
+[ ]+47c:[ ]+0121 7c8e[ ]+clear\.d \[r12=r2\+1\]
+[ ]+480:[ ]+7f21 7c8e[ ]+clear\.d \[r12=r2\+127\]
+[ ]+484:[ ]+5f2d 8000 7c8e[ ]+clear\.d \[r12=r2\+128\]
+[ ]+48a:[ ]+ff21 7c8e[ ]+clear\.d \[r12=r2-1\]
+[ ]+48e:[ ]+ff21 7c8e[ ]+clear\.d \[r12=r2-1\]
+[ ]+492:[ ]+8121 7c8e[ ]+clear\.d \[r12=r2-127\]
+[ ]+496:[ ]+8021 7c8e[ ]+clear\.d \[r12=r2-128\]
+[ ]+49a:[ ]+8121 7c8e[ ]+clear\.d \[r12=r2-127\]
+[ ]+49e:[ ]+8021 7c8e[ ]+clear\.d \[r12=r2-128\]
+[ ]+4a2:[ ]+5f2d ff00 7c8e[ ]+clear\.d \[r12=r2\+255\]
+[ ]+4a8:[ ]+5f2d 01ff 7c8e[ ]+clear\.d \[r12=r2-255\]
+[ ]+4ae:[ ]+5f2d 01ff 7c8e[ ]+clear\.d \[r12=r2-255\]
+[ ]+4b4:[ ]+5f2d 0001 7c8e[ ]+clear\.d \[r12=r2\+256\]
+[ ]+4ba:[ ]+5f2d 00ff 7c8e[ ]+clear\.d \[r12=r2-256\]
+[ ]+4c0:[ ]+5f2d 68dd 7c8e[ ]+clear\.d \[r12=r2-8856\]
+[ ]+4c6:[ ]+5f2d 00ff 7c8e[ ]+clear\.d \[r12=r2-256\]
+[ ]+4cc:[ ]+5f2d 68dd 7c8e[ ]+clear\.d \[r12=r2-8856\]
+[ ]+4d2:[ ]+5f2d 9822 7c8e[ ]+clear\.d \[r12=r2\+8856\]
+[ ]+4d8:[ ]+6f2d ac72 2a00 7c8e[ ]+clear\.d \[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+4e0:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+4e8:[ ]+6f2d acce c09e 7c8e[ ]+clear\.d \[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+4f0:[ ]+6f2d 5331 3f81 7c8e[ ]+clear\.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+4f8:[ ]+6f2d 5331 3f81 7c8e[ ]+clear\.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+500:[ ]+6f2d b5af 982e 7c8e[ ]+clear\.d \[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+508:[ ]+6f2d 2b45 941b 7c8e[ ]+clear\.d \[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+510:[ ]+2a21 7c8e[ ]+clear\.d \[r12=r2\+42\]
+[ ]+514:[ ]+d621 7c8e[ ]+clear\.d \[r12=r2-42\]
+[ ]+518:[ ]+d621 7c8e[ ]+clear\.d \[r12=r2-42\]
+[ ]+51c:[ ]+2a21 7c8e[ ]+clear\.d \[r12=r2\+42\]
+[ ]+520:[ ]+d621 7c8e[ ]+clear\.d \[r12=r2-42\]
+[ ]+524:[ ]+d621 7c8e[ ]+clear\.d \[r12=r2-42\]
+[ ]+528:[ ]+2a21 7c8e[ ]+clear\.d \[r12=r2\+42\]
+[ ]+52c:[ ]+d621 7c8e[ ]+clear\.d \[r12=r2-42\]
+[ ]+530:[ ]+2a21 7c8e[ ]+clear\.d \[r12=r2\+42\]
+[ ]+534:[ ]+5f2d ff7f 7c8e[ ]+clear\.d \[r12=r2\+32767\]
+[ ]+53a:[ ]+6f2d 0080 0000 7c8e[ ]+clear\.d \[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+542:[ ]+6f2d 0180 0000 7c8e[ ]+clear\.d \[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+54a:[ ]+5f2d 0180 7c8e[ ]+clear\.d \[r12=r2-32767\]
+[ ]+550:[ ]+5f2d 0080 7c8e[ ]+clear\.d \[r12=r2-32768\]
+[ ]+556:[ ]+6f2d ff7f ffff 7c8e[ ]+clear\.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+55e:[ ]+5f2d 0180 7c8e[ ]+clear\.d \[r12=r2-32767\]
+[ ]+564:[ ]+5f2d 0080 7c8e[ ]+clear\.d \[r12=r2-32768\]
+[ ]+56a:[ ]+6f2d ff7f ffff 7c8e[ ]+clear\.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+572:[ ]+6f2d ffff 0000 7c8e[ ]+clear\.d \[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+57a:[ ]+6f2d 0000 0100 7c8e[ ]+clear\.d \[r12=r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+582:[ ]+6f2d 2b3a 2900 7c8e[ ]+clear\.d \[r12=r2\+(2701867|293a2b <two701867>)\]
+[ ]+58a:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+592:[ ]+6f2d d5c5 d6ff 7c8e[ ]+clear\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+59a:[ ]+6f2d 0000 0000 7c8e[ ]+clear\.d \[r12=r2\+0( <notstart>)?\]
+[ ]+59c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5a2:[ ]+7309 700a[ ]+clear\.b \[\[r3\]\]
+[ ]+5a6:[ ]+7209 704a[ ]+clear\.w \[\[r2\]\]
+[ ]+5aa:[ ]+7309 708a[ ]+clear\.d \[\[r3\]\]
+[ ]+5ae:[ ]+790d 700a[ ]+clear\.b \[\[r9\+\]\]
+[ ]+5b2:[ ]+730d 704a[ ]+clear\.w \[\[r3\+\]\]
+[ ]+5b6:[ ]+710d 708a[ ]+clear\.d \[\[r1\+\]\]
+[ ]+5ba:[ ]+7f0d 0000 0000 700a[ ]+clear\.b \[(0x0|0 <notstart>)\]
+[ ]+5bc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5c2:[ ]+7f0d 0000 0000 704a[ ]+clear\.w \[(0x0|0 <notstart>)\]
+[ ]+5c4:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5ca:[ ]+7f0d 0000 0000 708a[ ]+clear\.d \[(0x0|0 <notstart>)\]
+[ ]+5cc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5d2:[ ]+7f0d 0000 0000 700a[ ]+clear\.b \[(0x0|0 <notstart>)\]
+[ ]+5d4:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+5da:[ ]+7f0d 0000 0000 704a[ ]+clear\.w \[(0x0|0 <notstart>)\]
+[ ]+5dc:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+5e2:[ ]+7f0d 0000 0000 708a[ ]+clear\.d \[(0x0|0 <notstart>)\]
+[ ]+5e4:[ ]+(R_CRIS_)?32[ ]+\.text
+
+000005ea <end>:
+ \.\.\.
+
+
diff --git a/gas/testsuite/gas/cris/continue.d b/gas/testsuite/gas/cris/continue.d
new file mode 100644
index 0000000..4b830b0
--- /dev/null
+++ b/gas/testsuite/gas/cris/continue.d
@@ -0,0 +1,10 @@
+#objdump: -dr
+#name: continue
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+00000000 <start>:
+[ ]+0:[ ]+e87b[ ]+move.d r7,\[r8\]
+[ ]+2:[ ]+e89b[ ]+move.d r9,\[r8\]
diff --git a/gas/testsuite/gas/cris/continue.s b/gas/testsuite/gas/cris/continue.s
new file mode 100644
index 0000000..89e82f5
--- /dev/null
+++ b/gas/testsuite/gas/cris/continue.s
@@ -0,0 +1,7 @@
+; Test line continuation, making sure a commented line is not
+; broken up.
+ .text
+start:
+; move.d r1,[r8]@ move.d r2,[r8]
+ move.d r7,[r8]@ move.d r9,[r8]
+
diff --git a/gas/testsuite/gas/cris/cris.exp b/gas/testsuite/gas/cris/cris.exp
new file mode 100644
index 0000000..4ce70de
--- /dev/null
+++ b/gas/testsuite/gas/cris/cris.exp
@@ -0,0 +1,550 @@
+# Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# hp@axis.com
+
+# Written by Axis Communications AB.
+
+# --- This function copied from arc.exp and rewritten to fit CRIS ---
+#
+# Test an insn from a template .s/.d.
+# The best way to create the .d file is to run the tests without it, let
+# dejagnu crash, run as.new on the just built .s file, run objdump -dr on
+# the result of that, copy the result into the .d file, and edit in the
+# necessary patterns (@OC@, etc.). Sounds complicated but it's easy. The
+# catch is that we assume a working assembler is used to build it. That's
+# obviously not entirely kosher, but once the .d file is created one can
+# verify it's contents over time.
+#
+# Template patterns:
+# @OC@ - placeholder for the opcode
+# @OR@ - placeholder for extra replacement to distinguish similar
+# testcases.
+# @IR+????@ - placeholder for (e.g.) register-operand insn code
+# @IM+????@ - placeholder for (e.g.) memory-operand insn code.
+
+proc test_template_insn_reg_mem { args } {
+ # tmpl opcode ircode imcode avoid_regex dname ircode0
+ # imcode0 [regex replace OR_replace]
+ global srcdir subdir objdir
+
+ set tmpl [lindex $args 0]
+ set opcode [lindex $args 1]
+ set ircode [lindex $args 2]
+ set imcode [lindex $args 3]
+ set avoid_regex [lindex $args 4]
+ set dname [lindex $args 5]
+ set ircode0 [lindex $args 6]
+ set imcode0 [lindex $args 7]
+
+ if { [llength $args] >= 10 } {
+ set replace_regex [lindex $args 8]
+ set replacement [lindex $args 9]
+ } else {
+ set replace_regex ""
+ }
+
+ # Any extra replacements (like modifying the test name to something
+ # else than the @OC@ modification). Replaces occurences of @OR@.
+ if { [llength $args] >= 11 } then {
+ set extra_OR_replace [lindex $args 10]
+ } else {
+ set extra_OR_replace ""
+ }
+
+ # Get the parts that we will wedge into the insn.
+ if [regexp "(.)(.)(.)" $imcode junk imcode3 imcode2 imcode1] {
+ set imcode3 [expr "0x$imcode3" ]
+ } else {
+ regexp "(.)(.)" $imcode junk imcode2 imcode1
+ set imcode3 0
+ }
+ set imcode1 [expr "0x$imcode1" ]
+ set imcode2 [expr "0x$imcode2" ]
+
+ if [regexp "(.)(.)(.)" $ircode junk ircode3 ircode2 ircode1] {
+ set ircode3 [expr "0x$ircode3" ]
+ } else {
+ regexp "(.)(.)" $ircode junk ircode2 ircode1
+ set ircode3 0
+ }
+ set ircode1 [expr "0x$ircode1" ]
+ set ircode2 [expr "0x$ircode2" ]
+
+ # To avoid fiddling with the generated .d-file, we have a
+ # parameter saying what ircode, imcode to subtract.
+ if [regexp "(.)(.)(.)" $imcode0 junk imcode03 imcode02 imcode01] {
+ set imcode03 [expr "0x$imcode03" ]
+ } else {
+ regexp "(.)(.)" $imcode0 junk imcode02 imcode01
+ set imcode03 0
+ }
+ set imcode01 [expr "0x$imcode01" ]
+ set imcode02 [expr "0x$imcode02" ]
+
+ if [regexp "(.)(.)(.)" $ircode0 junk ircode03 ircode02 ircode01] {
+ set ircode03 [expr "0x$ircode03" ]
+ } else {
+ regexp "(.)(.)" $ircode0 junk ircode02 ircode01
+ set ircode03 0
+ }
+
+ set ircode01 [expr "0x$ircode01" ]
+ set ircode02 [expr "0x$ircode02" ]
+
+ # The output template may be in another file than what the
+ # source template is.
+ if [string match $dname ""] {
+ set dname $tmpl
+ }
+
+ # Change @OC@ in the template file to $opcode
+
+ set in_fd [open $srcdir/$subdir/$tmpl.s r]
+ set out_fd [open $objdir/$opcode-test.s w]
+ # FIXME: check return codes
+
+ while { [gets $in_fd line] >= 0 } {
+ if { [string match "" "$avoid_regex"] \
+ || ![regexp "$avoid_regex" $line] } {
+
+ # verbose "Keeping $line for $opcode"
+
+ # If caller passed a replacement regex, use it.
+ if ![string match "" "$replace_regex"] {
+ # verbose "Replacing $line with ..."
+ regsub $replace_regex $line $replacement line
+ # verbose "... $line"
+ }
+ regsub "@OC@" $line $opcode line
+
+ puts $out_fd $line
+ } else {
+ # verbose "Skipping $line for $opcode"
+ }
+ }
+
+ close $in_fd
+ close $out_fd
+
+ # Create output template.
+
+ set in_fd [open $srcdir/$subdir/$dname.d r]
+ set out_fd [open $objdir/$opcode-test.d w]
+ # FIXME: check return codes
+
+ while { [gets $in_fd line] >= 0 } {
+ regsub "@OC@" $line $opcode line
+ #send_user "$line\n"
+
+ regsub "@OR@" $line $extra_OR_replace line
+
+ if [string match "*@IM+????@*" $line] {
+ # Insert the memory opcode. imcode2 occupies the high four bits
+ # of the first (presented as leftmost) byte of the
+ # IC parameter, and imcode1 the low four bits of the second
+ # (rightmost) byte.
+ regexp "^(.*)@IM\\+(.)(.)(.)(.)@(.*)$" \
+ $line junk leftpart n1 n2 n3 n4 rightpart
+ # verbose "IM $n1 $n2 $n3 $n4 ($imcode1 $imcode2 $imcode3 $imcode01 $imcode02 $imcode03)"
+
+ set n1 [expr 0x$n1 - $imcode01 ]
+ set n3 [expr 0x$n3 - $imcode03 ]
+ set n4 [expr 0x$n4 - $imcode02 ]
+
+ set n [expr ($imcode1 << 12) + ($n1 << 12) + (0x$n2 << 8) \
+ + ($n3 << 4) + ($imcode3 << 4) + $n4 + $imcode2 ]
+ set n [format "%04x" $n]
+ puts $out_fd "$leftpart$n$rightpart"
+ } elseif [string match "*@IR+????@*" $line] {
+ # As IM, but use the register opcode.
+ regexp "^(.*)@IR\\+(.)(.)(.)(.)@(.*)$" \
+ $line junk leftpart n1 n2 n3 n4 rightpart
+ # verbose "IR $n1 $n2 $n3 $n4 ($ircode1 $ircode2 $ircode3 $ircode01 $ircode02 $ircode03)"
+
+ set n1 [expr 0x$n1 - $ircode01 ]
+ set n3 [expr 0x$n3 - $ircode03 ]
+ set n4 [expr 0x$n4 - $ircode02 ]
+
+ set n [expr ($ircode1 << 12) + ($n1 << 12) + (0x$n2 << 8) \
+ + ($n3 << 4) + ($ircode3 << 4) + $n4 + $ircode2 ]
+ set n [format "%04x" $n]
+ puts $out_fd "$leftpart$n$rightpart"
+ } else {
+ puts $out_fd $line
+ }
+ }
+
+ close $in_fd
+ close $out_fd
+
+ # Finally, run the test.
+
+ run_dump_test $objdir/$opcode-test
+
+ # "make clean" won't delete these, so for now we must.
+ catch "exec rm -f $objdir/$opcode-test.s $objdir/$opcode-test.d"
+}
+# --- End of arc.exp borrow ---
+
+proc test_template_insn_reg { args } {
+# tmpl opcode ircode avoid_regex dname ircode0 [regex replace OR_replace]
+ if { [llength $args] == 6 } {
+ test_template_insn_reg_mem [lindex $args 0] [lindex $args 1] \
+ [lindex $args 2] 00 [lindex $args 3] [lindex $args 4] \
+ [lindex $args 5] 00
+ } elseif { [llength $args] == 9 } {
+ test_template_insn_reg_mem [lindex $args 0] [lindex $args 1] \
+ [lindex $args 2] 00 [lindex $args 3] [lindex $args 4] \
+ [lindex $args 5] 00 [lindex $args 6] [lindex $args 7] \
+ [lindex $args 8]
+ } else {
+ test_template_insn_reg_mem [lindex $args 0] [lindex $args 1] \
+ [lindex $args 2] 00 [lindex $args 3] [lindex $args 4] \
+ [lindex $args 5] 00 [lindex $args 6] [lindex $args 7]
+ }
+}
+
+# For insn with only memory operands.
+proc test_template_insn_mem { args } {
+# tmpl opcode imcode avoid_regex dname imcode0 [regex replace]
+ if { [llength $args] == 6 } {
+ test_template_insn_reg_mem [lindex $args 0] [lindex $args 1] 00 \
+ [lindex $args 2] [lindex $args 3] [lindex $args 4] 00 \
+ [lindex $args 5]
+ } else {
+ test_template_insn_reg_mem [lindex $args 0] [lindex $args 1] 00 \
+ [lindex $args 2] [lindex $args 3] [lindex $args 4] 00 \
+ [lindex $args 5] [lindex $args 6] [lindex $args 7]
+ }
+}
+
+# For insn without substitutions in the output pattern.
+proc test_template_insn_single { tmpl opcode avoid_regex dname } {
+ test_template_insn_reg_mem $tmpl $opcode 00 00 "$avoid_regex" $dname 00 00
+}
+
+# For iteration over special registers. Spec reg name in "regname",
+# number in "regno". Type (size) in "regtype". Size-patterns to avoid
+# in input_avoid.
+proc to_sreg { regname regno regtype input_avoid } {
+ test_template_insn_reg_mem binop move \
+ [format "%0x63" $regno] [format "%0xa3" $regno] \
+ ",r\[0-9\]+,r\[0-9\]|@OC@\[^\\.\]|$input_avoid" \
+ "x-to-$regtype-sreg" 063 0a3 \
+ "@OC@\[^ \]+ (.*),r\[0-9\]+" [format "@OC@ \\1,%s" $regname] \
+ $regname
+}
+
+# As to_sreg, but using unop, since we don't need to test constants.
+proc sreg_to { regname regno regtype input_avoid } {
+ test_template_insn_reg_mem unop move \
+ [format "%0x67" $regno] [format "%0xa7" $regno] \
+ "@OC@\\." "sreg-to-x" 067 0a7 \
+ "@OC@ (.*)" [format "@OC@ %s,\\1" $regname] $regname
+}
+
+# Replace registers in pushpop
+proc push_pop { regname regno regtype input_avoid } {
+ test_template_insn_reg_mem pushpop pushpop-sreg \
+ 00 [format "%0x00" $regno] \
+ "$input_avoid" "pushpop-$regtype-sreg" 00 000 \
+ "(\\.\[bwd\])? ((\[^, \]*,)?)r\[0-9\]+((,.*)?)" " \\2$regname\\4" $regname
+}
+
+#
+# Iterate over spec reg names and spec reg numbers.
+#
+proc do_spec_regs { inner_function spec_reg_list } {
+ for { set i 0 } { $i < [llength $spec_reg_list] } { incr i } {
+ set regname [lindex [lindex $spec_reg_list $i] 0]
+ set regno [lindex [lindex $spec_reg_list $i] 1]
+
+ set regtype [lindex [lindex $spec_reg_list $i] 2]
+ set input_avoid [lindex [lindex $spec_reg_list $i] 3]
+
+ # verbose "$regname $regno $regtype $input_avoid"
+ $inner_function $regname $regno $regtype $input_avoid
+ }
+}
+
+if [istarget cris-*-*] then {
+ # Note that registers are missing, since the assembler will
+ # rightfully emit errors for registers that are not in current
+ # silicon. Those are currently p2 and p3.
+ # Note the special for dcr1, since it has different size for
+ # different silicon, which matters for assembling and displaying
+ # "immediate constants".
+ set spec_reg_list [list \
+ [list p0 0 "byte" "(@OC@|move)\\.\[wd\]" ] \
+ [list p1 1 "byte" "(@OC@|move)\\.\[wd\]" ] \
+ [list vr 1 "byte" "(@OC@|move)\\.\[wd\]" ] \
+ [list p4 4 "word" "(@OC@|move)\\.\[bd\]" ] \
+ [list p5 5 "word" "(@OC@|move)\\.\[bd\]" ] \
+ [list ccr 5 "word" "(@OC@|move)\\.\[bd\]" ] \
+ [list p6 6 "word" "(@OC@|move)\\.\[bd\]" ] \
+ [list dcr0 6 "word" "(@OC@|move)\\.\[bd\]" ] \
+ [list p7 7 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list dcr1 7 "dcr1" "(@OC@|move)\\.\[bd\]" ] \
+ [list p8 8 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p9 9 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list ibr 9 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p10 10 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list irp 10 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p11 11 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list srp 11 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p12 12 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list bar 12 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list dtp0 12 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p13 13 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list dccr 13 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list dtp1 13 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p14 14 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list brp 14 "dword" "(@OC@|move)\\.\[bw\]" ] \
+ [list p15 15 "dword" "(@OC@|move)\\.\[bw\]" ]]
+
+ # Test basic instructions. Note that this will actually
+ # test both the assembler and the disassembler functionality.
+ #untested ".weak reduction"
+ #untested "Old regressions"
+ #untested "LX"
+ #untested "case recognition (disassembler)"
+ #untested "disassembling special regs"
+ #untested "disassembling unimplemented special regs"
+
+ # Broken word handling got erroneously triggers for this and
+ # got out-of-bounds errors.
+ # FIXME: Check closer that this gets the expected results and fix
+ # the general use of difference-expressions in binop.s and elsewhere.
+ gas_test "binop-segref.s" "" "" "False broken words"
+
+ # Really orthogonal instructions.
+ test_template_insn_reg_mem binop add 60 a0 "@OC@\[^\\.\]" "" 60 a0
+ test_template_insn_reg_mem binop sub 68 a8 "@OC@\[^\\.\]" "" 60 a0
+ test_template_insn_reg_mem binop bound 5c 9c "@OC@\[^\\.\]" "" 60 a0
+ test_template_insn_reg_mem binop and 70 b0 "@OC@\[^\\.\]" "" 60 a0
+ test_template_insn_reg_mem binop or 74 b4 "@OC@\[^\\.\]" "" 60 a0
+
+ # Unary (two-operand) insns, otherwise as above.
+ test_template_insn_reg_mem binop cmp 6c ac \
+ ",r\[0-9\]+,r\[0-9\]|@OC@\[^\\.\]" "binop-cmpmove" 64 a4
+ # This is of course only the move-to-register one.
+ test_template_insn_reg_mem binop move 64 a4 \
+ ",r\[0-9\]+,r\[0-9\]|@OC@\[^\\.\]" "binop-cmpmove" 64 a4
+
+ # No dword size - operations with sign- or zero-extend on
+ # the mem or reg operand.
+ test_template_insn_reg_mem binop addu 40 80 \
+ "@\\.d|@OC@\[^\\.\]" "binop-extx" 40 80
+ test_template_insn_reg_mem binop adds 42 82 \
+ "@\\.d|@OC@\[^\\.\]" "binop-extx" 40 80
+ test_template_insn_reg_mem binop subu 48 88 \
+ "@\\.d|@OC@\[^\\.\]" "binop-extx" 40 80
+ test_template_insn_reg_mem binop subs 4a 8a \
+ "@\\.d|@OC@\[^\\.\]" "binop-extx" 40 80
+
+ # The two constraints above combined, and no reg-to-reg -
+ # cmps, cmpu, movs, movu. We have to test reg-to-reg
+ # separately for movs and movu.
+ test_template_insn_mem binop movs 86 \
+ "r\[0-9\]+,r\[0-9\]+|@\\.d|@OC@\[^\\.\]" "binop-cmpmovx" 84
+ test_template_insn_mem binop movu 84 \
+ "r\[0-9\]+,r\[0-9\]+|@\\.d|@OC@\[^\\.\]" "binop-cmpmovx" 84
+ test_template_insn_mem binop cmps 8e \
+ "r\[0-9\]+,r\[0-9\]+|@\\.d|@OC@\[^\\.\]" "binop-cmpmovx" 84
+ test_template_insn_mem binop cmpu 8c \
+ "r\[0-9\]+,r\[0-9\]+|@\\.d|@OC@\[^\\.\]" "binop-cmpmovx" 84
+
+ # Reg-to-memory. FIXME: Perhaps we should use unop.s for
+ # everything, and insert registers (including special
+ # registers) for all reg-to-mem and mem-to-reg insn tests.
+ test_template_insn_mem binop move.b bc "@OC@\\." "reg-to-mem" bc
+ test_template_insn_mem binop move.w bd "@OC@\\." "reg-to-mem" bc
+ test_template_insn_mem binop move.d be "@OC@\\." "reg-to-mem" bc
+ test_template_insn_mem binop movem bf "@OC@\\." "reg-to-mem" bc
+
+ # Use the replace-regex functionality to reverse the
+ # operands for movem.
+ test_template_insn_mem binop movem 00 "@OC@\\." "movem-to-reg" 00 \
+ "@OC@ r(\[0-9\]+),\\\[(.*)\\\]" "@OC@ \[\\2\],r\\1"
+
+ # The unary operations are too irregular to make a pattern
+ # of the output.
+ test_template_insn_single unop test "@OC@\[^\\.\]" "test"
+ test_template_insn_single unop clear "@OC@\[^\\.\]" "clear"
+
+ # Quick-operand tests.
+ #
+ # Unsigned 5-bits: btstq, asrq, lslq, lsrq.
+ test_template_insn_reg quick btstq 38 "s6|u6" "quick-u5" 38
+ test_template_insn_reg quick asrq 3a "s6|u6" "quick-u5" 38
+ test_template_insn_reg quick lslq 3c "s6|u6" "quick-u5" 38
+ test_template_insn_reg quick lsrq 3e "s6|u6" "quick-u5" 38
+
+ # Signed 6-bits: moveq, cmpq, andq, orq.
+ test_template_insn_reg quick moveq 24 "u6" "quick-s6" 24
+ test_template_insn_reg quick cmpq 2c "u6" "quick-s6" 24
+ test_template_insn_reg quick andq 30 "u6" "quick-s6" 24
+ test_template_insn_reg quick orq 34 "u6" "quick-s6" 24
+
+ # Unsigned 6-bits: addq, subq.
+ test_template_insn_reg quick addq 20 "s6" "quick-u6" 20
+ test_template_insn_reg quick subq 28 "s6" "quick-u6" 20
+
+ # Register-to-register instructions, for each size.
+ test_template_insn_reg regreg movu.b 44 "" "" 44
+ test_template_insn_reg regreg movu.w 45 "" "" 44
+ test_template_insn_reg regreg movs.b 46 "" "" 44
+ test_template_insn_reg regreg movs.w 47 "" "" 44
+ test_template_insn_reg regreg lsl.b 4c "" "" 44
+ test_template_insn_reg regreg lsl.w 4d "" "" 44
+ test_template_insn_reg regreg lsl.d 4e "" "" 44
+ test_template_insn_reg regreg neg.b 58 "" "" 44
+ test_template_insn_reg regreg neg.w 59 "" "" 44
+ test_template_insn_reg regreg neg.d 5a "" "" 44
+ test_template_insn_reg regreg asr.b 78 "" "" 44
+ test_template_insn_reg regreg asr.w 79 "" "" 44
+ test_template_insn_reg regreg asr.d 7a "" "" 44
+ test_template_insn_reg regreg lsr.b 7c "" "" 44
+ test_template_insn_reg regreg lsr.w 7d "" "" 44
+ test_template_insn_reg regreg lsr.d 7e "" "" 44
+ test_template_insn_reg regreg btst 4f "" "" 44
+ test_template_insn_reg regreg abs 6b "" "" 44
+ test_template_insn_reg regreg dstep 6f "" "" 44
+ test_template_insn_reg regreg xor 7b "" "" 44
+ test_template_insn_reg regreg mstep 7f "" "" 44
+
+ # The various incarnations of the swap(n) insn.
+ set nwbr_list [list [list "not" 877] \
+ [list "swapw" 477] \
+ [list "swapnw" c77] \
+ [list "swapb" 277] \
+ [list "swapnb" a77] \
+ [list "swapwb" 677] \
+ [list "swapnwb" e77] \
+ [list "swapr" 177] \
+ [list "swapnr" 977] \
+ [list "swapwr" 577] \
+ [list "swapnwr" d77] \
+ [list "swapbr" 377] \
+ [list "swapnbr" b77] \
+ [list "swapwbr" 777] \
+ [list "swapnwbr" f77]]
+
+ for { set i 0 } { $i < [llength $nwbr_list] } { incr i } {
+ set name [lindex [lindex $nwbr_list $i] 0]
+ set number [lindex [lindex $nwbr_list $i] 1]
+
+ test_template_insn_reg regreg $name $number "" "oneop-type" 877 \
+ ",r\[0-9]+" "" $name
+ }
+
+ # And one extra for the one that is canonicalized as "not".
+ test_template_insn_reg regreg swapn 877 "" "oneop-type" 877 \
+ ",r\[0-9]+" "" not
+
+ # And take the opportunity to make sure that the assembler
+ # recognizes StUDlYCaPs.
+ test_template_insn_reg regreg SWAPN 877 "" "oneop-type" 877 \
+ ",r\[0-9]+" "" not
+ test_template_insn_reg regreg Swapn 877 "" "oneop-type" 877 \
+ ",r\[0-9]+" "" not
+ test_template_insn_reg regreg sWApN 877 "" "oneop-type" 877 \
+ ",r\[0-9]+" "" not
+
+ # Fixed-size unary memory instructions.
+ test_template_insn_mem unop jsr b93 "@OC@\\." "jump-type" b93
+ test_template_insn_mem unop jump 093 "@OC@\\." "jump-type" b93
+ test_template_insn_mem unop jir a93 "@OC@\\." "jump-type" b93
+
+ # Non-templated tests.
+ run_dump_test "ccr"
+ run_dump_test "scc"
+ run_dump_test "pushpop"
+ run_dump_test "prefix"
+ run_dump_test "unimplemented"
+ run_dump_test "return"
+ run_dump_test "branch"
+ run_dump_test "separator"
+ run_dump_test "diffexp-ovwr"
+ run_dump_test "continue"
+ run_dump_test "nosep"
+ run_dump_test "labfloat"
+ run_dump_test "bork"
+
+ # This seems like a generic expression evaluation problem.
+ setup_xfail "cris-*-*"
+ run_dump_test "shexpr-1"
+
+ # The "@" will be erroneously interpreted as a line-separator in a
+ # macro here-label marker: "\@".
+ setup_xfail "cris-*-*"
+ run_dump_test "macroat"
+
+ # "\x20a" will be recognized as "\n" rather than " a"
+ setup_xfail "cris-*-*"
+ run_dump_test "string-1"
+ # Same as above, but removed the failing case to make sure the rest
+ # still works.
+ run_dump_test "string-2"
+
+ # Usable (non-redundant) and refreshed bits from the old, manual,
+ # test suite.
+ run_dump_test "brokw-1"
+ run_dump_test "brokw-2"
+ run_dump_test "brokw-3"
+ run_dump_test "fragtest"
+
+ # Addi is too irregular to bother applying templates to.
+ run_dump_test "addi"
+
+ # Test {mem (including constants), reg}-to/from-spec-reg.
+ do_spec_regs to_sreg $spec_reg_list
+ do_spec_regs sreg_to $spec_reg_list
+ do_spec_regs push_pop $spec_reg_list
+
+ # Additional insns for CRIS v3:
+ run_dump_test "break"
+ test_template_insn_reg regreg lz 73 "" "" 44
+
+ # Additional insns for CRIS v8 (also the swapxxx insns other then "not" above).
+ test_template_insn_mem unop jirc 293 "@OC@\\." "jump-type" b93
+ test_template_insn_mem unop jsrc 393 "@OC@\\." "jump-type" b93
+ test_template_insn_mem unop jbrc 693 "@OC@\\." "jump-type" b93
+
+ # Additional insns for CRIS v10:
+ test_template_insn_reg regreg mulu.b 90 "" "" 44
+ test_template_insn_reg regreg mulu.w 91 "" "" 44
+ test_template_insn_reg regreg mulu.d 92 "" "" 44
+ test_template_insn_reg regreg muls.b d0 "" "" 44
+ test_template_insn_reg regreg muls.w d1 "" "" 44
+ test_template_insn_reg regreg muls.d d2 "" "" 44
+ test_template_insn_mem unop sbfs 3b7 "@OC@\\.| r\[0-9\]+$" "unop-mem" 3b7
+ test_template_insn_mem unop rbf 3b3 "@OC@\\.| r\[0-9\]+$" "unop-mem" 3b7
+ test_template_insn_mem unop jmpu 893 "@OC@\\.| r\[0-9\]+$" "unop-mem" 3b7
+
+ # Some dg-tests, which seems the easiest way to test error
+ # cases. Keeping it here at the end avoids getting a
+ # "Tcl_RegisterChannel: duplicate channel names" error, and
+ # I don't see a cause to put this in a separate file. Hey,
+ # isn't dg-finish supposed to make things (like this case)
+ # fine?
+ load_lib gas-dg.exp
+ dg-init
+ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*-err-*.s $srcdir/$subdir/*-warn-*.s]] "" ""
+ dg-finish
+}
diff --git a/gas/testsuite/gas/cris/diffexp-ovwr.d b/gas/testsuite/gas/cris/diffexp-ovwr.d
new file mode 100644
index 0000000..ed0010b
--- /dev/null
+++ b/gas/testsuite/gas/cris/diffexp-ovwr.d
@@ -0,0 +1,26 @@
+#objdump: -sr
+#name: diffexp-ovwr
+
+.*: file format .*-cris
+
+Contents of section \.text:
+ 0000 2f000000 2dab4f8e 2a005f8e 2900a532 .*
+ 0010 48656c6c 6f2c2077 6f726c64 0a000000 .*
+ 0020 00000000 00000000 00000000 00000000 .*
+ 0030 00000000 00000000 00000000 00000000 .*
+ 0040 00000000 00000000 00000000 00000000 .*
+ 0050 00000000 00000000 00000000 00000000 .*
+ 0060 00000000 00000000 00000000 00000000 .*
+ 0070 00000000 00000000 00000000 00000000 .*
+ 0080 00000000 00000000 00000000 00000000 .*
+ 0090 00000000 00000000 00000000 00000000 .*
+ 00a0 00000000 00000000 00000000 00000000 .*
+ 00b0 00000000 00000000 00000000 00000000 .*
+ 00c0 00000000 00000000 00000000 00000000 .*
+ 00d0 00000000 00000000 00000000 00000000 .*
+ 00e0 00000000 00000000 00000000 00000000 .*
+ 00f0 00000000 00000000 00000000 00000000 .*
+ 0100 00000000 00000000 00000000 00000000 .*
+ 0110 00000000 00000000 00000000 00000000 .*
+ 0120 00000000 00000100 00000000 .*
+Contents of section \.data:
diff --git a/gas/testsuite/gas/cris/diffexp-ovwr.s b/gas/testsuite/gas/cris/diffexp-ovwr.s
new file mode 100644
index 0000000..aea7f49
--- /dev/null
+++ b/gas/testsuite/gas/cris/diffexp-ovwr.s
@@ -0,0 +1,21 @@
+;
+; There are actually two regressions tested here:
+; - That a .byte does not overwrite beyond the "byte", if given
+; a non-immediate-constant value (related to "False broken words").
+; - That "quick-operands" (in this case, just the unsigned 6-bit
+; one is tested) can take "difference-expressions".
+;
+ .text
+start:
+ .dword 0xf0+b-a-0xc5
+ .byte 0xf0+b-a-0xc7
+ .byte 0xab
+ move.b 0xf0+b-a-0xca,r8
+ move.w 0xf0+b-a-0xcb,r8
+ subq 0xf0+b-a-0xcf,r3
+ .ascii "Hello, world\n\0"
+ .space 260,0
+a:
+ .dword 0
+b:
+ .dword 1
diff --git a/gas/testsuite/gas/cris/fragtest.d b/gas/testsuite/gas/cris/fragtest.d
new file mode 100644
index 0000000..e5e0e6d
--- /dev/null
+++ b/gas/testsuite/gas/cris/fragtest.d
@@ -0,0 +1,64 @@
+#objdump: -dr
+#name: fragtest
+
+.*: file format .*-cris
+Disassembly of section \.text:
+00000000 <l1-(0x)?100>:
+[ ]+0:[ ]+fee0[ ]+ba[ ]+(0x[0]?100|100 <l1>)
+[ ]+2:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+[ ]+80:[ ]+e2e0[ ]+ba[ ]+(0x[0]?164|164 <l2>)
+^[ ]+82:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+00000100 <l1>:
+^[ ]+\.\.\.
+00000164 <l2>:
+[ ]+164:[ ]+ffed 0001[ ]+ba (0x[0]?268|268 <l3>)
+[ ]+168:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+[ ]+1e6:[ ]+ffed 6604[ ]+ba (0x[0]?650|650 <l4>)
+[ ]+1ea:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+00000268 <l3>:
+^[ ]+\.\.\.
+00000650 <l4>:
+[ ]+650:[ ]+ffed 0801[ ]+ba (0x[0]?75c|75c <l5>)
+[ ]+654:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+[ ]+6d2:[ ]+08e0[ ]+ba[ ]+(0x[0]?6dc|[0]?6dc <l4\+0x8c>)
+[ ]+6d4:[ ]+0f05[ ]+nop[ ]*
+[ ]+6d6:[ ]+3f0d 4488 0000[ ]+jump[ ]+(0x8844|8844 <l6>)
+[ ]+6d8:[ ]+(R_CRIS_)?32[ ]+\.text\+(0x[0]*8844|8844 <l6>)
+[ ]+6dc:[ ]+f9e0[ ]+ba[ ]+(0x[0]?6d6|6d6 <l4\+0x86>)
+[ ]+6de:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+0000075c <l5>:
+^[ ]+\.\.\.
+00008844 <l6>:
+^[ ]+\.\.\.
+[ ]+88c0:[ ]+fee0[ ]+ba[ ]+(0x89c0|89c0 <l8>)
+[ ]+88c2:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+[ ]+8940:[ ]+0000[ ]+bcc[ ]+.*
+[ ]+8942:[ ]+01e0[ ]+ba[ ]+(0x8844|8844 <l6>)
+[ ]+8944:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+000089c0 <l8>:
+^[ ]+\.\.\.
+[ ]+8a3c:[ ]+ffed 0201[ ]+ba (0x8b42|8b42 <l10>)
+[ ]+8a40:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+[ ]+8abe:[ ]+0000[ ]+bcc[ ]+.*
+[ ]+8ac0:[ ]+ffed fcfe[ ]+ba (0x89c0|89c0 <l8>)
+[ ]+8ac4:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+00008b42 <l10>:
+^[ ]+\.\.\.
+[ ]+8bbe:[ ]+0000[ ]+bcc[ ]+.*
+[ ]+8bc0:[ ]+ffed 0001[ ]+ba (0x8cc4|8cc4 <l12>)
+[ ]+8bc4:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
+[ ]+8c42:[ ]+0000[ ]+bcc[ ]+.*
+[ ]+8c44:[ ]+ffed fafe[ ]+ba (0x8b42|8b42 <l10>)
+[ ]+8c48:[ ]+0f05[ ]+nop[ ]*
+^[ ]+\.\.\.
diff --git a/gas/testsuite/gas/cris/fragtest.s b/gas/testsuite/gas/cris/fragtest.s
new file mode 100644
index 0000000..ebc951b
--- /dev/null
+++ b/gas/testsuite/gas/cris/fragtest.s
@@ -0,0 +1,70 @@
+; File fragtest.s
+;
+; Tests frag handling
+
+ ba l1 ; 2, 254 = 0xFE
+ nop
+ .space 124,0
+ ba l2 ; 2, 226 = 0xE2
+ nop
+ .space 124,0
+l1:
+ .space 100,0
+l2:
+
+ ba l3 ; 4, 256 = 0x0100
+ nop
+ .space 124,0
+ ba l4 ; 4, 1126 = 0x0466
+ nop
+ .space 124,0
+l3:
+ .space 1000,0
+l4:
+
+ ba l5 ; 4, 264 = 0x0108
+ nop
+ .space 124,0
+ ba l6 ; 12, 33126 = 0x00008844
+ nop
+ .space 124,0
+l5:
+ .space 33000,0
+l6:
+
+
+; A circular case
+
+l7:
+ .space 124,0
+ ba l8 ; 2, 254 = 0xFE
+ nop
+ .space 126,0
+ ba l7 ; 2, -256 = 0x01
+ nop
+ .space 122,0
+l8:
+
+l9:
+ .space 124,0
+ ba l10 ; 4, 258 = 0x0102
+ nop
+ .space 126,0
+ ba l9 ; 4, -260 = 0xFEFC
+ nop
+ .space 124,0
+l10:
+
+l11:
+ .space 126,0
+ ba l12 ; 4, 256 = 0x0100
+ nop
+ .space 126,0
+ ba l11 ; 4, -262 = 0xFEFA
+ nop
+ .space 122,0
+l12:
+
+
+
+
diff --git a/gas/testsuite/gas/cris/jump-type.d b/gas/testsuite/gas/cris/jump-type.d
new file mode 100644
index 0000000..17f0519
--- /dev/null
+++ b/gas/testsuite/gas/cris/jump-type.d
@@ -0,0 +1,220 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*:[ ]+file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+ 0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IM+b7b9@[ ]+@OC@[ ]+r7
+[ ]+6:[ ]+@IM+b6b9@[ ]+@OC@[ ]+r6
+[ ]+8:[ ]+@IM+30b9@[ ]+@OC@[ ]+\[r0\]
+[ ]+a:[ ]+@IM+33b9@[ ]+@OC@[ ]+\[r3\]
+[ ]+c:[ ]+@IM+34bd@[ ]+@OC@[ ]+\[r4\+\]
+[ ]+e:[ ]+@IM+31bd@[ ]+@OC@[ ]+\[r1\+\]
+[ ]+10:[ ]+4bd5 @IM+30b9@[ ]+@OC@[ ]+\[r11\+r13\.b\]
+[ ]+14:[ ]+42a5 @IM+30b9@[ ]+@OC@[ ]+\[r2\+r10\.b\]
+[ ]+18:[ ]+45c9 @IM+30b9@[ ]+@OC@[ ]+\[r12\+\[r5\]\.b\]
+[ ]+1c:[ ]+4ad9 @IM+30b9@[ ]+@OC@[ ]+\[r13\+\[r10\]\.b\]
+[ ]+20:[ ]+4d2d @IM+30b9@[ ]+@OC@[ ]+\[r2\+\[r13\+\]\.b\]
+[ ]+24:[ ]+40cd @IM+30b9@[ ]+@OC@[ ]+\[r12\+\[r0\+\]\.b\]
+[ ]+28:[ ]+55b5 @IM+30b9@[ ]+@OC@[ ]+\[r5\+r11\.w\]
+[ ]+2c:[ ]+5115 @IM+30b9@[ ]+@OC@[ ]+\[r1\+r1\.w\]
+[ ]+30:[ ]+5009 @IM+30b9@[ ]+@OC@[ ]+\[r0\+\[r0\]\.w\]
+[ ]+34:[ ]+5729 @IM+30b9@[ ]+@OC@[ ]+\[r2\+\[r7\]\.w\]
+[ ]+38:[ ]+532d @IM+30b9@[ ]+@OC@[ ]+\[r2\+\[r3\+\]\.w\]
+[ ]+3c:[ ]+587d @IM+30b9@[ ]+@OC@[ ]+\[r7\+\[r8\+\]\.w\]
+[ ]+40:[ ]+6255 @IM+30b9@[ ]+@OC@[ ]+\[r2\+r5\.d\]
+[ ]+44:[ ]+63a5 @IM+30b9@[ ]+@OC@[ ]+\[r3\+r10\.d\]
+[ ]+48:[ ]+6259 @IM+30b9@[ ]+@OC@[ ]+\[r5\+\[r2\]\.d\]
+[ ]+4c:[ ]+6ac9 @IM+30b9@[ ]+@OC@[ ]+\[r12\+\[r10\]\.d\]
+[ ]+50:[ ]+651d @IM+30b9@[ ]+@OC@[ ]+\[r1\+\[r5\+\]\.d\]
+[ ]+54:[ ]+6a2d @IM+30b9@[ ]+@OC@[ ]+\[r2\+\[r10\+\]\.d\]
+[ ]+58:[ ]+0021 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0\]
+[ ]+5c:[ ]+0121 @IM+30b9@[ ]+@OC@[ ]+\[r2\+1\]
+[ ]+60:[ ]+7f21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+127\]
+[ ]+64:[ ]+5f2d 8000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+128\]
+[ ]+6a:[ ]+ff21 @IM+30b9@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+6e:[ ]+ff21 @IM+30b9@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+72:[ ]+8121 @IM+30b9@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+76:[ ]+8021 @IM+30b9@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+7a:[ ]+8121 @IM+30b9@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+7e:[ ]+8021 @IM+30b9@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+82:[ ]+5f2d ff00 @IM+30b9@[ ]+@OC@[ ]+\[r2\+255\]
+[ ]+88:[ ]+5f2d 01ff @IM+30b9@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+8e:[ ]+5f2d 01ff @IM+30b9@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+94:[ ]+5f2d 0001 @IM+30b9@[ ]+@OC@[ ]+\[r2\+256\]
+[ ]+9a:[ ]+5f2d 00ff @IM+30b9@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+a0:[ ]+5f2d 68dd @IM+30b9@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+a6:[ ]+5f2d 00ff @IM+30b9@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+ac:[ ]+5f2d 68dd @IM+30b9@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+b2:[ ]+5f2d 9822 @IM+30b9@[ ]+@OC@[ ]+\[r2\+8856\]
+[ ]+b8:[ ]+6f2d ac72 2a00 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+c0:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+c8:[ ]+6f2d acce c09e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+d0:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+d8:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+e0:[ ]+6f2d b5af 982e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+e8:[ ]+6f2d 2b45 941b @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+f0:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+f4:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+f8:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+fc:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+100:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+104:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+108:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+10c:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+110:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+114:[ ]+5f2d ff7f @IM+30b9@[ ]+@OC@[ ]+\[r2\+32767\]
+[ ]+11a:[ ]+6f2d 0080 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+122:[ ]+6f2d 0180 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+12a:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+130:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+136:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+13e:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+144:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+14a:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+152:[ ]+6f2d ffff 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65535|ffff <six5535>)\]
+[ ]+15a:[ ]+6f2d 0000 0100 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+162:[ ]+6f2d 2b3a 2900 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b <two701867>)\]
+[ ]+16a:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+172:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+17a:[ ]+6f2d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0( <notstart>)?\]
+[ ]+17c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+182:[ ]+0021 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0\]
+[ ]+186:[ ]+0121 @IM+30b9@[ ]+@OC@[ ]+\[r2\+1\]
+[ ]+18a:[ ]+7f21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+127\]
+[ ]+18e:[ ]+5f2d 8000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+128\]
+[ ]+194:[ ]+ff21 @IM+30b9@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+198:[ ]+ff21 @IM+30b9@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+19c:[ ]+8121 @IM+30b9@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+1a0:[ ]+8021 @IM+30b9@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+1a4:[ ]+8121 @IM+30b9@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+1a8:[ ]+8021 @IM+30b9@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+1ac:[ ]+5f2d ff00 @IM+30b9@[ ]+@OC@[ ]+\[r2\+255\]
+[ ]+1b2:[ ]+5f2d 01ff @IM+30b9@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+1b8:[ ]+5f2d 01ff @IM+30b9@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+1be:[ ]+5f2d 0001 @IM+30b9@[ ]+@OC@[ ]+\[r2\+256\]
+[ ]+1c4:[ ]+5f2d 00ff @IM+30b9@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+1ca:[ ]+5f2d 68dd @IM+30b9@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+1d0:[ ]+5f2d 00ff @IM+30b9@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+1d6:[ ]+5f2d 68dd @IM+30b9@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+1dc:[ ]+5f2d 9822 @IM+30b9@[ ]+@OC@[ ]+\[r2\+8856\]
+[ ]+1e2:[ ]+6f2d ac72 2a00 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+1ea:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+1f2:[ ]+6f2d acce c09e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+1fa:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+202:[ ]+6f2d 5331 3f81 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+20a:[ ]+6f2d b5af 982e @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+212:[ ]+6f2d 2b45 941b @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+21a:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+21e:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+222:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+226:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+22a:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+22e:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+232:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+236:[ ]+d621 @IM+30b9@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+23a:[ ]+2a21 @IM+30b9@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+23e:[ ]+5f2d ff7f @IM+30b9@[ ]+@OC@[ ]+\[r2\+32767\]
+[ ]+244:[ ]+6f2d 0080 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+24c:[ ]+6f2d 0180 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+254:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+25a:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+260:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+268:[ ]+5f2d 0180 @IM+30b9@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+26e:[ ]+5f2d 0080 @IM+30b9@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+274:[ ]+6f2d ff7f ffff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+27c:[ ]+6f2d ffff 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65535|ffff <six5535>)\]
+[ ]+284:[ ]+6f2d 0000 0100 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+28c:[ ]+6f2d 2b3a 2900 @IM+30b9@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b <two701867>)\]
+[ ]+294:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+29c:[ ]+6f2d d5c5 d6ff @IM+30b9@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2a4:[ ]+6f2d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[r2\+0( <notstart>)?\]
+[ ]+2a6:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2ac:[ ]+4235 @IM+31bd@[ ]+@OC@[ ]+\[r1=r2\+r3\.b\]
+[ ]+2b0:[ ]+42a5 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+r10\.b\]
+[ ]+2b4:[ ]+4529 @IM+30bd@[ ]+@OC@[ ]+\[r0=r2\+\[r5\]\.b\]
+[ ]+2b8:[ ]+4a29 @IM+33bd@[ ]+@OC@[ ]+\[r3=r2\+\[r10\]\.b\]
+[ ]+2bc:[ ]+442d @IM+35bd@[ ]+@OC@[ ]+\[r5=r2\+\[r4\+\]\.b\]
+[ ]+2c0:[ ]+474d @IM+32bd@[ ]+@OC@[ ]+\[r2=r4\+\[r7\+\]\.b\]
+[ ]+2c4:[ ]+5c55 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r12\+r5\.w\]
+[ ]+2c8:[ ]+53a5 @IM+31bd@[ ]+@OC@[ ]+\[r1=r3\+r10\.w\]
+[ ]+2cc:[ ]+5529 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+\[r5\]\.w\]
+[ ]+2d0:[ ]+5a79 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r7\+\[r10\]\.w\]
+[ ]+2d4:[ ]+576d @IM+3cbd@[ ]+@OC@[ ]+\[r12=r6\+\[r7\+\]\.w\]
+[ ]+2d8:[ ]+513d @IM+3cbd@[ ]+@OC@[ ]+\[r12=r3\+\[r1\+\]\.w\]
+[ ]+2dc:[ ]+6255 @IM+34bd@[ ]+@OC@[ ]+\[r4=r2\+r5\.d\]
+[ ]+2e0:[ ]+62a5 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+r10\.d\]
+[ ]+2e4:[ ]+6539 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r3\+\[r5\]\.d\]
+[ ]+2e8:[ ]+6a49 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r4\+\[r10\]\.d\]
+[ ]+2ec:[ ]+658d @IM+3cbd@[ ]+@OC@[ ]+\[r12=r8\+\[r5\+\]\.d\]
+[ ]+2f0:[ ]+6a9d @IM+3cbd@[ ]+@OC@[ ]+\[r12=r9\+\[r10\+\]\.d\]
+[ ]+2f4:[ ]+0021 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+0\]
+[ ]+2f8:[ ]+0121 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+1\]
+[ ]+2fc:[ ]+7f21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+127\]
+[ ]+300:[ ]+5f2d 8000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+128\]
+[ ]+306:[ ]+ff21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-1\]
+[ ]+30a:[ ]+ff21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-1\]
+[ ]+30e:[ ]+8121 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-127\]
+[ ]+312:[ ]+8021 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-128\]
+[ ]+316:[ ]+8121 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-127\]
+[ ]+31a:[ ]+8021 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-128\]
+[ ]+31e:[ ]+5f2d ff00 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+255\]
+[ ]+324:[ ]+5f2d 01ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-255\]
+[ ]+32a:[ ]+5f2d 01ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-255\]
+[ ]+330:[ ]+5f2d 0001 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+256\]
+[ ]+336:[ ]+5f2d 00ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-256\]
+[ ]+33c:[ ]+5f2d 68dd @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-8856\]
+[ ]+342:[ ]+5f2d 00ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-256\]
+[ ]+348:[ ]+5f2d 68dd @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-8856\]
+[ ]+34e:[ ]+5f2d 9822 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+8856\]
+[ ]+354:[ ]+6f2d ac72 2a00 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+35c:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+364:[ ]+6f2d acce c09e @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+36c:[ ]+6f2d 5331 3f81 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+374:[ ]+6f2d 5331 3f81 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+37c:[ ]+6f2d b5af 982e @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+384:[ ]+6f2d 2b45 941b @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+38c:[ ]+2a21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+390:[ ]+d621 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+394:[ ]+d621 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+398:[ ]+2a21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+39c:[ ]+d621 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+3a0:[ ]+d621 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+3a4:[ ]+2a21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+3a8:[ ]+d621 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+3ac:[ ]+2a21 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+3b0:[ ]+5f2d ff7f @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+32767\]
+[ ]+3b6:[ ]+6f2d 0080 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+3be:[ ]+6f2d 0180 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+3c6:[ ]+5f2d 0180 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32767\]
+[ ]+3cc:[ ]+5f2d 0080 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32768\]
+[ ]+3d2:[ ]+6f2d ff7f ffff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+3da:[ ]+5f2d 0180 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32767\]
+[ ]+3e0:[ ]+5f2d 0080 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2-32768\]
+[ ]+3e6:[ ]+6f2d ff7f ffff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+3ee:[ ]+6f2d ffff 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+3f6:[ ]+6f2d 0000 0100 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+3fe:[ ]+6f2d 2b3a 2900 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(2701867|293a2b <two701867>)\]
+[ ]+406:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+40e:[ ]+6f2d d5c5 d6ff @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+416:[ ]+6f2d 0000 0000 @IM+3cbd@[ ]+@OC@[ ]+\[r12=r2\+0( <notstart>)?\]
+[ ]+418:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+41e:[ ]+7209 @IM+30b9@[ ]+@OC@[ ]+\[\[r2\]\]
+[ ]+422:[ ]+7309 @IM+30b9@[ ]+@OC@[ ]+\[\[r3\]\]
+[ ]+426:[ ]+730d @IM+30b9@[ ]+@OC@[ ]+\[\[r3\+\]\]
+[ ]+42a:[ ]+710d @IM+30b9@[ ]+@OC@[ ]+\[\[r1\+\]\]
+[ ]+42e:[ ]+7f0d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[(0x0|0 <notstart>)\]
+[ ]+430:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+436:[ ]+7f0d 0000 0000 @IM+30b9@[ ]+@OC@[ ]+\[(0x0|0 <notstart>)\]
+[ ]+438:[ ]+(R_CRIS_)?32[ ]+\.text
+
+0000043e <end>:
+ \.\.\.
+
diff --git a/gas/testsuite/gas/cris/labfloat.d b/gas/testsuite/gas/cris/labfloat.d
new file mode 100644
index 0000000..0d917a9
--- /dev/null
+++ b/gas/testsuite/gas/cris/labfloat.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+#name: labfloat
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+00000000 <start>:
+[ ]+0:[ ]+6f4e 0600 0000[ ]+move.d 6 <start\+0x6>,r4
+[ ]+2:[ ]+(R_CRIS_)?32[ ]+\.text\+0x6
+[ ]+6:[ ]+ef4e 0600 0000[ ]+cmp\.d 6 <start\+0x6>,r4
+[ ]+8:[ ]+(R_CRIS_)?32[ ]+\.text\+0x6
diff --git a/gas/testsuite/gas/cris/labfloat.s b/gas/testsuite/gas/cris/labfloat.s
new file mode 100644
index 0000000..640cd2e
--- /dev/null
+++ b/gas/testsuite/gas/cris/labfloat.s
@@ -0,0 +1,8 @@
+; Check if labels are mistaken for floats.
+; Since we don't handle floats at all, "0f" should not be mistaken for a
+; floating-point number at any time.
+ .text
+start:
+ move.d 0f,r4
+0:
+ cmp.d 0b,r4
diff --git a/gas/testsuite/gas/cris/macroat.d b/gas/testsuite/gas/cris/macroat.d
new file mode 100644
index 0000000..bdf7ba0
--- /dev/null
+++ b/gas/testsuite/gas/cris/macroat.d
@@ -0,0 +1,14 @@
+#objdump: -dr
+#name: macroat
+
+.*: file format .*-cris
+
+Disassembly of section .text:
+
+00000000 <start>:
+[ ]+0:[ ]+ef0e 0500 0000[ ]+cmp.d 0x5,r0
+[ ]+6:[ ]+0230[ ]+beq 0xa
+[ ]+8:[ ]+0f05[ ]+nop
+
+0000000a <test_gr00000>:
+[ ]+a:[ ]+0f05[ ]+nop
diff --git a/gas/testsuite/gas/cris/macroat.s b/gas/testsuite/gas/cris/macroat.s
new file mode 100644
index 0000000..795f8a3
--- /dev/null
+++ b/gas/testsuite/gas/cris/macroat.s
@@ -0,0 +1,12 @@
+; Test that an "@" does do TRT in a macro, and does not break up
+; lines.
+ .macro test_h_gr val reg
+ cmp.d \val,\reg
+ beq test_gr\@
+ nop
+test_gr\@:
+ .endm
+
+start:
+ test_h_gr 5,r0
+ nop
diff --git a/gas/testsuite/gas/cris/movem-to-reg.d b/gas/testsuite/gas/cris/movem-to-reg.d
new file mode 100644
index 0000000..3f5bcf6
--- /dev/null
+++ b/gas/testsuite/gas/cris/movem-to-reg.d
@@ -0,0 +1,165 @@
+#objdump: -dr
+#name: movem-to-reg
+
+# Test the @OC@ insn with memory as destination.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+b5db[ ]+movem[ ]+\[r5\],r13
+[ ]+6:[ ]+ba1b[ ]+movem[ ]+\[r10\],r1
+[ ]+8:[ ]+b5df[ ]+movem[ ]+\[r5\+\],r13
+[ ]+a:[ ]+ba4f[ ]+movem[ ]+\[r10\+\],r4
+[ ]+c:[ ]+4255 bddb[ ]+movem[ ]+\[r2\+r5\.b\],r13
+[ ]+10:[ ]+42a5 b33b[ ]+movem[ ]+\[r2\+r10\.b\],r3
+[ ]+14:[ ]+4529 bddb[ ]+movem[ ]+\[r2\+\[r5\]\.b\],r13
+[ ]+18:[ ]+4a29 b22b[ ]+movem[ ]+\[r2\+\[r10\]\.b\],r2
+[ ]+1c:[ ]+452d b00b[ ]+movem[ ]+\[r2\+\[r5\+\]\.b\],r0
+[ ]+20:[ ]+4a2d bccb[ ]+movem[ ]+\[r2\+\[r10\+\]\.b\],r12
+[ ]+24:[ ]+5529 b22b[ ]+movem[ ]+\[r2\+\[r5\]\.w\],r2
+[ ]+28:[ ]+5a29 b66b[ ]+movem[ ]+\[r2\+\[r10\]\.w\],r6
+[ ]+2c:[ ]+552d b77b[ ]+movem[ ]+\[r2\+\[r5\+\]\.w\],r7
+[ ]+30:[ ]+5a2d b88b[ ]+movem[ ]+\[r2\+\[r10\+\]\.w\],r8
+[ ]+34:[ ]+6255 bccb[ ]+movem[ ]+\[r2\+r5\.d\],r12
+[ ]+38:[ ]+62a5 b99b[ ]+movem[ ]+\[r2\+r10\.d\],r9
+[ ]+3c:[ ]+6529 bddb[ ]+movem[ ]+\[r2\+\[r5\]\.d\],r13
+[ ]+40:[ ]+6a29 b88b[ ]+movem[ ]+\[r2\+\[r10\]\.d\],r8
+[ ]+44:[ ]+652d b00b[ ]+movem[ ]+\[r2\+\[r5\+\]\.d\],r0
+[ ]+48:[ ]+6a2d b55b[ ]+movem[ ]+\[r2\+\[r10\+\]\.d\],r5
+[ ]+4c:[ ]+0021 b11b[ ]+movem[ ]+\[r2\+0\],r1
+[ ]+50:[ ]+0121 b11b[ ]+movem[ ]+\[r2\+1\],r1
+[ ]+54:[ ]+7f21 b11b[ ]+movem[ ]+\[r2\+127\],r1
+[ ]+58:[ ]+5f2d 8000 b11b[ ]+movem[ ]+\[r2\+128\],r1
+[ ]+5e:[ ]+ff21 b11b[ ]+movem[ ]+\[r2-1\],r1
+[ ]+62:[ ]+ff21 b11b[ ]+movem[ ]+\[r2-1\],r1
+[ ]+66:[ ]+8121 b11b[ ]+movem[ ]+\[r2-127\],r1
+[ ]+6a:[ ]+8021 b11b[ ]+movem[ ]+\[r2-128\],r1
+[ ]+6e:[ ]+8121 b11b[ ]+movem[ ]+\[r2-127\],r1
+[ ]+72:[ ]+8021 b11b[ ]+movem[ ]+\[r2-128\],r1
+[ ]+76:[ ]+5f2d ff00 b11b[ ]+movem[ ]+\[r2\+255\],r1
+[ ]+7c:[ ]+5f2d 01ff b11b[ ]+movem[ ]+\[r2-255\],r1
+[ ]+82:[ ]+5f2d 01ff b11b[ ]+movem[ ]+\[r2-255\],r1
+[ ]+88:[ ]+5f2d 0001 b11b[ ]+movem[ ]+\[r2\+256\],r1
+[ ]+8e:[ ]+5f2d 00ff b11b[ ]+movem[ ]+\[r2-256\],r1
+[ ]+94:[ ]+5f2d 68dd b11b[ ]+movem[ ]+\[r2-8856\],r1
+[ ]+9a:[ ]+5f2d 00ff b11b[ ]+movem[ ]+\[r2-256\],r1
+[ ]+a0:[ ]+5f2d 68dd b11b[ ]+movem[ ]+\[r2-8856\],r1
+[ ]+a6:[ ]+5f2d 9822 b11b[ ]+movem[ ]+\[r2\+8856\],r1
+[ ]+ac:[ ]+6f2d ac72 2a00 b11b[ ]+movem[ ]+\[r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1
+[ ]+b4:[ ]+6f2d d5c5 d6ff b11b[ ]+movem[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1
+[ ]+bc:[ ]+6f2d acce c09e b11b[ ]+movem[ ]+\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1
+[ ]+c4:[ ]+6f2d 5331 3f81 b11b[ ]+movem[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+cc:[ ]+6f2d 5331 3f81 b11b[ ]+movem[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+d4:[ ]+6f2d b5af 982e b11b[ ]+movem[ ]+\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1
+[ ]+dc:[ ]+6f2d 2b45 941b b11b[ ]+movem[ ]+\[r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1
+[ ]+e4:[ ]+2a21 bddb[ ]+movem[ ]+\[r2\+42\],r13
+[ ]+e8:[ ]+d621 b55b[ ]+movem[ ]+\[r2-42\],r5
+[ ]+ec:[ ]+d621 b55b[ ]+movem[ ]+\[r2-42\],r5
+[ ]+f0:[ ]+2a21 b55b[ ]+movem[ ]+\[r2\+42\],r5
+[ ]+f4:[ ]+d621 b55b[ ]+movem[ ]+\[r2-42\],r5
+[ ]+f8:[ ]+d621 b55b[ ]+movem[ ]+\[r2-42\],r5
+[ ]+fc:[ ]+2a21 b55b[ ]+movem[ ]+\[r2\+42\],r5
+[ ]+100:[ ]+d621 b55b[ ]+movem[ ]+\[r2-42\],r5
+[ ]+104:[ ]+2a21 b55b[ ]+movem[ ]+\[r2\+42\],r5
+[ ]+108:[ ]+5f2d ff7f b55b[ ]+movem[ ]+\[r2\+32767\],r5
+[ ]+10e:[ ]+6f2d 0080 0000 b55b[ ]+movem[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+116:[ ]+6f2d 0180 0000 b55b[ ]+movem[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\],r5
+[ ]+11e:[ ]+5f2d 0180 b55b[ ]+movem[ ]+\[r2-32767\],r5
+[ ]+124:[ ]+5f2d 0080 bddb[ ]+movem[ ]+\[r2-32768\],r13
+[ ]+12a:[ ]+6f2d ff7f ffff bddb[ ]+movem[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+132:[ ]+5f2d 0180 b55b[ ]+movem[ ]+\[r2-32767\],r5
+[ ]+138:[ ]+5f2d 0080 bddb[ ]+movem[ ]+\[r2-32768\],r13
+[ ]+13e:[ ]+6f2d ff7f ffff bddb[ ]+movem[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+146:[ ]+6f2d ffff 0000 b55b[ ]+movem[ ]+\[r2\+(65535|ffff <six5535>)\],r5
+[ ]+14e:[ ]+6f2d 0000 0100 bddb[ ]+movem[ ]+\[r2\+(65536|10000 <six5535\+0x1>)\],r13
+[ ]+156:[ ]+6f2d 2b3a 2900 b55b[ ]+movem[ ]+\[r2\+(2701867|293a2b <two701867>)\],r5
+[ ]+15e:[ ]+6f2d d5c5 d6ff b55b[ ]+movem[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+166:[ ]+6f2d d5c5 d6ff b55b[ ]+movem[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+16e:[ ]+6f2d 0000 0000 b55b[ ]+movem[ ]+\[r2\+0( <notstart>)?\],r5
+[ ]+170:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+176:[ ]+4255 bcdf[ ]+movem[ ]+\[r12=r2\+r5\.b\],r13
+[ ]+17a:[ ]+42a5 bc1f[ ]+movem[ ]+\[r12=r2\+r10\.b\],r1
+[ ]+17e:[ ]+4529 bc4f[ ]+movem[ ]+\[r12=r2\+\[r5\]\.b\],r4
+[ ]+182:[ ]+4a29 bc6f[ ]+movem[ ]+\[r12=r2\+\[r10\]\.b\],r6
+[ ]+186:[ ]+452d bc3f[ ]+movem[ ]+\[r12=r2\+\[r5\+\]\.b\],r3
+[ ]+18a:[ ]+4a2d bc2f[ ]+movem[ ]+\[r12=r2\+\[r10\+\]\.b\],r2
+[ ]+18e:[ ]+5255 bc5f[ ]+movem[ ]+\[r12=r2\+r5\.w\],r5
+[ ]+192:[ ]+52a5 bc8f[ ]+movem[ ]+\[r12=r2\+r10\.w\],r8
+[ ]+196:[ ]+5529 bc4f[ ]+movem[ ]+\[r12=r2\+\[r5\]\.w\],r4
+[ ]+19a:[ ]+5a29 bc3f[ ]+movem[ ]+\[r12=r2\+\[r10\]\.w\],r3
+[ ]+19e:[ ]+552d bc2f[ ]+movem[ ]+\[r12=r2\+\[r5\+\]\.w\],r2
+[ ]+1a2:[ ]+5a2d bc7f[ ]+movem[ ]+\[r12=r2\+\[r10\+\]\.w\],r7
+[ ]+1a6:[ ]+6255 bc4f[ ]+movem[ ]+\[r12=r2\+r5\.d\],r4
+[ ]+1aa:[ ]+62a5 bc8f[ ]+movem[ ]+\[r12=r2\+r10\.d\],r8
+[ ]+1ae:[ ]+6529 bc2f[ ]+movem[ ]+\[r12=r2\+\[r5\]\.d\],r2
+[ ]+1b2:[ ]+6a29 bc0f[ ]+movem[ ]+\[r12=r2\+\[r10\]\.d\],r0
+[ ]+1b6:[ ]+652d bc3f[ ]+movem[ ]+\[r12=r2\+\[r5\+\]\.d\],r3
+[ ]+1ba:[ ]+6a2d bc2f[ ]+movem[ ]+\[r12=r2\+\[r10\+\]\.d\],r2
+[ ]+1be:[ ]+0021 bc1f[ ]+movem[ ]+\[r12=r2\+0\],r1
+[ ]+1c2:[ ]+0121 bc1f[ ]+movem[ ]+\[r12=r2\+1\],r1
+[ ]+1c6:[ ]+7f21 bc1f[ ]+movem[ ]+\[r12=r2\+127\],r1
+[ ]+1ca:[ ]+5f2d 8000 bc1f[ ]+movem[ ]+\[r12=r2\+128\],r1
+[ ]+1d0:[ ]+ff21 bc1f[ ]+movem[ ]+\[r12=r2-1\],r1
+[ ]+1d4:[ ]+ff21 bc1f[ ]+movem[ ]+\[r12=r2-1\],r1
+[ ]+1d8:[ ]+8121 bc1f[ ]+movem[ ]+\[r12=r2-127\],r1
+[ ]+1dc:[ ]+8021 bc1f[ ]+movem[ ]+\[r12=r2-128\],r1
+[ ]+1e0:[ ]+8121 bc1f[ ]+movem[ ]+\[r12=r2-127\],r1
+[ ]+1e4:[ ]+8021 bc1f[ ]+movem[ ]+\[r12=r2-128\],r1
+[ ]+1e8:[ ]+5f2d ff00 bc1f[ ]+movem[ ]+\[r12=r2\+255\],r1
+[ ]+1ee:[ ]+5f2d 01ff bc1f[ ]+movem[ ]+\[r12=r2-255\],r1
+[ ]+1f4:[ ]+5f2d 01ff bc1f[ ]+movem[ ]+\[r12=r2-255\],r1
+[ ]+1fa:[ ]+5f2d 0001 bc1f[ ]+movem[ ]+\[r12=r2\+256\],r1
+[ ]+200:[ ]+5f2d 00ff bc1f[ ]+movem[ ]+\[r12=r2-256\],r1
+[ ]+206:[ ]+5f2d 68dd bc1f[ ]+movem[ ]+\[r12=r2-8856\],r1
+[ ]+20c:[ ]+5f2d 00ff bc1f[ ]+movem[ ]+\[r12=r2-256\],r1
+[ ]+212:[ ]+5f2d 68dd bc1f[ ]+movem[ ]+\[r12=r2-8856\],r1
+[ ]+218:[ ]+5f2d 9822 bc1f[ ]+movem[ ]+\[r12=r2\+8856\],r1
+[ ]+21e:[ ]+6f2d ac72 2a00 bc1f[ ]+movem[ ]+\[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\],r1
+[ ]+226:[ ]+6f2d d5c5 d6ff bc1f[ ]+movem[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r1
+[ ]+22e:[ ]+6f2d acce c09e bc1f[ ]+movem[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],r1
+[ ]+236:[ ]+6f2d 5331 3f81 bc1f[ ]+movem[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+23e:[ ]+6f2d 5331 3f81 bc1f[ ]+movem[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],r1
+[ ]+246:[ ]+6f2d b5af 982e bc1f[ ]+movem[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],r1
+[ ]+24e:[ ]+6f2d 2b45 941b bc1f[ ]+movem[ ]+\[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\],r1
+[ ]+256:[ ]+2a21 bcdf[ ]+movem[ ]+\[r12=r2\+42\],r13
+[ ]+25a:[ ]+d621 bc5f[ ]+movem[ ]+\[r12=r2-42\],r5
+[ ]+25e:[ ]+d621 bc5f[ ]+movem[ ]+\[r12=r2-42\],r5
+[ ]+262:[ ]+2a21 bc5f[ ]+movem[ ]+\[r12=r2\+42\],r5
+[ ]+266:[ ]+d621 bc5f[ ]+movem[ ]+\[r12=r2-42\],r5
+[ ]+26a:[ ]+d621 bc5f[ ]+movem[ ]+\[r12=r2-42\],r5
+[ ]+26e:[ ]+2a21 bc5f[ ]+movem[ ]+\[r12=r2\+42\],r5
+[ ]+272:[ ]+d621 bc5f[ ]+movem[ ]+\[r12=r2-42\],r5
+[ ]+276:[ ]+2a21 bc5f[ ]+movem[ ]+\[r12=r2\+42\],r5
+[ ]+27a:[ ]+5f2d ff7f bc5f[ ]+movem[ ]+\[r12=r2\+32767\],r5
+[ ]+280:[ ]+6f2d 0080 0000 bc5f[ ]+movem[ ]+\[r12=r2\+(32768|8000 <three2767\+0x1>)\],r5
+[ ]+288:[ ]+6f2d 0180 0000 bc5f[ ]+movem[ ]+\[r12=r2\+(32769|8001 <three2767\+0x2>)\],r5
+[ ]+290:[ ]+5f2d 0180 bc5f[ ]+movem[ ]+\[r12=r2-32767\],r5
+[ ]+296:[ ]+5f2d 0080 bcdf[ ]+movem[ ]+\[r12=r2-32768\],r13
+[ ]+29c:[ ]+6f2d ff7f ffff bcdf[ ]+movem[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+2a4:[ ]+5f2d 0180 bc5f[ ]+movem[ ]+\[r12=r2-32767\],r5
+[ ]+2aa:[ ]+5f2d 0080 bcdf[ ]+movem[ ]+\[r12=r2-32768\],r13
+[ ]+2b0:[ ]+6f2d ff7f ffff bcdf[ ]+movem[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],r13
+[ ]+2b8:[ ]+6f2d ffff 0000 bc5f[ ]+movem[ ]+\[r12=r2\+(65535|ffff <six5535>)\],r5
+[ ]+2c0:[ ]+6f2d 0000 0100 bcdf[ ]+movem[ ]+\[r12=r2\+(65536|10000 <six5535\+0x1>)\],r13
+[ ]+2c8:[ ]+6f2d 2b3a 2900 bc5f[ ]+movem[ ]+\[r12=r2\+(2701867|293a2b <two701867>)\],r5
+[ ]+2d0:[ ]+6f2d d5c5 d6ff bc5f[ ]+movem[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+2d8:[ ]+6f2d d5c5 d6ff bc5f[ ]+movem[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],r5
+[ ]+2e0:[ ]+6f2d 0000 0000 bc5f[ ]+movem[ ]+\[r12=r2\+0( <notstart>)?\],r5
+[ ]+2e2:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2e8:[ ]+7209 b44b[ ]+movem[ ]+\[\[r2\]\],r4
+[ ]+2ec:[ ]+7309 b77b[ ]+movem[ ]+\[\[r3\]\],r7
+[ ]+2f0:[ ]+730d b55b[ ]+movem[ ]+\[\[r3\+\]\],r5
+[ ]+2f4:[ ]+710d b66b[ ]+movem[ ]+\[\[r1\+\]\],r6
+[ ]+2f8:[ ]+7f0d 0000 0000 b44b[ ]+movem[ ]+\[(0x0|0 <notstart>)?\],r4
+[ ]+2fa:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+300:[ ]+7f0d 0000 0000 b77b[ ]+movem[ ]+\[(0x0|0 <notstart>)?\],r7
+[ ]+302:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+308:[ ]+7f0d 0000 0000 b33b[ ]+movem[ ]+\[(0x0|0 <notstart>)?\],r3
+[ ]+30a:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+310:[ ]+7f0d 0000 0000 b77b[ ]+movem[ ]+\[(0x0|0 <notstart>)?\],r7
+[ ]+312:[ ]+(R_CRIS_)?32[ ]+\.text
diff --git a/gas/testsuite/gas/cris/nosep.d b/gas/testsuite/gas/cris/nosep.d
new file mode 100644
index 0000000..757f233
--- /dev/null
+++ b/gas/testsuite/gas/cris/nosep.d
@@ -0,0 +1,10 @@
+#objdump: -dr
+#name: nosep
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+00000000 <start>:
+[ ]+0:[ ]+4022[ ]+moveq[ ]+0,r2
+[ ]+2:[ ]+f025[ ]+di[ ]*
diff --git a/gas/testsuite/gas/cris/nosep.s b/gas/testsuite/gas/cris/nosep.s
new file mode 100644
index 0000000..f1840b86
--- /dev/null
+++ b/gas/testsuite/gas/cris/nosep.s
@@ -0,0 +1,8 @@
+; Test error cases for separators.
+; This one should not treat a ";" as a line separator, not even
+; just after an instruction.
+ .text
+start:
+ moveq 0,r2;nop
+ di
+
diff --git a/gas/testsuite/gas/cris/oneop-type.d b/gas/testsuite/gas/cris/oneop-type.d
new file mode 100644
index 0000000..1837589
--- /dev/null
+++ b/gas/testsuite/gas/cris/oneop-type.d
@@ -0,0 +1,15 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OR@ (@OC@) insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+@IR+7187@[ ]+@OR@[ ]+r1
+[ ]+2:[ ]+@IR+7087@[ ]+@OR@[ ]+r0
+[ ]+4:[ ]+@IR+7087@[ ]+@OR@[ ]+r0
+[ ]+6:[ ]+@IR+7587@[ ]+@OR@[ ]+r5
+[ ]+8:[ ]+@IR+7d87@[ ]+@OR@[ ]+r13
+[ ]+a:[ ]+@IR+7987@[ ]+@OR@[ ]+r9
diff --git a/gas/testsuite/gas/cris/operand-err-1.s b/gas/testsuite/gas/cris/operand-err-1.s
new file mode 100644
index 0000000..a8ed636
--- /dev/null
+++ b/gas/testsuite/gas/cris/operand-err-1.s
@@ -0,0 +1,45 @@
+; Error cases for invalid operands.
+; { dg-do assemble { target cris-*-* } }
+ .text
+start:
+ add.w r3,r4,r5 ; { dg-error "(Illegal|Invalid) operands" }
+ add.w 42,r4,r5 ; { dg-error "(Illegal|Invalid) operands" }
+ add.w [r3],r4,r5 ; Not an error: [r3] implies [r3+0].
+ add.w r3,[r3],r4 ; { dg-error "(Illegal|Invalid) operands" }
+ add.w r3,[r3] ; { dg-error "(Illegal|Invalid) operands" }
+ test.w [r3],r4,r5 ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3],r4 ; { dg-error "(Illegal|Invalid) operands" }
+ move.d [r3],r4,r5 ; { dg-error "(Illegal|Invalid) operands" }
+
+; These two *might* be useful in extreme cases, so maybe the following
+; should not be considered an error in the first place.
+ test.d whatever ; { dg-error "(Illegal|Invalid) operands" "" { xfail *-*-* } }
+ test.d 42 ; { dg-error "(Illegal|Invalid) operands" "" { xfail *-*-* } }
+
+ clear.d whatever ; { dg-error "(Illegal|Invalid) operands" }
+ clear.d 42 ; { dg-error "(Illegal|Invalid) operands" }
+ addi r5,r3 ; { dg-error "(Illegal|Invalid) operands" }
+ ba [external_symbol] ; Not an error, just obscure and generally useless.
+ ba [r3] ; Not an error, just obscure and generally useless.
+ lsl r3,r5 ; { dg-error "(Illegal|Invalid) operands" }
+ xor.d r5,r6 ; { dg-error "(Illegal|Invalid) operands" }
+
+; Addressing modes
+ test.d [r3+r4] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=r2+[r4]] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=r2+[r4].w ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=r2] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=r2+] ; { dg-error "(Illegal|Invalid) operands|Bad expression" }
+ test.d [r3++] ; { dg-error "(Illegal|Invalid) operands|Bad expression" }
+
+; I think these should be valid; a dip with "postincrement" on
+; the insn that follows.
+ test.d [r3=external_symbol] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=[r4]] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=[r4+]] ; { dg-error "(Illegal|Invalid) operands" }
+
+ test.d [[r3+r4.b]] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=external+[r5]] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3=[r5]+external] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3+[r3+r5.d]] ; { dg-error "(Illegal|Invalid) operands" }
+ test.d [r3+[r3+external]] ; { dg-error "(Illegal|Invalid) operands" }
diff --git a/gas/testsuite/gas/cris/prefix.d b/gas/testsuite/gas/cris/prefix.d
new file mode 100644
index 0000000..303ea85
--- /dev/null
+++ b/gas/testsuite/gas/cris/prefix.d
@@ -0,0 +1,94 @@
+#objdump: -dr
+#name: prefix
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+0001 454a[ ]+move\.b \[r0\+0\],r4
+[ ]+4:[ ]+0031 564e[ ]+move\.w \[r6=r3\+0\],r4
+[ ]+8:[ ]+ff11 454a[ ]+move\.b \[r1-1\],r4
+[ ]+c:[ ]+ff01 564e[ ]+move\.w \[r6=r0-1\],r4
+[ ]+10:[ ]+8011 454a[ ]+move\.b \[r1-128\],r4
+[ ]+14:[ ]+8071 564e[ ]+move\.w \[r6=r7-128\],r4
+[ ]+18:[ ]+7f11 454a[ ]+move\.b \[r1\+127\],r4
+[ ]+1c:[ ]+7fb1 564a[ ]+move\.w \[r11\+127\],r4
+[ ]+20:[ ]+4f4d 0000 679e[ ]+move\.d \[r7=r4\+0\],r9
+[ ]+26:[ ]+4f5d 0100 454a[ ]+move\.b \[r5\+1\],r4
+[ ]+2c:[ ]+4f6d ffff 679e[ ]+move\.d \[r7=r6-1\],r9
+[ ]+32:[ ]+4f6d 80ff 679a[ ]+move\.d \[r6-128\],r9
+[ ]+38:[ ]+4f6d 7f00 564e[ ]+move\.w \[r6=r6\+127\],r4
+[ ]+3e:[ ]+5f4d 0000 679e[ ]+move\.d \[r7=r4\+0\],r9
+[ ]+44:[ ]+5f5d 0100 454a[ ]+move\.b \[r5\+1\],r4
+[ ]+4a:[ ]+5f6d ffff 679e[ ]+move\.d \[r7=r6-1\],r9
+[ ]+50:[ ]+5f6d 80ff 679a[ ]+move\.d \[r6-128\],r9
+[ ]+56:[ ]+5f6d 7f00 564e[ ]+move\.w \[r6=r6\+127\],r4
+[ ]+5c:[ ]+5f6d 7fff 679a[ ]+move\.d \[r6-129\],r9
+[ ]+62:[ ]+5f6d 8000 679a[ ]+move\.d \[r6\+128\],r9
+[ ]+68:[ ]+5f6d 0080 454a[ ]+move\.b \[r6-32768\],r4
+[ ]+6e:[ ]+5f6d ff7f 555e[ ]+move\.w \[r5=r6\+32767\],r5
+[ ]+74:[ ]+6f4d 0000 0000 679e[ ]+move\.d \[r7=r4\+0( <start>)?\],r9
+[ ]+7c:[ ]+6f5d 0100 0000 454a[ ]+move\.b \[r5\+1( <start\+0x1>)?\],r4
+[ ]+84:[ ]+6f6d ffff ffff 679e[ ]+move\.d \[r7=r6\+(0xffffffff|ffffffff <end\+0xfffffe33>)\],r9
+[ ]+8c:[ ]+6f6d 80ff ffff 679a[ ]+move\.d \[r6\+(0xffffff80|ffffff80 <end\+0xfffffdb4>)\],r9
+[ ]+94:[ ]+6f6d 7f00 0000 564e[ ]+move\.w \[r6=r6\+(127|7f <start\+0x7f>)\],r4
+[ ]+9c:[ ]+6f6d 7fff ffff 679a[ ]+move\.d \[r6\+(0xffffff7f|ffffff7f <end\+0xfffffdb3>)\],r9
+[ ]+a4:[ ]+6f6d 8000 0000 679a[ ]+move\.d \[r6\+(128|80 <start\+0x80>)\],r9
+[ ]+ac:[ ]+6f6d 0080 ffff 454a[ ]+move\.b \[r6\+(0xffff8000|ffff8000 <end\+0xffff7e34>)\],r4
+[ ]+b4:[ ]+6f6d ff7f 0000 555e[ ]+move\.w \[r5=r6\+(32767|7fff <end\+0x7e33>)\],r5
+[ ]+bc:[ ]+6f6d ff7f ffff 564e[ ]+move\.w \[r6=r6\+(0xffff7fff|ffff7fff <end\+0xffff7e33>)\],r4
+[ ]+c4:[ ]+6f6d 0080 0000 564a[ ]+move\.w \[r6\+(32768|8000 <end\+0x7e34>)\],r4
+[ ]+cc:[ ]+6f6d 0000 fbff 454a[ ]+move\.b \[r6\+(0xfffb0000|fffb0000 <end\+0xfffafe34>)\],r4
+[ ]+d4:[ ]+6f6d f5ad 4701 555e[ ]+move\.w \[r5=r6\+(0x[0]?147adf5|147adf5 <end\+0x147ac29>)\],r5
+[ ]+dc:[ ]+6f6d 0000 0080 679a[ ]+move\.d \[r6\+(0x80000000|80000000 <end\+0x7ffffe34>)\],r9
+[ ]+e4:[ ]+6f6d ffff ff7f 454a[ ]+move\.b \[r6\+(0x7fffffff|7fffffff <end\+0x7ffffe33>)\],r4
+[ ]+ec:[ ]+6f6d 0000 0000 555e[ ]+move\.w \[r5=r6\+0( <start>)?\],r5
+[ ]+ee:[ ]+(R_CRIS_)?32[ ]+external_symbol
+[ ]+f4:[ ]+4029 664e[ ]+move\.d \[r6=r2\+\[r0\]\.b\],r4
+[ ]+f8:[ ]+5029 454a[ ]+move\.b \[r2\+\[r0\]\.w\],r4
+[ ]+fc:[ ]+6029 664e[ ]+move\.d \[r6=r2\+\[r0\]\.d\],r4
+[ ]+100:[ ]+4a29 664e[ ]+move\.d \[r6=r2\+\[r10\]\.b\],r4
+[ ]+104:[ ]+5a29 454a[ ]+move\.b \[r2\+\[r10\]\.w\],r4
+[ ]+108:[ ]+6a29 664e[ ]+move\.d \[r6=r2\+\[r10\]\.d\],r4
+[ ]+10c:[ ]+422d 564a[ ]+move\.w \[r2\+\[r2\+\]\.b\],r4
+[ ]+110:[ ]+5b2d 555e[ ]+move\.w \[r5=r2\+\[r11\+\]\.w\],r5
+[ ]+114:[ ]+6a2d 564a[ ]+move\.w \[r2\+\[r10\+\]\.d\],r4
+[ ]+118:[ ]+4305 454a[ ]+move\.b \[r3\+r0\.b\],r4
+[ ]+11c:[ ]+5535 564e[ ]+move\.w \[r6=r5\+r3\.w\],r4
+[ ]+120:[ ]+6dd5 454a[ ]+move\.b \[r13\+r13\.d\],r4
+[ ]+124:[ ]+4665 564e[ ]+move\.w \[r6=r6\+r6\.b\],r4
+[ ]+128:[ ]+5dd5 454a[ ]+move\.b \[r13\+r13\.w\],r4
+[ ]+12c:[ ]+6bc5 564e[ ]+move\.w \[r6=r11\+r12\.d\],r4
+[ ]+130:[ ]+5545 454a[ ]+move\.b \[r5\+r4\.w\],r4
+[ ]+134:[ ]+4335 564e[ ]+move\.w \[r6=r3\+r3\.b\],r4
+[ ]+138:[ ]+6555 555e[ ]+move\.w \[r5=r5\+r5\.d\],r5
+[ ]+13c:[ ]+7f0d 0000 0000[ ]+dip 0( <start>)?
+[ ]+142:[ ]+679e[ ]+move.d \[r7\+\],r9
+[ ]+144:[ ]+7f0d 0100 0000 454a[ ]+move\.b \[(0x1|1 <start\+0x1>)\],r4
+[ ]+14c:[ ]+7f0d ffff ffff[ ]+dip 0xffffffff
+[ ]+152:[ ]+679e[ ]+move.d \[r7\+\],r9
+[ ]+154:[ ]+7f0d 80ff ffff 679a[ ]+move\.d \[(0xffffff80|ffffff80 <end\+0xfffffdb4>)\],r9
+[ ]+15c:[ ]+7f0d 7f00 0000[ ]+dip (0x7f|7f <start\+0x7f>)
+[ ]+162:[ ]+564e[ ]+move.w \[r6\+\],r4
+[ ]+164:[ ]+7f0d 7fff ffff 679a[ ]+move\.d \[(0xffffff7f|ffffff7f <end\+0xfffffdb3>)\],r9
+[ ]+16c:[ ]+7f0d 8000 0000 679a[ ]+move\.d \[(0x80|80 <start\+0x80>)\],r9
+[ ]+174:[ ]+7f0d 0080 ffff 454a[ ]+move\.b \[(0xffff8000|ffff8000 <end\+0xffff7e34>)\],r4
+[ ]+17c:[ ]+7f0d ff7f 0000[ ]+dip (0x7fff|7fff <end\+0x7e33>)
+[ ]+182:[ ]+555e[ ]+move.w \[r5\+\],r5
+[ ]+184:[ ]+7f0d ff7f ffff[ ]+dip (0xffff7fff|ffff7fff <end\+0xffff7e33>)
+[ ]+18a:[ ]+564e[ ]+move.w \[r6\+\],r4
+[ ]+18c:[ ]+7f0d 0080 0000 564a[ ]+move\.w \[(0x8000|8000 <end\+0x7e34>)\],r4
+[ ]+194:[ ]+7f0d 0000 fbff 454a[ ]+move\.b \[(0xfffb0000|fffb0000 <end\+0xfffafe34>)\],r4
+[ ]+19c:[ ]+7f0d f5ad 4701[ ]+dip (0x[0]?147adf5|147adf5 <end\+0x147ac29>)
+[ ]+1a2:[ ]+555e[ ]+move.w \[r5\+\],r5
+[ ]+1a4:[ ]+7f0d 0000 0080 679a[ ]+move\.d \[(0x80000000|80000000 <end\+0x7ffffe34>)\],r9
+[ ]+1ac:[ ]+7f0d ffff ff7f 454a[ ]+move\.b \[(0x7fffffff|7fffffff <end\+0x7ffffe33>)\],r4
+[ ]+1b4:[ ]+7f0d 0000 0000[ ]+dip 0( <start>)?
+[ ]+1b6:[ ]+(R_CRIS_)?32[ ]+external_symbol
+[ ]+1ba:[ ]+555e[ ]+move.w \[r5\+\],r5
+[ ]+1bc:[ ]+7a09[ ]+dip \[r10\]
+[ ]+1be:[ ]+664e[ ]+move.d \[r6\+\],r4
+[ ]+1c0:[ ]+7b09 674a[ ]+move\.d \[\[r11\]\],r4
+[ ]+1c4:[ ]+720d 564a[ ]+move\.w \[\[r2\+\]\],r4
+[ ]+1c8:[ ]+7b0d[ ]+dip \[r11\+\]
+[ ]+1ca:[ ]+555e[ ]+move.w \[r5\+\],r5
diff --git a/gas/testsuite/gas/cris/prefix.s b/gas/testsuite/gas/cris/prefix.s
new file mode 100644
index 0000000..95dcd6b
--- /dev/null
+++ b/gas/testsuite/gas/cris/prefix.s
@@ -0,0 +1,247 @@
+; See that prefix insns are assembled right.
+ .text
+start:
+
+;
+; bdap (8-bit signed offset).
+;
+
+ bdap 0,r0
+ move.b [r5],r4
+
+ bdap 0,r3
+ move.w [r6+],r4
+
+ bdap -1,r1
+ move.b [r5],r4
+
+ bdap -1,r0
+ move.w [r6+],r4
+
+ bdap -128,r1
+ move.b [r5],r4
+
+ bdap -128,r7
+ move.w [r6+],r4
+
+ bdap 127,r1
+ move.b [r5],r4
+
+ bdap 127,r11
+ move.w [r6],r4
+
+;
+; bdap.S [],r
+;
+
+ bdap.b 0,r4
+ move.d [r7+],r9
+
+ bdap.b 1,r5
+ move.b [r5],r4
+
+ bdap.b -1,r6
+ move.d [r7+],r9
+
+ bdap.b -128,r6
+ move.d [r7],r9
+
+ bdap.b 127,r6
+ move.w [r6+],r4
+
+ bdap.w 0,r4
+ move.d [r7+],r9
+
+ bdap.w 1,r5
+ move.b [r5],r4
+
+ bdap.w -1,r6
+ move.d [r7+],r9
+
+ bdap.w -128,r6
+ move.d [r7],r9
+
+ bdap.w 127,r6
+ move.w [r6+],r4
+
+ bdap.w -129,r6
+ move.d [r7],r9
+
+ bdap.w 128,r6
+ move.d [r7],r9
+
+ bdap.w -32768,r6
+ move.b [r5],r4
+
+ bdap.w 32767,r6
+ move.w [r5+],r5
+
+ bdap.d 0,r4
+ move.d [r7+],r9
+
+ bdap.d 1,r5
+ move.b [r5],r4
+
+ bdap.d -1,r6
+ move.d [r7+],r9
+
+ bdap.d -128,r6
+ move.d [r7],r9
+
+ bdap.d 127,r6
+ move.w [r6+],r4
+
+ bdap.d -129,r6
+ move.d [r7],r9
+
+ bdap.d 128,r6
+ move.d [r7],r9
+
+ bdap.d -32768,r6
+ move.b [r5],r4
+
+ bdap.d 32767,r6
+ move.w [r5+],r5
+
+ bdap.d -32769,r6
+ move.w [r6+],r4
+
+ bdap.d 32768,r6
+ move.w [r6],r4
+
+ bdap.d -327680,r6
+ move.b [r5],r4
+
+ bdap.d 21474805,r6
+ move.w [r5+],r5
+
+ bdap.d -2147483648,r6
+ move.d [r7],r9
+
+ bdap.d 2147483647,r6
+ move.b [r5],r4
+
+ bdap.d external_symbol,r6
+ move.w [r5+],r5
+
+ bdap.b [r0],r2
+ move.d [r6+],r4
+
+ bdap.w [r0],r2
+ move.b [r5],r4
+
+ bdap.d [r0],r2
+ move.d [r6+],r4
+
+ bdap.b [r10],r2
+ move.d [r6+],r4
+
+ bdap.w [r10],r2
+ move.b [r5],r4
+
+ bdap.d [r10],r2
+ move.d [r6+],r4
+
+ bdap.b [r2+],r2
+ move.w [r6],r4
+
+ bdap.w [r11+],r2
+ move.w [r5+],r5
+
+ bdap.d [r10+],r2
+ move.w [r6],r4
+
+;
+; BIAP.m (like addi).
+;
+
+ biap.b r3,r0
+ move.b [r5],r4
+
+ biap.w r5,r3
+ move.w [r6+],r4
+
+ biap.d r13,r13
+ move.b [r5],r4
+
+ biap.b r6,r6
+ move.w [r6+],r4
+
+ biap.w r13,r13
+ move.b [r5],r4
+
+ biap.d r11,r12
+ move.w [r6+],r4
+
+ biap.w r5,r4
+ move.b [r5],r4
+
+ biap.b r3,r3
+ move.w [r6+],r4
+
+ biap.d r5,r5
+ move.w [r5+],r5
+
+;
+; DIP []
+;
+ dip 0
+ move.d [r7+],r9
+
+ dip 1
+ move.b [r5],r4
+
+ dip -1
+ move.d [r7+],r9
+
+ dip -128
+ move.d [r7],r9
+
+ dip 127
+ move.w [r6+],r4
+
+ dip -129
+ move.d [r7],r9
+
+ dip 128
+ move.d [r7],r9
+
+ dip -32768
+ move.b [r5],r4
+
+ dip 32767
+ move.w [r5+],r5
+
+ dip -32769
+ move.w [r6+],r4
+
+ dip 32768
+ move.w [r6],r4
+
+ dip -327680
+ move.b [r5],r4
+
+ dip 21474805
+ move.w [r5+],r5
+
+ dip -2147483648
+ move.d [r7],r9
+
+ dip 2147483647
+ move.b [r5],r4
+
+ dip external_symbol
+ move.w [r5+],r5
+
+ dip [r10]
+ move.d [r6+],r4
+
+ dip [r11]
+ move.d [r7],r4
+
+ dip [r2+]
+ move.w [r6],r4
+
+ dip [r11+]
+ move.w [r5+],r5
+end:
diff --git a/gas/testsuite/gas/cris/pushpop-byte-sreg.d b/gas/testsuite/gas/cris/pushpop-byte-sreg.d
new file mode 100644
index 0000000..1fa7559
--- /dev/null
+++ b/gas/testsuite/gas/cris/pushpop-byte-sreg.d
@@ -0,0 +1,39 @@
+#objdump: -dr
+#name: pushpop-byte-sreg-@OR@
+
+.*:[ ]+file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+[ ]+4:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+[ ]+8:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+[ ]+c:[ ]+f8e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp-8\]
+[ ]+10:[ ]+fbe1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp-5\]
+[ ]+14:[ ]+fce1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp-4\]
+[ ]+18:[ ]+fde1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp-3\]
+[ ]+1c:[ ]+fee1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp-2\]
+[ ]+20:[ ]+00e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+0\]
+[ ]+24:[ ]+01e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+1\]
+[ ]+28:[ ]+02e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+2\]
+[ ]+2c:[ ]+03e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+3\]
+[ ]+30:[ ]+04e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+4\]
+[ ]+34:[ ]+05e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+5\]
+[ ]+38:[ ]+08e1 @IM+7e0e@[ ]+(clear.b |move[ ]+[^,]+,)\[sp=sp\+8\]
+[ ]+3c:[ ]+08e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+8\],.*
+[ ]+40:[ ]+05e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+5\],.*
+[ ]+44:[ ]+04e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+4\],.*
+[ ]+48:[ ]+03e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+3\],.*
+[ ]+4c:[ ]+02e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+2\],.*
+[ ]+50:[ ]+01e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+1\],.*
+[ ]+54:[ ]+00e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+0\],.*
+[ ]+58:[ ]+ffe1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-1\],.*
+[ ]+5c:[ ]+fee1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-2\],.*
+[ ]+60:[ ]+fde1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-3\],.*
+[ ]+64:[ ]+fce1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-4\],.*
+[ ]+68:[ ]+fbe1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-5\],.*
+[ ]+6c:[ ]+f8e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-8\],.*
+[ ]+70:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+[ ]+74:[ ]+@IM+3e0e@[ ]+pop[ ]+[a-z].*
+[ ]+76:[ ]+@IM+3e0e@[ ]+pop[ ]+[a-z].*
+[ ]+78:[ ]+ffe1 @IM+7e0e@[ ]+push[ ]+[a-z].*
diff --git a/gas/testsuite/gas/cris/pushpop-dcr1-sreg.d b/gas/testsuite/gas/cris/pushpop-dcr1-sreg.d
new file mode 100644
index 0000000..1ed444e
--- /dev/null
+++ b/gas/testsuite/gas/cris/pushpop-dcr1-sreg.d
@@ -0,0 +1,15 @@
+#objdump: -rs
+#name: pushpop-word-sreg-dcr1-special
+
+.*: file format .*-cris
+
+Contents of section \.text:
+ 0000 fee17e7e fee17e7e fee17e7e f8e17e7e .*
+ 0010 fbe17e7e fce17e7e fde17e7e ffe17e7e .*
+ 0020 00e17e7e 01e17e7e 02e17e7e 03e17e7e .*
+ 0030 04e17e7e 05e17e7e 08e17e7e 08e13e7e .*
+ 0040 05e13e7e 04e13e7e 03e13e7e 02e13e7e .*
+ 0050 01e13e7e 00e13e7e ffe13e7e fee13e7e .*
+ 0060 fde13e7e fce13e7e fbe13e7e f8e13e7e .*
+ 0070 fee17e7e 3e7e3e7e fee17e7e .*
+Contents of section \.data:
diff --git a/gas/testsuite/gas/cris/pushpop-dword-sreg.d b/gas/testsuite/gas/cris/pushpop-dword-sreg.d
new file mode 100644
index 0000000..979832c
--- /dev/null
+++ b/gas/testsuite/gas/cris/pushpop-dword-sreg.d
@@ -0,0 +1,39 @@
+#objdump: -dr
+#name: pushpop-dword-sreg-@OR@
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+^[ ]+0:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+4:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+8:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+c:[ ]+f8e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp-8\]
+^[ ]+10:[ ]+fbe1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp-5\]
+^[ ]+14:[ ]+fde1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp-3\]
+^[ ]+18:[ ]+fee1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp-2\]
+^[ ]+1c:[ ]+ffe1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp-1\]
+^[ ]+20:[ ]+00e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+0\]
+^[ ]+24:[ ]+01e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+1\]
+^[ ]+28:[ ]+02e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+2\]
+^[ ]+2c:[ ]+03e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+3\]
+^[ ]+30:[ ]+04e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+4\]
+^[ ]+34:[ ]+05e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+5\]
+^[ ]+38:[ ]+08e1 @IM+7e0e@[ ]+(clear.d |move[ ]+[^,]+,)\[sp=sp\+8\]
+^[ ]+3c:[ ]+08e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+8\],.*
+^[ ]+40:[ ]+05e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+5\],.*
+^[ ]+44:[ ]+04e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+4\],.*
+^[ ]+48:[ ]+03e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+3\],.*
+^[ ]+4c:[ ]+02e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+2\],.*
+^[ ]+50:[ ]+01e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+1\],.*
+^[ ]+54:[ ]+00e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+0\],.*
+^[ ]+58:[ ]+ffe1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-1\],.*
+^[ ]+5c:[ ]+fee1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-2\],.*
+^[ ]+60:[ ]+fde1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-3\],.*
+^[ ]+64:[ ]+fce1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-4\],.*
+^[ ]+68:[ ]+fbe1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-5\],.*
+^[ ]+6c:[ ]+f8e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-8\],.*
+^[ ]+70:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+74:[ ]+@IM+3e0e@[ ]+pop[ ]+[a-z].*
+^[ ]+76:[ ]+@IM+3e0e@[ ]+pop[ ]+[a-z].*
+^[ ]+78:[ ]+fce1 @IM+7e0e@[ ]+push[ ]+[a-z].*
diff --git a/gas/testsuite/gas/cris/pushpop-word-sreg.d b/gas/testsuite/gas/cris/pushpop-word-sreg.d
new file mode 100644
index 0000000..7f8ac70
--- /dev/null
+++ b/gas/testsuite/gas/cris/pushpop-word-sreg.d
@@ -0,0 +1,39 @@
+#objdump: -dr
+#name: pushpop-word-sreg-@OR@
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+^[ ]+0:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+4:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+8:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+c:[ ]+f8e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp-8\]
+^[ ]+10:[ ]+fbe1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp-5\]
+^[ ]+14:[ ]+fce1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp-4\]
+^[ ]+18:[ ]+fde1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp-3\]
+^[ ]+1c:[ ]+ffe1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp-1\]
+^[ ]+20:[ ]+00e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+0\]
+^[ ]+24:[ ]+01e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+1\]
+^[ ]+28:[ ]+02e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+2\]
+^[ ]+2c:[ ]+03e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+3\]
+^[ ]+30:[ ]+04e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+4\]
+^[ ]+34:[ ]+05e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+5\]
+^[ ]+38:[ ]+08e1 @IM+7e0e@[ ]+(clear.w |move[ ]+[^,]+,)\[sp=sp\+8\]
+^[ ]+3c:[ ]+08e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+8\],.*
+^[ ]+40:[ ]+05e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+5\],.*
+^[ ]+44:[ ]+04e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+4\],.*
+^[ ]+48:[ ]+03e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+3\],.*
+^[ ]+4c:[ ]+02e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+2\],.*
+^[ ]+50:[ ]+01e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+1\],.*
+^[ ]+54:[ ]+00e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp\+0\],.*
+^[ ]+58:[ ]+ffe1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-1\],.*
+^[ ]+5c:[ ]+fee1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-2\],.*
+^[ ]+60:[ ]+fde1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-3\],.*
+^[ ]+64:[ ]+fce1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-4\],.*
+^[ ]+68:[ ]+fbe1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-5\],.*
+^[ ]+6c:[ ]+f8e1 @IM+3e0e@[ ]+move[ ]+\[sp=sp-8\],.*
+^[ ]+70:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].*
+^[ ]+74:[ ]+@IM+3e0e@[ ]+pop[ ]+[a-z].*
+^[ ]+76:[ ]+@IM+3e0e@[ ]+pop[ ]+[a-z].*
+^[ ]+78:[ ]+fee1 @IM+7e0e@[ ]+push[ ]+[a-z].*
diff --git a/gas/testsuite/gas/cris/pushpop.d b/gas/testsuite/gas/cris/pushpop.d
new file mode 100644
index 0000000..50904d1
--- /dev/null
+++ b/gas/testsuite/gas/cris/pushpop.d
@@ -0,0 +1,90 @@
+#objdump: -dr
+#name: pushpop
+
+.*:[ ]+file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+fce1 ee1f[ ]+push[ ]+r1
+[ ]+4:[ ]+fce1 ee0f[ ]+push[ ]+r0
+[ ]+8:[ ]+fce1 ee4f[ ]+push[ ]+r4
+[ ]+c:[ ]+f8e1 ce5f[ ]+move\.b r5,\[sp=sp-8\]
+[ ]+10:[ ]+f8e1 de5f[ ]+move\.w r5,\[sp=sp-8\]
+[ ]+14:[ ]+f8e1 ee5f[ ]+move\.d r5,\[sp=sp-8\]
+[ ]+18:[ ]+fbe1 ce5f[ ]+move\.b r5,\[sp=sp-5\]
+[ ]+1c:[ ]+fbe1 de5f[ ]+move\.w r5,\[sp=sp-5\]
+[ ]+20:[ ]+fbe1 ee5f[ ]+move\.d r5,\[sp=sp-5\]
+[ ]+24:[ ]+fce1 de5f[ ]+move\.w r5,\[sp=sp-4\]
+[ ]+28:[ ]+fce1 ce3f[ ]+move\.b r3,\[sp=sp-4\]
+[ ]+2c:[ ]+fde1 ee5f[ ]+move\.d r5,\[sp=sp-3\]
+[ ]+30:[ ]+fde1 debf[ ]+move\.w r11,\[sp=sp-3\]
+[ ]+34:[ ]+fde1 ce5f[ ]+move\.b r5,\[sp=sp-3\]
+[ ]+38:[ ]+fee1 ee5f[ ]+move\.d r5,\[sp=sp-2\]
+[ ]+3c:[ ]+fee1 ce5f[ ]+move\.b r5,\[sp=sp-2\]
+[ ]+40:[ ]+ffe1 ee5f[ ]+move\.d r5,\[sp=sp-1\]
+[ ]+44:[ ]+ffe1 de5f[ ]+move\.w r5,\[sp=sp-1\]
+[ ]+48:[ ]+00e1 ee5f[ ]+move\.d r5,\[sp=sp\+0\]
+[ ]+4c:[ ]+00e1 ce5f[ ]+move\.b r5,\[sp=sp\+0\]
+[ ]+50:[ ]+00e1 de5f[ ]+move\.w r5,\[sp=sp\+0\]
+[ ]+54:[ ]+01e1 ee5f[ ]+move\.d r5,\[sp=sp\+1\]
+[ ]+58:[ ]+01e1 de5f[ ]+move\.w r5,\[sp=sp\+1\]
+[ ]+5c:[ ]+01e1 ce5f[ ]+move\.b r5,\[sp=sp\+1\]
+[ ]+60:[ ]+02e1 ee5f[ ]+move\.d r5,\[sp=sp\+2\]
+[ ]+64:[ ]+02e1 de5f[ ]+move\.w r5,\[sp=sp\+2\]
+[ ]+68:[ ]+02e1 ce5f[ ]+move\.b r5,\[sp=sp\+2\]
+[ ]+6c:[ ]+03e1 ee5f[ ]+move\.d r5,\[sp=sp\+3\]
+[ ]+70:[ ]+03e1 de5f[ ]+move\.w r5,\[sp=sp\+3\]
+[ ]+74:[ ]+03e1 ce5f[ ]+move\.b r5,\[sp=sp\+3\]
+[ ]+78:[ ]+04e1 ee5f[ ]+move\.d r5,\[sp=sp\+4\]
+[ ]+7c:[ ]+04e1 de5f[ ]+move\.w r5,\[sp=sp\+4\]
+[ ]+80:[ ]+04e1 ce5f[ ]+move\.b r5,\[sp=sp\+4\]
+[ ]+84:[ ]+05e1 ee5f[ ]+move\.d r5,\[sp=sp\+5\]
+[ ]+88:[ ]+05e1 de5f[ ]+move\.w r5,\[sp=sp\+5\]
+[ ]+8c:[ ]+05e1 ce5f[ ]+move\.b r5,\[sp=sp\+5\]
+[ ]+90:[ ]+08e1 ee1f[ ]+move\.d r1,\[sp=sp\+8\]
+[ ]+94:[ ]+08e1 de9f[ ]+move\.w r9,\[sp=sp\+8\]
+[ ]+98:[ ]+08e1 cedf[ ]+move\.b r13,\[sp=sp\+8\]
+[ ]+9c:[ ]+08e1 4e5e[ ]+move\.b \[sp=sp\+8\],r5
+[ ]+a0:[ ]+08e1 5e5e[ ]+move\.w \[sp=sp\+8\],r5
+[ ]+a4:[ ]+08e1 6e5e[ ]+move\.d \[sp=sp\+8\],r5
+[ ]+a8:[ ]+05e1 4e5e[ ]+move\.b \[sp=sp\+5\],r5
+[ ]+ac:[ ]+05e1 5e5e[ ]+move\.w \[sp=sp\+5\],r5
+[ ]+b0:[ ]+05e1 6e5e[ ]+move\.d \[sp=sp\+5\],r5
+[ ]+b4:[ ]+04e1 6e5e[ ]+move\.d \[sp=sp\+4\],r5
+[ ]+b8:[ ]+04e1 5e5e[ ]+move\.w \[sp=sp\+4\],r5
+[ ]+bc:[ ]+04e1 4e3e[ ]+move\.b \[sp=sp\+4\],r3
+[ ]+c0:[ ]+03e1 6e5e[ ]+move\.d \[sp=sp\+3\],r5
+[ ]+c4:[ ]+03e1 5ebe[ ]+move\.w \[sp=sp\+3\],r11
+[ ]+c8:[ ]+03e1 4e5e[ ]+move\.b \[sp=sp\+3\],r5
+[ ]+cc:[ ]+02e1 6e5e[ ]+move\.d \[sp=sp\+2\],r5
+[ ]+d0:[ ]+02e1 5e5e[ ]+move\.w \[sp=sp\+2\],r5
+[ ]+d4:[ ]+02e1 4e5e[ ]+move\.b \[sp=sp\+2\],r5
+[ ]+d8:[ ]+01e1 6e5e[ ]+move\.d \[sp=sp\+1\],r5
+[ ]+dc:[ ]+01e1 5e5e[ ]+move\.w \[sp=sp\+1\],r5
+[ ]+e0:[ ]+01e1 4e5e[ ]+move\.b \[sp=sp\+1\],r5
+[ ]+e4:[ ]+00e1 6e5e[ ]+move\.d \[sp=sp\+0\],r5
+[ ]+e8:[ ]+00e1 5e5e[ ]+move\.w \[sp=sp\+0\],r5
+[ ]+ec:[ ]+00e1 4e5e[ ]+move\.b \[sp=sp\+0\],r5
+[ ]+f0:[ ]+ffe1 6e5e[ ]+move\.d \[sp=sp-1\],r5
+[ ]+f4:[ ]+ffe1 5e5e[ ]+move\.w \[sp=sp-1\],r5
+[ ]+f8:[ ]+ffe1 4e5e[ ]+move\.b \[sp=sp-1\],r5
+[ ]+fc:[ ]+fee1 6e5e[ ]+move\.d \[sp=sp-2\],r5
+[ ]+100:[ ]+fee1 5e5e[ ]+move\.w \[sp=sp-2\],r5
+[ ]+104:[ ]+fee1 4e5e[ ]+move\.b \[sp=sp-2\],r5
+[ ]+108:[ ]+fde1 6e5e[ ]+move\.d \[sp=sp-3\],r5
+[ ]+10c:[ ]+fde1 5e5e[ ]+move\.w \[sp=sp-3\],r5
+[ ]+110:[ ]+fde1 4e5e[ ]+move\.b \[sp=sp-3\],r5
+[ ]+114:[ ]+fce1 6e5e[ ]+move\.d \[sp=sp-4\],r5
+[ ]+118:[ ]+fce1 5e5e[ ]+move\.w \[sp=sp-4\],r5
+[ ]+11c:[ ]+fce1 4e5e[ ]+move\.b \[sp=sp-4\],r5
+[ ]+120:[ ]+fbe1 6e5e[ ]+move\.d \[sp=sp-5\],r5
+[ ]+124:[ ]+fbe1 5e5e[ ]+move\.w \[sp=sp-5\],r5
+[ ]+128:[ ]+fbe1 4e5e[ ]+move\.b \[sp=sp-5\],r5
+[ ]+12c:[ ]+f8e1 6e5e[ ]+move\.d \[sp=sp-8\],r5
+[ ]+130:[ ]+f8e1 5e5e[ ]+move\.w \[sp=sp-8\],r5
+[ ]+134:[ ]+f8e1 4e5e[ ]+move\.b \[sp=sp-8\],r5
+[ ]+138:[ ]+fce1 ee0f[ ]+push[ ]+r0
+[ ]+13c:[ ]+6e2e[ ]+pop[ ]+r2
+[ ]+13e:[ ]+6e3e[ ]+pop[ ]+r3
+[ ]+140:[ ]+fce1 eedf[ ]+push[ ]+r13
+
diff --git a/gas/testsuite/gas/cris/pushpop.s b/gas/testsuite/gas/cris/pushpop.s
new file mode 100644
index 0000000..f4d755c
--- /dev/null
+++ b/gas/testsuite/gas/cris/pushpop.s
@@ -0,0 +1,121 @@
+; Check the push and pop builtin "macros".
+ .text
+start:
+ push r1
+ push r0
+ push r4
+
+ ; Check that there is no recognition of invalid offsets.
+ move.b r5,[sp=sp-8]
+ move.w r5,[sp=sp-8]
+ move.d r5,[sp=sp-8]
+
+ move.b r5,[sp=sp-5]
+ move.w r5,[sp=sp-5]
+ move.d r5,[sp=sp-5]
+
+ move.w r5,[sp=sp-4]
+ move.b r3,[sp=sp-4]
+
+ move.d r5,[sp=sp-3]
+ move.w r11,[sp=sp-3]
+ move.b r5,[sp=sp-3]
+
+ move.d r5,[sp=sp-2]
+ move.b r5,[sp=sp-2]
+
+ move.d r5,[sp=sp-1]
+ move.w r5,[sp=sp-1]
+
+ move.d r5,[sp=sp+0]
+ move.b r5,[sp=sp+0]
+ move.w r5,[sp=sp+0]
+
+ move.d r5,[sp=sp+1]
+ move.w r5,[sp=sp+1]
+ move.b r5,[sp=sp+1]
+
+ move.d r5,[sp=sp+2]
+ move.w r5,[sp=sp+2]
+ move.b r5,[sp=sp+2]
+
+ move.d r5,[sp=sp+3]
+ move.w r5,[sp=sp+3]
+ move.b r5,[sp=sp+3]
+
+ move.d r5,[sp=sp+4]
+ move.w r5,[sp=sp+4]
+ move.b r5,[sp=sp+4]
+
+ move.d r5,[sp=sp+5]
+ move.w r5,[sp=sp+5]
+ move.b r5,[sp=sp+5]
+
+ move.d r1,[sp=sp+8]
+ move.w r9,[sp=sp+8]
+ move.b r13,[sp=sp+8]
+
+;
+; All these will have postincrement on the "real" instruction
+; (e.g. "move.d [sp+],r6") which is the actual insn recognized as
+; pop; it is *not* e.g. "move.d [sp=sp+4],r6".
+; Here we make sure that neither the combination nor the second
+; is interpreted as a pop.
+;
+ move.b [sp=sp+8],r5
+ move.w [sp=sp+8],r5
+ move.d [sp=sp+8],r5
+
+ move.b [sp=sp+5],r5
+ move.w [sp=sp+5],r5
+ move.d [sp=sp+5],r5
+
+ move.d [sp=sp+4],r5
+ move.w [sp=sp+4],r5
+ move.b [sp=sp+4],r3
+
+ move.d [sp=sp+3],r5
+ move.w [sp=sp+3],r11
+ move.b [sp=sp+3],r5
+
+ move.d [sp=sp+2],r5
+ move.w [sp=sp+2],r5
+ move.b [sp=sp+2],r5
+
+ move.d [sp=sp+1],r5
+ move.w [sp=sp+1],r5
+ move.b [sp=sp+1],r5
+
+ move.d [sp=sp-0],r5
+ move.w [sp=sp-0],r5
+ move.b [sp=sp-0],r5
+
+ move.d [sp=sp-1],r5
+ move.w [sp=sp-1],r5
+ move.b [sp=sp-1],r5
+
+ move.d [sp=sp-2],r5
+ move.w [sp=sp-2],r5
+ move.b [sp=sp-2],r5
+
+ move.d [sp=sp-3],r5
+ move.w [sp=sp-3],r5
+ move.b [sp=sp-3],r5
+
+ move.d [sp=sp-4],r5
+ move.w [sp=sp-4],r5
+ move.b [sp=sp-4],r5
+
+ move.d [sp=sp-5],r5
+ move.w [sp=sp-5],r5
+ move.b [sp=sp-5],r5
+
+ move.d [sp=sp-8],r5
+ move.w [sp=sp-8],r5
+ move.b [sp=sp-8],r5
+
+ push r0
+ pop r2
+ pop r3
+ push r13
+end:
diff --git a/gas/testsuite/gas/cris/quick-s6.d b/gas/testsuite/gas/cris/quick-s6.d
new file mode 100644
index 0000000..7fa2864
--- /dev/null
+++ b/gas/testsuite/gas/cris/quick-s6.d
@@ -0,0 +1,24 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+@IR+5632@[ ]+@OC@[ ]+22,r3
+[ ]+2:[ ]+@IR+4b52@[ ]+@OC@[ ]+11,r5
+[ ]+4:[ ]+@IR+40a2@[ ]+@OC@[ ]+0,r10
+[ ]+6:[ ]+@IR+5f52@[ ]+@OC@[ ]+31,r5
+[ ]+8:[ ]+@IR+4142@[ ]+@OC@[ ]+1,r4
+[ ]+a:[ ]+@IR+40b2@[ ]+@OC@[ ]+0,r11
+[ ]+c:[ ]+@IR+4ab2@[ ]+@OC@[ ]+10,r11
+[ ]+e:[ ]+@IR+40c2@[ ]+@OC@[ ]+0,r12
+00000010 <signed6>:
+[ ]+10:[ ]+@IR+6132@[ ]+@OC@[ ]+-31,r3
+[ ]+12:[ ]+@IR+6a32@[ ]+@OC@[ ]+-22,r3
+[ ]+14:[ ]+@IR+6232@[ ]+@OC@[ ]+-30,r3
+[ ]+16:[ ]+@IR+6372@[ ]+@OC@[ ]+-29,r7
+[ ]+18:[ ]+@IR+7fd2@[ ]+@OC@[ ]+-1,r13
+[ ]+1a:[ ]+@IR+7fc2@[ ]+@OC@[ ]+-1,r12
diff --git a/gas/testsuite/gas/cris/quick-u5.d b/gas/testsuite/gas/cris/quick-u5.d
new file mode 100644
index 0000000..e264931
--- /dev/null
+++ b/gas/testsuite/gas/cris/quick-u5.d
@@ -0,0 +1,17 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+@IR+9633@[ ]+@OC@[ ]+22,r3
+[ ]+2:[ ]+@IR+8b53@[ ]+@OC@[ ]+11,r5
+[ ]+4:[ ]+@IR+80a3@[ ]+@OC@[ ]+0,r10
+[ ]+6:[ ]+@IR+9f53@[ ]+@OC@[ ]+31,r5
+[ ]+8:[ ]+@IR+8143@[ ]+@OC@[ ]+1,r4
+[ ]+a:[ ]+@IR+80b3@[ ]+@OC@[ ]+0,r11
+[ ]+c:[ ]+@IR+8ab3@[ ]+@OC@[ ]+10,r11
+[ ]+e:[ ]+@IR+80c3@[ ]+@OC@[ ]+0,r12
diff --git a/gas/testsuite/gas/cris/quick-u6.d b/gas/testsuite/gas/cris/quick-u6.d
new file mode 100644
index 0000000..6dc6b02
--- /dev/null
+++ b/gas/testsuite/gas/cris/quick-u6.d
@@ -0,0 +1,26 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+@IR+1632@[ ]+@OC@[ ]+22,r3
+[ ]+2:[ ]+@IR+0b52@[ ]+@OC@[ ]+11,r5
+[ ]+4:[ ]+@IR+00a2@[ ]+@OC@[ ]+0,r10
+[ ]+6:[ ]+@IR+1f52@[ ]+@OC@[ ]+31,r5
+[ ]+8:[ ]+@IR+0142@[ ]+@OC@[ ]+1,r4
+[ ]+a:[ ]+@IR+00b2@[ ]+@OC@[ ]+0,r11
+[ ]+c:[ ]+@IR+0ab2@[ ]+@OC@[ ]+10,r11
+[ ]+e:[ ]+@IR+00c2@[ ]+@OC@[ ]+0,r12
+00000010 <unsigned6>:
+[ ]+10:[ ]+@IR+2c32@[ ]+@OC@[ ]+44,r3
+[ ]+12:[ ]+@IR+3952@[ ]+@OC@[ ]+57,r5
+[ ]+14:[ ]+@IR+00a2@[ ]+@OC@[ ]+0,r10
+[ ]+16:[ ]+@IR+3e52@[ ]+@OC@[ ]+62,r5
+[ ]+18:[ ]+@IR+3f42@[ ]+@OC@[ ]+63,r4
+[ ]+1a:[ ]+@IR+3e52@[ ]+@OC@[ ]+62,r5
+[ ]+1c:[ ]+@IR+3fb2@[ ]+@OC@[ ]+63,r11
+[ ]+1e:[ ]+@IR+20b2@[ ]+@OC@[ ]+32,r11
diff --git a/gas/testsuite/gas/cris/quick.s b/gas/testsuite/gas/cris/quick.s
new file mode 100644
index 0000000..7302980
--- /dev/null
+++ b/gas/testsuite/gas/cris/quick.s
@@ -0,0 +1,51 @@
+; @OC@ test
+; Template for generic "quick" operand checking.
+
+; To see that expressions with symbols are evaluated correctly.
+ .set twenty2, 22
+ .set mtwenty2, -22
+
+ .text
+start:
+
+;;;;;;;;;;;;;;;;;
+;
+; Unsigned 5 bits.
+
+ @OC@ twenty2,r3
+ @OC@ -twenty2+33,r5
+ @OC@ twenty2-22,r10
+ @OC@ 31,r5
+ @OC@ 1,r4
+ @OC@ 0,r11
+ @OC@ 32-twenty2,r11
+ @OC@ -0,r12
+
+unsigned6: ; u6
+;;;;;;;;;;;;;;;;;
+;
+; Unsigned 6 bits
+
+ @OC@ twenty2*2,r3 ; u6
+ @OC@ -twenty2+33*2+13,r5 ; u6
+ @OC@ twenty2-22,r10 ; u6
+ @OC@ 31*2,r5 ; u6
+ @OC@ twenty2*3-3,r4 ; u6
+ @OC@ twenty2*3-4,r5 ; u6
+ @OC@ 63,r11 ; u6
+ @OC@ 32,r11 ; u6
+
+signed6: ; s6
+;;;;;;;;;;;;;;;;;
+;
+; Signed 6 bits.
+; Only need to check negative operands here; the unsigned 5
+; bits cases above covers positive numbers.
+ @OC@ -31,r3 ; s6
+ @OC@ mtwenty2,r3 ; s6
+ @OC@ mtwenty2*2+14,r3 ; s6
+ @OC@ -64+35,r7 ; s6
+ @OC@ -1,r13 ; s6
+ @OC@ -twenty2+21,r12 ; s6
+end:
+
diff --git a/gas/testsuite/gas/cris/range-err-1.s b/gas/testsuite/gas/cris/range-err-1.s
new file mode 100644
index 0000000..366f308
--- /dev/null
+++ b/gas/testsuite/gas/cris/range-err-1.s
@@ -0,0 +1,68 @@
+; Test error cases for constant ranges.
+
+; { dg-do assemble { target cris-*-* } }
+
+ .set two701867, 2701867
+ .set mtwo701867, -2701867
+ .set const_int_32, 0x1b94452b
+ .set const_int_m32, -3513208907
+ .set three2767, 32767
+
+ .text
+start:
+ moveq 32,r0 ; { dg-error "Immediate value not in 6 bit range: 32" }
+ moveq 63,r0 ; { dg-error "Immediate value not in 6 bit range: 63" }
+ moveq 0x20,r0 ; { dg-error "Immediate value not in 6 bit range: 32" }
+ moveq 0x3f,r0 ; { dg-error "Immediate value not in 6 bit range: 63" }
+ moveq -33,r0 ; { dg-error "Immediate value not in 6 bit range: -33" }
+ addq 64,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: 64" }
+ addq -1,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: -1" }
+ subq 64,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: 64" }
+ subq -1,r0 ; { dg-error "Immediate value not in 6 bit unsigned range: -1" }
+ break 16 ; { dg-error "Immediate value not in 4 bit unsigned range: 16" }
+ movs.b 256,r0 ; { dg-error "Immediate value not in 8 bit range: 256" }
+ movs.b 255,r0 ; { dg-error "Immediate value not in 8 bit range: 255" "" { xfail *-*-* } }
+ movs.b -129,r0 ; { dg-error "Immediate value not in 8 bit range: -129" }
+ movs.b 128,r0 ; { dg-error "Immediate value not in 8 bit range: 128" "" { xfail *-*-* } }
+ movs.b -32769,r0 ; { dg-error "Immediate value not in (8|16) bit range: -32769" }
+ movs.b 0xffffffff,r0 ; { dg-error "Immediate value not in 8 bit range: 4294967295" "" { xfail *-*-* } }
+
+ movs.w 32768,r0 ; { dg-error "Immediate value not in 16 bit range: 32768" "" { xfail *-*-* } }
+ movs.w 0x8000,r0 ; { dg-error "Immediate value not in 16 bit range: 32768" "" { xfail *-*-* } }
+ movs.w 65535,r0 ; { dg-error "Immediate value not in 16 bit range: 65535" "" { xfail *-*-* } }
+ movs.w 0xffff,r0 ; { dg-error "Immediate value not in 16 bit range: 65535" "" { xfail *-*-* } }
+ movs.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" }
+ movs.w 65536,r0 ; { dg-error "Immediate value not in 16 bit range: 65536" }
+ movs.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" }
+ movs.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit range: 4294967295" "" { xfail *-*-* } }
+
+ movu.b 256,r0 ; { dg-error "Immediate value not in 8 bit range: 256" }
+ movu.b 0x100,r0 ; { dg-error "Immediate value not in 8 bit range: 256" }
+ movu.b -1,r0 ; { dg-error "Immediate value not in 8 bit unsigned range: -1" "" { xfail *-*-* } }
+ movu.b -127,r0 ; { dg-error "Immediate value not in 8 bit unsigned range: -127" "" { xfail *-*-* } }
+ movu.b -129,r0 ; { dg-error "Immediate value not in 8 bit range: -129" }
+ movu.b -128,r0 ; { dg-error "Immediate value not in 8 bit unsigned range: -128" "" { xfail *-*-* } }
+
+ movu.w 65536,r0 ; { dg-error "Immediate value not in 16 bit range: 65536" }
+ movu.w -32769,r0 ; { dg-error "Immediate value not in 16 bit range: -32769" }
+ movu.w -1,r0 ; { dg-error "Immediate value not in 16 bit unsigned range: -1" "" { xfail *-*-* } }
+ movu.w 0xffffffff,r0 ; { dg-error "Immediate value not in 16 bit unsigned range: 4294967295" "" { xfail *-*-* } }
+
+ add.b -129,r5 ; { dg-error "Immediate value not in 8 bit range: -129" }
+ add.b -255,r5 ; { dg-error "Immediate value not in 8 bit range: -255" }
+ add.b 256,r5 ; { dg-error "Immediate value not in 8 bit range: 256" }
+ add.b -8856,r5 ; { dg-error "Immediate value not in 8 bit range: -8856" }
+ add.b 8856,r5 ; { dg-error "Immediate value not in 8 bit range: 8856" }
+
+ add.w two701867,r13 ; { dg-error "Immediate value not in 16 bit range: 2701867" }
+ add.w mtwo701867,r13 ; { dg-error "Immediate value not in 16 bit range: -2701867" }
+
+ add.w 2781868,r13 ; { dg-error "Immediate value not in 16 bit range: 2781868" }
+ add.w -2701867,r13 ; { dg-error "Immediate value not in 16 bit range: -2701867" }
+
+ add.w 0x9ec0ceac,r13 ; { dg-error "Immediate value not in 16 bit range: -1631531348" }
+ add.w -0x7ec0cead,r13 ; { dg-error "Immediate value not in 16 bit range: -2126565037" }
+
+ add.w const_int_m32,r13 ; { dg-error "Immediate value not in 16 bit range: 781758389" }
+ add.w const_int_32,r13 ; { dg-error "Immediate value not in 16 bit range: 462701867" }
+ add.w -(three2767+2),r5 ; { dg-error "Immediate value not in 16 bit range: -32769" }
diff --git a/gas/testsuite/gas/cris/range-err-2.s b/gas/testsuite/gas/cris/range-err-2.s
new file mode 100644
index 0000000..1cd09bc
--- /dev/null
+++ b/gas/testsuite/gas/cris/range-err-2.s
@@ -0,0 +1,10 @@
+; Test error cases for constant ranges.
+
+; { dg-do assemble { target cris-*-* } }
+
+ .text
+start:
+ moveq external_symbol,r0 ; { dg-error "Semantics error" }
+ addq external_symbol,r0 ; { dg-error "Semantics error" }
+ break external_symbol ; { dg-error "Semantics error" }
+
diff --git a/gas/testsuite/gas/cris/reg-to-mem.d b/gas/testsuite/gas/cris/reg-to-mem.d
new file mode 100644
index 0000000..20ee534
--- /dev/null
+++ b/gas/testsuite/gas/cris/reg-to-mem.d
@@ -0,0 +1,165 @@
+#objdump: -dr
+#name: @OC@-to-mem
+
+# Test the @OC@ insn with memory as destination.
+
+.*:[ ]+file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IM+c5db@[ ]+@OC@[ ]+r13,\[r5\]
+[ ]+6:[ ]+@IM+ca1b@[ ]+@OC@[ ]+r1,\[r10\]
+[ ]+8:[ ]+@IM+c5df@[ ]+@OC@[ ]+r13,\[r5\+\]
+[ ]+a:[ ]+@IM+ca4f@[ ]+@OC@[ ]+r4,\[r10\+\]
+[ ]+c:[ ]+4255 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+r5.b\]
+[ ]+10:[ ]+42a5 @IM+c33b@[ ]+@OC@[ ]+r3,\[r2\+r10.b\]
+[ ]+14:[ ]+4529 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+\[r5\].b\]
+[ ]+18:[ ]+4a29 @IM+c22b@[ ]+@OC@[ ]+r2,\[r2\+\[r10\].b\]
+[ ]+1c:[ ]+452d @IM+c00b@[ ]+@OC@[ ]+r0,\[r2\+\[r5\+\].b\]
+[ ]+20:[ ]+4a2d @IM+cccb@[ ]+@OC@[ ]+r12,\[r2\+\[r10\+\].b\]
+[ ]+24:[ ]+5529 @IM+c22b@[ ]+@OC@[ ]+r2,\[r2\+\[r5\].w\]
+[ ]+28:[ ]+5a29 @IM+c66b@[ ]+@OC@[ ]+r6,\[r2\+\[r10\].w\]
+[ ]+2c:[ ]+552d @IM+c77b@[ ]+@OC@[ ]+r7,\[r2\+\[r5\+\].w\]
+[ ]+30:[ ]+5a2d @IM+c88b@[ ]+@OC@[ ]+r8,\[r2\+\[r10\+\].w\]
+[ ]+34:[ ]+6255 @IM+cccb@[ ]+@OC@[ ]+r12,\[r2\+r5.d\]
+[ ]+38:[ ]+62a5 @IM+c99b@[ ]+@OC@[ ]+r9,\[r2\+r10.d\]
+[ ]+3c:[ ]+6529 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+\[r5\].d\]
+[ ]+40:[ ]+6a29 @IM+c88b@[ ]+@OC@[ ]+r8,\[r2\+\[r10\].d\]
+[ ]+44:[ ]+652d @IM+c00b@[ ]+@OC@[ ]+r0,\[r2\+\[r5\+\].d\]
+[ ]+48:[ ]+6a2d @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+\[r10\+\].d\]
+[ ]+4c:[ ]+0021 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+0\]
+[ ]+50:[ ]+0121 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+1\]
+[ ]+54:[ ]+7f21 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+127\]
+[ ]+58:[ ]+5f2d 8000 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+128\]
+[ ]+5e:[ ]+ff21 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-1\]
+[ ]+62:[ ]+ff21 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-1\]
+[ ]+66:[ ]+8121 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-127\]
+[ ]+6a:[ ]+8021 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-128\]
+[ ]+6e:[ ]+8121 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-127\]
+[ ]+72:[ ]+8021 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-128\]
+[ ]+76:[ ]+5f2d ff00 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+255\]
+[ ]+7c:[ ]+5f2d 01ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-255\]
+[ ]+82:[ ]+5f2d 01ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-255\]
+[ ]+88:[ ]+5f2d 0001 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+256\]
+[ ]+8e:[ ]+5f2d 00ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-256\]
+[ ]+94:[ ]+5f2d 68dd @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-8856\]
+[ ]+9a:[ ]+5f2d 00ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-256\]
+[ ]+a0:[ ]+5f2d 68dd @IM+c11b@[ ]+@OC@[ ]+r1,\[r2-8856\]
+[ ]+a6:[ ]+5f2d 9822 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+8856\]
+[ ]+ac:[ ]+6f2d ac72 2a00 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+b4:[ ]+6f2d d5c5 d6ff @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+bc:[ ]+6f2d acce c09e @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+c4:[ ]+6f2d 5331 3f81 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+cc:[ ]+6f2d 5331 3f81 @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+d4:[ ]+6f2d b5af 982e @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+dc:[ ]+6f2d 2b45 941b @IM+c11b@[ ]+@OC@[ ]+r1,\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+e4:[ ]+2a21 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+42\]
+[ ]+e8:[ ]+d621 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-42\]
+[ ]+ec:[ ]+d621 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-42\]
+[ ]+f0:[ ]+2a21 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+42\]
+[ ]+f4:[ ]+d621 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-42\]
+[ ]+f8:[ ]+d621 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-42\]
+[ ]+fc:[ ]+2a21 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+42\]
+[ ]+100:[ ]+d621 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-42\]
+[ ]+104:[ ]+2a21 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+42\]
+[ ]+108:[ ]+5f2d ff7f @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+32767\]
+[ ]+10e:[ ]+6f2d 0080 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+116:[ ]+6f2d 0180 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+11e:[ ]+5f2d 0180 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-32767\]
+[ ]+124:[ ]+5f2d 0080 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2-32768\]
+[ ]+12a:[ ]+6f2d ff7f ffff @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+132:[ ]+5f2d 0180 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2-32767\]
+[ ]+138:[ ]+5f2d 0080 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2-32768\]
+[ ]+13e:[ ]+6f2d ff7f ffff @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+146:[ ]+6f2d ffff 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(65535|ffff <six5535>)\]
+[ ]+14e:[ ]+6f2d 0000 0100 @IM+cddb@[ ]+@OC@[ ]+r13,\[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+156:[ ]+6f2d 2b3a 2900 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(2701867|293a2b <two701867>)\]
+[ ]+15e:[ ]+6f2d d5c5 d6ff @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+166:[ ]+6f2d d5c5 d6ff @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+16e:[ ]+6f2d 0000 0000 @IM+c55b@[ ]+@OC@[ ]+r5,\[r2\+(0|0 <notstart>)?\]
+[ ]+170:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+176:[ ]+4255 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+r5.b\]
+[ ]+17a:[ ]+42a5 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+r10.b\]
+[ ]+17e:[ ]+4529 @IM+cc4f@[ ]+@OC@[ ]+r4,\[r12=r2\+\[r5\].b\]
+[ ]+182:[ ]+4a29 @IM+cc6f@[ ]+@OC@[ ]+r6,\[r12=r2\+\[r10\].b\]
+[ ]+186:[ ]+452d @IM+cc3f@[ ]+@OC@[ ]+r3,\[r12=r2\+\[r5\+\].b\]
+[ ]+18a:[ ]+4a2d @IM+cc2f@[ ]+@OC@[ ]+r2,\[r12=r2\+\[r10\+\].b\]
+[ ]+18e:[ ]+5255 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+r5.w\]
+[ ]+192:[ ]+52a5 @IM+cc8f@[ ]+@OC@[ ]+r8,\[r12=r2\+r10.w\]
+[ ]+196:[ ]+5529 @IM+cc4f@[ ]+@OC@[ ]+r4,\[r12=r2\+\[r5\].w\]
+[ ]+19a:[ ]+5a29 @IM+cc3f@[ ]+@OC@[ ]+r3,\[r12=r2\+\[r10\].w\]
+[ ]+19e:[ ]+552d @IM+cc2f@[ ]+@OC@[ ]+r2,\[r12=r2\+\[r5\+\].w\]
+[ ]+1a2:[ ]+5a2d @IM+cc7f@[ ]+@OC@[ ]+r7,\[r12=r2\+\[r10\+\].w\]
+[ ]+1a6:[ ]+6255 @IM+cc4f@[ ]+@OC@[ ]+r4,\[r12=r2\+r5.d\]
+[ ]+1aa:[ ]+62a5 @IM+cc8f@[ ]+@OC@[ ]+r8,\[r12=r2\+r10.d\]
+[ ]+1ae:[ ]+6529 @IM+cc2f@[ ]+@OC@[ ]+r2,\[r12=r2\+\[r5\].d\]
+[ ]+1b2:[ ]+6a29 @IM+cc0f@[ ]+@OC@[ ]+r0,\[r12=r2\+\[r10\].d\]
+[ ]+1b6:[ ]+652d @IM+cc3f@[ ]+@OC@[ ]+r3,\[r12=r2\+\[r5\+\].d\]
+[ ]+1ba:[ ]+6a2d @IM+cc2f@[ ]+@OC@[ ]+r2,\[r12=r2\+\[r10\+\].d\]
+[ ]+1be:[ ]+0021 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+0\]
+[ ]+1c2:[ ]+0121 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+1\]
+[ ]+1c6:[ ]+7f21 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+127\]
+[ ]+1ca:[ ]+5f2d 8000 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+128\]
+[ ]+1d0:[ ]+ff21 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-1\]
+[ ]+1d4:[ ]+ff21 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-1\]
+[ ]+1d8:[ ]+8121 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-127\]
+[ ]+1dc:[ ]+8021 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-128\]
+[ ]+1e0:[ ]+8121 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-127\]
+[ ]+1e4:[ ]+8021 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-128\]
+[ ]+1e8:[ ]+5f2d ff00 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+255\]
+[ ]+1ee:[ ]+5f2d 01ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-255\]
+[ ]+1f4:[ ]+5f2d 01ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-255\]
+[ ]+1fa:[ ]+5f2d 0001 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+256\]
+[ ]+200:[ ]+5f2d 00ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-256\]
+[ ]+206:[ ]+5f2d 68dd @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-8856\]
+[ ]+20c:[ ]+5f2d 00ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-256\]
+[ ]+212:[ ]+5f2d 68dd @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2-8856\]
+[ ]+218:[ ]+5f2d 9822 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+8856\]
+[ ]+21e:[ ]+6f2d ac72 2a00 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+226:[ ]+6f2d d5c5 d6ff @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+22e:[ ]+6f2d acce c09e @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+236:[ ]+6f2d 5331 3f81 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+23e:[ ]+6f2d 5331 3f81 @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+246:[ ]+6f2d b5af 982e @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+24e:[ ]+6f2d 2b45 941b @IM+cc1f@[ ]+@OC@[ ]+r1,\[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+256:[ ]+2a21 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+42\]
+[ ]+25a:[ ]+d621 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-42\]
+[ ]+25e:[ ]+d621 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-42\]
+[ ]+262:[ ]+2a21 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+42\]
+[ ]+266:[ ]+d621 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-42\]
+[ ]+26a:[ ]+d621 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-42\]
+[ ]+26e:[ ]+2a21 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+42\]
+[ ]+272:[ ]+d621 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-42\]
+[ ]+276:[ ]+2a21 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+42\]
+[ ]+27a:[ ]+5f2d ff7f @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+32767\]
+[ ]+280:[ ]+6f2d 0080 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+288:[ ]+6f2d 0180 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+290:[ ]+5f2d 0180 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-32767\]
+[ ]+296:[ ]+5f2d 0080 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2-32768\]
+[ ]+29c:[ ]+6f2d ff7f ffff @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+2a4:[ ]+5f2d 0180 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2-32767\]
+[ ]+2aa:[ ]+5f2d 0080 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2-32768\]
+[ ]+2b0:[ ]+6f2d ff7f ffff @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+2b8:[ ]+6f2d ffff 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+2c0:[ ]+6f2d 0000 0100 @IM+ccdf@[ ]+@OC@[ ]+r13,\[r12=r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+2c8:[ ]+6f2d 2b3a 2900 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(2701867|293a2b <two701867>)\]
+[ ]+2d0:[ ]+6f2d d5c5 d6ff @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2d8:[ ]+6f2d d5c5 d6ff @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2e0:[ ]+6f2d 0000 0000 @IM+cc5f@[ ]+@OC@[ ]+r5,\[r12=r2\+0( <notstart>)?\]
+[ ]+2e2:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2e8:[ ]+7209 @IM+c44b@[ ]+@OC@[ ]+r4,\[\[r2\]\]
+[ ]+2ec:[ ]+7309 @IM+c77b@[ ]+@OC@[ ]+r7,\[\[r3\]\]
+[ ]+2f0:[ ]+730d @IM+c55b@[ ]+@OC@[ ]+r5,\[\[r3\+\]\]
+[ ]+2f4:[ ]+710d @IM+c66b@[ ]+@OC@[ ]+r6,\[\[r1\+\]\]
+[ ]+2f8:[ ]+7f0d 0000 0000 @IM+c44b@[ ]+@OC@[ ]+r4,\[(0x0|0 <notstart>)?\]
+[ ]+2fa:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+300:[ ]+7f0d 0000 0000 @IM+c77b@[ ]+@OC@[ ]+r7,\[(0x0|0 <notstart>)?\]
+[ ]+302:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+308:[ ]+7f0d 0000 0000 @IM+c33b@[ ]+@OC@[ ]+r3,\[(0x0|0 <notstart>)?\]
+[ ]+30a:[ ]+(R_CRIS_)?32[ ]+.text
+[ ]+310:[ ]+7f0d 0000 0000 @IM+c77b@[ ]+@OC@[ ]+r7,\[(0x0|0 <notstart>)?\]
+[ ]+312:[ ]+(R_CRIS_)?32[ ]+.text
diff --git a/gas/testsuite/gas/cris/regreg.d b/gas/testsuite/gas/cris/regreg.d
new file mode 100644
index 0000000..ae83046
--- /dev/null
+++ b/gas/testsuite/gas/cris/regreg.d
@@ -0,0 +1,15 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+@IR+4134@[ ]+@OC@[ ]+r1,r3
+[ ]+2:[ ]+@IR+4004@[ ]+@OC@[ ]+r0,r0
+[ ]+4:[ ]+@IR+40d4@[ ]+@OC@[ ]+r0,r13
+[ ]+6:[ ]+@IR+4504@[ ]+@OC@[ ]+r5,r0
+[ ]+8:[ ]+@IR+4dd4@[ ]+@OC@[ ]+r13,r13
+[ ]+a:[ ]+@IR+4934@[ ]+@OC@[ ]+r9,r3
diff --git a/gas/testsuite/gas/cris/regreg.s b/gas/testsuite/gas/cris/regreg.s
new file mode 100644
index 0000000..ea3ad18
--- /dev/null
+++ b/gas/testsuite/gas/cris/regreg.s
@@ -0,0 +1,17 @@
+; @OC@ test
+; Template for testing register-to-register instructions.
+
+; Note that sizes have to be tested by iterating over them; they
+; are not included here in order to cover fixed-size instructions
+; too. This may seem wasteful of machine time, but then that time
+; is less expensive than any other time and still falling in cost.
+
+ .text
+start:
+ @OC@ r1,r3
+ @OC@ r0,r0
+ @OC@ r0,r13
+ @OC@ r5,r0
+ @OC@ r13,r13
+ @OC@ r9,r3
+end:
diff --git a/gas/testsuite/gas/cris/return.d b/gas/testsuite/gas/cris/return.d
new file mode 100644
index 0000000..44c8155
--- /dev/null
+++ b/gas/testsuite/gas/cris/return.d
@@ -0,0 +1,13 @@
+#objdump: -dr
+#name: return
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+7fb6[ ]+ret[ ]*
+[ ]+2:[ ]+0f05[ ]+nop[ ]*
+[ ]+4:[ ]+7fa6[ ]+reti[ ]*
+[ ]+6:[ ]+0f05[ ]+nop[ ]*
+[ ]+8:[ ]+7fe6[ ]+retb[ ]*
+[ ]+a:[ ]+0f05[ ]+nop[ ]*
diff --git a/gas/testsuite/gas/cris/return.s b/gas/testsuite/gas/cris/return.s
new file mode 100644
index 0000000..fbc73b6
--- /dev/null
+++ b/gas/testsuite/gas/cris/return.s
@@ -0,0 +1,11 @@
+; Return-type insns. Keep a nop after them, in case a sane
+; warning is added to the assembler.
+ .text
+start:
+ ret
+ nop
+ reti
+ nop
+ retb
+ nop
+end:
diff --git a/gas/testsuite/gas/cris/scc.d b/gas/testsuite/gas/cris/scc.d
new file mode 100644
index 0000000..04dfaed
--- /dev/null
+++ b/gas/testsuite/gas/cris/scc.d
@@ -0,0 +1,28 @@
+#objdump: -dr
+#name: sCC
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+3105[ ]+scc[ ]+r1
+[ ]+2:[ ]+3005[ ]+scc[ ]+r0
+[ ]+4:[ ]+3515[ ]+scs[ ]+r5
+[ ]+6:[ ]+3d15[ ]+scs[ ]+r13
+[ ]+8:[ ]+3725[ ]+sne[ ]+r7
+[ ]+a:[ ]+3935[ ]+seq[ ]+r9
+[ ]+c:[ ]+3a45[ ]+svc[ ]+r10
+[ ]+e:[ ]+3b55[ ]+svs[ ]+r11
+[ ]+10:[ ]+3365[ ]+spl[ ]+r3
+[ ]+12:[ ]+3475[ ]+smi[ ]+r4
+[ ]+14:[ ]+3885[ ]+sls[ ]+r8
+[ ]+16:[ ]+3c95[ ]+shi[ ]+r12
+[ ]+18:[ ]+32a5[ ]+sge[ ]+r2
+[ ]+1a:[ ]+34b5[ ]+slt[ ]+r4
+[ ]+1c:[ ]+3cc5[ ]+sgt[ ]+r12
+[ ]+1e:[ ]+38d5[ ]+sle[ ]+r8
+[ ]+20:[ ]+31e5[ ]+sa[ ]+r1
+[ ]+22:[ ]+3bf5[ ]+swf[ ]+r11
+[ ]+24:[ ]+38f5[ ]+swf[ ]+r8
+00000026 <end>:
+[ ]+\.\.\.
diff --git a/gas/testsuite/gas/cris/scc.s b/gas/testsuite/gas/cris/scc.s
new file mode 100644
index 0000000..43b050d
--- /dev/null
+++ b/gas/testsuite/gas/cris/scc.s
@@ -0,0 +1,25 @@
+; sCC
+
+ .text
+start:
+ scc r1
+ shs r0 ; same as scc
+ scs r5
+ slo r13 ; same as scs
+ sne r7
+ seq r9
+ svc r10
+ svs r11
+ spl r3
+ smi r4
+ sls r8
+ shi r12
+ sge r2
+ slt r4
+ sgt r12
+ sle r8
+ sa r1
+ sext r11
+ swf r8
+; Add new condition names here, not above.
+end:
diff --git a/gas/testsuite/gas/cris/sep-err-1.s b/gas/testsuite/gas/cris/sep-err-1.s
new file mode 100644
index 0000000..678446f
--- /dev/null
+++ b/gas/testsuite/gas/cris/sep-err-1.s
@@ -0,0 +1,6 @@
+; Test error cases for separators.
+; { dg-do assemble { target cris-*-* } }
+ .text
+start:
+ nop|moveq 0,r10 ; { dg-error "Unknown opcode" }
+
diff --git a/gas/testsuite/gas/cris/sep-err-2.s b/gas/testsuite/gas/cris/sep-err-2.s
new file mode 100644
index 0000000..3fda8e6
--- /dev/null
+++ b/gas/testsuite/gas/cris/sep-err-2.s
@@ -0,0 +1,5 @@
+; Test error cases for separators.
+; { dg-do assemble { target cris-*-* } }
+ .text
+start:
+ moveq 0,r2|nop ; { dg-error "(Illegal|Invalid) operands" }
diff --git a/gas/testsuite/gas/cris/sep-err-3.s b/gas/testsuite/gas/cris/sep-err-3.s
new file mode 100644
index 0000000..09e2bc2
--- /dev/null
+++ b/gas/testsuite/gas/cris/sep-err-3.s
@@ -0,0 +1,5 @@
+; Test error cases for separators.
+; { dg-do assemble { target cris-*-* } }
+ .text
+start:
+ moveq 0,r2#nop ; { dg-error "(Illegal|Invalid) operands" }
diff --git a/gas/testsuite/gas/cris/separator.d b/gas/testsuite/gas/cris/separator.d
new file mode 100644
index 0000000..67368bb
--- /dev/null
+++ b/gas/testsuite/gas/cris/separator.d
@@ -0,0 +1,8 @@
+#objdump: -dr
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+0f05[ ]+nop[ ]*
+[ ]+2:[ ]+0f05[ ]+nop[ ]*
diff --git a/gas/testsuite/gas/cris/separator.s b/gas/testsuite/gas/cris/separator.s
new file mode 100644
index 0000000..389ade9
--- /dev/null
+++ b/gas/testsuite/gas/cris/separator.s
@@ -0,0 +1,16 @@
+; Testing separators. This file should only have nops. See
+; seperror for constructs that are syntax errors.
+;
+ .text
+start:
+; Note that the next line is a syntax error. Should it be?
+; nop # moveq 0,r10 -- a comment, not command separator
+; The next line is *not* a syntax error. Should it?
+ nop; moveq 1,r10
+; The next line is a syntax error. Maybe it shouldn't.
+; nop # moveq 2,r10 -- a comment, not command separator
+ nop ; moveq 3,r10
+; moveq 4,r10
+# moveq 5,r10
+# 123 456 ; not a syntax error, not a line directive.
+end:
diff --git a/gas/testsuite/gas/cris/shexpr-1.d b/gas/testsuite/gas/cris/shexpr-1.d
new file mode 100644
index 0000000..70a3944
--- /dev/null
+++ b/gas/testsuite/gas/cris/shexpr-1.d
@@ -0,0 +1,8 @@
+#objdump: -dr
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+6f6e 286f ff0b[ ]+move\.d 0x0bff6f28,r6
+[ ]+6:[ ]+0f05[ ]+nop
diff --git a/gas/testsuite/gas/cris/shexpr-1.s b/gas/testsuite/gas/cris/shexpr-1.s
new file mode 100644
index 0000000..0a78917
--- /dev/null
+++ b/gas/testsuite/gas/cris/shexpr-1.s
@@ -0,0 +1,5 @@
+; This expression had a bit moved.
+ .text
+start:
+ move.d ((0x17<<23)+((0xfede4194/8192)<<4)+8),r6
+ nop
diff --git a/gas/testsuite/gas/cris/sreg-to-x.d b/gas/testsuite/gas/cris/sreg-to-x.d
new file mode 100644
index 0000000..f03c6b1
--- /dev/null
+++ b/gas/testsuite/gas/cris/sreg-to-x.d
@@ -0,0 +1,216 @@
+#objdump: -dr
+#name: sreg-@OR@-to-x
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2)
+^[ ]+\.\.\.
+00000004 <start>:
+^[ ]+4:[ ]+@IR+7706@[ ]+[^ ]+[ ]+([^,]+,)?r7
+^[ ]+6:[ ]+@IR+7606@[ ]+[^ ]+[ ]+([^,]+,)?r6
+^[ ]+8:[ ]+@IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r0\]
+^[ ]+a:[ ]+@IM+730a@[ ]+[^ ]+[ ]+([^,]+,)?\[r3\]
+^[ ]+c:[ ]+@IM+740e@[ ]+[^ ]+[ ]+([^,]+,)?\[r4\+\]
+^[ ]+e:[ ]+@IM+710e@[ ]+[^ ]+[ ]+([^,]+,)?\[r1\+\]
+^[ ]+10:[ ]+4bd5 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r11\+r13.b\]
+^[ ]+14:[ ]+42a5 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+r10.b\]
+^[ ]+18:[ ]+45c9 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r12\+\[r5\].b\]
+^[ ]+1c:[ ]+4ad9 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r13\+\[r10\].b\]
+^[ ]+20:[ ]+4d2d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+\[r13\+\].b\]
+^[ ]+24:[ ]+40cd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r12\+\[r0\+\].b\]
+^[ ]+28:[ ]+55b5 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r5\+r11.w\]
+^[ ]+2c:[ ]+5115 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r1\+r1.w\]
+^[ ]+30:[ ]+5009 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r0\+\[r0\].w\]
+^[ ]+34:[ ]+5729 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+\[r7\].w\]
+^[ ]+38:[ ]+532d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+\[r3\+\].w\]
+^[ ]+3c:[ ]+587d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r7\+\[r8\+\].w\]
+^[ ]+40:[ ]+6255 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+r5.d\]
+^[ ]+44:[ ]+63a5 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r3\+r10.d\]
+^[ ]+48:[ ]+6259 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r5\+\[r2\].d\]
+^[ ]+4c:[ ]+6ac9 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r12\+\[r10\].d\]
+^[ ]+50:[ ]+651d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r1\+\[r5\+\].d\]
+^[ ]+54:[ ]+6a2d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+\[r10\+\].d\]
+^[ ]+58:[ ]+0021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0\]
+^[ ]+5c:[ ]+0121 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+1\]
+^[ ]+60:[ ]+7f21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+127\]
+^[ ]+64:[ ]+5f2d 8000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+128\]
+^[ ]+6a:[ ]+ff21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-1\]
+^[ ]+6e:[ ]+ff21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-1\]
+^[ ]+72:[ ]+8121 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-127\]
+^[ ]+76:[ ]+8021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-128\]
+^[ ]+7a:[ ]+8121 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-127\]
+^[ ]+7e:[ ]+8021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-128\]
+^[ ]+82:[ ]+5f2d ff00 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+255\]
+^[ ]+88:[ ]+5f2d 01ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-255\]
+^[ ]+8e:[ ]+5f2d 01ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-255\]
+^[ ]+94:[ ]+5f2d 0001 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+256\]
+^[ ]+9a:[ ]+5f2d 00ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-256\]
+^[ ]+a0:[ ]+5f2d 68dd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-8856\]
+^[ ]+a6:[ ]+5f2d 00ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-256\]
+^[ ]+ac:[ ]+5f2d 68dd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-8856\]
+^[ ]+b2:[ ]+5f2d 9822 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+8856\]
+^[ ]+b8:[ ]+6f2d ac72 2a00 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+^[ ]+c0:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+c8:[ ]+6f2d acce c09e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+^[ ]+d0:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+^[ ]+d8:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+^[ ]+e0:[ ]+6f2d b5af 982e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+^[ ]+e8:[ ]+6f2d 2b45 941b @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+^[ ]+f0:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+f4:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+f8:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+fc:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+100:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+104:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+108:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+10c:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+110:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+114:[ ]+5f2d ff7f @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+32767\]
+^[ ]+11a:[ ]+6f2d 0080 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(32768|8000 <three2767\+0x1>)\]
+^[ ]+122:[ ]+6f2d 0180 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(32769|8001 <three2767\+0x2>)\]
+^[ ]+12a:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\]
+^[ ]+130:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\]
+^[ ]+136:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+^[ ]+13e:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\]
+^[ ]+144:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\]
+^[ ]+14a:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+^[ ]+152:[ ]+6f2d ffff 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65535|ffff <six5535>)\]
+^[ ]+15a:[ ]+6f2d 0000 0100 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65536|10000 <six5535\+0x1>)\]
+^[ ]+162:[ ]+6f2d 2b3a 2900 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2701867|293a2b <two701867>)\]
+^[ ]+16a:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+172:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+17a:[ ]+6f2d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0( <notstart>)?\]
+[ ]+17c:[ ]+(R_CRIS_)?32[ ]+externalsym
+^[ ]+182:[ ]+0021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0\]
+^[ ]+186:[ ]+0121 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+1\]
+^[ ]+18a:[ ]+7f21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+127\]
+^[ ]+18e:[ ]+5f2d 8000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+128\]
+^[ ]+194:[ ]+ff21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-1\]
+^[ ]+198:[ ]+ff21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-1\]
+^[ ]+19c:[ ]+8121 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-127\]
+^[ ]+1a0:[ ]+8021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-128\]
+^[ ]+1a4:[ ]+8121 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-127\]
+^[ ]+1a8:[ ]+8021 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-128\]
+^[ ]+1ac:[ ]+5f2d ff00 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+255\]
+^[ ]+1b2:[ ]+5f2d 01ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-255\]
+^[ ]+1b8:[ ]+5f2d 01ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-255\]
+^[ ]+1be:[ ]+5f2d 0001 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+256\]
+^[ ]+1c4:[ ]+5f2d 00ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-256\]
+^[ ]+1ca:[ ]+5f2d 68dd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-8856\]
+^[ ]+1d0:[ ]+5f2d 00ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-256\]
+^[ ]+1d6:[ ]+5f2d 68dd @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-8856\]
+^[ ]+1dc:[ ]+5f2d 9822 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+8856\]
+^[ ]+1e2:[ ]+6f2d ac72 2a00 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+^[ ]+1ea:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+1f2:[ ]+6f2d acce c09e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+^[ ]+1fa:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+^[ ]+202:[ ]+6f2d 5331 3f81 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+^[ ]+20a:[ ]+6f2d b5af 982e @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+^[ ]+212:[ ]+6f2d 2b45 941b @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+^[ ]+21a:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+21e:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+222:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+226:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+22a:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+22e:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+232:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+236:[ ]+d621 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-42\]
+^[ ]+23a:[ ]+2a21 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+42\]
+^[ ]+23e:[ ]+5f2d ff7f @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+32767\]
+^[ ]+244:[ ]+6f2d 0080 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(32768|8000 <three2767\+0x1>)\]
+^[ ]+24c:[ ]+6f2d 0180 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(32769|8001 <three2767\+0x2>)\]
+^[ ]+254:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\]
+^[ ]+25a:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\]
+^[ ]+260:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+^[ ]+268:[ ]+5f2d 0180 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32767\]
+^[ ]+26e:[ ]+5f2d 0080 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2-32768\]
+^[ ]+274:[ ]+6f2d ff7f ffff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+^[ ]+27c:[ ]+6f2d ffff 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65535|ffff <six5535>)\]
+^[ ]+284:[ ]+6f2d 0000 0100 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(65536|10000 <six5535\+0x1>)\]
+^[ ]+28c:[ ]+6f2d 2b3a 2900 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(2701867|293a2b <two701867>)\]
+^[ ]+294:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+29c:[ ]+6f2d d5c5 d6ff @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+2a4:[ ]+6f2d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[r2\+0( <notstart>)?\]
+[ ]+2a6:[ ]+(R_CRIS_)?32[ ]+externalsym
+^[ ]+2ac:[ ]+4235 @IM+710e@[ ]+[^ ]+[ ]+([^,]+,)?\[r1=r2\+r3.b\]
+^[ ]+2b0:[ ]+42a5 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+r10.b\]
+^[ ]+2b4:[ ]+4529 @IM+700e@[ ]+[^ ]+[ ]+([^,]+,)?\[r0=r2\+\[r5\].b\]
+^[ ]+2b8:[ ]+4a29 @IM+730e@[ ]+[^ ]+[ ]+([^,]+,)?\[r3=r2\+\[r10\].b\]
+^[ ]+2bc:[ ]+442d @IM+750e@[ ]+[^ ]+[ ]+([^,]+,)?\[r5=r2\+\[r4\+\].b\]
+^[ ]+2c0:[ ]+474d @IM+720e@[ ]+[^ ]+[ ]+([^,]+,)?\[r2=r4\+\[r7\+\].b\]
+^[ ]+2c4:[ ]+5c55 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r12\+r5.w\]
+^[ ]+2c8:[ ]+53a5 @IM+710e@[ ]+[^ ]+[ ]+([^,]+,)?\[r1=r3\+r10.w\]
+^[ ]+2cc:[ ]+5529 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+\[r5\].w\]
+^[ ]+2d0:[ ]+5a79 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r7\+\[r10\].w\]
+^[ ]+2d4:[ ]+576d @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r6\+\[r7\+\].w\]
+^[ ]+2d8:[ ]+513d @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r3\+\[r1\+\].w\]
+^[ ]+2dc:[ ]+6255 @IM+740e@[ ]+[^ ]+[ ]+([^,]+,)?\[r4=r2\+r5.d\]
+^[ ]+2e0:[ ]+62a5 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+r10.d\]
+^[ ]+2e4:[ ]+6539 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r3\+\[r5\].d\]
+^[ ]+2e8:[ ]+6a49 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r4\+\[r10\].d\]
+^[ ]+2ec:[ ]+658d @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r8\+\[r5\+\].d\]
+^[ ]+2f0:[ ]+6a9d @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r9\+\[r10\+\].d\]
+^[ ]+2f4:[ ]+0021 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+0\]
+^[ ]+2f8:[ ]+0121 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+1\]
+^[ ]+2fc:[ ]+7f21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+127\]
+^[ ]+300:[ ]+5f2d 8000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+128\]
+^[ ]+306:[ ]+ff21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-1\]
+^[ ]+30a:[ ]+ff21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-1\]
+^[ ]+30e:[ ]+8121 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-127\]
+^[ ]+312:[ ]+8021 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-128\]
+^[ ]+316:[ ]+8121 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-127\]
+^[ ]+31a:[ ]+8021 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-128\]
+^[ ]+31e:[ ]+5f2d ff00 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+255\]
+^[ ]+324:[ ]+5f2d 01ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-255\]
+^[ ]+32a:[ ]+5f2d 01ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-255\]
+^[ ]+330:[ ]+5f2d 0001 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+256\]
+^[ ]+336:[ ]+5f2d 00ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-256\]
+^[ ]+33c:[ ]+5f2d 68dd @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-8856\]
+^[ ]+342:[ ]+5f2d 00ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-256\]
+^[ ]+348:[ ]+5f2d 68dd @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-8856\]
+^[ ]+34e:[ ]+5f2d 9822 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+8856\]
+^[ ]+354:[ ]+6f2d ac72 2a00 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+^[ ]+35c:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+364:[ ]+6f2d acce c09e @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+^[ ]+36c:[ ]+6f2d 5331 3f81 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+^[ ]+374:[ ]+6f2d 5331 3f81 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+^[ ]+37c:[ ]+6f2d b5af 982e @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+^[ ]+384:[ ]+6f2d 2b45 941b @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+^[ ]+38c:[ ]+2a21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+42\]
+^[ ]+390:[ ]+d621 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-42\]
+^[ ]+394:[ ]+d621 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-42\]
+^[ ]+398:[ ]+2a21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+42\]
+^[ ]+39c:[ ]+d621 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-42\]
+^[ ]+3a0:[ ]+d621 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-42\]
+^[ ]+3a4:[ ]+2a21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+42\]
+^[ ]+3a8:[ ]+d621 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-42\]
+^[ ]+3ac:[ ]+2a21 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+42\]
+^[ ]+3b0:[ ]+5f2d ff7f @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+32767\]
+^[ ]+3b6:[ ]+6f2d 0080 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+^[ ]+3be:[ ]+6f2d 0180 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+^[ ]+3c6:[ ]+5f2d 0180 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32767\]
+^[ ]+3cc:[ ]+5f2d 0080 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32768\]
+^[ ]+3d2:[ ]+6f2d ff7f ffff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+^[ ]+3da:[ ]+5f2d 0180 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32767\]
+^[ ]+3e0:[ ]+5f2d 0080 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2-32768\]
+^[ ]+3e6:[ ]+6f2d ff7f ffff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+^[ ]+3ee:[ ]+6f2d ffff 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(65535|ffff <six5535>)\]
+^[ ]+3f6:[ ]+6f2d 0000 0100 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(65536|10000 <six5535\+0x1>)\]
+^[ ]+3fe:[ ]+6f2d 2b3a 2900 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(2701867|293a2b <two701867>)\]
+^[ ]+406:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+40e:[ ]+6f2d d5c5 d6ff @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+^[ ]+416:[ ]+6f2d 0000 0000 @IM+7c0e@[ ]+[^ ]+[ ]+([^,]+,)?\[r12=r2\+0( <notstart>)?\]
+[ ]+418:[ ]+(R_CRIS_)?32[ ]+externalsym
+^[ ]+41e:[ ]+7209 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[\[r2\]\]
+^[ ]+422:[ ]+7309 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[\[r3\]\]
+^[ ]+426:[ ]+730d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[\[r3\+\]\]
+^[ ]+42a:[ ]+710d @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[\[r1\+\]\]
+^[ ]+42e:[ ]+7f0d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[(0x0|0 <notstart>)\]
+[ ]+430:[ ]+(R_CRIS_)?32[ ]+externalsym
+^[ ]+436:[ ]+7f0d 0000 0000 @IM+700a@[ ]+[^ ]+[ ]+([^,]+,)?\[(0x0|0 <notstart>)\]
+[ ]+438:[ ]+(R_CRIS_)?32[ ]+.text
+0000043e <end>:
+^[ ]+\.\.\.
+
diff --git a/gas/testsuite/gas/cris/string-1.d b/gas/testsuite/gas/cris/string-1.d
new file mode 100644
index 0000000..dee713f
--- /dev/null
+++ b/gas/testsuite/gas/cris/string-1.d
@@ -0,0 +1,12 @@
+#objdump: -rs
+#name: string-1
+
+.*: file format .*-cris
+
+Contents of section \.text:
+ 0000 54686973 00783230 69732061 20737472 .*
+ 0010 696e6720 77697468 20612022 6e65776c .*
+ 0020 696e6522 20617420 74686520 27656e64 .*
+ 0030 274d6567 6174726f 69640a41 582d466f .*
+ 0040 6f0d0a00 .*
+Contents of section \.data:
diff --git a/gas/testsuite/gas/cris/string-1.s b/gas/testsuite/gas/cris/string-1.s
new file mode 100644
index 0000000..6c01f64
--- /dev/null
+++ b/gas/testsuite/gas/cris/string-1.s
@@ -0,0 +1,8 @@
+; Test that strings are evaluated as in the manual (slightly modified).
+; FIXME: This should be a generic test. Note that this will
+; fail if the parsing "\x20a" fails to recoignize this as " a".
+ .text
+start:
+ .ascii "This\0x20is a\040string\x20with\x20a \"newline\" at the 'end'"
+ .ascii "Megatroid\n", "AX-Foo\r\n"
+end:
diff --git a/gas/testsuite/gas/cris/string-2.d b/gas/testsuite/gas/cris/string-2.d
new file mode 100644
index 0000000..710ab89
--- /dev/null
+++ b/gas/testsuite/gas/cris/string-2.d
@@ -0,0 +1,12 @@
+#objdump: -rs
+#name: string-2
+
+.*: file format .*-cris
+
+Contents of section \.text:
+ 0000 54686973 00783230 69732061 20737472 .*
+ 0010 696e6720 77697468 20612022 6e65776c .*
+ 0020 696e6522 20617420 74686520 27656e64 .*
+ 0030 274d6567 6174726f 69640a41 582d466f .*
+ 0040 6f0d0a00 .*
+Contents of section \.data:
diff --git a/gas/testsuite/gas/cris/string-2.s b/gas/testsuite/gas/cris/string-2.s
new file mode 100644
index 0000000..0781c12
--- /dev/null
+++ b/gas/testsuite/gas/cris/string-2.s
@@ -0,0 +1,7 @@
+; Test that strings are evaluated as in the manual (slightly modified).
+; FIXME: This should be a generic test.
+ .text
+start:
+ .ascii "This\0x20is a\040string\x20with a \"newline\" at the 'end'"
+ .ascii "Megatroid\n", "AX-Foo\r\n"
+end:
diff --git a/gas/testsuite/gas/cris/test.d b/gas/testsuite/gas/cris/test.d
new file mode 100644
index 0000000..565a8ce
--- /dev/null
+++ b/gas/testsuite/gas/cris/test.d
@@ -0,0 +1,324 @@
+#objdump: -dr
+#name: @OC@
+
+# "Test" instruction.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+4336[ ]+test\.b r3
+[ ]+6:[ ]+5556[ ]+test\.w r5
+[ ]+8:[ ]+6aa6[ ]+test\.d r10
+[ ]+a:[ ]+800b[ ]+test\.b \[r0\]
+[ ]+c:[ ]+950b[ ]+test\.w \[r5\]
+[ ]+e:[ ]+aa0b[ ]+test\.d \[r10\]
+[ ]+10:[ ]+800f[ ]+test\.b \[r0\+\]
+[ ]+12:[ ]+950f[ ]+test\.w \[r5\+\]
+[ ]+14:[ ]+aa0f[ ]+test\.d \[r10\+\]
+[ ]+16:[ ]+4205 800b[ ]+test\.b \[r2\+r0\.b\]
+[ ]+1a:[ ]+4255 900b[ ]+test\.w \[r2\+r5\.b\]
+[ ]+1e:[ ]+42a5 a00b[ ]+test\.d \[r2\+r10\.b\]
+[ ]+22:[ ]+4029 800b[ ]+test\.b \[r2\+\[r0\]\.b\]
+[ ]+26:[ ]+4529 900b[ ]+test\.w \[r2\+\[r5\]\.b\]
+[ ]+2a:[ ]+4a29 a00b[ ]+test\.d \[r2\+\[r10\]\.b\]
+[ ]+2e:[ ]+402d 800b[ ]+test\.b \[r2\+\[r0\+\]\.b\]
+[ ]+32:[ ]+452d 900b[ ]+test\.w \[r2\+\[r5\+\]\.b\]
+[ ]+36:[ ]+4a2d a00b[ ]+test\.d \[r2\+\[r10\+\]\.b\]
+[ ]+3a:[ ]+5205 800b[ ]+test\.b \[r2\+r0\.w\]
+[ ]+3e:[ ]+5255 900b[ ]+test\.w \[r2\+r5\.w\]
+[ ]+42:[ ]+52a5 a00b[ ]+test\.d \[r2\+r10\.w\]
+[ ]+46:[ ]+5029 800b[ ]+test\.b \[r2\+\[r0\]\.w\]
+[ ]+4a:[ ]+5529 900b[ ]+test\.w \[r2\+\[r5\]\.w\]
+[ ]+4e:[ ]+5a29 a00b[ ]+test\.d \[r2\+\[r10\]\.w\]
+[ ]+52:[ ]+502d 800b[ ]+test\.b \[r2\+\[r0\+\]\.w\]
+[ ]+56:[ ]+552d 900b[ ]+test\.w \[r2\+\[r5\+\]\.w\]
+[ ]+5a:[ ]+5a2d a00b[ ]+test\.d \[r2\+\[r10\+\]\.w\]
+[ ]+5e:[ ]+6205 800b[ ]+test\.b \[r2\+r0\.d\]
+[ ]+62:[ ]+6255 900b[ ]+test\.w \[r2\+r5\.d\]
+[ ]+66:[ ]+62a5 a00b[ ]+test\.d \[r2\+r10\.d\]
+[ ]+6a:[ ]+6029 800b[ ]+test\.b \[r2\+\[r0\]\.d\]
+[ ]+6e:[ ]+6529 900b[ ]+test\.w \[r2\+\[r5\]\.d\]
+[ ]+72:[ ]+6a29 a00b[ ]+test\.d \[r2\+\[r10\]\.d\]
+[ ]+76:[ ]+602d 800b[ ]+test\.b \[r2\+\[r0\+\]\.d\]
+[ ]+7a:[ ]+652d 900b[ ]+test\.w \[r2\+\[r5\+\]\.d\]
+[ ]+7e:[ ]+6a2d a00b[ ]+test\.d \[r2\+\[r10\+\]\.d\]
+[ ]+82:[ ]+0021 800b[ ]+test\.b \[r2\+0\]
+[ ]+86:[ ]+0121 800b[ ]+test\.b \[r2\+1\]
+[ ]+8a:[ ]+7f21 800b[ ]+test\.b \[r2\+127\]
+[ ]+8e:[ ]+5f2d 8000 800b[ ]+test\.b \[r2\+128\]
+[ ]+94:[ ]+ff21 800b[ ]+test\.b \[r2-1\]
+[ ]+98:[ ]+8121 800b[ ]+test\.b \[r2-127\]
+[ ]+9c:[ ]+8021 800b[ ]+test\.b \[r2-128\]
+[ ]+a0:[ ]+5f2d ff00 800b[ ]+test\.b \[r2\+255\]
+[ ]+a6:[ ]+2a21 800b[ ]+test\.b \[r2\+42\]
+[ ]+aa:[ ]+d621 800b[ ]+test\.b \[r2-42\]
+[ ]+ae:[ ]+d621 800b[ ]+test\.b \[r2-42\]
+[ ]+b2:[ ]+2a21 800b[ ]+test\.b \[r2\+42\]
+[ ]+b6:[ ]+d621 800b[ ]+test\.b \[r2-42\]
+[ ]+ba:[ ]+d621 800b[ ]+test\.b \[r2-42\]
+[ ]+be:[ ]+2a21 800b[ ]+test\.b \[r2\+42\]
+[ ]+c2:[ ]+d621 800b[ ]+test\.b \[r2-42\]
+[ ]+c6:[ ]+2a21 800b[ ]+test\.b \[r2\+42\]
+[ ]+ca:[ ]+6f2d 0000 0000 800b[ ]+test\.b \[r2\+0( <notstart>)?\]
+[ ]+cc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+d2:[ ]+0021 900b[ ]+test\.w \[r2\+0\]
+[ ]+d6:[ ]+0121 900b[ ]+test\.w \[r2\+1\]
+[ ]+da:[ ]+7f21 900b[ ]+test\.w \[r2\+127\]
+[ ]+de:[ ]+5f2d 8000 900b[ ]+test\.w \[r2\+128\]
+[ ]+e4:[ ]+ff21 900b[ ]+test\.w \[r2-1\]
+[ ]+e8:[ ]+ff21 900b[ ]+test\.w \[r2-1\]
+[ ]+ec:[ ]+8121 900b[ ]+test\.w \[r2-127\]
+[ ]+f0:[ ]+8021 900b[ ]+test\.w \[r2-128\]
+[ ]+f4:[ ]+5f2d 7fff 900b[ ]+test\.w \[r2-129\]
+[ ]+fa:[ ]+8121 900b[ ]+test\.w \[r2-127\]
+[ ]+fe:[ ]+8021 900b[ ]+test\.w \[r2-128\]
+[ ]+102:[ ]+5f2d 7fff 900b[ ]+test\.w \[r2-129\]
+[ ]+108:[ ]+5f2d ff00 900b[ ]+test\.w \[r2\+255\]
+[ ]+10e:[ ]+5f2d 01ff 900b[ ]+test\.w \[r2-255\]
+[ ]+114:[ ]+5f2d 01ff 900b[ ]+test\.w \[r2-255\]
+[ ]+11a:[ ]+5f2d 0001 900b[ ]+test\.w \[r2\+256\]
+[ ]+120:[ ]+5f2d 00ff 900b[ ]+test\.w \[r2-256\]
+[ ]+126:[ ]+5f2d 68dd 900b[ ]+test\.w \[r2-8856\]
+[ ]+12c:[ ]+5f2d 68dd 900b[ ]+test\.w \[r2-8856\]
+[ ]+132:[ ]+5f2d 9822 900b[ ]+test\.w \[r2\+8856\]
+[ ]+138:[ ]+2a21 900b[ ]+test\.w \[r2\+42\]
+[ ]+13c:[ ]+d621 900b[ ]+test\.w \[r2-42\]
+[ ]+140:[ ]+d621 900b[ ]+test\.w \[r2-42\]
+[ ]+144:[ ]+2a21 900b[ ]+test\.w \[r2\+42\]
+[ ]+148:[ ]+d621 900b[ ]+test\.w \[r2-42\]
+[ ]+14c:[ ]+d621 900b[ ]+test\.w \[r2-42\]
+[ ]+150:[ ]+d621 900b[ ]+test\.w \[r2-42\]
+[ ]+154:[ ]+2a21 900b[ ]+test\.w \[r2\+42\]
+[ ]+158:[ ]+5f2d ff7f 900b[ ]+test\.w \[r2\+32767\]
+[ ]+15e:[ ]+6f2d 0080 0000 900b[ ]+test\.w \[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+166:[ ]+6f2d 0180 0000 900b[ ]+test\.w \[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+16e:[ ]+5f2d 0180 900b[ ]+test\.w \[r2-32767\]
+[ ]+174:[ ]+5f2d 0080 900b[ ]+test\.w \[r2-32768\]
+[ ]+17a:[ ]+6f2d ff7f ffff 900b[ ]+test\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+182:[ ]+5f2d 0180 900b[ ]+test\.w \[r2-32767\]
+[ ]+188:[ ]+5f2d 0080 900b[ ]+test\.w \[r2-32768\]
+[ ]+18e:[ ]+6f2d ff7f ffff 900b[ ]+test\.w \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+196:[ ]+6f2d ffff 0000 900b[ ]+test\.w \[r2\+(65535|ffff <six5535>)\]
+[ ]+19e:[ ]+6f2d 0000 0000 900b[ ]+test\.w \[r2\+0( <notstart>)?\]
+[ ]+1a0:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+1a6:[ ]+0021 a00b[ ]+test\.d \[r2\+0\]
+[ ]+1aa:[ ]+0121 a00b[ ]+test\.d \[r2\+1\]
+[ ]+1ae:[ ]+7f21 a00b[ ]+test\.d \[r2\+127\]
+[ ]+1b2:[ ]+5f2d 8000 a00b[ ]+test\.d \[r2\+128\]
+[ ]+1b8:[ ]+ff21 a00b[ ]+test\.d \[r2-1\]
+[ ]+1bc:[ ]+ff21 a00b[ ]+test\.d \[r2-1\]
+[ ]+1c0:[ ]+8121 a00b[ ]+test\.d \[r2-127\]
+[ ]+1c4:[ ]+8021 a00b[ ]+test\.d \[r2-128\]
+[ ]+1c8:[ ]+8121 a00b[ ]+test\.d \[r2-127\]
+[ ]+1cc:[ ]+8021 a00b[ ]+test\.d \[r2-128\]
+[ ]+1d0:[ ]+5f2d ff00 a00b[ ]+test\.d \[r2\+255\]
+[ ]+1d6:[ ]+5f2d 01ff a00b[ ]+test\.d \[r2-255\]
+[ ]+1dc:[ ]+5f2d 01ff a00b[ ]+test\.d \[r2-255\]
+[ ]+1e2:[ ]+5f2d 0001 a00b[ ]+test\.d \[r2\+256\]
+[ ]+1e8:[ ]+5f2d 00ff a00b[ ]+test\.d \[r2-256\]
+[ ]+1ee:[ ]+5f2d 68dd a00b[ ]+test\.d \[r2-8856\]
+[ ]+1f4:[ ]+5f2d 00ff a00b[ ]+test\.d \[r2-256\]
+[ ]+1fa:[ ]+5f2d 68dd a00b[ ]+test\.d \[r2-8856\]
+[ ]+200:[ ]+5f2d 9822 a00b[ ]+test\.d \[r2\+8856\]
+[ ]+206:[ ]+6f2d ac72 2a00 a00b[ ]+test\.d \[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+20e:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+216:[ ]+6f2d acce c09e a00b[ ]+test\.d \[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+21e:[ ]+6f2d 5331 3f81 a00b[ ]+test\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+226:[ ]+6f2d 5331 3f81 a00b[ ]+test\.d \[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+22e:[ ]+6f2d b5af 982e a00b[ ]+test\.d \[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+236:[ ]+6f2d 2b45 941b a00b[ ]+test\.d \[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+23e:[ ]+2a21 a00b[ ]+test\.d \[r2\+42\]
+[ ]+242:[ ]+d621 a00b[ ]+test\.d \[r2-42\]
+[ ]+246:[ ]+d621 a00b[ ]+test\.d \[r2-42\]
+[ ]+24a:[ ]+2a21 a00b[ ]+test\.d \[r2\+42\]
+[ ]+24e:[ ]+d621 a00b[ ]+test\.d \[r2-42\]
+[ ]+252:[ ]+d621 a00b[ ]+test\.d \[r2-42\]
+[ ]+256:[ ]+2a21 a00b[ ]+test\.d \[r2\+42\]
+[ ]+25a:[ ]+d621 a00b[ ]+test\.d \[r2-42\]
+[ ]+25e:[ ]+2a21 a00b[ ]+test\.d \[r2\+42\]
+[ ]+262:[ ]+5f2d ff7f a00b[ ]+test\.d \[r2\+32767\]
+[ ]+268:[ ]+6f2d 0080 0000 a00b[ ]+test\.d \[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+270:[ ]+6f2d 0180 0000 a00b[ ]+test\.d \[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+278:[ ]+5f2d 0180 a00b[ ]+test\.d \[r2-32767\]
+[ ]+27e:[ ]+5f2d 0080 a00b[ ]+test\.d \[r2-32768\]
+[ ]+284:[ ]+6f2d ff7f ffff a00b[ ]+test\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+28c:[ ]+5f2d 0180 a00b[ ]+test\.d \[r2-32767\]
+[ ]+292:[ ]+5f2d 0080 a00b[ ]+test\.d \[r2-32768\]
+[ ]+298:[ ]+6f2d ff7f ffff a00b[ ]+test\.d \[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+2a0:[ ]+6f2d ffff 0000 a00b[ ]+test\.d \[r2\+(65535|ffff <six5535>)\]
+[ ]+2a8:[ ]+6f2d 0000 0100 a00b[ ]+test\.d \[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+2b0:[ ]+6f2d 2b3a 2900 a00b[ ]+test\.d \[r2\+(2701867|293a2b <two701867>)\]
+[ ]+2b8:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2c0:[ ]+6f2d d5c5 d6ff a00b[ ]+test\.d \[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2c8:[ ]+6f2d 0000 0000 a00b[ ]+test\.d \[r2\+0( <notstart>)?\]
+[ ]+2ca:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2d0:[ ]+4205 8c0f[ ]+test\.b \[r12=r2\+r0\.b\]
+[ ]+2d4:[ ]+4255 9c0f[ ]+test\.w \[r12=r2\+r5\.b\]
+[ ]+2d8:[ ]+42a5 ac0f[ ]+test\.d \[r12=r2\+r10\.b\]
+[ ]+2dc:[ ]+4029 8c0f[ ]+test\.b \[r12=r2\+\[r0\]\.b\]
+[ ]+2e0:[ ]+4529 9c0f[ ]+test\.w \[r12=r2\+\[r5\]\.b\]
+[ ]+2e4:[ ]+4a29 ac0f[ ]+test\.d \[r12=r2\+\[r10\]\.b\]
+[ ]+2e8:[ ]+402d 8c0f[ ]+test\.b \[r12=r2\+\[r0\+\]\.b\]
+[ ]+2ec:[ ]+452d 9c0f[ ]+test\.w \[r12=r2\+\[r5\+\]\.b\]
+[ ]+2f0:[ ]+4a2d ac0f[ ]+test\.d \[r12=r2\+\[r10\+\]\.b\]
+[ ]+2f4:[ ]+452d 9c0f[ ]+test\.w \[r12=r2\+\[r5\+\]\.b\]
+[ ]+2f8:[ ]+4a2d ac0f[ ]+test\.d \[r12=r2\+\[r10\+\]\.b\]
+[ ]+2fc:[ ]+5205 8c0f[ ]+test\.b \[r12=r2\+r0\.w\]
+[ ]+300:[ ]+5255 9c0f[ ]+test\.w \[r12=r2\+r5\.w\]
+[ ]+304:[ ]+52a5 ac0f[ ]+test\.d \[r12=r2\+r10\.w\]
+[ ]+308:[ ]+5029 8c0f[ ]+test\.b \[r12=r2\+\[r0\]\.w\]
+[ ]+30c:[ ]+5529 9c0f[ ]+test\.w \[r12=r2\+\[r5\]\.w\]
+[ ]+310:[ ]+5a29 ac0f[ ]+test\.d \[r12=r2\+\[r10\]\.w\]
+[ ]+314:[ ]+502d 8c0f[ ]+test\.b \[r12=r2\+\[r0\+\]\.w\]
+[ ]+318:[ ]+552d 9c0f[ ]+test\.w \[r12=r2\+\[r5\+\]\.w\]
+[ ]+31c:[ ]+5a2d ac0f[ ]+test\.d \[r12=r2\+\[r10\+\]\.w\]
+[ ]+320:[ ]+552d 9c0f[ ]+test\.w \[r12=r2\+\[r5\+\]\.w\]
+[ ]+324:[ ]+5a2d ac0f[ ]+test\.d \[r12=r2\+\[r10\+\]\.w\]
+[ ]+328:[ ]+6205 8c0f[ ]+test\.b \[r12=r2\+r0\.d\]
+[ ]+32c:[ ]+6255 9c0f[ ]+test\.w \[r12=r2\+r5\.d\]
+[ ]+330:[ ]+62a5 ac0f[ ]+test\.d \[r12=r2\+r10\.d\]
+[ ]+334:[ ]+6029 8c0f[ ]+test\.b \[r12=r2\+\[r0\]\.d\]
+[ ]+338:[ ]+6529 9c0f[ ]+test\.w \[r12=r2\+\[r5\]\.d\]
+[ ]+33c:[ ]+6a29 ac0f[ ]+test\.d \[r12=r2\+\[r10\]\.d\]
+[ ]+340:[ ]+602d 8c0f[ ]+test\.b \[r12=r2\+\[r0\+\]\.d\]
+[ ]+344:[ ]+652d 9c0f[ ]+test\.w \[r12=r2\+\[r5\+\]\.d\]
+[ ]+348:[ ]+6a2d ac0f[ ]+test\.d \[r12=r2\+\[r10\+\]\.d\]
+[ ]+34c:[ ]+652d 9c0f[ ]+test\.w \[r12=r2\+\[r5\+\]\.d\]
+[ ]+350:[ ]+6a2d ac0f[ ]+test\.d \[r12=r2\+\[r10\+\]\.d\]
+[ ]+354:[ ]+0021 8c0f[ ]+test\.b \[r12=r2\+0\]
+[ ]+358:[ ]+0121 8c0f[ ]+test\.b \[r12=r2\+1\]
+[ ]+35c:[ ]+7f21 8c0f[ ]+test\.b \[r12=r2\+127\]
+[ ]+360:[ ]+5f2d 8000 8c0f[ ]+test\.b \[r12=r2\+128\]
+[ ]+366:[ ]+ff21 8c0f[ ]+test\.b \[r12=r2-1\]
+[ ]+36a:[ ]+8121 8c0f[ ]+test\.b \[r12=r2-127\]
+[ ]+36e:[ ]+8021 8c0f[ ]+test\.b \[r12=r2-128\]
+[ ]+372:[ ]+5f2d ff00 8c0f[ ]+test\.b \[r12=r2\+255\]
+[ ]+378:[ ]+2a21 8c0f[ ]+test\.b \[r12=r2\+42\]
+[ ]+37c:[ ]+d621 8c0f[ ]+test\.b \[r12=r2-42\]
+[ ]+380:[ ]+d621 8c0f[ ]+test\.b \[r12=r2-42\]
+[ ]+384:[ ]+2a21 8c0f[ ]+test\.b \[r12=r2\+42\]
+[ ]+388:[ ]+d621 8c0f[ ]+test\.b \[r12=r2-42\]
+[ ]+38c:[ ]+d621 8c0f[ ]+test\.b \[r12=r2-42\]
+[ ]+390:[ ]+2a21 8c0f[ ]+test\.b \[r12=r2\+42\]
+[ ]+394:[ ]+d621 8c0f[ ]+test\.b \[r12=r2-42\]
+[ ]+398:[ ]+2a21 8c0f[ ]+test\.b \[r12=r2\+42\]
+[ ]+39c:[ ]+6f2d 0000 0000 8c0f[ ]+test\.b \[r12=r2\+0( <notstart>)?\]
+[ ]+39e:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3a4:[ ]+0021 9c0f[ ]+test\.w \[r12=r2\+0\]
+[ ]+3a8:[ ]+0121 9c0f[ ]+test\.w \[r12=r2\+1\]
+[ ]+3ac:[ ]+7f21 9c0f[ ]+test\.w \[r12=r2\+127\]
+[ ]+3b0:[ ]+5f2d 8000 9c0f[ ]+test\.w \[r12=r2\+128\]
+[ ]+3b6:[ ]+ff21 9c0f[ ]+test\.w \[r12=r2-1\]
+[ ]+3ba:[ ]+ff21 9c0f[ ]+test\.w \[r12=r2-1\]
+[ ]+3be:[ ]+8121 9c0f[ ]+test\.w \[r12=r2-127\]
+[ ]+3c2:[ ]+8021 9c0f[ ]+test\.w \[r12=r2-128\]
+[ ]+3c6:[ ]+5f2d 7fff 9c0f[ ]+test\.w \[r12=r2-129\]
+[ ]+3cc:[ ]+8121 9c0f[ ]+test\.w \[r12=r2-127\]
+[ ]+3d0:[ ]+8021 9c0f[ ]+test\.w \[r12=r2-128\]
+[ ]+3d4:[ ]+5f2d 7fff 9c0f[ ]+test\.w \[r12=r2-129\]
+[ ]+3da:[ ]+5f2d ff00 9c0f[ ]+test\.w \[r12=r2\+255\]
+[ ]+3e0:[ ]+5f2d 01ff 9c0f[ ]+test\.w \[r12=r2-255\]
+[ ]+3e6:[ ]+5f2d 01ff 9c0f[ ]+test\.w \[r12=r2-255\]
+[ ]+3ec:[ ]+5f2d 0001 9c0f[ ]+test\.w \[r12=r2\+256\]
+[ ]+3f2:[ ]+5f2d 00ff 9c0f[ ]+test\.w \[r12=r2-256\]
+[ ]+3f8:[ ]+5f2d 68dd 9c0f[ ]+test\.w \[r12=r2-8856\]
+[ ]+3fe:[ ]+5f2d 68dd 9c0f[ ]+test\.w \[r12=r2-8856\]
+[ ]+404:[ ]+5f2d 9822 9c0f[ ]+test\.w \[r12=r2\+8856\]
+[ ]+40a:[ ]+2a21 9c0f[ ]+test\.w \[r12=r2\+42\]
+[ ]+40e:[ ]+d621 9c0f[ ]+test\.w \[r12=r2-42\]
+[ ]+412:[ ]+d621 9c0f[ ]+test\.w \[r12=r2-42\]
+[ ]+416:[ ]+2a21 9c0f[ ]+test\.w \[r12=r2\+42\]
+[ ]+41a:[ ]+d621 9c0f[ ]+test\.w \[r12=r2-42\]
+[ ]+41e:[ ]+d621 9c0f[ ]+test\.w \[r12=r2-42\]
+[ ]+422:[ ]+d621 9c0f[ ]+test\.w \[r12=r2-42\]
+[ ]+426:[ ]+2a21 9c0f[ ]+test\.w \[r12=r2\+42\]
+[ ]+42a:[ ]+5f2d ff7f 9c0f[ ]+test\.w \[r12=r2\+32767\]
+[ ]+430:[ ]+6f2d 0080 0000 9c0f[ ]+test\.w \[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+438:[ ]+6f2d 0180 0000 9c0f[ ]+test\.w \[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+440:[ ]+5f2d 0180 9c0f[ ]+test\.w \[r12=r2-32767\]
+[ ]+446:[ ]+5f2d 0080 9c0f[ ]+test\.w \[r12=r2-32768\]
+[ ]+44c:[ ]+6f2d ff7f ffff 9c0f[ ]+test\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+454:[ ]+5f2d 0180 9c0f[ ]+test\.w \[r12=r2-32767\]
+[ ]+45a:[ ]+5f2d 0080 9c0f[ ]+test\.w \[r12=r2-32768\]
+[ ]+460:[ ]+6f2d ff7f ffff 9c0f[ ]+test\.w \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+468:[ ]+6f2d ffff 0000 9c0f[ ]+test\.w \[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+470:[ ]+6f2d 0000 0000 9c0f[ ]+test\.w \[r12=r2\+0( <notstart>)?\]
+[ ]+472:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+478:[ ]+0021 ac0f[ ]+test\.d \[r12=r2\+0\]
+[ ]+47c:[ ]+0121 ac0f[ ]+test\.d \[r12=r2\+1\]
+[ ]+480:[ ]+7f21 ac0f[ ]+test\.d \[r12=r2\+127\]
+[ ]+484:[ ]+5f2d 8000 ac0f[ ]+test\.d \[r12=r2\+128\]
+[ ]+48a:[ ]+ff21 ac0f[ ]+test\.d \[r12=r2-1\]
+[ ]+48e:[ ]+ff21 ac0f[ ]+test\.d \[r12=r2-1\]
+[ ]+492:[ ]+8121 ac0f[ ]+test\.d \[r12=r2-127\]
+[ ]+496:[ ]+8021 ac0f[ ]+test\.d \[r12=r2-128\]
+[ ]+49a:[ ]+8121 ac0f[ ]+test\.d \[r12=r2-127\]
+[ ]+49e:[ ]+8021 ac0f[ ]+test\.d \[r12=r2-128\]
+[ ]+4a2:[ ]+5f2d ff00 ac0f[ ]+test\.d \[r12=r2\+255\]
+[ ]+4a8:[ ]+5f2d 01ff ac0f[ ]+test\.d \[r12=r2-255\]
+[ ]+4ae:[ ]+5f2d 01ff ac0f[ ]+test\.d \[r12=r2-255\]
+[ ]+4b4:[ ]+5f2d 0001 ac0f[ ]+test\.d \[r12=r2\+256\]
+[ ]+4ba:[ ]+5f2d 00ff ac0f[ ]+test\.d \[r12=r2-256\]
+[ ]+4c0:[ ]+5f2d 68dd ac0f[ ]+test\.d \[r12=r2-8856\]
+[ ]+4c6:[ ]+5f2d 00ff ac0f[ ]+test\.d \[r12=r2-256\]
+[ ]+4cc:[ ]+5f2d 68dd ac0f[ ]+test\.d \[r12=r2-8856\]
+[ ]+4d2:[ ]+5f2d 9822 ac0f[ ]+test\.d \[r12=r2\+8856\]
+[ ]+4d8:[ ]+6f2d ac72 2a00 ac0f[ ]+test\.d \[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+4e0:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+4e8:[ ]+6f2d acce c09e ac0f[ ]+test\.d \[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+4f0:[ ]+6f2d 5331 3f81 ac0f[ ]+test\.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+4f8:[ ]+6f2d 5331 3f81 ac0f[ ]+test\.d \[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+500:[ ]+6f2d b5af 982e ac0f[ ]+test\.d \[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+508:[ ]+6f2d 2b45 941b ac0f[ ]+test\.d \[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+510:[ ]+2a21 ac0f[ ]+test\.d \[r12=r2\+42\]
+[ ]+514:[ ]+d621 ac0f[ ]+test\.d \[r12=r2-42\]
+[ ]+518:[ ]+d621 ac0f[ ]+test\.d \[r12=r2-42\]
+[ ]+51c:[ ]+2a21 ac0f[ ]+test\.d \[r12=r2\+42\]
+[ ]+520:[ ]+d621 ac0f[ ]+test\.d \[r12=r2-42\]
+[ ]+524:[ ]+d621 ac0f[ ]+test\.d \[r12=r2-42\]
+[ ]+528:[ ]+2a21 ac0f[ ]+test\.d \[r12=r2\+42\]
+[ ]+52c:[ ]+d621 ac0f[ ]+test\.d \[r12=r2-42\]
+[ ]+530:[ ]+2a21 ac0f[ ]+test\.d \[r12=r2\+42\]
+[ ]+534:[ ]+5f2d ff7f ac0f[ ]+test\.d \[r12=r2\+32767\]
+[ ]+53a:[ ]+6f2d 0080 0000 ac0f[ ]+test\.d \[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+542:[ ]+6f2d 0180 0000 ac0f[ ]+test\.d \[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+54a:[ ]+5f2d 0180 ac0f[ ]+test\.d \[r12=r2-32767\]
+[ ]+550:[ ]+5f2d 0080 ac0f[ ]+test\.d \[r12=r2-32768\]
+[ ]+556:[ ]+6f2d ff7f ffff ac0f[ ]+test\.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+55e:[ ]+5f2d 0180 ac0f[ ]+test\.d \[r12=r2-32767\]
+[ ]+564:[ ]+5f2d 0080 ac0f[ ]+test\.d \[r12=r2-32768\]
+[ ]+56a:[ ]+6f2d ff7f ffff ac0f[ ]+test\.d \[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+572:[ ]+6f2d ffff 0000 ac0f[ ]+test\.d \[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+57a:[ ]+6f2d 0000 0100 ac0f[ ]+test\.d \[r12=r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+582:[ ]+6f2d 2b3a 2900 ac0f[ ]+test\.d \[r12=r2\+(2701867|293a2b <two701867>)\]
+[ ]+58a:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+592:[ ]+6f2d d5c5 d6ff ac0f[ ]+test\.d \[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+59a:[ ]+6f2d 0000 0000 ac0f[ ]+test\.d \[r12=r2\+0( <notstart>)?\]
+[ ]+59c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5a2:[ ]+7309 800b[ ]+test\.b \[\[r3\]\]
+[ ]+5a6:[ ]+7209 900b[ ]+test\.w \[\[r2\]\]
+[ ]+5aa:[ ]+7309 a00b[ ]+test\.d \[\[r3\]\]
+[ ]+5ae:[ ]+790d 800b[ ]+test\.b \[\[r9\+\]\]
+[ ]+5b2:[ ]+730d 900b[ ]+test\.w \[\[r3\+\]\]
+[ ]+5b6:[ ]+710d a00b[ ]+test\.d \[\[r1\+\]\]
+[ ]+5ba:[ ]+7f0d 0000 0000 800b[ ]+test\.b \[(0x0|0 <notstart>)\]
+[ ]+5bc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5c2:[ ]+7f0d 0000 0000 900b[ ]+test\.w \[(0x0|0 <notstart>)\]
+[ ]+5c4:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5ca:[ ]+7f0d 0000 0000 a00b[ ]+test\.d \[(0x0|0 <notstart>)\]
+[ ]+5cc:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+5d2:[ ]+7f0d 0000 0000 800b[ ]+test\.b \[(0x0|0 <notstart>)\]
+[ ]+5d4:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+5da:[ ]+7f0d 0000 0000 900b[ ]+test\.w \[(0x0|0 <notstart>)\]
+[ ]+5dc:[ ]+(R_CRIS_)?32[ ]+\.text
+[ ]+5e2:[ ]+7f0d 0000 0000 a00b[ ]+test\.d \[(0x0|0 <notstart>)\]
+[ ]+5e4:[ ]+(R_CRIS_)?32[ ]+\.text
+
+000005ea <end>:
+ \.\.\.
+
diff --git a/gas/testsuite/gas/cris/unimplemented.d b/gas/testsuite/gas/cris/unimplemented.d
new file mode 100644
index 0000000..e4db1a4
--- /dev/null
+++ b/gas/testsuite/gas/cris/unimplemented.d
@@ -0,0 +1,31 @@
+#objdump: -dr
+#name: unimplemented
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <start>:
+[ ]+0:[ ]+bb2a[ ]+bmod[ ]+\[r11\],r2
+[ ]+2:[ ]+4b35 b22a[ ]+bmod[ ]+\[r11\+r3\.b\],r2
+[ ]+6:[ ]+6355 bd2e[ ]+bmod[ ]+\[r13=r3\+r5\.d\],r2
+[ ]+a:[ ]+6fbd 0000 0000 b22a[ ]+bmod[ ]+\[r11\+0( <start>)?\],r2
+[ ]+c:[ ]+(R_CRIS_)?32[ ]+external_symbol
+[ ]+12:[ ]+7f0d 0000 0000 b22a[ ]+bmod[ ]+\[(0x0|0 <start>)?\],r2
+[ ]+14:[ ]+(R_CRIS_)?32[ ]+external_symbol
+[ ]+1a:[ ]+fb2a[ ]+bstore[ ]+\[r11\],r2
+[ ]+1c:[ ]+4b35 f22a[ ]+bstore[ ]+\[r11\+r3\.b\],r2
+[ ]+20:[ ]+6355 fd2e[ ]+bstore[ ]+\[r13=r3\+r5\.d\],r2
+[ ]+24:[ ]+6fbd 0000 0000 f22a[ ]+bstore[ ]+\[r11\+0( <start>)?\],r2
+[ ]+26:[ ]+(R_CRIS_)?32[ ]+external_symbol
+[ ]+2c:[ ]+7f0d 0000 0000 f22a[ ]+bstore[ ]+\[(0x0|0 <start>)?\],r2
+[ ]+2e:[ ]+(R_CRIS_)?32[ ]+external_symbol
+[ ]+34:[ ]+8889[ ]+div.b r8,r8
+[ ]+36:[ ]+8749[ ]+div.b r4,r7
+[ ]+38:[ ]+8009[ ]+div.b r0,r0
+[ ]+3a:[ ]+8449[ ]+div.b r4,r4
+[ ]+3c:[ ]+9749[ ]+div.w r4,r7
+[ ]+3e:[ ]+9009[ ]+div.w r0,r0
+[ ]+40:[ ]+9449[ ]+div.w r4,r4
+[ ]+42:[ ]+a749[ ]+div.d r4,r7
+[ ]+44:[ ]+a009[ ]+div.d r0,r0
+[ ]+46:[ ]+a449[ ]+div.d r4,r4
diff --git a/gas/testsuite/gas/cris/unimplemented.s b/gas/testsuite/gas/cris/unimplemented.s
new file mode 100644
index 0000000..c2ee9b3
--- /dev/null
+++ b/gas/testsuite/gas/cris/unimplemented.s
@@ -0,0 +1,29 @@
+; Test the unimplemented insns (of which some are used in xsim
+; and rsim).
+; You may need to remove some from here as new insns emerge.
+; Just test a few basic cases, to check that the insn table does
+; not contain duplicate entries. No compelling need for complete
+; coverage.
+ .text
+start:
+ bmod [r11],r2
+ bmod [r11+r3.b],r2
+ bmod [r13=r3+r5.d],r2
+ bmod [r11+external_symbol],r2
+ bmod [external_symbol],r2
+ bstore [r11],r2
+ bstore [r11+r3.b],r2
+ bstore [r13=r3+r5.d],r2
+ bstore [r11+external_symbol],r2
+ bstore [external_symbol],r2
+ div.b r8,r8
+ div.b r4,r7
+ div.b r0,r0
+ div.b r4,r4
+ div.w r4,r7
+ div.w r0,r0
+ div.w r4,r4
+ div.d r4,r7
+ div.d r0,r0
+ div.d r4,r4
+end:
diff --git a/gas/testsuite/gas/cris/unop-mem.d b/gas/testsuite/gas/cris/unop-mem.d
new file mode 100644
index 0000000..6d73a3e
--- /dev/null
+++ b/gas/testsuite/gas/cris/unop-mem.d
@@ -0,0 +1,218 @@
+#objdump: -dr
+#name: @OC@
+
+# Test the @OC@ insn.
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+
+00000000 <notstart>:
+ 0: 0000[ ]+ bcc ( 0x2|\.\+2)
+ \.\.\.
+
+00000004 <start>:
+[ ]+4:[ ]+@IM+703b@[ ]+@OC@[ ]+\[r0\]
+[ ]+6:[ ]+@IM+733b@[ ]+@OC@[ ]+\[r3\]
+[ ]+8:[ ]+@IM+743f@[ ]+@OC@[ ]+\[r4\+\]
+[ ]+a:[ ]+@IM+713f@[ ]+@OC@[ ]+\[r1\+\]
+[ ]+c:[ ]+4bd5 @IM+703b@[ ]+@OC@[ ]+\[r11\+r13\.b\]
+[ ]+10:[ ]+42a5 @IM+703b@[ ]+@OC@[ ]+\[r2\+r10\.b\]
+[ ]+14:[ ]+45c9 @IM+703b@[ ]+@OC@[ ]+\[r12\+\[r5\]\.b\]
+[ ]+18:[ ]+4ad9 @IM+703b@[ ]+@OC@[ ]+\[r13\+\[r10\]\.b\]
+[ ]+1c:[ ]+4d2d @IM+703b@[ ]+@OC@[ ]+\[r2\+\[r13\+\]\.b\]
+[ ]+20:[ ]+40cd @IM+703b@[ ]+@OC@[ ]+\[r12\+\[r0\+\]\.b\]
+[ ]+24:[ ]+55b5 @IM+703b@[ ]+@OC@[ ]+\[r5\+r11\.w\]
+[ ]+28:[ ]+5115 @IM+703b@[ ]+@OC@[ ]+\[r1\+r1\.w\]
+[ ]+2c:[ ]+5009 @IM+703b@[ ]+@OC@[ ]+\[r0\+\[r0\]\.w\]
+[ ]+30:[ ]+5729 @IM+703b@[ ]+@OC@[ ]+\[r2\+\[r7\]\.w\]
+[ ]+34:[ ]+532d @IM+703b@[ ]+@OC@[ ]+\[r2\+\[r3\+\]\.w\]
+[ ]+38:[ ]+587d @IM+703b@[ ]+@OC@[ ]+\[r7\+\[r8\+\]\.w\]
+[ ]+3c:[ ]+6255 @IM+703b@[ ]+@OC@[ ]+\[r2\+r5\.d\]
+[ ]+40:[ ]+63a5 @IM+703b@[ ]+@OC@[ ]+\[r3\+r10\.d\]
+[ ]+44:[ ]+6259 @IM+703b@[ ]+@OC@[ ]+\[r5\+\[r2\]\.d\]
+[ ]+48:[ ]+6ac9 @IM+703b@[ ]+@OC@[ ]+\[r12\+\[r10\]\.d\]
+[ ]+4c:[ ]+651d @IM+703b@[ ]+@OC@[ ]+\[r1\+\[r5\+\]\.d\]
+[ ]+50:[ ]+6a2d @IM+703b@[ ]+@OC@[ ]+\[r2\+\[r10\+\]\.d\]
+[ ]+54:[ ]+0021 @IM+703b@[ ]+@OC@[ ]+\[r2\+0\]
+[ ]+58:[ ]+0121 @IM+703b@[ ]+@OC@[ ]+\[r2\+1\]
+[ ]+5c:[ ]+7f21 @IM+703b@[ ]+@OC@[ ]+\[r2\+127\]
+[ ]+60:[ ]+5f2d 8000 @IM+703b@[ ]+@OC@[ ]+\[r2\+128\]
+[ ]+66:[ ]+ff21 @IM+703b@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+6a:[ ]+ff21 @IM+703b@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+6e:[ ]+8121 @IM+703b@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+72:[ ]+8021 @IM+703b@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+76:[ ]+8121 @IM+703b@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+7a:[ ]+8021 @IM+703b@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+7e:[ ]+5f2d ff00 @IM+703b@[ ]+@OC@[ ]+\[r2\+255\]
+[ ]+84:[ ]+5f2d 01ff @IM+703b@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+8a:[ ]+5f2d 01ff @IM+703b@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+90:[ ]+5f2d 0001 @IM+703b@[ ]+@OC@[ ]+\[r2\+256\]
+[ ]+96:[ ]+5f2d 00ff @IM+703b@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+9c:[ ]+5f2d 68dd @IM+703b@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+a2:[ ]+5f2d 00ff @IM+703b@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+a8:[ ]+5f2d 68dd @IM+703b@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+ae:[ ]+5f2d 9822 @IM+703b@[ ]+@OC@[ ]+\[r2\+8856\]
+[ ]+b4:[ ]+6f2d ac72 2a00 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+bc:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+c4:[ ]+6f2d acce c09e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+cc:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+d4:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+dc:[ ]+6f2d b5af 982e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+e4:[ ]+6f2d 2b45 941b @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+ec:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+f0:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+f4:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+f8:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+fc:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+100:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+104:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+108:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+10c:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+110:[ ]+5f2d ff7f @IM+703b@[ ]+@OC@[ ]+\[r2\+32767\]
+[ ]+116:[ ]+6f2d 0080 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+11e:[ ]+6f2d 0180 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+126:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+12c:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+132:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+13a:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+140:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+146:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+14e:[ ]+6f2d ffff 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65535|ffff <six5535>)\]
+[ ]+156:[ ]+6f2d 0000 0100 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+15e:[ ]+6f2d 2b3a 2900 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b <two701867>)\]
+[ ]+166:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+16e:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+176:[ ]+6f2d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+0( <notstart>)?\]
+[ ]+178:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+17e:[ ]+0021 @IM+703b@[ ]+@OC@[ ]+\[r2\+0\]
+[ ]+182:[ ]+0121 @IM+703b@[ ]+@OC@[ ]+\[r2\+1\]
+[ ]+186:[ ]+7f21 @IM+703b@[ ]+@OC@[ ]+\[r2\+127\]
+[ ]+18a:[ ]+5f2d 8000 @IM+703b@[ ]+@OC@[ ]+\[r2\+128\]
+[ ]+190:[ ]+ff21 @IM+703b@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+194:[ ]+ff21 @IM+703b@[ ]+@OC@[ ]+\[r2-1\]
+[ ]+198:[ ]+8121 @IM+703b@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+19c:[ ]+8021 @IM+703b@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+1a0:[ ]+8121 @IM+703b@[ ]+@OC@[ ]+\[r2-127\]
+[ ]+1a4:[ ]+8021 @IM+703b@[ ]+@OC@[ ]+\[r2-128\]
+[ ]+1a8:[ ]+5f2d ff00 @IM+703b@[ ]+@OC@[ ]+\[r2\+255\]
+[ ]+1ae:[ ]+5f2d 01ff @IM+703b@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+1b4:[ ]+5f2d 01ff @IM+703b@[ ]+@OC@[ ]+\[r2-255\]
+[ ]+1ba:[ ]+5f2d 0001 @IM+703b@[ ]+@OC@[ ]+\[r2\+256\]
+[ ]+1c0:[ ]+5f2d 00ff @IM+703b@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+1c6:[ ]+5f2d 68dd @IM+703b@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+1cc:[ ]+5f2d 00ff @IM+703b@[ ]+@OC@[ ]+\[r2-256\]
+[ ]+1d2:[ ]+5f2d 68dd @IM+703b@[ ]+@OC@[ ]+\[r2-8856\]
+[ ]+1d8:[ ]+5f2d 9822 @IM+703b@[ ]+@OC@[ ]+\[r2\+8856\]
+[ ]+1de:[ ]+6f2d ac72 2a00 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+1e6:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+1ee:[ ]+6f2d acce c09e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+1f6:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+1fe:[ ]+6f2d 5331 3f81 @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+206:[ ]+6f2d b5af 982e @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+20e:[ ]+6f2d 2b45 941b @IM+703b@[ ]+@OC@[ ]+\[r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+216:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+21a:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+21e:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+222:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+226:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+22a:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+22e:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+232:[ ]+d621 @IM+703b@[ ]+@OC@[ ]+\[r2-42\]
+[ ]+236:[ ]+2a21 @IM+703b@[ ]+@OC@[ ]+\[r2\+42\]
+[ ]+23a:[ ]+5f2d ff7f @IM+703b@[ ]+@OC@[ ]+\[r2\+32767\]
+[ ]+240:[ ]+6f2d 0080 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+248:[ ]+6f2d 0180 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+250:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+256:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+25c:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+264:[ ]+5f2d 0180 @IM+703b@[ ]+@OC@[ ]+\[r2-32767\]
+[ ]+26a:[ ]+5f2d 0080 @IM+703b@[ ]+@OC@[ ]+\[r2-32768\]
+[ ]+270:[ ]+6f2d ff7f ffff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+278:[ ]+6f2d ffff 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65535|ffff <six5535>)\]
+[ ]+280:[ ]+6f2d 0000 0100 @IM+703b@[ ]+@OC@[ ]+\[r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+288:[ ]+6f2d 2b3a 2900 @IM+703b@[ ]+@OC@[ ]+\[r2\+(2701867|293a2b <two701867>)\]
+[ ]+290:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+298:[ ]+6f2d d5c5 d6ff @IM+703b@[ ]+@OC@[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+2a0:[ ]+6f2d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[r2\+0( <notstart>)?\]
+[ ]+2a2:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+2a8:[ ]+4235 @IM+713f@[ ]+@OC@[ ]+\[r1=r2\+r3\.b\]
+[ ]+2ac:[ ]+42a5 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+r10\.b\]
+[ ]+2b0:[ ]+4529 @IM+703f@[ ]+@OC@[ ]+\[r0=r2\+\[r5\]\.b\]
+[ ]+2b4:[ ]+4a29 @IM+733f@[ ]+@OC@[ ]+\[r3=r2\+\[r10\]\.b\]
+[ ]+2b8:[ ]+442d @IM+753f@[ ]+@OC@[ ]+\[r5=r2\+\[r4\+\]\.b\]
+[ ]+2bc:[ ]+474d @IM+723f@[ ]+@OC@[ ]+\[r2=r4\+\[r7\+\]\.b\]
+[ ]+2c0:[ ]+5c55 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r12\+r5\.w\]
+[ ]+2c4:[ ]+53a5 @IM+713f@[ ]+@OC@[ ]+\[r1=r3\+r10\.w\]
+[ ]+2c8:[ ]+5529 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+\[r5\]\.w\]
+[ ]+2cc:[ ]+5a79 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r7\+\[r10\]\.w\]
+[ ]+2d0:[ ]+576d @IM+7c3f@[ ]+@OC@[ ]+\[r12=r6\+\[r7\+\]\.w\]
+[ ]+2d4:[ ]+513d @IM+7c3f@[ ]+@OC@[ ]+\[r12=r3\+\[r1\+\]\.w\]
+[ ]+2d8:[ ]+6255 @IM+743f@[ ]+@OC@[ ]+\[r4=r2\+r5\.d\]
+[ ]+2dc:[ ]+62a5 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+r10\.d\]
+[ ]+2e0:[ ]+6539 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r3\+\[r5\]\.d\]
+[ ]+2e4:[ ]+6a49 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r4\+\[r10\]\.d\]
+[ ]+2e8:[ ]+658d @IM+7c3f@[ ]+@OC@[ ]+\[r12=r8\+\[r5\+\]\.d\]
+[ ]+2ec:[ ]+6a9d @IM+7c3f@[ ]+@OC@[ ]+\[r12=r9\+\[r10\+\]\.d\]
+[ ]+2f0:[ ]+0021 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+0\]
+[ ]+2f4:[ ]+0121 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+1\]
+[ ]+2f8:[ ]+7f21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+127\]
+[ ]+2fc:[ ]+5f2d 8000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+128\]
+[ ]+302:[ ]+ff21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-1\]
+[ ]+306:[ ]+ff21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-1\]
+[ ]+30a:[ ]+8121 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-127\]
+[ ]+30e:[ ]+8021 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-128\]
+[ ]+312:[ ]+8121 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-127\]
+[ ]+316:[ ]+8021 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-128\]
+[ ]+31a:[ ]+5f2d ff00 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+255\]
+[ ]+320:[ ]+5f2d 01ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-255\]
+[ ]+326:[ ]+5f2d 01ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-255\]
+[ ]+32c:[ ]+5f2d 0001 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+256\]
+[ ]+332:[ ]+5f2d 00ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-256\]
+[ ]+338:[ ]+5f2d 68dd @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-8856\]
+[ ]+33e:[ ]+5f2d 00ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-256\]
+[ ]+344:[ ]+5f2d 68dd @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-8856\]
+[ ]+34a:[ ]+5f2d 9822 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+8856\]
+[ ]+350:[ ]+6f2d ac72 2a00 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\]
+[ ]+358:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+360:[ ]+6f2d acce c09e @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\]
+[ ]+368:[ ]+6f2d 5331 3f81 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+370:[ ]+6f2d 5331 3f81 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\]
+[ ]+378:[ ]+6f2d b5af 982e @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\]
+[ ]+380:[ ]+6f2d 2b45 941b @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\]
+[ ]+388:[ ]+2a21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+38c:[ ]+d621 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+390:[ ]+d621 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+394:[ ]+2a21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+398:[ ]+d621 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+39c:[ ]+d621 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+3a0:[ ]+2a21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+3a4:[ ]+d621 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-42\]
+[ ]+3a8:[ ]+2a21 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+42\]
+[ ]+3ac:[ ]+5f2d ff7f @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+32767\]
+[ ]+3b2:[ ]+6f2d 0080 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(32768|8000 <three2767\+0x1>)\]
+[ ]+3ba:[ ]+6f2d 0180 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(32769|8001 <three2767\+0x2>)\]
+[ ]+3c2:[ ]+5f2d 0180 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32767\]
+[ ]+3c8:[ ]+5f2d 0080 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32768\]
+[ ]+3ce:[ ]+6f2d ff7f ffff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+3d6:[ ]+5f2d 0180 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32767\]
+[ ]+3dc:[ ]+5f2d 0080 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2-32768\]
+[ ]+3e2:[ ]+6f2d ff7f ffff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\]
+[ ]+3ea:[ ]+6f2d ffff 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(65535|ffff <six5535>)\]
+[ ]+3f2:[ ]+6f2d 0000 0100 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(65536|10000 <six5535\+0x1>)\]
+[ ]+3fa:[ ]+6f2d 2b3a 2900 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(2701867|293a2b <two701867>)\]
+[ ]+402:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+40a:[ ]+6f2d d5c5 d6ff @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\]
+[ ]+412:[ ]+6f2d 0000 0000 @IM+7c3f@[ ]+@OC@[ ]+\[r12=r2\+0( <notstart>)?\]
+[ ]+414:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+41a:[ ]+7209 @IM+703b@[ ]+@OC@[ ]+\[\[r2\]\]
+[ ]+41e:[ ]+7309 @IM+703b@[ ]+@OC@[ ]+\[\[r3\]\]
+[ ]+422:[ ]+730d @IM+703b@[ ]+@OC@[ ]+\[\[r3\+\]\]
+[ ]+426:[ ]+710d @IM+703b@[ ]+@OC@[ ]+\[\[r1\+\]\]
+[ ]+42a:[ ]+7f0d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[(0x0|0 <notstart>)\]
+[ ]+42c:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+432:[ ]+7f0d 0000 0000 @IM+703b@[ ]+@OC@[ ]+\[(0x0|0 <notstart>)\]
+[ ]+434:[ ]+(R_CRIS_)?32[ ]+\.text
+
+0000043a <end>:
+ \.\.\.
diff --git a/gas/testsuite/gas/cris/unop.s b/gas/testsuite/gas/cris/unop.s
new file mode 100644
index 0000000..ff0a3e4
--- /dev/null
+++ b/gas/testsuite/gas/cris/unop.s
@@ -0,0 +1,668 @@
+; @OC@ test
+; Generic unary operations supporting all sizes and their various
+; addressing modes.
+
+; Some fairly big pseudorandom numbers we don't want to compute
+; as differences in actual data or code.
+
+ .set const_int_32, 0x1b94452b
+ .set const_int_m32, -3513208907
+ .set two701867, 2701867
+
+; Other constants that are not differences
+ .set forty2, 42
+ .set mforty2, -42
+
+ .set three2767, 32767
+ .set six5535, 65535
+
+ .text
+notstart:
+ .dword 0
+
+start:
+
+;;;;;;;;;;;;;;;;;
+;
+; r
+ @OC@.b r3
+ @OC@.w r5
+ @OC@.d r10
+
+ @OC@ r7
+ @OC@ r6
+
+;;;;;;;;;;;;;;;;;
+;
+; [r]
+ @OC@.b [r0]
+ @OC@.w [r5]
+ @OC@.d [r10]
+
+ @OC@ [r0]
+ @OC@ [r3]
+
+;;;;;;;;;;;;;;;;;
+;
+; [r+]
+ @OC@.b [r0+]
+ @OC@.w [r5+]
+ @OC@.d [r10+]
+
+ @OC@ [r4+]
+ @OC@ [r1+]
+
+;;;;;;;;;;;;;;;;;
+;
+; [r+X]
+
+; [r+r.b]
+
+ @OC@.b [r2+r0.b]
+ @OC@.w [r2+r5.b]
+ @OC@.d [r2+r10.b]
+
+ @OC@ [r11+r13.b]
+ @OC@ [r2+r10.b]
+
+; [r+[r].b]
+ @OC@.b [r2+[r0].b]
+ @OC@.w [r2+[r5].b]
+ @OC@.d [r2+[r10].b]
+
+ @OC@ [r12+[r5].b]
+ @OC@ [r13+[r10].b]
+
+; [r+[r+].b]
+ @OC@.b [r2+[r0+].b]
+ @OC@.w [r2+[r5+].b]
+ @OC@.d [r2+[r10+].b]
+
+ @OC@ [r2+[r13+].b]
+ @OC@ [r12+[r0+].b]
+
+; [r+r.w]
+
+ @OC@.b [r2+r0.w]
+ @OC@.w [r2+r5.w]
+ @OC@.d [r2+r10.w]
+
+ @OC@ [r5+r11.w]
+ @OC@ [r1+r1.w]
+
+; [r+[r].w]
+ @OC@.b [r2+[r0].w]
+ @OC@.w [r2+[r5].w]
+ @OC@.d [r2+[r10].w]
+
+ @OC@ [r0+[r0].w]
+ @OC@ [r2+[r7].w]
+
+; [r+[r+].w]
+ @OC@.b [r2+[r0+].w]
+ @OC@.w [r2+[r5+].w]
+ @OC@.d [r2+[r10+].w]
+
+ @OC@ [r2+[r3+].w]
+ @OC@ [r7+[r8+].w]
+
+; [r+r.d]
+
+ @OC@.b [r2+r0.d]
+ @OC@.w [r2+r5.d]
+ @OC@.d [r2+r10.d]
+
+ @OC@ [r2+r5.d]
+ @OC@ [r3+r10.d]
+
+; [r+[r].d]
+ @OC@.b [r2+[r0].d]
+ @OC@.w [r2+[r5].d]
+ @OC@.d [r2+[r10].d]
+
+ @OC@ [r5+[r2].d]
+ @OC@ [r12+[r10].d]
+
+; [r+[r+].d]
+ @OC@.b [r2+[r0+].d]
+ @OC@.w [r2+[r5+].d]
+ @OC@.d [r2+[r10+].d]
+
+ @OC@ [r1+[r5+].d]
+ @OC@ [r2+[r10+].d]
+
+; [r+const]
+
+; Note that I forgot 16-bit offsets and 32-bit offsets here and later.
+; Maybe add them later if it feels necessary.
+
+ @OC@.b [r2+0]
+ @OC@.b [r2+1]
+ @OC@.b [r2+127]
+ @OC@.b [r2+128]
+ @OC@.b [r2+-1]
+ @OC@.b [r2+-127]
+ @OC@.b [r2+-128]
+ @OC@.b [r2+255]
+
+ @OC@.b [r2+42]
+ @OC@.b [r2+-42]
+ @OC@.b [r2-42]
+ @OC@.b [r2+forty2]
+ @OC@.b [r2+mforty2]
+ @OC@.b [r2+-forty2]
+ @OC@.b [r2+-mforty2]
+ @OC@.b [r2-forty2]
+ @OC@.b [r2-mforty2]
+ @OC@.b [r2+externalsym]
+
+; Note that I missed 32-bit offsets (except -32769) here and later.
+; Maybe add them later if it feels necessary.
+
+ @OC@.w [r2+0]
+ @OC@.w [r2+1]
+ @OC@.w [r2+127]
+ @OC@.w [r2+128]
+ @OC@.w [r2+-1]
+ @OC@.w [r2-1]
+ @OC@.w [r2+-127]
+ @OC@.w [r2+-128]
+ @OC@.w [r2+-129]
+ @OC@.w [r2-127]
+ @OC@.w [r2-128]
+ @OC@.w [r2-129]
+ @OC@.w [r2+255]
+ @OC@.w [r2+-255]
+ @OC@.w [r2-255]
+ @OC@.w [r2+256]
+ @OC@.w [r2-256]
+ @OC@.w [r2+-8856]
+ @OC@.w [r2-8856]
+ @OC@.w [r2+8856]
+
+ @OC@.w [r2+42]
+ @OC@.w [r2+-42]
+ @OC@.w [r2-42]
+ @OC@.w [r2+forty2]
+ @OC@.w [r2+mforty2]
+ @OC@.w [r2+-forty2]
+ @OC@.w [r2-forty2]
+ @OC@.w [r2+-mforty2]
+
+ @OC@.w [r2+three2767]
+ @OC@.w [r2+three2767+1]
+ @OC@.w [r2+three2767+2]
+ @OC@.w [r2+-three2767]
+ @OC@.w [r2+-(three2767+1)]
+ @OC@.w [r2+-(three2767+2)]
+ @OC@.w [r2-three2767]
+ @OC@.w [r2-(three2767+1)]
+ @OC@.w [r2-(three2767+2)]
+ @OC@.w [r2+six5535]
+ @OC@.w [r2+externalsym]
+
+ @OC@.d [r2+0]
+ @OC@.d [r2+1]
+ @OC@.d [r2+127]
+ @OC@.d [r2+128]
+ @OC@.d [r2+-1]
+ @OC@.d [r2-1]
+ @OC@.d [r2+-127]
+ @OC@.d [r2+-128]
+ @OC@.d [r2-127]
+ @OC@.d [r2-128]
+ @OC@.d [r2+255]
+ @OC@.d [r2+-255]
+ @OC@.d [r2-255]
+ @OC@.d [r2+256]
+ @OC@.d [r2-256]
+ @OC@.d [r2-8856]
+ @OC@.d [r2+-256]
+ @OC@.d [r2+-8856]
+ @OC@.d [r2+8856]
+
+ @OC@.d [r2+2781868]
+ @OC@.d [r2+-2701867]
+
+ @OC@.d [r2+0x9ec0ceac]
+ @OC@.d [r2+-0x7ec0cead]
+ @OC@.d [r2-0x7ec0cead]
+ @OC@.d [r2+const_int_m32]
+ @OC@.d [r2+const_int_32]
+
+ @OC@.d [r2+42]
+ @OC@.d [r2-42]
+ @OC@.d [r2+-42]
+ @OC@.d [r2+forty2]
+ @OC@.d [r2+mforty2]
+ @OC@.d [r2-forty2]
+ @OC@.d [r2-mforty2]
+ @OC@.d [r2+-forty2]
+ @OC@.d [r2+-mforty2]
+
+ @OC@.d [r2+three2767]
+ @OC@.d [r2+three2767+1]
+ @OC@.d [r2+three2767+2]
+ @OC@.d [r2+-three2767]
+ @OC@.d [r2+-(three2767+1)]
+ @OC@.d [r2+-(three2767+2)]
+ @OC@.d [r2-three2767]
+ @OC@.d [r2-(three2767+1)]
+ @OC@.d [r2-(three2767+2)]
+ @OC@.d [r2+six5535]
+ @OC@.d [r2+six5535+1]
+ @OC@.d [r2+two701867]
+ @OC@.d [r2+-two701867]
+ @OC@.d [r2-two701867]
+
+ @OC@.d [r2+externalsym]
+
+ @OC@ [r2+0]
+ @OC@ [r2+1]
+ @OC@ [r2+127]
+ @OC@ [r2+128]
+ @OC@ [r2+-1]
+ @OC@ [r2-1]
+ @OC@ [r2+-127]
+ @OC@ [r2+-128]
+ @OC@ [r2-127]
+ @OC@ [r2-128]
+ @OC@ [r2+255]
+ @OC@ [r2+-255]
+ @OC@ [r2-255]
+ @OC@ [r2+256]
+ @OC@ [r2-256]
+ @OC@ [r2-8856]
+ @OC@ [r2+-256]
+ @OC@ [r2+-8856]
+ @OC@ [r2+8856]
+
+ @OC@ [r2+2781868]
+ @OC@ [r2+-2701867]
+
+ @OC@ [r2+0x9ec0ceac]
+ @OC@ [r2+-0x7ec0cead]
+ @OC@ [r2-0x7ec0cead]
+ @OC@ [r2+const_int_m32]
+ @OC@ [r2+const_int_32]
+
+ @OC@ [r2+42]
+ @OC@ [r2-42]
+ @OC@ [r2+-42]
+ @OC@ [r2+forty2]
+ @OC@ [r2+mforty2]
+ @OC@ [r2-forty2]
+ @OC@ [r2-mforty2]
+ @OC@ [r2+-forty2]
+ @OC@ [r2+-mforty2]
+
+ @OC@ [r2+three2767]
+ @OC@ [r2+three2767+1]
+ @OC@ [r2+three2767+2]
+ @OC@ [r2+-three2767]
+ @OC@ [r2+-(three2767+1)]
+ @OC@ [r2+-(three2767+2)]
+ @OC@ [r2-three2767]
+ @OC@ [r2-(three2767+1)]
+ @OC@ [r2-(three2767+2)]
+ @OC@ [r2+six5535]
+ @OC@ [r2+six5535+1]
+ @OC@ [r2+two701867]
+ @OC@ [r2+-two701867]
+ @OC@ [r2-two701867]
+
+ @OC@ [r2+externalsym]
+
+ @OC@ [r2+0]
+ @OC@ [r2+1]
+ @OC@ [r2+127]
+ @OC@ [r2+128]
+ @OC@ [r2+-1]
+ @OC@ [r2-1]
+ @OC@ [r2+-127]
+ @OC@ [r2+-128]
+ @OC@ [r2-127]
+ @OC@ [r2-128]
+ @OC@ [r2+255]
+ @OC@ [r2+-255]
+ @OC@ [r2-255]
+ @OC@ [r2+256]
+ @OC@ [r2-256]
+ @OC@ [r2-8856]
+ @OC@ [r2+-256]
+ @OC@ [r2+-8856]
+ @OC@ [r2+8856]
+
+ @OC@ [r2+2781868]
+ @OC@ [r2+-2701867]
+
+ @OC@ [r2+0x9ec0ceac]
+ @OC@ [r2+-0x7ec0cead]
+ @OC@ [r2-0x7ec0cead]
+ @OC@ [r2+const_int_m32]
+ @OC@ [r2+const_int_32]
+
+ @OC@ [r2+42]
+ @OC@ [r2-42]
+ @OC@ [r2+-42]
+ @OC@ [r2+forty2]
+ @OC@ [r2+mforty2]
+ @OC@ [r2-forty2]
+ @OC@ [r2-mforty2]
+ @OC@ [r2+-forty2]
+ @OC@ [r2+-mforty2]
+
+ @OC@ [r2+three2767]
+ @OC@ [r2+three2767+1]
+ @OC@ [r2+three2767+2]
+ @OC@ [r2+-three2767]
+ @OC@ [r2+-(three2767+1)]
+ @OC@ [r2+-(three2767+2)]
+ @OC@ [r2-three2767]
+ @OC@ [r2-(three2767+1)]
+ @OC@ [r2-(three2767+2)]
+ @OC@ [r2+six5535]
+ @OC@ [r2+six5535+1]
+ @OC@ [r2+two701867]
+ @OC@ [r2+-two701867]
+ @OC@ [r2-two701867]
+
+ @OC@ [r2+externalsym]
+
+;;;;;;;;;;;;;;;;;
+;
+; [r=r+X],r
+
+; [r=r+r.b],r
+
+ @OC@.b [r12=r2+r0.b]
+ @OC@.w [r12=r2+r5.b]
+ @OC@.d [r12=r2+r10.b]
+
+ @OC@ [r1=r2+r3.b]
+ @OC@ [r12=r2+r10.b]
+
+; [r=r+[r].b],r
+ @OC@.b [r12=r2+[r0].b]
+ @OC@.w [r12=r2+[r5].b]
+ @OC@.d [r12=r2+[r10].b]
+
+ @OC@ [r0=r2+[r5].b]
+ @OC@ [r3=r2+[r10].b]
+
+; [r=r+[r+].b],r
+ @OC@.b [r12=r2+[r0+].b]
+ @OC@.w [r12=r2+[r5+].b]
+ @OC@.d [r12=r2+[r10+].b]
+
+ @OC@.w [r12=r2+[r5+].b]
+
+ @OC@.d [r12=r2+[r10+].b]
+
+ @OC@ [r5=r2+[r4+].b]
+ @OC@ [r2=r4+[r7+].b]
+
+; [r=r+r.w],r
+
+ @OC@.b [r12=r2+r0.w]
+ @OC@.w [r12=r2+r5.w]
+ @OC@.d [r12=r2+r10.w]
+
+ @OC@ [r12=r12+r5.w]
+ @OC@ [r1=r3+r10.w]
+
+; [r=r+[r].w],r
+ @OC@.b [r12=r2+[r0].w]
+ @OC@.w [r12=r2+[r5].w]
+ @OC@.d [r12=r2+[r10].w]
+
+ @OC@ [r12=r2+[r5].w]
+ @OC@ [r12=r7+[r10].w]
+
+; [r=r+[r+].w],r
+ @OC@.b [r12=r2+[r0+].w]
+ @OC@.w [r12=r2+[r5+].w]
+ @OC@.d [r12=r2+[r10+].w]
+
+ @OC@.w [r12=r2+[r5+].w]
+
+ @OC@.d [r12=r2+[r10+].w]
+
+ @OC@ [r12=r6+[r7+].w]
+ @OC@ [r12=r3+[r1+].w]
+
+; [r=r+r.d],r
+
+ @OC@.b [r12=r2+r0.d]
+ @OC@.w [r12=r2+r5.d]
+ @OC@.d [r12=r2+r10.d]
+
+ @OC@ [r4=r2+r5.d]
+ @OC@ [r12=r2+r10.d]
+
+; [r=r+[r].d],r
+ @OC@.b [r12=r2+[r0].d]
+ @OC@.w [r12=r2+[r5].d]
+ @OC@.d [r12=r2+[r10].d]
+
+ @OC@ [r12=r3+[r5].d]
+ @OC@ [r12=r4+[r10].d]
+
+; [r=r+[r+].d],r
+ @OC@.b [r12=r2+[r0+].d]
+ @OC@.w [r12=r2+[r5+].d]
+ @OC@.d [r12=r2+[r10+].d]
+
+ @OC@.w [r12=r2+[r5+].d]
+
+ @OC@.d [r12=r2+[r10+].d]
+
+ @OC@ [r12=r8+[r5+].d]
+ @OC@ [r12=r9+[r10+].d]
+
+; [r=r+const],r
+ @OC@.b [r12=r2+0]
+ @OC@.b [r12=r2+1]
+ @OC@.b [r12=r2+127]
+ @OC@.b [r12=r2+128]
+ @OC@.b [r12=r2+-1]
+ @OC@.b [r12=r2+-127]
+ @OC@.b [r12=r2+-128]
+ @OC@.b [r12=r2+255]
+
+ @OC@.b [r12=r2+42]
+ @OC@.b [r12=r2+-42]
+ @OC@.b [r12=r2-42]
+ @OC@.b [r12=r2+forty2]
+ @OC@.b [r12=r2+mforty2]
+ @OC@.b [r12=r2+-forty2]
+ @OC@.b [r12=r2+-mforty2]
+ @OC@.b [r12=r2-forty2]
+ @OC@.b [r12=r2-mforty2]
+ @OC@.b [r12=r2+externalsym]
+
+ @OC@.w [r12=r2+0]
+ @OC@.w [r12=r2+1]
+ @OC@.w [r12=r2+127]
+ @OC@.w [r12=r2+128]
+ @OC@.w [r12=r2+-1]
+ @OC@.w [r12=r2-1]
+ @OC@.w [r12=r2+-127]
+ @OC@.w [r12=r2+-128]
+ @OC@.w [r12=r2+-129]
+ @OC@.w [r12=r2-127]
+ @OC@.w [r12=r2-128]
+ @OC@.w [r12=r2-129]
+ @OC@.w [r12=r2+255]
+ @OC@.w [r12=r2+-255]
+ @OC@.w [r12=r2-255]
+ @OC@.w [r12=r2+256]
+ @OC@.w [r12=r2-256]
+ @OC@.w [r12=r2+-8856]
+ @OC@.w [r12=r2-8856]
+ @OC@.w [r12=r2+8856]
+
+ @OC@.w [r12=r2+42]
+ @OC@.w [r12=r2+-42]
+ @OC@.w [r12=r2-42]
+ @OC@.w [r12=r2+forty2]
+ @OC@.w [r12=r2+mforty2]
+ @OC@.w [r12=r2+-forty2]
+ @OC@.w [r12=r2-forty2]
+ @OC@.w [r12=r2+-mforty2]
+
+ @OC@.w [r12=r2+three2767]
+ @OC@.w [r12=r2+three2767+1]
+ @OC@.w [r12=r2+three2767+2]
+ @OC@.w [r12=r2+-three2767]
+ @OC@.w [r12=r2+-(three2767+1)]
+ @OC@.w [r12=r2+-(three2767+2)]
+ @OC@.w [r12=r2-three2767]
+ @OC@.w [r12=r2-(three2767+1)]
+ @OC@.w [r12=r2-(three2767+2)]
+ @OC@.w [r12=r2+six5535]
+ @OC@.w [r12=r2+externalsym]
+
+ @OC@.d [r12=r2+0]
+ @OC@.d [r12=r2+1]
+ @OC@.d [r12=r2+127]
+ @OC@.d [r12=r2+128]
+ @OC@.d [r12=r2+-1]
+ @OC@.d [r12=r2-1]
+ @OC@.d [r12=r2+-127]
+ @OC@.d [r12=r2+-128]
+ @OC@.d [r12=r2-127]
+ @OC@.d [r12=r2-128]
+ @OC@.d [r12=r2+255]
+ @OC@.d [r12=r2+-255]
+ @OC@.d [r12=r2-255]
+ @OC@.d [r12=r2+256]
+ @OC@.d [r12=r2-256]
+ @OC@.d [r12=r2-8856]
+ @OC@.d [r12=r2+-256]
+ @OC@.d [r12=r2+-8856]
+ @OC@.d [r12=r2+8856]
+
+ @OC@.d [r12=r2+2781868]
+ @OC@.d [r12=r2+-2701867]
+
+ @OC@.d [r12=r2+0x9ec0ceac]
+ @OC@.d [r12=r2+-0x7ec0cead]
+ @OC@.d [r12=r2-0x7ec0cead]
+ @OC@.d [r12=r2+const_int_m32]
+ @OC@.d [r12=r2+const_int_32]
+
+ @OC@.d [r12=r2+42]
+ @OC@.d [r12=r2-42]
+ @OC@.d [r12=r2+-42]
+ @OC@.d [r12=r2+forty2]
+ @OC@.d [r12=r2+mforty2]
+ @OC@.d [r12=r2-forty2]
+ @OC@.d [r12=r2-mforty2]
+ @OC@.d [r12=r2+-forty2]
+ @OC@.d [r12=r2+-mforty2]
+
+ @OC@.d [r12=r2+three2767]
+ @OC@.d [r12=r2+three2767+1]
+ @OC@.d [r12=r2+three2767+2]
+ @OC@.d [r12=r2+-three2767]
+ @OC@.d [r12=r2+-(three2767+1)]
+ @OC@.d [r12=r2+-(three2767+2)]
+ @OC@.d [r12=r2-three2767]
+ @OC@.d [r12=r2-(three2767+1)]
+ @OC@.d [r12=r2-(three2767+2)]
+ @OC@.d [r12=r2+six5535]
+ @OC@.d [r12=r2+six5535+1]
+ @OC@.d [r12=r2+two701867]
+ @OC@.d [r12=r2+-two701867]
+ @OC@.d [r12=r2-two701867]
+
+ @OC@.d [r12=r2+externalsym]
+
+ @OC@ [r12=r2+0]
+ @OC@ [r12=r2+1]
+ @OC@ [r12=r2+127]
+ @OC@ [r12=r2+128]
+ @OC@ [r12=r2+-1]
+ @OC@ [r12=r2-1]
+ @OC@ [r12=r2+-127]
+ @OC@ [r12=r2+-128]
+ @OC@ [r12=r2-127]
+ @OC@ [r12=r2-128]
+ @OC@ [r12=r2+255]
+ @OC@ [r12=r2+-255]
+ @OC@ [r12=r2-255]
+ @OC@ [r12=r2+256]
+ @OC@ [r12=r2-256]
+ @OC@ [r12=r2-8856]
+ @OC@ [r12=r2+-256]
+ @OC@ [r12=r2+-8856]
+ @OC@ [r12=r2+8856]
+
+ @OC@ [r12=r2+2781868]
+ @OC@ [r12=r2+-2701867]
+
+ @OC@ [r12=r2+0x9ec0ceac]
+ @OC@ [r12=r2+-0x7ec0cead]
+ @OC@ [r12=r2-0x7ec0cead]
+ @OC@ [r12=r2+const_int_m32]
+ @OC@ [r12=r2+const_int_32]
+
+ @OC@ [r12=r2+42]
+ @OC@ [r12=r2-42]
+ @OC@ [r12=r2+-42]
+ @OC@ [r12=r2+forty2]
+ @OC@ [r12=r2+mforty2]
+ @OC@ [r12=r2-forty2]
+ @OC@ [r12=r2-mforty2]
+ @OC@ [r12=r2+-forty2]
+ @OC@ [r12=r2+-mforty2]
+
+ @OC@ [r12=r2+three2767]
+ @OC@ [r12=r2+three2767+1]
+ @OC@ [r12=r2+three2767+2]
+ @OC@ [r12=r2+-three2767]
+ @OC@ [r12=r2+-(three2767+1)]
+ @OC@ [r12=r2+-(three2767+2)]
+ @OC@ [r12=r2-three2767]
+ @OC@ [r12=r2-(three2767+1)]
+ @OC@ [r12=r2-(three2767+2)]
+ @OC@ [r12=r2+six5535]
+ @OC@ [r12=r2+six5535+1]
+ @OC@ [r12=r2+two701867]
+ @OC@ [r12=r2+-two701867]
+ @OC@ [r12=r2-two701867]
+
+ @OC@ [r12=r2+externalsym]
+
+;;;;;;;;;;;;;;;;;;;
+;
+; [[r(+)]],r
+
+ @OC@.b [[r3]]
+ @OC@.w [[r2]]
+ @OC@.d [[r3]]
+
+ @OC@ [[r2]]
+ @OC@ [[r3]]
+
+ @OC@.b [[r9+]]
+ @OC@.w [[r3+]]
+ @OC@.d [[r1+]]
+
+ @OC@ [[r3+]]
+ @OC@ [[r1+]]
+
+ @OC@.b [externalsym]
+ @OC@.w [externalsym]
+ @OC@.d [externalsym]
+
+ @OC@ [externalsym]
+
+ @OC@.b [notstart]
+ @OC@.w [notstart]
+ @OC@.d [notstart]
+
+ @OC@ [notstart]
+
+end:
diff --git a/gas/testsuite/gas/cris/x-to-byte-sreg.d b/gas/testsuite/gas/cris/x-to-byte-sreg.d
new file mode 100644
index 0000000..abc6e99
--- /dev/null
+++ b/gas/testsuite/gas/cris/x-to-byte-sreg.d
@@ -0,0 +1,94 @@
+#objdump: -dr
+#name: x-to-byte-sreg-@OR@
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2)
+^[ ]+\.\.\.
+00000004 <start>:
+[ ]+4:[ ]+@IR+3306@[ ]+move[ ]+r3,.*
+[ ]+6:[ ]+@IM+300a@[ ]+move[ ]+\[r0\],.*
+[ ]+8:[ ]+@IM+300e@[ ]+move[ ]+\[r0\+\],.*
+[ ]+a:[ ]+@IM+3f0e@ 0000[ ]+move[ ]+0x0,.*
+[ ]+e:[ ]+@IM+3f0e@ 0100[ ]+move[ ]+0x1,.*
+[ ]+12:[ ]+@IM+3f0e@ 7f00[ ]+move[ ]+0x7f,.*
+[ ]+16:[ ]+@IM+3f0e@ 8000[ ]+move[ ]+0x80,.*
+[ ]+1a:[ ]+@IM+3f0e@ ffff[ ]+move[ ]+0xffff,.*
+[ ]+1e:[ ]+@IM+3f0e@ 81ff[ ]+move[ ]+0xff81,.*
+[ ]+22:[ ]+@IM+3f0e@ 80ff[ ]+move[ ]+0xff80,.*
+[ ]+26:[ ]+@IM+3f0e@ ff00[ ]+move[ ]+0xff,.*
+[ ]+2a:[ ]+@IM+3f0e@ 2a00[ ]+move[ ]+0x2a,.*
+[ ]+2e:[ ]+@IM+3f0e@ d6ff[ ]+move[ ]+0xffd6,.*
+[ ]+32:[ ]+@IM+3f0e@ 2a00[ ]+move[ ]+0x2a,.*
+[ ]+36:[ ]+@IM+3f0e@ d6ff[ ]+move[ ]+0xffd6,.*
+[ ]+3a:[ ]+@IM+3f0e@ d6ff[ ]+move[ ]+0xffd6,.*
+[ ]+3e:[ ]+@IM+3f0e@ 2a00[ ]+move[ ]+0x2a,.*
+[ ]+42:[ ]+@IM+3f0e@ 0000[ ]+move[ ]+0x0,.*
+[ ]+44:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+46:[ ]+4205 @IM+300a@[ ]+move[ ]+\[r2\+r0\.b\],.*
+[ ]+4a:[ ]+4029 @IM+300a@[ ]+move[ ]+\[r2\+\[r0\]\.b\],.*
+[ ]+4e:[ ]+402d @IM+300a@[ ]+move[ ]+\[r2\+\[r0\+\]\.b\],.*
+[ ]+52:[ ]+5205 @IM+300a@[ ]+move[ ]+\[r2\+r0\.w\],.*
+[ ]+56:[ ]+5029 @IM+300a@[ ]+move[ ]+\[r2\+\[r0\]\.w\],.*
+[ ]+5a:[ ]+502d @IM+300a@[ ]+move[ ]+\[r2\+\[r0\+\]\.w\],.*
+[ ]+5e:[ ]+6205 @IM+300a@[ ]+move[ ]+\[r2\+r0\.d\],.*
+[ ]+62:[ ]+6029 @IM+300a@[ ]+move[ ]+\[r2\+\[r0\]\.d\],.*
+[ ]+66:[ ]+602d @IM+300a@[ ]+move[ ]+\[r2\+\[r0\+\]\.d\],.*
+[ ]+6a:[ ]+0021 @IM+300a@[ ]+move[ ]+\[r2\+0\],.*
+[ ]+6e:[ ]+0121 @IM+300a@[ ]+move[ ]+\[r2\+1\],.*
+[ ]+72:[ ]+7f21 @IM+300a@[ ]+move[ ]+\[r2\+127\],.*
+[ ]+76:[ ]+5f2d 8000 @IM+300a@[ ]+move[ ]+\[r2\+128\],.*
+[ ]+7c:[ ]+ff21 @IM+300a@[ ]+move[ ]+\[r2-1\],.*
+[ ]+80:[ ]+8121 @IM+300a@[ ]+move[ ]+\[r2-127\],.*
+[ ]+84:[ ]+8021 @IM+300a@[ ]+move[ ]+\[r2-128\],.*
+[ ]+88:[ ]+5f2d ff00 @IM+300a@[ ]+move[ ]+\[r2\+255\],.*
+[ ]+8e:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+92:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+96:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+9a:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+9e:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+a2:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+a6:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+aa:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+ae:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+b2:[ ]+6f2d 0000 0000 @IM+300a@[ ]+move[ ]+\[r2\+0( <notstart>)?\],.*
+[ ]+b4:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+ba:[ ]+4205 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r0\.b\],.*
+[ ]+be:[ ]+4029 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r0\]\.b\],.*
+[ ]+c2:[ ]+402d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r0\+\]\.b\],.*
+[ ]+c6:[ ]+5205 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r0\.w\],.*
+[ ]+ca:[ ]+5029 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r0\]\.w\],.*
+[ ]+ce:[ ]+502d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r0\+\]\.w\],.*
+[ ]+d2:[ ]+6205 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r0\.d\],.*
+[ ]+d6:[ ]+6029 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r0\]\.d\],.*
+[ ]+da:[ ]+602d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r0\+\]\.d\],.*
+[ ]+de:[ ]+0021 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0\],.*
+[ ]+e2:[ ]+0121 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+1\],.*
+[ ]+e6:[ ]+7f21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+127\],.*
+[ ]+ea:[ ]+5f2d 8000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+128\],.*
+[ ]+f0:[ ]+ff21 @IM+3c0e@[ ]+move[ ]+\[r12=r2-1\],.*
+[ ]+f4:[ ]+8121 @IM+3c0e@[ ]+move[ ]+\[r12=r2-127\],.*
+[ ]+f8:[ ]+8021 @IM+3c0e@[ ]+move[ ]+\[r12=r2-128\],.*
+[ ]+fc:[ ]+5f2d ff00 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+255\],.*
+[ ]+102:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+106:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+10a:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+10e:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+112:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+116:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+11a:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+11e:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+122:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+126:[ ]+6f2d 0000 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0( <notstart>)?\],.*
+[ ]+128:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+12e:[ ]+7309 @IM+300a@[ ]+move[ ]+\[\[r3\]\],.*
+[ ]+132:[ ]+790d @IM+300a@[ ]+move[ ]+\[\[r9\+\]\],.*
+[ ]+136:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 <notstart>)\],.*
+[ ]+138:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+13e:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 <notstart>)\],.*
+[ ]+140:[ ]+(R_CRIS_)?32[ ]+\.text
+00000146 <end>:
+^[ ]+\.\.\.
+
diff --git a/gas/testsuite/gas/cris/x-to-dcr1-sreg.d b/gas/testsuite/gas/cris/x-to-dcr1-sreg.d
new file mode 100644
index 0000000..8a4f20f
--- /dev/null
+++ b/gas/testsuite/gas/cris/x-to-dcr1-sreg.d
@@ -0,0 +1,58 @@
+#objdump: -rs
+#name: x-to-word-sreg-dcr1-special
+
+.*: file format .*-cris
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET TYPE VALUE
+00000070 (R_CRIS_)?16[ ]+externalsym
+00000284 (R_CRIS_)?32[ ]+externalsym
+0000028c (R_CRIS_)?32[ ]+\.text
+00000170 (R_CRIS_)?32[ ]+externalsym
+00000274 (R_CRIS_)?32[ ]+externalsym
+
+
+Contents of section \.text:
+ 0000 00000000 3576357a 357e3f7e 00003f7e .*
+ 0010 01003f7e 7f003f7e 80003f7e ffff3f7e .*
+ 0020 81ff3f7e 80ff3f7e 7fff3f7e ff003f7e .*
+ 0030 01ff3f7e 00013f7e 68dd3f7e 98223f7e .*
+ 0040 2a003f7e d6ff3f7e 2a003f7e d6ff3f7e .*
+ 0050 d6ff3f7e 2a003f7e ff7f3f7e 00803f7e .*
+ 0060 01803f7e 01803f7e 00803f7e ffff3f7e .*
+ 0070 00004255 307a4529 307a452d 307a452d .*
+ 0080 307a5255 307a5529 307a552d 307a552d .*
+ 0090 307a6255 307a6529 307a652d 307a652d .*
+ 00a0 307a0021 307a0121 307a7f21 307a5f2d .*
+ 00b0 8000307a ff21307a ff21307a 8121307a .*
+ 00c0 8021307a 5f2d7fff 307a8121 307a8021 .*
+ 00d0 307a5f2d 7fff307a 5f2dff00 307a5f2d .*
+ 00e0 01ff307a 5f2d01ff 307a5f2d 0001307a .*
+ 00f0 5f2d00ff 307a5f2d 68dd307a 5f2d68dd .*
+ 0100 307a5f2d 9822307a 2a21307a d621307a .*
+ 0110 d621307a 2a21307a d621307a d621307a .*
+ 0120 d621307a 2a21307a 5f2dff7f 307a6f2d .*
+ 0130 00800000 307a6f2d 01800000 307a5f2d .*
+ 0140 0180307a 5f2d0080 307a6f2d ff7fffff .*
+ 0150 307a5f2d 0180307a 5f2d0080 307a6f2d .*
+ 0160 ff7fffff 307a6f2d ffff0000 307a6f2d .*
+ 0170 00000000 307a4255 3c7e4529 3c7e452d .*
+ 0180 3c7e452d 3c7e5255 3c7e5529 3c7e552d .*
+ 0190 3c7e552d 3c7e6255 3c7e6529 3c7e652d .*
+ 01a0 3c7e652d 3c7e0021 3c7e0121 3c7e7f21 .*
+ 01b0 3c7e5f2d 80003c7e ff213c7e ff213c7e .*
+ 01c0 81213c7e 80213c7e 5f2d7fff 3c7e8121 .*
+ 01d0 3c7e8021 3c7e5f2d 7fff3c7e 5f2dff00 .*
+ 01e0 3c7e5f2d 01ff3c7e 5f2d01ff 3c7e5f2d .*
+ 01f0 00013c7e 5f2d00ff 3c7e5f2d 68dd3c7e .*
+ 0200 5f2d68dd 3c7e5f2d 98223c7e 2a213c7e .*
+ 0210 d6213c7e d6213c7e 2a213c7e d6213c7e .*
+ 0220 d6213c7e d6213c7e 2a213c7e 5f2dff7f .*
+ 0230 3c7e6f2d 00800000 3c7e6f2d 01800000 .*
+ 0240 3c7e5f2d 01803c7e 5f2d0080 3c7e6f2d .*
+ 0250 ff7fffff 3c7e5f2d 01803c7e 5f2d0080 .*
+ 0260 3c7e6f2d ff7fffff 3c7e6f2d ffff0000 .*
+ 0270 3c7e6f2d 00000000 3c7e7209 307a730d .*
+ 0280 307a7f0d 00000000 307a7f0d 00000000 .*
+ 0290 307a0000 .*
+Contents of section \.data:
diff --git a/gas/testsuite/gas/cris/x-to-dword-sreg.d b/gas/testsuite/gas/cris/x-to-dword-sreg.d
new file mode 100644
index 0000000..84416f9
--- /dev/null
+++ b/gas/testsuite/gas/cris/x-to-dword-sreg.d
@@ -0,0 +1,182 @@
+#objdump: -dr
+#name: x-to-dword-sreg-@OR@
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2)
+^[ ]+\.\.\.
+00000004 <start>:
+[ ]+4:[ ]+@IR+3a06@[ ]+move[ ]+r10,.*
+[ ]+6:[ ]+@IM+3a0a@[ ]+move[ ]+\[r10\],.*
+[ ]+8:[ ]+@IM+3a0e@[ ]+move[ ]+\[r10\+\],.*
+[ ]+a:[ ]+@IM+3f0e@ 0000 0000[ ]+move[ ]+(0x0|0 <notstart>),.*
+[ ]+10:[ ]+@IM+3f0e@ 0100 0000[ ]+move[ ]+(0x1|1 <notstart\+0x1>),.*
+[ ]+16:[ ]+@IM+3f0e@ 7f00 0000[ ]+move[ ]+(0x7f|7f <start\+0x7b>),.*
+[ ]+1c:[ ]+@IM+3f0e@ 8000 0000[ ]+move[ ]+(0x80|80 <start\+0x7c>),.*
+[ ]+22:[ ]+@IM+3f0e@ ffff ffff[ ]+move[ ]+0xffffffff,.*
+[ ]+28:[ ]+@IM+3f0e@ 81ff ffff[ ]+move[ ]+0xffffff81,.*
+[ ]+2e:[ ]+@IM+3f0e@ 80ff ffff[ ]+move[ ]+0xffffff80,.*
+[ ]+34:[ ]+@IM+3f0e@ ff00 0000[ ]+move[ ]+(0xff|ff <start\+0xfb>),.*
+[ ]+3a:[ ]+@IM+3f0e@ 01ff ffff[ ]+move[ ]+0xffffff01,.*
+[ ]+40:[ ]+@IM+3f0e@ 0001 0000[ ]+move[ ]+(0x[0]?100|100 <start\+0xfc>),.*
+[ ]+46:[ ]+@IM+3f0e@ 68dd ffff[ ]+move[ ]+0xffffdd68,.*
+[ ]+4c:[ ]+@IM+3f0e@ 9822 0000[ ]+move[ ]+(0x2298|2298 <end\+0x1ef0>),.*
+[ ]+52:[ ]+@IM+3f0e@ ac72 2a00[ ]+move[ ]+(0x2a72ac|2a72ac <two701867\+0x13881>),.*
+[ ]+58:[ ]+@IM+3f0e@ d5c5 d6ff[ ]+move[ ]+0xffd6c5d5,.*
+[ ]+5e:[ ]+@IM+3f0e@ acce c09e[ ]+move[ ]+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>),.*
+[ ]+64:[ ]+@IM+3f0e@ 5331 3f81[ ]+move[ ]+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>),.*
+[ ]+6a:[ ]+@IM+3f0e@ b5af 982e[ ]+move[ ]+(0x2e98afb5|2e98afb5 <const_int_m32>),.*
+[ ]+70:[ ]+@IM+3f0e@ 2b45 941b[ ]+move[ ]+(0x1b94452b|1b94452b <const_int_32>),.*
+[ ]+76:[ ]+@IM+3f0e@ 2a00 0000[ ]+move[ ]+(0x2a|2a <start\+0x26>),.*
+[ ]+7c:[ ]+@IM+3f0e@ d6ff ffff[ ]+move[ ]+0xffffffd6,.*
+[ ]+82:[ ]+@IM+3f0e@ 2a00 0000[ ]+move[ ]+(0x2a|2a <start\+0x26>),.*
+[ ]+88:[ ]+@IM+3f0e@ d6ff ffff[ ]+move[ ]+0xffffffd6,.*
+[ ]+8e:[ ]+@IM+3f0e@ d6ff ffff[ ]+move[ ]+0xffffffd6,.*
+[ ]+94:[ ]+@IM+3f0e@ 2a00 0000[ ]+move[ ]+(0x2a|2a <start\+0x26>),.*
+[ ]+9a:[ ]+@IM+3f0e@ ff7f 0000[ ]+move[ ]+(0x7fff|7fff <three2767>),.*
+[ ]+a0:[ ]+@IM+3f0e@ 0080 0000[ ]+move[ ]+(0x8000|8000 <three2767\+0x1>),.*
+[ ]+a6:[ ]+@IM+3f0e@ 0180 0000[ ]+move[ ]+(0x8001|8001 <three2767\+0x2>),.*
+[ ]+ac:[ ]+@IM+3f0e@ 0180 ffff[ ]+move[ ]+0xffff8001,.*
+[ ]+b2:[ ]+@IM+3f0e@ 0080 ffff[ ]+move[ ]+0xffff8000,.*
+[ ]+b8:[ ]+@IM+3f0e@ ff7f ffff[ ]+move[ ]+0xffff7fff,.*
+[ ]+be:[ ]+@IM+3f0e@ ffff 0000[ ]+move[ ]+(0xffff|ffff <six5535>),.*
+[ ]+c4:[ ]+@IM+3f0e@ 0000 0100[ ]+move[ ]+(0x[0]?10000|10000 <six5535\+0x1>),.*
+[ ]+ca:[ ]+@IM+3f0e@ 2b3a 2900[ ]+move[ ]+(0x293a2b|293a2b <two701867>),.*
+[ ]+d0:[ ]+@IM+3f0e@ d5c5 d6ff[ ]+move[ ]+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>),.*
+[ ]+d6:[ ]+@IM+3f0e@ 0000 0000[ ]+move[ ]+(0x0|0 <notstart>),.*
+[ ]+d8:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+dc:[ ]+42a5 @IM+300a@[ ]+move[ ]+\[r2\+r10\.b\],.*
+[ ]+e0:[ ]+4a29 @IM+300a@[ ]+move[ ]+\[r2\+\[r10\]\.b\],.*
+[ ]+e4:[ ]+4a2d @IM+300a@[ ]+move[ ]+\[r2\+\[r10\+\]\.b\],.*
+[ ]+e8:[ ]+4a2d @IM+300a@[ ]+move[ ]+\[r2\+\[r10\+\]\.b\],.*
+[ ]+ec:[ ]+52a5 @IM+300a@[ ]+move[ ]+\[r2\+r10\.w\],.*
+[ ]+f0:[ ]+5a29 @IM+300a@[ ]+move[ ]+\[r2\+\[r10\]\.w\],.*
+[ ]+f4:[ ]+5a2d @IM+300a@[ ]+move[ ]+\[r2\+\[r10\+\]\.w\],.*
+[ ]+f8:[ ]+5a2d @IM+300a@[ ]+move[ ]+\[r2\+\[r10\+\]\.w\],.*
+[ ]+fc:[ ]+62a5 @IM+300a@[ ]+move[ ]+\[r2\+r10\.d\],.*
+[ ]+100:[ ]+6a29 @IM+300a@[ ]+move[ ]+\[r2\+\[r10\]\.d\],.*
+[ ]+104:[ ]+6a2d @IM+300a@[ ]+move[ ]+\[r2\+\[r10\+\]\.d\],.*
+[ ]+108:[ ]+6a2d @IM+300a@[ ]+move[ ]+\[r2\+\[r10\+\]\.d\],.*
+[ ]+10c:[ ]+0021 @IM+300a@[ ]+move[ ]+\[r2\+0\],.*
+[ ]+110:[ ]+0121 @IM+300a@[ ]+move[ ]+\[r2\+1\],.*
+[ ]+114:[ ]+7f21 @IM+300a@[ ]+move[ ]+\[r2\+127\],.*
+[ ]+118:[ ]+5f2d 8000 @IM+300a@[ ]+move[ ]+\[r2\+128\],.*
+[ ]+11e:[ ]+ff21 @IM+300a@[ ]+move[ ]+\[r2-1\],.*
+[ ]+122:[ ]+ff21 @IM+300a@[ ]+move[ ]+\[r2-1\],.*
+[ ]+126:[ ]+8121 @IM+300a@[ ]+move[ ]+\[r2-127\],.*
+[ ]+12a:[ ]+8021 @IM+300a@[ ]+move[ ]+\[r2-128\],.*
+[ ]+12e:[ ]+8121 @IM+300a@[ ]+move[ ]+\[r2-127\],.*
+[ ]+132:[ ]+8021 @IM+300a@[ ]+move[ ]+\[r2-128\],.*
+[ ]+136:[ ]+5f2d ff00 @IM+300a@[ ]+move[ ]+\[r2\+255\],.*
+[ ]+13c:[ ]+5f2d 01ff @IM+300a@[ ]+move[ ]+\[r2-255\],.*
+[ ]+142:[ ]+5f2d 01ff @IM+300a@[ ]+move[ ]+\[r2-255\],.*
+[ ]+148:[ ]+5f2d 0001 @IM+300a@[ ]+move[ ]+\[r2\+256\],.*
+[ ]+14e:[ ]+5f2d 00ff @IM+300a@[ ]+move[ ]+\[r2-256\],.*
+[ ]+154:[ ]+5f2d 68dd @IM+300a@[ ]+move[ ]+\[r2-8856\],.*
+[ ]+15a:[ ]+5f2d 00ff @IM+300a@[ ]+move[ ]+\[r2-256\],.*
+[ ]+160:[ ]+5f2d 68dd @IM+300a@[ ]+move[ ]+\[r2-8856\],.*
+[ ]+166:[ ]+5f2d 9822 @IM+300a@[ ]+move[ ]+\[r2\+8856\],.*
+[ ]+16c:[ ]+6f2d ac72 2a00 @IM+300a@[ ]+move[ ]+\[r2\+(2781868|2a72ac <two701867\+0x13881>)\],.*
+[ ]+174:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],.*
+[ ]+17c:[ ]+6f2d acce c09e @IM+300a@[ ]+move[ ]+\[r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],.*
+[ ]+184:[ ]+6f2d 5331 3f81 @IM+300a@[ ]+move[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],.*
+[ ]+18c:[ ]+6f2d 5331 3f81 @IM+300a@[ ]+move[ ]+\[r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],.*
+[ ]+194:[ ]+6f2d b5af 982e @IM+300a@[ ]+move[ ]+\[r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],.*
+[ ]+19c:[ ]+6f2d 2b45 941b @IM+300a@[ ]+move[ ]+\[r2\+(0x1b94452b|1b94452b <const_int_32>)\],.*
+[ ]+1a4:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+1a8:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+1ac:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+1b0:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+1b4:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+1b8:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+1bc:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+1c0:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+1c4:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+1c8:[ ]+5f2d ff7f @IM+300a@[ ]+move[ ]+\[r2\+32767\],.*
+[ ]+1ce:[ ]+6f2d 0080 0000 @IM+300a@[ ]+move[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\],.*
+[ ]+1d6:[ ]+6f2d 0180 0000 @IM+300a@[ ]+move[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\],.*
+[ ]+1de:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.*
+[ ]+1e4:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.*
+[ ]+1ea:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+1f2:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.*
+[ ]+1f8:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.*
+[ ]+1fe:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+206:[ ]+6f2d ffff 0000 @IM+300a@[ ]+move[ ]+\[r2\+(65535|ffff <six5535>)\],.*
+[ ]+20e:[ ]+6f2d 0000 0100 @IM+300a@[ ]+move[ ]+\[r2\+(65536|10000 <six5535\+0x1>)\],.*
+[ ]+216:[ ]+6f2d 2b3a 2900 @IM+300a@[ ]+move[ ]+\[r2\+(2701867|293a2b <two701867>)\],.*
+[ ]+21e:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],.*
+[ ]+226:[ ]+6f2d d5c5 d6ff @IM+300a@[ ]+move[ ]+\[r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],.*
+[ ]+22e:[ ]+6f2d 0000 0000 @IM+300a@[ ]+move[ ]+\[r2\+0( <notstart>)?\],.*
+[ ]+230:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+236:[ ]+42a5 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r10\.b\],.*
+[ ]+23a:[ ]+4a29 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\]\.b\],.*
+[ ]+23e:[ ]+4a2d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\+\]\.b\],.*
+[ ]+242:[ ]+4a2d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\+\]\.b\],.*
+[ ]+246:[ ]+52a5 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r10\.w\],.*
+[ ]+24a:[ ]+5a29 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\]\.w\],.*
+[ ]+24e:[ ]+5a2d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\+\]\.w\],.*
+[ ]+252:[ ]+5a2d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\+\]\.w\],.*
+[ ]+256:[ ]+62a5 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r10\.d\],.*
+[ ]+25a:[ ]+6a29 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\]\.d\],.*
+[ ]+25e:[ ]+6a2d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\+\]\.d\],.*
+[ ]+262:[ ]+6a2d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r10\+\]\.d\],.*
+[ ]+266:[ ]+0021 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0\],.*
+[ ]+26a:[ ]+0121 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+1\],.*
+[ ]+26e:[ ]+7f21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+127\],.*
+[ ]+272:[ ]+5f2d 8000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+128\],.*
+[ ]+278:[ ]+ff21 @IM+3c0e@[ ]+move[ ]+\[r12=r2-1\],.*
+[ ]+27c:[ ]+ff21 @IM+3c0e@[ ]+move[ ]+\[r12=r2-1\],.*
+[ ]+280:[ ]+8121 @IM+3c0e@[ ]+move[ ]+\[r12=r2-127\],.*
+[ ]+284:[ ]+8021 @IM+3c0e@[ ]+move[ ]+\[r12=r2-128\],.*
+[ ]+288:[ ]+8121 @IM+3c0e@[ ]+move[ ]+\[r12=r2-127\],.*
+[ ]+28c:[ ]+8021 @IM+3c0e@[ ]+move[ ]+\[r12=r2-128\],.*
+[ ]+290:[ ]+5f2d ff00 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+255\],.*
+[ ]+296:[ ]+5f2d 01ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-255\],.*
+[ ]+29c:[ ]+5f2d 01ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-255\],.*
+[ ]+2a2:[ ]+5f2d 0001 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+256\],.*
+[ ]+2a8:[ ]+5f2d 00ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-256\],.*
+[ ]+2ae:[ ]+5f2d 68dd @IM+3c0e@[ ]+move[ ]+\[r12=r2-8856\],.*
+[ ]+2b4:[ ]+5f2d 00ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-256\],.*
+[ ]+2ba:[ ]+5f2d 68dd @IM+3c0e@[ ]+move[ ]+\[r12=r2-8856\],.*
+[ ]+2c0:[ ]+5f2d 9822 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+8856\],.*
+[ ]+2c6:[ ]+6f2d ac72 2a00 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(2781868|2a72ac <two701867\+0x13881>)\],.*
+[ ]+2ce:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],.*
+[ ]+2d6:[ ]+6f2d acce c09e @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x9ec0ceac|9ec0ceac <const_int_m32\+0x70281ef7>)\],.*
+[ ]+2de:[ ]+6f2d 5331 3f81 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],.*
+[ ]+2e6:[ ]+6f2d 5331 3f81 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x813f3153|813f3153 <const_int_m32\+0x52a6819e>)\],.*
+[ ]+2ee:[ ]+6f2d b5af 982e @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x2e98afb5|2e98afb5 <const_int_m32>)\],.*
+[ ]+2f6:[ ]+6f2d 2b45 941b @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0x1b94452b|1b94452b <const_int_32>)\],.*
+[ ]+2fe:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+302:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+306:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+30a:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+30e:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+312:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+316:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+31a:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+31e:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+322:[ ]+5f2d ff7f @IM+3c0e@[ ]+move[ ]+\[r12=r2\+32767\],.*
+[ ]+328:[ ]+6f2d 0080 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(32768|8000 <three2767\+0x1>)\],.*
+[ ]+330:[ ]+6f2d 0180 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(32769|8001 <three2767\+0x2>)\],.*
+[ ]+338:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.*
+[ ]+33e:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.*
+[ ]+344:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+34c:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.*
+[ ]+352:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.*
+[ ]+358:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+360:[ ]+6f2d ffff 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(65535|ffff <six5535>)\],.*
+[ ]+368:[ ]+6f2d 0000 0100 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(65536|10000 <six5535\+0x1>)\],.*
+[ ]+370:[ ]+6f2d 2b3a 2900 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(2701867|293a2b <two701867>)\],.*
+[ ]+378:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],.*
+[ ]+380:[ ]+6f2d d5c5 d6ff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffd6c5d5|ffd6c5d5 <const_int_m32\+0xd13e1620>)\],.*
+[ ]+388:[ ]+6f2d 0000 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0( <notstart>)?\],.*
+[ ]+38a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+390:[ ]+7309 @IM+300a@[ ]+move[ ]+\[\[r3\]\],.*
+[ ]+394:[ ]+710d @IM+300a@[ ]+move[ ]+\[\[r1\+\]\],.*
+[ ]+398:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 <notstart>)\],.*
+[ ]+39a:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+3a0:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 <notstart>)\],.*
+[ ]+3a2:[ ]+(R_CRIS_)?32[ ]+\.text
+
diff --git a/gas/testsuite/gas/cris/x-to-word-sreg.d b/gas/testsuite/gas/cris/x-to-word-sreg.d
new file mode 100644
index 0000000..204e4dd
--- /dev/null
+++ b/gas/testsuite/gas/cris/x-to-word-sreg.d
@@ -0,0 +1,153 @@
+#objdump: -dr
+#name: x-to-word-sreg-@OR@
+
+.*: file format .*-cris
+
+Disassembly of section \.text:
+00000000 <notstart>:
+[ ]+0:[ ]+0000[ ]+bcc ( 0x2|\.\+2)
+^[ ]+\.\.\.
+00000004 <start>:
+[ ]+4:[ ]+@IR+3506@[ ]+move[ ]+r5,.*
+[ ]+6:[ ]+@IM+350a@[ ]+move[ ]+\[r5\],.*
+[ ]+8:[ ]+@IM+350e@[ ]+move[ ]+\[r5\+\],.*
+[ ]+a:[ ]+@IM+3f0e@ 0000[ ]+move[ ]+0x0,.*
+[ ]+e:[ ]+@IM+3f0e@ 0100[ ]+move[ ]+0x1,.*
+[ ]+12:[ ]+@IM+3f0e@ 7f00[ ]+move[ ]+0x7f,.*
+[ ]+16:[ ]+@IM+3f0e@ 8000[ ]+move[ ]+0x80,.*
+[ ]+1a:[ ]+@IM+3f0e@ ffff[ ]+move[ ]+0xffff,.*
+[ ]+1e:[ ]+@IM+3f0e@ 81ff[ ]+move[ ]+0xff81,.*
+[ ]+22:[ ]+@IM+3f0e@ 80ff[ ]+move[ ]+0xff80,.*
+[ ]+26:[ ]+@IM+3f0e@ 7fff[ ]+move[ ]+0xff7f,.*
+[ ]+2a:[ ]+@IM+3f0e@ ff00[ ]+move[ ]+0xff,.*
+[ ]+2e:[ ]+@IM+3f0e@ 01ff[ ]+move[ ]+0xff01,.*
+[ ]+32:[ ]+@IM+3f0e@ 0001[ ]+move[ ]+0x[0]?100,.*
+[ ]+36:[ ]+@IM+3f0e@ 68dd[ ]+move[ ]+0xdd68,.*
+[ ]+3a:[ ]+@IM+3f0e@ 9822[ ]+move[ ]+0x2298,.*
+[ ]+3e:[ ]+@IM+3f0e@ 2a00[ ]+move[ ]+0x2a,.*
+[ ]+42:[ ]+@IM+3f0e@ d6ff[ ]+move[ ]+0xffd6,.*
+[ ]+46:[ ]+@IM+3f0e@ 2a00[ ]+move[ ]+0x2a,.*
+[ ]+4a:[ ]+@IM+3f0e@ d6ff[ ]+move[ ]+0xffd6,.*
+[ ]+4e:[ ]+@IM+3f0e@ d6ff[ ]+move[ ]+0xffd6,.*
+[ ]+52:[ ]+@IM+3f0e@ 2a00[ ]+move[ ]+0x2a,.*
+[ ]+56:[ ]+@IM+3f0e@ ff7f[ ]+move[ ]+0x7fff,.*
+[ ]+5a:[ ]+@IM+3f0e@ 0080[ ]+move[ ]+0x8000,.*
+[ ]+5e:[ ]+@IM+3f0e@ 0180[ ]+move[ ]+0x8001,.*
+[ ]+62:[ ]+@IM+3f0e@ 0180[ ]+move[ ]+0x8001,.*
+[ ]+66:[ ]+@IM+3f0e@ 0080[ ]+move[ ]+0x8000,.*
+[ ]+6a:[ ]+@IM+3f0e@ ffff[ ]+move[ ]+0xffff,.*
+[ ]+6e:[ ]+@IM+3f0e@ 0000[ ]+move[ ]+0x0,.*
+[ ]+70:[ ]+(R_CRIS_)?16[ ]+externalsym
+[ ]+72:[ ]+4255 @IM+300a@[ ]+move[ ]+\[r2\+r5\.b\],.*
+[ ]+76:[ ]+4529 @IM+300a@[ ]+move[ ]+\[r2\+\[r5\]\.b\],.*
+[ ]+7a:[ ]+452d @IM+300a@[ ]+move[ ]+\[r2\+\[r5\+\]\.b\],.*
+[ ]+7e:[ ]+452d @IM+300a@[ ]+move[ ]+\[r2\+\[r5\+\]\.b\],.*
+[ ]+82:[ ]+5255 @IM+300a@[ ]+move[ ]+\[r2\+r5\.w\],.*
+[ ]+86:[ ]+5529 @IM+300a@[ ]+move[ ]+\[r2\+\[r5\]\.w\],.*
+[ ]+8a:[ ]+552d @IM+300a@[ ]+move[ ]+\[r2\+\[r5\+\]\.w\],.*
+[ ]+8e:[ ]+552d @IM+300a@[ ]+move[ ]+\[r2\+\[r5\+\]\.w\],.*
+[ ]+92:[ ]+6255 @IM+300a@[ ]+move[ ]+\[r2\+r5\.d\],.*
+[ ]+96:[ ]+6529 @IM+300a@[ ]+move[ ]+\[r2\+\[r5\]\.d\],.*
+[ ]+9a:[ ]+652d @IM+300a@[ ]+move[ ]+\[r2\+\[r5\+\]\.d\],.*
+[ ]+9e:[ ]+652d @IM+300a@[ ]+move[ ]+\[r2\+\[r5\+\]\.d\],.*
+[ ]+a2:[ ]+0021 @IM+300a@[ ]+move[ ]+\[r2\+0\],.*
+[ ]+a6:[ ]+0121 @IM+300a@[ ]+move[ ]+\[r2\+1\],.*
+[ ]+aa:[ ]+7f21 @IM+300a@[ ]+move[ ]+\[r2\+127\],.*
+[ ]+ae:[ ]+5f2d 8000 @IM+300a@[ ]+move[ ]+\[r2\+128\],.*
+[ ]+b4:[ ]+ff21 @IM+300a@[ ]+move[ ]+\[r2-1\],.*
+[ ]+b8:[ ]+ff21 @IM+300a@[ ]+move[ ]+\[r2-1\],.*
+[ ]+bc:[ ]+8121 @IM+300a@[ ]+move[ ]+\[r2-127\],.*
+[ ]+c0:[ ]+8021 @IM+300a@[ ]+move[ ]+\[r2-128\],.*
+[ ]+c4:[ ]+5f2d 7fff @IM+300a@[ ]+move[ ]+\[r2-129\],.*
+[ ]+ca:[ ]+8121 @IM+300a@[ ]+move[ ]+\[r2-127\],.*
+[ ]+ce:[ ]+8021 @IM+300a@[ ]+move[ ]+\[r2-128\],.*
+[ ]+d2:[ ]+5f2d 7fff @IM+300a@[ ]+move[ ]+\[r2-129\],.*
+[ ]+d8:[ ]+5f2d ff00 @IM+300a@[ ]+move[ ]+\[r2\+255\],.*
+[ ]+de:[ ]+5f2d 01ff @IM+300a@[ ]+move[ ]+\[r2-255\],.*
+[ ]+e4:[ ]+5f2d 01ff @IM+300a@[ ]+move[ ]+\[r2-255\],.*
+[ ]+ea:[ ]+5f2d 0001 @IM+300a@[ ]+move[ ]+\[r2\+256\],.*
+[ ]+f0:[ ]+5f2d 00ff @IM+300a@[ ]+move[ ]+\[r2-256\],.*
+[ ]+f6:[ ]+5f2d 68dd @IM+300a@[ ]+move[ ]+\[r2-8856\],.*
+[ ]+fc:[ ]+5f2d 68dd @IM+300a@[ ]+move[ ]+\[r2-8856\],.*
+[ ]+102:[ ]+5f2d 9822 @IM+300a@[ ]+move[ ]+\[r2\+8856\],.*
+[ ]+108:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+10c:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+110:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+114:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+118:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+11c:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+120:[ ]+d621 @IM+300a@[ ]+move[ ]+\[r2-42\],.*
+[ ]+124:[ ]+2a21 @IM+300a@[ ]+move[ ]+\[r2\+42\],.*
+[ ]+128:[ ]+5f2d ff7f @IM+300a@[ ]+move[ ]+\[r2\+32767\],.*
+[ ]+12e:[ ]+6f2d 0080 0000 @IM+300a@[ ]+move[ ]+\[r2\+(32768|8000 <three2767\+0x1>)\],.*
+[ ]+136:[ ]+6f2d 0180 0000 @IM+300a@[ ]+move[ ]+\[r2\+(32769|8001 <three2767\+0x2>)\],.*
+[ ]+13e:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.*
+[ ]+144:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.*
+[ ]+14a:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+152:[ ]+5f2d 0180 @IM+300a@[ ]+move[ ]+\[r2-32767\],.*
+[ ]+158:[ ]+5f2d 0080 @IM+300a@[ ]+move[ ]+\[r2-32768\],.*
+[ ]+15e:[ ]+6f2d ff7f ffff @IM+300a@[ ]+move[ ]+\[r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+166:[ ]+6f2d ffff 0000 @IM+300a@[ ]+move[ ]+\[r2\+(65535|ffff <six5535>)\],.*
+[ ]+16e:[ ]+6f2d 0000 0000 @IM+300a@[ ]+move[ ]+\[r2\+0( <notstart>)?\],.*
+[ ]+170:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+176:[ ]+4255 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r5\.b\],.*
+[ ]+17a:[ ]+4529 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\]\.b\],.*
+[ ]+17e:[ ]+452d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\+\]\.b\],.*
+[ ]+182:[ ]+452d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\+\]\.b\],.*
+[ ]+186:[ ]+5255 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r5\.w\],.*
+[ ]+18a:[ ]+5529 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\]\.w\],.*
+[ ]+18e:[ ]+552d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\+\]\.w\],.*
+[ ]+192:[ ]+552d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\+\]\.w\],.*
+[ ]+196:[ ]+6255 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+r5\.d\],.*
+[ ]+19a:[ ]+6529 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\]\.d\],.*
+[ ]+19e:[ ]+652d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\+\]\.d\],.*
+[ ]+1a2:[ ]+652d @IM+3c0e@[ ]+move[ ]+\[r12=r2\+\[r5\+\]\.d\],.*
+[ ]+1a6:[ ]+0021 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0\],.*
+[ ]+1aa:[ ]+0121 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+1\],.*
+[ ]+1ae:[ ]+7f21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+127\],.*
+[ ]+1b2:[ ]+5f2d 8000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+128\],.*
+[ ]+1b8:[ ]+ff21 @IM+3c0e@[ ]+move[ ]+\[r12=r2-1\],.*
+[ ]+1bc:[ ]+ff21 @IM+3c0e@[ ]+move[ ]+\[r12=r2-1\],.*
+[ ]+1c0:[ ]+8121 @IM+3c0e@[ ]+move[ ]+\[r12=r2-127\],.*
+[ ]+1c4:[ ]+8021 @IM+3c0e@[ ]+move[ ]+\[r12=r2-128\],.*
+[ ]+1c8:[ ]+5f2d 7fff @IM+3c0e@[ ]+move[ ]+\[r12=r2-129\],.*
+[ ]+1ce:[ ]+8121 @IM+3c0e@[ ]+move[ ]+\[r12=r2-127\],.*
+[ ]+1d2:[ ]+8021 @IM+3c0e@[ ]+move[ ]+\[r12=r2-128\],.*
+[ ]+1d6:[ ]+5f2d 7fff @IM+3c0e@[ ]+move[ ]+\[r12=r2-129\],.*
+[ ]+1dc:[ ]+5f2d ff00 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+255\],.*
+[ ]+1e2:[ ]+5f2d 01ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-255\],.*
+[ ]+1e8:[ ]+5f2d 01ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-255\],.*
+[ ]+1ee:[ ]+5f2d 0001 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+256\],.*
+[ ]+1f4:[ ]+5f2d 00ff @IM+3c0e@[ ]+move[ ]+\[r12=r2-256\],.*
+[ ]+1fa:[ ]+5f2d 68dd @IM+3c0e@[ ]+move[ ]+\[r12=r2-8856\],.*
+[ ]+200:[ ]+5f2d 68dd @IM+3c0e@[ ]+move[ ]+\[r12=r2-8856\],.*
+[ ]+206:[ ]+5f2d 9822 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+8856\],.*
+[ ]+20c:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+210:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+214:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+218:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+21c:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+220:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+224:[ ]+d621 @IM+3c0e@[ ]+move[ ]+\[r12=r2-42\],.*
+[ ]+228:[ ]+2a21 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+42\],.*
+[ ]+22c:[ ]+5f2d ff7f @IM+3c0e@[ ]+move[ ]+\[r12=r2\+32767\],.*
+[ ]+232:[ ]+6f2d 0080 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(32768|8000 <three2767\+0x1>)\],.*
+[ ]+23a:[ ]+6f2d 0180 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(32769|8001 <three2767\+0x2>)\],.*
+[ ]+242:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.*
+[ ]+248:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.*
+[ ]+24e:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+256:[ ]+5f2d 0180 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32767\],.*
+[ ]+25c:[ ]+5f2d 0080 @IM+3c0e@[ ]+move[ ]+\[r12=r2-32768\],.*
+[ ]+262:[ ]+6f2d ff7f ffff @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(0xffff7fff|ffff7fff <const_int_m32\+0xd166d04a>)\],.*
+[ ]+26a:[ ]+6f2d ffff 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+(65535|ffff <six5535>)\],.*
+[ ]+272:[ ]+6f2d 0000 0000 @IM+3c0e@[ ]+move[ ]+\[r12=r2\+0( <notstart>)?\],.*
+[ ]+274:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+27a:[ ]+7209 @IM+300a@[ ]+move[ ]+\[\[r2\]\],.*
+[ ]+27e:[ ]+730d @IM+300a@[ ]+move[ ]+\[\[r3\+\]\],.*
+[ ]+282:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 <notstart>)\],.*
+[ ]+284:[ ]+(R_CRIS_)?32[ ]+externalsym
+[ ]+28a:[ ]+7f0d 0000 0000 @IM+300a@[ ]+move[ ]+\[(0x0|0 <notstart>)\],.*
+[ ]+28c:[ ]+(R_CRIS_)?32[ ]+\.text
+00000292 <end>:
+^[ ]+\.\.\.
+