1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-require-effective-target powerpc_p9vector_ok } */
4 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
5 /* { dg-options "-O2 -mcpu=power9" } */
6
7 #include <altivec.h>
8
9 #ifdef __LITTLE_ENDIAN__
10 #define ELEMENT 1
11 #else
12 #define ELEMENT 0
13 #endif
14
foo(double * p,vector double v)15 void foo (double *p, vector double v)
16 {
17 p[10] = vec_extract (v, ELEMENT);
18 }
19
20 /* { dg-final { scan-assembler "stxsd " } } */
21 /* { dg-final { scan-assembler-not "stxsdx" } } */
22 /* { dg-final { scan-assembler-not "stfd" } } */
23 /* { dg-final { scan-assembler-not "xxpermdi" } } */
24