1 /* { dg-do compile { target { s390*-*-* } } } */
2 /* { dg-options "-O3 -mzarch -march=z13 -mzvector" } */
3 
4 /* { dg-final { scan-assembler-times "\tlcbb\t" 4 } } */
5 
6 #include <vecintrin.h>
7 
8 /* CC will be extracted into a GPR and returned.  */
9 int
foo1(void * ptr)10 foo1 (void *ptr)
11 {
12   return __lcbb (ptr, 64);
13 }
14 
15 int
foo2(void * ptr)16 foo2 (void *ptr)
17 {
18   return __lcbb (ptr, 128) > 16;
19 }
20 
21 int
foo3(void * ptr)22 foo3 (void *ptr)
23 {
24   return __lcbb (ptr, 256) == 16;
25 }
26 
27 int
foo4(void * ptr)28 foo4 (void *ptr)
29 {
30   return __lcbb (ptr, 512) < 16;
31 }
32