comparison interps/c-intercal/oilout09.c @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
comparison
equal deleted inserted replaced
995:6883f5911eb7 996:859f9b4339e6
1 /* Automatically generated output, edit source and recompile to change */
2 #include "oil.h"
3 int optimize_pass1_9(node *np)
4 { int opted=0;
5 unsigned long c,c1,c2,c3,c4,c5,c6,c7,c8,c9;
6 unsigned long x,x1,x2,x3,x4,x5,x6,x7,x8,x9,r;
7 int tempw;
8 node *tp;
9 checknodeactbits(np);
10 if(np->opcode==C_OR &&
11 np->lval->opcode==C_AND &&
12 np->rval->opcode==C_XOR &&
13 np->rval->rval->opcode==C_AND)
14 do
15 {
16 x4=np->lval->rval->constant; c4=np->lval->rval->optdata;
17 x3=np->rval->rval->rval->constant; c3=np->rval->rval->rval->optdata;
18 x2=np->rval->lval->constant; c2=np->rval->lval->optdata;
19 if(!nodessame(np->lval->lval,np->rval->rval->lval)) break;
20 x1=np->rval->rval->lval->constant; c1=np->rval->rval->lval->optdata;
21 x=x4; c=c4; if(!((c&c3)==0)) break;
22 x=x2; c=c2; if(!((c&c3)==c)) break;
23 OPTING(distribhalfxoroveror2);
24 tp=newnode();
25 MAYBENEWNODE(tp);
26 tp->opcode=C_AND;
27 tp->width=32;
28 MAYBENEWNODE(tp->lval);
29 tp->lval->opcode=C_XOR;
30 tp->lval->width=32;
31 tp->lval->lval=np->rval->rval->lval;
32 np->rval->rval->lval=0;
33 tp->lval->rval=np->rval->lval;
34 np->rval->lval=0;
35 MAYBENEWNODE(tp->rval);
36 tp->rval->opcode=C_OR;
37 tp->rval->width=32;
38 tp->rval->lval=np->rval->rval->rval;
39 np->rval->rval->rval=0;
40 tp->rval->rval=np->lval->rval;
41 np->lval->rval=0;
42 nodefree(np->lval); nodefree(np->rval);
43 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
44 } while(0);
45
46 checknodeactbits(np);
47 if(np->opcode==C_OR &&
48 np->lval->opcode==C_XOR &&
49 np->lval->rval->opcode==C_AND &&
50 np->rval->opcode==C_AND)
51 do
52 {
53 x4=np->rval->lval->constant; c4=np->rval->lval->optdata;
54 x3=np->lval->rval->rval->constant; c3=np->lval->rval->rval->optdata;
55 x2=np->lval->lval->constant; c2=np->lval->lval->optdata;
56 if(!nodessame(np->lval->rval->lval,np->rval->rval)) break;
57 x1=np->rval->rval->constant; c1=np->rval->rval->optdata;
58 x=x2; c=c2; if(!((c&c3)==c)) break;
59 x=x4; c=c4; if(!((c&c3)==0)) break;
60 OPTING(distribhalfxoroveror2);
61 tp=newnode();
62 MAYBENEWNODE(tp);
63 tp->opcode=C_AND;
64 tp->width=32;
65 MAYBENEWNODE(tp->lval);
66 tp->lval->opcode=C_XOR;
67 tp->lval->width=32;
68 tp->lval->lval=np->rval->rval;
69 np->rval->rval=0;
70 tp->lval->rval=np->lval->lval;
71 np->lval->lval=0;
72 MAYBENEWNODE(tp->rval);
73 tp->rval->opcode=C_OR;
74 tp->rval->width=32;
75 tp->rval->lval=np->lval->rval->rval;
76 np->lval->rval->rval=0;
77 tp->rval->rval=np->rval->lval;
78 np->rval->lval=0;
79 nodefree(np->lval); nodefree(np->rval);
80 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
81 } while(0);
82
83 checknodeactbits(np);
84 if(np->opcode==C_OR &&
85 np->lval->opcode==C_AND &&
86 np->rval->opcode==C_XOR &&
87 np->rval->rval->opcode==C_AND)
88 do
89 {
90 x4=np->lval->lval->constant; c4=np->lval->lval->optdata;
91 x3=np->rval->rval->rval->constant; c3=np->rval->rval->rval->optdata;
92 x2=np->rval->lval->constant; c2=np->rval->lval->optdata;
93 if(!nodessame(np->lval->rval,np->rval->rval->lval)) break;
94 x1=np->rval->rval->lval->constant; c1=np->rval->rval->lval->optdata;
95 x=x4; c=c4; if(!((c&c3)==0)) break;
96 x=x2; c=c2; if(!((c&c3)==c)) break;
97 OPTING(distribhalfxoroveror2);
98 tp=newnode();
99 MAYBENEWNODE(tp);
100 tp->opcode=C_AND;
101 tp->width=32;
102 MAYBENEWNODE(tp->lval);
103 tp->lval->opcode=C_XOR;
104 tp->lval->width=32;
105 tp->lval->lval=np->rval->rval->lval;
106 np->rval->rval->lval=0;
107 tp->lval->rval=np->rval->lval;
108 np->rval->lval=0;
109 MAYBENEWNODE(tp->rval);
110 tp->rval->opcode=C_OR;
111 tp->rval->width=32;
112 tp->rval->lval=np->rval->rval->rval;
113 np->rval->rval->rval=0;
114 tp->rval->rval=np->lval->lval;
115 np->lval->lval=0;
116 nodefree(np->lval); nodefree(np->rval);
117 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
118 } while(0);
119
120 checknodeactbits(np);
121 if(np->opcode==C_OR &&
122 np->lval->opcode==C_XOR &&
123 np->lval->lval->opcode==C_AND &&
124 np->rval->opcode==C_AND)
125 do
126 {
127 x4=np->rval->rval->constant; c4=np->rval->rval->optdata;
128 x3=np->lval->lval->lval->constant; c3=np->lval->lval->lval->optdata;
129 x2=np->lval->rval->constant; c2=np->lval->rval->optdata;
130 if(!nodessame(np->lval->lval->rval,np->rval->lval)) break;
131 x1=np->rval->lval->constant; c1=np->rval->lval->optdata;
132 x=x2; c=c2; if(!((c&c3)==c)) break;
133 x=x4; c=c4; if(!((c&c3)==0)) break;
134 OPTING(distribhalfxoroveror2);
135 tp=newnode();
136 MAYBENEWNODE(tp);
137 tp->opcode=C_AND;
138 tp->width=32;
139 MAYBENEWNODE(tp->lval);
140 tp->lval->opcode=C_XOR;
141 tp->lval->width=32;
142 tp->lval->lval=np->rval->lval;
143 np->rval->lval=0;
144 tp->lval->rval=np->lval->rval;
145 np->lval->rval=0;
146 MAYBENEWNODE(tp->rval);
147 tp->rval->opcode=C_OR;
148 tp->rval->width=32;
149 tp->rval->lval=np->lval->lval->lval;
150 np->lval->lval->lval=0;
151 tp->rval->rval=np->rval->rval;
152 np->rval->rval=0;
153 nodefree(np->lval); nodefree(np->rval);
154 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
155 } while(0);
156
157 checknodeactbits(np);
158 if(np->opcode==C_OR &&
159 np->lval->opcode==C_AND &&
160 np->rval->opcode==C_XOR &&
161 np->rval->lval->opcode==C_AND)
162 do
163 {
164 x4=np->lval->rval->constant; c4=np->lval->rval->optdata;
165 x3=np->rval->lval->lval->constant; c3=np->rval->lval->lval->optdata;
166 x2=np->rval->rval->constant; c2=np->rval->rval->optdata;
167 if(!nodessame(np->lval->lval,np->rval->lval->rval)) break;
168 x1=np->rval->lval->rval->constant; c1=np->rval->lval->rval->optdata;
169 x=x4; c=c4; if(!((c&c3)==0)) break;
170 x=x2; c=c2; if(!((c&c3)==c)) break;
171 OPTING(distribhalfxoroveror2);
172 tp=newnode();
173 MAYBENEWNODE(tp);
174 tp->opcode=C_AND;
175 tp->width=32;
176 MAYBENEWNODE(tp->lval);
177 tp->lval->opcode=C_XOR;
178 tp->lval->width=32;
179 tp->lval->lval=np->rval->lval->rval;
180 np->rval->lval->rval=0;
181 tp->lval->rval=np->rval->rval;
182 np->rval->rval=0;
183 MAYBENEWNODE(tp->rval);
184 tp->rval->opcode=C_OR;
185 tp->rval->width=32;
186 tp->rval->lval=np->rval->lval->lval;
187 np->rval->lval->lval=0;
188 tp->rval->rval=np->lval->rval;
189 np->lval->rval=0;
190 nodefree(np->lval); nodefree(np->rval);
191 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
192 } while(0);
193
194 checknodeactbits(np);
195 if(np->opcode==C_OR &&
196 np->lval->opcode==C_XOR &&
197 np->lval->lval->opcode==C_AND &&
198 np->rval->opcode==C_AND)
199 do
200 {
201 x4=np->rval->lval->constant; c4=np->rval->lval->optdata;
202 x3=np->lval->lval->lval->constant; c3=np->lval->lval->lval->optdata;
203 x2=np->lval->rval->constant; c2=np->lval->rval->optdata;
204 if(!nodessame(np->lval->lval->rval,np->rval->rval)) break;
205 x1=np->rval->rval->constant; c1=np->rval->rval->optdata;
206 x=x2; c=c2; if(!((c&c3)==c)) break;
207 x=x4; c=c4; if(!((c&c3)==0)) break;
208 OPTING(distribhalfxoroveror2);
209 tp=newnode();
210 MAYBENEWNODE(tp);
211 tp->opcode=C_AND;
212 tp->width=32;
213 MAYBENEWNODE(tp->lval);
214 tp->lval->opcode=C_XOR;
215 tp->lval->width=32;
216 tp->lval->lval=np->rval->rval;
217 np->rval->rval=0;
218 tp->lval->rval=np->lval->rval;
219 np->lval->rval=0;
220 MAYBENEWNODE(tp->rval);
221 tp->rval->opcode=C_OR;
222 tp->rval->width=32;
223 tp->rval->lval=np->lval->lval->lval;
224 np->lval->lval->lval=0;
225 tp->rval->rval=np->rval->lval;
226 np->rval->lval=0;
227 nodefree(np->lval); nodefree(np->rval);
228 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
229 } while(0);
230
231 checknodeactbits(np);
232 if(np->opcode==C_OR &&
233 np->lval->opcode==C_AND &&
234 np->rval->opcode==C_XOR &&
235 np->rval->lval->opcode==C_AND)
236 do
237 {
238 x4=np->lval->lval->constant; c4=np->lval->lval->optdata;
239 x3=np->rval->lval->lval->constant; c3=np->rval->lval->lval->optdata;
240 x2=np->rval->rval->constant; c2=np->rval->rval->optdata;
241 if(!nodessame(np->lval->rval,np->rval->lval->rval)) break;
242 x1=np->rval->lval->rval->constant; c1=np->rval->lval->rval->optdata;
243 x=x4; c=c4; if(!((c&c3)==0)) break;
244 x=x2; c=c2; if(!((c&c3)==c)) break;
245 OPTING(distribhalfxoroveror2);
246 tp=newnode();
247 MAYBENEWNODE(tp);
248 tp->opcode=C_AND;
249 tp->width=32;
250 MAYBENEWNODE(tp->lval);
251 tp->lval->opcode=C_XOR;
252 tp->lval->width=32;
253 tp->lval->lval=np->rval->lval->rval;
254 np->rval->lval->rval=0;
255 tp->lval->rval=np->rval->rval;
256 np->rval->rval=0;
257 MAYBENEWNODE(tp->rval);
258 tp->rval->opcode=C_OR;
259 tp->rval->width=32;
260 tp->rval->lval=np->rval->lval->lval;
261 np->rval->lval->lval=0;
262 tp->rval->rval=np->lval->lval;
263 np->lval->lval=0;
264 nodefree(np->lval); nodefree(np->rval);
265 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
266 } while(0);
267
268 checknodeactbits(np);
269 if(np->opcode==C_OR &&
270 np->lval->opcode==C_XOR &&
271 np->lval->rval->opcode==C_AND &&
272 np->rval->opcode==C_AND)
273 do
274 {
275 x4=np->rval->rval->constant; c4=np->rval->rval->optdata;
276 x3=np->lval->rval->lval->constant; c3=np->lval->rval->lval->optdata;
277 x2=np->lval->lval->constant; c2=np->lval->lval->optdata;
278 if(!nodessame(np->lval->rval->rval,np->rval->lval)) break;
279 x1=np->rval->lval->constant; c1=np->rval->lval->optdata;
280 x=x2; c=c2; if(!((c&c3)==c)) break;
281 x=x4; c=c4; if(!((c&c3)==0)) break;
282 OPTING(distribhalfxoroveror2);
283 tp=newnode();
284 MAYBENEWNODE(tp);
285 tp->opcode=C_AND;
286 tp->width=32;
287 MAYBENEWNODE(tp->lval);
288 tp->lval->opcode=C_XOR;
289 tp->lval->width=32;
290 tp->lval->lval=np->rval->lval;
291 np->rval->lval=0;
292 tp->lval->rval=np->lval->lval;
293 np->lval->lval=0;
294 MAYBENEWNODE(tp->rval);
295 tp->rval->opcode=C_OR;
296 tp->rval->width=32;
297 tp->rval->lval=np->lval->rval->lval;
298 np->lval->rval->lval=0;
299 tp->rval->rval=np->rval->rval;
300 np->rval->rval=0;
301 nodefree(np->lval); nodefree(np->rval);
302 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
303 } while(0);
304
305 checknodeactbits(np);
306 if(np->opcode==C_OR &&
307 np->lval->opcode==C_AND &&
308 np->rval->opcode==C_XOR &&
309 np->rval->rval->opcode==C_AND)
310 do
311 {
312 x4=np->lval->rval->constant; c4=np->lval->rval->optdata;
313 x3=np->rval->rval->lval->constant; c3=np->rval->rval->lval->optdata;
314 x2=np->rval->lval->constant; c2=np->rval->lval->optdata;
315 if(!nodessame(np->lval->lval,np->rval->rval->rval)) break;
316 x1=np->rval->rval->rval->constant; c1=np->rval->rval->rval->optdata;
317 x=x4; c=c4; if(!((c&c3)==0)) break;
318 x=x2; c=c2; if(!((c&c3)==c)) break;
319 OPTING(distribhalfxoroveror2);
320 tp=newnode();
321 MAYBENEWNODE(tp);
322 tp->opcode=C_AND;
323 tp->width=32;
324 MAYBENEWNODE(tp->lval);
325 tp->lval->opcode=C_XOR;
326 tp->lval->width=32;
327 tp->lval->lval=np->rval->rval->rval;
328 np->rval->rval->rval=0;
329 tp->lval->rval=np->rval->lval;
330 np->rval->lval=0;
331 MAYBENEWNODE(tp->rval);
332 tp->rval->opcode=C_OR;
333 tp->rval->width=32;
334 tp->rval->lval=np->rval->rval->lval;
335 np->rval->rval->lval=0;
336 tp->rval->rval=np->lval->rval;
337 np->lval->rval=0;
338 nodefree(np->lval); nodefree(np->rval);
339 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
340 } while(0);
341
342 checknodeactbits(np);
343 if(np->opcode==C_OR &&
344 np->lval->opcode==C_XOR &&
345 np->lval->rval->opcode==C_AND &&
346 np->rval->opcode==C_AND)
347 do
348 {
349 x4=np->rval->lval->constant; c4=np->rval->lval->optdata;
350 x3=np->lval->rval->lval->constant; c3=np->lval->rval->lval->optdata;
351 x2=np->lval->lval->constant; c2=np->lval->lval->optdata;
352 if(!nodessame(np->lval->rval->rval,np->rval->rval)) break;
353 x1=np->rval->rval->constant; c1=np->rval->rval->optdata;
354 x=x2; c=c2; if(!((c&c3)==c)) break;
355 x=x4; c=c4; if(!((c&c3)==0)) break;
356 OPTING(distribhalfxoroveror2);
357 tp=newnode();
358 MAYBENEWNODE(tp);
359 tp->opcode=C_AND;
360 tp->width=32;
361 MAYBENEWNODE(tp->lval);
362 tp->lval->opcode=C_XOR;
363 tp->lval->width=32;
364 tp->lval->lval=np->rval->rval;
365 np->rval->rval=0;
366 tp->lval->rval=np->lval->lval;
367 np->lval->lval=0;
368 MAYBENEWNODE(tp->rval);
369 tp->rval->opcode=C_OR;
370 tp->rval->width=32;
371 tp->rval->lval=np->lval->rval->lval;
372 np->lval->rval->lval=0;
373 tp->rval->rval=np->rval->lval;
374 np->rval->lval=0;
375 nodefree(np->lval); nodefree(np->rval);
376 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
377 } while(0);
378
379 checknodeactbits(np);
380 if(np->opcode==C_OR &&
381 np->lval->opcode==C_AND &&
382 np->rval->opcode==C_XOR &&
383 np->rval->rval->opcode==C_AND)
384 do
385 {
386 x4=np->lval->lval->constant; c4=np->lval->lval->optdata;
387 x3=np->rval->rval->lval->constant; c3=np->rval->rval->lval->optdata;
388 x2=np->rval->lval->constant; c2=np->rval->lval->optdata;
389 if(!nodessame(np->lval->rval,np->rval->rval->rval)) break;
390 x1=np->rval->rval->rval->constant; c1=np->rval->rval->rval->optdata;
391 x=x4; c=c4; if(!((c&c3)==0)) break;
392 x=x2; c=c2; if(!((c&c3)==c)) break;
393 OPTING(distribhalfxoroveror2);
394 tp=newnode();
395 MAYBENEWNODE(tp);
396 tp->opcode=C_AND;
397 tp->width=32;
398 MAYBENEWNODE(tp->lval);
399 tp->lval->opcode=C_XOR;
400 tp->lval->width=32;
401 tp->lval->lval=np->rval->rval->rval;
402 np->rval->rval->rval=0;
403 tp->lval->rval=np->rval->lval;
404 np->rval->lval=0;
405 MAYBENEWNODE(tp->rval);
406 tp->rval->opcode=C_OR;
407 tp->rval->width=32;
408 tp->rval->lval=np->rval->rval->lval;
409 np->rval->rval->lval=0;
410 tp->rval->rval=np->lval->lval;
411 np->lval->lval=0;
412 nodefree(np->lval); nodefree(np->rval);
413 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
414 } while(0);
415
416 checknodeactbits(np);
417 if(np->opcode==C_OR &&
418 np->lval->opcode==C_AND &&
419 np->lval->lval->opcode==C_OR &&
420 np->rval->opcode==C_AND)
421 do
422 {
423 x4=np->rval->rval->constant; c4=np->rval->rval->optdata;
424 x3=np->lval->rval->constant; c3=np->lval->rval->optdata;
425 x2=np->lval->lval->rval->constant; c2=np->lval->lval->rval->optdata;
426 if(!nodessame(np->lval->lval->lval,np->rval->lval)) break;
427 x1=np->rval->lval->constant; c1=np->rval->lval->optdata;
428 x=x4; c=c4; if(!((c&c3)==0)) break;
429 OPTING(distribhalforoveror1);
430 tp=newnode();
431 MAYBENEWNODE(tp);
432 tp->opcode=C_AND;
433 tp->width=32;
434 MAYBENEWNODE(tp->lval);
435 tp->lval->opcode=C_OR;
436 tp->lval->width=32;
437 tp->lval->lval=np->rval->lval;
438 np->rval->lval=0;
439 tp->lval->rval=np->lval->lval->rval;
440 np->lval->lval->rval=0;
441 MAYBENEWNODE(tp->rval);
442 tp->rval->opcode=C_OR;
443 tp->rval->width=32;
444 tp->rval->lval=np->lval->rval;
445 np->lval->rval=0;
446 tp->rval->rval=np->rval->rval;
447 np->rval->rval=0;
448 nodefree(np->lval); nodefree(np->rval);
449 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
450 } while(0);
451
452 checknodeactbits(np);
453 if(np->opcode==C_OR &&
454 np->lval->opcode==C_AND &&
455 np->rval->opcode==C_AND &&
456 np->rval->lval->opcode==C_OR)
457 do
458 {
459 x4=np->lval->rval->constant; c4=np->lval->rval->optdata;
460 x3=np->rval->rval->constant; c3=np->rval->rval->optdata;
461 x2=np->rval->lval->rval->constant; c2=np->rval->lval->rval->optdata;
462 if(!nodessame(np->lval->lval,np->rval->lval->lval)) break;
463 x1=np->rval->lval->lval->constant; c1=np->rval->lval->lval->optdata;
464 x=x4; c=c4; if(!((c&c3)==0)) break;
465 OPTING(distribhalforoveror1);
466 tp=newnode();
467 MAYBENEWNODE(tp);
468 tp->opcode=C_AND;
469 tp->width=32;
470 MAYBENEWNODE(tp->lval);
471 tp->lval->opcode=C_OR;
472 tp->lval->width=32;
473 tp->lval->lval=np->rval->lval->lval;
474 np->rval->lval->lval=0;
475 tp->lval->rval=np->rval->lval->rval;
476 np->rval->lval->rval=0;
477 MAYBENEWNODE(tp->rval);
478 tp->rval->opcode=C_OR;
479 tp->rval->width=32;
480 tp->rval->lval=np->rval->rval;
481 np->rval->rval=0;
482 tp->rval->rval=np->lval->rval;
483 np->lval->rval=0;
484 nodefree(np->lval); nodefree(np->rval);
485 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
486 } while(0);
487
488 checknodeactbits(np);
489 if(np->opcode==C_OR &&
490 np->lval->opcode==C_AND &&
491 np->lval->lval->opcode==C_OR &&
492 np->rval->opcode==C_AND)
493 do
494 {
495 x4=np->rval->lval->constant; c4=np->rval->lval->optdata;
496 x3=np->lval->rval->constant; c3=np->lval->rval->optdata;
497 x2=np->lval->lval->rval->constant; c2=np->lval->lval->rval->optdata;
498 if(!nodessame(np->lval->lval->lval,np->rval->rval)) break;
499 x1=np->rval->rval->constant; c1=np->rval->rval->optdata;
500 x=x4; c=c4; if(!((c&c3)==0)) break;
501 OPTING(distribhalforoveror1);
502 tp=newnode();
503 MAYBENEWNODE(tp);
504 tp->opcode=C_AND;
505 tp->width=32;
506 MAYBENEWNODE(tp->lval);
507 tp->lval->opcode=C_OR;
508 tp->lval->width=32;
509 tp->lval->lval=np->rval->rval;
510 np->rval->rval=0;
511 tp->lval->rval=np->lval->lval->rval;
512 np->lval->lval->rval=0;
513 MAYBENEWNODE(tp->rval);
514 tp->rval->opcode=C_OR;
515 tp->rval->width=32;
516 tp->rval->lval=np->lval->rval;
517 np->lval->rval=0;
518 tp->rval->rval=np->rval->lval;
519 np->rval->lval=0;
520 nodefree(np->lval); nodefree(np->rval);
521 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
522 } while(0);
523
524 checknodeactbits(np);
525 if(np->opcode==C_OR &&
526 np->lval->opcode==C_AND &&
527 np->rval->opcode==C_AND &&
528 np->rval->lval->opcode==C_OR)
529 do
530 {
531 x4=np->lval->lval->constant; c4=np->lval->lval->optdata;
532 x3=np->rval->rval->constant; c3=np->rval->rval->optdata;
533 x2=np->rval->lval->rval->constant; c2=np->rval->lval->rval->optdata;
534 if(!nodessame(np->lval->rval,np->rval->lval->lval)) break;
535 x1=np->rval->lval->lval->constant; c1=np->rval->lval->lval->optdata;
536 x=x4; c=c4; if(!((c&c3)==0)) break;
537 OPTING(distribhalforoveror1);
538 tp=newnode();
539 MAYBENEWNODE(tp);
540 tp->opcode=C_AND;
541 tp->width=32;
542 MAYBENEWNODE(tp->lval);
543 tp->lval->opcode=C_OR;
544 tp->lval->width=32;
545 tp->lval->lval=np->rval->lval->lval;
546 np->rval->lval->lval=0;
547 tp->lval->rval=np->rval->lval->rval;
548 np->rval->lval->rval=0;
549 MAYBENEWNODE(tp->rval);
550 tp->rval->opcode=C_OR;
551 tp->rval->width=32;
552 tp->rval->lval=np->rval->rval;
553 np->rval->rval=0;
554 tp->rval->rval=np->lval->lval;
555 np->lval->lval=0;
556 nodefree(np->lval); nodefree(np->rval);
557 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
558 } while(0);
559
560 checknodeactbits(np);
561 if(np->opcode==C_OR &&
562 np->lval->opcode==C_AND &&
563 np->lval->rval->opcode==C_OR &&
564 np->rval->opcode==C_AND)
565 do
566 {
567 x4=np->rval->rval->constant; c4=np->rval->rval->optdata;
568 x3=np->lval->lval->constant; c3=np->lval->lval->optdata;
569 x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata;
570 if(!nodessame(np->lval->rval->lval,np->rval->lval)) break;
571 x1=np->rval->lval->constant; c1=np->rval->lval->optdata;
572 x=x4; c=c4; if(!((c&c3)==0)) break;
573 OPTING(distribhalforoveror1);
574 tp=newnode();
575 MAYBENEWNODE(tp);
576 tp->opcode=C_AND;
577 tp->width=32;
578 MAYBENEWNODE(tp->lval);
579 tp->lval->opcode=C_OR;
580 tp->lval->width=32;
581 tp->lval->lval=np->rval->lval;
582 np->rval->lval=0;
583 tp->lval->rval=np->lval->rval->rval;
584 np->lval->rval->rval=0;
585 MAYBENEWNODE(tp->rval);
586 tp->rval->opcode=C_OR;
587 tp->rval->width=32;
588 tp->rval->lval=np->lval->lval;
589 np->lval->lval=0;
590 tp->rval->rval=np->rval->rval;
591 np->rval->rval=0;
592 nodefree(np->lval); nodefree(np->rval);
593 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
594 } while(0);
595
596 checknodeactbits(np);
597 if(np->opcode==C_OR &&
598 np->lval->opcode==C_AND &&
599 np->rval->opcode==C_AND &&
600 np->rval->rval->opcode==C_OR)
601 do
602 {
603 x4=np->lval->rval->constant; c4=np->lval->rval->optdata;
604 x3=np->rval->lval->constant; c3=np->rval->lval->optdata;
605 x2=np->rval->rval->rval->constant; c2=np->rval->rval->rval->optdata;
606 if(!nodessame(np->lval->lval,np->rval->rval->lval)) break;
607 x1=np->rval->rval->lval->constant; c1=np->rval->rval->lval->optdata;
608 x=x4; c=c4; if(!((c&c3)==0)) break;
609 OPTING(distribhalforoveror1);
610 tp=newnode();
611 MAYBENEWNODE(tp);
612 tp->opcode=C_AND;
613 tp->width=32;
614 MAYBENEWNODE(tp->lval);
615 tp->lval->opcode=C_OR;
616 tp->lval->width=32;
617 tp->lval->lval=np->rval->rval->lval;
618 np->rval->rval->lval=0;
619 tp->lval->rval=np->rval->rval->rval;
620 np->rval->rval->rval=0;
621 MAYBENEWNODE(tp->rval);
622 tp->rval->opcode=C_OR;
623 tp->rval->width=32;
624 tp->rval->lval=np->rval->lval;
625 np->rval->lval=0;
626 tp->rval->rval=np->lval->rval;
627 np->lval->rval=0;
628 nodefree(np->lval); nodefree(np->rval);
629 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
630 } while(0);
631
632 checknodeactbits(np);
633 if(np->opcode==C_OR &&
634 np->lval->opcode==C_AND &&
635 np->lval->rval->opcode==C_OR &&
636 np->rval->opcode==C_AND)
637 do
638 {
639 x4=np->rval->lval->constant; c4=np->rval->lval->optdata;
640 x3=np->lval->lval->constant; c3=np->lval->lval->optdata;
641 x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata;
642 if(!nodessame(np->lval->rval->lval,np->rval->rval)) break;
643 x1=np->rval->rval->constant; c1=np->rval->rval->optdata;
644 x=x4; c=c4; if(!((c&c3)==0)) break;
645 OPTING(distribhalforoveror1);
646 tp=newnode();
647 MAYBENEWNODE(tp);
648 tp->opcode=C_AND;
649 tp->width=32;
650 MAYBENEWNODE(tp->lval);
651 tp->lval->opcode=C_OR;
652 tp->lval->width=32;
653 tp->lval->lval=np->rval->rval;
654 np->rval->rval=0;
655 tp->lval->rval=np->lval->rval->rval;
656 np->lval->rval->rval=0;
657 MAYBENEWNODE(tp->rval);
658 tp->rval->opcode=C_OR;
659 tp->rval->width=32;
660 tp->rval->lval=np->lval->lval;
661 np->lval->lval=0;
662 tp->rval->rval=np->rval->lval;
663 np->rval->lval=0;
664 nodefree(np->lval); nodefree(np->rval);
665 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
666 } while(0);
667
668 checknodeactbits(np);
669 if(np->opcode==C_OR &&
670 np->lval->opcode==C_AND &&
671 np->rval->opcode==C_AND &&
672 np->rval->rval->opcode==C_OR)
673 do
674 {
675 x4=np->lval->lval->constant; c4=np->lval->lval->optdata;
676 x3=np->rval->lval->constant; c3=np->rval->lval->optdata;
677 x2=np->rval->rval->rval->constant; c2=np->rval->rval->rval->optdata;
678 if(!nodessame(np->lval->rval,np->rval->rval->lval)) break;
679 x1=np->rval->rval->lval->constant; c1=np->rval->rval->lval->optdata;
680 x=x4; c=c4; if(!((c&c3)==0)) break;
681 OPTING(distribhalforoveror1);
682 tp=newnode();
683 MAYBENEWNODE(tp);
684 tp->opcode=C_AND;
685 tp->width=32;
686 MAYBENEWNODE(tp->lval);
687 tp->lval->opcode=C_OR;
688 tp->lval->width=32;
689 tp->lval->lval=np->rval->rval->lval;
690 np->rval->rval->lval=0;
691 tp->lval->rval=np->rval->rval->rval;
692 np->rval->rval->rval=0;
693 MAYBENEWNODE(tp->rval);
694 tp->rval->opcode=C_OR;
695 tp->rval->width=32;
696 tp->rval->lval=np->rval->lval;
697 np->rval->lval=0;
698 tp->rval->rval=np->lval->lval;
699 np->lval->lval=0;
700 nodefree(np->lval); nodefree(np->rval);
701 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
702 } while(0);
703
704 checknodeactbits(np);
705 if(np->opcode==C_OR &&
706 np->lval->opcode==C_AND &&
707 np->lval->lval->opcode==C_OR &&
708 np->rval->opcode==C_AND)
709 do
710 {
711 x4=np->rval->rval->constant; c4=np->rval->rval->optdata;
712 x3=np->lval->rval->constant; c3=np->lval->rval->optdata;
713 x2=np->lval->lval->lval->constant; c2=np->lval->lval->lval->optdata;
714 if(!nodessame(np->lval->lval->rval,np->rval->lval)) break;
715 x1=np->rval->lval->constant; c1=np->rval->lval->optdata;
716 x=x4; c=c4; if(!((c&c3)==0)) break;
717 OPTING(distribhalforoveror1);
718 tp=newnode();
719 MAYBENEWNODE(tp);
720 tp->opcode=C_AND;
721 tp->width=32;
722 MAYBENEWNODE(tp->lval);
723 tp->lval->opcode=C_OR;
724 tp->lval->width=32;
725 tp->lval->lval=np->rval->lval;
726 np->rval->lval=0;
727 tp->lval->rval=np->lval->lval->lval;
728 np->lval->lval->lval=0;
729 MAYBENEWNODE(tp->rval);
730 tp->rval->opcode=C_OR;
731 tp->rval->width=32;
732 tp->rval->lval=np->lval->rval;
733 np->lval->rval=0;
734 tp->rval->rval=np->rval->rval;
735 np->rval->rval=0;
736 nodefree(np->lval); nodefree(np->rval);
737 tempw=np->width; *np=*tp; np->width=tempw; free(tp);
738 } while(0);
739
740 c=c1=c2=c3=c4=c5=c6=c7=c8=c9=0;
741 x=x1=x2=x3=x4=x5=x6=x7=x8=x9=r=0;
742 if(c+c1+c2+c3+c4+c5+c6+c7+c8+c9+r+
743 x+x1+x2+x3+x4+x5+x6+x7+x8+x9) raise(SIGSEGV);
744 return opted;
745 }