(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
s390/
vector/
vec-abi-single-1.c
       1  /* Check calling convention in the vector ABI for single element vectors.  */
       2  
       3  /* { dg-do compile { target { s390*-*-* } } } */
       4  /* { dg-options "-O3 -mzarch -march=z13" } */
       5  
       6  /* { dg-final { scan-assembler-times "vlr\t%v24,%v26" 7 } } */
       7  
       8  typedef int  __attribute__((vector_size(16))) v4si;
       9  
      10  typedef char __attribute__((vector_size(1))) v1qi;
      11  typedef short int __attribute__((vector_size(2))) v1hi;
      12  typedef int __attribute__((vector_size(4))) v1si;
      13  typedef long long __attribute__((vector_size(8))) v1di;
      14  typedef float __attribute__((vector_size(4))) v1sf;
      15  typedef double __attribute__((vector_size(8))) v1df;
      16  typedef long double __attribute__((vector_size(16))) v1tf;
      17  
      18  v1qi foo1 (v4si a, v1qi b) { return b; }
      19  v1hi foo2 (v4si a, v1hi b) { return b; }
      20  v1si foo3 (v4si a, v1si b) { return b; }
      21  v1di foo4 (v4si a, v1di b) { return b; }
      22  v1sf foo5 (v4si a, v1sf b) { return b; }
      23  v1df foo6 (v4si a, v1df b) { return b; }
      24  v1tf foo7 (v4si a, v1tf b) { return b; }