summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vmx/spill3.c
blob: 9f1c45c65b541c016e127845bbc901b17199deb8 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <altivec.h>
extern void g(vector unsigned char, ...);
extern vector unsigned char v(void);
extern double d(void);
extern int i(void);

static vector unsigned char v1l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v2l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v3l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v4l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v5l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v6l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v7l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v8l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v9l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v10l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v11l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static vector unsigned char v12l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static double d1l = 0;
static double d2l = 0;
static double d3l = 0;
static double d4l = 0;
static double d5l = 0;
static double d6l = 0;
static double d7l = 0;
static double d8l = 0;
static double d9l = 0;
static double d10l = 0;
static double d11l = 0;
static double d12l = 0;
static double d13l = 0;
static double d14l = 0;
static double d15l = 0;
static double d16l = 0;
static double d17l = 0;
static double d18l = 0;
static int i1l = 0;
static int i2l = 0;
static int i3l = 0;
static int i4l = 0;
static int i5l = 0;
static int i6l = 0;
static int i7l = 0;
static int i8l = 0;
static int i9l = 0;
static int i10l = 0;
static int i11l = 0;
static int i12l = 0;
static int i13l = 0;
static int i14l = 0;
static int i15l = 0;
static int i16l = 0;
static int i17l = 0;
static int i18l = 0;
static int i19l = 0;

void f()
{
  char buffer[23];
  vector unsigned char v1l = v();
  vector unsigned char v2l = v();
  vector unsigned char v3l = v();
  vector unsigned char v4l = v();
  vector unsigned char v5l = v();
  vector unsigned char v6l = v();
  vector unsigned char v7l = v();
  vector unsigned char v8l = v();
  vector unsigned char v9l = v();
  vector unsigned char v10l = v();
  vector unsigned char v11l = v();
  vector unsigned char v12l = v();

  double d1l = d();
  double d2l = d();
  double d3l = d();
  double d4l = d();
  double d5l = d();
  double d6l = d();
  double d7l = d();
  double d8l = d();
  double d9l = d();
  double d10l = d();
  double d11l = d();
  double d12l = d();
  double d13l = d();
  double d14l = d();
  double d15l = d();
  double d16l = d();
  double d17l = d();
  double d18l = d();

  int i1l = i();
  int i2l = i();
  int i3l = i();
  int i4l = i();
  int i5l = i();
  int i6l = i();
  int i7l = i();
  int i8l = i();
  int i9l = i();
  int i10l = i();
  int i11l = i();
  int i12l = i();
  int i13l = i();
  int i14l = i();
  int i15l = i();
  int i16l = i();
  int i17l = i();
  int i18l = i();
  int i19l = i();

  if (d1l)
    g(v1l, v2l, v3l, v4l, v5l, v6l, v7l, v8l, v9l, v10l, v11l, v12l,
      d1l, d2l, d3l, d4l, d5l, d6l, d7l, d8l, d9l, d10l, d11l, d12l,
      d13l, d14l, d15l, d16l, d17l, d18l,
      i1l, i2l, i3l, i4l, i5l, i6l, i7l, i8l, i9l, i10l, i11l, i12l,
      i13l, i14l, i15l, i16l, i17l, i18l, i19l);

  g(v1l, buffer,
    d1l, d2l, d3l, d4l, d5l, d6l, d7l, d8l, d9l, d10l, d11l, d12l,
    d13l, d14l, d15l, d16l, d17l, d18l,
    i1l, i2l, i3l, i4l, i5l, i6l, i7l, i8l, i9l, i10l, i11l, i12l,
    i13l, i14l, i15l, i16l, i17l, i18l, i19l);
}

double
d(void)
{
  static double zero;
  return zero;
}

int
i(void)
{
  static int non_zero;
  return ++non_zero;
}

vector unsigned char
v(void)
{
  static vector unsigned char zero;
  return zero;
}

void
g(vector unsigned char a, ...)
{
}

int main() 
{
  f();
  return 0;
}