blob: a91ac0c43ac60cad3ef0e2a54eb828a651f85f11 [file] [log] [blame]
/* { 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];
void
code ()
{
*shoe = polish;
b[1] = ouch;
}
vector short
hoop ()
{
return polish;
}