[RS6000] Tests that use int128_t and -m32
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / p8vector-vbpermq.c
blobc2ab68ba7612dc3dd84fcba8c490778268acbaf3
1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
3 /* { dg-require-effective-target powerpc_p8vector_ok } */
4 /* { dg-options "-O3 -mdejagnu-cpu=power8" } */
5 /* { dg-final { scan-assembler "vbpermq" } } */
6 /* { dg-final { scan-assembler "mfvsrd" } } */
7 /* { dg-final { scan-assembler-not "stfd" } } */
8 /* { dg-final { scan-assembler-not "stxvd2x" } } */
10 #include <altivec.h>
12 #if __LITTLE_ENDIAN__
13 #define OFFSET 1
14 #else
15 #define OFFSET 0
16 #endif
18 long foos (vector signed char a, vector signed char b)
20 return vec_extract (vec_vbpermq (a, b), OFFSET);
23 long foou (vector unsigned char a, vector unsigned char b)
25 return vec_extract (vec_vbpermq (a, b), OFFSET);