1 /* Test MIPS32 DSP instructions */
2 /* { dg-do compile } */
3 /* { dg-options "-mdsp" } */
4 /* { dg-final { scan-assembler "\taddq.ph\t" } } */
5 /* { dg-final { scan-assembler "\taddu.qb\t" } } */
6 /* { dg-final { scan-assembler "\tsubq.ph\t" } } */
7 /* { dg-final { scan-assembler "\tsubu.qb\t" } } */
8 
9 typedef char v4qi __attribute__ ((vector_size(4)));
10 typedef short v2hi __attribute__ ((vector_size(4)));
11 
add_v2hi(v2hi a,v2hi b)12 NOMIPS16 v2hi add_v2hi (v2hi a, v2hi b)
13 {
14   return a + b;
15 }
16 
add_v4qi(v4qi a,v4qi b)17 NOMIPS16 v4qi add_v4qi (v4qi a, v4qi b)
18 {
19   return a + b;
20 }
21 
sub_v2hi(v2hi a,v2hi b)22 NOMIPS16 v2hi sub_v2hi (v2hi a, v2hi b)
23 {
24   return a - b;
25 }
26 
sub_v4qi(v4qi a,v4qi b)27 NOMIPS16 v4qi sub_v4qi (v4qi a, v4qi b)
28 {
29   return a - b;
30 }
31