1 /* Test for ICE arising from VSX code generation. */
2 /* { dg-do compile } */
3 /* { dg-options "-O3 -mdejagnu-cpu=power7 -funroll-loops" } */
4 /* { dg-require-effective-target powerpc_vsx_ok } */
5
6 int sourcenode;
7 int ARCHelems;
8 int *source_elms;
9 void vv12x12 (double *, double *, double *);
10 void
foo(int argc,char ** argv)11 foo (int argc, char **argv)
12 {
13 int i, j;
14 int cor[4];
15 double Ke[12][12], Me[12], Ce[12], Mexv[12], Cexv[12], v[12];
16 for (i = 0; i < ARCHelems; i++)
17 {
18 for (j = 0; j < 12; j++)
19 Me[j] = 0.0;
20 if (cor[j] == sourcenode)
21 vv12x12 (Me, v, Mexv);
22 vv12x12 (Ce, v, Cexv);
23 if (source_elms[i] == 3)
24 for (j = 0; j < 12; j++)
25 {
26 v[j] = -v[j];
27 Mexv[j] = -Mexv[j];
28 Cexv[j] = -Cexv[j];
29 }
30 }
31 }
32