1  /* { dg-do compile } */
       2  /* { dg-require-effective-target power10_ok } */
       3  /* { dg-options "-mdejagnu-cpu=power10 -O2" } */
       4  
       5  void
       6  foo (__vector_pair *dst, __vector_pair *src, long idx)
       7  {
       8    __vector_pair pair = *src;
       9    __builtin_vsx_stxvp (pair, 0, dst);
      10    __builtin_vsx_stxvp (pair, 32, dst);
      11    __builtin_vsx_stxvp (pair, 64, dst);
      12    /* Non-constant offset should generate a stxvpx.  */
      13    __builtin_vsx_stxvp (pair, idx, dst);
      14    /* Non-aligned offset should generate a pstxvp.  */
      15    __builtin_vsx_stxvp (pair, 257, dst);
      16  }
      17  
      18  #if !__has_builtin (__builtin_vsx_stxvp)
      19  #  error "__has_builtin (__builtin_vsx_stxvp) failed"
      20  #endif
      21  
      22  /* { dg-final { scan-assembler-not {\mlxv\M} } } */
      23  /* { dg-final { scan-assembler-not {\mstxv\M} } } */
      24  /* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */
      25  /* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */
      26  /* { dg-final { scan-assembler-times {\mstxvpx\M} 1 } } */
      27  /* { dg-final { scan-assembler-times {\mpstxvp\M} 1 } } */