Mercurial > hg > CbC > old > device
changeset 435:d3e6359f8501
loprtc LLSHIFT....
author | kono |
---|---|
date | Thu, 11 Nov 2004 00:39:37 +0900 |
parents | 6927ec51c1d7 |
children | d92786033042 |
files | Changes mc-code-ia32.c mc-code-powerpc.c mc-codegen.c mc.h test/code-gen.c |
diffstat | 6 files changed, 473 insertions(+), 249 deletions(-) [+] |
line wrap: on
line diff
--- a/Changes Wed Nov 03 18:50:51 2004 +0900 +++ b/Changes Thu Nov 11 00:39:37 2004 +0900 @@ -6413,5 +6413,146 @@ のと、コードがでかくなってしまう。 並列代入も、もう少し考えるべきだな。 - -(MIPSが、このコードだとうまく動かないみたいだね...) + code f(int a,struct b) { + goto g(b,a); + } +みたいな場合だね。 + +分解してから、もう一度、memcpy にまとめるという手もあるけど... +代入ベースではなくて、swap base の置換にする? + for(i) swap(a[i],b[i]); +みたいな感じ? + code f(struct a,struct b) { + goto g(b,a); + } +みたいな場合は、そんなのが望ましいが... + +分解して巡回依存を解消して、address でsort すれば... memcpy +は検出できるはずだけど... + +あ、そうか、巡回依存は、基本的にswapで解決できるはず。 + copy(a,b) + swap(a,b) +の組合せで、最適な結果が得られるはず。そうすれば、saveとか +をしなくてすむ。 + (a,b,c) <= (b,c,a) +は、 + swap(a,b); swap(c,a); +となる? あれ? + +case triple + a b c + |---||-----||---------| + b c a + |-----||---------||---| + +うーん、 + + circular_dependency => smallest dependent element + singleton or not + + swith(circula_depent(&small)) { + case CIRCULAR_DEPEND: save(small); remove(small); break; + case DEPEND_SINGLETON: memcpy(small); break; + default: continue; // try another + } + +これだと、a がsave, b がsaveで、c がsignleton ということになる。 +いや、b もsingleton になるかな? b&c を一つのmemcpyにまとめる +のは、それほど意味はないが... + +これでも、 +case eq + a b + |---------|---------| + b a + |---------|---------| +は、save code が出てしまう。また、上の場合でも、a がでかい場合 +があるよね。本来、 + one integeter save +で全部できるはず。(お手玉swap) で、分解すればお手玉swap codeは出る。 + +memcpy するためには、その先を全部saveしないとだめ。だから、memcpy +とは両立しない。うん。だから、swap operation にするのが良い。が、 +case triple をswap operation で解決する方法が良くわからない。 + a b c + |123||45678||9abcdefgh| + |-23||45678||9abcdefgh| {1} + |423||-5678||9abcdefgh| {1} +ってな感じかぁ。これは、space/operation trade off なの? + a b c + |123||45678||9abcdefgh| + |-23||45678||9abcdefgh| {1} + |4-3||15678||9abcdefgh| {2} + |45-||12678||9abcdefgh| {3} + |456||-2378||9abcdefgh| {1} + |456||7-318||9abcdefgh| {2} + |45678||-12||9abcdefgh| {3} + |45678||9-2||3abcdefgh| {1} + |45678||9a-||31bcdefgh| {2} + |45678||9ab-||12cdefgh| {3} + |45678||9abc-||23defgh| {1} + |45678||9abcd-||31efgh| {2} + |45678||9abcde-||12fgh| {3} + |45678||9abcdef-||23gh| {1} + |45678||9abcdefg-||31h| {2} + |45678||9abcdefgh||-12| {3} + |45678||9abcdefgh||1-2| {3} + |45678||9abcdefgh||12-| {3} + |45678||9abcdefgh||123| {-} + b c a +で、できるにはできるんだが.... + +これと、memcpyとどっちが速いかはアーキテクチャとmemcpyによる。 + +だから、 + ある程度、小さい構造体は分解 + 大きなものは、singleton/smallest detection をまずやる + save が大きすぎるときには、circular dependent 内部でお手玉を出す +ってな感じですかね。 + +お手玉なんだけど、 + a b c + |-||---||-------| + 123456789abcdefgh + a b1 c b2 c_t + c_s をswap + |-||||-------||-| + 123459abcdefgh678 + b2 b1 c a a_t + b2 をswap + |-||||-------||-| + 678459abcdefgh123 + b c a b2,b1 をswap + |---||-------||-| + 456789abcdefgh123 +ってな感じで大きなものからswapかな。こうすれば自動的に分割される +ので、分解は必要なくなる? + + circular_dependency => smallest dependent element + singleton or not + + swith(circula_depent(&small,&large_conflict)) { + case CIRCULAR_DEPEND: + if (size(small) < SAVE_MAX) { + save(small); remove(small); break; + } else { + swap_divide(large_conflict); + reposition(conflict); + remove(large); + break; + } + case DEPEND_SINGLETON: memmove(small); break; + default: continue; // try another + } + + swap: ld r0,(to); + ld r1,(from); + st r0,(from++); + st r1,(to++); + if (cnt-->0) goto swap + +って感じ? swap された最後が、どういうパターンになるかは、ちょっと +面白い問題だけどね。 + +Thu Nov 4 10:15:29 JST 2004 + +あ、なんか long long の定数シフトで > 32 の場合を忘れているね。
--- a/mc-code-ia32.c Wed Nov 03 18:50:51 2004 +0900 +++ b/mc-code-ia32.c Thu Nov 11 00:39:37 2004 +0900 @@ -158,6 +158,9 @@ #define REG_LCREG 8 #define REG_L 9 +#define regv_l(r) (virtual(r==REG_L?REG_ESI:REG_EAX)) +#define regv_h(r) (virtual(r==REG_L?REG_EDI:REG_EDX)) + #define DATA_REG 0 #define POINTER_REG 3 @@ -2836,7 +2839,7 @@ printf("\tmovl %%ecx,4(%%esp)\n"); printf("\tpopl %%ecx\n"); printf("\tshrdl %%edx,%%eax\n"); - printf("\tsarl %%cl,%%eax\n"); + printf("\tsarl %%cl,%%edx\n"); printf("\ttestb $32,%%cl\n"); printf("\tje\t_%d\n",(lb=fwdlabel())); printf("\tmovl %%edx,%%eax\n"); @@ -2849,7 +2852,7 @@ printf("\tmovl %%ecx,4(%%esp)\n"); printf("\tpopl %%ecx\n"); printf("\tshrdl %%edx,%%eax\n"); - printf("\tshrl %%cl,%%eax\n"); + printf("\tshrl %%cl,%%edx\n"); printf("\ttestb $32,%%cl\n"); printf("\tje\t_%d\n",(lb=fwdlabel())); printf("\tmovl %%edx,%%eax\n"); @@ -2919,7 +2922,7 @@ case LULSHIFT: case LRSHIFT: case LURSHIFT: - return (0<=l&&l<=32); + return (0<=l&&l<=63); case LADD: case LSUB: case LBAND: @@ -2933,7 +2936,7 @@ void loprtc(int op,int reg,int e) { char *opl,*oph; - int vl; + int vl,il; int vh; long long l; @@ -2943,6 +2946,7 @@ vl = code_l1(l); vh = code_l2(l); + il = l; use_longlong(reg); opl = 0; @@ -2950,16 +2954,49 @@ switch(op) { case LLSHIFT: case LULSHIFT: + if (il==0) return; + else if (il==32) { + code_register(regv_l(reg),regv_h(reg)); + code_const(0,regv_l(reg)); + return; + } else if (il>32) { + code_register(regv_l(reg),regv_h(reg)); + printf("\tsall $%d,%s\n",(int)il-32,l_edx(reg)); + code_const(0,regv_l(reg)); + return; + } printf("\tshldl $%d,%s,%s\n",vl,l_eax(reg),l_edx(reg)); - printf("\tsall $%d,%s\n",vl,l_eax(reg)); + printf("\tsall $%d,%s\n",(int)il,l_eax(reg)); return; case LRSHIFT: - printf("\tshrdl $%d,%s,%s\n",vl,l_edx(reg),l_eax(reg)); - printf("\tsarl $%d,%s\n",vl,l_edx(reg)); + if (il==0) return; + else if (il==32) { + code_register(regv_h(reg),regv_l(reg)); + code_i2ll(reg); + return; + } else if (il>32) { + code_register(regv_h(reg),regv_l(reg)); + printf("\tsarl $%d,%s\n",(int)il-32,l_eax(reg)); + code_i2ll(reg); + return; + } + printf("\tshrdl $%d,%s,%s\n",(int)il,l_edx(reg),l_eax(reg)); + printf("\tsarl $%d,%s\n",(int)il,l_edx(reg)); return; case LURSHIFT: - printf("\tshrdl $%d,%s,%s\n",vl,l_edx(reg),l_eax(reg)); - printf("\tshrl $%d,%s\n",vl,l_edx(reg)); + if (il==0) return; + else if (il==32) { + code_register(regv_h(reg),regv_l(reg)); + code_const(0,regv_h(reg)); + return; + } else if (il>32) { + code_register(regv_h(reg),regv_l(reg)); + printf("\tsarl $%d,%s\n",(int)il-32,l_eax(reg)); + code_const(0,regv_h(reg)); + return; + } + printf("\tshrdl $%d,%s,%s\n",(int)il,l_edx(reg),l_eax(reg)); + printf("\tshrl $%d,%s\n",(int)il,l_edx(reg)); return; } switch(op) { @@ -3548,11 +3585,10 @@ printf("\t%s %d(%s),%s\n",cload(sign,size),4,register_name(adr,0), register_name(adr,0)); mask = make_mask(64-bitpos-bitsize,bitpos>=32?63-bitpos:31); - make_mask_and_or(mask,virtual(value==REG_L?REG_EDI:REG_EDX),adr); + make_mask_and_or(mask,regv_h(value),adr); printf("\tmovl 0(%%esp),%s\n",register_name(adr,0)); printf("\t%s %s,4(%s)\n",move(0), - register_name(virtual(value==REG_L?REG_EDI:REG_EDX),0), - register_name(adr,0)); + l_edx(value), register_name(adr,0)); } if (bitpos<32) { if (!push) { printf("\tpushl %s\n",register_name(adr,0)); push=1;} @@ -3560,11 +3596,10 @@ printf("\t%s %d(%s),%s\n",cload(sign,size),0,register_name(adr,0), register_name(adr,0)); mask = make_mask(bitpos+bitsize>=32?0:32-bitpos-bitsize,31-bitpos); - make_mask_and_or(mask,virtual(value==REG_L?REG_ESI:REG_EAX),adr); + make_mask_and_or(mask,regv_l(value),adr); printf("\tpopl %s\n",register_name(adr,0)); push=0; printf("\t%s %s,(%s)\n",move(0), - register_name(virtual(value==REG_L?REG_ESI:REG_EAX),0), - register_name(adr,0)); + l_eax(value), register_name(adr,0)); } if (push) printf("\taddl %%sp,$4\n"); } else {
--- a/mc-code-powerpc.c Wed Nov 03 18:50:51 2004 +0900 +++ b/mc-code-powerpc.c Thu Nov 11 00:39:37 2004 +0900 @@ -4532,7 +4532,7 @@ case LULSHIFT: case LRSHIFT: case LURSHIFT: - return (0<v&&v<31); + return (0<=v&&v<=64); case LADD: case LSUB: return 1; @@ -4562,9 +4562,19 @@ switch(op) { case LLSHIFT: case LULSHIFT: + if (v==0) return; + if (v==32) { + code_register(regv_l(creg),regv_h(creg)); + code_const(0,regv_l(creg)); + return; + } else if (v>31) { + printf("\tslwi %s,%s,%d\n",crn_h,crn_l,v-32); + code_const(0,regv_l(creg)); + return; + } greg = get_register(); + grn = register_name(greg); use_reg(greg); - grn = register_name(greg); printf("\tsrwi %s,%s,%d\n",grn,crn_l,32-v); printf("\tslwi %s,%s,%d\n",crn_h,crn_h,v); printf("\tor %s,%s,%s\n",crn_h,grn,crn_h); @@ -4572,6 +4582,16 @@ free_register(greg); return; case LRSHIFT: + if (v==0) return; + if (v==32) { + code_register(regv_h(creg),regv_l(creg)); + printf("\tsrawi %s,%s,31\n",crn_h,crn_l); + return; + } else if (v>31) { + printf("\tsrawi %s,%s,%d\n",crn_l,crn_h,v-32); + printf("\tsrawi %s,%s,31\n",crn_h,crn_l); + return; + } greg = get_register(); use_reg(greg); grn = register_name(greg); @@ -4582,6 +4602,16 @@ free_register(greg); return; case LURSHIFT: + if (v==0) return; + if (v==32) { + code_register(regv_h(creg),regv_l(creg)); + code_const(0,regv_h(creg)); + return; + } else if (v>31) { + printf("\tsrwi %s,%s,%d\n",crn_l,crn_h,v-32); + code_const(0,regv_h(creg)); + return; + } greg = get_register(); use_reg(greg); grn = register_name(greg);
--- a/mc-codegen.c Wed Nov 03 18:50:51 2004 +0900 +++ b/mc-codegen.c Thu Nov 11 00:39:37 2004 +0900 @@ -3298,6 +3298,13 @@ if((op==MUL||op==DIV)&&car(e2)==LCONST&&lcadr(e2)==1) return e1; if(op==BOR||op==EOR||op==BAND||op==ADD||op==SUB||op==EQ||op==NEQ) return(list3(op+LOP,e1,e2)); + if(op==LSHIFT && car(e2)==LCONST) { + if (lcadr(e2)==0) return e1; + else if (lcadr(e2)>63) return llist2(LCONST,0); + } + if(op==RSHIFT && car(e2)==LCONST) { + if (lcadr(e2)==0) return e1; + } if(op==LSHIFT||op==RSHIFT) return(list3(op+LOP+(t1==ULONGLONG),e1,e2)); return(list3(op+LOP+us,e1,e2)); }
--- a/mc.h Wed Nov 03 18:50:51 2004 +0900 +++ b/mc.h Thu Nov 11 00:39:37 2004 +0900 @@ -102,7 +102,6 @@ #define DOP 600 #define FOP 800 #define LOP 1000 -#define BOP 1200 // bit field /* tree node tags start */ @@ -132,10 +131,6 @@ #define LURGVAR (LOP+URGVAR) #define LRLVAR (LOP+RLVAR) #define LURLVAR (LOP+URLVAR) -#define BRGVAR (BOP+RGVAR) -#define BURGVAR (BOP+URGVAR) -#define BRLVAR (BOP+RLVAR) -#define BURLVAR (BOP+URLVAR) #define CONST 7 #define DCONST (DOP+CONST)
--- a/test/code-gen.c Wed Nov 03 18:50:51 2004 +0900 +++ b/test/code-gen.c Thu Nov 11 00:39:37 2004 +0900 @@ -1941,29 +1941,37 @@ printf("#1940:loprtc 8 %lld\n",i); i = i1 >> 5; printf("#1942:loprtc 9 %lld\n",i); + i = i1 << 38; + printf("#1944:loprtc 8 %lld\n",i); + i = i1 >> 38; + printf("#1946:loprtc 9 %lld\n",i); i = i1 % 5; - printf("#1944:loprtc 10 %lld\n",i); + printf("#1948:loprtc 10 %lld\n",i); u = u1 + 3; - printf("#1947:loprtc 1 u %llu\n",u); + printf("#1951:loprtc 1 u %llu\n",u); u = u1 - 3; - printf("#1949:loprtc 2 u %llu\n",u); + printf("#1953:loprtc 2 u %llu\n",u); u = u1 / 32342342344234LL; - printf("#1951:loprtc 3 u %llu\n",u); + printf("#1955:loprtc 3 u %llu\n",u); u = u1 * 243234234232324LL; - printf("#1953:loprtc 4 u %llu\n",u); + printf("#1957:loprtc 4 u %llu\n",u); u = u1 | 234234234; - printf("#1955:loprtc 5 u %llu\n",u); + printf("#1959:loprtc 5 u %llu\n",u); u = u1 & 234234234; - printf("#1957:loprtc 6 u %llu\n",u); + printf("#1961:loprtc 6 u %llu\n",u); u = u1 ^ 234234234; - printf("#1959:loprtc 7 u %llu\n",u); + printf("#1963:loprtc 7 u %llu\n",u); u = u1 << 5; - printf("#1961:loprtc 8 u %llu\n",u); + printf("#1965:loprtc 8 u %llu\n",u); u = u1 >> 5; - printf("#1963:loprtc 9 u %llu\n",u); + printf("#1967:loprtc 9 u %llu\n",u); + u = u1 << 38; + printf("#1969:loprtc 8 u %llu\n",u); + u = u1 >> 38; + printf("#1971:loprtc 9 u %llu\n",u); u = u1 % 5; - printf("#1965:loprtc 10 u %llu\n",u); + printf("#1973:loprtc 10 u %llu\n",u); } @@ -1982,92 +1990,92 @@ u = 0; i = i1 + i2; - printf("#1984:ltosop r 1 %lld\n",i); + printf("#1992:ltosop r 1 %lld\n",i); i = i1 - i2; - printf("#1986:ltosop r 2 %lld\n",i); + printf("#1994:ltosop r 2 %lld\n",i); i = i1 / i2; - printf("#1988:ltosop r 3 %lld\n",i); + printf("#1996:ltosop r 3 %lld\n",i); i = i1 * i2; - printf("#1990:ltosop r 4 %lld\n",i); + printf("#1998:ltosop r 4 %lld\n",i); i = i1 | i2; - printf("#1992:ltosop r 5 %lld\n",i); + printf("#2000:ltosop r 5 %lld\n",i); i = i1 & i2; - printf("#1994:ltosop r 6 %lld\n",i); + printf("#2002:ltosop r 6 %lld\n",i); i = i1 ^ i2; - printf("#1996:ltosop r 7 %lld\n",i); + printf("#2004:ltosop r 7 %lld\n",i); i2 = 3; i = i1 << i2; - printf("#1999:ltosop r 8 %lld\n",i); + printf("#2007:ltosop r 8 %lld\n",i); i = i1 >> i2; - printf("#2001:ltosop r 9 %lld\n",i); + printf("#2009:ltosop r 9 %lld\n",i); i = i1 % i2; - printf("#2003:ltosop r 10 %lld\n",i); + printf("#2011:ltosop r 10 %lld\n",i); u = u1 + u2; - printf("#2006:ltosop r u 1 %llu\n",u); + printf("#2014:ltosop r u 1 %llu\n",u); u = u1 - u2; - printf("#2008:ltosop r u 2 %llu\n",u); + printf("#2016:ltosop r u 2 %llu\n",u); u = u1 / u2; - printf("#2010:ltosop r u 3 %llu\n",u); + printf("#2018:ltosop r u 3 %llu\n",u); u = u1 * u2; - printf("#2012:ltosop r u 4 %llu\n",u); + printf("#2020:ltosop r u 4 %llu\n",u); u = u1 | u2; - printf("#2014:ltosop r u 5 %llu\n",u); + printf("#2022:ltosop r u 5 %llu\n",u); u = u1 & u2; - printf("#2016:ltosop r u 6 %llu\n",u); + printf("#2024:ltosop r u 6 %llu\n",u); u = u1 ^ u2; - printf("#2018:ltosop r u 7 %llu\n",u); + printf("#2026:ltosop r u 7 %llu\n",u); u2 = 3; u = u1 << u2; - printf("#2021:ltosop r u 8 %llu\n",u); + printf("#2029:ltosop r u 8 %llu\n",u); u = u1 >> u2; - printf("#2023:ltosop r u 9 %llu\n",u); + printf("#2031:ltosop r u 9 %llu\n",u); u = u1 % u2; - printf("#2025:ltosop r u 10 %llu\n",u); + printf("#2033:ltosop r u 10 %llu\n",u); i = i1 + ii2; - printf("#2028:litosop r 1 %lld\n",i); + printf("#2036:litosop r 1 %lld\n",i); i = i1 - ii2; - printf("#2030:litosop r 2 %lld\n",i); + printf("#2038:litosop r 2 %lld\n",i); i = i1 / ii2; - printf("#2032:litosop r 3 %lld\n",i); + printf("#2040:litosop r 3 %lld\n",i); i = i1 * ii2; - printf("#2034:litosop r 4 %lld\n",i); + printf("#2042:litosop r 4 %lld\n",i); i = i1 | ii2; - printf("#2036:litosop r 5 %lld\n",i); + printf("#2044:litosop r 5 %lld\n",i); i = i1 & ii2; - printf("#2038:litosop r 6 %lld\n",i); + printf("#2046:litosop r 6 %lld\n",i); i = i1 ^ ii2; - printf("#2040:litosop r 7 %lld\n",i); + printf("#2048:litosop r 7 %lld\n",i); ii2 = 3; i = i1 << ii2; - printf("#2043:litosop r 8 %lld\n",i); + printf("#2051:litosop r 8 %lld\n",i); i = i1 >> ii2; - printf("#2045:litosop r 9 %lld\n",i); + printf("#2053:litosop r 9 %lld\n",i); i = i1 % ii2; - printf("#2047:litosop r 10 %lld\n",i); + printf("#2055:litosop r 10 %lld\n",i); u = u1 + uu2; - printf("#2050:litosop r u 1 %llu\n",u); + printf("#2058:litosop r u 1 %llu\n",u); u = u1 - uu2; - printf("#2052:litosop r u 2 %llu\n",u); + printf("#2060:litosop r u 2 %llu\n",u); u = u1 / uu2; - printf("#2054:litosop r u 3 %llu\n",u); + printf("#2062:litosop r u 3 %llu\n",u); u = u1 * uu2; - printf("#2056:litosop r u 4 %llu\n",u); + printf("#2064:litosop r u 4 %llu\n",u); u = u1 | uu2; - printf("#2058:litosop r u 5 %llu\n",u); + printf("#2066:litosop r u 5 %llu\n",u); u = u1 & uu2; - printf("#2060:litosop r u 6 %llu\n",u); + printf("#2068:litosop r u 6 %llu\n",u); u = u1 ^ uu2; - printf("#2062:litosop r u 7 %llu\n",u); + printf("#2070:litosop r u 7 %llu\n",u); uu2 = 3; u = u1 << uu2; - printf("#2065:litosop r u 8 %llu\n",u); + printf("#2073:litosop r u 8 %llu\n",u); u = u1 >> uu2; - printf("#2067:litosop r u 9 %llu\n",u); + printf("#2075:litosop r u 9 %llu\n",u); u = u1 % uu2; - printf("#2069:litosop r u 10 %llu\n",u); + printf("#2077:litosop r u 10 %llu\n",u); } // loprtc(int op,int v) @@ -2080,46 +2088,54 @@ u1 = 632423423; i = i1 + 3; - printf("#2082:loprtc r 1 %lld\n",i); + printf("#2090:loprtc r 1 %lld\n",i); i = i1 - 3; - printf("#2084:loprtc r 2 %lld\n",i); + printf("#2092:loprtc r 2 %lld\n",i); i = i1 / 32323423423LL; - printf("#2086:loprtc r 3 %lld\n",i); + printf("#2094:loprtc r 3 %lld\n",i); i = i1 * 323423423423LL; - printf("#2088:loprtc r 4 %lld\n",i); + printf("#2096:loprtc r 4 %lld\n",i); i = i1 | 234234234; - printf("#2090:loprtc r 5 %lld\n",i); + printf("#2098:loprtc r 5 %lld\n",i); i = i1 & 23234234; - printf("#2092:loprtc r 6 %lld\n",i); + printf("#2100:loprtc r 6 %lld\n",i); i = i1 ^ 23234234; - printf("#2094:loprtc r 7 %lld\n",i); + printf("#2102:loprtc r 7 %lld\n",i); i = i1 << 5; - printf("#2096:loprtc r 8 %lld\n",i); + printf("#2104:loprtc r 8 %lld\n",i); i = i1 >> 5; - printf("#2098:loprtc r 9 %lld\n",i); + printf("#2106:loprtc r 9 %lld\n",i); + i = i1 << 38; + printf("#2108:loprtc r 8 %lld\n",i); + i = i1 >> 38; + printf("#2110:loprtc r 9 %lld\n",i); i = i1 % 5; - printf("#2100:loprtc r 10 %lld\n",i); + printf("#2112:loprtc r 10 %lld\n",i); u = u1 + 3; - printf("#2103:loprtc r 1 u %llu\n",u); + printf("#2115:loprtc r 1 u %llu\n",u); u = u1 - 3; - printf("#2105:loprtc r 2 u %llu\n",u); + printf("#2117:loprtc r 2 u %llu\n",u); u = u1 / 32342342344234LL; - printf("#2107:loprtc r 3 u %llu\n",u); + printf("#2119:loprtc r 3 u %llu\n",u); u = u1 * 243234234232324LL; - printf("#2109:loprtc r 4 u %llu\n",u); + printf("#2121:loprtc r 4 u %llu\n",u); u = u1 | 234234234; - printf("#2111:loprtc r 5 u %llu\n",u); + printf("#2123:loprtc r 5 u %llu\n",u); u = u1 & 234234234; - printf("#2113:loprtc r 6 u %llu\n",u); + printf("#2125:loprtc r 6 u %llu\n",u); u = u1 ^ 234234234; - printf("#2115:loprtc r 7 u %llu\n",u); + printf("#2127:loprtc r 7 u %llu\n",u); u = u1 << 5; - printf("#2117:loprtc r 8 u %llu\n",u); + printf("#2129:loprtc r 8 u %llu\n",u); u = u1 >> 5; - printf("#2119:loprtc r 9 u %llu\n",u); + printf("#2131:loprtc r 9 u %llu\n",u); + u = u1 << 38; + printf("#2133:loprtc r 8 u %llu\n",u); + u = u1 >> 38; + printf("#2135:loprtc r 9 u %llu\n",u); u = u1 % 5; - printf("#2121:loprtc r 10 u %llu\n",u); + printf("#2137:loprtc r 10 u %llu\n",u); } @@ -2131,7 +2147,7 @@ int i; i = 23442342; d = i; - printf("#2133:code_i2ll %lld\n",d); + printf("#2149:code_i2ll %lld\n",d); } // code_i2ull(int creg) void @@ -2141,7 +2157,7 @@ int i; i = 23442342; d = i; - printf("#2143:code_i2ull %lld\n",d); + printf("#2159:code_i2ull %lld\n",d); } // code_u2ll(int creg) void @@ -2151,7 +2167,7 @@ unsigned int i; i = 23442342; d = i; - printf("#2153:code_u2ll %lld\n",d); + printf("#2169:code_u2ll %lld\n",d); } // code_u2ull(int creg) void @@ -2161,7 +2177,7 @@ unsigned int i; i = 23342342; d = i; - printf("#2163:code_u2ull %llu\n",d); + printf("#2179:code_u2ull %llu\n",d); } // code_ll2i(int creg) void @@ -2171,7 +2187,7 @@ int i; d = 2342342342LL; i = d; - printf("#2173:code_ll2i %d\n",i); + printf("#2189:code_ll2i %d\n",i); } // code_ll2u(int creg) void @@ -2181,7 +2197,7 @@ unsigned int i; d = 2342342342LL; i = d; - printf("#2183:code_ll2i %ud\n",i); + printf("#2199:code_ll2i %ud\n",i); } // code_ull2i(int creg) void @@ -2191,7 +2207,7 @@ int i; d = 2342342342LL; i = d; - printf("#2193:code_ull2i %d\n",i); + printf("#2209:code_ull2i %d\n",i); } // code_ull2u(int creg) void @@ -2201,7 +2217,7 @@ unsigned int i; d = 2342342342LL; i = d; - printf("#2203:code_ll2i %ud\n",i); + printf("#2219:code_ll2i %ud\n",i); } #if FLOAT_CODE // code_d2ll(int creg) @@ -2212,7 +2228,7 @@ double i; i = 2342342342LL; d = i; - printf("#2214:code_d2ll %lld\n",d); + printf("#2230:code_d2ll %lld\n",d); } // code_d2ull(int creg) void @@ -2222,7 +2238,7 @@ double i; i = 2342342342LL; d = i; - printf("#2224:code_d2ll %llu\n",d); + printf("#2240:code_d2ll %llu\n",d); } // code_f2ll(int creg) void @@ -2232,7 +2248,7 @@ float i; i = 2342342342LL; d = i; - printf("#2234:code_f2ll %lld\n",d); + printf("#2250:code_f2ll %lld\n",d); } // code_f2ull(int creg) void @@ -2242,7 +2258,7 @@ float i; i = 2342342342LL; d = i; - printf("#2244:code_f2ull %llu\n",d); + printf("#2260:code_f2ull %llu\n",d); } // code_ll2d(int creg) void @@ -2252,7 +2268,7 @@ double i; d = 2342342342LL; i = d; - printf("#2254:code_ll2d %g\n",i); + printf("#2270:code_ll2d %g\n",i); } // code_ll2f(int creg) void @@ -2262,7 +2278,7 @@ float i; d = 2342342342LL; i = d; - printf("#2264:code_ll2f %g\n",i); + printf("#2280:code_ll2f %g\n",i); } // code_ull2d(int creg) void @@ -2272,7 +2288,7 @@ double i; d = 2342342342LL; i = d; - printf("#2274:code_ull2f %g\n",i); + printf("#2290:code_ull2f %g\n",i); } // code_ull2f(int creg) void @@ -2282,7 +2298,7 @@ float i; d = 2342342342LL; i = d; - printf("#2284:code_ull2f %g\n",i); + printf("#2300:code_ull2f %g\n",i); } #endif @@ -2292,8 +2308,8 @@ { long long i,j; i = 123123123;j = 0; - printf("#2294:code_preinc l %lld %lld",++i,--j); - printf("#2295: %lld %lld\n",i,j); + printf("#2310:code_preinc l %lld %lld",++i,--j); + printf("#2311: %lld %lld\n",i,j); } // code_lpostinc(int e1,int e2,int reg) @@ -2302,8 +2318,8 @@ { long long i,j; i = 123123123;j = 0; - printf("#2304:code_postinc l %lld %lld",i++,j--); - printf("#2305: %lld %lld\n",i,j); + printf("#2320:code_postinc l %lld %lld",i++,j--); + printf("#2321: %lld %lld\n",i,j); } // code_lpreinc(int e1,int e2,int reg) @@ -2312,8 +2328,8 @@ { register unsigned long long i,j; i = 123123123;j = 0; - printf("#2314:code_preinc l %llu %llu",++i,--j); - printf("#2315: %lld %lld\n",i,j); + printf("#2330:code_preinc l %llu %llu",++i,--j); + printf("#2331: %lld %lld\n",i,j); } // code_lpostinc(int e1,int e2,int reg) @@ -2322,8 +2338,8 @@ { register unsigned long long i,j; i = 123123123;j = 0; - printf("#2324:code_postinc lu %llu %llu",i++,j--); - printf("#2325: %lld %lld\n",i,j); + printf("#2340:code_postinc lu %llu %llu",i++,j--); + printf("#2341: %lld %lld\n",i,j); } // code_lpreinc(int e1,int e2,int reg) @@ -2332,8 +2348,8 @@ { register long long i,j; i = 123123123;j = 0; - printf("#2334:code_preinc l r %lld %lld",++i,--j); - printf("#2335: %lld %lld\n",i,j); + printf("#2350:code_preinc l r %lld %lld",++i,--j); + printf("#2351: %lld %lld\n",i,j); } // code_lpostinc(int e1,int e2,int reg) @@ -2342,8 +2358,8 @@ { register long long i,j; i = 123123123;j = 0; - printf("#2344:code_postinc l r %lld %lld",i++,j--); - printf("#2345: %lld %lld\n",i,j); + printf("#2360:code_postinc l r %lld %lld",i++,j--); + printf("#2361: %lld %lld\n",i,j); } // code_lpreinc(int e1,int e2,int reg) @@ -2352,8 +2368,8 @@ { register unsigned long long i,j; i = 123123123;j = 0; - printf("#2354:code_preinc l r %llu %llu",++i,--j); - printf("#2355: %lld %lld\n",i,j); + printf("#2370:code_preinc l r %llu %llu",++i,--j); + printf("#2371: %lld %lld\n",i,j); } // code_lpostinc(int e1,int e2,int reg) @@ -2362,8 +2378,8 @@ { register unsigned long long i,j; i = 123123123;j = 0; - printf("#2364:code_postinc lu r %llu %llu",i++,j--); - printf("#2365: %lld %lld\n",i,j); + printf("#2380:code_postinc lu r %llu %llu",i++,j--); + printf("#2381: %lld %lld\n",i,j); } // code_lassop(int op) @@ -2379,42 +2395,42 @@ ui1 = 632423423; i1 += a; - printf("#2381:code_register_lassop 1 %lld\n",i1); + printf("#2397:code_register_lassop 1 %lld\n",i1); i1 -= a; - printf("#2383:code_register_lassop 2 %lld\n",i1); + printf("#2399:code_register_lassop 2 %lld\n",i1); i1 /= a; - printf("#2385:code_register_lassop 3 %lld\n",i1); + printf("#2401:code_register_lassop 3 %lld\n",i1); i1 *= a; - printf("#2387:code_register_lassop 4 %lld\n",i1); + printf("#2403:code_register_lassop 4 %lld\n",i1); i1 |= a; - printf("#2389:code_register_lassop 5 %lld\n",i1); + printf("#2405:code_register_lassop 5 %lld\n",i1); i1 &= a; - printf("#2391:code_register_lassop 6 %lld\n",i1); + printf("#2407:code_register_lassop 6 %lld\n",i1); i1 ^= a; - printf("#2393:code_register_lassop 7 %lld\n",i1); + printf("#2409:code_register_lassop 7 %lld\n",i1); i1 <<= a; - printf("#2395:code_register_lassop 8 %lld\n",i1); + printf("#2411:code_register_lassop 8 %lld\n",i1); i1 >>= a; - printf("#2397:code_register_lassop 9 %lld\n",i1); + printf("#2413:code_register_lassop 9 %lld\n",i1); ui1 += a; - printf("#2400:code_register_lassop 1 %llu\n",ui1); + printf("#2416:code_register_lassop 1 %llu\n",ui1); ui1 -= a; - printf("#2402:code_register_lassop 2 %llu\n",ui1); + printf("#2418:code_register_lassop 2 %llu\n",ui1); ui1 /= a; - printf("#2404:code_register_lassop 3 %llu\n",ui1); + printf("#2420:code_register_lassop 3 %llu\n",ui1); ui1 *= a; - printf("#2406:code_register_lassop 4 %llu\n",ui1); + printf("#2422:code_register_lassop 4 %llu\n",ui1); ui1 |= a; - printf("#2408:code_register_lassop 5 %llu\n",ui1); + printf("#2424:code_register_lassop 5 %llu\n",ui1); ui1 &= a; - printf("#2410:code_register_lassop 6 %llu\n",ui1); + printf("#2426:code_register_lassop 6 %llu\n",ui1); ui1 ^= a; - printf("#2412:code_register_lassop 7 %llu\n",ui1); + printf("#2428:code_register_lassop 7 %llu\n",ui1); ui1 <<= a; - printf("#2414:code_register_lassop 8 %llu\n",ui1); + printf("#2430:code_register_lassop 8 %llu\n",ui1); ui1 >>= a; - printf("#2416:code_register_lassop 9 %llu\n",ui1); + printf("#2432:code_register_lassop 9 %llu\n",ui1); } // code_lassop(int op,int byte,int sign) @@ -2428,42 +2444,42 @@ ui1 = 632423423; ui2= 32394234; i1 += a; - printf("#2430:code_lassop 1 %lld\n",i1); + printf("#2446:code_lassop 1 %lld\n",i1); i1 -= a; - printf("#2432:code_lassop 2 %lld\n",i1); + printf("#2448:code_lassop 2 %lld\n",i1); i1 /= a; - printf("#2434:code_lassop 3 %lld\n",i1); + printf("#2450:code_lassop 3 %lld\n",i1); i1 *= a; - printf("#2436:code_lassop 4 %lld\n",i1); + printf("#2452:code_lassop 4 %lld\n",i1); i1 |= a; - printf("#2438:code_lassop 5 %lld\n",i1); + printf("#2454:code_lassop 5 %lld\n",i1); i1 &= a; - printf("#2440:code_lassop 6 %lld\n",i1); + printf("#2456:code_lassop 6 %lld\n",i1); i1 ^= a; - printf("#2442:code_lassop 7 %lld\n",i1); + printf("#2458:code_lassop 7 %lld\n",i1); i1 <<= a; - printf("#2444:code_lassop 8 %lld\n",i1); + printf("#2460:code_lassop 8 %lld\n",i1); i1 >>= a; - printf("#2446:code_lassop 9 %lld\n",i1); + printf("#2462:code_lassop 9 %lld\n",i1); ui1 += a; - printf("#2449:code_lassop 1 %llu\n",ui1); + printf("#2465:code_lassop 1 %llu\n",ui1); ui1 -= a; - printf("#2451:code_lassop 2 %llu\n",ui1); + printf("#2467:code_lassop 2 %llu\n",ui1); ui1 /= a; - printf("#2453:code_lassop 3 %llu\n",ui1); + printf("#2469:code_lassop 3 %llu\n",ui1); ui1 *= a; - printf("#2455:code_lassop 4 %llu\n",ui1); + printf("#2471:code_lassop 4 %llu\n",ui1); ui1 |= a; - printf("#2457:code_lassop 5 %llu\n",ui1); + printf("#2473:code_lassop 5 %llu\n",ui1); ui1 &= a; - printf("#2459:code_lassop 6 %llu\n",ui1); + printf("#2475:code_lassop 6 %llu\n",ui1); ui1 ^= a; - printf("#2461:code_lassop 7 %llu\n",ui1); + printf("#2477:code_lassop 7 %llu\n",ui1); ui1 <<= a; - printf("#2463:code_lassop 8 %llu\n",ui1); + printf("#2479:code_lassop 8 %llu\n",ui1); ui1 >>= a; - printf("#2465:code_lassop 9 %llu\n",ui1); + printf("#2481:code_lassop 9 %llu\n",ui1); } // code_register_assop(int e2,int op,int byte) @@ -2476,42 +2492,42 @@ ui1 = 632423423; i1 += 3; - printf("#2478:code_register_lassop c 1 %lld\n",i1); + printf("#2494:code_register_lassop c 1 %lld\n",i1); i1 -= 3; - printf("#2480:code_register_lassop c 2 %lld\n",i1); + printf("#2496:code_register_lassop c 2 %lld\n",i1); i1 /= 3; - printf("#2482:code_register_lassop c 3 %lld\n",i1); + printf("#2498:code_register_lassop c 3 %lld\n",i1); i1 *= 3; - printf("#2484:code_register_lassop c 4 %lld\n",i1); + printf("#2500:code_register_lassop c 4 %lld\n",i1); i1 |= 234; - printf("#2486:code_register_lassop c 5 %lld\n",i1); + printf("#2502:code_register_lassop c 5 %lld\n",i1); i1 &= 2324234234234234LL; - printf("#2488:code_register_lassop c 6 %lld\n",i1); + printf("#2504:code_register_lassop c 6 %lld\n",i1); i1 ^= 5523234234234234LL; - printf("#2490:code_register_lassop c 7 %lld\n",i1); + printf("#2506:code_register_lassop c 7 %lld\n",i1); i1 <<= 3; - printf("#2492:code_register_lassop c 8 %lld\n",i1); + printf("#2508:code_register_lassop c 8 %lld\n",i1); i1 >>= 3; - printf("#2494:code_register_lassop c 9 %lld\n",i1); + printf("#2510:code_register_lassop c 9 %lld\n",i1); ui1 += 3; - printf("#2497:code_register_lassop c 1 %llu\n",ui1); + printf("#2513:code_register_lassop c 1 %llu\n",ui1); ui1 -= 3; - printf("#2499:code_register_lassop c 2 %llu\n",ui1); + printf("#2515:code_register_lassop c 2 %llu\n",ui1); ui1 /= 3; - printf("#2501:code_register_lassop c 3 %llu\n",ui1); + printf("#2517:code_register_lassop c 3 %llu\n",ui1); ui1 *= 3; - printf("#2503:code_register_lassop c 4 %llu\n",ui1); + printf("#2519:code_register_lassop c 4 %llu\n",ui1); ui1 |= 234; - printf("#2505:code_register_lassop c 5 %llu\n",ui1); + printf("#2521:code_register_lassop c 5 %llu\n",ui1); ui1 &= 2324234234234234LL; - printf("#2507:code_register_lassop c 6 %llu\n",ui1); + printf("#2523:code_register_lassop c 6 %llu\n",ui1); ui1 ^= 5523234234234234LL; - printf("#2509:code_register_lassop c 7 %llu\n",ui1); + printf("#2525:code_register_lassop c 7 %llu\n",ui1); ui1 <<= 3; - printf("#2511:code_register_lassop c 8 %llu\n",ui1); + printf("#2527:code_register_lassop c 8 %llu\n",ui1); ui1 >>= 3; - printf("#2513:code_register_lassop c 9 %llu\n",ui1); + printf("#2529:code_register_lassop c 9 %llu\n",ui1); } // code_lassop(int op,int byte,int sign) @@ -2524,42 +2540,42 @@ ui1 = 632423423; ui2= 32394234; i1 += 3; - printf("#2526:code_lassop c 1 %lld\n",i1); + printf("#2542:code_lassop c 1 %lld\n",i1); i1 -= 3; - printf("#2528:code_lassop c 2 %lld\n",i1); + printf("#2544:code_lassop c 2 %lld\n",i1); i1 /= 3; - printf("#2530:code_lassop c 3 %lld\n",i1); + printf("#2546:code_lassop c 3 %lld\n",i1); i1 *= 3; - printf("#2532:code_lassop c 4 %lld\n",i1); + printf("#2548:code_lassop c 4 %lld\n",i1); i1 |= 234; - printf("#2534:code_lassop c 5 %lld\n",i1); + printf("#2550:code_lassop c 5 %lld\n",i1); i1 &= 2324234234234234LL; - printf("#2536:code_lassop c 6 %lld\n",i1); + printf("#2552:code_lassop c 6 %lld\n",i1); i1 ^= 5523234234234234LL; - printf("#2538:code_lassop c 7 %lld\n",i1); + printf("#2554:code_lassop c 7 %lld\n",i1); i1 <<= 3; - printf("#2540:code_lassop c 8 %lld\n",i1); + printf("#2556:code_lassop c 8 %lld\n",i1); i1 >>= 3; - printf("#2542:code_lassop c 9 %lld\n",i1); + printf("#2558:code_lassop c 9 %lld\n",i1); ui1 += 3; - printf("#2545:code_lassop c 1 %llu\n",ui1); + printf("#2561:code_lassop c 1 %llu\n",ui1); ui1 -= 3; - printf("#2547:code_lassop c 2 %llu\n",ui1); + printf("#2563:code_lassop c 2 %llu\n",ui1); ui1 /= 3; - printf("#2549:code_lassop c 3 %llu\n",ui1); + printf("#2565:code_lassop c 3 %llu\n",ui1); ui1 *= 3; - printf("#2551:code_lassop c 4 %llu\n",ui1); + printf("#2567:code_lassop c 4 %llu\n",ui1); ui1 |= 234; - printf("#2553:code_lassop c 5 %llu\n",ui1); + printf("#2569:code_lassop c 5 %llu\n",ui1); ui1 &= 2324234234234234LL; - printf("#2555:code_lassop c 6 %llu\n",ui1); + printf("#2571:code_lassop c 6 %llu\n",ui1); ui1 ^= 5523234234234234LL; - printf("#2557:code_lassop c 7 %llu\n",ui1); + printf("#2573:code_lassop c 7 %llu\n",ui1); ui1 <<= 3; - printf("#2559:code_lassop c 8 %llu\n",ui1); + printf("#2575:code_lassop c 8 %llu\n",ui1); ui1 >>= 3; - printf("#2561:code_lassop c 9 %llu\n",ui1); + printf("#2577:code_lassop c 9 %llu\n",ui1); } // code_lgt(int cond) @@ -2569,16 +2585,16 @@ { long long reg; if (l0>l1) - printf("#2571:code_lgt 1\n"); + printf("#2587:code_lgt 1\n"); else - printf("#2573:code_lgt 0\n"); + printf("#2589:code_lgt 0\n"); for (reg=-3;reg<7;reg++) { if (0<reg && reg<3) - printf("#2576:reg=%lld code_lgt 0<reg && reg <3\n",reg); + printf("#2592:reg=%lld code_lgt 0<reg && reg <3\n",reg); } for (reg=-3;reg<7;reg++) { if (-2<reg && reg<0) - printf("#2580:reg=%lld code_lgt -2<reg && reg <0\n",reg); + printf("#2596:reg=%lld code_lgt -2<reg && reg <0\n",reg); } } @@ -2588,16 +2604,16 @@ { unsigned long long reg; if (ul0>ul1) - printf("#2590:code_lugt 1\n"); + printf("#2606:code_lugt 1\n"); else - printf("#2592:code_lugt 0\n"); + printf("#2608:code_lugt 0\n"); for (reg=0;reg<7;reg++) { if (2<reg && reg<4) - printf("#2595:reg=%llu code_lugt 2<reg && reg <4\n",reg); + printf("#2611:reg=%llu code_lugt 2<reg && reg <4\n",reg); } for (reg=0;reg<7;reg++) { if (2<reg && reg<4) - printf("#2599:reg=%llu code_lugt 2<reg && reg <4\n",reg); + printf("#2615:reg=%llu code_lugt 2<reg && reg <4\n",reg); } } @@ -2607,16 +2623,16 @@ { long long reg; if (l0>=l1) - printf("#2609:code_lge 1\n"); + printf("#2625:code_lge 1\n"); else - printf("#2611:code_lge 0\n"); + printf("#2627:code_lge 0\n"); for (reg=-3;reg<7;reg++) { if (0<=reg && reg<=3) - printf("#2614:reg=%lld code_lge 0<=reg && reg <=3\n",reg); + printf("#2630:reg=%lld code_lge 0<=reg && reg <=3\n",reg); } for (reg=-3;reg<7;reg++) { if (-2<=reg && reg<=0) - printf("#2618:reg=%lld code_lge -2<=reg && reg <=0\n",reg); + printf("#2634:reg=%lld code_lge -2<=reg && reg <=0\n",reg); } } @@ -2626,16 +2642,16 @@ { unsigned long long reg; if (ul0>=ul1) - printf("#2628:code_luge 1\n"); + printf("#2644:code_luge 1\n"); else - printf("#2630:code_luge 0\n"); + printf("#2646:code_luge 0\n"); for (reg=0;reg<7;reg++) { if (2<reg && reg<4) - printf("#2633:reg=%llu code_luge 2<reg && reg <4\n",reg); + printf("#2649:reg=%llu code_luge 2<reg && reg <4\n",reg); } for (reg=0;reg<7;reg++) { if (2<reg && reg<4) - printf("#2637:reg=%llu code_luge 2<reg && reg <4\n",reg); + printf("#2653:reg=%llu code_luge 2<reg && reg <4\n",reg); } } @@ -2644,13 +2660,13 @@ code_leq() { if (ul0==ul1) - printf("#2646:code_leq 1\n"); + printf("#2662:code_leq 1\n"); else - printf("#2648:code_leq 0\n"); + printf("#2664:code_leq 0\n"); if (l0!=l1) - printf("#2650:code_lneq 1\n"); + printf("#2666:code_lneq 1\n"); else - printf("#2652:code_lneq 0\n"); + printf("#2668:code_lneq 0\n"); } #if 0 @@ -2660,11 +2676,11 @@ long long i; for(i=0;i<6;i++) { switch(i) { - case 1: printf("#2662:code_lswitch 1 %d\n",i); break; - case 2: printf("#2663:code_lswitch 2 %d\n",i); break; - case 3: printf("#2664:code_lswitch 3 %d\n",i); - case 4: printf("#2665:code_lswitch 4 %d\n",i); break; - default: printf("#2666:code_lswitch d %d\n",i); + case 1: printf("#2678:code_lswitch 1 %d\n",i); break; + case 2: printf("#2679:code_lswitch 2 %d\n",i); break; + case 3: printf("#2680:code_lswitch 3 %d\n",i); + case 4: printf("#2681:code_lswitch 4 %d\n",i); break; + default: printf("#2682:code_lswitch d %d\n",i); } } } @@ -2679,48 +2695,48 @@ int i; for(i=0;i<10;i++) { switch(i) { - case 1: printf("#2681:code_switch 1 %d\n",i); break; - case 2: printf("#2682:code_switch 2 %d\n",i); break; - case 3: printf("#2683:code_switch 3 %d\n",i); - case 4: printf("#2684:code_switch 4 %d\n",i); break; + case 1: printf("#2697:code_switch 1 %d\n",i); break; + case 2: printf("#2698:code_switch 2 %d\n",i); break; + case 3: printf("#2699:code_switch 3 %d\n",i); + case 4: printf("#2700:code_switch 4 %d\n",i); break; case 7: - case 5: printf("#2686:code_switch 5 %d\n",i); break; - case 6: printf("#2687:code_switch 6 %d\n",i); break; - default: printf("#2688:code_switch d %d\n",i); + case 5: printf("#2702:code_switch 5 %d\n",i); break; + case 6: printf("#2703:code_switch 6 %d\n",i); break; + default: printf("#2704:code_switch d %d\n",i); } } for(i=0;i<10;i++) { switch(i) { - case 1: printf("#2693:code_switch 1 %d\n",i); break; + case 1: printf("#2709:code_switch 1 %d\n",i); break; case 2: i = i* 100; switch(i) { - case 100: printf("#2697:code_switch n 1 %d\n",i); break; + case 100: printf("#2713:code_switch n 1 %d\n",i); break; case 200: for(i=-100;i<10;i++) { switch(i) { - case 1234: printf("#2701:code_switch 1 nn %d\n",i); break; - case 2233: printf("#2702:code_switch 2 nn %d\n",i); break; - case 3333: printf("#2703:code_switch 3 nn %d\n",i); - case -4: printf("#2704:code_switch 4 nn %d\n",i); break; + case 1234: printf("#2717:code_switch 1 nn %d\n",i); break; + case 2233: printf("#2718:code_switch 2 nn %d\n",i); break; + case 3333: printf("#2719:code_switch 3 nn %d\n",i); + case -4: printf("#2720:code_switch 4 nn %d\n",i); break; case 733: - case -5: printf("#2706:code_switch 5 nn %d\n",i); break; - case -326: printf("#2707:code_switch 6 nn %d\n",i); + case -5: printf("#2722:code_switch 5 nn %d\n",i); break; + case -326: printf("#2723:code_switch 6 nn %d\n",i); } } - case 300: printf("#2710:code_switch n 3 %d\n",i); - case 400: printf("#2711:code_switch n 4 %d\n",i); break; + case 300: printf("#2726:code_switch n 3 %d\n",i); + case 400: printf("#2727:code_switch n 4 %d\n",i); break; case 700: - case 500: printf("#2713:code_switch n 5 %d\n",i); break; - case 600: printf("#2714:code_switch n 6 %d\n",i); break; - default: printf("#2715:code_switch n d %d\n",i); + case 500: printf("#2729:code_switch n 5 %d\n",i); break; + case 600: printf("#2730:code_switch n 6 %d\n",i); break; + default: printf("#2731:code_switch n d %d\n",i); } - case 3: printf("#2717:code_switch 3 %d\n",i); - case 4: printf("#2718:code_switch 4 %d\n",i); break; + case 3: printf("#2733:code_switch 3 %d\n",i); + case 4: printf("#2734:code_switch 4 %d\n",i); break; case 7: - case 5: printf("#2720:code_switch 5 %d\n",i); break; - case 6: printf("#2721:code_switch 6 %d\n",i); break; - default: printf("#2722:code_switch d %d\n",i); + case 5: printf("#2736:code_switch 5 %d\n",i); break; + case 6: printf("#2737:code_switch 6 %d\n",i); break; + default: printf("#2738:code_switch d %d\n",i); } } }