1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -mzarch -march=z14 -mzvector" } */
       3  
       4  #include <vecintrin.h>
       5  
       6  /* reg -> mem */
       7  void
       8  test (vector double *target, vector double x)
       9  {
      10    *target = vec_revb (x);
      11  }
      12  
      13  void
      14  test3 (double *target, vector double x)
      15  {
      16    vec_xst (vec_revb (x), 0, target);
      17  }
      18  
      19  /* mem -> mem */
      20  void
      21  test2 (vector double *target, vector double *x)
      22  {
      23    *target = vec_revb (*x);
      24  }
      25  
      26  /* { dg-final { scan-assembler-times "vperm\t" 3 } } */