(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
s390/
zvector/
vec-reve-store-byte-z14.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -mzarch -march=z14 -mzvector" } */
       3  
       4  #include <vecintrin.h>
       5  
       6  /* reg -> mem */
       7  void
       8  foo (vector signed char *target, vector signed char x)
       9  {
      10    *target = vec_reve (x);
      11  }
      12  
      13  void
      14  bar (signed char *target, vector signed char x)
      15  {
      16    vec_xst (vec_reve (x), 0, target);
      17  }
      18  
      19  /* mem -> mem */
      20  void
      21  baz (vector signed char *target, vector signed char *x)
      22  {
      23    *target = vec_reve (*x);
      24  }
      25  
      26  /* { dg-final { scan-assembler-times "vperm\t" 3 } } */