OSDN Git Service

* config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / mips / scc-1.c
1 /* { dg-do compile } */
2 /* { dg-mips-options "-O -mips32" } */
3
4 /* { dg-final { scan-assembler-times {slt       \$2,\$5,\$4} 1 } } */
5 /* { dg-final { scan-assembler-times {sltu      \$2,\$5,\$4} 1 } } */
6 /* { dg-final { scan-assembler-times {slt       \$5,\$4} 1 } } */
7 /* { dg-final { scan-assembler-times {sltu      \$5,\$4} 1 } } */
8
9 /* { dg-final { scan-assembler-times {slt       \$2,\$0,\$4} 1 } } */
10 /* { dg-final { scan-assembler-times {sltu      \$2,\$0,\$4} 1 } } */
11
12 /* { dg-final { scan-assembler-times {slt       \$2,\$4,\$5} 1 } } */
13 /* { dg-final { scan-assembler-times {sltu      \$2,\$4,\$5} 1 } } */
14 /* { dg-final { scan-assembler-times {slt       \$4,\$5} 1 } } */
15 /* { dg-final { scan-assembler-times {sltu      \$4,\$5} 1 } } */
16
17 /* { dg-final { scan-assembler-times {slt       \$2,\$4,23}  1 } } */
18 /* { dg-final { scan-assembler-times {sltu      \$2,\$4,23}  1 } } */
19 /* { dg-final { scan-assembler-times {slt       \$4,23}  1 } } */
20 /* { dg-final { scan-assembler-times {sltu      \$4,23}  1 } } */
21
22 #define TEST(N, LHS, REL, RHS) \
23   NOMIPS16 int s##N (int a, int b) { return LHS REL RHS; } \
24   NOMIPS16 int u##N (unsigned a, unsigned b) { return LHS REL RHS; } \
25   MIPS16 int s##N##_16 (int a, int b) { return LHS REL RHS; } \
26   MIPS16 int u##N##_16 (unsigned a, unsigned b) { return LHS REL RHS; }
27
28 #define TEST_NO16(N, LHS, REL, RHS) \
29   NOMIPS16 int s##N (int a, int b) { return LHS REL RHS; } \
30   NOMIPS16 int u##N (unsigned a, unsigned b) { return LHS REL RHS; }
31
32 TEST (1, a, >, b);
33 TEST_NO16 (2, a, >=, 1);
34 TEST (3, a, <, b);
35 TEST (4, a, <=, 22);