]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/s390/zvector/get-element-bswap-3.c
S/390: arch13: vector load/store byte reversed element for builtins
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / s390 / zvector / get-element-bswap-3.c
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
7 vstebrh (signed short *a, vector signed short b)
8 {
9 *a = vec_extract (vec_revb (b), 1);
10 }
11
12 /* { dg-final { scan-assembler-times "vstebrh.*\n\tvstebrh.*vec_extract_bswap_vecv8hi" 1 } } */
13
14 void
15 vstebrf (int *a, vector int b)
16 {
17 *a = vec_extract (vec_revb (b), 1);
18 }
19
20 /* { dg-final { scan-assembler-times "vstebrf.*\n\tvstebrf.*vec_extract_bswap_vecv4si" 1 } } */
21
22 void
23 vstebrg (long long *a, vector long long b)
24 {
25 *a = vec_extract (vec_revb (b), 1);
26 }
27
28 /* { dg-final { scan-assembler-times "vstebrg.*\n\tvstebrg.*vec_extract_bswap_vecv2di" 1 } } */