1  /* { dg-compile } */
       2  /* { dg-options "-O3 -march=z13 -mzarch" } */
       3  
       4  typedef unsigned long long __attribute__((vector_size(16))) v2di;
       5  typedef double __attribute__((vector_size(16))) v2df;
       6  
       7  v2di longvec;
       8  v2df doublevec;
       9  
      10  v2di
      11  toulong (v2df a)
      12  {
      13    v2di out = (v2di){ (unsigned long long)a[0], (unsigned long long)a[1] };
      14    return out;
      15  }
      16  
      17  /* { dg-final { scan-assembler-times "vclgdb\t%v24,%v24,0,5" 1 } } */
      18  
      19  v2df
      20  todouble (v2di a)
      21  {
      22    v2df out = (v2df){ (double)a[0], (double)a[1] };
      23    return out;
      24  }
      25  
      26  /* { dg-final { scan-assembler-times "vcdlgb\t%v24,%v24,0,0" 1 } } */