/* { dg-do compile { target powerpc*-*-* } } */ /* { dg-require-effective-target powerpc_altivec_ok } */ /* { 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; }