1/* This includes all of the vector modes that are recognized by
2   c_common_type_for_mode.  */
3
4typedef int __attribute__((mode(QI))) qi;
5typedef int __attribute__((mode(HI))) hi;
6typedef int __attribute__((mode(SI))) si;
7typedef int __attribute__((mode(DI))) di;
8typedef float __attribute__((mode(SF))) sf;
9#if ((__SIZEOF_DOUBLE__ >= 8) || (__SIZEOF_LONG_DOUBLE__ >= 8))
10typedef float __attribute__((mode(DF))) df;
11#else
12typedef float __attribute__((mode(SF))) df;
13#endif
14
15#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 5)
16
17typedef qi __attribute__((vector_size (8))) v8qi;
18typedef qi __attribute__((vector_size (16))) v16qi;
19
20typedef hi __attribute__((vector_size (4))) v2hi;
21typedef hi __attribute__((vector_size (8))) v4hi;
22typedef hi __attribute__((vector_size (16))) v8hi;
23
24typedef si __attribute__((vector_size (8))) v2si;
25typedef si __attribute__((vector_size (16))) v4si;
26
27typedef di __attribute__((vector_size (8))) v1di;
28typedef di __attribute__((vector_size (16))) v2di;
29
30typedef sf __attribute__((vector_size (8))) v2sf;
31typedef sf __attribute__((vector_size (16))) v4sf;
32typedef sf __attribute__((vector_size (64))) v16sf;
33
34typedef df __attribute__((vector_size (16))) v2df;
35
36#else
37
38typedef int __attribute__((mode(V8QI))) v8qi;
39typedef int __attribute__((mode(V16QI))) v16qi;
40
41typedef int __attribute__((mode(V2HI))) v2hi;
42typedef int __attribute__((mode(V4HI))) v4hi;
43typedef int __attribute__((mode(V8HI))) v8hi;
44
45typedef int __attribute__((mode(V2SI))) v2si;
46typedef int __attribute__((mode(V4SI))) v4si;
47
48typedef int __attribute__((mode(V1DI))) v1di;
49typedef int __attribute__((mode(V2DI))) v2di;
50
51typedef float __attribute__((mode(V2SF))) v2sf;
52typedef float __attribute__((mode(V4SF))) v4sf;
53typedef float __attribute__((mode(V16SF))) v16sf;
54
55typedef float __attribute__((mode(V2DF))) v2df;
56
57#endif
58
59typedef qi __attribute__((vector_size (32))) v32qi;
60typedef hi __attribute__((vector_size (32))) v16hi;
61typedef si __attribute__((vector_size (32))) v8si;
62typedef di __attribute__((vector_size (32))) v4di;
63typedef sf __attribute__((vector_size (32))) v8sf;
64typedef df __attribute__((vector_size (32))) v4df;
65
66typedef union U32QI { v32qi v; qi a[32]; } u32qi;
67typedef union U16HI { v16hi v; hi a[16]; } u16hi;
68typedef union U8SI { v8si v; si a[8]; } u8si;
69typedef union U4DI { v4di v; di a[4]; } u4di;
70typedef union U8SF { v8sf v; sf a[8]; } u8sf;
71typedef union U4DF { v4df v; df a[4]; } u4df;
72
73typedef union U8QI { v8qi v; qi a[8]; } u8qi;
74typedef union U16QI { v16qi v; qi a[16]; } u16qi;
75
76typedef union U2HI { v2hi v; hi a[2]; } u2hi;
77typedef union U4HI { v4hi v; hi a[4]; } u4hi;
78typedef union U8HI { v8hi v; hi a[8]; } u8hi;
79
80typedef union U2SI { v2si v; si a[2]; } u2si;
81typedef union U4SI { v4si v; si a[4]; } u4si;
82
83typedef union U1DI { v1di v; di a[1]; } u1di;
84typedef union U2DI { v2di v; di a[2]; } u2di;
85
86typedef union U2SF { v2sf v; sf a[2]; } u2sf;
87typedef union U4SF { v4sf v; sf a[4]; } u4sf;
88typedef union U16SF { v16sf v; sf a[16]; } u16sf;
89
90typedef union U2DF { v2df v; df a[2]; } u2df;
91