1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse2" } */
4 #define vector __attribute__((vector_size(16)))
7 vector
int f1(void) { return (vector
int){ 0, 0, a
, a
}; }
8 vector
int f2(void) { return (vector
int){ a
, a
, 0, 0}; }
9 vector
int f3(void) { return (vector
int){ 0, a
, 0, a
}; }
10 vector
int f4(void) { return (vector
int){ a
, 0, a
, 0}; }
12 vector
int f5(void) { return (vector
int){ 1, 1, a
, a
}; }
13 vector
int f6(void) { return (vector
int){ a
, a
, 1, 1}; }
14 vector
int f7(void) { return (vector
int){ 1, a
, 1, a
}; }
15 vector
int f8(void) { return (vector
int){ a
, 1, a
, 1}; }
17 vector
int fa(void) { return (vector
int){ 1, 1, 0, 0}; }
18 vector
int fb(void) { return (vector
int){ 1, 0, 1, 0}; }
19 vector
int fc(void) { return (vector
int){ 0, 1, 0, 1}; }
21 vector
int fA(void) { return (vector
int){ a
, a
, b
, b
}; }
22 vector
int fB(void) { return (vector
int){ a
, b
, a
, b
}; }
23 vector
int fC(void) { return (vector
int){ a
, a
, a
, a
}; }
25 /* { dg-final { scan-assembler-not "%mm" } } */