added function to retrieve irn ops
[libfirm] / ir / be / test / cmp.c
1 int cmp1(int a, int b)
2 {
3   return a < b;
4 }
5
6 int cmp2(int a, int b)
7 {
8   return a > b;
9 }
10
11 int cmp3(int a)
12 {
13   return a < 3;
14 }
15
16 int cmp4(int a)
17 {
18   return a > 3;
19 }
20
21 int cmp5(int a)
22 {
23   return -3 < a;
24 }
25
26 int cmp6(int a)
27 {
28   return -3 > a;
29 }
30
31 int cmp7(int a)
32 {
33   return 3 < -a;
34 }
35
36 int cmp8(int a)
37 {
38   return 3 > -a;
39 }
40
41 int cmp9(int a, int b)
42 {
43   return -a < -b;
44 }
45
46 int cmp10(int a, int b)
47 {
48   return a-b == 0;
49 }
50
51 int cmp11(int a)
52 {
53   return a-3 != 5;
54 }
55
56 int cmp12(int a)
57 {
58   return a+3 == 5;
59 }
60
61 int cmp13(int a)
62 {
63   if (a < 0)
64    return -a;
65   else
66    return a;
67 }
68
69 int cmp14(int a)
70 {
71   return a == 0 ? a : -a;
72 }
73
74 int cmp15(int a)
75 {
76   return a > 0;
77 }
78
79 int cmp16(int a)
80 {
81   return a < 0 ? -1 : 0;
82 }
83
84 int cmp17(int a, int b)
85 {
86   if (a < b)
87     return a;
88   return b;
89 }
90
91 int cmp18(int a, int b)
92 {
93   if (a > b)
94     return a;
95   return b;
96 }
97
98 double dcmp1(double a, double b) {
99   if (a < b)
100     return a;
101   else
102     return b;
103 }
104
105 double dcmp2(double a, double b) {
106   if (a > b)
107     return a;
108   else
109     return b;
110 }
111
112 int A = 1;
113 int B = -1;
114 double Fa = 200.;
115 double Fb = 2;
116
117 int main()
118 {
119   int a = A, b = B;
120   double fa = Fa, fb = Fb;
121
122   printf("cmp1(%d, %d) = %d\n", a, b, cmp1(a, b));
123   printf("cmp2(%d, %d) = %d\n", a, b, cmp2(a, b));
124   printf("cmp3(%d) = %d\n", a, cmp3(a));
125   printf("cmp4(%d) = %d\n", a, cmp4(a));
126   printf("cmp5(%d) = %d\n", a, cmp5(a));
127   printf("cmp6(%d) = %d\n", a, cmp6(a));
128   printf("cmp7(%d) = %d\n", a, cmp7(a));
129   printf("cmp8(%d) = %d\n", a, cmp8(a));
130   printf("cmp9(%d, %d) = %d\n", a, b, cmp9(a, b));
131   printf("cmp10(%d, %d) = %d\n", a, b, cmp10(a, b));
132   printf("cmp11(%d) = %d\n", a, cmp11(a));
133   printf("cmp12(%d) = %d\n", a, cmp12(a));
134   printf("cmp13(%d) = %d\n", a, cmp13(a));
135   printf("cmp14(%d) = %d\n", a, cmp14(a));
136   printf("cmp15(%d) = %d\n", a, cmp15(a));
137   printf("cmp16(%d) = %d\n", a, cmp16(a));
138   printf("cmp17(%d, %d) = %d\n", a, b, cmp18(a, b));
139   printf("cmp18(%d, %d) = %d\n", a, b, cmp18(a, b));
140
141   printf("dcmp1(%f, %f) = %f\n", -fa, -fb, dcmp1(-fa, -fb));
142   printf("dcmp2(%f, %f) = %f\n", -fa, -fb, dcmp2(-fa, -fb));
143   printf("dcmp1(%f, %f) = %f\n", fa, fb, dcmp1(fa, fb));
144   printf("dcmp2(%f, %f) = %f\n", fa, fb, dcmp2(fa, fb));
145
146         return 0;
147 }