1  /* { dg-do compile } */
       2  /* { dg-options "-O1 -fdump-tree-optimized --param logical-op-non-short-circuit=0" } */
       3  
       4  _Bool f1(_Bool a, _Bool b)
       5  {
       6    if (a)
       7     {
       8       if (b)
       9        return 1;
      10       else
      11        return 0;
      12     }
      13    return 0;
      14  }
      15  
      16  
      17  /* There should be only one if, the outer one; the inner one
      18     should have been changed to straight line code with the
      19     value of b (except that we don't fold ! (b != 0) into b
      20     which can be fixed in a different patch).
      21     Test this only when known to be !LOGICAL_OP_NON_SHORT_CIRCUIT,
      22     otherwise ifcombine may convert this into return a & b;.  */
      23  /* { dg-final { scan-tree-dump-times "if" 1 "optimized" } } */