[testsuite] require sqrt_insn effective target where needed
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / fold-vec-extract-double.p9.c
blob880f4242b1eafb2631a358ede740342897bdc1be
1 /* Verify that overloaded built-ins for vec_extract() with
2 double inputs produce the right code. */
4 /* { dg-do compile { target { p9vector_hw } } } */
5 /* { dg-require-effective-target p9vector_hw } */
6 /* { dg-options "-mdejagnu-cpu=power9 -O2 " } */
8 /* { dg-final { scan-assembler-times {\mxxlor\M} 2 { target lp64} } } */
9 /* { dg-final { scan-assembler-times {\mrldic\M} 1 { target lp64} } } */
10 /* { dg-final { scan-assembler-times {\mmtvsrdd\M} 1 { target lp64} } } */
11 /* { dg-final { scan-assembler-times {\mvslo\M} 1 { target lp64} } } */
13 #include <altivec.h>
15 double
16 testd_var (vector double vd2, signed int si)
18 return vec_extract (vd2, si);
21 #ifdef __BIG_ENDIAN__
22 #define LEFTMOST_ELEMENT_INDEX 0
23 #else
24 #define LEFTMOST_ELEMENT_INDEX 1
25 #endif
27 double
28 testd_cst (vector double vd2)
30 return vec_extract (vd2, LEFTMOST_ELEMENT_INDEX);