1 /* { dg-do compile } */
2 /* { dg-options "-Wall" } */
4 /* Origin: Aldy Hernandez <aldyh@redhat.com>. */
5 /* Purpose: Program to test generic SIMD support. */
7 typedef int __attribute__((vector_size (16))) v4si
;
8 typedef int __attribute__((vector_size (8))) v2si
;
16 /* Operators on compatible SIMD types. */
17 a
%= b
; /* { dg-bogus "invalid operands to binary %" "" { xfail *-*-* } } */
21 a
>>= b
; /* { dg-bogus "invalid operands to binary >>" "" { xfail *-*-* } } */
22 c
<<= d
; /* { dg-bogus "invalid operands to binary <<" "" { xfail *-*-* } } */
26 /* Operators on incompatible SIMD types. */
27 /* a = b % c; { dg*error "can't convert between vector values of different size" } */
28 a
= b
% c
; /* { dg-bogus "invalid operands to binary %" "" { xfail *-*-* } } */
29 d
= c
& b
; /* { dg-error "can't convert between vector values of different size" } */
30 a
= b
| c
; /* { dg-error "can't convert between vector values of different size" } */
31 d
= c
^ b
; /* { dg-error "can't convert between vector values of different size" } */
32 /* a = b >> c; { dg*error "can't convert between vector values of different size" } */
33 a
= b
>> c
; /* { dg-bogus "invalid operands to binary >>" "" { xfail *-*-* } } */
34 /* d = c << b; { dg*error "can't convert between vector values of different size" } */
35 d
= c
<< b
; /* { dg-bogus "invalid operands to binary <<" "" { xfail *-*-* } } */