[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / fold-vec-mergehl-short.c
blobb3a0362ee18a0d9b88f1f4cfe2c08e553760add4
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" } */
8 #include <altivec.h>
10 vector bool short
11 testbi_el (vector bool short vbs2, vector bool short vbs3)
13 return vec_mergel (vbs2, vbs3);
16 vector signed short
17 testsi_el (vector signed short vss2, vector signed short vss3)
19 return vec_mergel (vss2, vss3);
22 vector unsigned short
23 testui_el (vector unsigned short vus2, vector unsigned short vus3)
25 return vec_mergel (vus2, vus3);
28 vector bool short
29 testbi_eh (vector bool short vbs2, vector bool short vbs3)
31 return vec_mergeh (vbs2, vbs3);
34 vector signed short
35 testsi_eh (vector signed short vss2, vector signed short vss3)
37 return vec_mergeh (vss2, vss3);
40 vector unsigned short
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 } } */