2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / mips / scc-1.c
blobd0dc040151c0fe72de68bc70b659351ebf625b5b
1 /* { dg-options "(-mips16) -O isa_rev>=1" } */
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 } } */
8 /* { dg-final { scan-assembler-times {slt \$2,\$0,\$4} 1 } } */
9 /* { dg-final { scan-assembler-times {sltu \$2,\$0,\$4} 1 } } */
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 } } */
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 } } */
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; }
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; }
31 TEST (1, a, >, b);
32 TEST_NO16 (2, a, >=, 1);
33 TEST (3, a, <, b);
34 TEST (4, a, <=, 22);