OSDN Git Service

Merge branch 'master' of git://github.com/monaka/binutils
[pf3gnuchains/pf3gnuchains3x.git] / gcc / testsuite / gcc.target / mips / scc-1.c
1 /* { dg-options "(-mips16) -O isa_rev>=1" } */
2
3 /* { dg-final { scan-assembler-times {slt       \$2,\$5,\$4} 1 } } */
4 /* { dg-final { scan-assembler-times {sltu      \$2,\$5,\$4} 1 } } */
5 /* { dg-final { scan-assembler-times {slt       \$5,\$4} 1 } } */
6 /* { dg-final { scan-assembler-times {sltu      \$5,\$4} 1 } } */
7
8 /* { dg-final { scan-assembler-times {slt       \$2,\$0,\$4} 1 } } */
9 /* { dg-final { scan-assembler-times {sltu      \$2,\$0,\$4} 1 } } */
10
11 /* { dg-final { scan-assembler-times {slt       \$2,\$4,\$5} 1 } } */
12 /* { dg-final { scan-assembler-times {sltu      \$2,\$4,\$5} 1 } } */
13 /* { dg-final { scan-assembler-times {slt       \$4,\$5} 1 } } */
14 /* { dg-final { scan-assembler-times {sltu      \$4,\$5} 1 } } */
15
16 /* { dg-final { scan-assembler-times {slt       \$2,\$4,23}  1 } } */
17 /* { dg-final { scan-assembler-times {sltu      \$2,\$4,23}  1 } } */
18 /* { dg-final { scan-assembler-times {slt       \$4,23}  1 } } */
19 /* { dg-final { scan-assembler-times {sltu      \$4,23}  1 } } */
20
21 #define TEST(N, LHS, REL, RHS) \
22   NOMIPS16 int s##N (int a, int b) { return LHS REL RHS; } \
23   NOMIPS16 int u##N (unsigned a, unsigned b) { return LHS REL RHS; } \
24   MIPS16 int s##N##_16 (int a, int b) { return LHS REL RHS; } \
25   MIPS16 int u##N##_16 (unsigned a, unsigned b) { return LHS REL RHS; }
26
27 #define TEST_NO16(N, LHS, REL, RHS) \
28   NOMIPS16 int s##N (int a, int b) { return LHS REL RHS; } \
29   NOMIPS16 int u##N (unsigned a, unsigned b) { return LHS REL RHS; }
30
31 TEST (1, a, >, b);
32 TEST_NO16 (2, a, >=, 1);
33 TEST (3, a, <, b);
34 TEST (4, a, <=, 22);