(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr66691.c
       1  /* PR target/66691 */
       2  /* { dg-do compile } */
       3  /* { dg-require-effective-target ia32 } */
       4  /* { dg-options "-O3 -g -mtune=generic -march=i686" } */
       5  
       6  unsigned int a;
       7  int b[2], c, d, e, f, g, h, i, k[8], l, m, s, t, w;
       8  static int j;
       9  
      10  void
      11  fn1 (long long p)
      12  {
      13    int t = p;
      14    c = c ^ b[c ^ (t & 1)];
      15  }
      16  
      17  static void
      18  fn2 (long long p)
      19  {
      20    c = c ^ b[1 ^ (d & 1)];
      21    fn1 (p >> 1 & 1);
      22    fn1 (p >> 2);
      23  }
      24  
      25  static void
      26  fn3 ()
      27  {
      28    unsigned char p;
      29    f = g = 0;
      30    for (h = 0; h < 6; h++)
      31      {
      32        for (s = 0; s < 7; s++)
      33  	if (k[s+1])
      34  	  g = 0;
      35  	else
      36  	  for (j = 0; j < 2; j++)
      37  	    ;
      38        t = j > 2 ? 0 : 1 >> j;
      39      }
      40    if (l)
      41      {
      42        short q[2];
      43        q[0] = q[1] = 0;
      44        if (m)
      45  	for (i = 0; i < 2; i++)
      46  	  {
      47  	    unsigned char r = q[i];
      48  	    p = f ? r % f : r;
      49  	    e = ((p > 0) <= (q[i] ^ 1)) + a;
      50  	    if (k[1])
      51  	      for (e = 0; e != 18; ++e)
      52  		k[0] = 0;
      53  	  }
      54      }
      55  }
      56  
      57  int
      58  main ()
      59  {
      60    fn3 ();
      61    fn2 (w);
      62    fn2 (j);
      63    return 0;
      64  }