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
vllebrzh(const signed short * a)7 vllebrzh (const signed short *a)
8 {
9   return vec_revb (vec_insert_and_zero (a));
10 }
11 
12 /* { dg-final { scan-assembler-times "vllebrzh.*\n\tvllebrzh.*vec_insert_and_zero_bswapv8hi" 1 } } */
13 
14 vector signed int
vllebrzf(const signed int * a)15 vllebrzf (const signed int *a)
16 {
17   return vec_revb (vec_insert_and_zero (a));
18 }
19 
20 /* { dg-final { scan-assembler-times "vllebrzf.*\n\tvllebrzf.*vec_insert_and_zero_bswapv4si" 1 } } */
21 
22 vector signed long long
vllebrzg(const signed long long * a)23 vllebrzg (const signed long long *a)
24 {
25   return vec_revb (vec_insert_and_zero (a));
26 }
27 
28 /* { dg-final { scan-assembler-times "vllebrzg.*\n\tvllebrzg.*vec_insert_and_zero_bswapv2di" 1 } } */
29