| /* { dg-do compile { target powerpc*-*-* } } */ |
| /* { dg-options "-maltivec" } */ |
| |
| /* Program to test the vector_size attribute. This needs to run on a |
| target that has vectors, so use AltiVec. */ |
| |
| #define vector __attribute__((vector_size(16))) |
| |
| vector int foobar; |
| |
| /* Only floats and integrals allowed. We don't care if they map to SIs. */ |
| struct X { int frances; }; |
| vector struct X hotdog; /* { dg-error "invalid vector type" } */ |
| |
| /* Arrays of vectors. */ |
| vector char b[10], ouch; |
| |
| /* Pointers of vectors. */ |
| vector short *shoe, polish; |
| |
| int xxx[sizeof(foobar) == 16 ? 69 : -1]; |
| |
| int nc17[sizeof(shoe) == sizeof (char *) ? 69 : -1]; |
| |
| code () |
| { |
| *shoe = polish; |
| b[1] = ouch; |
| } |
| |
| vector short |
| hoop () |
| { |
| return polish; |
| } |