1 /* { dg-do run } */
2 /* { dg-options "-O3 -mzarch -march=z13 --save-temps" } */
3 
4 /* { dg-final { scan-assembler-times "veslf" 1 } } */
5 
6 typedef __attribute__((vector_size(16))) signed int v4si;
7 
8 v4si __attribute__((noinline,noclone))
shift_left_by_scalar(v4si in,int shift_count)9 shift_left_by_scalar (v4si in, int shift_count)
10 {
11   return in << (3 + shift_count);
12 }
13 
14 int
main()15 main ()
16 {
17   v4si a = { 1, 2, 3, 4 };
18   v4si result = shift_left_by_scalar (a, 1);
19 
20   if (result[1] != 32)
21     __builtin_abort ();
22 
23   return 0;
24 }
25