| /* Test for AltiVec type overloading and name mangling. */ |
| /* { dg-do compile { target powerpc*-*-* } } */ |
| /* { dg-require-effective-target powerpc_altivec_ok } */ |
| /* { dg-options "-maltivec" } */ |
| |
| #include <altivec.h> |
| |
| void foo(vector unsigned char) { } |
| void foo(vector signed char) { } |
| void foo(vector bool char) { } |
| void foo(vector unsigned short) { } |
| void foo(vector signed short) { } |
| void foo(vector bool short) { } |
| void foo(vector unsigned int) { } |
| void foo(vector signed int) { } |
| void foo(vector bool int) { } |
| void foo(vector float) { } |
| void foo(vector pixel) { } |
| void foo(int) { } |
| void foo(unsigned int) { } |
| void foo(float) { } |
| |
| /* { dg-final { scan-assembler "_Z3fooDv16_h" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv16_a" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv16_U6__boolc" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv8_t" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv8_s" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv8_U6__bools" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv4_j" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv4_i" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv4_U6__booli" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv4_f" } } */ |
| /* { dg-final { scan-assembler "_Z3fooDv8_u7__pixel" } } */ |
| /* { dg-final { scan-assembler "_Z3fooi" } } */ |
| /* { dg-final { scan-assembler "_Z3fooj" } } */ |
| /* { dg-final { scan-assembler "_Z3foof" } } */ |