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))
       9  shift_left_by_scalar (v4si in, int shift_count)
      10  {
      11    return in << (3 + shift_count);
      12  }
      13  
      14  int
      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  }