2018-03-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / warn-vect-op-3.c
blob5468b5b63f0769cd7a419b483ce5ed8a8de120f7
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 (8, short) v0 = {argc, 1, 15, 38, 12, -1, argc, 2};
9 vector (8, short) v1 = {-4, argc, 2, 11, 1, 17, -8, argc};
10 vector (8, short) res[] =
12 v0 + v1, /* { dg-warning "expanded in parallel" } */
13 v0 - v1, /* { dg-warning "expanded in parallel" } */
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];