(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
s390/
pr101260.c
       1  /* PR rtl-optimization/101260 */
       2  /* { dg-do run { target s390_useable_hw } } */
       3  /* { dg-options "-O1 -march=z14" } */
       4  
       5  /* This used to fail with commit: 5dc1390b41d */
       6  
       7  struct a
       8  {
       9    unsigned b:7;
      10    int c;
      11    int d;
      12    short e;
      13  } p, *q = &p;
      14  int f, g, h, i, r, s;
      15  static short j[8][1][6] = { };
      16  
      17  char k[7];
      18  short l, m;
      19  int *n;
      20  int **o = &n;
      21  void
      22  t ()
      23  {
      24    for (; f;)
      25      ;
      26  }
      27  
      28  static struct a
      29  u (int x)
      30  {
      31    struct a a = { 4, 8, 5, 4 };
      32    for (; i <= 6; i++)
      33      {
      34        struct a v = { };
      35        for (; l; l++)
      36  	h = 0;
      37        for (; h >= 0; h--)
      38  	{
      39  	  j[i];
      40  	  struct a *w = &p;
      41  	  s = 0;
      42  	  for (; s < 3; s++)
      43  	    {
      44  	      r ^= x;
      45  	      m = j[i][g][h] == (k[g] = g);
      46  	      *w = v;
      47  	    }
      48  	  r = 2;
      49  	  for (; r; r--)
      50  	    *o = &r;
      51  	}
      52      }
      53    t ();
      54    return a;
      55  }
      56  
      57  int
      58  main ()
      59  {
      60    *q = u (636);
      61    if (p.b != 4)
      62      __builtin_abort ();
      63  }