blob: 44c39c2ef96f3c920ab30d80ba32f7ef13f4926b [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Wall" } */
/* Origin: Aldy Hernandez <aldyh@redhat.com>. */
/* Purpose: Program to test generic SIMD support. */
typedef int __attribute__((vector_size (16))) v4si;
typedef int __attribute__((vector_size (8))) v2si;
v4si a, b;
v2si c, d;
void
hanneke ()
{
/* Operators on compatible SIMD types. */
a %= b;
c &= d;
a |= b;
c ^= d;
a >>= b;
c <<= d;
a = +b;
c = ~d;
/* Operators on incompatible SIMD types. */
a = b % c; /* { dg-error "invalid operands to binary" } */
a = b % c; /* { dg-error "invalid operands to binary" } */
d = c & b; /* { dg-error "invalid operands to binary" } */
a = b | c; /* { dg-error "invalid operands to binary" } */
d = c ^ b; /* { dg-error "invalid operands to binary" } */
a = b >> c; /* { dg-error "invalid operands to binary" } */
a = b >> c; /* { dg-error "invalid operands to binary" } */
d = c << b; /* { dg-error "invalid operands to binary" } */
d = c << b; /* { dg-error "invalid operands to binary" } */
}