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} } } */
16 testd_var (vector
double vd2
, signed int si
)
18 return vec_extract (vd2
, si
);
22 #define LEFTMOST_ELEMENT_INDEX 0
24 #define LEFTMOST_ELEMENT_INDEX 1
28 testd_cst (vector
double vd2
)
30 return vec_extract (vd2
, LEFTMOST_ELEMENT_INDEX
);