1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-mno-sse -Wvector-operation-performance" } */
3 #define vector(elcount, type) \
4 __attribute__((vector_size((elcount)*sizeof(type)))) type
6 int main (int argc
, char *argv
[])
8 vector (4, int) v0
= {argc
, 1, 15, 38};
9 vector (4, int) v1
= {-4, argc
, 2, 11};
10 vector (4, int) res
[] =
12 v0
+ v1
, /* { dg-warning "expanded piecewise" } */
13 v0
- v1
, /* { dg-warning "expanded piecewise" } */
14 v0
> v1
, /* { dg-warning "expanded piecewise" } */
15 v0
& v1
, /* { dg-warning "expanded in parallel" } */
16 __builtin_shuffle (v0
, v1
), /* { dg-warning "expanded piecewise" } */
17 __builtin_shuffle (v0
, v1
, v1
) /* { dg-warning "expanded piecewise" } */
20 return res
[argc
][argc
];