summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/pr48053-1.c
blob: fd7cd3d9ed38acf9a29f73d595361c8b0c0bc8df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* Test for ICE arising from VSX code generation.  */
/* { dg-do compile } */
/* { dg-options "-O3 -mcpu=power7 -funroll-loops" } */
/* { dg-require-effective-target powerpc_vsx_ok } */

int sourcenode;
int ARCHelems;
int *source_elms;
void
foo (int argc, char **argv)
{
  int i, j;
  int cor[4];
  double Ke[12][12], Me[12], Ce[12], Mexv[12], Cexv[12], v[12];
  for (i = 0; i < ARCHelems; i++)
    {
      for (j = 0; j < 12; j++)
	Me[j] = 0.0;
      if (cor[j] == sourcenode)
	vv12x12 (Me, v, Mexv);
      vv12x12 (Ce, v, Cexv);
      if (source_elms[i] == 3)
	for (j = 0; j < 12; j++)
	  {
	    v[j] = -v[j];
	    Mexv[j] = -Mexv[j];
	    Cexv[j] = -Cexv[j];
	  }
    }
}