1 /* { dg-do compile } */
2 /* { dg-options "-march=octeon" } */
3 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
4 /* { dg-final { scan-assembler-times "\tbaddu\t" 4 } } */
5 /* { dg-final { scan-assembler-not "\tandi\t" } } */
6 
7 NOMIPS16 unsigned char
g(long long a,long long b)8 g (long long a, long long b)
9 {
10   return a + b;
11 }
12 
13 NOMIPS16 unsigned long long
h(unsigned long long a,unsigned long long b)14 h (unsigned long long a, unsigned long long b)
15 {
16   unsigned char c = a + b;
17   return c;
18 }
19 
20 NOMIPS16 long long
ff(long long a,long long b)21 ff (long long a, long long b)
22 {
23   unsigned char c = a + b;
24   return c;
25 }
26 
27 NOMIPS16 int
gg(int a,int b)28 gg (int a, int b)
29 {
30   return (a + b) & 0xff;
31 }
32