]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/s390/zvector/set-element-bswap-3.c
S/390: arch13: vector load/store byte reversed element for builtins
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / s390 / zvector / set-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 vector signed short
7 vlebrh (const signed short *a, vector signed short b)
8 {
9 b[1] = __builtin_bswap16 (*a);
10 return b;
11 }
12
13 /* { dg-final { scan-assembler-times "vlebrh.*\n\tvlebrh.*vec_set_bswap_elemv8hi" 1 } } */
14
15 vector signed int
16 vlebrf (const signed int *a, vector signed int b)
17 {
18 b[1] = __builtin_bswap32 (*a);
19 return b;
20 }
21
22 /* { dg-final { scan-assembler-times "vlebrf.*\n\tvlebrf.*vec_set_bswap_elemv4si" 1 } } */
23
24 vector signed long long
25 vlebrg (const signed long long *a, vector signed long long b)
26 {
27 b[1] = __builtin_bswap64 (*a);
28 return b;
29 }
30
31 /* { dg-final { scan-assembler-times "vlebrg.*\n\tvlebrg.*vec_set_bswap_elemv2di" 1 } } */