Added more regression test to the pic port. Added support for <<, >>, ^
[fw/sdcc] / src / regression / compare2.c
1 //#include "p16c84.h"
2
3 unsigned char success = 0;
4 unsigned char failures = 0;
5 unsigned char dummy = 0;
6
7 bit bit0 = 0;
8 unsigned int aint0 = 0;
9 unsigned int aint1 = 0;
10 unsigned char achar0 = 0;
11 unsigned char achar1 = 0;
12
13 void
14 done ()
15 {
16
17   dummy++;
18
19 }
20
21
22
23 void
24 char_lt_char (void)
25 {
26   if (achar0 < achar1)
27     failures++;
28 }
29
30 void
31 char_gt_char (void)
32 {
33   if (achar1 > achar0)
34     failures++;
35 }
36
37 void
38 char_lte_char (void)
39 {
40   if (achar0 <= achar1)
41     failures++;
42 }
43
44 void
45 char_gte_char (void)
46 {
47   if (achar1 >= achar0)
48     failures++;
49 }
50
51 void
52 char_lt_lit (void)
53 {
54   if (achar1 < 0x10)
55     failures++;
56 }
57
58 void
59 char_gt_lit (void)
60 {
61   if (achar1 > 0x10)
62     failures++;
63 }
64
65 void
66 char_lte_lit (void)
67 {
68   if (achar1 <= 0x0f)
69     failures++;
70 }
71
72 void
73 char_gte_lit (void)
74 {
75   if (achar1 >= 0x11)
76     failures++;
77 }
78
79
80 /* ints */
81
82 void
83 int_lt_int (void)
84 {
85   if (aint0 < aint1)
86     failures++;
87 }
88
89 void
90 int_gt_int (void)
91 {
92   if (aint1 > aint0)
93     failures++;
94 }
95
96 void
97 int_lte_int (void)
98 {
99   if (aint0 <= aint1)
100     failures++;
101 }
102
103 void
104 int_gte_int (void)
105 {
106   if (aint1 >= aint0)
107     failures++;
108 }
109
110 void
111 int_lt_lit (void)
112 {
113   if (aint1 < 0x10)
114     failures++;
115 }
116
117 void
118 int_gt_lit (void)
119 {
120   if (aint1 > 0x10)
121     failures++;
122 }
123
124 void
125 int_lte_lit (void)
126 {
127   if (aint1 <= 0x0f)
128     failures++;
129 }
130
131 void
132 int_gte_lit (void)
133 {
134   if (aint1 >= 0x11)
135     failures++;
136 }
137
138
139
140
141
142
143
144 void
145 main (void)
146 {
147
148   char_lt_char ();
149   char_gt_char ();
150
151   achar0++;
152   char_lt_char ();
153   char_gt_char ();
154   char_gte_char ();
155   char_lte_char ();
156
157   achar1 = 0x10;
158   char_lt_lit ();
159   char_gt_lit ();
160   char_lte_lit ();
161   char_gte_lit ();
162
163
164
165   int_lt_int ();
166   int_gt_int ();
167
168   aint0++;
169   int_lt_int ();
170   int_gt_int ();
171   int_gte_int ();
172   int_lte_int ();
173
174   aint1 = 0x10;
175   int_lt_lit ();
176   int_gt_lit ();
177
178   success = failures;
179   done ();
180 }