diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index ff0ec327d18..ad4a755f98f 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2009-03-11  Hans-Peter Nilsson  <hp@axis.com>
+
+	* gas/cris/rd-bkw5.d, gas/cris/rd-bkw5.s, gas/cris/rd-bkw5b.d,
+	gas/cris/rd-bkw5bpic.d, gas/cris/rd-bkw5bv32.d,
+	gas/cris/rd-bkw5bv32pic.d, gas/cris/rd-bkw5pic.d,
+	gas/cris/rd-bkw5v32.d, gas/cris/rd-bkw5v32pic.d: New tests.
+
 2009-03-10  Hans-Peter Nilsson  <hp@axis.com>
 
 	* gas/cris/rd-bkw4.d, gas/cris/rd-bkw4v32.d, gas/cris/rd-bkw4.s:
diff --git a/gas/testsuite/gas/cris/rd-bkw5.d b/gas/testsuite/gas/cris/rd-bkw5.d
new file mode 100644
index 00000000000..da501346acb
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5.d
@@ -0,0 +1,29 @@
+#as: --underscore --em=criself
+#objdump: -dr
+
+.*:     file format .*-cris
+
+Disassembly of section \.text:
+
+0+ <x>:
+       0:	f87f .*
+#...
+    1ffc:	0800 .*
+    1ffe:	ffed fc5f           	ba 7ffe <after>
+    2002:	0f05                	nop 
+    2004:	3f0d fa1f 0100      	jump 11ffa <after\+0x9ffc>
+			2006: R_CRIS_32	.text\+0x11ffa
+    200a:	3f0d f81f 0100      	jump 11ff8 <after\+0x9ffa>
+			200c: R_CRIS_32	.text\+0x11ff8
+#...
+    7ff8:	3f0d feff 0000      	jump fffe <after\+0x8000>
+			7ffa: R_CRIS_32	.text\+0xfffe
+
+00007ffe <after>:
+	\.\.\.
+    fffe:	0f05                	nop 
+#...
+   11ffa:	0f05                	nop 
+   11ffc:	6fae 0000 0000      	move.d 0 <x>,r10
+			11ffe: R_CRIS_32	esymbol
+	\.\.\.
diff --git a/gas/testsuite/gas/cris/rd-bkw5.s b/gas/testsuite/gas/cris/rd-bkw5.s
new file mode 100644
index 00000000000..1ac3492ebbe
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5.s
@@ -0,0 +1,48 @@
+	.ifndef extra
+	.set extra,0
+	.endif
+
+	.macro	case
+	.if	\@ < 10
+	.word	.L1000\@-.
+	.elseif	\@ < 100
+	.word	.L100\@-.
+	.elseif	\@ < 1000
+	.word	.L10\@-.
+	.else
+	.word	.L1\@-.
+	.endif
+	.set	counter,1+\@
+	.endm
+
+	.macro case_label
+.L\@:	nop
+	.endm
+
+	.macro padder
+	.endm
+
+	.text
+	.align 1
+	.global x
+	.type	x,@function
+x:
+	.rept 4095+extra
+	case
+	.endr
+
+	.rept 10000-counter
+	padder
+	.endr
+
+after:
+	; Force a secondary jump-table entry for every label.
+	.fill 32768
+
+	.rept counter
+	case_label
+	.endr
+
+	move.d	esymbol,$r10
+	.size	x,.-x
+	.align 1
diff --git a/gas/testsuite/gas/cris/rd-bkw5b.d b/gas/testsuite/gas/cris/rd-bkw5b.d
new file mode 100644
index 00000000000..f26758324c1
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5b.d
@@ -0,0 +1,4 @@
+#as: --underscore --em=criself --defsym extra=1
+#objdump: -dr
+#source: rd-bkw5.s
+#error: overflow
diff --git a/gas/testsuite/gas/cris/rd-bkw5bpic.d b/gas/testsuite/gas/cris/rd-bkw5bpic.d
new file mode 100644
index 00000000000..c83bf2bf1d0
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5bpic.d
@@ -0,0 +1,4 @@
+#as: --pic --underscore --em=criself --defsym extra=-818
+#objdump: -dr
+#source: rd-bkw5.s
+#error: overflow
diff --git a/gas/testsuite/gas/cris/rd-bkw5bv32.d b/gas/testsuite/gas/cris/rd-bkw5bv32.d
new file mode 100644
index 00000000000..1b87c3ee569
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5bv32.d
@@ -0,0 +1,4 @@
+#as: --march=v32 --underscore --em=criself --defsym extra=-818
+#objdump: -dr
+#source: rd-bkw5.s
+#error: overflow
diff --git a/gas/testsuite/gas/cris/rd-bkw5bv32pic.d b/gas/testsuite/gas/cris/rd-bkw5bv32pic.d
new file mode 100644
index 00000000000..a63ab512a98
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5bv32pic.d
@@ -0,0 +1,4 @@
+#as: --march=v32 --pic --underscore --em=criself --defsym extra=-818
+#objdump: -dr
+#source: rd-bkw5.s
+#error: overflow
diff --git a/gas/testsuite/gas/cris/rd-bkw5pic.d b/gas/testsuite/gas/cris/rd-bkw5pic.d
new file mode 100644
index 00000000000..e22d8932d5d
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5pic.d
@@ -0,0 +1,27 @@
+#as: --pic --underscore --em=criself --defsym extra=-819
+#objdump: -dr
+#source: rd-bkw5.s
+
+.*:     file format .*-cris
+
+Disassembly of section \.text:
+
+0+ <x>:
+       0:	f67f .*
+#...
+    1996:	0800 .*
+    1998:	ffed 6266           	ba 7ffe <after>
+    199c:	0f05                	nop 
+    199e:	6ffd f0ff 0000 3f0e 	move \[pc=pc\+fff0 <after\+0x7ff2>\],p0
+    19a6:	6ffd e6ff 0000 3f0e 	move \[pc=pc\+ffe6 <after\+0x7fe8>\],p0
+#...
+    7ff6:	6ffd 0280 0000 3f0e 	move \[pc=pc\+8002 <after\+0x4>\],p0
+
+00007ffe <after>:
+	...
+    fffe:	0f05                	nop 
+#...
+   11994:	0f05                	nop 
+   11996:	6fae 0000 0000      	move.d 0 <x>,r10
+			11998: R_CRIS_32	esymbol
+
diff --git a/gas/testsuite/gas/cris/rd-bkw5v32.d b/gas/testsuite/gas/cris/rd-bkw5v32.d
new file mode 100644
index 00000000000..5b1a90ddeea
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5v32.d
@@ -0,0 +1,28 @@
+#as: --march=v32 --underscore --em=criself --defsym extra=-819
+#objdump: -dr
+#source: rd-bkw5.s
+
+.*:     file format .*-cris
+
+Disassembly of section \.text:
+
+0+ <x>:
+       0:	f67f .*
+#...
+    1996:	0800 .*
+    1998:	ffed 6666           	ba 7ffe <after>
+    199c:	b005                	nop 
+    199e:	bf0e f6ff 0000      	ba 11994 <after\+0x9996>
+    19a4:	b005                	nop 
+#...
+    7ff6:	bf0e 0880 0000      	ba fffe <after\+0x8000>
+    7ffc:	b005                	nop 
+
+00007ffe <after>:
+	...
+    fffe:	b005                	nop 
+#...
+   11994:	b005                	nop 
+   11996:	6fae 0000 0000      	move.d 0 <x>,r10
+			11998: R_CRIS_32	esymbol
+
diff --git a/gas/testsuite/gas/cris/rd-bkw5v32pic.d b/gas/testsuite/gas/cris/rd-bkw5v32pic.d
new file mode 100644
index 00000000000..9998db44076
--- /dev/null
+++ b/gas/testsuite/gas/cris/rd-bkw5v32pic.d
@@ -0,0 +1,28 @@
+#as: --march=v32 --pic --underscore --em=criself --defsym extra=-819
+#objdump: -dr
+#source: rd-bkw5.s
+
+.*:     file format .*-cris
+
+Disassembly of section \.text:
+
+0+ <x>:
+       0:	f67f .*
+#...
+    1996:	0800 .*
+    1998:	ffed 6666           	ba 7ffe <after>
+    199c:	b005                	nop 
+    199e:	bf0e f6ff 0000      	ba 11994 <after\+0x9996>
+    19a4:	b005                	nop 
+#...
+    7ff6:	bf0e 0880 0000      	ba fffe <after\+0x8000>
+    7ffc:	b005                	nop 
+
+00007ffe <after>:
+	...
+    fffe:	b005                	nop 
+#...
+   11994:	b005                	nop 
+   11996:	6fae 0000 0000      	move.d 0 <x>,r10
+			11998: R_CRIS_32	esymbol
+