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
vlbrreph(const signed short * a)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
vlbrrepf(const signed int * a)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
vlbrrepg(const signed long long * a)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 } } */
29