1  /* { dg-do compile { target { s390*-*-* } } } */
       2  /* { dg-options "-march=z14 -mzarch -mzvector" } */
       3  
       4  /* vec_ceil and friends are expanded by vecintrin.h to
       5     __builtin_s390_vfi which is an overloaded builtin being replaced by
       6     either __builtin_s390_vfisb or __builtin_s390_vfidb depending on
       7     its argument types.
       8  
       9     The problem in this PR was that the overloaded builtin definition
      10     was missing in s390-builtins.def.  */
      11  
      12  #include <vecintrin.h>
      13  
      14  vector double
      15  foo (vector double a) {
      16    return vec_ceil (a);
      17  }
      18  
      19  vector float
      20  bar (vector float a) {
      21    return vec_ceil (a);
      22  }