Hi!

This test apparently FAILs on s390x-linux, which is an effective target of
both logical_op_short_circuit and branch_cost.
The test has
/* { dg-additional-options "-mbranch-cost=2" { target branch_cost } } */
and that option effectively makes the target ! logical_op_short_circuit,
but the effective target just reflects the default setting.  So, I think
it should expect 0 ifs rather than 2 if -mbranch-cost=2 is used and
2 when that option isn't used.

Tested on x86_64-linux (which is a branch_cost but not logical_op_short_circuit
effective target), Andreas, does this fix it on s390x-linux (I've only
looked at the optimized dump using a cross-compiler)?
Ok for trunk?

2018-11-22  Jakub Jelinek  <ja...@redhat.com>

        PR testsuite/85368
        * gcc.dg/tree-ssa/phi-opt-11.c: For branch_cost targets, expect 0 ifs
        rather than 0 or 2 depending on logical_op_short_circuit.

--- gcc/testsuite/gcc.dg/tree-ssa/phi-opt-11.c.jj       2018-01-17 
12:03:37.768893116 +0100
+++ gcc/testsuite/gcc.dg/tree-ssa/phi-opt-11.c  2018-11-22 16:33:15.541947777 
+0100
@@ -23,5 +23,5 @@ int h(int a, int b, int c, int d)
  return a;
 }
 
-/* { dg-final { scan-tree-dump-times "if" 0 "optimized" { target { ! 
logical_op_short_circuit } } } } */
-/* { dg-final { scan-tree-dump-times "if" 2 "optimized" { target 
logical_op_short_circuit } } } */
+/* { dg-final { scan-tree-dump-times "if" 0 "optimized" { target { { ! 
logical_op_short_circuit } || branch_cost } } } } */
+/* { dg-final { scan-tree-dump-times "if" 2 "optimized" { target { 
logical_op_short_circuit && { ! branch_cost } } } } } */

        Jakub

Reply via email to