diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 07ee5a562fc57689f6888d808d3810532e8b12ea..3388db24f3621ebbbdd27f6ca8cd91c26b514430 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* gcc.c-torture/execute/960312-1.x: New file, must pass -mshort
+	for HC11/HC12 (asm needs two int registers).
+	* gcc.c-torture/compile/20020312-1.x: New file, don't execute on
+	HC11/HC12 because the test uses an asm which needs two 32-bit
+	registers.
+
 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
 
 	* gcc.c-torture/compile/920501-12.x: New file, must pass -mshort
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020312-1.x b/gcc/testsuite/gcc.c-torture/compile/20020312-1.x
new file mode 100644
index 0000000000000000000000000000000000000000..105f2516474d61d1fdceee4ca2013c1cb0ac3972
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20020312-1.x
@@ -0,0 +1,6 @@
+# This does not compile on HC11/HC12 due to the asm which requires
+# two 32-bit registers.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+	return 1
+}
+return 0
diff --git a/gcc/testsuite/gcc.c-torture/execute/960312-1.x b/gcc/testsuite/gcc.c-torture/execute/960312-1.x
new file mode 100644
index 0000000000000000000000000000000000000000..ed4bac4106621c177e35004c41f5dfe7e6de99c0
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/960312-1.x
@@ -0,0 +1,7 @@
+# This test fails on HC11/HC12 when it is compiled without -mshort because 
+# is uses an asm that requires two 32-bit registers (int).  It passes
+# when using -mshort because there are enough registers;  force -mshort.
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+	set options "-mshort"
+}
+return 0