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_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