[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / fold-vec-mergeeo-longlong.c
blobc733522d8d0b8df9b1ba8a52ac898eb9ee551f08
1 /* Verify that overloaded built-ins for vec_mergee and vec_mergeo
2 with long long inputs produce the right codegen. */
4 /* { dg-do compile } */
5 /* { dg-require-effective-target powerpc_vsx_ok } */
6 /* { dg-options "-mdejagnu-cpu=power8 -mvsx" } */
8 #include <altivec.h>
10 vector bool long long
11 testbi_ee (vector bool long long v1, vector bool long long v2)
13 return vec_mergee (v1, v2);
16 vector bool long long
17 testbi_eo (vector bool long long v1, vector bool long long v2)
19 return vec_mergeo (v1, v2);
22 vector signed long long
23 testsi_ee (vector signed long long v1, vector signed long long v2)
25 return vec_mergee (v1, v2);
28 vector signed long long
29 testsi_eo (vector signed long long v1, vector signed long long v2)
31 return vec_mergeo (v1, v2);
34 vector unsigned long long
35 testui_ee (vector unsigned long long v1, vector unsigned long long v2)
37 return vec_mergee (v1, v2);
40 vector unsigned long long
41 testui_eo (vector unsigned long long v1, vector unsigned long long v2)
43 return vec_mergeo (v1, v2);
46 /* long long ... */
47 /* vec_mergee and vec_mergeo codegen will consist of some number of
48 xxpermdi instructions that will vary. Ensure we get at least one. */
49 /* { dg-final { scan-assembler "xxpermdi" } } */