diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cc1a5730632476892f2f39c660058d0415fade3f..07ee5a562fc57689f6888d808d3810532e8b12ea 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* gcc.c-torture/compile/920501-12.x: New file, must pass -mshort
+	for HC11/HC12 (array is too large otherwise).
+	* gcc.c-torture/compile/920501-4.x: New file, likewise.
+	* gcc.c-torture/compile/20010518-2.x: Likewise.
+	* gcc.c-torture/compile/980506-1.x: Don't execute this test on
+	HC11/HC12 (array is too large).
+
 2003-03-01  Geoffrey Keating  <geoffk@apple.com>
 
 	* lib/gcc-dg.exp (gcc-dg-test): Change .pch to .gch.
diff --git a/gcc/testsuite/gcc.c-torture/compile/20010518-2.x b/gcc/testsuite/gcc.c-torture/compile/20010518-2.x
index 4cfce33b2dc56d575dd4e469fa9caf2d1cb4e9ba..1bd6f8fd46430e0932c12522fceefe51a46263cd 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20010518-2.x
+++ b/gcc/testsuite/gcc.c-torture/compile/20010518-2.x
@@ -1,2 +1,8 @@
-set options "-S"
+# This test fails on HC11/HC12 when it is compiled without -mshort because 
+# the array is too large (INT_MAX/2 > 64K).  Force to use 16-bit ints for it.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+	set options "-S -mshort"
+} else {
+	set options "-S"
+}
 return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-12.x b/gcc/testsuite/gcc.c-torture/compile/920501-12.x
new file mode 100644
index 0000000000000000000000000000000000000000..61ba34933fb0a493cc1b1040cf0ff2652b152778
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/920501-12.x
@@ -0,0 +1,6 @@
+# This test fails on HC11/HC12 when it is compiled without -mshort because 
+# the stack arrays are too large.  Force to use 16-bit ints for it.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+	set options "-mshort"
+}
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/920501-4.x b/gcc/testsuite/gcc.c-torture/compile/920501-4.x
new file mode 100644
index 0000000000000000000000000000000000000000..cf60af9be6762a0b7a491c3d3f6eeeeb0638c7ec
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/920501-4.x
@@ -0,0 +1,6 @@
+# This test fails on HC11/HC12 when it is compiled without -mshort because 
+# the 'r0' array is too large.  Force to use 16-bit ints for it.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+	set options "-mshort"
+}
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/compile/980506-1.x b/gcc/testsuite/gcc.c-torture/compile/980506-1.x
index 056ef46383553d1bb1ea4920a4fabf2e86b4eb09..133ed24d9446f21818bcc5f58aa0c48f3b460c16 100644
--- a/gcc/testsuite/gcc.c-torture/compile/980506-1.x
+++ b/gcc/testsuite/gcc.c-torture/compile/980506-1.x
@@ -7,4 +7,7 @@ if { [istarget "h8300-*-*"] } {
         return 1;
 }
 
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+      return 1
+}
 return 0