(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
pr71656-2.c
       1  /* Test for reload ICE arising from POWER9 Vector Dform code generation.  */
       2  /* { dg-do compile } */
       3  /* { dg-require-effective-target powerpc_p9vector_ok } */
       4  /* { dg-options "-O3 -mpower9-vector -funroll-loops -fno-aggressive-loop-optimizations" } */
       5  
       6  typedef double vec[3];
       7  struct vec_t
       8  {
       9    vec x;
      10    vec y;
      11  };
      12  int a, j, k, l, m, n, o, p, q;
      13  double b, i;
      14  vec c;
      15  double h[6];
      16  void func1 (vec);
      17  
      18  void
      19  func2 (double *b)
      20  {
      21    for (; k; k--)
      22      for (; j <= k;)
      23        for (; m <= q; m++)
      24  	for (; n <= k; n++)
      25  	  for (; o <= l; o++)
      26  	    {
      27  	      j = p + m + n + o;
      28  	      h[j] = i;
      29  	    }
      30  }
      31  
      32  void
      33  func3 (void)
      34  {
      35    struct vec_t d;
      36    func1 (d.y);
      37    func2 (&b);
      38    for (; a;)
      39      {
      40        double *e = d.y, *g;
      41        double f;
      42        c[0] = g[0] + f * e[0];
      43        c[1] = g[1] + f * e[1];
      44        func1 (c);
      45      }
      46  }