1 /* Verify that overloaded built-ins for vec_merge* with int
2 inputs produce the right code. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target powerpc_altivec_ok } */
6 /* { dg-options "-maltivec -O2" } */
11 testbi_el (vector
bool short vbs2
, vector
bool short vbs3
)
13 return vec_mergel (vbs2
, vbs3
);
17 testsi_el (vector
signed short vss2
, vector
signed short vss3
)
19 return vec_mergel (vss2
, vss3
);
23 testui_el (vector
unsigned short vus2
, vector
unsigned short vus3
)
25 return vec_mergel (vus2
, vus3
);
29 testbi_eh (vector
bool short vbs2
, vector
bool short vbs3
)
31 return vec_mergeh (vbs2
, vbs3
);
35 testsi_eh (vector
signed short vss2
, vector
signed short vss3
)
37 return vec_mergeh (vss2
, vss3
);
41 testui_eh (vector
unsigned short vus2
, vector
unsigned short vus3
)
43 return vec_mergeh (vus2
, vus3
);
46 /* { dg-final { scan-assembler-times "vmrghh" 3 } } */
47 /* { dg-final { scan-assembler-times "vmrglh" 3 } } */