* gcc.dg/tree-ssa/builtin-expect-1.c: New test.
* gcc.dg/tree-ssa/builtin-expect-2.c: New test.
* gcc.dg/tree-ssa/builtin-expect-3.c: New test.
* gcc.dg/tree-ssa/builtin-expect-4.c: New test.
* gcc.dg/tree-ssa/builtin-expect-5.c: New test.
From-SVN: r128148
+2007-09-05 Adam Nemet <anemet@caviumnetworks.com>
+
+ * gcc.dg/tree-ssa/builtin-expect-1.c: New test.
+ * gcc.dg/tree-ssa/builtin-expect-2.c: New test.
+ * gcc.dg/tree-ssa/builtin-expect-3.c: New test.
+ * gcc.dg/tree-ssa/builtin-expect-4.c: New test.
+ * gcc.dg/tree-ssa/builtin-expect-5.c: New test.
+
2007-09-05 Paolo Carlini <pcarlini@suse.de>
PR c++/30302
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-gimple" } */
+
+f (int i, float j)
+{
+ if (__builtin_expect (i > 0 && j, 0))
+ g ();
+}
+
+/* { dg-final { scan-tree-dump-times {builtin_expect[^\n]*, 0\);\n[^\n]*if} 2 "gimple"} } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-gimple" } */
+
+f (int i, float j)
+{
+ if (__builtin_expect (i > 0 || j, 0))
+ ;
+ else
+ g ();
+}
+
+/* { dg-final { scan-tree-dump-times {builtin_expect[^\n]*, 0\);\n[^\n]*if} 2 "gimple"} } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-gimple" } */
+
+f (int i, float j)
+{
+ if (__builtin_expect (i > 0 && j, 0))
+ a ();
+ else
+ b ();
+}
+
+/* { dg-final { scan-tree-dump-times {builtin_expect[^\n]*, 0\);\n[^\n]*if} 2 "gimple"} } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-gimple" } */
+
+f (int i, float j)
+{
+ if (__builtin_expect (i > 0 || j, 0))
+ a ();
+ else
+ b ();
+}
+
+/* { dg-final { scan-tree-dump-times {builtin_expect[^\n]*, 0\);\n[^\n]*if} 2 "gimple"} } */
+/* { dg-final { cleanup-tree-dump "gimple" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-forwprop" } */
+
+f (int i, float j)
+{
+ if (__builtin_expect (i > 0 && __builtin_expect (j != 0, 1), 0))
+ a ();
+ else
+ b ();
+}
+
+/* { dg-final { scan-tree-dump-times { if } 2 "forwprop1"} } */
+/* { dg-final { scan-tree-dump {builtin_expect[^\n]*, 0\);\n[^\n]*if} "forwprop1"} } */
+/* { dg-final { scan-tree-dump {builtin_expect[^\n]*, 1\);\n[^\n]*if} "forwprop1"} } */
+/* { dg-final { cleanup-tree-dump "forwprop?" } } */