OSDN Git Service

PR rtl-optimization/40861
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vmx / spill.c
1 #include <altivec.h>
2 extern vector unsigned char u8(void);
3 extern vector signed char s8(void);
4 extern vector bool char b8(void);
5 extern vector unsigned short u16(void);
6 extern vector signed short s16(void);
7 extern vector bool short b16(void);
8 extern vector unsigned int u32(void);
9 extern vector signed int s32(void);
10 extern vector bool int b32(void);
11 extern vector float f32(void);
12 extern vector pixel p16(void);
13
14 extern void g(vector unsigned char, ...);
15
16 void f()
17 {
18   vector unsigned char u8l = u8();
19   vector signed char s8l = s8();
20   vector bool char b8l = b8();
21   vector unsigned short u16l = u16();
22   vector signed short s16l = s16();
23   vector bool short b16l = b16();
24   vector unsigned int u32l = u32();
25   vector signed int s32l = s32();
26   vector bool int b32l = b32();
27   vector float f32l = f32();
28   vector pixel p16l = p16();
29   vector unsigned char u8lx = u8();
30   vector signed char s8lx = s8();
31   vector bool char b8lx = b8();
32   vector unsigned short u16lx = u16();
33   vector signed short s16lx = s16();
34   vector bool short b16lx = b16();
35   vector unsigned int u32lx = u32();
36   vector signed int s32lx = s32();
37   vector bool int b32lx = b32();
38   vector float f32lx = f32();
39   vector pixel p16lx = p16();
40
41   g(u8l, s8l, b8l, u16l, s16l, b16l, u32l, s32l, b32l, f32l, p16l,
42     u8lx, s8lx, b8lx, u16lx, s16lx, b16lx, u32lx, s32lx, b32lx, f32lx, p16lx);
43 }
44
45 vector unsigned char
46 u8(void)
47 {
48   static vector unsigned char zero;
49   return zero;
50 }
51
52 vector signed char
53 s8(void)
54 {
55   static vector signed char zero;
56   return zero;
57 }
58
59 vector bool char
60 b8(void)
61 {
62   static vector bool char zero;
63   return zero;
64 }
65
66 vector unsigned short
67 u16(void)
68 {
69   static vector unsigned short zero;
70   return zero;
71 }
72
73 vector signed short
74 s16(void)
75 {
76   static vector signed short zero;
77   return zero;
78 }
79
80 vector bool short
81 b16(void)
82 {
83   static vector bool short zero;
84   return zero;
85 }
86
87 vector unsigned int
88 u32(void)
89 {
90   static vector unsigned int zero;
91   return zero;
92 }
93
94 vector signed int
95 s32(void)
96 {
97   static vector signed int zero;
98   return zero;
99 }
100
101 vector bool int
102 b32(void)
103 {
104   static vector bool int zero;
105   return zero;
106 }
107
108 vector float
109 f32(void)
110 {
111   static vector float zero;
112   return zero;
113 }
114
115 vector pixel
116 p16(void)
117 {
118   static vector pixel zero;
119   return zero;
120 }
121
122 void
123 g(vector unsigned char a, ...)
124 {
125 }
126
127 int main()
128 {
129   f();
130   return 0; 
131 }