[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / fold-vec-mergehl-int.c
blob4da09fd8411a1ef279c59b0069668357b3321290
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 int
11 testbi_l (vector bool int vbi2, vector bool int vbi3)
13 return vec_mergel (vbi2, vbi3);
16 vector signed int
17 testsi_l (vector signed int vsi2, vector signed int vsi3)
19 return vec_mergel (vsi2, vsi3);
22 vector unsigned int
23 testui_l (vector unsigned int vui2, vector unsigned int vui3)
25 return vec_mergel (vui2, vui3);
28 vector bool int
29 testbi_h (vector bool int vbi2, vector bool int vbi3)
31 return vec_mergeh (vbi2, vbi3);
34 vector signed int
35 testsi_h (vector signed int vsi2, vector signed int vsi3)
37 return vec_mergeh (vsi2, vsi3);
40 vector unsigned int
41 testui_h (vector unsigned int vui2, vector unsigned int vui3)
43 return vec_mergeh (vui2, vui3);
46 /* { dg-final { scan-assembler-times "vmrghw|xxmrghw" 3 } } */
47 /* { dg-final { scan-assembler-times "vmrglw|xxmrglw" 3 } } */