1  /* { dg-do run } */
       2  /* { dg-require-effective-target s390_nnpa } */
       3  /* { dg-options "-O3 -mzarch -march=arch14 -mzvector --save-temps" } */
       4  
       5  #include <vecintrin.h>
       6  
       7  int
       8  main ()
       9  {
      10    vector float fp1 = (vector float){ 1.0f, 2.0f, 3.0f, 4.0f };
      11    vector float fp2 = (vector float){ 5.0f, 6.0f, 7.0f, 8.0f };
      12    vector short int conv = vec_round_from_fp32 (fp1, fp2, 0);
      13    vector float fp1_ret = vec_extend_to_fp32_hi (conv, 0);
      14    vector float fp2_ret = vec_extend_to_fp32_lo (conv, 0);
      15  
      16    if (vec_any_ne (fp1, fp1_ret))
      17      __builtin_abort ();
      18  
      19    if (vec_any_ne (fp2, fp2_ret))
      20      __builtin_abort ();
      21  
      22    return 0;
      23  }
      24  
      25  /* { dg-final { scan-assembler-times "vcrnf\t" 1 } } */
      26  /* { dg-final { scan-assembler-times "vclfnh\t" 1 } } */
      27  /* { dg-final { scan-assembler-times "vclfnl\t" 1 } } */