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  vlebrh (const signed short *a, vector signed short b)
       8  {
       9    b[1] = __builtin_bswap16 (*a);
      10    return b;
      11  }
      12  
      13  /* { dg-final { scan-assembler-times "vlebrh.*\n\tvlebrh.*vec_set_bswap_elemv8hi" 1 } } */
      14  
      15  vector signed int
      16  vlebrf (const signed int *a, vector signed int b)
      17  {
      18    b[1] = __builtin_bswap32 (*a);
      19    return b;
      20  }
      21  
      22  /* { dg-final { scan-assembler-times "vlebrf.*\n\tvlebrf.*vec_set_bswap_elemv4si" 1 } } */
      23  
      24  vector signed long long
      25  vlebrg (const signed long long *a, vector signed long long b)
      26  {
      27    b[1] = __builtin_bswap64 (*a);
      28    return b;
      29  }
      30  
      31  /* { dg-final { scan-assembler-times "vlebrg.*\n\tvlebrg.*vec_set_bswap_elemv2di" 1 } } */