(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
sms-13.c
       1  /* PR target/83507 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fmodulo-sched -fno-tree-ter -fno-tree-coalesce-vars" } */
       4  
       5  void
       6  foo (unsigned short int x, unsigned char y)
       7  {
       8    unsigned char *a = &y;
       9    unsigned short int b;
      10    int c;
      11  
      12    while (y < 3)
      13      {
      14        if (x != 0)
      15          ++y;
      16        ++y;
      17      }
      18  
      19    for (c = 0; c < 5; ++c)
      20      {
      21        int d = 1;
      22        d += b > x;
      23        y &= d;
      24      }
      25  
      26    do
      27      {
      28        c += y;
      29        x = c;
      30      }
      31    while (x != 0);
      32  }