1/* Check calling convention in the vector ABI. Smaller vector need to 2 be placed left-justified in the stack slot. */ 3 4/* { dg-do compile { target { s390*-*-* } } } */ 5/* { dg-options "-O3 -mzarch -march=z13" } */ 6 7/* { dg-final { scan-assembler-times "lde\t%.*,160\\\(%r15\\\)" 1 { target lp64 } } } */ 8/* { dg-final { scan-assembler-times "lde\t%.*,168\\\(%r15\\\)" 1 { target lp64 } } } */ 9/* { dg-final { scan-assembler-times "lde\t%.*,96\\\(%r15\\\)" 1 { target { ! lp64 } } } } */ 10/* { dg-final { scan-assembler-times "lde\t%.*,100\\\(%r15\\\)" 1 { target { ! lp64 } } } } */ 11 12typedef char __attribute__((vector_size(4))) v4qi; 13 14v4qi 15foo (v4qi a, v4qi b, v4qi c, v4qi d, v4qi e, 16 v4qi f, v4qi g, v4qi h, v4qi i, v4qi j) 17{ 18 return (a + b + c + d + e + f + g + h + i + j); 19} 20