1  /* PR tree-optimization/80558 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fdump-tree-evrp" } */
       4  /* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */
       5  
       6  void link_error (void);
       7  
       8  void
       9  f1 (int x)
      10  {
      11    if (x >= 5 && x <= 19)
      12      {
      13        x &= -2;
      14        if (x < 4 || x > 18)
      15  	link_error ();
      16      }
      17  }
      18  
      19  void
      20  f2 (int x)
      21  {
      22    if (x >= 5 && x <= 19)
      23      {
      24        x |= 7;
      25        if (x < 7 || x > 23)
      26  	link_error ();
      27      }
      28  }
      29  
      30  void
      31  f3 (int x)
      32  {
      33    if (x >= -18 && x <= 19)
      34      {
      35        x |= 7;
      36        if (x < -17 || x > 23)
      37  	link_error ();
      38      }
      39  }
      40  
      41  void
      42  f4 (int x)
      43  {
      44    if (x >= 1603 && x <= 2015)
      45      {
      46        x &= 496;
      47        if (x < 64 || x > 464)
      48  	link_error ();
      49      }
      50  }