OSDN Git Service

* gcc.dg/compat/vector-defs.h: New file.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / compat / vector-defs.h
1 /* This includes all of the vector modes that are recognized by
2    c_common_type_for_mode, grouped by base mode.  */
3
4 typedef int __attribute__((mode(QI))) qi;
5 typedef int __attribute__((mode(V8QI))) v8qi;
6 typedef int __attribute__((mode(V16QI))) v16qi;
7
8 typedef union U8QI { v8qi v; qi a[8]; } u8qi;
9 typedef union U16QI { v16qi v; qi a[16]; } u16qi;
10
11 typedef int __attribute__((mode(HI))) hi;
12 typedef int __attribute__((mode(V2HI))) v2hi;
13 typedef int __attribute__((mode(V4HI))) v4hi;
14 typedef int __attribute__((mode(V8HI))) v8hi;
15
16 typedef union U2HI { v2hi v; hi a[2]; } u2hi;
17 typedef union U4HI { v4hi v; hi a[4]; } u4hi;
18 typedef union U8HI { v8hi v; hi a[8]; } u8hi;
19
20 typedef int __attribute__((mode(SI))) si;
21 typedef int __attribute__((mode(V2SI))) v2si;
22 typedef int __attribute__((mode(V4SI))) v4si;
23
24 typedef union U2SI { v2si v; si a[2]; } u2si;
25 typedef union U4SI { v4si v; si a[4]; } u4si;
26
27 typedef int __attribute__((mode(DI))) di;
28 typedef int __attribute__((mode(V1DI))) v1di;
29 typedef int __attribute__((mode(V2DI))) v2di;
30
31 typedef union U1DI { v1di v; di a[1]; } u1di;
32 typedef union U2DI { v2di v; di a[2]; } u2di;
33
34 typedef float __attribute__((mode(SF))) sf;
35 typedef float __attribute__((mode(V2SF))) v2sf;
36 typedef float __attribute__((mode(V4SF))) v4sf;
37 typedef float __attribute__((mode(V16SF))) v16sf;
38
39 typedef union U2SF { v2sf v; sf a[2]; } u2sf;
40 typedef union U4SF { v4sf v; sf a[4]; } u4sf;
41 typedef union U16SF { v16sf v; sf a[16]; } u16sf;
42
43 typedef float __attribute__((mode(DF))) df;
44 typedef float __attribute__((mode(V2DF))) v2df;
45
46 typedef union U2DF { v2df v; df a[2]; } u2df;