1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse2" } */
3 #define vector __attribute__((vector_size(16)))
6 vector
float f1(void) { return (vector
float){ 0.0, 0.0, a
, a
}; }
7 vector
float f2(void) { return (vector
float){ a
, a
, 0.0, 0.0}; }
8 vector
float f3(void) { return (vector
float){ 0.0, a
, 0.0, a
}; }
9 vector
float f4(void) { return (vector
float){ a
, 0.0, a
, 0.0}; }
11 vector
float f5(void) { return (vector
float){ 1.0, 1.0, a
, a
}; }
12 vector
float f6(void) { return (vector
float){ a
, a
, 1.0, 1.0}; }
13 vector
float f7(void) { return (vector
float){ 1.0, a
, 1.0, a
}; }
14 vector
float f8(void) { return (vector
float){ a
, 1.0, a
, 1.0}; }
16 vector
float fa(void) { return (vector
float){ 1.0, 1.0, 0.0, 0.0}; }
17 vector
float fb(void) { return (vector
float){ 1.0, 0.0, 1.0, 0.0}; }
18 vector
float fc(void) { return (vector
float){ 0.0, 1.0, 0.0, 1.0}; }
20 vector
float fA(void) { return (vector
float){ a
, a
, b
, b
}; }
21 vector
float fB(void) { return (vector
float){ a
, b
, a
, b
}; }
22 vector
float fC(void) { return (vector
float){ a
, a
, a
, a
}; }
24 /* { dg-final { scan-assembler-not "%mm" } } */