changeset 772:37e27e0c77d0

code-gen-all test passed.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 18 Nov 2010 17:02:54 +0900
parents 5e07b9804aea
children e35af486b436
files .gdbinit Changes mc-code-i64.c mc-codegen.c mc-parse.c test/code-gen.c
diffstat 6 files changed, 492 insertions(+), 470 deletions(-) [+]
line wrap: on
line diff
--- a/.gdbinit	Thu Nov 18 12:08:55 2010 +0900
+++ b/.gdbinit	Thu Nov 18 17:02:54 2010 +0900
@@ -13,13 +13,13 @@
 x/1i $rip
 end
 b errmsg
-r -s test/tmp7.c
+# r -s test/tmp7.c
 # r -s test/int.c
 # r -s test/tmp6.c
 # r -s test/call.c
 # r -s test/static.c
 # r -s test/tmpa.c
-# r -s test/code-gen-all.c
+r -s test/code-gen-all.c
 # r -s mc-code-powerpc.c
 # r -s test/macro.c
 # r -s test/basic.c
--- a/Changes	Thu Nov 18 12:08:55 2010 +0900
+++ b/Changes	Thu Nov 18 17:02:54 2010 +0900
@@ -9858,3 +9858,5 @@
 
 eh は生成しなくても動くみたいだ。
 
+CONST に INT/UNSIGNED の区別がない... どうしようかな。
+
--- a/mc-code-i64.c	Thu Nov 18 12:08:55 2010 +0900
+++ b/mc-code-i64.c	Thu Nov 18 17:02:54 2010 +0900
@@ -3704,6 +3704,8 @@
     use_int(reg);
     int c = reg;
     set_freg(get_dregister(1),0);
+    printf("\tsalq $32,%s\n",register_name(c,0));
+    printf("\tsarq $32,%s\n",register_name(c,0));
     printf("\tcvtsi2sd     %s,%s\n",register_name(c,0),fregister_name(freg));
 }
 
@@ -3777,6 +3779,8 @@
     use_int(reg);
     int c = reg;
     set_freg(get_dregister(0),0);
+    printf("\tsalq $32,%s\n",register_name(c,0));
+    printf("\tsarq $32,%s\n",register_name(c,0));
     printf("\tcvtsi2ss     %s,%s\n",register_name(c,0),fregister_name(creg));
 }
 void code_u2f(int reg) { 
@@ -3870,7 +3874,7 @@
 	    printf("\tucomiss "); lvar(oreg);
 	    printf(",%s\n",frn);
         } else {
-	    printf("\tucomiss %s,%s\n",frn,grn);
+	    printf("\tucomiss %s,%s\n",grn,frn);
         }
         if (ox!=-1) free_register(ox);
         return;
@@ -3879,7 +3883,7 @@
 	    printf("\tucomisd "); lvar(oreg);
 	    printf(",%s\n",frn);
         } else {
-	    printf("\tucomisd %s,%s\n",frn,grn);
+	    printf("\tucomisd %s,%s\n",grn,frn);
         }
         if (ox!=-1) free_register(ox);
         return;
