1 /* { dg-do compile } */
2 /* { dg-options "-w" } */
4 /* SSE1 and SSE2 modes. */
5 typedef unsigned char V16QImode
__attribute__((vector_size(16)));
6 typedef unsigned short V8HImode
__attribute__((vector_size(16)));
7 typedef unsigned int V4SImode
__attribute__((vector_size(16)));
8 typedef unsigned long long V2DImode
__attribute__((vector_size(16)));
9 typedef float V4SFmode
__attribute__((vector_size(16)));
10 typedef double V2DFmode
__attribute__((vector_size(16)));
12 /* MMX and 3DNOW modes. */
13 typedef unsigned char V8QImode
__attribute__((vector_size(8)));
14 typedef unsigned short V4HImode
__attribute__((vector_size(8)));
15 typedef unsigned int V2SImode
__attribute__((vector_size(8)));
16 typedef float V2SFmode
__attribute__((vector_size(8)));
18 /* Test argument loading and unloading of each. */
20 extern TYPE data_##TYPE; \
21 void r_##TYPE (TYPE x) { data_##TYPE = x; } \
22 void s_##TYPE (void) { r_##TYPE (data_##TYPE); }