diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ebdbc184389869ac6a12e5163093ee909c7b2aac..553dba47913424c03a6e59a96272c8b381e3563a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,4 +1,9 @@
-2003-03-11  Roger Sayle  <roger@eyesopen.com>
+2006-03-13  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/26630
+	* gcc.dg/torture/pr26630.c: New testcase.
+
+2006-03-11  Roger Sayle  <roger@eyesopen.com>
 
 	* gfortran.dg/dependency_10.f90: New test case.
 	* gfortran.dg/dependency_11.f90: Likewise.
diff --git a/gcc/testsuite/gcc.dg/torture/pr26630.c b/gcc/testsuite/gcc.dg/torture/pr26630.c
new file mode 100644
index 0000000000000000000000000000000000000000..08cf5f655768cc66d76fa40395d0f8f9c53825f0
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr26630.c
@@ -0,0 +1,11 @@
+/* { dg-do run } */
+
+extern void abort(void);
+int main()
+{
+  int a1 = 40000;
+  int c1 = ( ((int)(short)(a1-10000)) + 10000)*2;
+  if (c1 != 80000)
+    abort();
+  return 0;
+}