1/* Test for AltiVec type overloading and name mangling. */ 2/* { dg-do compile { target powerpc*-*-* } } */ 3/* { dg-require-effective-target powerpc_altivec_ok } */ 4/* { dg-options "-maltivec" } */ 5 6#include <altivec.h> 7 8void foo(vector unsigned char) { } 9void foo(vector signed char) { } 10void foo(vector bool char) { } 11void foo(vector unsigned short) { } 12void foo(vector signed short) { } 13void foo(vector bool short) { } 14void foo(vector unsigned int) { } 15void foo(vector signed int) { } 16void foo(vector bool int) { } 17void foo(vector float) { } 18void foo(vector pixel) { } 19void foo(int) { } 20void foo(unsigned int) { } 21void foo(float) { } 22 23/* { dg-final { scan-assembler "_Z3fooU8__vectorh" } } */ 24/* { dg-final { scan-assembler "_Z3fooU8__vectora" } } */ 25/* { dg-final { scan-assembler "_Z3fooU8__vectorU6__boolc" } } */ 26/* { dg-final { scan-assembler "_Z3fooU8__vectort" } } */ 27/* { dg-final { scan-assembler "_Z3fooU8__vectors" } } */ 28/* { dg-final { scan-assembler "_Z3fooU8__vectorU6__bools" } } */ 29/* { dg-final { scan-assembler "_Z3fooU8__vectorj" } } */ 30/* { dg-final { scan-assembler "_Z3fooU8__vectori" } } */ 31/* { dg-final { scan-assembler "_Z3fooU8__vectorU6__booli" } } */ 32/* { dg-final { scan-assembler "_Z3fooU8__vectorf" } } */ 33/* { dg-final { scan-assembler "_Z3fooU8__vectoru7__pixel" } } */ 34/* { dg-final { scan-assembler "_Z3fooi" } } */ 35/* { dg-final { scan-assembler "_Z3fooj" } } */ 36/* { dg-final { scan-assembler "_Z3foof" } } */ 37