47 lines
801 B
C
47 lines
801 B
C
/* Test for reload ICE arising from POWER9 Vector Dform code generation. */
|
|
/* { dg-do compile } */
|
|
/* { dg-require-effective-target powerpc_p9vector_ok } */
|
|
/* { dg-options "-O3 -mpower9-vector -funroll-loops -fno-aggressive-loop-optimizations" } */
|
|
|
|
typedef double vec[3];
|
|
struct vec_t
|
|
{
|
|
vec x;
|
|
vec y;
|
|
};
|
|
int a, j, k, l, m, n, o, p, q;
|
|
double b, i;
|
|
vec c;
|
|
double h[6];
|
|
void func1 (vec);
|
|
|
|
void
|
|
func2 (double *b)
|
|
{
|
|
for (; k; k--)
|
|
for (; j <= k;)
|
|
for (; m <= q; m++)
|
|
for (; n <= k; n++)
|
|
for (; o <= l; o++)
|
|
{
|
|
j = p + m + n + o;
|
|
h[j] = i;
|
|
}
|
|
}
|
|
|
|
void
|
|
func3 (void)
|
|
{
|
|
struct vec_t d;
|
|
func1 (d.y);
|
|
func2 (&b);
|
|
for (; a;)
|
|
{
|
|
double *e = d.y, *g;
|
|
double f;
|
|
c[0] = g[0] + f * e[0];
|
|
c[1] = g[1] + f * e[1];
|
|
func1 (c);
|
|
}
|
|
}
|