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_splat_s8 (-112);
20   uv16qi = vec_splat_u8 (215);
21 
22   v8hi  = vec_splat_s16 (-32000);
23   uv8hi = vec_splat_u16 (64000);
24 
25   v4si  = vec_splat_s32 (-32000);
26   uv4si = vec_splat_u32 (64000);
27 
28   v2di  = vec_splat_s64 (-32000);
29   uv2di = vec_splat_u64 (64000);
30 }
31 
32 /* { dg-final { scan-assembler-times "vrepib\t%v.*,-112" 1 } } */
33 /* { dg-final { scan-assembler-times "vrepib\t%v.*,-41" 1 } } */
34 
35 /* { dg-final { scan-assembler-times "vrepih\t%v.*,-32000" 1 } } */
36 /* { dg-final { scan-assembler-times "vrepih\t%v.*,-1536" 1 } } */
37 
38 /* { dg-final { scan-assembler-times "vrepif\t%v.*,-32000" 1 } } */
39 /* { dg-final { scan-assembler-times "vrepif\t%v.*,-1536" 1 } } */
40 
41 /* { dg-final { scan-assembler-times "vrepig\t%v.*,-32000" 1 } } */
42 /* { dg-final { scan-assembler-times "vrepig\t%v.*,-1536" 1 } } */
43