1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -mzarch -march=arch13 -mzvector -fno-asynchronous-unwind-tables -dp" } */
       3  
       4  #include <vecintrin.h>
       5  
       6  vector signed short
       7  vlbrreph (const signed short *a)
       8  {
       9    return vec_revb (vec_splats (*a));
      10  }
      11  
      12  /* { dg-final { scan-assembler-times "vlbrreph.*\n\tvlbrreph.*vec_splats_bswap_vecv8hi" 1 } } */
      13  
      14  vector signed int
      15  vlbrrepf (const signed int *a)
      16  {
      17    return vec_revb (vec_splats (*a));
      18  }
      19  
      20  /* { dg-final { scan-assembler-times "vlbrrepf.*\n\tvlbrrepf.*vec_splats_bswap_vecv4si" 1 } } */
      21  
      22  vector signed long long
      23  vlbrrepg (const signed long long *a)
      24  {
      25    return vec_revb (vec_splats (*a));
      26  }
      27  
      28  /* { dg-final { scan-assembler-times "vlbrrepg.*\n\tvlbrrepg.*vec_splats_bswap_vecv2di" 1 } } */