1 /* { dg-do compile } */ 2 /* { dg-options "-O3 -mzarch -march=arch13 -mzvector" } */ 3 4 /* The vector byte element reversal is actually implemented with a 128 5 bit bswap. */ 6 7 #include <vecintrin.h> 8 9 vector signed char test(vector signed char x)10test (vector signed char x) 11 { 12 return vec_reve (x); 13 } 14 15 /* { dg-final { scan-assembler-times "vperm\t" 1 } } */ 16 17 18 vector signed char test2(vector signed char * x)19test2 (vector signed char *x) 20 { 21 return vec_reve (*x); 22 } 23 24 vector signed char test3(signed char * x)25test3 (signed char *x) 26 { 27 return vec_reve (vec_xl (0, x)); 28 } 29 30 /* { dg-final { scan-assembler-times "vlbrq\t" 2 } } */ 31