aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/powerpc/vec-extract-4.c
blob: c70caa87b6f053da720a276032941254499dae70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
/* { dg-skip-if "" { powerpc*-*-darwin* } } */
/* { dg-options "-O2 -mdejagnu-cpu=power9 -mvsx" } */
/* { dg-require-effective-target powerpc_vsx } */

#include <altivec.h>

#ifdef __LITTLE_ENDIAN__
#define ELEMENT 1
#else
#define ELEMENT 0
#endif

void foo (double *p, vector double v)
{
  p[10] = vec_extract (v, ELEMENT);
}

/* { dg-final { scan-assembler     "stxsd "   } } */
/* { dg-final { scan-assembler-not "stxsdx"   } } */
/* { dg-final { scan-assembler-not "stfd"     } } */
/* { dg-final { scan-assembler-not "xxpermdi" } } */