(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
powerpc/
p8vector-vbpermq.c
       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" } } */
       9  
      10  #include <altivec.h>
      11  
      12  #if __LITTLE_ENDIAN__
      13  #define OFFSET 1
      14  #else
      15  #define OFFSET 0
      16  #endif
      17  
      18  long foos (vector signed char a, vector signed char b)
      19  {
      20    return vec_extract (vec_vbpermq (a, b), OFFSET);
      21  }
      22  
      23  long foou (vector unsigned char a, vector unsigned char b)
      24  {
      25    return vec_extract (vec_vbpermq (a, b), OFFSET);
      26  }
      27