/* { dg-do run } */ /* { dg-options "-Wno-psabi -w" } */ #define vector(elcount, type) \ __attribute__((vector_size((elcount)*sizeof(type)))) type /* Check that constant folding in these simple cases works. */ vector (4, int) foo (vector (4, int) x) { return (x == x) + (x != x) + (x > x) + (x < x) + (x >= x) + (x <= x); } int main (int argc, char *argv[]) { vector (4, int) t = {argc, 2, argc, 42}; vector (4, int) r; int i; r = foo (t); for (i = 0; i < 4; i++) if (r[i] != -3) __builtin_abort (); return 0; }