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)12NOMIPS16 v2hi add_v2hi (v2hi a, v2hi b) 13 { 14 return a + b; 15 } 16 add_v4qi(v4qi a,v4qi b)17NOMIPS16 v4qi add_v4qi (v4qi a, v4qi b) 18 { 19 return a + b; 20 } 21 sub_v2hi(v2hi a,v2hi b)22NOMIPS16 v2hi sub_v2hi (v2hi a, v2hi b) 23 { 24 return a - b; 25 } 26 sub_v4qi(v4qi a,v4qi b)27NOMIPS16 v4qi sub_v4qi (v4qi a, v4qi b) 28 { 29 return a - b; 30 } 31