| /* { dg-do compile } */ |
| |
| typedef long v4di __attribute__((vector_size(4 * sizeof (long)))); |
| typedef int v4si __attribute__((vector_size(4 * sizeof (int)))); |
| typedef int v8si __attribute__((vector_size(8 * sizeof (int)))); |
| |
| v4si res, a, b; |
| v4di resl, al, bl; |
| v8si res8, a8, b8; |
| void foo (void) |
| { |
| res = __builtin_shufflevector (a, 0, 0, 1, 4, 5); /* { dg-error "must be vectors" } */ |
| res = __builtin_shufflevector (a, b, 0, 1, 4, 5, 6); /* { dg-error "power of two" } */ |
| res = __builtin_shufflevector (a, b, 0, 1, 4, 8); /* { dg-error "invalid" } */ |
| res = __builtin_shufflevector (a, b, 0, 1, -4, 5); /* { dg-error "invalid" } */ |
| res = __builtin_shufflevector (a, bl, 0, 1, 4, 5); /* { dg-error "same element type" } */ |
| resl = __builtin_shufflevector (a, b, 0, 1, 4, 5); /* { dg-error "" } incompatible types */ |
| } |