1 /* { dg-do compile } */
2 /* { dg-options "-O3 -mzarch -march=z13 -mzvector" } */
3 
4 #include <vecintrin.h>
5 
6 vector signed char v16qi;
7 vector short       v8hi;
8 vector int         v4si;
9 vector long long   v2di;
10 
11 vector unsigned char      uv16qi;
12 vector unsigned short     uv8hi;
13 vector unsigned int       uv4si;
14 vector unsigned long long uv2di;
15 
16 int
foo()17 foo ()
18 {
19   v16qi  = vec_splats ((signed char)0x77);
20   uv16qi = vec_splats ((unsigned char)0x77);
21 
22   v8hi  = vec_splats ((short int)0x7f0f);
23   uv8hi = vec_splats ((unsigned short int)0x7f0f);
24 
25   v4si  = vec_splats ((int)0x7f0f);
26   uv4si = vec_splats ((unsigned int)0x7f0f);
27 
28   v2di  = vec_splats ((long long)0x7f0f);
29   uv2di = vec_splats ((unsigned long long)0x7f0f);
30 }
31 
32 /* { dg-final { scan-assembler-times "vrepib\t%v.*,119" 1 } } */
33 /* { dg-final { scan-assembler-times "vrepib\t%v.*,119" 1 } } */
34 
35 /* { dg-final { scan-assembler-times "vrepih\t%v.*,32527" 1 } } */
36 /* { dg-final { scan-assembler-times "vrepih\t%v.*,32527" 1 } } */
37 
38 /* { dg-final { scan-assembler-times "vrepif\t%v.*,32527" 1 } } */
39 /* { dg-final { scan-assembler-times "vrepif\t%v.*,32527" 1 } } */
40 
41 /* { dg-final { scan-assembler-times "vrepig\t%v.*,32527" 1 } } */
42 /* { dg-final { scan-assembler-times "vrepig\t%v.*,32527" 1 } } */
43