@@ -3950,7 +3954,7 @@
 code_dpreinc(int e1,int e2,int d,int reg) {
     char *frn,*crn,*grn;
     int  g;
-    char *ops = (caddr(e1)>0)?(d?"addsd":"addss"):(d?"subsd":"addss");
+    char *ops = (caddr(e1)>0)?(d?"addsd":"addss"):(d?"subsd":"subss");
 
     if (car(e2)==DREGISTER||car(e2)==FREGISTER) {
         crn=fregister_name(cadr(e2));
@@ -3983,8 +3987,8 @@
 void
 code_dpostinc(int e1,int e2,int d,int reg) {
     char *frn,*crn,*grn;
-    int  g;
-    char *ops = (caddr(e1)>0)?(d?"addsd":"addss"):(d?"subsd":"addss");
+    int  g,t;
+    char *ops = (caddr(e1)>0)?(d?"addsd":"addss"):(d?"subsd":"subss");
 
     if (car(e2)==DREGISTER||car(e2)==FREGISTER) {
         crn=fregister_name(cadr(e2));
@@ -4008,8 +4012,15 @@
         frn=fregister_name(reg);
         grn = fregister_name(g = code_dload_1(d,get_dregister(d)));
         printf("\t%s 0(%s),%s\n",fload(d),crn,frn);
-        printf("\t%s %s,%s\n",ops,frn,grn);
-        printf("\t%s %s,0(%s)\n",fstore(d),grn,crn);
+	if (use) {
+	    t = get_dregister(d);
+	    printf("\tmovap%s %s,%s\n",d?"d":"s",frn,fregister_name(t));
+	}
+        printf("\t%s %s,%s\n",ops,grn,frn);
+        printf("\t%s %s,0(%s)\n",fstore(d),frn,crn);
+	if (use) {
+	    set_freg(t,0); 
+	}
     }
     free_register(g);
 }
@@ -4024,20 +4035,20 @@
 drexpr0(int e1, int e2,int l1, int op,int cond,int reg,int mode)
 {       
     char *s;
-    if (cond) {
+    if (!cond) {
 	switch(op) {
 	case FOP+GT:
-	    return drexpr0(e2,e1,l1,FOP+GE,0,reg,mode);
+	    return drexpr0(e2,e1,l1,FOP+GE,1,reg,mode);
 	case FOP+GE:
-	    return drexpr0(e2,e1,l1,FOP+GT,0,reg,mode);
+	    return drexpr0(e2,e1,l1,FOP+GT,1,reg,mode);
 	case FOP+EQ:
 	    op=FOP+NEQ; break;
 	case FOP+NEQ:
 	    op=FOP+EQ; break;
 	case DOP+GT:
-	    return drexpr0(e2,e1,l1,DOP+GE,0,reg,mode);
+	    return drexpr0(e2,e1,l1,DOP+GE,1,reg,mode);
 	case DOP+GE:
-	    return drexpr0(e2,e1,l1,DOP+GT,0,reg,mode);
+	    return drexpr0(e2,e1,l1,DOP+GT,1,reg,mode);
 	case DOP+EQ:
 	    op=DOP+NEQ; break;
 	case DOP+NEQ:
@@ -4045,14 +4056,14 @@
 	default: return 0;
 	}
     }
-    s = "b";
+    s = "a";
     int cmp = FCMP;
     switch(op) {
 	case DOP+GE:
 	    cmp = DCMP;
 	case FOP+GE:
 	    g_expr(list3(cmp,e1,e2));
-	    s = "be";
+	    s = "ae";
 	    break;
 	case DOP+GT:
 	    cmp = DCMP;
@@ -4088,14 +4099,14 @@
 int
 drexpr(int e1, int e2,int l1, int op,int cond)
 {
-    drexpr0(e1, e2,l1, op,!cond,USE_CREG,COND_BRANCH);
+    drexpr0(e1, e2,l1, op,cond,USE_CREG,COND_BRANCH);
     return l1;
 }
 
 static int
 drexpr_bool(int e1, int reg)
 {
-    return drexpr0(cadr(e1), caddr(e1),0, car(e1),0,reg,COND_VALUE);
+    return drexpr0(cadr(e1), caddr(e1),0, car(e1),1,reg,COND_VALUE);
 }
 
 
@@ -4447,7 +4458,10 @@
 
 void code_ll2f(int reg)
 {
-    code_ll2d(reg);
+    use_longlong(reg);
+    char *f = register_name(reg,0);
+    set_freg(get_dregister(1),0);
+    printf("\tcvtsi2ssq      %s,%s\n",f,fregister_name(freg));
 }
 
 void code_ull2d(int reg)
@@ -4457,7 +4471,7 @@
 
 void code_ull2f(int reg)
 {
-    code_ll2d(reg);
+    code_ll2f(reg);
 }
 
 #endif
@@ -4527,7 +4541,7 @@
 code_register_lassop(int reg,int op) {
     use_longlong(reg);
     int xreg = emit_lpop();
-    ltosop(op,xreg,reg);
+    ltosop(op,reg,xreg);
     emit_lpop_free(xreg);
 }
 
--- a/mc-codegen.c	Thu Nov 18 12:08:55 2010 +0900
+++ b/mc-codegen.c	Thu Nov 18 17:02:54 2010 +0900
@@ -4591,11 +4591,11 @@
 	    return list2(DMINUS,e1);
 	}
 	if (op==SUB) {
-	    op=ADD; e2 = dlist2(DCONST,-dcadr(e2));
+	    op=ADD; e2 = dlist2(dop+CONST,-dcadr(e2));
 	    // op=ADD; dcadr(e2) = -dcadr(e2);
 	} else if(op==DIV) {
 	    if(dcadr(e2)==0.0) error(EXERR);
-	    op=MUL; e2 = dlist2(DCONST,1.0/dcadr(e2));
+	    op=MUL; e2 = dlist2(dop+CONST,1.0/dcadr(e2));
 	    // op=MUL; dcadr(e2)=1/dcadr(e2);
 	}
     }
@@ -4710,10 +4710,10 @@
 	    if(!le2) error(EXERR);
 	    if (us) le=(((unsigned long long )le1)%((unsigned long long )le2)); 
 	    else e=(le1%le2);
-	case RSHIFT:
+	case LSHIFT:
 	    if (t1==ULONGLONG) le=(((unsigned long long)le1)<<le2); else le=le1<<le2;
 	    break;
-	case LSHIFT:
+	case RSHIFT:
 	    if (t1==ULONGLONG) le=(((unsigned long long)le1)>>le2); else le=le1>>le2;
 	    break;
 	default:
@@ -5006,9 +5006,9 @@
 extern int
 binop(int op, int e1, int e2, int t1, int t2)
 {
-    int e = binop0(op,e1,e2,t1,t2);
+    int e = binop0(op,e1,e2,t1,t2);   // we have to execute this to fix type
     if (inmode) return  list3(ST_OP,op,list4(e1,e2,t1,t2));
-    else return e;
+    return e;
 }
 
 /*
--- a/mc-parse.c	Thu Nov 18 12:08:55 2010 +0900
+++ b/mc-parse.c	Thu Nov 18 17:02:54 2010 +0900
@@ -4774,6 +4774,7 @@
 	    getch();
 	    return 1;
 	}
+	if (lp64) return 1;
     }
     return 0;
 }
--- a/test/code-gen.c	Thu Nov 18 12:08:55 2010 +0900
+++ b/test/code-gen.c	Thu Nov 18 17:02:54 2010 +0900
@@ -2073,33 +2073,38 @@
     double ui1l,ui2l;
 
     d1 = d0-3;
+    printf("#2075:code_dbool init f0=%g d1=%g\n",f0,d1);
     for(f1=f0-3;f1<f0+3;f1++) {
-	printf("#2076:code_dbool %g>%g gvar %d\n",f0,f1,f0>f1);
-	printf("#2077:code_dbool %g>%g gvar %d d\n",d0,d1,d0>d1);
-	printf("#2078:code_dbool %g>=%g gvar %d\n",f0,f1,f0>=f1);
-	printf("#2079:code_dbool %g>=%g gvar %d d\n",d0,d1,d0>=d1);
-	printf("#2080:code_dbool %g<%g gvar %d\n",f0,f1,f0<f1);
-	printf("#2081:code_dbool %g<%g gvar %d d\n",d0,d1,d0<d1);
-	printf("#2082:code_dbool %g<=%g gvar %d\n",f0,f1,f0<=f1);
-	printf("#2083:code_dbool %g<=%g gvar %d d\n",d0,d1,d0<=d1);
-	printf("#2084:code_dbool %g==%g gvar %d d\n",d0,d1,d0==d1);
-	printf("#2085:code_dbool %g!=%g gvar %d\n",f0,f1,f0!=f1);
+	printf("#2077:code_dbool f0=%g f1=%g\n",f0,f1);
+    }
+
+    for(f1=f0-3;f1<f0+3;f1++) {
+	printf("#2081:code_dbool %g>%g gvar %d\n",f0,f1,f0>f1);
+	printf("#2082:code_dbool %g>%g gvar %d d\n",d0,d1,d0>d1);
+	printf("#2083:code_dbool %g>=%g gvar %d\n",f0,f1,f0>=f1);
+	printf("#2084:code_dbool %g>=%g gvar %d d\n",d0,d1,d0>=d1);
+	printf("#2085:code_dbool %g<%g gvar %d\n",f0,f1,f0<f1);
+	printf("#2086:code_dbool %g<%g gvar %d d\n",d0,d1,d0<d1);
+	printf("#2087:code_dbool %g<=%g gvar %d\n",f0,f1,f0<=f1);
+	printf("#2088:code_dbool %g<=%g gvar %d d\n",d0,d1,d0<=d1);
+	printf("#2089:code_dbool %g==%g gvar %d d\n",d0,d1,d0==d1);
+	printf("#2090:code_dbool %g!=%g gvar %d\n",f0,f1,f0!=f1);
 	d1++;
     }
     ui1l = d0;
     i1l = f0;
     ui2l = d0-3;
     for(i2l=f0-3;i2l<i1l+3;i2l++) {
-	printf("#2092:code_dbool %g>%g lvar %d\n",i1l,i2l,i1l>i2l);
-	printf("#2093:code_dbool %g>%g lvar %d d\n",ui1l,ui2l,ui1l>ui2l);
-	printf("#2094:code_dbool %g>=%g lvar %d\n",i1l,i2l,i1l>=i2l);
-	printf("#2095:code_dbool %g>=%g lvar %d d\n",ui1l,ui2l,ui1l>=ui2l);
-	printf("#2096:code_dbool %g<%g lvar %d\n",i1l,i2l,i1l<i2l);
-	printf("#2097:code_dbool %g<%g lvar %d d\n",ui1l,ui2l,ui1l<ui2l);
-	printf("#2098:code_dbool %g<=%g lvar %d\n",i1l,i2l,i1l<=i2l);
-	printf("#2099:code_dbool %g<=%g lvar %d d\n",ui1l,ui2l,ui1l<=ui2l);
-	printf("#2100:code_dbool %g==%g lvar %d d\n",ui1l,ui2l,ui1l==ui2l);
-	printf("#2101:code_dbool %g!=%g lvar %d\n",i1l,i2l,i1l!=i2l);
+	printf("#2097:code_dbool %g>%g lvar %d\n",i1l,i2l,i1l>i2l);
+	printf("#2098:code_dbool %g>%g lvar %d d\n",ui1l,ui2l,ui1l>ui2l);
+	printf("#2099:code_dbool %g>=%g lvar %d\n",i1l,i2l,i1l>=i2l);
+	printf("#2100:code_dbool %g>=%g lvar %d d\n",ui1l,ui2l,ui1l>=ui2l);
+	printf("#2101:code_dbool %g<%g lvar %d\n",i1l,i2l,i1l<i2l);
+	printf("#2102:code_dbool %g<%g lvar %d d\n",ui1l,ui2l,ui1l<ui2l);
+	printf("#2103:code_dbool %g<=%g lvar %d\n",i1l,i2l,i1l<=i2l);
+	printf("#2104:code_dbool %g<=%g lvar %d d\n",ui1l,ui2l,ui1l<=ui2l);
+	printf("#2105:code_dbool %g==%g lvar %d d\n",ui1l,ui2l,ui1l==ui2l);
+	printf("#2106:code_dbool %g!=%g lvar %d\n",i1l,i2l,i1l!=i2l);
 	ui2l++;
     }
 }
@@ -2115,17 +2120,17 @@
     long long l0l,l1l;
     unsigned long long ul0l,ul1l;
 
-    printf("#2117:code_bool > long long %d %d %d %d %d %d\n",
+    printf("#2122:code_bool > long long %d %d %d %d %d %d\n",
 	l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
-    printf("#2119:code_bool < long long %d %d %d %d %d %d\n",
+    printf("#2124:code_bool < long long %d %d %d %d %d %d\n",
 	l1<l0,ul1<ul0,l1<=l0,ul1<=ul0,ul1==ul0,l1!=l0);
 
     l0l=l1l=l0;
     ul0l=ul1l=ul0;
 
-    printf("#2125:code_bool eq > long long %d %d %d %d %d %d\n",
+    printf("#2130:code_bool eq > long long %d %d %d %d %d %d\n",
 	l1l>l0l,ul1l>ul0l,l1l>=l0l,ul1l>=ul0l,ul1l==ul0l,l1l!=l0l);
-    printf("#2127:code_bool eq < long long %d %d %d %d %d %d\n",
+    printf("#2132:code_bool eq < long long %d %d %d %d %d %d\n",
 	l1l<l0l,ul1l<ul0l,l1l<=l0l,ul1l<=ul0l,ul1l==ul0l,l1l!=l0l);
 
 }
@@ -2141,7 +2146,7 @@
     l1 = 123123123LL;
     ul0 = 123123123LL;
     ul1 = 123123123LL;
-    printf("#2143:code_lvar long long %llu %llu %llu %llu\n",l0,l1,ul0,ul1);
+    printf("#2148:code_lvar long long %llu %llu %llu %llu\n",l0,l1,ul0,ul1);
 }
 
 // code_cmp_lregister(int reg)
@@ -2154,8 +2159,8 @@
     l1 = 123123123LL;
     ul0 = 123123123LL;
     ul1 = 123123123LL;
-    if(l0 ) printf("#2156:code_bool register 8\n");
-    if(ul0 ) printf("#2157:code_bool register 9\n");
+    if(l0 ) printf("#2161:code_bool register 8\n");
+    if(ul0 ) printf("#2162:code_bool register 9\n");
 }
 
 // code_cmp_lrgvar(int e1,int e2)
@@ -2166,8 +2171,8 @@
     l1 = 123123123LL;
     ul0 = 123123123LL;
     ul1 = 123123123LL;
-    if(l0 ) printf("#2168:code_bool global 8\n");
-    if(ul0 ) printf("#2169:code_bool global 9\n");
+    if(l0 ) printf("#2173:code_bool global 8\n");
+    if(ul0 ) printf("#2174:code_bool global 9\n");
 }
 // code_cmp_lrlvar(int e1,int e2)
 INLINE void
@@ -2179,8 +2184,8 @@
     l1 = 123123123LL;
     ul0 = 123123123LL;
     ul1 = 123123123LL;
-    if(l0 ) printf("#2181:code_bool local 8\n");
-    if(ul0 ) printf("#2182:code_bool local 9\n");
+    if(l0 ) printf("#2186:code_bool local 8\n");
+    if(ul0 ) printf("#2187:code_bool local 9\n");
 }
 
 // code_lassign(int e1,int e2)
@@ -2204,7 +2209,7 @@
 
     *(pi2+i1+i2) = 3;
     *(pui2+i1+i2) = 3;
-    printf("#2206:code_rindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
+    printf("#2211:code_rindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
 }
 
 INLINE void
@@ -2224,7 +2229,7 @@
 
     *(pi2+i1+i2) = 3;
     *(pui2+i1+i2) = 3;
-    printf("#2226:code_rindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
+    printf("#2231:code_rindirect %lld %lld %llu %llu\n",*pi1,*pi2,*pui1,*pui2);
 }
 
 // code_lconst(int e1,int e2)
@@ -2234,7 +2239,7 @@
 {
     long long i,j;
     i = 123123123;j = -32423;
-    printf("#2236:code_neg %lld %lld\n",-i,-j);
+    printf("#2241:code_neg %lld %lld\n",-i,-j);
 }
 
 // code_lrgvar(int e1,int e2)
@@ -2245,12 +2250,12 @@
     l1 = 123123123LL;
     ul0 = 123123123LL;
     ul1 = 123123123LL;
-    printf("#2247:code_lrgvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
+    printf("#2252:code_lrgvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
     s_l0 = 123123123LL;
     s_l1 = 123123123LL;
     s_ul0 = 123123123LL;
     s_ul1 = 123123123LL;
-    printf("#2252:code_lrgvar long long %lld %lld %llu %llu\n",s_l0,s_l1,s_ul0,s_ul1);
+    printf("#2257:code_lrgvar long long %lld %lld %llu %llu\n",s_l0,s_l1,s_ul0,s_ul1);
 }
 
 // code_lrlvar(int e1,int e2)
@@ -2263,10 +2268,10 @@
     l1 = 123123123LL;
     ul0 = 123123123LL;
     ul1 = 123123123LL;
-    printf("#2265:code_lvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
-    printf("#2266:code_bool lvar > long long %d %d %d %d %d %d\n",
+    printf("#2270:code_lvar long long %lld %lld %llu %llu\n",l0,l1,ul0,ul1);
+    printf("#2271:code_bool lvar > long long %d %d %d %d %d %d\n",
 	l1>l0,ul1>ul0,l1>=l0,ul1>=ul0,ul1==ul0,l1!=l0);
-    printf("#2268:code_bool lvar < long long %d %d %d %d %d %d\n",
+    printf("#2273:code_bool lvar < long long %d %d %d %d %d %d\n",
 	l1<l0,ul1<ul0,l1<=l0,ul1<=ul0,ul1==ul0,l1!=l0);
 }
 
@@ -2285,91 +2290,91 @@
     u = 0;
 
     i = i1 + i2;
-    printf("#2287:ltosop 1 %lld\n",i);
+    printf("#2292:ltosop 1 %lld\n",i);
     i = i1 - i2;
-    printf("#2289:ltosop 2 %lld\n",i);
+    printf("#2294:ltosop 2 %lld\n",i);
     i = i1 / i2;
-    printf("#2291:ltosop 3 %lld\n",i);
+    printf("#2296:ltosop 3 %lld\n",i);
     i = i1 * i2;
-    printf("#2293:ltosop 4 %lld\n",i);
+    printf("#2298:ltosop 4 %lld\n",i);
     i = i1 | i2;
-    printf("#2295:ltosop 5 %lld\n",i);
+    printf("#2300:ltosop 5 %lld\n",i);
     i = i1 & i2;
-    printf("#2297:ltosop 6 %lld\n",i);
+    printf("#2302:ltosop 6 %lld\n",i);
     i = i1 ^ i2;
-    printf("#2299:ltosop 7 %lld\n",i);
+    printf("#2304:ltosop 7 %lld\n",i);
     i = i1 << i2;
-    printf("#2301:ltosop 8 %lld\n",i);
+    printf("#2306:ltosop 8 %lld\n",i);
     i = i1 >> i2;
-    printf("#2303:ltosop 9 %lld\n",i);
+    printf("#2308:ltosop 9 %lld\n",i);
     i = i1 % i2;
-    printf("#2305:ltosop 10 %lld\n",i);
+    printf("#2310:ltosop 10 %lld\n",i);
 
     u = u1 + u2;
-    printf("#2308:ltosop u 1 %llu\n",u);
+    printf("#2313:ltosop u 1 %llu\n",u);
     u = u1 - u2;
-    printf("#2310:ltosop u 2 %llu\n",u);
+    printf("#2315:ltosop u 2 %llu\n",u);
     u = u1 / u2;
-    printf("#2312:ltosop u 3 %llu\n",u);
+    printf("#2317:ltosop u 3 %llu\n",u);
     u = u1 * u2;
-    printf("#2314:ltosop u 4 %llu\n",u);
+    printf("#2319:ltosop u 4 %llu\n",u);
     u = u1 | u2;
-    printf("#2316:ltosop u 5 %llu\n",u);
+    printf("#2321:ltosop u 5 %llu\n",u);
     u = u1 & u2;
-    printf("#2318:ltosop u 6 %llu\n",u);
+    printf("#2323:ltosop u 6 %llu\n",u);
     u = u1 ^ u2;
-    printf("#2320:ltosop u 7 %llu\n",u);
+    printf("#2325:ltosop u 7 %llu\n",u);
     u2 = 3;
     u = u1 << u2;
-    printf("#2323:ltosop u 8 %llu\n",u);
+    printf("#2328:ltosop u 8 %llu\n",u);
     u = u1 >> u2;
-    printf("#2325:ltosop u 9 %llu\n",u);
+    printf("#2330:ltosop u 9 %llu\n",u);
     u = u1 % u2;
-    printf("#2327:ltosop u 10 %llu\n",u);
+    printf("#2332:ltosop u 10 %llu\n",u);
 
     i = i1 + ii2;
-    printf("#2330:litosop 1 %lld\n",i);
+    printf("#2335:litosop 1 %lld\n",i);
     i = i1 - ii2;
-    printf("#2332:litosop 2 %lld\n",i);
+    printf("#2337:litosop 2 %lld\n",i);
     i = i1 / ii2;
-    printf("#2334:litosop 3 %lld\n",i);
+    printf("#2339:litosop 3 %lld\n",i);
     i = i1 * ii2;
-    printf("#2336:litosop 4 %lld\n",i);
+    printf("#2341:litosop 4 %lld\n",i);
     i = i1 | ii2;
-    printf("#2338:litosop 5 %lld\n",i);
+    printf("#2343:litosop 5 %lld\n",i);
     i = i1 & ii2;
-    printf("#2340:litosop 6 %lld\n",i);
+    printf("#2345:litosop 6 %lld\n",i);
     i = i1 ^ ii2;
-    printf("#2342:litosop 7 %lld\n",i);
+    printf("#2347:litosop 7 %lld\n",i);
     ii2 = 3;
     i = i1 << ii2;
-    printf("#2345:litosop 8 %lld\n",i);
+    printf("#2350:litosop 8 %lld\n",i);
     i = i1 >> ii2;
-    printf("#2347:litosop 9 %lld\n",i);
+    printf("#2352:litosop 9 %lld\n",i);
     i = i1 % ii2;
-    printf("#2349:litosop 10 %lld\n",i);
+    printf("#2354:litosop 10 %lld\n",i);
 
     u = u1 + uu2;
-    printf("#2352:litosop u 1 %llu\n",u);
+    printf("#2357:litosop u 1 %llu\n",u);
     u = u1 - uu2;
-    printf("#2354:litosop u 2 %llu\n",u);
+    printf("#2359:litosop u 2 %llu\n",u);
     u = u1 / uu2;
-    printf("#2356:litosop u 3 %llu\n",u);
+    printf("#2361:litosop u 3 %llu\n",u);
     u = u1 * uu2;
-    printf("#2358:litosop u 4 %llu\n",u);
+    printf("#2363:litosop u 4 %llu\n",u);
     u = u1 | uu2;
-    printf("#2360:litosop u 5 %llu\n",u);
+    printf("#2365:litosop u 5 %llu\n",u);
     u = u1 & uu2;
-    printf("#2362:litosop u 6 %llu\n",u);
+    printf("#2367:litosop u 6 %llu\n",u);
     u = u1 ^ uu2;
-    printf("#2364:litosop u 7 %llu\n",u);
+    printf("#2369:litosop u 7 %llu\n",u);
     uu2 = 3;
     u = u1 << uu2;
-    printf("#2367:litosop u 8 %llu\n",u);
+    printf("#2372:litosop u 8 %llu\n",u);
     u = u1 >> uu2;
-    printf("#2369:litosop u 9 %llu\n",u);
+    printf("#2374:litosop u 9 %llu\n",u);
     u = u1 % uu2;
-    printf("#2371:litosop u 10 %llu\n",u);
+    printf("#2376:litosop u 10 %llu\n",u);
 }
 
 // loprtc(int op,int v)
@@ -2382,82 +2387,82 @@
     u1 = 632423423; 
 
     i = i1 + 3;
-    printf("#2384:loprtc 1 %lld\n",i);
+    printf("#2389:loprtc 1 %lld\n",i);
     i = i1 - 3;
-    printf("#2386:loprtc 2 %lld\n",i);
+    printf("#2391:loprtc 2 %lld\n",i);
     i = i1 / 32323423423LL;
-    printf("#2388:loprtc 3 %lld\n",i);
+    printf("#2393:loprtc 3 %lld\n",i);
     i = i1 * 323423423423LL;
-    printf("#2390:loprtc 4 %lld\n",i);
+    printf("#2395:loprtc 4 %lld\n",i);
     i = i1 | 234234234;
-    printf("#2392:loprtc 5 %lld\n",i);
+    printf("#2397:loprtc 5 %lld\n",i);
     i = i1 & 23234234;
-    printf("#2394:loprtc 6 %lld\n",i);
+    printf("#2399:loprtc 6 %lld\n",i);
     i = i1 ^ 23234234;
-    printf("#2396:loprtc 7 %lld\n",i);
+    printf("#2401:loprtc 7 %lld\n",i);
     i = i1 << 5;
-    printf("#2398:loprtc 8 %lld\n",i);
+    printf("#2403:loprtc 8 %lld\n",i);
     i = i1 >> 5;
-    printf("#2400:loprtc 9 %lld\n",i);
+    printf("#2405:loprtc 9 %lld\n",i);
     i = i1 << 38;
-    printf("#2402:loprtc 8 %lld\n",i);
+    printf("#2407:loprtc 8 %lld\n",i);
     i = i1 >> 38;
-    printf("#2404:loprtc 9 %lld\n",i);
+    printf("#2409:loprtc 9 %lld\n",i);
     i = i1 % 5;
-    printf("#2406:loprtc 10 %lld\n",i);
+    printf("#2411:loprtc 10 %lld\n",i);
     i = i1 / 8;
-    printf("#2408:loprtc 3 %lld\n",i);
+    printf("#2413:loprtc 3 %lld\n",i);
     i = i1 / 256;
-    printf("#2410:loprtc 3 %lld\n",i);
+    printf("#2415:loprtc 3 %lld\n",i);
     i = i1 % 8;
-    printf("#2412:loprtc 3 %lld\n",i);
+    printf("#2417:loprtc 3 %lld\n",i);
     i = i1 % 256;
-    printf("#2414:loprtc 3 %lld\n",i);
+    printf("#2419:loprtc 3 %lld\n",i);
     i = i1 * 8;
-    printf("#2416:loprtc 3 %lld\n",i);
+    printf("#2421:loprtc 3 %lld\n",i);
     i = i1 * 256;
-    printf("#2418:loprtc 3 %lld\n",i);
+    printf("#2423:loprtc 3 %lld\n",i);
 
     u = u1 + 3;
-    printf("#2421:loprtc 1 u %llu\n",u);
+    printf("#2426:loprtc 1 u %llu\n",u);
     u = u1 - 3;
-    printf("#2423:loprtc 2 u %llu\n",u);
+    printf("#2428:loprtc 2 u %llu\n",u);
     u = u1 / 32342342344234LL;
-    printf("#2425:loprtc 3 u %llu\n",u);
+    printf("#2430:loprtc 3 u %llu\n",u);
     u = u1 * 243234234232324LL;
-    printf("#2427:loprtc 4 u %llu\n",u);
+    printf("#2432:loprtc 4 u %llu\n",u);
     u = u1 | 234234234;
-    printf("#2429:loprtc 5 u %llu\n",u);
+    printf("#2434:loprtc 5 u %llu\n",u);
     u = u1 & 234234234;
-    printf("#2431:loprtc 6 u %llu\n",u);
+    printf("#2436:loprtc 6 u %llu\n",u);
     u = u1 ^ 234234234;
-    printf("#2433:loprtc 7 u %llu\n",u);
+    printf("#2438:loprtc 7 u %llu\n",u);
     u = u1 << 5;
-    printf("#2435:loprtc 8 u %llu\n",u);
+    printf("#2440:loprtc 8 u %llu\n",u);
     u = u1 >> 5;
-    printf("#2437:loprtc 9 u %llu\n",u);
+    printf("#2442:loprtc 9 u %llu\n",u);
     u = u1 << 38;
-    printf("#2439:loprtc 8 u %llu\n",u);
+    printf("#2444:loprtc 8 u %llu\n",u);
     u = u1 >> 38;
-    printf("#2441:loprtc 9 u %llu\n",u);
+    printf("#2446:loprtc 9 u %llu\n",u);
     u = u1 % 5;
-    printf("#2443:loprtc 10 u %llu\n",u);
+    printf("#2448:loprtc 10 u %llu\n",u);
     u = u1 / 8;
-    printf("#2445:loprtc 3 %lld\n",i);
+    printf("#2450:loprtc 3 %lld\n",i);
     u = u1 / 256;
-    printf("#2447:loprtc 3 %lld\n",i);
+    printf("#2452:loprtc 3 %lld\n",i);
     u = u1 / 8;
-    printf("#2449:loprtc 3 %lld\n",i);
+    printf("#2454:loprtc 3 %lld\n",i);
     u = u1 / 256;
-    printf("#2451:loprtc 3 %lld\n",i);
+    printf("#2456:loprtc 3 %lld\n",i);
     u = u1 % 8;
-    printf("#2453:loprtc 3 %lld\n",i);
+    printf("#2458:loprtc 3 %lld\n",i);
     u = u1 % 256;
-    printf("#2455:loprtc 3 %lld\n",i);
+    printf("#2460:loprtc 3 %lld\n",i);
     u = u1 * 8;
-    printf("#2457:loprtc 3 %lld\n",i);
+    printf("#2462:loprtc 3 %lld\n",i);
     u = u1 * 256;
-    printf("#2459:loprtc 3 %lld\n",i);
+    printf("#2464:loprtc 3 %lld\n",i);
 }
 
 
@@ -2476,92 +2481,92 @@
     u = 0;
 
     i = i1 + i2;
-    printf("#2478:ltosop r 1 %lld\n",i);
+    printf("#2483:ltosop r 1 %lld\n",i);
     i = i1 - i2;
-    printf("#2480:ltosop r 2 %lld\n",i);
+    printf("#2485:ltosop r 2 %lld\n",i);
     i = i1 / i2;
-    printf("#2482:ltosop r 3 %lld\n",i);
+    printf("#2487:ltosop r 3 %lld\n",i);
     i = i1 * i2;
-    printf("#2484:ltosop r 4 %lld\n",i);
+    printf("#2489:ltosop r 4 %lld\n",i);
     i = i1 | i2;
-    printf("#2486:ltosop r 5 %lld\n",i);
+    printf("#2491:ltosop r 5 %lld\n",i);
     i = i1 & i2;
-    printf("#2488:ltosop r 6 %lld\n",i);
+    printf("#2493:ltosop r 6 %lld\n",i);
     i = i1 ^ i2;
-    printf("#2490:ltosop r 7 %lld\n",i);
+    printf("#2495:ltosop r 7 %lld\n",i);
     i2 = 3;
     i = i1 << i2;
-    printf("#2493:ltosop r 8 %lld\n",i);
+    printf("#2498:ltosop r 8 %lld\n",i);
     i = i1 >> i2;
-    printf("#2495:ltosop r 9 %lld\n",i);
+    printf("#2500:ltosop r 9 %lld\n",i);
     i = i1 % i2;
-    printf("#2497:ltosop r 10 %lld\n",i);
+    printf("#2502:ltosop r 10 %lld\n",i);
 
     u = u1 + u2;
-    printf("#2500:ltosop r u 1 %llu\n",u);
+    printf("#2505:ltosop r u 1 %llu\n",u);
     u = u1 - u2;
-    printf("#2502:ltosop r u 2 %llu\n",u);
+    printf("#2507:ltosop r u 2 %llu\n",u);
     u = u1 / u2;
-    printf("#2504:ltosop r u 3 %llu\n",u);
+    printf("#2509:ltosop r u 3 %llu\n",u);
     u = u1 * u2;
-    printf("#2506:ltosop r u 4 %llu\n",u);
+    printf("#2511:ltosop r u 4 %llu\n",u);
     u = u1 | u2;
-    printf("#2508:ltosop r u 5 %llu\n",u);
+    printf("#2513:ltosop r u 5 %llu\n",u);
     u = u1 & u2;
-    printf("#2510:ltosop r u 6 %llu\n",u);
+    printf("#2515:ltosop r u 6 %llu\n",u);
     u = u1 ^ u2;
-    printf("#2512:ltosop r u 7 %llu\n",u);
+    printf("#2517:ltosop r u 7 %llu\n",u);
     u2 = 3;
     u = u1 << u2;
-    printf("#2515:ltosop r u 8 %llu\n",u);
+    printf("#2520:ltosop r u 8 %llu\n",u);
     u = u1 >> u2;
-    printf("#2517:ltosop r u 9 %llu\n",u);
+    printf("#2522:ltosop r u 9 %llu\n",u);
     u = u1 % u2;
-    printf("#2519:ltosop r u 10 %llu\n",u);
+    printf("#2524:ltosop r u 10 %llu\n",u);
 
     i = i1 + ii2;
-    printf("#2522:litosop r 1 %lld\n",i);
+    printf("#2527:litosop r 1 %lld\n",i);
     i = i1 - ii2;
-    printf("#2524:litosop r 2 %lld\n",i);
+    printf("#2529:litosop r 2 %lld\n",i);
     i = i1 / ii2;
-    printf("#2526:litosop r 3 %lld\n",i);
+    printf("#2531:litosop r 3 %lld\n",i);
     i = i1 * ii2;
-    printf("#2528:litosop r 4 %lld\n",i);
+    printf("#2533:litosop r 4 %lld\n",i);
     i = i1 | ii2;
-    printf("#2530:litosop r 5 %lld\n",i);
+    printf("#2535:litosop r 5 %lld\n",i);
     i = i1 & ii2;
-    printf("#2532:litosop r 6 %lld\n",i);
+    printf("#2537:litosop r 6 %lld\n",i);
     i = i1 ^ ii2;
-    printf("#2534:litosop r 7 %lld\n",i);
+    printf("#2539:litosop r 7 %lld\n",i);
     ii2 = 3;
     i = i1 << ii2;
-    printf("#2537:litosop r 8 %lld\n",i);
+    printf("#2542:litosop r 8 %lld\n",i);
     i = i1 >> ii2;
-    printf("#2539:litosop r 9 %lld\n",i);
+    printf("#2544:litosop r 9 %lld\n",i);
     i = i1 % ii2;
-    printf("#2541:litosop r 10 %lld\n",i);
+    printf("#2546:litosop r 10 %lld\n",i);
 
     u = u1 + uu2;
-    printf("#2544:litosop r u 1 %llu\n",u);
+    printf("#2549:litosop r u 1 %llu\n",u);
     u = u1 - uu2;
-    printf("#2546:litosop r u 2 %llu\n",u);
+    printf("#2551:litosop r u 2 %llu\n",u);
     u = u1 / uu2;
-    printf("#2548:litosop r u 3 %llu\n",u);
+    printf("#2553:litosop r u 3 %llu\n",u);
     u = u1 * uu2;
-    printf("#2550:litosop r u 4 %llu\n",u);
+    printf("#2555:litosop r u 4 %llu\n",u);
     u = u1 | uu2;
-    printf("#2552:litosop r u 5 %llu\n",u);
+    printf("#2557:litosop r u 5 %llu\n",u);
     u = u1 & uu2;
-    printf("#2554:litosop r u 6 %llu\n",u);
+    printf("#2559:litosop r u 6 %llu\n",u);
     u = u1 ^ uu2;
-    printf("#2556:litosop r u 7 %llu\n",u);
+    printf("#2561:litosop r u 7 %llu\n",u);
     uu2 = 3;
     u = u1 << uu2;
-    printf("#2559:litosop r u 8 %llu\n",u);
+    printf("#2564:litosop r u 8 %llu\n",u);
     u = u1 >> uu2;
-    printf("#2561:litosop r u 9 %llu\n",u);
+    printf("#2566:litosop r u 9 %llu\n",u);
     u = u1 % uu2;
-    printf("#2563:litosop r u 10 %llu\n",u);
+    printf("#2568:litosop r u 10 %llu\n",u);
 }
 
 // loprtc(int op,int v)
@@ -2574,70 +2579,70 @@
     u1 = 632423423; 
 
     i = i1 + 3;
-    printf("#2576:loprtc r 1 %lld\n",i);
+    printf("#2581:loprtc r 1 %lld\n",i);
     i = i1 - 3;
-    printf("#2578:loprtc r 2 %lld\n",i);
+    printf("#2583:loprtc r 2 %lld\n",i);
     i = i1 / 32323423423LL;
-    printf("#2580:loprtc r 3 %lld\n",i);
+    printf("#2585:loprtc r 3 %lld\n",i);
     i = i1 * 323423423423LL;
-    printf("#2582:loprtc r 4 %lld\n",i);
+    printf("#2587:loprtc r 4 %lld\n",i);
     i = i1 | 234234234;
-    printf("#2584:loprtc r 5 %lld\n",i);
+    printf("#2589:loprtc r 5 %lld\n",i);
     i = i1 & 23234234;
-    printf("#2586:loprtc r 6 %lld\n",i);
+    printf("#2591:loprtc r 6 %lld\n",i);
     i = i1 ^ 23234234;
-    printf("#2588:loprtc r 7 %lld\n",i);
+    printf("#2593:loprtc r 7 %lld\n",i);
     i = i1 << 5;
-    printf("#2590:loprtc r 8 %lld\n",i);
+    printf("#2595:loprtc r 8 %lld\n",i);
     i = i1 >> 5;
-    printf("#2592:loprtc r 9 %lld\n",i);
+    printf("#2597:loprtc r 9 %lld\n",i);
     i = i1 << 38;
-    printf("#2594:loprtc r 8 %lld\n",i);
+    printf("#2599:loprtc r 8 %lld\n",i);
     i = i1 >> 38;
-    printf("#2596:loprtc r 9 %lld\n",i);
+    printf("#2601:loprtc r 9 %lld\n",i);
     i = i1 % 5;
-    printf("#2598:loprtc r 10 %lld\n",i);
+    printf("#2603:loprtc r 10 %lld\n",i);
     i = i1 / 8;
-    printf("#2600:loprtc r 10 %lld\n",i);
+    printf("#2605:loprtc r 10 %lld\n",i);
     i = i1 / 256;
-    printf("#2602:loprtc r 10 %lld\n",i);
+    printf("#2607:loprtc r 10 %lld\n",i);
     i = i1 * 8;
-    printf("#2604:loprtc r 10 %lld\n",i);
+    printf("#2609:loprtc r 10 %lld\n",i);
     i = i1 * 256;
-    printf("#2606:loprtc r 10 %lld\n",i);
+    printf("#2611:loprtc r 10 %lld\n",i);
 
     u = u1 + 3;
-    printf("#2609:loprtc r 1 u %llu\n",u);
+    printf("#2614:loprtc r 1 u %llu\n",u);
     u = u1 - 3;
-    printf("#2611:loprtc r 2 u %llu\n",u);
+    printf("#2616:loprtc r 2 u %llu\n",u);
     u = u1 / 32342342344234LL;
-    printf("#2613:loprtc r 3 u %llu\n",u);
+    printf("#2618:loprtc r 3 u %llu\n",u);
     u = u1 * 243234234232324LL;
-    printf("#2615:loprtc r 4 u %llu\n",u);
+    printf("#2620:loprtc r 4 u %llu\n",u);
     u = u1 | 234234234;
-    printf("#2617:loprtc r 5 u %llu\n",u);
+    printf("#2622:loprtc r 5 u %llu\n",u);
     u = u1 & 234234234;
-    printf("#2619:loprtc r 6 u %llu\n",u);
+    printf("#2624:loprtc r 6 u %llu\n",u);
     u = u1 ^ 234234234;
-    printf("#2621:loprtc r 7 u %llu\n",u);
+    printf("#2626:loprtc r 7 u %llu\n",u);
     u = u1 << 5;
-    printf("#2623:loprtc r 8 u %llu\n",u);
+    printf("#2628:loprtc r 8 u %llu\n",u);
     u = u1 >> 5;
-    printf("#2625:loprtc r 9 u %llu\n",u);
+    printf("#2630:loprtc r 9 u %llu\n",u);
     u = u1 << 38;
-    printf("#2627:loprtc r 8 u %llu\n",u);
+    printf("#2632:loprtc r 8 u %llu\n",u);
     u = u1 >> 38;
-    printf("#2629:loprtc r 9 u %llu\n",u);
+    printf("#2634:loprtc r 9 u %llu\n",u);
     u = u1 % 5;
-    printf("#2631:loprtc r 10 u %llu\n",u);
+    printf("#2636:loprtc r 10 u %llu\n",u);
     u = u1 / 8;
-    printf("#2633:loprtc r 10 u %lld\n",u);
+    printf("#2638:loprtc r 10 u %lld\n",u);
     u = u1 / 256;
-    printf("#2635:loprtc r 10 u %lld\n",u);
+    printf("#2640:loprtc r 10 u %lld\n",u);
     u = u1 * 8;
-    printf("#2637:loprtc r 10 u %lld\n",u);
+    printf("#2642:loprtc r 10 u %lld\n",u);
     u = u1 * 256;
-    printf("#2639:loprtc r 10 u %lld\n",u);
+    printf("#2644:loprtc r 10 u %lld\n",u);
 }
 
 
@@ -2649,7 +2654,7 @@
     int i;
     i = 23442342;
     d = i;
-    printf("#2651:code_i2ll %lld\n",d);
+    printf("#2656:code_i2ll %lld\n",d);
 }
 // code_i2ull(int creg)
 INLINE void
@@ -2659,7 +2664,7 @@
     int i;
     i = 23442342;
     d = i;
-    printf("#2661:code_i2ull %lld\n",d);
+    printf("#2666:code_i2ull %lld\n",d);
 }
 // code_u2ll(int creg)
 INLINE void
@@ -2669,7 +2674,7 @@
     unsigned int i;
     i = 23442342;
     d = i;
-    printf("#2671:code_u2ll %lld\n",d);
+    printf("#2676:code_u2ll %lld\n",d);
 }
 // code_u2ull(int creg)
 INLINE void
@@ -2679,7 +2684,7 @@
     unsigned int i;
     i = 23342342;
     d = i;
-    printf("#2681:code_u2ull %llu\n",d);
+    printf("#2686:code_u2ull %llu\n",d);
 }
 // code_ll2i(int creg)
 INLINE void
@@ -2689,7 +2694,7 @@
     int i;
     d = 2342342342LL;
     i = d;
-    printf("#2691:code_ll2i %d\n",i);
+    printf("#2696:code_ll2i %d\n",i);
 }
 // code_ll2u(int creg)
 INLINE void
@@ -2699,7 +2704,7 @@
     unsigned int i;
     d = 2342342342LL;
     i = d;
-    printf("#2701:code_ll2i %ud\n",i);
+    printf("#2706:code_ll2i %ud\n",i);
 }
 // code_ull2i(int creg)
 INLINE void
@@ -2709,7 +2714,7 @@
     int i;
     d = 2342342342LL;
     i = d;
-    printf("#2711:code_ull2i %d\n",i);
+    printf("#2716:code_ull2i %d\n",i);
 }
 // code_ull2u(int creg)
 INLINE void
@@ -2719,7 +2724,7 @@
     unsigned int i;
     d = 2342342342LL;
     i = d;
-    printf("#2721:code_ll2i %ud\n",i);
+    printf("#2726:code_ll2i %ud\n",i);
 }
 #if FLOAT_CODE
 // code_d2ll(int creg)
@@ -2730,7 +2735,7 @@
     double i;
     i = 2342342342LL;
     d = i;
-    printf("#2732:code_d2ll %lld\n",d);
+    printf("#2737:code_d2ll %lld\n",d);
 }
 // code_d2ull(int creg)
 INLINE void
@@ -2740,7 +2745,7 @@
     double i;
     i = 2342342342LL;
     d = i;
-    printf("#2742:code_d2ll %llu\n",d);
+    printf("#2747:code_d2ll %llu\n",d);
 }
 // code_f2ll(int creg)
 INLINE void
@@ -2750,7 +2755,7 @@
     float i;
     i = 2342342342LL;
     d = i;
-    printf("#2752:code_f2ll %lld\n",d);
+    printf("#2757:code_f2ll %lld\n",d);
 }
 // code_f2ull(int creg)
 INLINE void
@@ -2760,7 +2765,7 @@
     float i;
     i = 2342342342LL;
     d = i;
-    printf("#2762:code_f2ull %llu\n",d);
+    printf("#2767:code_f2ull %llu\n",d);
 }
 // code_ll2d(int creg)
 INLINE void
@@ -2770,7 +2775,7 @@
     double i;
     d = 2342342342LL;
     i = d;
-    printf("#2772:code_ll2d %g\n",i);
+    printf("#2777:code_ll2d %g\n",i);
 }
 // code_ll2f(int creg)
 INLINE void
@@ -2780,7 +2785,7 @@
     float i;
     d = 2342342342LL;
     i = d;
-    printf("#2782:code_ll2f %g\n",i);
+    printf("#2787:code_ll2f %g\n",i);
 }
 // code_ull2d(int creg)
 INLINE void
@@ -2790,7 +2795,7 @@
     double i;
     d = 2342342342LL;
     i = d;
-    printf("#2792:code_ull2f %g\n",i);
+    printf("#2797:code_ull2f %g\n",i);
 }
 // code_ull2f(int creg)
 INLINE void
@@ -2800,7 +2805,7 @@
     float i;
     d = 2342342342LL;
     i = d;
-    printf("#2802:code_ull2f %g\n",i);
+    printf("#2807:code_ull2f %g\n",i);
 }
 #endif
 
@@ -2810,8 +2815,8 @@
 {
     long long i,j;
     i = 123123123;j = 0;
-    printf("#2812:code_preinc l %lld %lld",++i,--j);
-    printf("#2813: %lld %lld\n",i,j);
+    printf("#2817:code_preinc l %lld %lld",++i,--j);
+    printf("#2818: %lld %lld\n",i,j);
 }
 
 // code_lpostinc(int e1,int e2,int reg)
@@ -2820,8 +2825,8 @@
 {
     long long i,j;
     i = 123123123;j = 0;
-    printf("#2822:code_postinc l %lld %lld",i++,j--);
-    printf("#2823: %lld %lld\n",i,j);
+    printf("#2827:code_postinc l %lld %lld",i++,j--);
+    printf("#2828: %lld %lld\n",i,j);
 }
 
 // code_lpreinc(int e1,int e2,int reg)
@@ -2830,8 +2835,8 @@
 {
     register unsigned long long i,j;
     i = 123123123;j = 0;
-    printf("#2832:code_preinc l %llu %llu",++i,--j);
-    printf("#2833: %lld %lld\n",i,j);
+    printf("#2837:code_preinc l %llu %llu",++i,--j);
+    printf("#2838: %lld %lld\n",i,j);
 }
 
 // code_lpostinc(int e1,int e2,int reg)
@@ -2840,8 +2845,8 @@
 {
     register unsigned long long i,j;
     i = 123123123;j = 0;
-    printf("#2842:code_postinc lu %llu %llu",i++,j--);
-    printf("#2843: %lld %lld\n",i,j);
+    printf("#2847:code_postinc lu %llu %llu",i++,j--);
+    printf("#2848: %lld %lld\n",i,j);
 }
 
 // code_lpreinc(int e1,int e2,int reg)
@@ -2850,8 +2855,8 @@
 {
     register long long i,j;
     i = 123123123;j = 0;
-    printf("#2852:code_preinc l r %lld %lld",++i,--j);
-    printf("#2853: %lld %lld\n",i,j);
+    printf("#2857:code_preinc l r %lld %lld",++i,--j);
+    printf("#2858: %lld %lld\n",i,j);
 }
 
 // code_lpostinc(int e1,int e2,int reg)
@@ -2860,8 +2865,8 @@
 {
     register long long i,j;
     i = 123123123;j = 0;
-    printf("#2862:code_postinc l r %lld %lld",i++,j--);
-    printf("#2863: %lld %lld\n",i,j);
+    printf("#2867:code_postinc l r %lld %lld",i++,j--);
+    printf("#2868: %lld %lld\n",i,j);
 }
 
 // code_lpreinc(int e1,int e2,int reg)
@@ -2870,8 +2875,8 @@
 {
     register unsigned long long i,j;
     i = 123123123;j = 0;
-    printf("#2872:code_preinc l r %llu %llu",++i,--j);
-    printf("#2873: %lld %lld\n",i,j);
+    printf("#2877:code_preinc l r %llu %llu",++i,--j);
+    printf("#2878: %lld %lld\n",i,j);
 }
 
 // code_lpostinc(int e1,int e2,int reg)
@@ -2880,8 +2885,8 @@
 {
     register unsigned long long i,j;
     i = 123123123;j = 0;
-    printf("#2882:code_postinc lu r %llu %llu",i++,j--);
-    printf("#2883: %lld %lld\n",i,j);
+    printf("#2887:code_postinc lu r %llu %llu",i++,j--);
+    printf("#2888: %lld %lld\n",i,j);
 }
 
 // code_lassop(int op)
@@ -2897,42 +2902,42 @@
     ui1 = 632423423;
 
     i1 += a;
-    printf("#2899:code_register_lassop 1 %lld\n",i1);
+    printf("#2904:code_register_lassop 1 %lld\n",i1);
     i1 -= a;
-    printf("#2901:code_register_lassop 2 %lld\n",i1);
+    printf("#2906:code_register_lassop 2 %lld\n",i1);
     i1 /= a;
-    printf("#2903:code_register_lassop 3 %lld\n",i1);
+    printf("#2908:code_register_lassop 3 %lld\n",i1);
     i1 *= a;
-    printf("#2905:code_register_lassop 4 %lld\n",i1);
+    printf("#2910:code_register_lassop 4 %lld\n",i1);
     i1 |= a;
-    printf("#2907:code_register_lassop 5 %lld\n",i1);
+    printf("#2912:code_register_lassop 5 %lld\n",i1);
     i1 &= a;
-    printf("#2909:code_register_lassop 6 %lld\n",i1);
+    printf("#2914:code_register_lassop 6 %lld\n",i1);
     i1 ^= a;
-    printf("#2911:code_register_lassop 7 %lld\n",i1);
+    printf("#2916:code_register_lassop 7 %lld\n",i1);
     i1 <<= a;
-    printf("#2913:code_register_lassop 8 %lld\n",i1);
+    printf("#2918:code_register_lassop 8 %lld\n",i1);
     i1 >>= a;
-    printf("#2915:code_register_lassop 9 %lld\n",i1);
+    printf("#2920:code_register_lassop 9 %lld\n",i1);
 
     ui1 += a;
-    printf("#2918:code_register_lassop 1 %llu\n",ui1);
+    printf("#2923:code_register_lassop 1 %llu\n",ui1);
     ui1 -= a;
-    printf("#2920:code_register_lassop 2 %llu\n",ui1);
+    printf("#2925:code_register_lassop 2 %llu\n",ui1);
     ui1 /= a;
-    printf("#2922:code_register_lassop 3 %llu\n",ui1);
+    printf("#2927:code_register_lassop 3 %llu\n",ui1);
     ui1 *= a;
-    printf("#2924:code_register_lassop 4 %llu\n",ui1);
+    printf("#2929:code_register_lassop 4 %llu\n",ui1);
     ui1 |= a;
-    printf("#2926:code_register_lassop 5 %llu\n",ui1);
+    printf("#2931:code_register_lassop 5 %llu\n",ui1);
     ui1 &= a;
-    printf("#2928:code_register_lassop 6 %llu\n",ui1);
+    printf("#2933:code_register_lassop 6 %llu\n",ui1);
     ui1 ^= a;
-    printf("#2930:code_register_lassop 7 %llu\n",ui1);
+    printf("#2935:code_register_lassop 7 %llu\n",ui1);
     ui1 <<= a;
-    printf("#2932:code_register_lassop 8 %llu\n",ui1);
+    printf("#2937:code_register_lassop 8 %llu\n",ui1);
     ui1 >>= a;
-    printf("#2934:code_register_lassop 9 %llu\n",ui1);
+    printf("#2939:code_register_lassop 9 %llu\n",ui1);
 }
 
 // code_lassop(int op,int byte,int sign) 
@@ -2946,42 +2951,42 @@
     ui1 = 632423423; ui2= 32394234;
 
     i1 += a;
-    printf("#2948:code_lassop 1 %lld\n",i1);
+    printf("#2953:code_lassop 1 %lld\n",i1);
     i1 -= a;
-    printf("#2950:code_lassop 2 %lld\n",i1);
+    printf("#2955:code_lassop 2 %lld\n",i1);
     i1 /= a;
-    printf("#2952:code_lassop 3 %lld\n",i1);
+    printf("#2957:code_lassop 3 %lld\n",i1);
     i1 *= a;
-    printf("#2954:code_lassop 4 %lld\n",i1);
+    printf("#2959:code_lassop 4 %lld\n",i1);
     i1 |= a;
-    printf("#2956:code_lassop 5 %lld\n",i1);
+    printf("#2961:code_lassop 5 %lld\n",i1);
     i1 &= a;
-    printf("#2958:code_lassop 6 %lld\n",i1);
+    printf("#2963:code_lassop 6 %lld\n",i1);
     i1 ^= a;
-    printf("#2960:code_lassop 7 %lld\n",i1);
+    printf("#2965:code_lassop 7 %lld\n",i1);
     i1 <<= a;
-    printf("#2962:code_lassop 8 %lld\n",i1);
+    printf("#2967:code_lassop 8 %lld\n",i1);
     i1 >>= a;
-    printf("#2964:code_lassop 9 %lld\n",i1);
+    printf("#2969:code_lassop 9 %lld\n",i1);
 
     ui1 += a;
-    printf("#2967:code_lassop 1 %llu\n",ui1);
+    printf("#2972:code_lassop 1 %llu\n",ui1);
     ui1 -= a;
-    printf("#2969:code_lassop 2 %llu\n",ui1);
+    printf("#2974:code_lassop 2 %llu\n",ui1);
     ui1 /= a;
-    printf("#2971:code_lassop 3 %llu\n",ui1);
+    printf("#2976:code_lassop 3 %llu\n",ui1);
     ui1 *= a;
-    printf("#2973:code_lassop 4 %llu\n",ui1);
+    printf("#2978:code_lassop 4 %llu\n",ui1);
     ui1 |= a;
-    printf("#2975:code_lassop 5 %llu\n",ui1);
+    printf("#2980:code_lassop 5 %llu\n",ui1);
     ui1 &= a;
-    printf("#2977:code_lassop 6 %llu\n",ui1);
+    printf("#2982:code_lassop 6 %llu\n",ui1);
     ui1 ^= a;
-    printf("#2979:code_lassop 7 %llu\n",ui1);
+    printf("#2984:code_lassop 7 %llu\n",ui1);
     ui1 <<= a;
-    printf("#2981:code_lassop 8 %llu\n",ui1);
+    printf("#2986:code_lassop 8 %llu\n",ui1);
     ui1 >>= a;
-    printf("#2983:code_lassop 9 %llu\n",ui1);
+    printf("#2988:code_lassop 9 %llu\n",ui1);
 }
 
 // code_register_assop(int e2,int op,int byte) 
@@ -2994,42 +2999,42 @@
     ui1 = 632423423;
 
     i1 += 3;
-    printf("#2996:code_register_lassop c 1 %lld\n",i1);
+    printf("#3001:code_register_lassop c 1 %lld\n",i1);
     i1 -= 3;
-    printf("#2998:code_register_lassop c 2 %lld\n",i1);
+    printf("#3003:code_register_lassop c 2 %lld\n",i1);
     i1 /= 3;
-    printf("#3000:code_register_lassop c 3 %lld\n",i1);
+    printf("#3005:code_register_lassop c 3 %lld\n",i1);
     i1 *= 3;
-    printf("#3002:code_register_lassop c 4 %lld\n",i1);
+    printf("#3007:code_register_lassop c 4 %lld\n",i1);
     i1 |= 234;
-    printf("#3004:code_register_lassop c 5 %lld\n",i1);
+    printf("#3009:code_register_lassop c 5 %lld\n",i1);
     i1 &= 2324234234234234LL;
-    printf("#3006:code_register_lassop c 6 %lld\n",i1);
+    printf("#3011:code_register_lassop c 6 %lld\n",i1);
     i1 ^= 5523234234234234LL;
-    printf("#3008:code_register_lassop c 7 %lld\n",i1);
+    printf("#3013:code_register_lassop c 7 %lld\n",i1);
     i1 <<= 3;
-    printf("#3010:code_register_lassop c 8 %lld\n",i1);
+    printf("#3015:code_register_lassop c 8 %lld\n",i1);
     i1 >>= 3;
-    printf("#3012:code_register_lassop c 9 %lld\n",i1);
+    printf("#3017:code_register_lassop c 9 %lld\n",i1);
 
     ui1 += 3;
-    printf("#3015:code_register_lassop c 1 %llu\n",ui1);
+    printf("#3020:code_register_lassop c 1 %llu\n",ui1);
     ui1 -= 3;
-    printf("#3017:code_register_lassop c 2 %llu\n",ui1);
+    printf("#3022:code_register_lassop c 2 %llu\n",ui1);
     ui1 /= 3;
-    printf("#3019:code_register_lassop c 3 %llu\n",ui1);
+    printf("#3024:code_register_lassop c 3 %llu\n",ui1);
     ui1 *= 3;
-    printf("#3021:code_register_lassop c 4 %llu\n",ui1);
+    printf("#3026:code_register_lassop c 4 %llu\n",ui1);
     ui1 |= 234;
-    printf("#3023:code_register_lassop c 5 %llu\n",ui1);
+    printf("#3028:code_register_lassop c 5 %llu\n",ui1);
     ui1 &= 2324234234234234LL;
-    printf("#3025:code_register_lassop c 6 %llu\n",ui1);
+    printf("#3030:code_register_lassop c 6 %llu\n",ui1);
     ui1 ^= 5523234234234234LL;
-    printf("#3027:code_register_lassop c 7 %llu\n",ui1);
+    printf("#3032:code_register_lassop c 7 %llu\n",ui1);
     ui1 <<= 3;
-    printf("#3029:code_register_lassop c 8 %llu\n",ui1);
+    printf("#3034:code_register_lassop c 8 %llu\n",ui1);
     ui1 >>= 3;
-    printf("#3031:code_register_lassop c 9 %llu\n",ui1);
+    printf("#3036:code_register_lassop c 9 %llu\n",ui1);
 }
 
 // code_lassop(int op,int byte,int sign) 
@@ -3042,42 +3047,42 @@
     ui1 = 632423423; ui2= 32394234;
 
     i1 += 3;
-    printf("#3044:code_lassop c 1 %lld\n",i1);
+    printf("#3049:code_lassop c 1 %lld\n",i1);
     i1 -= 3;
-    printf("#3046:code_lassop c 2 %lld\n",i1);
+    printf("#3051:code_lassop c 2 %lld\n",i1);
     i1 /= 3;
-    printf("#3048:code_lassop c 3 %lld\n",i1);
+    printf("#3053:code_lassop c 3 %lld\n",i1);
     i1 *= 3;
-    printf("#3050:code_lassop c 4 %lld\n",i1);
+    printf("#3055:code_lassop c 4 %lld\n",i1);
     i1 |= 234;
-    printf("#3052:code_lassop c 5 %lld\n",i1);
+    printf("#3057:code_lassop c 5 %lld\n",i1);
     i1 &= 2324234234234234LL;
-    printf("#3054:code_lassop c 6 %lld\n",i1);
+    printf("#3059:code_lassop c 6 %lld\n",i1);
     i1 ^= 5523234234234234LL;
-    printf("#3056:code_lassop c 7 %lld\n",i1);
+    printf("#3061:code_lassop c 7 %lld\n",i1);
     i1 <<= 3;
-    printf("#3058:code_lassop c 8 %lld\n",i1);
+    printf("#3063:code_lassop c 8 %lld\n",i1);
     i1 >>= 3;
-    printf("#3060:code_lassop c 9 %lld\n",i1);
+    printf("#3065:code_lassop c 9 %lld\n",i1);
 
     ui1 += 3;
-    printf("#3063:code_lassop c 1 %llu\n",ui1);
+    printf("#3068:code_lassop c 1 %llu\n",ui1);
     ui1 -= 3;
-    printf("#3065:code_lassop c 2 %llu\n",ui1);
+    printf("#3070:code_lassop c 2 %llu\n",ui1);
     ui1 /= 3;
-    printf("#3067:code_lassop c 3 %llu\n",ui1);
+    printf("#3072:code_lassop c 3 %llu\n",ui1);
     ui1 *= 3;
-    printf("#3069:code_lassop c 4 %llu\n",ui1);
+    printf("#3074:code_lassop c 4 %llu\n",ui1);
     ui1 |= 234;
-    printf("#3071:code_lassop c 5 %llu\n",ui1);
+    printf("#3076:code_lassop c 5 %llu\n",ui1);
     ui1 &= 2324234234234234LL;
-    printf("#3073:code_lassop c 6 %llu\n",ui1);
+    printf("#3078:code_lassop c 6 %llu\n",ui1);
     ui1 ^= 5523234234234234LL;
-    printf("#3075:code_lassop c 7 %llu\n",ui1);
+    printf("#3080:code_lassop c 7 %llu\n",ui1);
     ui1 <<= 3;
-    printf("#3077:code_lassop c 8 %llu\n",ui1);
+    printf("#3082:code_lassop c 8 %llu\n",ui1);
     ui1 >>= 3;
-    printf("#3079:code_lassop c 9 %llu\n",ui1);
+    printf("#3084:code_lassop c 9 %llu\n",ui1);
 }
 
 // lassop_l(int op,int byte,int sign) 
@@ -3094,42 +3099,42 @@
     p->ui1 = 632423423; p->ui2= 32394234;
 
     p->i1 += a;
-    printf("#3096:lassop 1 %lld\n",p->i1);
+    printf("#3101:lassop 1 %lld\n",p->i1);
     p->i1 -= a;
-    printf("#3098:lassop 2 %lld\n",p->i1);
+    printf("#3103:lassop 2 %lld\n",p->i1);
     p->i1 /= a;
-    printf("#3100:lassop 3 %lld\n",p->i1);
+    printf("#3105:lassop 3 %lld\n",p->i1);
     p->i1 *= a;
-    printf("#3102:lassop 4 %lld\n",p->i1);
+    printf("#3107:lassop 4 %lld\n",p->i1);
     p->i1 |= a;
-    printf("#3104:lassop 5 %lld\n",p->i1);
+    printf("#3109:lassop 5 %lld\n",p->i1);
     p->i1 &= a;
-    printf("#3106:lassop 6 %lld\n",p->i1);
+    printf("#3111:lassop 6 %lld\n",p->i1);
     p->i1 ^= a;
-    printf("#3108:lassop 7 %lld\n",p->i1);
+    printf("#3113:lassop 7 %lld\n",p->i1);
     p->i1 <<= a;
-    printf("#3110:lassop 8 %lld\n",p->i1);
+    printf("#3115:lassop 8 %lld\n",p->i1);
     p->i1 >>= a;
-    printf("#3112:lassop 9 %lld\n",p->i1);
+    printf("#3117:lassop 9 %lld\n",p->i1);
 
     p->ui1 += a;
-    printf("#3115:lassop 1 %llu\n",p->ui1);
+    printf("#3120:lassop 1 %llu\n",p->ui1);
     p->ui1 -= a;
-    printf("#3117:lassop 2 %llu\n",p->ui1);
+    printf("#3122:lassop 2 %llu\n",p->ui1);
     p->ui1 /= a;
-    printf("#3119:lassop 3 %llu\n",p->ui1);
+    printf("#3124:lassop 3 %llu\n",p->ui1);
     p->ui1 *= a;
-    printf("#3121:lassop 4 %llu\n",p->ui1);
+    printf("#3126:lassop 4 %llu\n",p->ui1);
     p->ui1 |= a;
-    printf("#3123:lassop 5 %llu\n",p->ui1);
+    printf("#3128:lassop 5 %llu\n",p->ui1);
     p->ui1 &= a;
-    printf("#3125:lassop 6 %llu\n",p->ui1);
+    printf("#3130:lassop 6 %llu\n",p->ui1);
     p->ui1 ^= a;
-    printf("#3127:lassop 7 %llu\n",p->ui1);
+    printf("#3132:lassop 7 %llu\n",p->ui1);
     p->ui1 <<= a;
-    printf("#3129:lassop 8 %llu\n",p->ui1);
+    printf("#3134:lassop 8 %llu\n",p->ui1);
     p->ui1 >>= a;
-    printf("#3131:lassop 9 %llu\n",p->ui1);
+    printf("#3136:lassop 9 %llu\n",p->ui1);
 }
 
 // lassop_g(int op,int byte,int sign) 
@@ -3148,42 +3153,42 @@
     glp->ui1 = 632423423; glp->ui2= 32394234;
 
     glp->i1 += a;
-    printf("#3150:lassop 1 %lld\n",glp->i1);
+    printf("#3155:lassop 1 %lld\n",glp->i1);
     glp->i1 -= a;
-    printf("#3152:lassop 2 %lld\n",glp->i1);
+    printf("#3157:lassop 2 %lld\n",glp->i1);
     glp->i1 /= a;
-    printf("#3154:lassop 3 %lld\n",glp->i1);
+    printf("#3159:lassop 3 %lld\n",glp->i1);
     glp->i1 *= a;
-    printf("#3156:lassop 4 %lld\n",glp->i1);
+    printf("#3161:lassop 4 %lld\n",glp->i1);
     glp->i1 |= a;
-    printf("#3158:lassop 5 %lld\n",glp->i1);
+    printf("#3163:lassop 5 %lld\n",glp->i1);
     glp->i1 ^= a;
-    printf("#3160:lassop 7 %lld\n",glp->i1);
+    printf("#3165:lassop 7 %lld\n",glp->i1);
     glp->i1 <<= a;
-    printf("#3162:lassop 8 %lld\n",glp->i1);
+    printf("#3167:lassop 8 %lld\n",glp->i1);
     glp->i1 >>= a;
-    printf("#3164:lassop 9 %lld\n",glp->i1);
+    printf("#3169:lassop 9 %lld\n",glp->i1);
     glp->i1 &= a;
-    printf("#3166:lassop 6 %lld\n",glp->i1);
+    printf("#3171:lassop 6 %lld\n",glp->i1);
 
     glp->ui1 += a;
-    printf("#3169:lassop 1 %llu\n",glp->ui1);
+    printf("#3174:lassop 1 %llu\n",glp->ui1);
     glp->ui1 -= a;
-    printf("#3171:lassop 2 %llu\n",glp->ui1);
+    printf("#3176:lassop 2 %llu\n",glp->ui1);
     glp->ui1 /= a;
-    printf("#3173:lassop 3 %llu\n",glp->ui1);
+    printf("#3178:lassop 3 %llu\n",glp->ui1);
     glp->ui1 *= a;
-    printf("#3175:lassop 4 %llu\n",glp->ui1);
+    printf("#3180:lassop 4 %llu\n",glp->ui1);
     glp->ui1 |= a;
-    printf("#3177:lassop 5 %llu\n",glp->ui1);
+    printf("#3182:lassop 5 %llu\n",glp->ui1);
     glp->ui1 ^= a;
-    printf("#3179:lassop 7 %llu\n",glp->ui1);
+    printf("#3184:lassop 7 %llu\n",glp->ui1);
     glp->ui1 <<= a;
-    printf("#3181:lassop 8 %llu\n",glp->ui1);
+    printf("#3186:lassop 8 %llu\n",glp->ui1);
     glp->ui1 >>= a;
-    printf("#3183:lassop 9 %llu\n",glp->ui1);
+    printf("#3188:lassop 9 %llu\n",glp->ui1);
     glp->ui1 &= a;
-    printf("#3185:lassop 6 %llu\n",glp->ui1);
+    printf("#3190:lassop 6 %llu\n",glp->ui1);
 }
 
 INLINE void
@@ -3196,42 +3201,42 @@
     glp->ui1 = 632423423; glp->ui2= 32394234;
 
     glp->i1 += a;
-    printf("#3198:lassop_gc 1 %lld\n",glp->i1);
+    printf("#3203:lassop_gc 1 %lld\n",glp->i1);
     glp->i1 -= a;
-    printf("#3200:lassop_gc 2 %lld\n",glp->i1);
+    printf("#3205:lassop_gc 2 %lld\n",glp->i1);
     glp->i1 /= a;
-    printf("#3202:lassop_gc 3 %lld\n",glp->i1);
+    printf("#3207:lassop_gc 3 %lld\n",glp->i1);
     glp->i1 *= a;
-    printf("#3204:lassop_gc 4 %lld\n",glp->i1);
+    printf("#3209:lassop_gc 4 %lld\n",glp->i1);
     glp->i1 |= a;
-    printf("#3206:lassop_gc 5 %lld\n",glp->i1);
+    printf("#3211:lassop_gc 5 %lld\n",glp->i1);
     glp->i1 ^= a;
-    printf("#3208:lassop_gc 7 %lld\n",glp->i1);
+    printf("#3213:lassop_gc 7 %lld\n",glp->i1);
     glp->i1 <<= a;
-    printf("#3210:lassop_gc 8 %lld\n",glp->i1);
+    printf("#3215:lassop_gc 8 %lld\n",glp->i1);
     glp->i1 >>= a;
-    printf("#3212:lassop_gc 9 %lld\n",glp->i1);
+    printf("#3217:lassop_gc 9 %lld\n",glp->i1);
     glp->i1 &= a;
-    printf("#3214:lassop_gc 6 %lld\n",glp->i1);
+    printf("#3219:lassop_gc 6 %lld\n",glp->i1);
 
     glp->ui1 += a;
-    printf("#3217:lassop_gc 1 %llu\n",glp->ui1);
+    printf("#3222:lassop_gc 1 %llu\n",glp->ui1);
     glp->ui1 -= a;
-    printf("#3219:lassop_gc 2 %llu\n",glp->ui1);
+    printf("#3224:lassop_gc 2 %llu\n",glp->ui1);
     glp->ui1 /= a;
-    printf("#3221:lassop_gc 3 %llu\n",glp->ui1);
+    printf("#3226:lassop_gc 3 %llu\n",glp->ui1);
     glp->ui1 *= a;
-    printf("#3223:lassop_gc 4 %llu\n",glp->ui1);
+    printf("#3228:lassop_gc 4 %llu\n",glp->ui1);
     glp->ui1 |= a;
-    printf("#3225:lassop_gc 5 %llu\n",glp->ui1);
+    printf("#3230:lassop_gc 5 %llu\n",glp->ui1);
     glp->ui1 ^= a;
-    printf("#3227:lassop_gc 7 %llu\n",glp->ui1);
+    printf("#3232:lassop_gc 7 %llu\n",glp->ui1);
     glp->ui1 <<= a;
-    printf("#3229:lassop_gc 8 %llu\n",glp->ui1);
+    printf("#3234:lassop_gc 8 %llu\n",glp->ui1);
     glp->ui1 >>= a;
-    printf("#3231:lassop_gc 9 %llu\n",glp->ui1);
+    printf("#3236:lassop_gc 9 %llu\n",glp->ui1);
     glp->ui1 &= a;
-    printf("#3233:lassop_gc 6 %llu\n",glp->ui1);
+    printf("#3238:lassop_gc 6 %llu\n",glp->ui1);
 }
 
 
@@ -3242,16 +3247,16 @@
 {
     long long reg;
     if (l0>l1)
-	printf("#3244:code_lgt 1\n");
+	printf("#3249:code_lgt 1\n");
     else
-	printf("#3246:code_lgt 0\n");
+	printf("#3251:code_lgt 0\n");
     for (reg=-3;reg<7;reg++) {
         if (0<reg && reg<3)
-	   printf("#3249:reg=%lld code_lgt  0<reg && reg <3\n",reg);
+	   printf("#3254:reg=%lld code_lgt  0<reg && reg <3\n",reg);
     }
     for (reg=-3;reg<7;reg++) {
         if (-2<reg && reg<0)
-	   printf("#3253:reg=%lld code_lgt -2<reg && reg <0\n",reg);
+	   printf("#3258:reg=%lld code_lgt -2<reg && reg <0\n",reg);
     }
 }
 
@@ -3261,16 +3266,16 @@
 {
     unsigned long long reg;
     if (ul0>ul1)
-	printf("#3263:code_lugt 1\n");
+	printf("#3268:code_lugt 1\n");
     else
-	printf("#3265:code_lugt 0\n");
+	printf("#3270:code_lugt 0\n");
     for (reg=0;reg<7;reg++) {
         if (2<reg && reg<4)
-	   printf("#3268:reg=%llu code_lugt  2<reg && reg <4\n",reg);
+	   printf("#3273:reg=%llu code_lugt  2<reg && reg <4\n",reg);
     }
     for (reg=0;reg<7;reg++) {
         if (2<reg && reg<4)
-	   printf("#3272:reg=%llu code_lugt  2<reg && reg <4\n",reg);
+	   printf("#3277:reg=%llu code_lugt  2<reg && reg <4\n",reg);
     }
 }
 
@@ -3280,16 +3285,16 @@
 {
     long long reg;
     if (l0>=l1)
-	printf("#3282:code_lge 1\n");
+	printf("#3287:code_lge 1\n");
     else
-	printf("#3284:code_lge 0\n");
+	printf("#3289:code_lge 0\n");
     for (reg=-3;reg<7;reg++) {
         if (0<=reg && reg<=3)
-	   printf("#3287:reg=%lld code_lge  0<=reg && reg <=3\n",reg);
+	   printf("#3292:reg=%lld code_lge  0<=reg && reg <=3\n",reg);
     }
     for (reg=-3;reg<7;reg++) {
         if (-2<=reg && reg<=0)
-	   printf("#3291:reg=%lld code_lge -2<=reg && reg <=0\n",reg);
+	   printf("#3296:reg=%lld code_lge -2<=reg && reg <=0\n",reg);
     }
 }
 
@@ -3299,16 +3304,16 @@
 {
     unsigned long long reg;
     if (ul0>=ul1)
-	printf("#3301:code_luge 1\n");
+	printf("#3306:code_luge 1\n");
     else
-	printf("#3303:code_luge 0\n");
+	printf("#3308:code_luge 0\n");
     for (reg=0;reg<7;reg++) {
         if (2<reg && reg<4)
-	   printf("#3306:reg=%llu code_luge  2<reg && reg <4\n",reg);
+	   printf("#3311:reg=%llu code_luge  2<reg && reg <4\n",reg);
     }
     for (reg=0;reg<7;reg++) {
         if (2<reg && reg<4)
-	   printf("#3310:reg=%llu code_luge  2<reg && reg <4\n",reg);
+	   printf("#3315:reg=%llu code_luge  2<reg && reg <4\n",reg);
     }
 }
 
@@ -3317,13 +3322,13 @@
 code_leq()
 {
     if (ul0==ul1)
-	printf("#3319:code_leq 1\n");
+	printf("#3324:code_leq 1\n");
     else
-	printf("#3321:code_leq 0\n");
+	printf("#3326:code_leq 0\n");
     if (l0!=l1)
-	printf("#3323:code_lneq 1\n");
+	printf("#3328:code_lneq 1\n");
     else
-	printf("#3325:code_lneq 0\n");
+	printf("#3330:code_lneq 0\n");
 }
 
 #if 0
@@ -3333,11 +3338,11 @@
     long long i;
     for(i=0;i<6;i++) {
 	switch(i) {
-	case 1: printf("#3335:code_lswitch 1 %d\n",i); break;
-	case 2: printf("#3336:code_lswitch 2 %d\n",i); break;
-	case 3: printf("#3337:code_lswitch 3 %d\n",i);
-	case 4: printf("#3338:code_lswitch 4 %d\n",i); break;
-	default: printf("#3339:code_lswitch d %d\n",i);
+	case 1: printf("#3340:code_lswitch 1 %d\n",i); break;
+	case 2: printf("#3341:code_lswitch 2 %d\n",i); break;
+	case 3: printf("#3342:code_lswitch 3 %d\n",i);
+	case 4: printf("#3343:code_lswitch 4 %d\n",i); break;
+	default: printf("#3344:code_lswitch d %d\n",i);
 	}
     }
 }
@@ -3352,49 +3357,49 @@
     int i;
     for(i=0;i<10;i++) {
 	switch(i) {
-	case 1: printf("#3354:code_switch 1 %d\n",i); break;
-	case 2: printf("#3355:code_switch 2 %d\n",i); break;
-	case 3: printf("#3356:code_switch 3 %d\n",i);
-	case 4: printf("#3357:code_switch 4 %d\n",i); break;
+	case 1: printf("#3359:code_switch 1 %d\n",i); break;
+	case 2: printf("#3360:code_switch 2 %d\n",i); break;
+	case 3: printf("#3361:code_switch 3 %d\n",i);
+	case 4: printf("#3362:code_switch 4 %d\n",i); break;
         case 7:
-	case 5: printf("#3359:code_switch 5 %d\n",i); break;
-	case 6: printf("#3360:code_switch 6 %d\n",i); break;
-	default: printf("#3361:code_switch d %d\n",i);
+	case 5: printf("#3364:code_switch 5 %d\n",i); break;
+	case 6: printf("#3365:code_switch 6 %d\n",i); break;
+	default: printf("#3366:code_switch d %d\n",i);
 	}
     }
     for(i=0;i<10;i++) {
 	switch(i) {
-	case 1: printf("#3366:code_switch 1 %d\n",i); break;
+	case 1: printf("#3371:code_switch 1 %d\n",i); break;
 	case 2: 
 	    i = i* 100;
 	    switch(i) {
-	    case 100: printf("#3370:code_switch n 1 %d\n",i); break;
+	    case 100: printf("#3375:code_switch n 1 %d\n",i); break;
 	    case 200: 
     for(i=-100;i<10;i++) {
 	switch(i) {
-	case 1234: printf("#3374:code_switch 1 nn %d\n",i); break;
-	case 2233: printf("#3375:code_switch 2 nn %d\n",i); break;
-	case 3333: printf("#3376:code_switch 3 nn %d\n",i);
+	case 1234: printf("#3379:code_switch 1 nn %d\n",i); break;
+	case 2233: printf("#3380:code_switch 2 nn %d\n",i); break;
+	case 3333: printf("#3381:code_switch 3 nn %d\n",i);
         case -200: return;
-	case -4: printf("#3378:code_switch 4 nn %d\n",i); break;
+	case -4: printf("#3383:code_switch 4 nn %d\n",i); break;
         case 733:
-	case -5: printf("#3380:code_switch 5 nn %d\n",i); break;
-	case -326: printf("#3381:code_switch 6 nn %d\n",i); 
+	case -5: printf("#3385:code_switch 5 nn %d\n",i); break;
+	case -326: printf("#3386:code_switch 6 nn %d\n",i); 
 	}
     }
-	    case 300: printf("#3384:code_switch n 3 %d\n",i);
-	    case 400: printf("#3385:code_switch n 4 %d\n",i); break;
+	    case 300: printf("#3389:code_switch n 3 %d\n",i);
+	    case 400: printf("#3390:code_switch n 4 %d\n",i); break;
 	    case 700:
-	    case 500: printf("#3387:code_switch n 5 %d\n",i); break;
-	    case 600: printf("#3388:code_switch n 6 %d\n",i); break;
-	    default: printf("#3389:code_switch n d %d\n",i);
+	    case 500: printf("#3392:code_switch n 5 %d\n",i); break;
+	    case 600: printf("#3393:code_switch n 6 %d\n",i); break;
+	    default: printf("#3394:code_switch n d %d\n",i);
 	    }
-	case 3: printf("#3391:code_switch 3 %d\n",i);
-	case 4: printf("#3392:code_switch 4 %d\n",i); break;
+	case 3: printf("#3396:code_switch 3 %d\n",i);
+	case 4: printf("#3397:code_switch 4 %d\n",i); break;
         case 7:
-	case 5: printf("#3394:code_switch 5 %d\n",i); break;
-	case 6: printf("#3395:code_switch 6 %d\n",i); break;
-	default: printf("#3396:code_switch d %d\n",i);
+	case 5: printf("#3399:code_switch 5 %d\n",i); break;
+	case 6: printf("#3400:code_switch 6 %d\n",i); break;
+	default: printf("#3401:code_switch d %d\n",i);
 	}
     }
 }
@@ -3408,11 +3413,11 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3410: cond_iii %d\n",k);
-	printf("#3411: cond_iii %d\n",i==0? -8:8);
+	printf("#3415: cond_iii %d\n",k);
+	printf("#3416: cond_iii %d\n",i==0? -8:8);
 	k = i==0? i:j;
-	printf("#3413: cond_iii %d\n",k);
-	printf("#3414: cond_iii %d\n",i==0? i:j);
+	printf("#3418: cond_iii %d\n",k);
+	printf("#3419: cond_iii %d\n",i==0? i:j);
     }
 }
 
@@ -3425,11 +3430,11 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3427: cond_ii0 %d\n",k);
-	printf("#3428: cond_ii0 %d\n",i==0? -8:8);
+	printf("#3432: cond_ii0 %d\n",k);
+	printf("#3433: cond_ii0 %d\n",i==0? -8:8);
 	k = i==0? i:j;
-	printf("#3430: cond_ii0 %d\n",k);
-	printf("#3431: cond_ii0 %d\n",i==0? i:j);
+	printf("#3435: cond_ii0 %d\n",k);
+	printf("#3436: cond_ii0 %d\n",i==0? i:j);
     }
 }
 
@@ -3442,11 +3447,11 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3444: cond_uuu %u\n",k);
-	printf("#3445: cond_uuu %u\n",i==0? -8:8);
+	printf("#3449: cond_uuu %u\n",k);
+	printf("#3450: cond_uuu %u\n",i==0? -8:8);
 	k = i==0? i:j;
-	printf("#3447: cond_uuu %u\n",k);
-	printf("#3448: cond_uuu %u\n",i==0? i:j);
+	printf("#3452: cond_uuu %u\n",k);
+	printf("#3453: cond_uuu %u\n",i==0? i:j);
     }
 }
 
@@ -3459,11 +3464,11 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3461: cond_uii %d\n",k);
-	printf("#3462: cond_uii %u\n",i==0? -8:8);
+	printf("#3466: cond_uii %d\n",k);
+	printf("#3467: cond_uii %u\n",i==0? -8:8);
 	k = i==0? i:j;
-	printf("#3464: cond_uii %d\n",k);
-	printf("#3465: cond_uii %u\n",i==0? i:j);
+	printf("#3469: cond_uii %d\n",k);
+	printf("#3470: cond_uii %u\n",i==0? i:j);
     }
 }
 
@@ -3477,12 +3482,12 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3479: cond_fff %g\n",k);
-	printf("#3480: cond_fff %g\n",i==0? -4.0:4.0);
-	printf("#3481: cond_fff %g\n",(float)(i==0? -4:4));
+	printf("#3484: cond_fff %g\n",k);
+	printf("#3485: cond_fff %g\n",i==0? -4.0:4.0);
+	printf("#3486: cond_fff %g\n",(float)(i==0? -4:4));
 	k = i==0? i:j;
-	printf("#3483: cond_fff %g\n",k);
-	printf("#3484: cond_fff %g\n",i==0? i:j);
+	printf("#3488: cond_fff %g\n",k);
+	printf("#3489: cond_fff %g\n",i==0? i:j);
     }
 }
 
@@ -3495,12 +3500,12 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3497: cond_ddd %g\n",k);
-	printf("#3498: cond_ddd %g\n",i==0? -4.0:4.0);
-	printf("#3499: cond_ddd %g\n",(double)(i==0? -4:4));
+	printf("#3502: cond_ddd %g\n",k);
+	printf("#3503: cond_ddd %g\n",i==0? -4.0:4.0);
+	printf("#3504: cond_ddd %g\n",(double)(i==0? -4:4));
 	k = i==0? i:j;
-	printf("#3501: cond_ddd %g\n",k);
-	printf("#3502: cond_ddd %g\n",i==0? i:j);
+	printf("#3506: cond_ddd %g\n",k);
+	printf("#3507: cond_ddd %g\n",i==0? i:j);
     }
 }
 
@@ -3509,13 +3514,13 @@
 {
      int i=9;
      float f=(i>10) ? 4 : -4;
-     printf("#3511:%f\n",f);
+     printf("#3516:%f\n",f);
      i=10;
      f=(i>10) ? 4 : -4;
-     printf("#3514:%f\n",f);
+     printf("#3519:%f\n",f);
      i=11;
      f=(i>10) ? 4 : -4;
-     printf("#3517:%f\n",f);
+     printf("#3522:%f\n",f);
 }
 
 INLINE static float
@@ -3532,14 +3537,14 @@
 code_d2f()
 {
     double d = 0.1;
-    printf("code_d2f %g\n",d2f(d));
+    printf("#3539:code_d2f %g\n",d2f(d));
 }
 
 INLINE void
 code_f2d()
 {
     double f = 0.1;
-    printf("code_f2d %g\n",f2d(f));
+    printf("#3546:code_f2d %g\n",f2d(f));
 }
 
 
@@ -3555,12 +3560,12 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3532: cond_lll %lld\n",k);
-	printf("#3533: cond_lll %lld\n",i==0? -4LL:4LL);
-	printf("#3534: cond_lll %lld\n",(long long)(i==0? -4:4));
+	printf("#3562: cond_lll %lld\n",k);
+	printf("#3563: cond_lll %lld\n",i==0? -4LL:4LL);
+	printf("#3564: cond_lll %lld\n",(long long)(i==0? -4:4));
 	k = i==0? i:j;
-	printf("#3536: cond_lll %lld\n",k);
-	printf("#3537: cond_lll %llu\n",i==0? i:j);
+	printf("#3566: cond_lll %lld\n",k);
+	printf("#3567: cond_lll %llu\n",i==0? i:j);
     }
 }
 
@@ -3573,12 +3578,12 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3550: cond_ulll %llu\n",k);
-	printf("#3551: cond_ulll %llu\n",i==0? -4LL:4LL);
-	printf("#3552: cond_ulll %llu\n",(unsigned long long)(i==0? -4:4));
+	printf("#3580: cond_ulll %llu\n",k);
+	printf("#3581: cond_ulll %llu\n",i==0? -4LL:4LL);
+	printf("#3582: cond_ulll %llu\n",(unsigned long long)(i==0? -4:4));
 	k = i==0? i:j;
-	printf("#3554: cond_ulll %llu\n",k);
-	printf("#3555: cond_ulll %llu\n",i==0? i:j);
+	printf("#3584: cond_ulll %llu\n",k);
+	printf("#3585: cond_ulll %llu\n",i==0? i:j);
     }
 }
 
@@ -3591,12 +3596,12 @@
 
     for(i=0;i<2;i++) {
 	k = i==0? -4:4;
-	printf("#3568: cond_luu %lld\n",k);
-	printf("#3569: cond_luu %lld\n",i==0? -4LL:4LL);
-	printf("#3570: cond_luu %lld\n",(unsigned long long)(i==0? -4:4));
+	printf("#3598: cond_luu %lld\n",k);
+	printf("#3599: cond_luu %lld\n",i==0? -4LL:4LL);
+	printf("#3600: cond_luu %lld\n",(unsigned long long)(i==0? -4:4));
 	k = i==0? i:j;
-	printf("#3572: cond_luu %lld\n",k);
-	printf("#3573: cond_luu %lld\n",i==0? i:j);
+	printf("#3602: cond_luu %lld\n",k);
+	printf("#3603: cond_luu %lld\n",i==0? i:j);
     }
 }