1/* Check calling convention in the vector ABI. */ 2 3/* { dg-do compile { target { s390*-*-* } } } */ 4/* { dg-options "-O3 -mzarch -march=z13" } */ 5 6/* Make sure the last argument is fetched from the argument overflow area. */ 7/* { dg-final { scan-assembler "vl\t%v\[0-9\]*,160\\(%r15\\)" { target lp64 } } } */ 8/* { dg-final { scan-assembler "vl\t%v\[0-9\]*,96\\(%r15\\)" { target ilp32 } } } */ 9/* { dg-final { scan-assembler "gnu_attribute 8, 2" } } */ 10 11typedef double v2df __attribute__((vector_size(16))); 12 13v2df 14add (v2df a, v2df b, v2df c, v2df d, 15 v2df e, v2df f, v2df g, v2df h, v2df i) 16{ 17 return a + b + c + d + e + f + g + h + i; 18} 19