1 /* { dg-do compile } */ 2 /* { dg-options "-O3 -mzarch -march=arch13 -mzvector -fno-asynchronous-unwind-tables -dp" } */ 3 4 #include <vecintrin.h> 5 6 void vstebrh(signed short * a,vector signed short b)7vstebrh (signed short *a, vector signed short b) 8 { 9 *a = __builtin_bswap16 (vec_extract (b, 1)); 10 } 11 12 /* { dg-final { scan-assembler-times "vstebrh.*\n\tvstebrh.*vec_extract_bswap_elemv8hi" 1 } } */ 13 14 void vstebrf(int * a,vector int b)15vstebrf (int *a, vector int b) 16 { 17 *a = __builtin_bswap32 (vec_extract (b, 1)); 18 } 19 20 /* { dg-final { scan-assembler-times "vstebrf.*\n\tvstebrf.*vec_extract_bswap_elemv4si" 1 } } */ 21 22 void vstebrg(long long * a,vector long long b)23vstebrg (long long *a, vector long long b) 24 { 25 *a = __builtin_bswap64 (vec_extract (b, 1)); 26 } 27 28 /* { dg-final { scan-assembler-times "vstebrg.*\n\tvstebrg.*vec_extract_bswap_elemv2di" 1 } } */ 29