1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-optimized" } */
       3  /* PR tree-optimization/103218 */
       4  
       5  /* These first two are removed during forwprop1 */
       6  signed char f(signed char a)
       7  {
       8    signed char t = a < 0;
       9    int tt = (unsigned char)(t << 7);
      10    return tt;
      11  }
      12  signed char f0(signed char a)
      13  {
      14    unsigned char t = a < 0;
      15    int tt = (unsigned char)(t << 7);
      16    return tt;
      17  }
      18  
      19  /* This one is removed during phiopt. */
      20  signed char  f1(signed char a)
      21  {
      22      if (a < 0)
      23        return 1u<<7;
      24      return 0;
      25  }
      26  
      27  /* These three examples should remove "a < 0" by optimized. */
      28  /* { dg-final { scan-tree-dump-times "< 0" 0 "optimized"} } */