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()17foo () 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