aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vect/pr68502-1.c
blob: cc6e6cd9a2be0e921382bda3c653f6a6b730b905 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdlib.h>
#include "tree-vect.h"

typedef struct {
    double *I;
    double W;
    double X;
    double V;
    double U;
    double P;
    double Q;
    double R;
} f1_neuron;

f1_neuron *f1_layer;

int numf1s = 1000;

void __attribute__((noinline,noclone))
reset_nodes() 
{
  int i;

  for (i=0;i<numf1s;i++)
    {
      f1_layer[i].W = 0.0;
      f1_layer[i].X = 0.0;
      f1_layer[i].V = 0.0;
      f1_layer[i].U = 0.0;
      f1_layer[i].P = 0.0;
      f1_layer[i].Q = 0.0;
      f1_layer[i].R = 0.0;
    }
}

int main ()
{
  int i;
  check_vect ();
  f1_layer = (f1_neuron *)malloc (numf1s * sizeof (f1_neuron));
  for (i = 0; i < numf1s; i++)
    f1_layer[i].I = (double *)-1;
  reset_nodes ();
#pragma GCC novector
  for (i = 0; i < numf1s; i++)
    if (f1_layer[i].I != (double *)-1)
      abort ();
  return 0; 
}