OSDN Git Service

PR rtl-optimization/48381
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 May 2011 12:05:42 +0000 (12:05 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 May 2011 12:05:42 +0000 (12:05 +0000)
* gcc.c-torture/compile/pr48381.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173427 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr48381.c [new file with mode: 0644]

index 5218e7d..79daf99 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/48381
+       * gcc.c-torture/compile/pr48381.c: New test.
+
 2011-05-05  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/opt-1.c: Add --param min-insn-to-prefetch -ratio=0
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr48381.c b/gcc/testsuite/gcc.c-torture/compile/pr48381.c
new file mode 100644 (file)
index 0000000..eeb9c84
--- /dev/null
@@ -0,0 +1,25 @@
+/* PR rtl-optimization/48381 */
+
+struct S { int s; } t;
+
+int baz (void);
+void fn (int, unsigned, int, unsigned, char);
+
+static char
+foo (signed x, unsigned y)
+{
+  return x < 0 || y >= 32 ? 1 : x >> y;
+}
+
+long long
+bar (long long x, long y)
+{
+  return y < 0 ? 1LL : x - y;
+}
+
+void
+test (int x, unsigned y, unsigned z, char w)
+{
+  unsigned v[2];
+  fn (w || baz (), y, t.s, y, foo (bar (z, w) <= v[0], x));
+}