OSDN Git Service

PR testsuite/39769
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vmx / x-03.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
17 f(vector unsigned char u8p, vector signed char s8p, vector bool char b8p,
18   vector unsigned short u16p, vector signed short s16p,
19   vector bool short b16p, vector unsigned int u32p, 
20   vector signed int s32p, vector bool int b32p,
21   vector float f32p, vector pixel p16p)
22 {
23   vector unsigned char u8l = u8();
24   vector signed char s8l = s8();
25   vector bool char b8l = b8();
26   vector unsigned short u16l = u16();
27   vector signed short s16l = s16();
28   vector bool short b16l = b16();
29   vector unsigned int u32l = u32();
30   vector signed int s32l = s32();
31   vector bool int b32l = b32();
32   vector float f32l = f32();
33   vector pixel p16l = p16();
34
35   g(u8l, s8l, b8l, u16l, s16l, b16l, u32l, s32l, b32l, f32l, p16l);
36 }
37
38 vector unsigned char
39 u8(void)
40 {
41   static vector unsigned char zero;
42   return zero;
43 }
44
45 vector signed char
46 s8(void)
47 {
48   static vector signed char zero;
49   return zero;
50 }
51
52 vector bool char
53 b8(void)
54 {
55   static vector bool char zero;
56   return zero;
57 }
58
59 vector unsigned short
60 u16(void)
61 {
62   static vector unsigned short zero;
63   return zero;
64 }
65
66 vector signed short
67 s16(void)
68 {
69   static vector signed short zero;
70   return zero;
71 }
72
73 vector bool short
74 b16(void)
75 {
76   static vector bool short zero;
77   return zero;
78 }
79
80 vector unsigned int
81 u32(void)
82 {
83   static vector unsigned int zero;
84   return zero;
85 }
86
87 vector signed int
88 s32(void)
89 {
90   static vector signed int zero;
91   return zero;
92 }
93
94 vector bool int
95 b32(void)
96 {
97   static vector bool int zero;
98   return zero;
99 }
100
101 vector float
102 f32(void)
103 {
104   static vector float zero;
105   return zero;
106 }
107
108 vector pixel
109 p16(void)
110 {
111   static vector pixel zero;
112   return zero;
113 }
114
115 void
116 g(vector unsigned char a, ...)
117 {
118 }
119
120 int main()
121 {
122   f(u8(), s8(), b8(), u16(), s16(), b16(), u32(), s32(), b32(), f32(), p16());
123   return 0; 
124 }