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)7vllebrzh (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)15vllebrzf (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)23vllebrzg (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