Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / gcc.target / mips / mips32-dsp-type.c
blobf0f3fda403ec1de5045cf7f8da1d3807b05a2122
1 /* Test MIPS32 DSP instructions */
2 /* { dg-do compile } */
3 /* { dg-mips-options "-march=mips32 -mdsp" } */
4 /* { dg-final { scan-assembler "addq.ph" } } */
5 /* { dg-final { scan-assembler "addu.qb" } } */
6 /* { dg-final { scan-assembler "subq.ph" } } */
7 /* { dg-final { scan-assembler "subu.qb" } } */
9 typedef char v4qi __attribute__ ((vector_size(4)));
10 typedef short v2hi __attribute__ ((vector_size(4)));
12 NOMIPS16 v2hi add_v2hi (v2hi a, v2hi b)
14 return a + b;
17 NOMIPS16 v4qi add_v4qi (v4qi a, v4qi b)
19 return a + b;
22 NOMIPS16 v2hi sub_v2hi (v2hi a, v2hi b)
24 return a - b;
27 NOMIPS16 v4qi sub_v4qi (v4qi a, v4qi b)
29 return a - b;