Mercurial > repo
view interps/c-intercal/oilout01.c @ 12518:2d8fe55c6e65 draft default tip
<int-e> learn The password of the month is release incident pilot.
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Sun, 03 Nov 2024 00:31:02 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
/* Automatically generated output, edit source and recompile to change */ #include "oil.h" int optimize_pass1_1(node *np) { int opted=0; unsigned long c,c1,c2,c3,c4,c5,c6,c7,c8,c9; unsigned long x,x1,x2,x3,x4,x5,x6,x7,x8,x9,r; int tempw; node *tp; checknodeactbits(np); if(np->opcode==C_LSHIFTBY && (np->lval->opcode==MESH || np->lval->opcode==MESH32) && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x2=np->rval->constant; c2=np->rval->optdata; x1=np->lval->constant; c1=np->lval->optdata; OPTING(cfold); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=MESH32; tp->width=32; tp->constant=(x1 << x2); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_ISEQUAL && (np->lval->opcode==MESH || np->lval->opcode==MESH32) && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x2=np->rval->constant; c2=np->rval->optdata; x1=np->lval->constant; c1=np->lval->optdata; OPTING(cfold); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=MESH32; tp->width=32; tp->constant=(x1 == x2); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_NOTEQUAL && (np->lval->opcode==MESH || np->lval->opcode==MESH32) && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x2=np->rval->constant; c2=np->rval->optdata; x1=np->lval->constant; c1=np->lval->optdata; OPTING(cfold); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=MESH32; tp->width=32; tp->constant=(x1 != x2); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==C_OR && (np->lval->rval->opcode==MESH || np->lval->rval->opcode==MESH32) && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->constant; c2=np->lval->rval->optdata; x1=np->lval->lval->constant; c1=np->lval->lval->optdata; OPTING(cfoldintoorinand); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_OR; tp->lval->width=32; tp->lval->lval=np->lval->lval; np->lval->lval=0; MAYBENEWNODE(tp->lval->rval); tp->lval->rval->opcode=MESH32; tp->lval->rval->width=32; tp->lval->rval->constant=(x2 & x3); tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==AND && np->lval->width==32 && np->lval->rval->opcode==MINGLE && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&4294901760LU))) break; x=x2; c=c2; if(!(!(c&4294901760LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinand); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_AND; tp->lval->width=32; tp->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->rval); tp->rval->opcode=MESH32; tp->rval->width=32; tp->rval->constant=(iselect(x3,1431655765LU)); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==OR && np->lval->width==32 && np->lval->rval->opcode==MINGLE && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&4294901760LU))) break; x=x2; c=c2; if(!(!(c&4294901760LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinor); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_OR; tp->lval->width=32; tp->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->rval); tp->rval->opcode=MESH32; tp->rval->width=32; tp->rval->constant=(iselect(x3,1431655765LU)); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==XOR && np->lval->width==32 && np->lval->rval->opcode==MINGLE && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&4294901760LU))) break; x=x2; c=c2; if(!(!(c&4294901760LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinxor); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_XOR; tp->lval->width=32; tp->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->rval); tp->rval->opcode=MESH32; tp->rval->width=32; tp->rval->constant=(iselect(x3,1431655765LU)); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==AND && np->lval->width==32 && np->lval->rval->opcode==MINGLE && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&4294901760LU))) break; x=x2; c=c2; if(!(!(c&4294901760LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinandnoselect); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=MINGLE; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=MESH32; tp->lval->width=32; tp->lval->constant=(0LU); MAYBENEWNODE(tp->rval); tp->rval->opcode=C_AND; tp->rval->width=32; MAYBENEWNODE(tp->rval->lval); tp->rval->lval->opcode=C_AND; tp->rval->lval->width=32; tp->rval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->rval->rval); tp->rval->rval->opcode=MESH32; tp->rval->rval->width=32; tp->rval->rval->constant=(iselect(x3,1431655765LU)); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==OR && np->lval->width==32 && np->lval->rval->opcode==MINGLE && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&4294901760LU))) break; x=x2; c=c2; if(!(!(c&4294901760LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinornoselect); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=MINGLE; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=MESH32; tp->lval->width=32; tp->lval->constant=(0LU); MAYBENEWNODE(tp->rval); tp->rval->opcode=C_AND; tp->rval->width=32; MAYBENEWNODE(tp->rval->lval); tp->rval->lval->opcode=C_OR; tp->rval->lval->width=32; tp->rval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->rval->rval); tp->rval->rval->opcode=MESH32; tp->rval->rval->width=32; tp->rval->rval->constant=(iselect(x3,1431655765LU)); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==XOR && np->lval->width==32 && np->lval->rval->opcode==MINGLE && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&4294901760LU))) break; x=x2; c=c2; if(!(!(c&4294901760LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinxornoselect); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=MINGLE; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=MESH32; tp->lval->width=32; tp->lval->constant=(0LU); MAYBENEWNODE(tp->rval); tp->rval->opcode=C_AND; tp->rval->width=32; MAYBENEWNODE(tp->rval->lval); tp->rval->lval->opcode=C_XOR; tp->rval->lval->width=32; tp->rval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->rval->rval); tp->rval->rval->opcode=MESH32; tp->rval->rval->width=32; tp->rval->rval->constant=(iselect(x3,1431655765LU)); nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==AND && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinandnomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=SELECT; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_AND; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==AND && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->lval->constant; c2=np->lval->rval->lval->optdata; x1=np->lval->rval->rval->constant; c1=np->lval->rval->rval->optdata; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinandnomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=SELECT; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_AND; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==AND && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinandnomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_AND; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==AND && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->lval->constant; c2=np->lval->rval->lval->optdata; x1=np->lval->rval->rval->constant; c1=np->lval->rval->rval->optdata; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinandnomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_AND; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==OR && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinornomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=SELECT; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_OR; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==OR && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->lval->constant; c2=np->lval->rval->lval->optdata; x1=np->lval->rval->rval->constant; c1=np->lval->rval->rval->optdata; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinornomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=SELECT; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_OR; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==OR && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinornomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_OR; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==C_AND && np->lval->opcode==OR && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->lval->constant; c2=np->lval->rval->lval->optdata; x1=np->lval->rval->rval->constant; c1=np->lval->rval->rval->optdata; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinornomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=C_AND; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_OR; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==XOR && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->rval->constant; c2=np->lval->rval->rval->optdata; x1=np->lval->rval->lval->constant; c1=np->lval->rval->lval->optdata; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinxornomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=SELECT; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_XOR; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->rval; np->lval->rval->rval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->lval; np->lval->rval->lval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); checknodeactbits(np); if(np->opcode==SELECT && np->lval->opcode==XOR && np->lval->width==32 && np->lval->rval->opcode==C_OR && (np->rval->opcode==MESH || np->rval->opcode==MESH32)) do { x3=np->rval->constant; c3=np->rval->optdata; x2=np->lval->rval->lval->constant; c2=np->lval->rval->lval->optdata; x1=np->lval->rval->rval->constant; c1=np->lval->rval->rval->optdata; x=x2; c=c2; if(!(!(c&1431655765LU))) break; x=x1; c=c1; if(!(!(c&2863311530LU))) break; x=x3; c=c3; if(!(!(x&2863311530LU)&&iselect(x,1431655765LU)==xselx(iselect(x,1431655765LU)))) break; OPTING(cbinxornomingle); tp=newnode(); MAYBENEWNODE(tp); tp->opcode=SELECT; tp->width=32; MAYBENEWNODE(tp->lval); tp->lval->opcode=C_XOR; tp->lval->width=32; MAYBENEWNODE(tp->lval->lval); tp->lval->lval->opcode=C_RSHIFTBY; tp->lval->lval->width=32; tp->lval->lval->lval=np->lval->rval->lval; np->lval->rval->lval=0; MAYBENEWNODE(tp->lval->lval->rval); tp->lval->lval->rval->opcode=MESH32; tp->lval->lval->rval->width=32; tp->lval->lval->rval->constant=(1LU); tp->lval->rval=np->lval->rval->rval; np->lval->rval->rval=0; tp->rval=np->rval; np->rval=0; nodefree(np->lval); nodefree(np->rval); tempw=np->width; *np=*tp; np->width=tempw; free(tp); } while(0); c=c1=c2=c3=c4=c5=c6=c7=c8=c9=0; x=x1=x2=x3=x4=x5=x6=x7=x8=x9=r=0; if(c+c1+c2+c3+c4+c5+c6+c7+c8+c9+r+ x+x1+x2+x3+x4+x5+x6+x7+x8+x9) raise(SIGSEGV); return opted; }