|
|
1.1 root 1: /* "MOV %f,x,$%0,(r%0),-(sp)" => ="MOV %f,%t,%x,%y,%z" E="x" B="$%c" b=a A="(r%n)" 0=0 C="-(sp)" */
2: /* "MOV %f,l,%x,r%0,-(sp)" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="-(sp)" */
3: /* "MOV %f,x,$%0,(r%1),(r%0)" => ="MOV %f,%t,%x,%y,%z" E="x" B="$%c" b=a A="(r%n)" 0=1 C="(r%n)" 2=0 */
4: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
5: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
6: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
7: /* "MOV %f,l,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="r%c" */
8: /* "jmp (r%0)" => ="jmp %z" C="(r%n)" 2=0 */
9: /* "EXT %f,l,r%1,r%0,r%c" => ="EXT %f,%t,%x,%y,%z" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
10: /* "MOVA %f,l,%x,%0,r%c" => ="MOVA %f,%t,%x,%y,%z" E="l" A="%c" a=a C="r%c" */
11: /* "MOVA %f,l,%x,%0(fp),r%c" => ="MOVA %f,%t,%x,%y,%z" E="l" A="%c(fp)" a=a C="r%c" */
12: /* "MOVA %f,l,%x,%0(ap),r%c" => ="MOVA %f,%t,%x,%y,%z" E="l" A="%c(ap)" a=a C="r%c" */
13: /* "pushl r%1\npushl r%0\ncalls $2,udiv" => ="pushl %x\npushl %y\ncalls $2,%f" B="r%n" 1=1 A="r%n" 0=0 D="udiv" */
14: /* "pushl r%1\npushl r%0\ncalls $2,urem" => ="pushl %x\npushl %y\ncalls $2,%f" B="r%n" 1=1 A="r%n" 0=0 D="urem" */
15: /* "%0:" => ="%z:" C="%c" c=a */
16: /* "MOV %f,d,%x,r%1,(r%0)" => ="MOV %f,%t,%x,%y,%z" E="d" A="r%n" 0=1 C="(r%n)" 2=0 */
17: /* "MOV %f,b,%x,r%1,(r%0)" => ="MOV %f,%t,%x,%y,%z" E="b" A="r%n" 0=1 C="(r%n)" 2=0 */
18: /* "MOV %f,l,%x,r%1,(r%0)" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=1 C="(r%n)" 2=0 */
19: /* "MOV %f,w,%x,r%1,(r%0)" => ="MOV %f,%t,%x,%y,%z" E="w" A="r%n" 0=1 C="(r%n)" 2=0 */
20: /* "MOV %f,f,%x,r%1,(r%0)" => ="MOV %f,%t,%x,%y,%z" E="f" A="r%n" 0=1 C="(r%n)" 2=0 */
21: /* "MOV %f,l,%x,r%1,(r%0)" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=1 C="(r%n)" 2=0 */
22: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
23: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
24: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
25: /* "CALL %f,%t,$%0/4,(r%0),%z" => ="CALL %f,%t,%x,%y,%z" B="$%c/4" b=a A="(r%n)" 0=0 */
26: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
27: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
28: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
29: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
30: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
31: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
32: /* "MOV %f,l,%x,$%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" a=a C="r%c" */
33: /* "MOV %f,d,%x,(r%0),r%c" => ="MOV %f,%t,%x,%y,%z" E="d" A="(r%n)" 0=0 C="r%c" */
34: /* "MOV %f,b,%x,(r%0),r%c" => ="MOV %f,%t,%x,%y,%z" E="b" A="(r%n)" 0=0 C="r%c" */
35: /* "MOV %f,l,%x,(r%0),r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="(r%n)" 0=0 C="r%c" */
36: /* "MOV %f,w,%x,(r%0),r%c" => ="MOV %f,%t,%x,%y,%z" E="w" A="(r%n)" 0=0 C="r%c" */
37: /* "MOV %f,f,%x,(r%0),r%c" => ="MOV %f,%t,%x,%y,%z" E="f" A="(r%n)" 0=0 C="r%c" */
38: /* "MOV %f,l,%x,(r%0),r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="(r%n)" 0=0 C="r%c" */
39: /* "MOV %f,d,%x,r%0,-(sp)" => ="MOV %f,%t,%x,%y,%z" E="d" A="r%n" 0=0 C="-(sp)" */
40: /* "MOV %f,l,%x,r%0,-(sp)" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="-(sp)" */
41: /* "MOV %f,f,%x,r%0,-(sp)" => ="MOV %f,%t,%x,%y,%z" E="f" A="r%n" 0=0 C="-(sp)" */
42: /* "MOV %f,l,%x,r%0,-(sp)" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="-(sp)" */
43: /* "MOV %f,d,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="d" A="r%n" 0=0 C="r%c" */
44: /* "MOV %f,b,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="b" A="r%n" 0=0 C="r%c" */
45: /* "MOV %f,l,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="r%c" */
46: /* "MOV %f,w,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="w" A="r%n" 0=0 C="r%c" */
47: /* "MOV %f,f,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="f" A="r%n" 0=0 C="r%c" */
48: /* "MOV %f,l,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="r%c" */
49: /* "MOV %f,l,%x,r%0,r%c" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" 0=0 C="r%c" */
50: /* "MOVZ b,l,%x,r%0,r%c" => ="MOVZ %f,%t,%x,%y,%z" D="b" E="l" A="r%n" 0=0 C="r%c" */
51: /* "MOVZ w,l,%x,r%0,r%c" => ="MOVZ %f,%t,%x,%y,%z" D="w" E="l" A="r%n" 0=0 C="r%c" */
52: /* "ASH %f,l,r%1,r%0,r%c" => ="ASH %f,%t,%x,%y,%z" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
53: /* "ASH %f,l,r%1,r%0,r%c" => ="ASH %f,%t,%x,%y,%z" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
54: /* "ASH %f,l,r%1,r%0,r%c" => ="ASH %f,%t,%x,%y,%z" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
55: /* "OP2 bic,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="bic" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
56: /* "OP2 sub,d,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="sub" E="d" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
57: /* "OP2 sub,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="sub" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
58: /* "OP2 sub,f,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="sub" E="f" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
59: /* "OP2 sub,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="sub" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
60: /* "OP2 sub,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="sub" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
61: /* "OP2 mul,d,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="mul" E="d" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
62: /* "OP2 mul,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="mul" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
63: /* "OP2 mul,f,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="mul" E="f" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
64: /* "OP2 mul,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="mul" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
65: /* "OP2 xor,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="xor" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
66: /* "OP2 bis,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="bis" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
67: /* "OP2 div,d,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="div" E="d" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
68: /* "OP2 div,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="div" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
69: /* "OP2 div,f,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="div" E="f" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
70: /* "OP2 div,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="div" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
71: /* "OP2 mod,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="mod" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
72: /* "OP2 mod,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="mod" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
73: /* "OP2 add,d,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="d" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
74: /* "OP2 add,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
75: /* "OP2 add,f,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="f" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
76: /* "OP2 add,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
77: /* "OP2 add,l,r%1,r%0,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" 1=1 A="r%n" 0=0 C="r%c" */
78: /* "CMP gequ,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="gequ" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
79: /* "CMP lssu,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="lssu" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
80: /* "CMP lequ,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="lequ" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
81: /* "CMP gtru,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="gtru" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
82: /* "CMP geq,d,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="geq" E="d" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
83: /* "CMP geq,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="geq" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
84: /* "CMP geq,f,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="geq" E="f" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
85: /* "CMP geq,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="geq" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
86: /* "CMP lss,d,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="lss" E="d" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
87: /* "CMP lss,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="lss" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
88: /* "CMP lss,f,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="lss" E="f" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
89: /* "CMP lss,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="lss" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
90: /* "CMP neq,d,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="neq" E="d" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
91: /* "CMP neq,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="neq" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
92: /* "CMP neq,f,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="neq" E="f" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
93: /* "CMP eql,d,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="eql" E="d" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
94: /* "CMP eql,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="eql" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
95: /* "CMP eql,f,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="eql" E="f" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
96: /* "CMP leq,d,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="leq" E="d" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
97: /* "CMP leq,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="leq" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
98: /* "CMP leq,f,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="leq" E="f" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
99: /* "CMP leq,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="leq" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
100: /* "CMP gtr,d,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="gtr" E="d" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
101: /* "CMP gtr,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="gtr" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
102: /* "CMP gtr,f,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="gtr" E="f" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
103: /* "CMP gtr,l,r%1,r%0,%0" => ="CMP %f,%t,%x,%y,%z" D="gtr" E="l" B="r%n" 1=1 A="r%n" 0=0 C="%c" c=a */
104: /* "CVT d,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="d" E="l" A="r%n" 0=0 C="r%c" */
105: /* "CVT d,f,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="d" E="f" A="r%n" 0=0 C="r%c" */
106: /* "CVT b,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="b" E="l" A="r%n" 0=0 C="r%c" */
107: /* "CVT b,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="b" E="l" A="r%n" 0=0 C="r%c" */
108: /* "CVT l,d,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="d" A="r%n" 0=0 C="r%c" */
109: /* "CVT l,b,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="b" A="r%n" 0=0 C="r%c" */
110: /* "CVT l,w,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="w" A="r%n" 0=0 C="r%c" */
111: /* "CVT l,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="l" A="r%n" 0=0 C="r%c" */
112: /* "CVT w,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="w" E="l" A="r%n" 0=0 C="r%c" */
113: /* "CVT w,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="w" E="l" A="r%n" 0=0 C="r%c" */
114: /* "CVT f,d,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="f" E="d" A="r%n" 0=0 C="r%c" */
115: /* "CVT l,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="l" A="r%n" 0=0 C="r%c" */
116: /* "CVT l,b,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="b" A="r%n" 0=0 C="r%c" */
117: /* "CVT l,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="l" A="r%n" 0=0 C="r%c" */
118: /* "CVT l,w,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="w" A="r%n" 0=0 C="r%c" */
119: /* "CVT l,l,%x,r%0,r%c" => ="CVT %f,%t,%x,%y,%z" D="l" E="l" A="r%n" 0=0 C="r%c" */
120: /* "OP1 mneg,d,%x,r%0,r%c" => ="OP1 %f,%t,%x,%y,%z" D="mneg" E="d" A="r%n" 0=0 C="r%c" */
121: /* "OP1 mneg,l,%x,r%0,r%c" => ="OP1 %f,%t,%x,%y,%z" D="mneg" E="l" A="r%n" 0=0 C="r%c" */
122: /* "OP1 mneg,f,%x,r%0,r%c" => ="OP1 %f,%t,%x,%y,%z" D="mneg" E="f" A="r%n" 0=0 C="r%c" */
123: /* "OP1 mcom,l,%x,r%0,r%c" => ="OP1 %f,%t,%x,%y,%z" D="mcom" E="l" A="r%n" 0=0 C="r%c" */
124: /* "ASH %f,l,$1,r%n,r%c" => ="ASH %f,%t,%x,%y,%z" E="l" B="$%c" b="1" A="r%n" C="r%c" */
125: /* "MOVA %f,w,%x,0[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" E="w" A="%c[r%i]" a="0" */
126: /* "ASH %f,l,$3,r%n,r%c" => ="ASH %f,%t,%x,%y,%z" E="l" B="$%c" b="3" A="r%n" C="r%c" */
127: /* "MOVA %f,d,%x,0[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" E="d" A="%c[r%i]" a="0" */
128: /* "ASH %f,l,$2,r%n,r%c" => ="ASH %f,%t,%x,%y,%z" E="l" B="$%c" b="2" A="r%n" C="r%c" */
129: /* "MOVA %f,l,%x,0[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" E="l" A="%c[r%i]" a="0" */
130: /* "ASH %f,{t},r%n,%y,%z" => ="ASH %f,%t,%x,%y,%z" E=@TMP1026 B="r%n" */
131: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 1E=E 1A=@TMP1032 */
132: /* "ASH %f,{t},%x,r%n,%z" => ="ASH %f,%t,%x,%y,%z" E=@TMP1037 A="r%n" */
133: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 0E=E 0A=@TMP1043 */
134: /* "ASH %f,{t},%x,r%n,%z" => ="ASH %f,%t,%x,%y,%z" E=@TMP1048 A="r%n" */
135: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E=E */
136: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
137: /* "MOVA %f,%t,%x,{nox},%z" => ="MOVA %f,%t,%x,%y,%z" 0A=@TMP1063 */
138: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
139: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
140: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
141: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
142: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
143: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
144: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
145: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
146: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
147: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
148: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
149: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
150: /* "CALL %f,%t,%x,(r%n),%z" => ="CALL %f,%t,%x,%y,%z" A="(r%n)" */
151: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
152: /* "CMP %f,{t},r%n,%y,%z" => ="CMP %f,%t,%x,%y,%z" E=@TMP1138 B="r%n" */
153: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 1E=E 1A=@TMP1144 */
154: /* "CMP %f,{t},r%n,%y,%z" => ="CMP %f,%t,%x,%y,%z" E=@TMP1149 B="r%n" */
155: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 1E=E */
156: /* "CMP %f,b,r%n,%y,%z" => ="CMP %f,%t,%x,%y,%z" E="b" B="r%n" */
157: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 1D="b" 1E="l" */
158: /* "CMP %f,w,r%n,%y,%z" => ="CMP %f,%t,%x,%y,%z" E="w" B="r%n" */
159: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 1D="w" 1E="l" */
160: /* "CMP %f,{t},%x,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E=@TMP1183 A="r%n" */
161: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E=E */
162: /* "CMP %f,b,%x,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E="b" A="r%n" */
163: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="b" 0E="l" */
164: /* "CMP %f,w,%x,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E="w" A="r%n" */
165: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="w" 0E="l" */
166: /* "CVT %f,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" A="r%n" */
167: /* "CVT b,%t,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="b" */
168: /* "CVT b,%t,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="b" */
169: /* "CVT %f,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" A="r%n" */
170: /* "CVT w,{l|f|d},%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="w" 0E=@TMP1238 */
171: /* "CVT w,%t,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="w" */
172: /* "CVT %f,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" A="r%n" */
173: /* "CVT {l|f},d,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D=@TMP1253 0E="d" */
174: /* "CVT ?1,%t,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D=0D */
175: /* "CVT l,w,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="l" E="w" A="r%n" */
176: /* "MOVZ b,l,%x,{noxrc},%z" => ="MOVZ %f,%t,%x,%y,%z" 0D="b" 0E="l" 0A=@TMP1272 */
177: /* "MOVZ b,%t,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="b" */
178: /* "CVT l,{b|w},%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="l" E=@TMP1283 A="r%n" */
179: /* "MOVZ %f,l,%x,{noxrc},%z" => ="MOVZ %f,%t,%x,%y,%z" 0E="l" 0A=@TMP1290 */
180: /* "CVT d,d,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="d" E="d" */
181: /* "CVT l,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="l" E="l" */
182: /* "CVT b,b,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="b" E="b" */
183: /* "CVT f,f,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="f" E="f" */
184: /* "CVT w,w,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D="w" E="w" */
185: /* "CVT l,{b|w},%x,{noxrc},%z" => ="CVT %f,%t,%x,%y,%z" D="l" E=@TMP1326 A=@TMP1327 */
186: /* "CVT w,b,%x,{noxrc},%z" => ="CVT %f,%t,%x,%y,%z" D="w" E="b" A=@TMP1334 */
187: /* "CVT %f,{t},%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" E=@TMP1339 A="r%n" */
188: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 0E=E 0A=@TMP1345 */
189: /* "CVT d,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="d" A="r%n" */
190: /* "MOV %f,d,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="d" */
191: /* "CVT l,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="l" A="r%n" */
192: /* "MOV %f,l,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="l" */
193: /* "CVT b,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="b" A="r%n" */
194: /* "MOV %f,b,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="b" */
195: /* "CVT f,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="f" A="r%n" */
196: /* "MOV %f,f,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="f" */
197: /* "CVT w,%t,%x,r%n,%z" => ="CVT %f,%t,%x,%y,%z" D="w" A="r%n" */
198: /* "MOV %f,w,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="w" */
199: /* "EXT %f,{t},r%n,%y,%z" => ="EXT %f,%t,%x,%y,%z" E=@TMP1405 B="r%n" */
200: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 1E=E 1A=@TMP1411 */
201: /* "EXT %f,{t},r%n,%y,%z" => ="EXT %f,%t,%x,%y,%z" E=@TMP1416 B="r%n" */
202: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 1E=E */
203: /* "jmp (r%n)" => ="jmp %z" C="(r%n)" */
204: /* "MOV %f,l,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 2E="l" 2A="$%c" */
205: /* "jbr %c" => ="jbr %z" C="%c" */
206: /* "MOV %f,%t,%x,%y,{"%c(ap)"|"%c(fp)"}" => ="MOV %f,%t,%x,%y,%z" C=@TMP1444 */
207: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
208: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 2A="(r%n)" */
209: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
210: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 2A="%c(fp)" */
211: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
212: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 2A="r%n" */
213: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
214: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 2A="$%c" */
215: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
216: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 2A="%c" */
217: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
218: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 2A="%c(r%n)" */
219: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
220: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 2A="%c(ap)" */
221: /* "MOV %f,%t,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" C="(r%n)" */
222: /* "MOVA %f,%t,%x,{nox},%z" => ="MOVA %f,%t,%x,%y,%z" 2A=@TMP1524 */
223: /* "MOV %f,{t},%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" E=@TMP1529 C="(r%n)" */
224: /* "MOVA %f,?1,%x,{nox"[r%i]"},%z" => ="MOVA %f,%t,%x,%y,%z" 2E=E 2A=@TMP1535 */
225: /* "MOV %f,{t},%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" E=@TMP1540 C="(r%n)" */
226: /* "MOVA %f,?1,%x,%y,%z" => ="MOVA %f,%t,%x,%y,%z" 2E=E */
227: /* "MOV %f,f,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" E="f" C="(r%n)" */
228: /* "MOVA %f,l,%x,%y,%z" => ="MOVA %f,%t,%x,%y,%z" 2E="l" */
229: /* "MOV %f,f,%x,%y,(r%n)" => ="MOV %f,%t,%x,%y,%z" E="f" C="(r%n)" */
230: /* "MOVA %f,l,%x,{nox"[r%i]"},%z" => ="MOVA %f,%t,%x,%y,%z" 2E="l" 2A=@TMP1568 */
231: /* "MOV %f,%t,%x,{"%c(ap)"|"%c(fp)"},%z" => ="MOV %f,%t,%x,%y,%z" A=@TMP1573 */
232: /* "MOV %f,%t,%x,r%c,r%c" => ="MOV %f,%t,%x,%y,%z" A="r%c" C="r%c" */
233: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
234: /* "MOVA %f,%t,%x,{nox},%z" => ="MOVA %f,%t,%x,%y,%z" 0A=@TMP1589 */
235: /* "MOV %f,{t},%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1594 A="(r%n)" */
236: /* "MOVA %f,?1,%x,{nox"[r%i]"},%z" => ="MOVA %f,%t,%x,%y,%z" 0E=E 0A=@TMP1600 */
237: /* "MOV %f,{t},%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1605 A="(r%n)" */
238: /* "MOVA %f,?1,%x,%y,%z" => ="MOVA %f,%t,%x,%y,%z" 0E=E */
239: /* "MOV %f,f,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" E="f" A="(r%n)" */
240: /* "MOVA %f,l,%x,%y,%z" => ="MOVA %f,%t,%x,%y,%z" 0E="l" */
241: /* "MOV %f,f,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" E="f" A="(r%n)" */
242: /* "MOVA %f,l,%x,{nox"[r%i]"},%z" => ="MOVA %f,%t,%x,%y,%z" 0E="l" 0A=@TMP1633 */
243: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
244: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
245: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
246: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
247: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
248: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
249: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
250: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
251: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
252: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
253: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
254: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
255: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" A="(r%n)" */
256: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
257: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" A="r%n" */
258: /* "MOV %f,%t,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 0A=@TMP1713 */
259: /* "MOV %f,l,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E="l" A="r%n" */
260: /* "MOVA %f,{t},%x,%y,%z" => ="MOVA %f,%t,%x,%y,%z" 0E=@TMP1724 */
261: /* "MOVA %f,?1,%x,%y,%z" => ="MOVA %f,%t,%x,%y,%z" E=0E */
262: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1733 A="r%n" */
263: /* "MOV {f},?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0D=@TMP1739 0E=E */
264: /* "MOV ?2,%t,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" D=0D */
265: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1748 A="r%n" */
266: /* "MOVZ {f},?1,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" 0D=@TMP1754 0E=E */
267: /* "MOVZ ?2,%t,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D=0D */
268: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1763 A="r%n" */
269: /* "OP1 {f},?1,%x,%y,%z" => ="OP1 %f,%t,%x,%y,%z" 0D=@TMP1769 0E=E */
270: /* "OP1 ?2,%t,%x,%y,%z" => ="OP1 %f,%t,%x,%y,%z" D=0D */
271: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1778 A="r%n" */
272: /* "CVT {f},?1,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D=@TMP1784 0E=E */
273: /* "CVT ?2,%t,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D=0D */
274: /* "MOV %f,{b|w},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1793 A="r%n" */
275: /* "MOV {f},l,%x,{noxrc},%z" => ="MOV %f,%t,%x,%y,%z" 0D=@TMP1799 0E="l" 0A=@TMP1801 */
276: /* "MOV ?2,%t,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" D=0D */
277: /* "MOV %f,{b|w},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1810 A="r%n" */
278: /* "MOVZ {f},l,%x,{noxrc},%z" => ="MOVZ %f,%t,%x,%y,%z" 0D=@TMP1816 0E="l" 0A=@TMP1818 */
279: /* "MOVZ ?2,%t,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D=0D */
280: /* "MOV %f,{b|w},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1827 A="r%n" */
281: /* "OP1 {f},l,%x,{noxrc},%z" => ="OP1 %f,%t,%x,%y,%z" 0D=@TMP1833 0E="l" 0A=@TMP1835 */
282: /* "OP1 ?2,%t,%x,%y,%z" => ="OP1 %f,%t,%x,%y,%z" D=0D */
283: /* "MOV %f,{b|w},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1844 A="r%n" */
284: /* "CVT {f},l,%x,{noxrc},%z" => ="CVT %f,%t,%x,%y,%z" 0D=@TMP1850 0E="l" 0A=@TMP1852 */
285: /* "CVT ?2,%t,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" D=0D */
286: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1861 A="r%n" */
287: /* "ASH %f,?1,%x,%y,%z" => ="ASH %f,%t,%x,%y,%z" 0E=E */
288: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1871 A="r%n" */
289: /* "EXT %f,?1,%x,%y,%z" => ="EXT %f,%t,%x,%y,%z" 0E=E */
290: /* "MOV %f,{t},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1881 A="r%n" */
291: /* "OP2 {f},?1,%x,%y,%z" => ="OP2 %f,%t,%x,%y,%z" 0D=@TMP1887 0E=E */
292: /* "OP2 ?2,%t,%x,%y,%z" => ="OP2 %f,%t,%x,%y,%z" D=0D */
293: /* "MOV %f,{b|w},%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" E=@TMP1896 A="r%n" */
294: /* "OP2 {add|bic|bis|mul|sub|xor},l,{noxrc},{noxrc},%z" => ="OP2 %f,%t,%x,%y,%z" 0D=@TMP1902 0E="l" 0B=@TMP1904 0A=@TMP1905 */
295: /* "OP2 ?2,%t,%x,%y,%z" => ="OP2 %f,%t,%x,%y,%z" D=0D */
296: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" A="r%n" */
297: /* "MOVZ %f,%t,%x,{noxrc},%z" => ="MOVZ %f,%t,%x,%y,%z" 0A=@TMP1919 */
298: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" A="r%n" */
299: /* "CVT %f,%t,%x,{noxrc},%z" => ="CVT %f,%t,%x,%y,%z" 0A=@TMP1929 */
300: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" A="r%n" */
301: /* "MOV %f,l,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0E="l" 0A="r%n" */
302: /* "MOVA %f,%t,%x,%c,r%c" => ="MOVA %f,%t,%x,%y,%z" A="%c" C="r%c" */
303: /* "MOV %f,l,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" E="l" A="$%c" */
304: /* "MOVA %f,%t,%x,0(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)" a="0" */
305: /* "MOVA %f,%t,%x,0(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)[r%i]" a="0" */
306: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
307: /* "MOVA %f,%t,%x,*%c,%z" => ="MOVA %f,%t,%x,%y,%z" 0A="*%c" */
308: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
309: /* "MOVA %f,%t,%x,*%c(fp),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="*%c(fp)" */
310: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
311: /* "MOVA %f,%t,%x,*%c(ap),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="*%c(ap)" */
312: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
313: /* "MOVA %f,%t,%x,*%c(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="*%c(r%n)" */
314: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
315: /* "MOVA %f,%t,%x,%c(ap),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="%c(ap)" */
316: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
317: /* "MOVA %f,%t,%x,%c(fp),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="%c(fp)" */
318: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
319: /* "MOVA %f,%t,%x,%c(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="%c(r%n)" */
320: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
321: /* "MOVA %f,%t,%x,*(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="*(r%n)" */
322: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
323: /* "MOVA %f,%t,%x,*$%c,%z" => ="MOVA %f,%t,%x,%y,%z" 0A="*$%c" */
324: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
325: /* "MOVA %f,%t,%x,%c,%z" => ="MOVA %f,%t,%x,%y,%z" 0A="%c" */
326: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
327: /* "MOVA %f,%t,%x,(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" 0A="(r%n)" */
328: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
329: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
330: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
331: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
332: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
333: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
334: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
335: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
336: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
337: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
338: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
339: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
340: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
341: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
342: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
343: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
344: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
345: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
346: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
347: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
348: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
349: /* "MOV %f,%t,%x,(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="(r%n)" */
350: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
351: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
352: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
353: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
354: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
355: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
356: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
357: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
358: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
359: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
360: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
361: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
362: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
363: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
364: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
365: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
366: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
367: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
368: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
369: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
370: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
371: /* "MOV %f,%t,%x,%c(fp),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(fp)" */
372: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
373: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
374: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
375: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
376: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
377: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
378: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
379: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
380: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
381: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
382: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
383: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
384: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
385: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
386: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
387: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
388: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
389: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
390: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
391: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
392: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
393: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" 0A="r%n" */
394: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
395: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
396: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
397: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
398: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
399: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
400: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
401: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
402: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
403: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
404: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
405: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
406: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
407: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
408: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
409: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
410: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
411: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
412: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
413: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
414: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
415: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
416: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
417: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
418: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
419: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
420: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
421: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
422: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
423: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
424: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
425: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
426: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
427: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
428: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
429: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
430: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
431: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
432: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
433: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
434: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
435: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
436: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
437: /* "MOV %f,%t,%x,%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c" */
438: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
439: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
440: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
441: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
442: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
443: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
444: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
445: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
446: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
447: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
448: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
449: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
450: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
451: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
452: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
453: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
454: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
455: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
456: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
457: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
458: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
459: /* "MOV %f,%t,%x,%c(r%n),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(r%n)" */
460: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
461: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
462: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
463: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
464: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
465: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
466: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
467: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
468: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
469: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
470: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
471: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
472: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
473: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
474: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
475: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
476: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
477: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
478: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
479: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
480: /* "MOVA %f,%t,%x,(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="(r%n)[r%i]" */
481: /* "MOV %f,%t,%x,%c(ap),%z" => ="MOV %f,%t,%x,%y,%z" 0A="%c(ap)" */
482: /* "MOVZ d,d,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="d" E="d" */
483: /* "MOVZ l,l,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="l" E="l" */
484: /* "MOVZ b,b,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="b" E="b" */
485: /* "MOVZ f,f,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="f" E="f" */
486: /* "MOVZ w,w,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="w" E="w" */
487: /* "MOVZ w,b,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="w" E="b" */
488: /* "MOVZ l,{b|w},%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="l" E=@TMP2884 */
489: /* "MOVZ d,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" D="d" A="r%n" */
490: /* "MOV %f,d,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="d" */
491: /* "MOVZ l,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" D="l" A="r%n" */
492: /* "MOV %f,l,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="l" */
493: /* "MOVZ b,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" D="b" A="r%n" */
494: /* "MOV %f,b,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="b" */
495: /* "MOVZ f,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" D="f" A="r%n" */
496: /* "MOV %f,f,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="f" */
497: /* "MOVZ w,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" D="w" A="r%n" */
498: /* "MOV %f,w,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E="w" */
499: /* "MOVZ %f,{t},%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" E=@TMP2944 A="r%n" */
500: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 0E=E 0A=@TMP2950 */
501: /* "MOVZ %f,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" A="r%n" */
502: /* "MOVZ b,%t,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" 0D="b" */
503: /* "MOVZ b,%t,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="b" */
504: /* "MOVZ %f,%t,%x,r%n,%z" => ="MOVZ %f,%t,%x,%y,%z" A="r%n" */
505: /* "MOVZ w,l,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" 0D="w" 0E="l" */
506: /* "MOVZ w,%t,%x,%y,%z" => ="MOVZ %f,%t,%x,%y,%z" D="w" */
507: /* "OP1 %f,{t},%x,r%n,%z" => ="OP1 %f,%t,%x,%y,%z" E=@TMP2986 A="r%n" */
508: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 0E=E 0A=@TMP2992 */
509: /* "OP1 %f,{t},%x,r%n,%z" => ="OP1 %f,%t,%x,%y,%z" E=@TMP2997 A="r%n" */
510: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E=E */
511: /* "OP2 {div|mod|mul},%t,%x,%y,%z" => ="OP2 %f,%t,%x,%y,%z" D=@TMP3007 */
512: /* "OP2 add,l,r%n,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" C="r%c" */
513: /* "MOVA %f,%t,%x,%c[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" 0A="%c[r%i]" */
514: /* "MOVA %f,%t,%x,%c(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)[r%i]" */
515: /* "OP2 add,l,r%n,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" C="r%c" */
516: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 0A="$%c" */
517: /* "MOVA %f,%t,%x,%c(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)" */
518: /* "OP2 add,l,r%n,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" C="r%c" */
519: /* "MOVA %f,%t,%x,%c,%z" => ="MOVA %f,%t,%x,%y,%z" 0A="%c" */
520: /* "MOVA %f,%t,%x,%c(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)" */
521: /* "OP2 add,l,r%n,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" C="r%c" */
522: /* "MOVA %f,%t,%x,%c[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" 1A="%c[r%i]" */
523: /* "MOVA %f,%t,%x,%c(r%n)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)[r%i]" */
524: /* "OP2 add,l,r%n,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" C="r%c" */
525: /* "MOV %f,%t,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" 1A="$%c" */
526: /* "MOVA %f,%t,%x,%c(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)" */
527: /* "OP2 add,l,r%n,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" C="r%c" */
528: /* "MOVA %f,%t,%x,%c,%z" => ="MOVA %f,%t,%x,%y,%z" 1A="%c" */
529: /* "MOVA %f,%t,%x,%c(r%n),%z" => ="MOVA %f,%t,%x,%y,%z" A="%c(r%n)" */
530: /* "OP2 add,l,r%n,r%n,%z" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="r%n" A="r%n" */
531: /* "MOVA %f,%t,%x,%c(fp),%z" => ="MOVA %f,%t,%x,%y,%z" 1A="%c(fp)" */
532: /* "MOVA %f,b,%x,%c(fp)[r%i],%z" => ="MOVA %f,%t,%x,%y,%z" E="b" A="%c(fp)[r%i]" */
533: /* "OP2 %f,{t},r%n,%y,%z" => ="OP2 %f,%t,%x,%y,%z" E=@TMP3145 B="r%n" */
534: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 1E=E 1A=@TMP3151 */
535: /* "OP2 %f,{t},r%n,%y,%z" => ="OP2 %f,%t,%x,%y,%z" E=@TMP3156 B="r%n" */
536: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 1E=E */
537: /* "OP2 %f,b,r%n,%y,%z" => ="OP2 %f,%t,%x,%y,%z" E="b" B="r%n" */
538: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 1D="b" 1E="l" */
539: /* "OP2 %f,w,r%n,%y,%z" => ="OP2 %f,%t,%x,%y,%z" E="w" B="r%n" */
540: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 1D="w" 1E="l" */
541: /* "OP2 %f,{t},%x,r%n,%z" => ="OP2 %f,%t,%x,%y,%z" E=@TMP3190 A="r%n" */
542: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 0E=E 0A=@TMP3196 */
543: /* "OP2 %f,{t},%x,r%n,%z" => ="OP2 %f,%t,%x,%y,%z" E=@TMP3201 A="r%n" */
544: /* "MOV %f,?1,%x,%y,%z" => ="MOV %f,%t,%x,%y,%z" 0E=E */
545: /* "OP2 %f,b,%x,r%n,%z" => ="OP2 %f,%t,%x,%y,%z" E="b" A="r%n" */
546: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="b" 0E="l" */
547: /* "OP2 %f,w,%x,r%n,%z" => ="OP2 %f,%t,%x,%y,%z" E="w" A="r%n" */
548: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="w" 0E="l" */
549: /* "OP2 add,l,$4,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="$%c" b="4" A="r%n" C="r%c" */
550: /* "MOV %f,l,%x,r%c,%z" => ="MOV %f,%t,%x,%y,%z" 0E="l" 0A="r%c" */
551: /* "OP2 add,l,$2,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="$%c" b="2" A="r%n" C="r%c" */
552: /* "MOV %f,l,%x,r%c,%z" => ="MOV %f,%t,%x,%y,%z" 0E="l" 0A="r%c" */
553: /* "OP2 add,l,$1,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="$%c" b="1" A="r%n" C="r%c" */
554: /* "MOV %f,l,%x,r%c,%z" => ="MOV %f,%t,%x,%y,%z" 0E="l" 0A="r%c" */
555: /* "OP2K %f,{t},r%n,%y,%z" => ="OP2K %f,%t,%x,%y,%z" E=@TMP3280 B="r%n" */
556: /* "MOV %f,?1,%x,{lit},%z" => ="MOV %f,%t,%x,%y,%z" 1E=E 1A=@TMP3286 */
557: /* "CMP %f,b,$%c,%y,%z" => ="CMP %f,%t,%x,%y,%z" E="b" B="$%c" */
558: /* "CMP %f,w,$%c,%y,%z" => ="CMP %f,%t,%x,%y,%z" E="w" B="$%c" */
559: /* "OP2 %f,b,$%c,%y,%z" => ="OP2 %f,%t,%x,%y,%z" E="b" B="$%c" */
560: /* "OP2 %f,w,$%c,%y,%z" => ="OP2 %f,%t,%x,%y,%z" E="w" B="$%c" */
561: /* "MOV %f,b,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" E="b" A="$%c" */
562: /* "MOV %f,w,%x,$%c,%z" => ="MOV %f,%t,%x,%y,%z" E="w" A="$%c" */
563: /* "MOVZ %f,b,%x,$%c,%z" => ="MOVZ %f,%t,%x,%y,%z" E="b" A="$%c" */
564: /* "MOVZ %f,w,%x,$%c,%z" => ="MOVZ %f,%t,%x,%y,%z" E="w" A="$%c" */
565: /* "CMP %f,b,%x,$%c,%z" => ="CMP %f,%t,%x,%y,%z" E="b" A="$%c" */
566: /* "CMP %f,w,%x,$%c,%z" => ="CMP %f,%t,%x,%y,%z" E="w" A="$%c" */
567: /* "OP1 %f,b,%x,$%c,%z" => ="OP1 %f,%t,%x,%y,%z" E="b" A="$%c" */
568: /* "OP1 %f,w,%x,$%c,%z" => ="OP1 %f,%t,%x,%y,%z" E="w" A="$%c" */
569: /* "CVT %f,b,%x,$%c,%z" => ="CVT %f,%t,%x,%y,%z" E="b" A="$%c" */
570: /* "CVT %f,w,%x,$%c,%z" => ="CVT %f,%t,%x,%y,%z" E="w" A="$%c" */
571: /* "OP2 %f,b,%x,$%c,%z" => ="OP2 %f,%t,%x,%y,%z" E="b" A="$%c" */
572: /* "OP2 %f,w,%x,$%c,%z" => ="OP2 %f,%t,%x,%y,%z" E="w" A="$%c" */
573: /* "CMP %f,l,$%c,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E="l" B="$%c" A="r%n" */
574: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="b" 0E="l" */
575: /* "CMP %f,l,$%c,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E="l" B="$%c" A="r%n" */
576: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="w" 0E="l" */
577: /* "CMP %f,l,r%n,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E="l" B="r%n" A="r%n" */
578: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="b" 0E="l" */
579: /* "CVT b,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 1D="b" 1E="l" */
580: /* "CMP %f,l,r%n,r%n,%z" => ="CMP %f,%t,%x,%y,%z" E="l" B="r%n" A="r%n" */
581: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 0D="w" 0E="l" */
582: /* "CVT w,l,%x,%y,%z" => ="CVT %f,%t,%x,%y,%z" 1D="w" 1E="l" */
583: /* "CMP %f,%t,$0,r%n,%z" => ="CMP %f,%t,%x,%y,%z" B="$%c" b="0" A="r%n" */
584: /* "MOV %f,%t,%x,r%n,%z" => ="MOV %f,%t,%x,%y,%z" $A="r%n" */
585: /* "CMP %f,%t,$0,%y,%z" => ="CMP %f,%t,%x,%y,%z" B="$%c" b="0" */
586: /* "EXT %f,%t,$%c,%y,%z" => ="EXT %f,%t,%x,%y,%z" B="$%c" */
587: /* "extzv $%c,$32-%c,%y,%z" => ="extzv %x,%y,%z" B="$%c,$32-%c" */
588: /* "MOV %f,%t,%x,$0,%z" => ="MOV %f,%t,%x,%y,%z" A="$%c" a="0" */
589: /* "MOV %f,l,%x,%y,-(sp)" => ="MOV %f,%t,%x,%y,%z" E="l" C="-(sp)" */
590: /* "MOVA %f,%t,%x,%y,-(sp)" => ="MOVA %f,%t,%x,%y,%z" C="-(sp)" */
591: /* "OP2 add,l,$%c,r%n,-(sp)" => ="OP2 %f,%t,%x,%y,%z" D="add" E="l" B="$%c" A="r%n" C="-(sp)" */
592: /* "pusha%t %c(r%n)" => ="pusha%t %y" A="%c(r%n)" */
593: /* "OP2 mod,%t,%x,%y,%z" => ="OP2 %f,%t,%x,%y,%z" D="mod" */
594: /* "OP2 {add|sub},l,$%c,r%n,%z" => ="OP2 %f,%t,%x,%y,%z" D=@TMP3513 E="l" B="$%c" A="r%n" */
595: /* "movl %y,%z" => ="mov%t %y,%z" $E="l" */
596: /* "OP2 %f,%t,%x,r%n,r%c" => ="OP2 %f,%t,%x,%y,%z" A="r%n" C="r%c" */
597: /* "OP2 {add|bis|xor|mul},%t,%x,%y,%z" => ="OP2 %f,%t,%x,%y,%z" D=@TMP3532 */
598: /* "OP2 {add|bis|xor|mul},%t,r%n,%y,r%c" => ="OP2 %f,%t,%x,%y,%z" D=@TMP3537 B="r%n" C="r%c" */
599: /* "add%t2 $-1,%z" => ="%f%t2 %x,%z" D="add" B="$%c" b="-1" */
600: /* "sub%t2 $1,%z" => ="%f%t2 %x,%z" D="sub" B="$%c" b="1" */
601: /* "sub%t2 $1,%z" => ="%f%t2 %x,%z" D="sub" B="$%c" b="1" */
602: /* "dec%t %z" => ="%f%t %z" D="dec" */
603: /* "add%t2 $1,%z" => ="%f%t2 %x,%z" D="add" B="$%c" b="1" */
604: /* "inc%t %z" => ="%f%t %z" D="inc" */
605: /* "movx %y,%z" => ="mov%t %y,%z" E="x" */
606: /* "movx %y,%z" => ="mov%t %y,%z" E="x" */
607: /* "movx %y,-(sp)" => ="mov%t %y,%z" E="x" C="-(sp)" */
608: /* "subl2 $(%c+3)&-4,sp\nmovc3 $%c,%y,(sp)" => ="subl2 %x,sp\nmovc3 %z,%y,(sp)" B="$(%c+3)&-4" C="$%c" */
609: /* "movx %y,%z" => ="mov%t %y,%z" E="x" */
610: /* "movc3 $%c,%y,%z" => ="movc3 %x,%y,%z" B="$%c" */
611: /* "mov%t r%n,r%c" => ="mov%t %y,%z" A="r%n" C="r%c" */
612: /* "tst%t r%n\nj%f %z" => ="tst%t %y\nj%f %z" A="r%n" */
613: #include "pseudos.c"
614:
615: static char *shortopcodes[] = {
616: /* 608 */ "subl3 %x,$32,r0\nextzv %x,r0,%y,%z",
617: /* 609 */ "calls %x,%y",
618: /* 610 */ "pushl %x\npushl %y\ncalls $2,%f",
619: /* 611 */ "movc3 %x,%y,%z",
620: /* 612 */ "subl2 %x,sp\nmovc3 %z,%y,(sp)",
621: /* 613 */ "%f%t %y,%z",
622: /* 614 */ "%f%t %z",
623: /* 615 */ "%f%t2 %x,%z",
624: /* 616 */ "%f%t3 %x,%y,%z",
625: /* 617 */ "ash%t %x,%y,%z",
626: /* 618 */ "clr%t %z",
627: /* 619 */ "cmp%t %y,%x\nj%f %z",
628: /* 620 */ "cvt%f%t %y,%z",
629: /* 621 */ "div%t3 %x,%y,-(sp)\nmul%t2 %x,(sp)\nsub%t3 (sp)+,%y,%z",
630: /* 622 */ "extzv %x,%y,%z",
631: /* 623 */ "mov%t %y,%z",
632: /* 624 */ "mova%t %y,%z",
633: /* 625 */ "movz%f%t %y,%z",
634: /* 626 */ "pusha%t %y",
635: /* 627 */ "pushl %y",
636: /* 628 */ "tst%t %y\nj%f %z",
637: /* 629 */ "bit%t %y,%x\nj%f %z",
638: /* 630 */ "ASH %f,%t,%x,%y,%z",
639: /* 631 */ "BIT %f,%t,%x,%y,%z",
640: /* 632 */ "CALL %f,%t,%x,%y,%z",
641: /* 633 */ "CMP %f,%t,%x,%y,%z",
642: /* 634 */ "CVT %f,%t,%x,%y,%z",
643: /* 635 */ "EXT %f,%t,%x,%y,%z",
644: /* 636 */ "MOV %f,%t,%x,%y,%z",
645: /* 637 */ "MOVA %f,%t,%x,%y,%z",
646: /* 638 */ "MOVZ %f,%t,%x,%y,%z",
647: /* 639 */ "OP1 %f,%t,%x,%y,%z",
648: /* 640 */ "OP2 %f,%t,%x,%y,%z",
649: /* 641 */ "OP2K %f,%t,%x,%y,%z",
650: /* 642 */ "j%f %z",
651: /* 643 */ "jbr %z",
652: /* 644 */ "jmp %z",
653: /* 645 */ "ret",
654: /* 646 */ "# label",
655: /* 647 */ "# nop",
656: /* 648 */ "%z:",
657: };
658:
659: static char *asmstr0[] = {
660: "(DUMMY)",
661: "*%c(ap)",
662: "*%c(fp)",
663: "*%c(r%n)",
664: "*(r%n)",
665: "*%c",
666: "%c(ap)",
667: "%c(fp)",
668: "%c(r%n)",
669: "(r%n)",
670: "%c",
671: "*$%c",
672: "r%n",
673: "r%c",
674: "$%c",
675: "*%c(ap)[r%i]",
676: "*%c(fp)[r%i]",
677: "*%c(r%n)[r%i]",
678: "*(r%n)[r%i]",
679: "*%c[r%i]",
680: "%c(ap)[r%i]",
681: "%c(fp)[r%i]",
682: "%c(r%n)[r%i]",
683: "(r%n)[r%i]",
684: "%c[r%i]",
685: "*$%c[r%i]",
686: "(r%c)+",
687: "(sp)",
688: "-(sp)",
689: "$%c/4",
690: "$%c,$32-%c",
691: "$(%c+3)&-4",
692: };
693:
694: static char *asmstr3[] = {
695: "(DUMMY)",
696: "eqlu",
697: "eql",
698: "gequ",
699: "geq",
700: "gtru",
701: "gtr",
702: "lequ",
703: "leq",
704: "lssu",
705: "lss",
706: "nequ",
707: "neq",
708: "b",
709: "w",
710: "l",
711: "f",
712: "d",
713: "add",
714: "bic",
715: "bis",
716: "div",
717: "mod",
718: "mul",
719: "sub",
720: "xor",
721: "dec",
722: "inc",
723: "mcom",
724: "mneg",
725: "udiv",
726: "urem",
727: };
728:
729: static char *asmstr4[] = {
730: "(DUMMY)",
731: "b",
732: "w",
733: "l",
734: "f",
735: "d",
736: "x",
737: "q",
738: };
739:
740: static struct symbol sym[] = {
741: {{"(DUMMY)"}},
742: {{"0"}},
743: {{"1"}},
744: {{"2"}},
745: {{"3"}},
746: {{"4"}},
747: {{"8"}},
748: {{"-1"}},
749: };
750:
751: dclproto(static void rewrite,(Node));
752:
753: dclproto(static void emit,(Node));
754:
755: static void initgen() {
756: opcodes = shortopcodes-608;
757: IR->x.rewrite = rewrite;
758: IR->emit = emit;
759: asmstr[0] = asmstr0;
760: asmstr[1] = asmstr0;
761: asmstr[2] = asmstr0;
762: asmstr[3] = asmstr3;
763: asmstr[4] = asmstr4;
764: sym[1].x.name = string("0");
765: sym[2].x.name = string("1");
766: sym[3].x.name = string("2");
767: sym[4].x.name = string("3");
768: sym[5].x.name = string("4");
769: sym[6].x.name = string("8");
770: sym[7].x.name = string("-1");
771: }
772:
773: dclproto(static char *emit0,(char *, Node, int));
774: static char *emit0(rbp, a, n)
775: register char *rbp;
776: register Node a;
777: register int n;
778: {
779: register char *cp;
780:
781: assert(a->x.ints[n]);
782: switch (a->x.ints[n]) {
783: case 0: /* (DUMMY) */
784: *rbp++ = '(';
785: *rbp++ = 'D';
786: *rbp++ = 'U';
787: *rbp++ = 'M';
788: *rbp++ = 'M';
789: *rbp++ = 'Y';
790: *rbp++ = ')';
791: return rbp;
792: case 1: /* *%c(ap) */
793: *rbp++ = '*';
794: assert(a->syms[n+0]);
795: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
796: *rbp++ = '(';
797: *rbp++ = 'a';
798: *rbp++ = 'p';
799: *rbp++ = ')';
800: return rbp;
801: case 2: /* *%c(fp) */
802: *rbp++ = '*';
803: assert(a->syms[n+0]);
804: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
805: *rbp++ = '(';
806: *rbp++ = 'f';
807: *rbp++ = 'p';
808: *rbp++ = ')';
809: return rbp;
810: case 3: /* *%c(r%n) */
811: *rbp++ = '*';
812: assert(a->syms[n+0]);
813: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
814: *rbp++ = '(';
815: *rbp++ = 'r';
816: assert(a->kids[n+0]);
817: assert(a->kids[n+0]->x.registered);
818: assert(a->kids[n+0]->syms[RX]);
819: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
820: *rbp++ = ')';
821: return rbp;
822: case 4: /* *(r%n) */
823: *rbp++ = '*';
824: *rbp++ = '(';
825: *rbp++ = 'r';
826: assert(a->kids[n+0]);
827: assert(a->kids[n+0]->x.registered);
828: assert(a->kids[n+0]->syms[RX]);
829: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
830: *rbp++ = ')';
831: return rbp;
832: case 5: /* *%c */
833: *rbp++ = '*';
834: assert(a->syms[n+0]);
835: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
836: return rbp;
837: case 6: /* %c(ap) */
838: assert(a->syms[n+0]);
839: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
840: *rbp++ = '(';
841: *rbp++ = 'a';
842: *rbp++ = 'p';
843: *rbp++ = ')';
844: return rbp;
845: case 7: /* %c(fp) */
846: assert(a->syms[n+0]);
847: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
848: *rbp++ = '(';
849: *rbp++ = 'f';
850: *rbp++ = 'p';
851: *rbp++ = ')';
852: return rbp;
853: case 8: /* %c(r%n) */
854: assert(a->syms[n+0]);
855: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
856: *rbp++ = '(';
857: *rbp++ = 'r';
858: assert(a->kids[n+0]);
859: assert(a->kids[n+0]->x.registered);
860: assert(a->kids[n+0]->syms[RX]);
861: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
862: *rbp++ = ')';
863: return rbp;
864: case 9: /* (r%n) */
865: *rbp++ = '(';
866: *rbp++ = 'r';
867: assert(a->kids[n+0]);
868: assert(a->kids[n+0]->x.registered);
869: assert(a->kids[n+0]->syms[RX]);
870: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
871: *rbp++ = ')';
872: return rbp;
873: case 10: /* %c */
874: assert(a->syms[n+0]);
875: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
876: return rbp;
877: case 11: /* *$%c */
878: *rbp++ = '*';
879: *rbp++ = '$';
880: assert(a->syms[n+0]);
881: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
882: return rbp;
883: case 12: /* r%n */
884: *rbp++ = 'r';
885: assert(a->kids[n+0]);
886: assert(a->kids[n+0]->x.registered);
887: assert(a->kids[n+0]->syms[RX]);
888: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
889: return rbp;
890: case 13: /* r%c */
891: *rbp++ = 'r';
892: assert(a->syms[n+0]);
893: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
894: return rbp;
895: case 14: /* $%c */
896: *rbp++ = '$';
897: assert(a->syms[n+0]);
898: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
899: return rbp;
900: case 15: /* *%c(ap)[r%i] */
901: *rbp++ = '*';
902: assert(a->syms[n+0]);
903: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
904: *rbp++ = '(';
905: *rbp++ = 'a';
906: *rbp++ = 'p';
907: *rbp++ = ')';
908: *rbp++ = '[';
909: *rbp++ = 'r';
910: assert(a->kids[n+3]);
911: assert(a->kids[n+3]->x.registered);
912: assert(a->kids[n+3]->syms[RX]);
913: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
914: *rbp++ = ']';
915: return rbp;
916: case 16: /* *%c(fp)[r%i] */
917: *rbp++ = '*';
918: assert(a->syms[n+0]);
919: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
920: *rbp++ = '(';
921: *rbp++ = 'f';
922: *rbp++ = 'p';
923: *rbp++ = ')';
924: *rbp++ = '[';
925: *rbp++ = 'r';
926: assert(a->kids[n+3]);
927: assert(a->kids[n+3]->x.registered);
928: assert(a->kids[n+3]->syms[RX]);
929: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
930: *rbp++ = ']';
931: return rbp;
932: case 17: /* *%c(r%n)[r%i] */
933: *rbp++ = '*';
934: assert(a->syms[n+0]);
935: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
936: *rbp++ = '(';
937: *rbp++ = 'r';
938: assert(a->kids[n+0]);
939: assert(a->kids[n+0]->x.registered);
940: assert(a->kids[n+0]->syms[RX]);
941: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
942: *rbp++ = ')';
943: *rbp++ = '[';
944: *rbp++ = 'r';
945: assert(a->kids[n+3]);
946: assert(a->kids[n+3]->x.registered);
947: assert(a->kids[n+3]->syms[RX]);
948: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
949: *rbp++ = ']';
950: return rbp;
951: case 18: /* *(r%n)[r%i] */
952: *rbp++ = '*';
953: *rbp++ = '(';
954: *rbp++ = 'r';
955: assert(a->kids[n+0]);
956: assert(a->kids[n+0]->x.registered);
957: assert(a->kids[n+0]->syms[RX]);
958: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
959: *rbp++ = ')';
960: *rbp++ = '[';
961: *rbp++ = 'r';
962: assert(a->kids[n+3]);
963: assert(a->kids[n+3]->x.registered);
964: assert(a->kids[n+3]->syms[RX]);
965: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
966: *rbp++ = ']';
967: return rbp;
968: case 19: /* *%c[r%i] */
969: *rbp++ = '*';
970: assert(a->syms[n+0]);
971: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
972: *rbp++ = '[';
973: *rbp++ = 'r';
974: assert(a->kids[n+3]);
975: assert(a->kids[n+3]->x.registered);
976: assert(a->kids[n+3]->syms[RX]);
977: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
978: *rbp++ = ']';
979: return rbp;
980: case 20: /* %c(ap)[r%i] */
981: assert(a->syms[n+0]);
982: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
983: *rbp++ = '(';
984: *rbp++ = 'a';
985: *rbp++ = 'p';
986: *rbp++ = ')';
987: *rbp++ = '[';
988: *rbp++ = 'r';
989: assert(a->kids[n+3]);
990: assert(a->kids[n+3]->x.registered);
991: assert(a->kids[n+3]->syms[RX]);
992: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
993: *rbp++ = ']';
994: return rbp;
995: case 21: /* %c(fp)[r%i] */
996: assert(a->syms[n+0]);
997: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
998: *rbp++ = '(';
999: *rbp++ = 'f';
1000: *rbp++ = 'p';
1001: *rbp++ = ')';
1002: *rbp++ = '[';
1003: *rbp++ = 'r';
1004: assert(a->kids[n+3]);
1005: assert(a->kids[n+3]->x.registered);
1006: assert(a->kids[n+3]->syms[RX]);
1007: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1008: *rbp++ = ']';
1009: return rbp;
1010: case 22: /* %c(r%n)[r%i] */
1011: assert(a->syms[n+0]);
1012: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1013: *rbp++ = '(';
1014: *rbp++ = 'r';
1015: assert(a->kids[n+0]);
1016: assert(a->kids[n+0]->x.registered);
1017: assert(a->kids[n+0]->syms[RX]);
1018: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1019: *rbp++ = ')';
1020: *rbp++ = '[';
1021: *rbp++ = 'r';
1022: assert(a->kids[n+3]);
1023: assert(a->kids[n+3]->x.registered);
1024: assert(a->kids[n+3]->syms[RX]);
1025: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1026: *rbp++ = ']';
1027: return rbp;
1028: case 23: /* (r%n)[r%i] */
1029: *rbp++ = '(';
1030: *rbp++ = 'r';
1031: assert(a->kids[n+0]);
1032: assert(a->kids[n+0]->x.registered);
1033: assert(a->kids[n+0]->syms[RX]);
1034: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1035: *rbp++ = ')';
1036: *rbp++ = '[';
1037: *rbp++ = 'r';
1038: assert(a->kids[n+3]);
1039: assert(a->kids[n+3]->x.registered);
1040: assert(a->kids[n+3]->syms[RX]);
1041: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1042: *rbp++ = ']';
1043: return rbp;
1044: case 24: /* %c[r%i] */
1045: assert(a->syms[n+0]);
1046: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1047: *rbp++ = '[';
1048: *rbp++ = 'r';
1049: assert(a->kids[n+3]);
1050: assert(a->kids[n+3]->x.registered);
1051: assert(a->kids[n+3]->syms[RX]);
1052: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1053: *rbp++ = ']';
1054: return rbp;
1055: case 25: /* *$%c[r%i] */
1056: *rbp++ = '*';
1057: *rbp++ = '$';
1058: assert(a->syms[n+0]);
1059: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1060: *rbp++ = '[';
1061: *rbp++ = 'r';
1062: assert(a->kids[n+3]);
1063: assert(a->kids[n+3]->x.registered);
1064: assert(a->kids[n+3]->syms[RX]);
1065: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++);
1066: *rbp++ = ']';
1067: return rbp;
1068: case 26: /* (r%c)+ */
1069: *rbp++ = '(';
1070: *rbp++ = 'r';
1071: assert(a->syms[n+0]);
1072: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1073: *rbp++ = ')';
1074: *rbp++ = '+';
1075: return rbp;
1076: case 27: /* (sp) */
1077: *rbp++ = '(';
1078: *rbp++ = 's';
1079: *rbp++ = 'p';
1080: *rbp++ = ')';
1081: return rbp;
1082: case 28: /* -(sp) */
1083: *rbp++ = '-';
1084: *rbp++ = '(';
1085: *rbp++ = 's';
1086: *rbp++ = 'p';
1087: *rbp++ = ')';
1088: return rbp;
1089: case 29: /* $%c/4 */
1090: *rbp++ = '$';
1091: assert(a->syms[n+0]);
1092: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1093: *rbp++ = '/';
1094: *rbp++ = '4';
1095: return rbp;
1096: case 30: /* $%c,$32-%c */
1097: *rbp++ = '$';
1098: assert(a->syms[n+0]);
1099: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1100: *rbp++ = ',';
1101: *rbp++ = '$';
1102: *rbp++ = '3';
1103: *rbp++ = '2';
1104: *rbp++ = '-';
1105: assert(a->syms[n+0]);
1106: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1107: return rbp;
1108: case 31: /* $(%c+3)&-4 */
1109: *rbp++ = '$';
1110: *rbp++ = '(';
1111: assert(a->syms[n+0]);
1112: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++);
1113: *rbp++ = '+';
1114: *rbp++ = '3';
1115: *rbp++ = ')';
1116: *rbp++ = '&';
1117: *rbp++ = '-';
1118: *rbp++ = '4';
1119: return rbp;
1120: }
1121: return rbp;
1122: }
1123:
1124: static void emit(a)
1125: register Node a;
1126: {
1127: register char *cp, *rbp;
1128:
1129: for (; a; a = a->x.next) {
1130: switch (a->op) {
1131: case 608: L608: /* subl3 %x,$32,r0\nextzv %x,r0,%y,%z */
1132: rbp = bp;
1133: *rbp++ = 's';
1134: *rbp++ = 'u';
1135: *rbp++ = 'b';
1136: *rbp++ = 'l';
1137: *rbp++ = '3';
1138: *rbp++ = ' ';
1139: rbp = emit0(rbp, a, 1);
1140: *rbp++ = ',';
1141: *rbp++ = '$';
1142: *rbp++ = '3';
1143: *rbp++ = '2';
1144: *rbp++ = ',';
1145: *rbp++ = 'r';
1146: *rbp++ = '0';
1147: bp = rbp; outs("\n"); rbp = bp;
1148: *rbp++ = 'e';
1149: *rbp++ = 'x';
1150: *rbp++ = 't';
1151: *rbp++ = 'z';
1152: *rbp++ = 'v';
1153: *rbp++ = ' ';
1154: rbp = emit0(rbp, a, 1);
1155: *rbp++ = ',';
1156: *rbp++ = 'r';
1157: *rbp++ = '0';
1158: *rbp++ = ',';
1159: rbp = emit0(rbp, a, 0);
1160: *rbp++ = ',';
1161: rbp = emit0(rbp, a, 2);
1162: bp = rbp;
1163: outs("\n");
1164: break;
1165: case 609: L609: /* calls %x,%y */
1166: rbp = bp;
1167: *rbp++ = 'c';
1168: *rbp++ = 'a';
1169: *rbp++ = 'l';
1170: *rbp++ = 'l';
1171: *rbp++ = 's';
1172: *rbp++ = ' ';
1173: rbp = emit0(rbp, a, 1);
1174: *rbp++ = ',';
1175: rbp = emit0(rbp, a, 0);
1176: bp = rbp;
1177: outs("\n");
1178: break;
1179: case 610: L610: /* pushl %x\npushl %y\ncalls $2,%f */
1180: rbp = bp;
1181: *rbp++ = 'p';
1182: *rbp++ = 'u';
1183: *rbp++ = 's';
1184: *rbp++ = 'h';
1185: *rbp++ = 'l';
1186: *rbp++ = ' ';
1187: rbp = emit0(rbp, a, 1);
1188: bp = rbp; outs("\n"); rbp = bp;
1189: *rbp++ = 'p';
1190: *rbp++ = 'u';
1191: *rbp++ = 's';
1192: *rbp++ = 'h';
1193: *rbp++ = 'l';
1194: *rbp++ = ' ';
1195: rbp = emit0(rbp, a, 0);
1196: bp = rbp; outs("\n"); rbp = bp;
1197: *rbp++ = 'c';
1198: *rbp++ = 'a';
1199: *rbp++ = 'l';
1200: *rbp++ = 'l';
1201: *rbp++ = 's';
1202: *rbp++ = ' ';
1203: *rbp++ = '$';
1204: *rbp++ = '2';
1205: *rbp++ = ',';
1206: assert(a->x.ints[3]);
1207: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1208: bp = rbp;
1209: outs("\n");
1210: break;
1211: case 611: L611: /* movc3 %x,%y,%z */
1212: rbp = bp;
1213: *rbp++ = 'm';
1214: *rbp++ = 'o';
1215: *rbp++ = 'v';
1216: *rbp++ = 'c';
1217: *rbp++ = '3';
1218: *rbp++ = ' ';
1219: rbp = emit0(rbp, a, 1);
1220: *rbp++ = ',';
1221: rbp = emit0(rbp, a, 0);
1222: *rbp++ = ',';
1223: rbp = emit0(rbp, a, 2);
1224: bp = rbp;
1225: outs("\n");
1226: break;
1227: case 612: L612: /* subl2 %x,sp\nmovc3 %z,%y,(sp) */
1228: rbp = bp;
1229: *rbp++ = 's';
1230: *rbp++ = 'u';
1231: *rbp++ = 'b';
1232: *rbp++ = 'l';
1233: *rbp++ = '2';
1234: *rbp++ = ' ';
1235: rbp = emit0(rbp, a, 1);
1236: *rbp++ = ',';
1237: *rbp++ = 's';
1238: *rbp++ = 'p';
1239: bp = rbp; outs("\n"); rbp = bp;
1240: *rbp++ = 'm';
1241: *rbp++ = 'o';
1242: *rbp++ = 'v';
1243: *rbp++ = 'c';
1244: *rbp++ = '3';
1245: *rbp++ = ' ';
1246: rbp = emit0(rbp, a, 2);
1247: *rbp++ = ',';
1248: rbp = emit0(rbp, a, 0);
1249: *rbp++ = ',';
1250: *rbp++ = '(';
1251: *rbp++ = 's';
1252: *rbp++ = 'p';
1253: *rbp++ = ')';
1254: bp = rbp;
1255: outs("\n");
1256: break;
1257: case 613: L613: /* %f%t %y,%z */
1258: rbp = bp;
1259: assert(a->x.ints[3]);
1260: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1261: assert(a->x.ints[4]);
1262: cp = asmstr4[a->x.ints[4]];
1263: *rbp++ = cp[0];
1264: *rbp++ = ' ';
1265: rbp = emit0(rbp, a, 0);
1266: *rbp++ = ',';
1267: rbp = emit0(rbp, a, 2);
1268: bp = rbp;
1269: outs("\n");
1270: break;
1271: case 614: L614: /* %f%t %z */
1272: rbp = bp;
1273: assert(a->x.ints[3]);
1274: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1275: assert(a->x.ints[4]);
1276: cp = asmstr4[a->x.ints[4]];
1277: *rbp++ = cp[0];
1278: *rbp++ = ' ';
1279: rbp = emit0(rbp, a, 2);
1280: bp = rbp;
1281: outs("\n");
1282: break;
1283: case 615: L615: /* %f%t2 %x,%z */
1284: rbp = bp;
1285: assert(a->x.ints[3]);
1286: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1287: assert(a->x.ints[4]);
1288: cp = asmstr4[a->x.ints[4]];
1289: *rbp++ = cp[0];
1290: *rbp++ = '2';
1291: *rbp++ = ' ';
1292: rbp = emit0(rbp, a, 1);
1293: *rbp++ = ',';
1294: rbp = emit0(rbp, a, 2);
1295: bp = rbp;
1296: outs("\n");
1297: break;
1298: case 616: L616: /* %f%t3 %x,%y,%z */
1299: rbp = bp;
1300: assert(a->x.ints[3]);
1301: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1302: assert(a->x.ints[4]);
1303: cp = asmstr4[a->x.ints[4]];
1304: *rbp++ = cp[0];
1305: *rbp++ = '3';
1306: *rbp++ = ' ';
1307: rbp = emit0(rbp, a, 1);
1308: *rbp++ = ',';
1309: rbp = emit0(rbp, a, 0);
1310: *rbp++ = ',';
1311: rbp = emit0(rbp, a, 2);
1312: bp = rbp;
1313: outs("\n");
1314: break;
1315: case 617: L617: /* ash%t %x,%y,%z */
1316: rbp = bp;
1317: *rbp++ = 'a';
1318: *rbp++ = 's';
1319: *rbp++ = 'h';
1320: assert(a->x.ints[4]);
1321: cp = asmstr4[a->x.ints[4]];
1322: *rbp++ = cp[0];
1323: *rbp++ = ' ';
1324: rbp = emit0(rbp, a, 1);
1325: *rbp++ = ',';
1326: rbp = emit0(rbp, a, 0);
1327: *rbp++ = ',';
1328: rbp = emit0(rbp, a, 2);
1329: bp = rbp;
1330: outs("\n");
1331: break;
1332: case 618: L618: /* clr%t %z */
1333: rbp = bp;
1334: *rbp++ = 'c';
1335: *rbp++ = 'l';
1336: *rbp++ = 'r';
1337: assert(a->x.ints[4]);
1338: cp = asmstr4[a->x.ints[4]];
1339: *rbp++ = cp[0];
1340: *rbp++ = ' ';
1341: rbp = emit0(rbp, a, 2);
1342: bp = rbp;
1343: outs("\n");
1344: break;
1345: case 619: L619: /* cmp%t %y,%x\nj%f %z */
1346: rbp = bp;
1347: *rbp++ = 'c';
1348: *rbp++ = 'm';
1349: *rbp++ = 'p';
1350: assert(a->x.ints[4]);
1351: cp = asmstr4[a->x.ints[4]];
1352: *rbp++ = cp[0];
1353: *rbp++ = ' ';
1354: rbp = emit0(rbp, a, 0);
1355: *rbp++ = ',';
1356: rbp = emit0(rbp, a, 1);
1357: bp = rbp; outs("\n"); rbp = bp;
1358: *rbp++ = 'j';
1359: assert(a->x.ints[3]);
1360: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1361: *rbp++ = ' ';
1362: rbp = emit0(rbp, a, 2);
1363: bp = rbp;
1364: outs("\n");
1365: break;
1366: case 620: L620: /* cvt%f%t %y,%z */
1367: rbp = bp;
1368: *rbp++ = 'c';
1369: *rbp++ = 'v';
1370: *rbp++ = 't';
1371: assert(a->x.ints[3]);
1372: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1373: assert(a->x.ints[4]);
1374: cp = asmstr4[a->x.ints[4]];
1375: *rbp++ = cp[0];
1376: *rbp++ = ' ';
1377: rbp = emit0(rbp, a, 0);
1378: *rbp++ = ',';
1379: rbp = emit0(rbp, a, 2);
1380: bp = rbp;
1381: outs("\n");
1382: break;
1383: case 621: L621: /* div%t3 %x,%y,-(sp)\nmul%t2 %x,(sp)\nsub%t3 (sp)+,%y,%z */
1384: rbp = bp;
1385: *rbp++ = 'd';
1386: *rbp++ = 'i';
1387: *rbp++ = 'v';
1388: assert(a->x.ints[4]);
1389: cp = asmstr4[a->x.ints[4]];
1390: *rbp++ = cp[0];
1391: *rbp++ = '3';
1392: *rbp++ = ' ';
1393: rbp = emit0(rbp, a, 1);
1394: *rbp++ = ',';
1395: rbp = emit0(rbp, a, 0);
1396: *rbp++ = ',';
1397: *rbp++ = '-';
1398: *rbp++ = '(';
1399: *rbp++ = 's';
1400: *rbp++ = 'p';
1401: *rbp++ = ')';
1402: bp = rbp; outs("\n"); rbp = bp;
1403: *rbp++ = 'm';
1404: *rbp++ = 'u';
1405: *rbp++ = 'l';
1406: assert(a->x.ints[4]);
1407: cp = asmstr4[a->x.ints[4]];
1408: *rbp++ = cp[0];
1409: *rbp++ = '2';
1410: *rbp++ = ' ';
1411: rbp = emit0(rbp, a, 1);
1412: *rbp++ = ',';
1413: *rbp++ = '(';
1414: *rbp++ = 's';
1415: *rbp++ = 'p';
1416: *rbp++ = ')';
1417: bp = rbp; outs("\n"); rbp = bp;
1418: *rbp++ = 's';
1419: *rbp++ = 'u';
1420: *rbp++ = 'b';
1421: assert(a->x.ints[4]);
1422: cp = asmstr4[a->x.ints[4]];
1423: *rbp++ = cp[0];
1424: *rbp++ = '3';
1425: *rbp++ = ' ';
1426: *rbp++ = '(';
1427: *rbp++ = 's';
1428: *rbp++ = 'p';
1429: *rbp++ = ')';
1430: *rbp++ = '+';
1431: *rbp++ = ',';
1432: rbp = emit0(rbp, a, 0);
1433: *rbp++ = ',';
1434: rbp = emit0(rbp, a, 2);
1435: bp = rbp;
1436: outs("\n");
1437: break;
1438: case 622: L622: /* extzv %x,%y,%z */
1439: rbp = bp;
1440: *rbp++ = 'e';
1441: *rbp++ = 'x';
1442: *rbp++ = 't';
1443: *rbp++ = 'z';
1444: *rbp++ = 'v';
1445: *rbp++ = ' ';
1446: rbp = emit0(rbp, a, 1);
1447: *rbp++ = ',';
1448: rbp = emit0(rbp, a, 0);
1449: *rbp++ = ',';
1450: rbp = emit0(rbp, a, 2);
1451: bp = rbp;
1452: outs("\n");
1453: break;
1454: case 623: L623: /* mov%t %y,%z */
1455: rbp = bp;
1456: *rbp++ = 'm';
1457: *rbp++ = 'o';
1458: *rbp++ = 'v';
1459: assert(a->x.ints[4]);
1460: cp = asmstr4[a->x.ints[4]];
1461: *rbp++ = cp[0];
1462: *rbp++ = ' ';
1463: rbp = emit0(rbp, a, 0);
1464: *rbp++ = ',';
1465: rbp = emit0(rbp, a, 2);
1466: bp = rbp;
1467: outs("\n");
1468: break;
1469: case 624: L624: /* mova%t %y,%z */
1470: rbp = bp;
1471: *rbp++ = 'm';
1472: *rbp++ = 'o';
1473: *rbp++ = 'v';
1474: *rbp++ = 'a';
1475: assert(a->x.ints[4]);
1476: cp = asmstr4[a->x.ints[4]];
1477: *rbp++ = cp[0];
1478: *rbp++ = ' ';
1479: rbp = emit0(rbp, a, 0);
1480: *rbp++ = ',';
1481: rbp = emit0(rbp, a, 2);
1482: bp = rbp;
1483: outs("\n");
1484: break;
1485: case 625: L625: /* movz%f%t %y,%z */
1486: rbp = bp;
1487: *rbp++ = 'm';
1488: *rbp++ = 'o';
1489: *rbp++ = 'v';
1490: *rbp++ = 'z';
1491: assert(a->x.ints[3]);
1492: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1493: assert(a->x.ints[4]);
1494: cp = asmstr4[a->x.ints[4]];
1495: *rbp++ = cp[0];
1496: *rbp++ = ' ';
1497: rbp = emit0(rbp, a, 0);
1498: *rbp++ = ',';
1499: rbp = emit0(rbp, a, 2);
1500: bp = rbp;
1501: outs("\n");
1502: break;
1503: case 626: L626: /* pusha%t %y */
1504: rbp = bp;
1505: *rbp++ = 'p';
1506: *rbp++ = 'u';
1507: *rbp++ = 's';
1508: *rbp++ = 'h';
1509: *rbp++ = 'a';
1510: assert(a->x.ints[4]);
1511: cp = asmstr4[a->x.ints[4]];
1512: *rbp++ = cp[0];
1513: *rbp++ = ' ';
1514: rbp = emit0(rbp, a, 0);
1515: bp = rbp;
1516: outs("\n");
1517: break;
1518: case 627: L627: /* pushl %y */
1519: rbp = bp;
1520: *rbp++ = 'p';
1521: *rbp++ = 'u';
1522: *rbp++ = 's';
1523: *rbp++ = 'h';
1524: *rbp++ = 'l';
1525: *rbp++ = ' ';
1526: rbp = emit0(rbp, a, 0);
1527: bp = rbp;
1528: outs("\n");
1529: break;
1530: case 628: L628: /* tst%t %y\nj%f %z */
1531: rbp = bp;
1532: *rbp++ = 't';
1533: *rbp++ = 's';
1534: *rbp++ = 't';
1535: assert(a->x.ints[4]);
1536: cp = asmstr4[a->x.ints[4]];
1537: *rbp++ = cp[0];
1538: *rbp++ = ' ';
1539: rbp = emit0(rbp, a, 0);
1540: bp = rbp; outs("\n"); rbp = bp;
1541: *rbp++ = 'j';
1542: assert(a->x.ints[3]);
1543: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1544: *rbp++ = ' ';
1545: rbp = emit0(rbp, a, 2);
1546: bp = rbp;
1547: outs("\n");
1548: break;
1549: case 629: L629: /* bit%t %y,%x\nj%f %z */
1550: rbp = bp;
1551: *rbp++ = 'b';
1552: *rbp++ = 'i';
1553: *rbp++ = 't';
1554: assert(a->x.ints[4]);
1555: cp = asmstr4[a->x.ints[4]];
1556: *rbp++ = cp[0];
1557: *rbp++ = ' ';
1558: rbp = emit0(rbp, a, 0);
1559: *rbp++ = ',';
1560: rbp = emit0(rbp, a, 1);
1561: bp = rbp; outs("\n"); rbp = bp;
1562: *rbp++ = 'j';
1563: assert(a->x.ints[3]);
1564: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1565: *rbp++ = ' ';
1566: rbp = emit0(rbp, a, 2);
1567: bp = rbp;
1568: outs("\n");
1569: break;
1570: case 630: L630: /* ASH %f,%t,%x,%y,%z */
1571: rbp = bp;
1572: *rbp++ = 'A';
1573: *rbp++ = 'S';
1574: *rbp++ = 'H';
1575: *rbp++ = ' ';
1576: assert(a->x.ints[3]);
1577: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1578: *rbp++ = ',';
1579: assert(a->x.ints[4]);
1580: cp = asmstr4[a->x.ints[4]];
1581: *rbp++ = cp[0];
1582: *rbp++ = ',';
1583: rbp = emit0(rbp, a, 1);
1584: *rbp++ = ',';
1585: rbp = emit0(rbp, a, 0);
1586: *rbp++ = ',';
1587: rbp = emit0(rbp, a, 2);
1588: bp = rbp;
1589: outs("\n");
1590: break;
1591: case 631: L631: /* BIT %f,%t,%x,%y,%z */
1592: rbp = bp;
1593: *rbp++ = 'B';
1594: *rbp++ = 'I';
1595: *rbp++ = 'T';
1596: *rbp++ = ' ';
1597: assert(a->x.ints[3]);
1598: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1599: *rbp++ = ',';
1600: assert(a->x.ints[4]);
1601: cp = asmstr4[a->x.ints[4]];
1602: *rbp++ = cp[0];
1603: *rbp++ = ',';
1604: rbp = emit0(rbp, a, 1);
1605: *rbp++ = ',';
1606: rbp = emit0(rbp, a, 0);
1607: *rbp++ = ',';
1608: rbp = emit0(rbp, a, 2);
1609: bp = rbp;
1610: outs("\n");
1611: break;
1612: case 632: L632: /* CALL %f,%t,%x,%y,%z */
1613: rbp = bp;
1614: *rbp++ = 'C';
1615: *rbp++ = 'A';
1616: *rbp++ = 'L';
1617: *rbp++ = 'L';
1618: *rbp++ = ' ';
1619: assert(a->x.ints[3]);
1620: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1621: *rbp++ = ',';
1622: assert(a->x.ints[4]);
1623: cp = asmstr4[a->x.ints[4]];
1624: *rbp++ = cp[0];
1625: *rbp++ = ',';
1626: rbp = emit0(rbp, a, 1);
1627: *rbp++ = ',';
1628: rbp = emit0(rbp, a, 0);
1629: *rbp++ = ',';
1630: rbp = emit0(rbp, a, 2);
1631: bp = rbp;
1632: outs("\n");
1633: break;
1634: case 633: L633: /* CMP %f,%t,%x,%y,%z */
1635: rbp = bp;
1636: *rbp++ = 'C';
1637: *rbp++ = 'M';
1638: *rbp++ = 'P';
1639: *rbp++ = ' ';
1640: assert(a->x.ints[3]);
1641: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1642: *rbp++ = ',';
1643: assert(a->x.ints[4]);
1644: cp = asmstr4[a->x.ints[4]];
1645: *rbp++ = cp[0];
1646: *rbp++ = ',';
1647: rbp = emit0(rbp, a, 1);
1648: *rbp++ = ',';
1649: rbp = emit0(rbp, a, 0);
1650: *rbp++ = ',';
1651: rbp = emit0(rbp, a, 2);
1652: bp = rbp;
1653: outs("\n");
1654: break;
1655: case 634: L634: /* CVT %f,%t,%x,%y,%z */
1656: rbp = bp;
1657: *rbp++ = 'C';
1658: *rbp++ = 'V';
1659: *rbp++ = 'T';
1660: *rbp++ = ' ';
1661: assert(a->x.ints[3]);
1662: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1663: *rbp++ = ',';
1664: assert(a->x.ints[4]);
1665: cp = asmstr4[a->x.ints[4]];
1666: *rbp++ = cp[0];
1667: *rbp++ = ',';
1668: rbp = emit0(rbp, a, 1);
1669: *rbp++ = ',';
1670: rbp = emit0(rbp, a, 0);
1671: *rbp++ = ',';
1672: rbp = emit0(rbp, a, 2);
1673: bp = rbp;
1674: outs("\n");
1675: break;
1676: case 635: L635: /* EXT %f,%t,%x,%y,%z */
1677: rbp = bp;
1678: *rbp++ = 'E';
1679: *rbp++ = 'X';
1680: *rbp++ = 'T';
1681: *rbp++ = ' ';
1682: assert(a->x.ints[3]);
1683: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1684: *rbp++ = ',';
1685: assert(a->x.ints[4]);
1686: cp = asmstr4[a->x.ints[4]];
1687: *rbp++ = cp[0];
1688: *rbp++ = ',';
1689: rbp = emit0(rbp, a, 1);
1690: *rbp++ = ',';
1691: rbp = emit0(rbp, a, 0);
1692: *rbp++ = ',';
1693: rbp = emit0(rbp, a, 2);
1694: bp = rbp;
1695: outs("\n");
1696: break;
1697: case 636: L636: /* MOV %f,%t,%x,%y,%z */
1698: rbp = bp;
1699: *rbp++ = 'M';
1700: *rbp++ = 'O';
1701: *rbp++ = 'V';
1702: *rbp++ = ' ';
1703: assert(a->x.ints[3]);
1704: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1705: *rbp++ = ',';
1706: assert(a->x.ints[4]);
1707: cp = asmstr4[a->x.ints[4]];
1708: *rbp++ = cp[0];
1709: *rbp++ = ',';
1710: rbp = emit0(rbp, a, 1);
1711: *rbp++ = ',';
1712: rbp = emit0(rbp, a, 0);
1713: *rbp++ = ',';
1714: rbp = emit0(rbp, a, 2);
1715: bp = rbp;
1716: outs("\n");
1717: break;
1718: case 637: L637: /* MOVA %f,%t,%x,%y,%z */
1719: rbp = bp;
1720: *rbp++ = 'M';
1721: *rbp++ = 'O';
1722: *rbp++ = 'V';
1723: *rbp++ = 'A';
1724: *rbp++ = ' ';
1725: assert(a->x.ints[3]);
1726: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1727: *rbp++ = ',';
1728: assert(a->x.ints[4]);
1729: cp = asmstr4[a->x.ints[4]];
1730: *rbp++ = cp[0];
1731: *rbp++ = ',';
1732: rbp = emit0(rbp, a, 1);
1733: *rbp++ = ',';
1734: rbp = emit0(rbp, a, 0);
1735: *rbp++ = ',';
1736: rbp = emit0(rbp, a, 2);
1737: bp = rbp;
1738: outs("\n");
1739: break;
1740: case 638: L638: /* MOVZ %f,%t,%x,%y,%z */
1741: rbp = bp;
1742: *rbp++ = 'M';
1743: *rbp++ = 'O';
1744: *rbp++ = 'V';
1745: *rbp++ = 'Z';
1746: *rbp++ = ' ';
1747: assert(a->x.ints[3]);
1748: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1749: *rbp++ = ',';
1750: assert(a->x.ints[4]);
1751: cp = asmstr4[a->x.ints[4]];
1752: *rbp++ = cp[0];
1753: *rbp++ = ',';
1754: rbp = emit0(rbp, a, 1);
1755: *rbp++ = ',';
1756: rbp = emit0(rbp, a, 0);
1757: *rbp++ = ',';
1758: rbp = emit0(rbp, a, 2);
1759: bp = rbp;
1760: outs("\n");
1761: break;
1762: case 639: L639: /* OP1 %f,%t,%x,%y,%z */
1763: rbp = bp;
1764: *rbp++ = 'O';
1765: *rbp++ = 'P';
1766: *rbp++ = '1';
1767: *rbp++ = ' ';
1768: assert(a->x.ints[3]);
1769: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1770: *rbp++ = ',';
1771: assert(a->x.ints[4]);
1772: cp = asmstr4[a->x.ints[4]];
1773: *rbp++ = cp[0];
1774: *rbp++ = ',';
1775: rbp = emit0(rbp, a, 1);
1776: *rbp++ = ',';
1777: rbp = emit0(rbp, a, 0);
1778: *rbp++ = ',';
1779: rbp = emit0(rbp, a, 2);
1780: bp = rbp;
1781: outs("\n");
1782: break;
1783: case 640: L640: /* OP2 %f,%t,%x,%y,%z */
1784: rbp = bp;
1785: *rbp++ = 'O';
1786: *rbp++ = 'P';
1787: *rbp++ = '2';
1788: *rbp++ = ' ';
1789: assert(a->x.ints[3]);
1790: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1791: *rbp++ = ',';
1792: assert(a->x.ints[4]);
1793: cp = asmstr4[a->x.ints[4]];
1794: *rbp++ = cp[0];
1795: *rbp++ = ',';
1796: rbp = emit0(rbp, a, 1);
1797: *rbp++ = ',';
1798: rbp = emit0(rbp, a, 0);
1799: *rbp++ = ',';
1800: rbp = emit0(rbp, a, 2);
1801: bp = rbp;
1802: outs("\n");
1803: break;
1804: case 641: L641: /* OP2K %f,%t,%x,%y,%z */
1805: rbp = bp;
1806: *rbp++ = 'O';
1807: *rbp++ = 'P';
1808: *rbp++ = '2';
1809: *rbp++ = 'K';
1810: *rbp++ = ' ';
1811: assert(a->x.ints[3]);
1812: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1813: *rbp++ = ',';
1814: assert(a->x.ints[4]);
1815: cp = asmstr4[a->x.ints[4]];
1816: *rbp++ = cp[0];
1817: *rbp++ = ',';
1818: rbp = emit0(rbp, a, 1);
1819: *rbp++ = ',';
1820: rbp = emit0(rbp, a, 0);
1821: *rbp++ = ',';
1822: rbp = emit0(rbp, a, 2);
1823: bp = rbp;
1824: outs("\n");
1825: break;
1826: case 642: L642: /* j%f %z */
1827: rbp = bp;
1828: *rbp++ = 'j';
1829: assert(a->x.ints[3]);
1830: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++);
1831: *rbp++ = ' ';
1832: rbp = emit0(rbp, a, 2);
1833: bp = rbp;
1834: outs("\n");
1835: break;
1836: case 643: L643: /* jbr %z */
1837: rbp = bp;
1838: *rbp++ = 'j';
1839: *rbp++ = 'b';
1840: *rbp++ = 'r';
1841: *rbp++ = ' ';
1842: rbp = emit0(rbp, a, 2);
1843: bp = rbp;
1844: outs("\n");
1845: break;
1846: case 644: L644: /* jmp %z */
1847: rbp = bp;
1848: *rbp++ = 'j';
1849: *rbp++ = 'm';
1850: *rbp++ = 'p';
1851: *rbp++ = ' ';
1852: rbp = emit0(rbp, a, 2);
1853: bp = rbp;
1854: outs("\n");
1855: break;
1856: case 645: L645: /* ret */
1857: rbp = bp;
1858: *rbp++ = 'r';
1859: *rbp++ = 'e';
1860: *rbp++ = 't';
1861: bp = rbp;
1862: outs("\n");
1863: break;
1864: case 646: L646: /* # label */
1865: (*IR->x.emitspecial)(a);
1866: break;
1867: case 647: L647: /* # nop */
1868: (*IR->x.emitspecial)(a);
1869: break;
1870: case 648: L648: /* %z: */
1871: rbp = bp;
1872: rbp = emit0(rbp, a, 2);
1873: *rbp++ = ':';
1874: bp = rbp;
1875: outs("\n");
1876: break;
1877: }
1878: }
1879: }
1880:
1881: static void final(a)
1882: register Node a;
1883: {
1884: register int s;
1885: switch (a->op) {
1886: case 608: L608: /* subl3 %x,$32,r0\nextzv %x,r0,%y,%z */
1887: dumptree(a, 608);
1888: spill(0x01, 0, a);
1889: a->op = 608;
1890: break;
1891: case 609: L609: /* calls %x,%y */
1892: dumptree(a, 609);
1893: spill(0x3e, 0, a);
1894: a->op = 609;
1895: break;
1896: case 610: L610: /* pushl %x\npushl %y\ncalls $2,%f */
1897: dumptree(a, 610);
1898: spill(0x3e, 0, a);
1899: a->op = 610;
1900: break;
1901: case 611: L611: /* movc3 %x,%y,%z */
1902: dumptree(a, 611);
1903: spill(0x3f, 0, a);
1904: a->op = 611;
1905: break;
1906: case 612: L612: /* subl2 %x,sp\nmovc3 %z,%y,(sp) */
1907: dumptree(a, 612);
1908: spill(0x3f, 0, a);
1909: a->op = 612;
1910: break;
1911: case 613: L613: /* %f%t %y,%z */
1912: dumptree(a, 613);
1913: a->op = 613;
1914: break;
1915: case 614: L614: /* %f%t %z */
1916: dumptree(a, 614);
1917: a->op = 614;
1918: break;
1919: case 615: L615: /* %f%t2 %x,%z */
1920: dumptree(a, 615);
1921: switch (a->x.ints[3]) {
1922: case 18: /* add */
1923: if (
1924: a->x.ints[1] == 14 /* $%c */
1925: && a->syms[1]->x.name == sym[7].x.name /* -1 */
1926: ) {
1927: a->syms[1] = &sym[2]; /* 1 */
1928: a->x.ints[1] = 14; /* $%c */
1929: a->x.ints[3] = 24; /* sub */
1930: goto L615; /* %f%t2 %x,%z */
1931: }
1932: if (
1933: a->x.ints[1] == 14 /* $%c */
1934: && a->syms[1]->x.name == sym[2].x.name /* 1 */
1935: ) {
1936: a->x.ints[3] = 27; /* inc */
1937: goto L614; /* %f%t %z */
1938: }
1939: break;
1940: case 24: /* sub */
1941: if (
1942: a->x.ints[1] == 14 /* $%c */
1943: && a->syms[1]->x.name == sym[2].x.name /* 1 */
1944: ) {
1945: a->x.ints[3] = 26; /* dec */
1946: goto L614; /* %f%t %z */
1947: }
1948: break;
1949: }
1950: a->op = 615;
1951: break;
1952: case 616: L616: /* %f%t3 %x,%y,%z */
1953: dumptree(a, 616);
1954: a->op = 616;
1955: break;
1956: case 617: L617: /* ash%t %x,%y,%z */
1957: dumptree(a, 617);
1958: a->op = 617;
1959: break;
1960: case 618: L618: /* clr%t %z */
1961: dumptree(a, 618);
1962: a->op = 618;
1963: break;
1964: case 619: L619: /* cmp%t %y,%x\nj%f %z */
1965: dumptree(a, 619);
1966: a->op = 619;
1967: break;
1968: case 620: L620: /* cvt%f%t %y,%z */
1969: dumptree(a, 620);
1970: a->op = 620;
1971: break;
1972: case 621: L621: /* div%t3 %x,%y,-(sp)\nmul%t2 %x,(sp)\nsub%t3 (sp)+,%y,%z */
1973: dumptree(a, 621);
1974: a->op = 621;
1975: break;
1976: case 622: L622: /* extzv %x,%y,%z */
1977: dumptree(a, 622);
1978: a->op = 622;
1979: break;
1980: case 623: L623: /* mov%t %y,%z */
1981: dumptree(a, 623);
1982: if (
1983: a->x.ints[4] == 6 /* x */
1984: ) {
1985: if (
1986: a->syms[1]->x.name == sym[5].x.name /* 4 */
1987: ) {
1988: a->x.ints[4] = 3; /* l */
1989: goto L623; /* mov%t %y,%z */
1990: }
1991: if (
1992: a->syms[1]->x.name == sym[6].x.name /* 8 */
1993: ) {
1994: a->x.ints[4] = 7; /* q */
1995: goto L623; /* mov%t %y,%z */
1996: }
1997: if (
1998: a->x.ints[2] == 28 /* -(sp) */
1999: ) {
2000: a->x.ints[2] = 14; /* $%c */
2001: a->x.ints[1] = 31; /* $(%c+3)&-4 */
2002: a->syms[2] = a->syms[1];
2003: goto L612; /* subl2 %x,sp\nmovc3 %z,%y,(sp) */
2004: }
2005: a->x.ints[1] = 14; /* $%c */
2006: goto L611; /* movc3 %x,%y,%z */
2007: }
2008: if (
2009: a->x.ints[0] == 12 /* r%n */
2010: && a->x.ints[2] == 13 /* r%c */
2011: && a->kids[0]->syms[2] == a->syms[2]
2012: ) {
2013: goto L647; /* # nop */
2014: }
2015: a->op = 623;
2016: break;
2017: case 624: L624: /* mova%t %y,%z */
2018: dumptree(a, 624);
2019: a->op = 624;
2020: break;
2021: case 625: L625: /* movz%f%t %y,%z */
2022: dumptree(a, 625);
2023: a->op = 625;
2024: break;
2025: case 626: L626: /* pusha%t %y */
2026: dumptree(a, 626);
2027: a->op = 626;
2028: break;
2029: case 627: L627: /* pushl %y */
2030: dumptree(a, 627);
2031: a->op = 627;
2032: break;
2033: case 628: L628: /* tst%t %y\nj%f %z */
2034: dumptree(a, 628);
2035: if (
2036: a->x.ints[0] == 12 /* r%n */
2037: && last && "\1\0\0\0\0\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[last->op-608] /* <SetsCC> */
2038: && last && last == a->kids[0]
2039: ) {
2040: goto L642; /* j%f %z */
2041: }
2042: a->op = 628;
2043: break;
2044: case 629: L629: /* bit%t %y,%x\nj%f %z */
2045: dumptree(a, 629);
2046: a->op = 629;
2047: break;
2048: case 630: L630: /* ASH %f,%t,%x,%y,%z */
2049: dumptree(a, 630);
2050: goto L617; /* ash%t %x,%y,%z */
2051: case 631: L631: /* BIT %f,%t,%x,%y,%z */
2052: dumptree(a, 631);
2053: goto L629; /* bit%t %y,%x\nj%f %z */
2054: case 632: L632: /* CALL %f,%t,%x,%y,%z */
2055: dumptree(a, 632);
2056: goto L609; /* calls %x,%y */
2057: case 633: L633: /* CMP %f,%t,%x,%y,%z */
2058: dumptree(a, 633);
2059: if (
2060: a->x.ints[1] == 14 /* $%c */
2061: && a->syms[1]->x.name == sym[1].x.name /* 0 */
2062: ) {
2063: goto L628; /* tst%t %y\nj%f %z */
2064: }
2065: goto L619; /* cmp%t %y,%x\nj%f %z */
2066: case 634: L634: /* CVT %f,%t,%x,%y,%z */
2067: dumptree(a, 634);
2068: goto L620; /* cvt%f%t %y,%z */
2069: case 635: L635: /* EXT %f,%t,%x,%y,%z */
2070: dumptree(a, 635);
2071: if (
2072: a->x.ints[1] == 14 /* $%c */
2073: ) {
2074: a->x.ints[1] = 30; /* $%c,$32-%c */
2075: goto L622; /* extzv %x,%y,%z */
2076: }
2077: goto L608; /* subl3 %x,$32,r0\nextzv %x,r0,%y,%z */
2078: case 636: L636: /* MOV %f,%t,%x,%y,%z */
2079: dumptree(a, 636);
2080: if (
2081: a->x.ints[0] == 14 /* $%c */
2082: && a->syms[0]->x.name == sym[1].x.name /* 0 */
2083: ) {
2084: goto L618; /* clr%t %z */
2085: }
2086: if (
2087: a->x.ints[4] == 3 /* l */
2088: && a->x.ints[2] == 28 /* -(sp) */
2089: ) {
2090: goto L627; /* pushl %y */
2091: }
2092: goto L623; /* mov%t %y,%z */
2093: case 637: L637: /* MOVA %f,%t,%x,%y,%z */
2094: dumptree(a, 637);
2095: if (
2096: a->x.ints[2] == 28 /* -(sp) */
2097: ) {
2098: goto L626; /* pusha%t %y */
2099: }
2100: goto L624; /* mova%t %y,%z */
2101: case 638: L638: /* MOVZ %f,%t,%x,%y,%z */
2102: dumptree(a, 638);
2103: goto L625; /* movz%f%t %y,%z */
2104: case 639: L639: /* OP1 %f,%t,%x,%y,%z */
2105: dumptree(a, 639);
2106: goto L613; /* %f%t %y,%z */
2107: case 640: L640: /* OP2 %f,%t,%x,%y,%z */
2108: dumptree(a, 640);
2109: switch (a->x.ints[3]) {
2110: case 18: /* add */
2111: if (
2112: a->x.ints[4] == 3 /* l */
2113: && a->x.ints[1] == 14 /* $%c */
2114: && a->x.ints[0] == 12 /* r%n */
2115: && a->x.ints[2] == 28 /* -(sp) */
2116: ) {
2117: a->x.ints[0] = 8; /* %c(r%n) */
2118: a->syms[0] = a->syms[1];
2119: goto L626; /* pusha%t %y */
2120: }
2121: break;
2122: case 22: /* mod */
2123: goto L621; /* div%t3 %x,%y,-(sp)\nmul%t2 %x,(sp)\nsub%t3 (sp)+,%y,%z */
2124: }
2125: if (
2126: "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\1\0\0\0\0\0\0\0"[a->x.ints[3]] /* <TMP3513> */
2127: && a->x.ints[4] == 3 /* l */
2128: && a->x.ints[1] == 14 /* $%c */
2129: && a->x.ints[0] == 12 /* r%n */
2130: && last && last->op == 623 /* mov%t %y,%z */
2131: && last && last->x.ints[4] == 3 /* l */
2132: && last && a->kids[0]->syms[2] == last->syms[2]
2133: && last && a->x.ints[2] == last->x.ints[0]
2134: && last && a->kids[2] == last->kids[0]
2135: && last && a->kids[5] == last->kids[3]
2136: && last && a->syms[2] == last->syms[0]
2137: ) {
2138: a->syms[0] = last->syms[0];
2139: a->kids[3] = last->kids[3];
2140: a->kids[0] = last->kids[0];
2141: a->x.ints[0] = last->x.ints[0];
2142: goto L640; /* OP2 %f,%t,%x,%y,%z */
2143: }
2144: if (
2145: a->x.ints[2] == a->x.ints[0]
2146: && a->kids[2] == a->kids[0]
2147: && a->kids[5] == a->kids[3]
2148: && a->syms[2] == a->syms[0]
2149: ) {
2150: goto L615; /* %f%t2 %x,%z */
2151: }
2152: if (
2153: a->x.ints[0] == 12 /* r%n */
2154: && a->x.ints[2] == 13 /* r%c */
2155: && a->syms[2] == a->kids[0]->syms[2]
2156: ) {
2157: goto L615; /* %f%t2 %x,%z */
2158: }
2159: if (
2160: "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0\1\0\1\0\0\0\0\0\0"[a->x.ints[3]] /* <TMP3532> */
2161: && a->x.ints[2] == a->x.ints[1]
2162: && a->kids[2] == a->kids[1]
2163: && a->kids[5] == a->kids[4]
2164: && a->syms[2] == a->syms[1]
2165: ) {
2166: a->syms[1] = a->syms[0];
2167: a->kids[4] = a->kids[3];
2168: a->kids[3] = 0;
2169: a->kids[1] = a->kids[0];
2170: a->kids[0] = 0;
2171: a->x.ints[1] = a->x.ints[0];
2172: goto L615; /* %f%t2 %x,%z */
2173: }
2174: if (
2175: "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0\1\0\1\0\0\0\0\0\0"[a->x.ints[3]] /* <TMP3537> */
2176: && a->x.ints[1] == 12 /* r%n */
2177: && a->x.ints[2] == 13 /* r%c */
2178: && a->syms[2] == a->kids[1]->syms[2]
2179: ) {
2180: a->syms[1] = a->syms[0];
2181: a->kids[4] = a->kids[3];
2182: a->kids[3] = 0;
2183: a->kids[1] = a->kids[0];
2184: a->kids[0] = 0;
2185: a->x.ints[1] = a->x.ints[0];
2186: goto L615; /* %f%t2 %x,%z */
2187: }
2188: goto L616; /* %f%t3 %x,%y,%z */
2189: case 641: L641: /* OP2K %f,%t,%x,%y,%z */
2190: dumptree(a, 641);
2191: goto L616; /* %f%t3 %x,%y,%z */
2192: case 642: L642: /* j%f %z */
2193: dumptree(a, 642);
2194: a->op = 642;
2195: break;
2196: case 643: L643: /* jbr %z */
2197: dumptree(a, 643);
2198: a->op = 643;
2199: break;
2200: case 644: L644: /* jmp %z */
2201: dumptree(a, 644);
2202: a->op = 644;
2203: break;
2204: case 645: L645: /* ret */
2205: dumptree(a, 645);
2206: if (
2207: glevel>1
2208: ) {
2209: goto L647; /* # nop */
2210: }
2211: a->op = 645;
2212: break;
2213: case 646: L646: /* # label */
2214: dumptree(a, 646);
2215: a->op = 646;
2216: return;
2217: case 647: L647: /* # nop */
2218: dumptree(a, 647);
2219: a->op = 647;
2220: return;
2221: case 648: L648: /* %z: */
2222: dumptree(a, 648);
2223: a->op = 648;
2224: break;
2225: }
2226: }
2227:
2228: static void rewrite(a)
2229: register Node a;
2230: {
2231: register Node b, c;
2232: register int s;
2233: assert(a);
2234: switch (a->op) {
2235: case 17: L17: /* CNSTF */
2236: dumptree(a, a->op);
2237: setreg(a, rmap[F]);
2238: a->x.ints[2] = 13; /* r%c */
2239: a->x.ints[0] = 14; /* $%c */
2240: a->x.ints[4] = 3; /* l */
2241: goto L636; /* MOV %f,%t,%x,%y,%z */
2242: case 18: L18: /* CNSTD */
2243: dumptree(a, a->op);
2244: setreg(a, rmap[D]);
2245: a->x.ints[2] = 13; /* r%c */
2246: a->x.ints[0] = 14; /* $%c */
2247: a->x.ints[4] = 3; /* l */
2248: goto L636; /* MOV %f,%t,%x,%y,%z */
2249: case 19: L19: /* CNSTC */
2250: dumptree(a, a->op);
2251: setreg(a, rmap[C]);
2252: a->x.ints[2] = 13; /* r%c */
2253: a->x.ints[0] = 14; /* $%c */
2254: a->x.ints[4] = 3; /* l */
2255: goto L636; /* MOV %f,%t,%x,%y,%z */
2256: case 20: L20: /* CNSTS */
2257: dumptree(a, a->op);
2258: setreg(a, rmap[S]);
2259: a->x.ints[2] = 13; /* r%c */
2260: a->x.ints[0] = 14; /* $%c */
2261: a->x.ints[4] = 3; /* l */
2262: goto L636; /* MOV %f,%t,%x,%y,%z */
2263: case 21: L21: /* CNSTI */
2264: dumptree(a, a->op);
2265: setreg(a, rmap[I]);
2266: a->x.ints[2] = 13; /* r%c */
2267: a->x.ints[0] = 14; /* $%c */
2268: a->x.ints[4] = 3; /* l */
2269: goto L636; /* MOV %f,%t,%x,%y,%z */
2270: case 22: L22: /* CNSTU */
2271: dumptree(a, a->op);
2272: setreg(a, rmap[U]);
2273: a->x.ints[2] = 13; /* r%c */
2274: a->x.ints[0] = 14; /* $%c */
2275: a->x.ints[4] = 3; /* l */
2276: goto L636; /* MOV %f,%t,%x,%y,%z */
2277: case 23: L23: /* CNSTP */
2278: dumptree(a, a->op);
2279: setreg(a, rmap[P]);
2280: a->x.ints[2] = 13; /* r%c */
2281: a->x.ints[0] = 14; /* $%c */
2282: a->x.ints[4] = 3; /* l */
2283: goto L636; /* MOV %f,%t,%x,%y,%z */
2284: case 33: L33: /* ARGF */
2285: dumptree(a, a->op);
2286: rewrite(a->kids[0]);
2287: a->x.ints[2] = 28; /* -(sp) */
2288: a->x.ints[0] = 12; /* r%n */
2289: a->x.ints[4] = 4; /* f */
2290: goto L636; /* MOV %f,%t,%x,%y,%z */
2291: case 34: L34: /* ARGD */
2292: dumptree(a, a->op);
2293: rewrite(a->kids[0]);
2294: a->x.ints[2] = 28; /* -(sp) */
2295: a->x.ints[0] = 12; /* r%n */
2296: a->x.ints[4] = 5; /* d */
2297: goto L636; /* MOV %f,%t,%x,%y,%z */
2298: case 37: L37: /* ARGI */
2299: dumptree(a, a->op);
2300: rewrite(a->kids[0]);
2301: a->x.ints[2] = 28; /* -(sp) */
2302: a->x.ints[0] = 12; /* r%n */
2303: a->x.ints[4] = 3; /* l */
2304: goto L636; /* MOV %f,%t,%x,%y,%z */
2305: case 39: L39: /* ARGP */
2306: dumptree(a, a->op);
2307: aset(a,0);
2308: rewrite(a->kids[0]);
2309: a->x.ints[2] = 28; /* -(sp) */
2310: a->x.ints[0] = 12; /* r%n */
2311: a->x.ints[4] = 3; /* l */
2312: goto L636; /* MOV %f,%t,%x,%y,%z */
2313: case 41: L41: /* ARGB */
2314: dumptree(a, a->op);
2315: aset(a,0);
2316: rewrite(a->kids[0]);
2317: a->x.ints[2] = 28; /* -(sp) */
2318: a->x.ints[0] = 9; /* (r%n) */
2319: a->syms[1] = a->syms[0];
2320: a->x.ints[1] = 14; /* $%c */
2321: a->x.ints[4] = 6; /* x */
2322: goto L636; /* MOV %f,%t,%x,%y,%z */
2323: case 49: L49: /* ASGNF */
2324: dumptree(a, a->op);
2325: aset(a,0);
2326: rewrite(a->kids[0]);
2327: rewrite(a->kids[1]);
2328: a->kids[2] = a->kids[0];
2329: a->kids[0] = 0;
2330: a->x.ints[2] = 9; /* (r%n) */
2331: a->x.ints[0] = 12; /* r%n */
2332: a->x.ints[4] = 4; /* f */
2333: a->kids[0] = a->kids[1];
2334: a->kids[1] = 0;
2335: goto L636; /* MOV %f,%t,%x,%y,%z */
2336: case 50: L50: /* ASGND */
2337: dumptree(a, a->op);
2338: aset(a,0);
2339: rewrite(a->kids[0]);
2340: rewrite(a->kids[1]);
2341: a->kids[2] = a->kids[0];
2342: a->kids[0] = 0;
2343: a->x.ints[2] = 9; /* (r%n) */
2344: a->x.ints[0] = 12; /* r%n */
2345: a->x.ints[4] = 5; /* d */
2346: a->kids[0] = a->kids[1];
2347: a->kids[1] = 0;
2348: goto L636; /* MOV %f,%t,%x,%y,%z */
2349: case 51: L51: /* ASGNC */
2350: dumptree(a, a->op);
2351: aset(a,0);
2352: rewrite(a->kids[0]);
2353: rewrite(a->kids[1]);
2354: a->kids[2] = a->kids[0];
2355: a->kids[0] = 0;
2356: a->x.ints[2] = 9; /* (r%n) */
2357: a->x.ints[0] = 12; /* r%n */
2358: a->x.ints[4] = 1; /* b */
2359: a->kids[0] = a->kids[1];
2360: a->kids[1] = 0;
2361: goto L636; /* MOV %f,%t,%x,%y,%z */
2362: case 52: L52: /* ASGNS */
2363: dumptree(a, a->op);
2364: aset(a,0);
2365: rewrite(a->kids[0]);
2366: rewrite(a->kids[1]);
2367: a->kids[2] = a->kids[0];
2368: a->kids[0] = 0;
2369: a->x.ints[2] = 9; /* (r%n) */
2370: a->x.ints[0] = 12; /* r%n */
2371: a->x.ints[4] = 2; /* w */
2372: a->kids[0] = a->kids[1];
2373: a->kids[1] = 0;
2374: goto L636; /* MOV %f,%t,%x,%y,%z */
2375: case 53: L53: /* ASGNI */
2376: dumptree(a, a->op);
2377: aset(a,0);
2378: rewrite(a->kids[0]);
2379: rewrite(a->kids[1]);
2380: a->kids[2] = a->kids[0];
2381: a->kids[0] = 0;
2382: a->x.ints[2] = 9; /* (r%n) */
2383: a->x.ints[0] = 12; /* r%n */
2384: a->x.ints[4] = 3; /* l */
2385: a->kids[0] = a->kids[1];
2386: a->kids[1] = 0;
2387: goto L636; /* MOV %f,%t,%x,%y,%z */
2388: case 55: L55: /* ASGNP */
2389: dumptree(a, a->op);
2390: aset(a,0);
2391: rewrite(a->kids[0]);
2392: rewrite(a->kids[1]);
2393: a->kids[2] = a->kids[0];
2394: a->kids[0] = 0;
2395: a->x.ints[2] = 9; /* (r%n) */
2396: a->x.ints[0] = 12; /* r%n */
2397: a->x.ints[4] = 3; /* l */
2398: a->kids[0] = a->kids[1];
2399: a->kids[1] = 0;
2400: goto L636; /* MOV %f,%t,%x,%y,%z */
2401: case 57: L57: /* ASGNB */
2402: dumptree(a, a->op);
2403: aset(a,0);
2404: aset(a,1);
2405: rewrite(a->kids[0]);
2406: rewrite(a->kids[1]);
2407: a->kids[2] = a->kids[0];
2408: a->kids[0] = 0;
2409: a->x.ints[2] = 9; /* (r%n) */
2410: a->x.ints[0] = 9; /* (r%n) */
2411: a->syms[1] = a->syms[0];
2412: a->x.ints[1] = 14; /* $%c */
2413: a->x.ints[4] = 6; /* x */
2414: a->kids[0] = a->kids[1];
2415: a->kids[1] = 0;
2416: goto L636; /* MOV %f,%t,%x,%y,%z */
2417: case 65: L65: /* INDIRF */
2418: dumptree(a, a->op);
2419: setreg(a, rmap[F]);
2420: aset(a,0);
2421: rewrite(a->kids[0]);
2422: a->x.ints[2] = 13; /* r%c */
2423: a->x.ints[0] = 9; /* (r%n) */
2424: a->x.ints[4] = 4; /* f */
2425: goto L636; /* MOV %f,%t,%x,%y,%z */
2426: case 66: L66: /* INDIRD */
2427: dumptree(a, a->op);
2428: setreg(a, rmap[D]);
2429: aset(a,0);
2430: rewrite(a->kids[0]);
2431: a->x.ints[2] = 13; /* r%c */
2432: a->x.ints[0] = 9; /* (r%n) */
2433: a->x.ints[4] = 5; /* d */
2434: goto L636; /* MOV %f,%t,%x,%y,%z */
2435: case 67: L67: /* INDIRC */
2436: dumptree(a, a->op);
2437: setreg(a, rmap[C]);
2438: aset(a,0);
2439: rewrite(a->kids[0]);
2440: a->x.ints[2] = 13; /* r%c */
2441: a->x.ints[0] = 9; /* (r%n) */
2442: a->x.ints[4] = 1; /* b */
2443: goto L636; /* MOV %f,%t,%x,%y,%z */
2444: case 68: L68: /* INDIRS */
2445: dumptree(a, a->op);
2446: setreg(a, rmap[S]);
2447: aset(a,0);
2448: rewrite(a->kids[0]);
2449: a->x.ints[2] = 13; /* r%c */
2450: a->x.ints[0] = 9; /* (r%n) */
2451: a->x.ints[4] = 2; /* w */
2452: goto L636; /* MOV %f,%t,%x,%y,%z */
2453: case 69: L69: /* INDIRI */
2454: dumptree(a, a->op);
2455: setreg(a, rmap[I]);
2456: aset(a,0);
2457: rewrite(a->kids[0]);
2458: a->x.ints[2] = 13; /* r%c */
2459: a->x.ints[0] = 9; /* (r%n) */
2460: a->x.ints[4] = 3; /* l */
2461: goto L636; /* MOV %f,%t,%x,%y,%z */
2462: case 71: L71: /* INDIRP */
2463: dumptree(a, a->op);
2464: setreg(a, rmap[P]);
2465: aset(a,0);
2466: rewrite(a->kids[0]);
2467: a->x.ints[2] = 13; /* r%c */
2468: a->x.ints[0] = 9; /* (r%n) */
2469: a->x.ints[4] = 3; /* l */
2470: goto L636; /* MOV %f,%t,%x,%y,%z */
2471: case 73: L73: /* INDIRB */
2472: dumptree(a, a->op);
2473: setreg(a, rmap[P]);
2474: aset(a,0);
2475: rewrite(a->kids[0]);
2476: a->x.ints[2] = 13; /* r%c */
2477: a->x.ints[0] = 12; /* r%n */
2478: a->x.ints[4] = 3; /* l */
2479: goto L636; /* MOV %f,%t,%x,%y,%z */
2480: case 85: L85: /* CVCI */
2481: dumptree(a, a->op);
2482: setreg(a, rmap[I]);
2483: rewrite(a->kids[0]);
2484: a->x.ints[2] = 13; /* r%c */
2485: a->x.ints[0] = 12; /* r%n */
2486: a->x.ints[4] = 3; /* l */
2487: a->x.ints[3] = 13; /* b */
2488: goto L634; /* CVT %f,%t,%x,%y,%z */
2489: case 86: L86: /* CVCU */
2490: dumptree(a, a->op);
2491: setreg(a, rmap[U]);
2492: rewrite(a->kids[0]);
2493: a->x.ints[2] = 13; /* r%c */
2494: a->x.ints[0] = 12; /* r%n */
2495: a->x.ints[4] = 3; /* l */
2496: a->x.ints[3] = 13; /* b */
2497: goto L638; /* MOVZ %f,%t,%x,%y,%z */
2498: case 97: L97: /* CVDF */
2499: dumptree(a, a->op);
2500: setreg(a, rmap[F]);
2501: rewrite(a->kids[0]);
2502: a->x.ints[2] = 13; /* r%c */
2503: a->x.ints[0] = 12; /* r%n */
2504: a->x.ints[4] = 4; /* f */
2505: a->x.ints[3] = 17; /* d */
2506: goto L634; /* CVT %f,%t,%x,%y,%z */
2507: case 101: L101: /* CVDI */
2508: dumptree(a, a->op);
2509: setreg(a, rmap[I]);
2510: rewrite(a->kids[0]);
2511: a->x.ints[2] = 13; /* r%c */
2512: a->x.ints[0] = 12; /* r%n */
2513: a->x.ints[4] = 3; /* l */
2514: a->x.ints[3] = 17; /* d */
2515: goto L634; /* CVT %f,%t,%x,%y,%z */
2516: case 114: L114: /* CVFD */
2517: dumptree(a, a->op);
2518: setreg(a, rmap[D]);
2519: rewrite(a->kids[0]);
2520: a->x.ints[2] = 13; /* r%c */
2521: a->x.ints[0] = 12; /* r%n */
2522: a->x.ints[4] = 5; /* d */
2523: a->x.ints[3] = 16; /* f */
2524: goto L634; /* CVT %f,%t,%x,%y,%z */
2525: case 130: L130: /* CVID */
2526: dumptree(a, a->op);
2527: setreg(a, rmap[D]);
2528: rewrite(a->kids[0]);
2529: a->x.ints[2] = 13; /* r%c */
2530: a->x.ints[0] = 12; /* r%n */
2531: a->x.ints[4] = 5; /* d */
2532: a->x.ints[3] = 15; /* l */
2533: goto L634; /* CVT %f,%t,%x,%y,%z */
2534: case 131: L131: /* CVIC */
2535: dumptree(a, a->op);
2536: setreg(a, rmap[C]);
2537: rewrite(a->kids[0]);
2538: a->x.ints[2] = 13; /* r%c */
2539: a->x.ints[0] = 12; /* r%n */
2540: a->x.ints[4] = 1; /* b */
2541: a->x.ints[3] = 15; /* l */
2542: goto L634; /* CVT %f,%t,%x,%y,%z */
2543: case 132: L132: /* CVIS */
2544: dumptree(a, a->op);
2545: setreg(a, rmap[S]);
2546: rewrite(a->kids[0]);
2547: a->x.ints[2] = 13; /* r%c */
2548: a->x.ints[0] = 12; /* r%n */
2549: a->x.ints[4] = 2; /* w */
2550: a->x.ints[3] = 15; /* l */
2551: goto L634; /* CVT %f,%t,%x,%y,%z */
2552: case 134: L134: /* CVIU */
2553: dumptree(a, a->op);
2554: setreg(a, rmap[U]);
2555: rewrite(a->kids[0]);
2556: a->x.ints[2] = 13; /* r%c */
2557: a->x.ints[0] = 12; /* r%n */
2558: a->x.ints[4] = 3; /* l */
2559: a->x.ints[3] = 15; /* l */
2560: goto L634; /* CVT %f,%t,%x,%y,%z */
2561: case 150: L150: /* CVPU */
2562: dumptree(a, a->op);
2563: setreg(a, rmap[U]);
2564: rewrite(a->kids[0]);
2565: a->x.ints[2] = 13; /* r%c */
2566: a->x.ints[0] = 12; /* r%n */
2567: a->x.ints[4] = 3; /* l */
2568: a->x.ints[3] = 15; /* l */
2569: goto L634; /* CVT %f,%t,%x,%y,%z */
2570: case 165: L165: /* CVSI */
2571: dumptree(a, a->op);
2572: setreg(a, rmap[I]);
2573: rewrite(a->kids[0]);
2574: a->x.ints[2] = 13; /* r%c */
2575: a->x.ints[0] = 12; /* r%n */
2576: a->x.ints[4] = 3; /* l */
2577: a->x.ints[3] = 14; /* w */
2578: goto L634; /* CVT %f,%t,%x,%y,%z */
2579: case 166: L166: /* CVSU */
2580: dumptree(a, a->op);
2581: setreg(a, rmap[U]);
2582: rewrite(a->kids[0]);
2583: a->x.ints[2] = 13; /* r%c */
2584: a->x.ints[0] = 12; /* r%n */
2585: a->x.ints[4] = 3; /* l */
2586: a->x.ints[3] = 14; /* w */
2587: goto L638; /* MOVZ %f,%t,%x,%y,%z */
2588: case 179: L179: /* CVUC */
2589: dumptree(a, a->op);
2590: setreg(a, rmap[C]);
2591: rewrite(a->kids[0]);
2592: a->x.ints[2] = 13; /* r%c */
2593: a->x.ints[0] = 12; /* r%n */
2594: a->x.ints[4] = 1; /* b */
2595: a->x.ints[3] = 15; /* l */
2596: goto L634; /* CVT %f,%t,%x,%y,%z */
2597: case 180: L180: /* CVUS */
2598: dumptree(a, a->op);
2599: setreg(a, rmap[S]);
2600: rewrite(a->kids[0]);
2601: a->x.ints[2] = 13; /* r%c */
2602: a->x.ints[0] = 12; /* r%n */
2603: a->x.ints[4] = 2; /* w */
2604: a->x.ints[3] = 15; /* l */
2605: goto L634; /* CVT %f,%t,%x,%y,%z */
2606: case 181: L181: /* CVUI */
2607: dumptree(a, a->op);
2608: setreg(a, rmap[I]);
2609: rewrite(a->kids[0]);
2610: a->x.ints[2] = 13; /* r%c */
2611: a->x.ints[0] = 12; /* r%n */
2612: a->x.ints[4] = 3; /* l */
2613: a->x.ints[3] = 15; /* l */
2614: goto L634; /* CVT %f,%t,%x,%y,%z */
2615: case 183: L183: /* CVUP */
2616: dumptree(a, a->op);
2617: setreg(a, rmap[P]);
2618: rewrite(a->kids[0]);
2619: a->x.ints[2] = 13; /* r%c */
2620: a->x.ints[0] = 12; /* r%n */
2621: a->x.ints[4] = 3; /* l */
2622: a->x.ints[3] = 15; /* l */
2623: goto L634; /* CVT %f,%t,%x,%y,%z */
2624: case 193: L193: /* NEGF */
2625: dumptree(a, a->op);
2626: setreg(a, rmap[F]);
2627: rewrite(a->kids[0]);
2628: a->x.ints[2] = 13; /* r%c */
2629: a->x.ints[0] = 12; /* r%n */
2630: a->x.ints[4] = 4; /* f */
2631: a->x.ints[3] = 29; /* mneg */
2632: goto L639; /* OP1 %f,%t,%x,%y,%z */
2633: case 194: L194: /* NEGD */
2634: dumptree(a, a->op);
2635: setreg(a, rmap[D]);
2636: rewrite(a->kids[0]);
2637: a->x.ints[2] = 13; /* r%c */
2638: a->x.ints[0] = 12; /* r%n */
2639: a->x.ints[4] = 5; /* d */
2640: a->x.ints[3] = 29; /* mneg */
2641: goto L639; /* OP1 %f,%t,%x,%y,%z */
2642: case 197: L197: /* NEGI */
2643: dumptree(a, a->op);
2644: setreg(a, rmap[I]);
2645: rewrite(a->kids[0]);
2646: a->x.ints[2] = 13; /* r%c */
2647: a->x.ints[0] = 12; /* r%n */
2648: a->x.ints[4] = 3; /* l */
2649: a->x.ints[3] = 29; /* mneg */
2650: goto L639; /* OP1 %f,%t,%x,%y,%z */
2651: case 209: L209: /* CALLF */
2652: dumptree(a, a->op);
2653: setreg(a, rmap[F]);
2654: aset(a,0);
2655: rewrite(a->kids[0]);
2656: a->x.ints[0] = 9; /* (r%n) */
2657: a->syms[1] = a->syms[0];
2658: a->x.ints[1] = 29; /* $%c/4 */
2659: setreg(a,f0);
2660: goto L632; /* CALL %f,%t,%x,%y,%z */
2661: case 210: L210: /* CALLD */
2662: dumptree(a, a->op);
2663: setreg(a, rmap[D]);
2664: aset(a,0);
2665: rewrite(a->kids[0]);
2666: a->x.ints[0] = 9; /* (r%n) */
2667: a->syms[1] = a->syms[0];
2668: a->x.ints[1] = 29; /* $%c/4 */
2669: setreg(a,d0);
2670: goto L632; /* CALL %f,%t,%x,%y,%z */
2671: case 213: L213: /* CALLI */
2672: dumptree(a, a->op);
2673: setreg(a, rmap[I]);
2674: aset(a,0);
2675: rewrite(a->kids[0]);
2676: a->x.ints[0] = 9; /* (r%n) */
2677: a->syms[1] = a->syms[0];
2678: a->x.ints[1] = 29; /* $%c/4 */
2679: setreg(a,r0);
2680: goto L632; /* CALL %f,%t,%x,%y,%z */
2681: case 216: L216: /* CALLV */
2682: dumptree(a, a->op);
2683: aset(a,0);
2684: rewrite(a->kids[0]);
2685: a->x.ints[0] = 9; /* (r%n) */
2686: a->syms[1] = a->syms[0];
2687: a->x.ints[1] = 29; /* $%c/4 */
2688: setreg(a,r0);
2689: goto L632; /* CALL %f,%t,%x,%y,%z */
2690: case 217: L217: /* CALLB */
2691: dumptree(a, a->op);
2692: aset(a,0);
2693: rewrite(a->kids[0]);
2694: rewrite(a->kids[1]);
2695: a->x.ints[0] = 9; /* (r%n) */
2696: a->syms[1] = a->syms[0];
2697: a->x.ints[1] = 29; /* $%c/4 */
2698: setreg(a,r0), rtarget(a,1,r1);
2699: goto L632; /* CALL %f,%t,%x,%y,%z */
2700: case 225: L225: /* LOADF */
2701: dumptree(a, a->op);
2702: rewrite(a->kids[0]);
2703: a->x.ints[2] = 13; /* r%c */
2704: a->x.ints[0] = 12; /* r%n */
2705: a->x.ints[4] = 4; /* f */
2706: goto L636; /* MOV %f,%t,%x,%y,%z */
2707: case 226: L226: /* LOADD */
2708: dumptree(a, a->op);
2709: rewrite(a->kids[0]);
2710: a->x.ints[2] = 13; /* r%c */
2711: a->x.ints[0] = 12; /* r%n */
2712: a->x.ints[4] = 5; /* d */
2713: goto L636; /* MOV %f,%t,%x,%y,%z */
2714: case 227: L227: /* LOADC */
2715: dumptree(a, a->op);
2716: rewrite(a->kids[0]);
2717: a->x.ints[2] = 13; /* r%c */
2718: a->x.ints[0] = 12; /* r%n */
2719: a->x.ints[4] = 1; /* b */
2720: goto L636; /* MOV %f,%t,%x,%y,%z */
2721: case 228: L228: /* LOADS */
2722: dumptree(a, a->op);
2723: rewrite(a->kids[0]);
2724: a->x.ints[2] = 13; /* r%c */
2725: a->x.ints[0] = 12; /* r%n */
2726: a->x.ints[4] = 2; /* w */
2727: goto L636; /* MOV %f,%t,%x,%y,%z */
2728: case 229: L229: /* LOADI */
2729: case 230: L230: /* LOADU */
2730: case 231: L231: /* LOADP */
2731: dumptree(a, a->op);
2732: rewrite(a->kids[0]);
2733: a->x.ints[2] = 13; /* r%c */
2734: a->x.ints[0] = 12; /* r%n */
2735: a->x.ints[4] = 3; /* l */
2736: goto L636; /* MOV %f,%t,%x,%y,%z */
2737: case 241: L241: /* RETF */
2738: dumptree(a, a->op);
2739: rewrite(a->kids[0]);
2740: rtarget(a,0,f0);
2741: goto L645; /* ret */
2742: case 242: L242: /* RETD */
2743: dumptree(a, a->op);
2744: rewrite(a->kids[0]);
2745: rtarget(a,0,d0);
2746: goto L645; /* ret */
2747: case 245: L245: /* RETI */
2748: dumptree(a, a->op);
2749: rewrite(a->kids[0]);
2750: rtarget(a,0,r0);
2751: goto L645; /* ret */
2752: case 248: L248: /* RETV */
2753: dumptree(a, a->op);
2754: goto L645; /* ret */
2755: case 263: L263: /* ADDRGP */
2756: dumptree(a, a->op);
2757: setreg(a, rmap[P]);
2758: a->x.ints[2] = 13; /* r%c */
2759: a->x.ints[0] = 10; /* %c */
2760: a->x.ints[4] = 3; /* l */
2761: goto L637; /* MOVA %f,%t,%x,%y,%z */
2762: case 279: L279: /* ADDRFP */
2763: dumptree(a, a->op);
2764: setreg(a, rmap[P]);
2765: a->x.ints[2] = 13; /* r%c */
2766: a->x.ints[0] = 6; /* %c(ap) */
2767: a->x.ints[4] = 3; /* l */
2768: goto L637; /* MOVA %f,%t,%x,%y,%z */
2769: case 295: L295: /* ADDRLP */
2770: dumptree(a, a->op);
2771: setreg(a, rmap[P]);
2772: a->x.ints[2] = 13; /* r%c */
2773: a->x.ints[0] = 7; /* %c(fp) */
2774: a->x.ints[4] = 3; /* l */
2775: goto L637; /* MOVA %f,%t,%x,%y,%z */
2776: case 305: L305: /* ADDF */
2777: dumptree(a, a->op);
2778: setreg(a, rmap[F]);
2779: rewrite(a->kids[0]);
2780: rewrite(a->kids[1]);
2781: a->x.ints[2] = 13; /* r%c */
2782: a->x.ints[0] = 12; /* r%n */
2783: a->x.ints[1] = 12; /* r%n */
2784: a->x.ints[4] = 4; /* f */
2785: a->x.ints[3] = 18; /* add */
2786: goto L640; /* OP2 %f,%t,%x,%y,%z */
2787: case 306: L306: /* ADDD */
2788: dumptree(a, a->op);
2789: setreg(a, rmap[D]);
2790: rewrite(a->kids[0]);
2791: rewrite(a->kids[1]);
2792: a->x.ints[2] = 13; /* r%c */
2793: a->x.ints[0] = 12; /* r%n */
2794: a->x.ints[1] = 12; /* r%n */
2795: a->x.ints[4] = 5; /* d */
2796: a->x.ints[3] = 18; /* add */
2797: goto L640; /* OP2 %f,%t,%x,%y,%z */
2798: case 309: L309: /* ADDI */
2799: dumptree(a, a->op);
2800: setreg(a, rmap[I]);
2801: rewrite(a->kids[0]);
2802: rewrite(a->kids[1]);
2803: a->x.ints[2] = 13; /* r%c */
2804: a->x.ints[0] = 12; /* r%n */
2805: a->x.ints[1] = 12; /* r%n */
2806: a->x.ints[4] = 3; /* l */
2807: a->x.ints[3] = 18; /* add */
2808: goto L640; /* OP2 %f,%t,%x,%y,%z */
2809: case 310: L310: /* ADDU */
2810: dumptree(a, a->op);
2811: setreg(a, rmap[U]);
2812: rewrite(a->kids[0]);
2813: rewrite(a->kids[1]);
2814: a->x.ints[2] = 13; /* r%c */
2815: a->x.ints[0] = 12; /* r%n */
2816: a->x.ints[1] = 12; /* r%n */
2817: a->x.ints[4] = 3; /* l */
2818: a->x.ints[3] = 18; /* add */
2819: goto L640; /* OP2 %f,%t,%x,%y,%z */
2820: case 311: L311: /* ADDP */
2821: dumptree(a, a->op);
2822: setreg(a, rmap[P]);
2823: rewrite(a->kids[0]);
2824: rewrite(a->kids[1]);
2825: a->x.ints[2] = 13; /* r%c */
2826: a->x.ints[0] = 12; /* r%n */
2827: a->x.ints[1] = 12; /* r%n */
2828: a->x.ints[4] = 3; /* l */
2829: a->x.ints[3] = 18; /* add */
2830: goto L640; /* OP2 %f,%t,%x,%y,%z */
2831: case 321: L321: /* SUBF */
2832: dumptree(a, a->op);
2833: setreg(a, rmap[F]);
2834: rewrite(a->kids[0]);
2835: rewrite(a->kids[1]);
2836: a->x.ints[2] = 13; /* r%c */
2837: a->x.ints[0] = 12; /* r%n */
2838: a->x.ints[1] = 12; /* r%n */
2839: a->x.ints[4] = 4; /* f */
2840: a->x.ints[3] = 24; /* sub */
2841: goto L640; /* OP2 %f,%t,%x,%y,%z */
2842: case 322: L322: /* SUBD */
2843: dumptree(a, a->op);
2844: setreg(a, rmap[D]);
2845: rewrite(a->kids[0]);
2846: rewrite(a->kids[1]);
2847: a->x.ints[2] = 13; /* r%c */
2848: a->x.ints[0] = 12; /* r%n */
2849: a->x.ints[1] = 12; /* r%n */
2850: a->x.ints[4] = 5; /* d */
2851: a->x.ints[3] = 24; /* sub */
2852: goto L640; /* OP2 %f,%t,%x,%y,%z */
2853: case 325: L325: /* SUBI */
2854: dumptree(a, a->op);
2855: setreg(a, rmap[I]);
2856: rewrite(a->kids[0]);
2857: rewrite(a->kids[1]);
2858: a->x.ints[2] = 13; /* r%c */
2859: a->x.ints[0] = 12; /* r%n */
2860: a->x.ints[1] = 12; /* r%n */
2861: a->x.ints[4] = 3; /* l */
2862: a->x.ints[3] = 24; /* sub */
2863: goto L640; /* OP2 %f,%t,%x,%y,%z */
2864: case 326: L326: /* SUBU */
2865: dumptree(a, a->op);
2866: setreg(a, rmap[U]);
2867: rewrite(a->kids[0]);
2868: rewrite(a->kids[1]);
2869: a->x.ints[2] = 13; /* r%c */
2870: a->x.ints[0] = 12; /* r%n */
2871: a->x.ints[1] = 12; /* r%n */
2872: a->x.ints[4] = 3; /* l */
2873: a->x.ints[3] = 24; /* sub */
2874: goto L640; /* OP2 %f,%t,%x,%y,%z */
2875: case 327: L327: /* SUBP */
2876: dumptree(a, a->op);
2877: setreg(a, rmap[P]);
2878: rewrite(a->kids[0]);
2879: rewrite(a->kids[1]);
2880: a->x.ints[2] = 13; /* r%c */
2881: a->x.ints[0] = 12; /* r%n */
2882: a->x.ints[1] = 12; /* r%n */
2883: a->x.ints[4] = 3; /* l */
2884: a->x.ints[3] = 24; /* sub */
2885: goto L640; /* OP2 %f,%t,%x,%y,%z */
2886: case 341: L341: /* LSHI */
2887: dumptree(a, a->op);
2888: setreg(a, rmap[I]);
2889: rewrite(a->kids[0]);
2890: rewrite(a->kids[1]);
2891: a->x.ints[2] = 13; /* r%c */
2892: a->x.ints[0] = 12; /* r%n */
2893: a->x.ints[1] = 12; /* r%n */
2894: a->x.ints[4] = 3; /* l */
2895: goto L630; /* ASH %f,%t,%x,%y,%z */
2896: case 342: L342: /* LSHU */
2897: dumptree(a, a->op);
2898: setreg(a, rmap[U]);
2899: rewrite(a->kids[0]);
2900: rewrite(a->kids[1]);
2901: a->x.ints[2] = 13; /* r%c */
2902: a->x.ints[0] = 12; /* r%n */
2903: a->x.ints[1] = 12; /* r%n */
2904: a->x.ints[4] = 3; /* l */
2905: goto L630; /* ASH %f,%t,%x,%y,%z */
2906: case 357: L357: /* MODI */
2907: dumptree(a, a->op);
2908: setreg(a, rmap[I]);
2909: rewrite(a->kids[0]);
2910: rewrite(a->kids[1]);
2911: a->x.ints[2] = 13; /* r%c */
2912: a->x.ints[0] = 12; /* r%n */
2913: a->x.ints[1] = 12; /* r%n */
2914: a->x.ints[4] = 3; /* l */
2915: a->x.ints[3] = 22; /* mod */
2916: goto L640; /* OP2 %f,%t,%x,%y,%z */
2917: case 358: L358: /* MODU */
2918: dumptree(a, a->op);
2919: setreg(a, rmap[U]);
2920: rewrite(a->kids[0]);
2921: rewrite(a->kids[1]);
2922: a->x.ints[3] = 31; /* urem */
2923: a->x.ints[0] = 12; /* r%n */
2924: a->x.ints[1] = 12; /* r%n */
2925: setreg(a,r0);
2926: goto L610; /* pushl %x\npushl %y\ncalls $2,%f */
2927: case 373: L373: /* RSHI */
2928: dumptree(a, a->op);
2929: setreg(a, rmap[I]);
2930: rewrite(a->kids[0]);
2931: rewrite(a->kids[1]);
2932: a->x.ints[2] = 13; /* r%c */
2933: a->x.ints[0] = 12; /* r%n */
2934: a->x.ints[1] = 12; /* r%n */
2935: a->x.ints[4] = 3; /* l */
2936: goto L630; /* ASH %f,%t,%x,%y,%z */
2937: case 374: L374: /* RSHU */
2938: dumptree(a, a->op);
2939: setreg(a, rmap[U]);
2940: rewrite(a->kids[0]);
2941: rewrite(a->kids[1]);
2942: a->x.ints[2] = 13; /* r%c */
2943: a->x.ints[0] = 12; /* r%n */
2944: a->x.ints[1] = 12; /* r%n */
2945: a->x.ints[4] = 3; /* l */
2946: goto L635; /* EXT %f,%t,%x,%y,%z */
2947: case 390: L390: /* BANDU */
2948: dumptree(a, a->op);
2949: setreg(a, rmap[U]);
2950: rewrite(a->kids[0]);
2951: rewrite(a->kids[1]);
2952: a->x.ints[2] = 13; /* r%c */
2953: a->x.ints[0] = 12; /* r%n */
2954: a->x.ints[1] = 12; /* r%n */
2955: a->x.ints[4] = 3; /* l */
2956: a->x.ints[3] = 19; /* bic */
2957: goto L640; /* OP2 %f,%t,%x,%y,%z */
2958: case 406: L406: /* BCOMU */
2959: dumptree(a, a->op);
2960: setreg(a, rmap[U]);
2961: rewrite(a->kids[0]);
2962: a->x.ints[2] = 13; /* r%c */
2963: a->x.ints[0] = 12; /* r%n */
2964: a->x.ints[4] = 3; /* l */
2965: a->x.ints[3] = 28; /* mcom */
2966: goto L639; /* OP1 %f,%t,%x,%y,%z */
2967: case 422: L422: /* BORU */
2968: dumptree(a, a->op);
2969: setreg(a, rmap[U]);
2970: rewrite(a->kids[0]);
2971: rewrite(a->kids[1]);
2972: a->x.ints[2] = 13; /* r%c */
2973: a->x.ints[0] = 12; /* r%n */
2974: a->x.ints[1] = 12; /* r%n */
2975: a->x.ints[4] = 3; /* l */
2976: a->x.ints[3] = 20; /* bis */
2977: goto L640; /* OP2 %f,%t,%x,%y,%z */
2978: case 438: L438: /* BXORU */
2979: dumptree(a, a->op);
2980: setreg(a, rmap[U]);
2981: rewrite(a->kids[0]);
2982: rewrite(a->kids[1]);
2983: a->x.ints[2] = 13; /* r%c */
2984: a->x.ints[0] = 12; /* r%n */
2985: a->x.ints[1] = 12; /* r%n */
2986: a->x.ints[4] = 3; /* l */
2987: a->x.ints[3] = 25; /* xor */
2988: goto L640; /* OP2 %f,%t,%x,%y,%z */
2989: case 449: L449: /* DIVF */
2990: dumptree(a, a->op);
2991: setreg(a, rmap[F]);
2992: rewrite(a->kids[0]);
2993: rewrite(a->kids[1]);
2994: a->x.ints[2] = 13; /* r%c */
2995: a->x.ints[0] = 12; /* r%n */
2996: a->x.ints[1] = 12; /* r%n */
2997: a->x.ints[4] = 4; /* f */
2998: a->x.ints[3] = 21; /* div */
2999: goto L640; /* OP2 %f,%t,%x,%y,%z */
3000: case 450: L450: /* DIVD */
3001: dumptree(a, a->op);
3002: setreg(a, rmap[D]);
3003: rewrite(a->kids[0]);
3004: rewrite(a->kids[1]);
3005: a->x.ints[2] = 13; /* r%c */
3006: a->x.ints[0] = 12; /* r%n */
3007: a->x.ints[1] = 12; /* r%n */
3008: a->x.ints[4] = 5; /* d */
3009: a->x.ints[3] = 21; /* div */
3010: goto L640; /* OP2 %f,%t,%x,%y,%z */
3011: case 453: L453: /* DIVI */
3012: dumptree(a, a->op);
3013: setreg(a, rmap[I]);
3014: rewrite(a->kids[0]);
3015: rewrite(a->kids[1]);
3016: a->x.ints[2] = 13; /* r%c */
3017: a->x.ints[0] = 12; /* r%n */
3018: a->x.ints[1] = 12; /* r%n */
3019: a->x.ints[4] = 3; /* l */
3020: a->x.ints[3] = 21; /* div */
3021: goto L640; /* OP2 %f,%t,%x,%y,%z */
3022: case 454: L454: /* DIVU */
3023: dumptree(a, a->op);
3024: setreg(a, rmap[U]);
3025: rewrite(a->kids[0]);
3026: rewrite(a->kids[1]);
3027: a->x.ints[3] = 30; /* udiv */
3028: a->x.ints[0] = 12; /* r%n */
3029: a->x.ints[1] = 12; /* r%n */
3030: setreg(a,r0);
3031: goto L610; /* pushl %x\npushl %y\ncalls $2,%f */
3032: case 465: L465: /* MULF */
3033: dumptree(a, a->op);
3034: setreg(a, rmap[F]);
3035: rewrite(a->kids[0]);
3036: rewrite(a->kids[1]);
3037: a->x.ints[2] = 13; /* r%c */
3038: a->x.ints[0] = 12; /* r%n */
3039: a->x.ints[1] = 12; /* r%n */
3040: a->x.ints[4] = 4; /* f */
3041: a->x.ints[3] = 23; /* mul */
3042: goto L640; /* OP2 %f,%t,%x,%y,%z */
3043: case 466: L466: /* MULD */
3044: dumptree(a, a->op);
3045: setreg(a, rmap[D]);
3046: rewrite(a->kids[0]);
3047: rewrite(a->kids[1]);
3048: a->x.ints[2] = 13; /* r%c */
3049: a->x.ints[0] = 12; /* r%n */
3050: a->x.ints[1] = 12; /* r%n */
3051: a->x.ints[4] = 5; /* d */
3052: a->x.ints[3] = 23; /* mul */
3053: goto L640; /* OP2 %f,%t,%x,%y,%z */
3054: case 469: L469: /* MULI */
3055: dumptree(a, a->op);
3056: setreg(a, rmap[I]);
3057: rewrite(a->kids[0]);
3058: rewrite(a->kids[1]);
3059: a->x.ints[2] = 13; /* r%c */
3060: a->x.ints[0] = 12; /* r%n */
3061: a->x.ints[1] = 12; /* r%n */
3062: a->x.ints[4] = 3; /* l */
3063: a->x.ints[3] = 23; /* mul */
3064: goto L640; /* OP2 %f,%t,%x,%y,%z */
3065: case 470: L470: /* MULU */
3066: dumptree(a, a->op);
3067: setreg(a, rmap[U]);
3068: rewrite(a->kids[0]);
3069: rewrite(a->kids[1]);
3070: a->x.ints[2] = 13; /* r%c */
3071: a->x.ints[0] = 12; /* r%n */
3072: a->x.ints[1] = 12; /* r%n */
3073: a->x.ints[4] = 3; /* l */
3074: a->x.ints[3] = 23; /* mul */
3075: goto L640; /* OP2 %f,%t,%x,%y,%z */
3076: case 481: L481: /* EQF */
3077: dumptree(a, a->op);
3078: rewrite(a->kids[0]);
3079: rewrite(a->kids[1]);
3080: a->syms[2] = a->syms[0];
3081: a->x.ints[2] = 10; /* %c */
3082: a->x.ints[0] = 12; /* r%n */
3083: a->x.ints[1] = 12; /* r%n */
3084: a->x.ints[4] = 4; /* f */
3085: a->x.ints[3] = 2; /* eql */
3086: goto L633; /* CMP %f,%t,%x,%y,%z */
3087: case 482: L482: /* EQD */
3088: dumptree(a, a->op);
3089: rewrite(a->kids[0]);
3090: rewrite(a->kids[1]);
3091: a->syms[2] = a->syms[0];
3092: a->x.ints[2] = 10; /* %c */
3093: a->x.ints[0] = 12; /* r%n */
3094: a->x.ints[1] = 12; /* r%n */
3095: a->x.ints[4] = 5; /* d */
3096: a->x.ints[3] = 2; /* eql */
3097: goto L633; /* CMP %f,%t,%x,%y,%z */
3098: case 485: L485: /* EQI */
3099: dumptree(a, a->op);
3100: rewrite(a->kids[0]);
3101: rewrite(a->kids[1]);
3102: a->syms[2] = a->syms[0];
3103: a->x.ints[2] = 10; /* %c */
3104: a->x.ints[0] = 12; /* r%n */
3105: a->x.ints[1] = 12; /* r%n */
3106: a->x.ints[4] = 3; /* l */
3107: a->x.ints[3] = 2; /* eql */
3108: goto L633; /* CMP %f,%t,%x,%y,%z */
3109: case 497: L497: /* GEF */
3110: dumptree(a, a->op);
3111: rewrite(a->kids[0]);
3112: rewrite(a->kids[1]);
3113: a->syms[2] = a->syms[0];
3114: a->x.ints[2] = 10; /* %c */
3115: a->x.ints[0] = 12; /* r%n */
3116: a->x.ints[1] = 12; /* r%n */
3117: a->x.ints[4] = 4; /* f */
3118: a->x.ints[3] = 4; /* geq */
3119: goto L633; /* CMP %f,%t,%x,%y,%z */
3120: case 498: L498: /* GED */
3121: dumptree(a, a->op);
3122: rewrite(a->kids[0]);
3123: rewrite(a->kids[1]);
3124: a->syms[2] = a->syms[0];
3125: a->x.ints[2] = 10; /* %c */
3126: a->x.ints[0] = 12; /* r%n */
3127: a->x.ints[1] = 12; /* r%n */
3128: a->x.ints[4] = 5; /* d */
3129: a->x.ints[3] = 4; /* geq */
3130: goto L633; /* CMP %f,%t,%x,%y,%z */
3131: case 501: L501: /* GEI */
3132: dumptree(a, a->op);
3133: rewrite(a->kids[0]);
3134: rewrite(a->kids[1]);
3135: a->syms[2] = a->syms[0];
3136: a->x.ints[2] = 10; /* %c */
3137: a->x.ints[0] = 12; /* r%n */
3138: a->x.ints[1] = 12; /* r%n */
3139: a->x.ints[4] = 3; /* l */
3140: a->x.ints[3] = 4; /* geq */
3141: goto L633; /* CMP %f,%t,%x,%y,%z */
3142: case 502: L502: /* GEU */
3143: dumptree(a, a->op);
3144: rewrite(a->kids[0]);
3145: rewrite(a->kids[1]);
3146: a->syms[2] = a->syms[0];
3147: a->x.ints[2] = 10; /* %c */
3148: a->x.ints[0] = 12; /* r%n */
3149: a->x.ints[1] = 12; /* r%n */
3150: a->x.ints[4] = 3; /* l */
3151: a->x.ints[3] = 3; /* gequ */
3152: goto L633; /* CMP %f,%t,%x,%y,%z */
3153: case 513: L513: /* GTF */
3154: dumptree(a, a->op);
3155: rewrite(a->kids[0]);
3156: rewrite(a->kids[1]);
3157: a->syms[2] = a->syms[0];
3158: a->x.ints[2] = 10; /* %c */
3159: a->x.ints[0] = 12; /* r%n */
3160: a->x.ints[1] = 12; /* r%n */
3161: a->x.ints[4] = 4; /* f */
3162: a->x.ints[3] = 6; /* gtr */
3163: goto L633; /* CMP %f,%t,%x,%y,%z */
3164: case 514: L514: /* GTD */
3165: dumptree(a, a->op);
3166: rewrite(a->kids[0]);
3167: rewrite(a->kids[1]);
3168: a->syms[2] = a->syms[0];
3169: a->x.ints[2] = 10; /* %c */
3170: a->x.ints[0] = 12; /* r%n */
3171: a->x.ints[1] = 12; /* r%n */
3172: a->x.ints[4] = 5; /* d */
3173: a->x.ints[3] = 6; /* gtr */
3174: goto L633; /* CMP %f,%t,%x,%y,%z */
3175: case 517: L517: /* GTI */
3176: dumptree(a, a->op);
3177: rewrite(a->kids[0]);
3178: rewrite(a->kids[1]);
3179: a->syms[2] = a->syms[0];
3180: a->x.ints[2] = 10; /* %c */
3181: a->x.ints[0] = 12; /* r%n */
3182: a->x.ints[1] = 12; /* r%n */
3183: a->x.ints[4] = 3; /* l */
3184: a->x.ints[3] = 6; /* gtr */
3185: goto L633; /* CMP %f,%t,%x,%y,%z */
3186: case 518: L518: /* GTU */
3187: dumptree(a, a->op);
3188: rewrite(a->kids[0]);
3189: rewrite(a->kids[1]);
3190: a->syms[2] = a->syms[0];
3191: a->x.ints[2] = 10; /* %c */
3192: a->x.ints[0] = 12; /* r%n */
3193: a->x.ints[1] = 12; /* r%n */
3194: a->x.ints[4] = 3; /* l */
3195: a->x.ints[3] = 5; /* gtru */
3196: goto L633; /* CMP %f,%t,%x,%y,%z */
3197: case 529: L529: /* LEF */
3198: dumptree(a, a->op);
3199: rewrite(a->kids[0]);
3200: rewrite(a->kids[1]);
3201: a->syms[2] = a->syms[0];
3202: a->x.ints[2] = 10; /* %c */
3203: a->x.ints[0] = 12; /* r%n */
3204: a->x.ints[1] = 12; /* r%n */
3205: a->x.ints[4] = 4; /* f */
3206: a->x.ints[3] = 8; /* leq */
3207: goto L633; /* CMP %f,%t,%x,%y,%z */
3208: case 530: L530: /* LED */
3209: dumptree(a, a->op);
3210: rewrite(a->kids[0]);
3211: rewrite(a->kids[1]);
3212: a->syms[2] = a->syms[0];
3213: a->x.ints[2] = 10; /* %c */
3214: a->x.ints[0] = 12; /* r%n */
3215: a->x.ints[1] = 12; /* r%n */
3216: a->x.ints[4] = 5; /* d */
3217: a->x.ints[3] = 8; /* leq */
3218: goto L633; /* CMP %f,%t,%x,%y,%z */
3219: case 533: L533: /* LEI */
3220: dumptree(a, a->op);
3221: rewrite(a->kids[0]);
3222: rewrite(a->kids[1]);
3223: a->syms[2] = a->syms[0];
3224: a->x.ints[2] = 10; /* %c */
3225: a->x.ints[0] = 12; /* r%n */
3226: a->x.ints[1] = 12; /* r%n */
3227: a->x.ints[4] = 3; /* l */
3228: a->x.ints[3] = 8; /* leq */
3229: goto L633; /* CMP %f,%t,%x,%y,%z */
3230: case 534: L534: /* LEU */
3231: dumptree(a, a->op);
3232: rewrite(a->kids[0]);
3233: rewrite(a->kids[1]);
3234: a->syms[2] = a->syms[0];
3235: a->x.ints[2] = 10; /* %c */
3236: a->x.ints[0] = 12; /* r%n */
3237: a->x.ints[1] = 12; /* r%n */
3238: a->x.ints[4] = 3; /* l */
3239: a->x.ints[3] = 7; /* lequ */
3240: goto L633; /* CMP %f,%t,%x,%y,%z */
3241: case 545: L545: /* LTF */
3242: dumptree(a, a->op);
3243: rewrite(a->kids[0]);
3244: rewrite(a->kids[1]);
3245: a->syms[2] = a->syms[0];
3246: a->x.ints[2] = 10; /* %c */
3247: a->x.ints[0] = 12; /* r%n */
3248: a->x.ints[1] = 12; /* r%n */
3249: a->x.ints[4] = 4; /* f */
3250: a->x.ints[3] = 10; /* lss */
3251: goto L633; /* CMP %f,%t,%x,%y,%z */
3252: case 546: L546: /* LTD */
3253: dumptree(a, a->op);
3254: rewrite(a->kids[0]);
3255: rewrite(a->kids[1]);
3256: a->syms[2] = a->syms[0];
3257: a->x.ints[2] = 10; /* %c */
3258: a->x.ints[0] = 12; /* r%n */
3259: a->x.ints[1] = 12; /* r%n */
3260: a->x.ints[4] = 5; /* d */
3261: a->x.ints[3] = 10; /* lss */
3262: goto L633; /* CMP %f,%t,%x,%y,%z */
3263: case 549: L549: /* LTI */
3264: dumptree(a, a->op);
3265: rewrite(a->kids[0]);
3266: rewrite(a->kids[1]);
3267: a->syms[2] = a->syms[0];
3268: a->x.ints[2] = 10; /* %c */
3269: a->x.ints[0] = 12; /* r%n */
3270: a->x.ints[1] = 12; /* r%n */
3271: a->x.ints[4] = 3; /* l */
3272: a->x.ints[3] = 10; /* lss */
3273: goto L633; /* CMP %f,%t,%x,%y,%z */
3274: case 550: L550: /* LTU */
3275: dumptree(a, a->op);
3276: rewrite(a->kids[0]);
3277: rewrite(a->kids[1]);
3278: a->syms[2] = a->syms[0];
3279: a->x.ints[2] = 10; /* %c */
3280: a->x.ints[0] = 12; /* r%n */
3281: a->x.ints[1] = 12; /* r%n */
3282: a->x.ints[4] = 3; /* l */
3283: a->x.ints[3] = 9; /* lssu */
3284: goto L633; /* CMP %f,%t,%x,%y,%z */
3285: case 561: L561: /* NEF */
3286: dumptree(a, a->op);
3287: rewrite(a->kids[0]);
3288: rewrite(a->kids[1]);
3289: a->syms[2] = a->syms[0];
3290: a->x.ints[2] = 10; /* %c */
3291: a->x.ints[0] = 12; /* r%n */
3292: a->x.ints[1] = 12; /* r%n */
3293: a->x.ints[4] = 4; /* f */
3294: a->x.ints[3] = 12; /* neq */
3295: goto L633; /* CMP %f,%t,%x,%y,%z */
3296: case 562: L562: /* NED */
3297: dumptree(a, a->op);
3298: rewrite(a->kids[0]);
3299: rewrite(a->kids[1]);
3300: a->syms[2] = a->syms[0];
3301: a->x.ints[2] = 10; /* %c */
3302: a->x.ints[0] = 12; /* r%n */
3303: a->x.ints[1] = 12; /* r%n */
3304: a->x.ints[4] = 5; /* d */
3305: a->x.ints[3] = 12; /* neq */
3306: goto L633; /* CMP %f,%t,%x,%y,%z */
3307: case 565: L565: /* NEI */
3308: dumptree(a, a->op);
3309: rewrite(a->kids[0]);
3310: rewrite(a->kids[1]);
3311: a->syms[2] = a->syms[0];
3312: a->x.ints[2] = 10; /* %c */
3313: a->x.ints[0] = 12; /* r%n */
3314: a->x.ints[1] = 12; /* r%n */
3315: a->x.ints[4] = 3; /* l */
3316: a->x.ints[3] = 12; /* neq */
3317: goto L633; /* CMP %f,%t,%x,%y,%z */
3318: case 584: L584: /* JUMPV */
3319: dumptree(a, a->op);
3320: rewrite(a->kids[0]);
3321: a->kids[2] = a->kids[0];
3322: a->kids[0] = 0;
3323: a->x.ints[2] = 9; /* (r%n) */
3324: goto L644; /* jmp %z */
3325: case 600: L600: /* LABELV */
3326: dumptree(a, a->op);
3327: a->syms[2] = a->syms[0];
3328: a->x.ints[2] = 10; /* %c */
3329: goto L648; /* %z: */
3330: case 608: L608: /* subl3 %x,$32,r0\nextzv %x,r0,%y,%z */
3331: dumptree(a, 608);
3332: a->op = 608;
3333: break;
3334: case 609: L609: /* calls %x,%y */
3335: dumptree(a, 609);
3336: a->op = 609;
3337: break;
3338: case 610: L610: /* pushl %x\npushl %y\ncalls $2,%f */
3339: dumptree(a, 610);
3340: a->op = 610;
3341: break;
3342: case 611: L611: /* movc3 %x,%y,%z */
3343: dumptree(a, 611);
3344: a->op = 611;
3345: break;
3346: case 612: L612: /* subl2 %x,sp\nmovc3 %z,%y,(sp) */
3347: dumptree(a, 612);
3348: a->op = 612;
3349: break;
3350: case 613: L613: /* %f%t %y,%z */
3351: dumptree(a, 613);
3352: a->op = 613;
3353: break;
3354: case 614: L614: /* %f%t %z */
3355: dumptree(a, 614);
3356: a->op = 614;
3357: break;
3358: case 615: L615: /* %f%t2 %x,%z */
3359: dumptree(a, 615);
3360: a->op = 615;
3361: break;
3362: case 616: L616: /* %f%t3 %x,%y,%z */
3363: dumptree(a, 616);
3364: a->op = 616;
3365: break;
3366: case 617: L617: /* ash%t %x,%y,%z */
3367: dumptree(a, 617);
3368: a->op = 617;
3369: break;
3370: case 618: L618: /* clr%t %z */
3371: dumptree(a, 618);
3372: a->op = 618;
3373: break;
3374: case 619: L619: /* cmp%t %y,%x\nj%f %z */
3375: dumptree(a, 619);
3376: a->op = 619;
3377: break;
3378: case 620: L620: /* cvt%f%t %y,%z */
3379: dumptree(a, 620);
3380: a->op = 620;
3381: break;
3382: case 621: L621: /* div%t3 %x,%y,-(sp)\nmul%t2 %x,(sp)\nsub%t3 (sp)+,%y,%z */
3383: dumptree(a, 621);
3384: a->op = 621;
3385: break;
3386: case 622: L622: /* extzv %x,%y,%z */
3387: dumptree(a, 622);
3388: a->op = 622;
3389: break;
3390: case 623: L623: /* mov%t %y,%z */
3391: dumptree(a, 623);
3392: a->op = 623;
3393: break;
3394: case 624: L624: /* mova%t %y,%z */
3395: dumptree(a, 624);
3396: a->op = 624;
3397: break;
3398: case 625: L625: /* movz%f%t %y,%z */
3399: dumptree(a, 625);
3400: a->op = 625;
3401: break;
3402: case 626: L626: /* pusha%t %y */
3403: dumptree(a, 626);
3404: a->op = 626;
3405: break;
3406: case 627: L627: /* pushl %y */
3407: dumptree(a, 627);
3408: a->op = 627;
3409: break;
3410: case 628: L628: /* tst%t %y\nj%f %z */
3411: dumptree(a, 628);
3412: a->op = 628;
3413: break;
3414: case 629: L629: /* bit%t %y,%x\nj%f %z */
3415: dumptree(a, 629);
3416: a->op = 629;
3417: break;
3418: case 630: L630: /* ASH %f,%t,%x,%y,%z */
3419: dumptree(a, 630);
3420: if (
3421: a->x.ints[4] == 3 /* l */
3422: && a->x.ints[1] == 14 /* $%c */
3423: ) {
3424: if (
3425: a->syms[1]->x.name == sym[2].x.name /* 1 */
3426: && a->x.ints[0] == 12 /* r%n */
3427: && a->x.ints[2] == 13 /* r%c */
3428: ) {
3429: a->syms[0] = &sym[1]; /* 0 */
3430: a->x.ints[0] = 24; /* %c[r%i] */
3431: a->x.ints[4] = 2; /* w */
3432: a->kids[3] = a->kids[0];
3433: a->kids[0] = 0;
3434: goto L637; /* MOVA %f,%t,%x,%y,%z */
3435: }
3436: if (
3437: a->syms[1]->x.name == sym[4].x.name /* 3 */
3438: && a->x.ints[0] == 12 /* r%n */
3439: && a->x.ints[2] == 13 /* r%c */
3440: ) {
3441: a->syms[0] = &sym[1]; /* 0 */
3442: a->x.ints[0] = 24; /* %c[r%i] */
3443: a->x.ints[4] = 5; /* d */
3444: a->kids[3] = a->kids[0];
3445: a->kids[0] = 0;
3446: goto L637; /* MOVA %f,%t,%x,%y,%z */
3447: }
3448: if (
3449: a->syms[1]->x.name == sym[3].x.name /* 2 */
3450: && a->x.ints[0] == 12 /* r%n */
3451: && a->x.ints[2] == 13 /* r%c */
3452: ) {
3453: a->syms[0] = &sym[1]; /* 0 */
3454: a->x.ints[0] = 24; /* %c[r%i] */
3455: a->x.ints[4] = 3; /* l */
3456: a->kids[3] = a->kids[0];
3457: a->kids[0] = 0;
3458: goto L637; /* MOVA %f,%t,%x,%y,%z */
3459: }
3460: }
3461: b = a->kids[1];
3462: if (
3463: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1026> */
3464: && a->x.ints[1] == 12 /* r%n */
3465: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3466: && b->x.ints[4] == a->x.ints[4]
3467: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1032> */
3468: ) {
3469: if (--b->count > 0) {
3470: if (c=b->kids[0]) ++c->count;
3471: if (c=b->kids[3]) ++c->count;
3472: }
3473: a->syms[1] = b->syms[0];
3474: a->kids[4] = b->kids[3];
3475: a->x.ints[1] = b->x.ints[0];
3476: a->kids[1] = b->kids[0];
3477: goto L630; /* ASH %f,%t,%x,%y,%z */
3478: }
3479: b = a->kids[0];
3480: if (
3481: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1037> */
3482: && a->x.ints[0] == 12 /* r%n */
3483: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3484: && b->x.ints[4] == a->x.ints[4]
3485: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1043> */
3486: ) {
3487: if (--b->count > 0) {
3488: if (c=b->kids[0]) ++c->count;
3489: if (c=b->kids[3]) ++c->count;
3490: }
3491: a->syms[0] = b->syms[0];
3492: a->kids[3] = b->kids[3];
3493: a->x.ints[0] = b->x.ints[0];
3494: a->kids[0] = b->kids[0];
3495: goto L630; /* ASH %f,%t,%x,%y,%z */
3496: }
3497: if (
3498: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1048> */
3499: && a->x.ints[0] == 12 /* r%n */
3500: && !kflag
3501: && b->count == 1
3502: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3503: && b->x.ints[4] == a->x.ints[4]
3504: ) {
3505: if (--b->count > 0) {
3506: if (c=b->kids[0]) ++c->count;
3507: if (c=b->kids[3]) ++c->count;
3508: }
3509: a->syms[0] = b->syms[0];
3510: a->kids[3] = b->kids[3];
3511: a->x.ints[0] = b->x.ints[0];
3512: a->kids[0] = b->kids[0];
3513: goto L630; /* ASH %f,%t,%x,%y,%z */
3514: }
3515: a->op = 630;
3516: break;
3517: case 631: L631: /* BIT %f,%t,%x,%y,%z */
3518: dumptree(a, 631);
3519: a->op = 631;
3520: break;
3521: case 632: L632: /* CALL %f,%t,%x,%y,%z */
3522: dumptree(a, 632);
3523: if (
3524: a->x.ints[0] == 9 /* (r%n) */
3525: ) {
3526: b = a->kids[0];
3527: if (
3528: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
3529: && "\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1063> */
3530: ) {
3531: if (--b->count > 0) {
3532: if (c=b->kids[0]) ++c->count;
3533: if (c=b->kids[3]) ++c->count;
3534: }
3535: a->syms[0] = b->syms[0];
3536: a->kids[3] = b->kids[3];
3537: a->x.ints[0] = b->x.ints[0];
3538: a->kids[0] = b->kids[0];
3539: goto L632; /* CALL %f,%t,%x,%y,%z */
3540: }
3541: if (
3542: !kflag
3543: && b->count == 1
3544: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3545: ) {
3546: /* %c(ap) => *%c(ap) */
3547: /* %c(fp) => *%c(fp) */
3548: /* %c(r%n) => *%c(r%n) */
3549: /* (r%n) => *(r%n) */
3550: /* %c => *%c */
3551: /* r%n => (r%n) */
3552: /* $%c => *$%c */
3553: if (s="\0\0\0\0\0\0\1\2\3\4\5\0\11\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]]) {
3554: if (--b->count > 0)
3555: if (c=b->kids[0]) ++c->count;
3556: a->x.ints[0] = s;
3557: a->syms[0] = b->syms[0];
3558: a->kids[0] = b->kids[0];
3559: goto L632; /* CALL %f,%t,%x,%y,%z */
3560: }
3561: }
3562: }
3563: a->op = 632;
3564: break;
3565: case 633: L633: /* CMP %f,%t,%x,%y,%z */
3566: dumptree(a, 633);
3567: b = a->kids[1];
3568: if (
3569: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1138> */
3570: && a->x.ints[1] == 12 /* r%n */
3571: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3572: && b->x.ints[4] == a->x.ints[4]
3573: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1144> */
3574: ) {
3575: if (--b->count > 0) {
3576: if (c=b->kids[0]) ++c->count;
3577: if (c=b->kids[3]) ++c->count;
3578: }
3579: a->syms[1] = b->syms[0];
3580: a->kids[4] = b->kids[3];
3581: a->x.ints[1] = b->x.ints[0];
3582: a->kids[1] = b->kids[0];
3583: goto L633; /* CMP %f,%t,%x,%y,%z */
3584: }
3585: if (
3586: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1149> */
3587: && a->x.ints[1] == 12 /* r%n */
3588: && b->count == 1
3589: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3590: && b->x.ints[4] == a->x.ints[4]
3591: ) {
3592: if (--b->count > 0) {
3593: if (c=b->kids[0]) ++c->count;
3594: if (c=b->kids[3]) ++c->count;
3595: }
3596: a->syms[1] = b->syms[0];
3597: a->kids[4] = b->kids[3];
3598: a->x.ints[1] = b->x.ints[0];
3599: a->kids[1] = b->kids[0];
3600: goto L633; /* CMP %f,%t,%x,%y,%z */
3601: }
3602: /* b => b */
3603: /* w => w */
3604: if (s="\0\15\16\0\0\0\0\0"[a->x.ints[4]]) {
3605: if (
3606: a->x.ints[1] == 12 /* r%n */
3607: && b->count == 1
3608: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3609: && b->x.ints[3] == s
3610: && b->x.ints[4] == 3 /* l */
3611: ) {
3612: if (--b->count > 0) {
3613: if (c=b->kids[0]) ++c->count;
3614: if (c=b->kids[3]) ++c->count;
3615: }
3616: a->syms[1] = b->syms[0];
3617: a->kids[4] = b->kids[3];
3618: a->x.ints[1] = b->x.ints[0];
3619: a->kids[1] = b->kids[0];
3620: goto L633; /* CMP %f,%t,%x,%y,%z */
3621: }
3622: }
3623: b = a->kids[0];
3624: if (
3625: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1183> */
3626: && a->x.ints[0] == 12 /* r%n */
3627: && b->count == 1
3628: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3629: && b->x.ints[4] == a->x.ints[4]
3630: ) {
3631: if (--b->count > 0) {
3632: if (c=b->kids[0]) ++c->count;
3633: if (c=b->kids[3]) ++c->count;
3634: }
3635: a->syms[0] = b->syms[0];
3636: a->kids[3] = b->kids[3];
3637: a->x.ints[0] = b->x.ints[0];
3638: a->kids[0] = b->kids[0];
3639: goto L633; /* CMP %f,%t,%x,%y,%z */
3640: }
3641: switch (a->x.ints[4]) {
3642: case 1: /* b */
3643: if (
3644: a->x.ints[0] == 12 /* r%n */
3645: && b->count == 1
3646: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3647: && b->x.ints[3] == 13 /* b */
3648: && b->x.ints[4] == 3 /* l */
3649: ) {
3650: if (--b->count > 0) {
3651: if (c=b->kids[0]) ++c->count;
3652: if (c=b->kids[3]) ++c->count;
3653: }
3654: a->syms[0] = b->syms[0];
3655: a->kids[3] = b->kids[3];
3656: a->x.ints[0] = b->x.ints[0];
3657: a->kids[0] = b->kids[0];
3658: goto L633; /* CMP %f,%t,%x,%y,%z */
3659: }
3660: if (
3661: a->x.ints[1] == 14 /* $%c */
3662: && lop(a,1,8)
3663: ) {
3664: goto L633; /* CMP %f,%t,%x,%y,%z */
3665: }
3666: if (
3667: a->x.ints[0] == 14 /* $%c */
3668: && lop(a,0,8)
3669: ) {
3670: goto L633; /* CMP %f,%t,%x,%y,%z */
3671: }
3672: break;
3673: case 2: /* w */
3674: if (
3675: a->x.ints[0] == 12 /* r%n */
3676: && b->count == 1
3677: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3678: && b->x.ints[3] == 14 /* w */
3679: && b->x.ints[4] == 3 /* l */
3680: ) {
3681: if (--b->count > 0) {
3682: if (c=b->kids[0]) ++c->count;
3683: if (c=b->kids[3]) ++c->count;
3684: }
3685: a->syms[0] = b->syms[0];
3686: a->kids[3] = b->kids[3];
3687: a->x.ints[0] = b->x.ints[0];
3688: a->kids[0] = b->kids[0];
3689: goto L633; /* CMP %f,%t,%x,%y,%z */
3690: }
3691: if (
3692: a->x.ints[1] == 14 /* $%c */
3693: && lop(a,1,16)
3694: ) {
3695: goto L633; /* CMP %f,%t,%x,%y,%z */
3696: }
3697: if (
3698: a->x.ints[0] == 14 /* $%c */
3699: && lop(a,0,16)
3700: ) {
3701: goto L633; /* CMP %f,%t,%x,%y,%z */
3702: }
3703: break;
3704: case 3: /* l */
3705: switch (a->x.ints[1]) {
3706: case 12: /* r%n */
3707: if (
3708: a->x.ints[0] == 12 /* r%n */
3709: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3710: ) {
3711: switch (b->x.ints[3]) {
3712: case 13: /* b */
3713: b = a->kids[1];
3714: if (
3715: a->kids[0]->x.ints[4] == 3 /* l */
3716: && a->kids[0]->count == 1
3717: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3718: && b->x.ints[3] == 13 /* b */
3719: && b->x.ints[4] == 3 /* l */
3720: && b->count == 1
3721: ) {
3722: if (--a->kids[0]->count > 0) {
3723: if (c=a->kids[0]->kids[0]) ++c->count;
3724: if (c=a->kids[0]->kids[3]) ++c->count;
3725: }
3726: if (--b->count > 0) {
3727: if (c=b->kids[0]) ++c->count;
3728: if (c=b->kids[3]) ++c->count;
3729: }
3730: a->syms[0] = a->kids[0]->syms[0];
3731: a->kids[3] = a->kids[0]->kids[3];
3732: a->x.ints[0] = a->kids[0]->x.ints[0];
3733: a->kids[0] = a->kids[0]->kids[0];
3734: a->syms[1] = b->syms[0];
3735: a->kids[4] = b->kids[3];
3736: a->x.ints[1] = b->x.ints[0];
3737: a->kids[1] = b->kids[0];
3738: a->x.ints[4] = 1; /* b */
3739: goto L633; /* CMP %f,%t,%x,%y,%z */
3740: }
3741: break;
3742: case 14: /* w */
3743: b = a->kids[1];
3744: if (
3745: a->kids[0]->x.ints[4] == 3 /* l */
3746: && a->kids[0]->count == 1
3747: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3748: && b->x.ints[3] == 14 /* w */
3749: && b->x.ints[4] == 3 /* l */
3750: && b->count == 1
3751: ) {
3752: if (--a->kids[0]->count > 0) {
3753: if (c=a->kids[0]->kids[0]) ++c->count;
3754: if (c=a->kids[0]->kids[3]) ++c->count;
3755: }
3756: if (--b->count > 0) {
3757: if (c=b->kids[0]) ++c->count;
3758: if (c=b->kids[3]) ++c->count;
3759: }
3760: a->syms[0] = a->kids[0]->syms[0];
3761: a->kids[3] = a->kids[0]->kids[3];
3762: a->x.ints[0] = a->kids[0]->x.ints[0];
3763: a->kids[0] = a->kids[0]->kids[0];
3764: a->syms[1] = b->syms[0];
3765: a->kids[4] = b->kids[3];
3766: a->x.ints[1] = b->x.ints[0];
3767: a->kids[1] = b->kids[0];
3768: a->x.ints[4] = 2; /* w */
3769: goto L633; /* CMP %f,%t,%x,%y,%z */
3770: }
3771: break;
3772: }
3773: }
3774: break;
3775: case 14: /* $%c */
3776: if (
3777: a->x.ints[0] == 12 /* r%n */
3778: ) {
3779: if (
3780: range(getint(a->syms[1]),8)
3781: && b->count == 1
3782: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3783: && b->x.ints[3] == 13 /* b */
3784: && b->x.ints[4] == 3 /* l */
3785: ) {
3786: if (--b->count > 0) {
3787: if (c=b->kids[0]) ++c->count;
3788: if (c=b->kids[3]) ++c->count;
3789: }
3790: a->syms[0] = b->syms[0];
3791: a->kids[3] = b->kids[3];
3792: a->x.ints[0] = b->x.ints[0];
3793: a->kids[0] = b->kids[0];
3794: a->x.ints[4] = 1; /* b */
3795: goto L633; /* CMP %f,%t,%x,%y,%z */
3796: }
3797: if (
3798: range(getint(a->syms[1]),16)
3799: && b->count == 1
3800: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3801: && b->x.ints[3] == 14 /* w */
3802: && b->x.ints[4] == 3 /* l */
3803: ) {
3804: if (--b->count > 0) {
3805: if (c=b->kids[0]) ++c->count;
3806: if (c=b->kids[3]) ++c->count;
3807: }
3808: a->syms[0] = b->syms[0];
3809: a->kids[3] = b->kids[3];
3810: a->x.ints[0] = b->x.ints[0];
3811: a->kids[0] = b->kids[0];
3812: a->x.ints[4] = 2; /* w */
3813: goto L633; /* CMP %f,%t,%x,%y,%z */
3814: }
3815: }
3816: break;
3817: }
3818: break;
3819: }
3820: if (
3821: a->x.ints[1] == 14 /* $%c */
3822: && a->syms[1]->x.name == sym[1].x.name /* 0 */
3823: && a->x.ints[0] == 12 /* r%n */
3824: && last && last->op == 636 /* MOV %f,%t,%x,%y,%z */
3825: && last && last->x.ints[0] == 12 /* r%n */
3826: && last && a->kids[0] == last->kids[0]
3827: ) {
3828: a->kids[0] && --b->count;
3829: a->kids[0] = 0;
3830: rewrite(last);
3831: goto L642; /* j%f %z */
3832: }
3833: a->op = 633;
3834: break;
3835: case 634: L634: /* CVT %f,%t,%x,%y,%z */
3836: dumptree(a, 634);
3837: b = a->kids[0];
3838: if (
3839: a->x.ints[0] == 12 /* r%n */
3840: && b->count == 1
3841: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
3842: ) {
3843: switch (b->x.ints[3]) {
3844: case 13: /* b */
3845: if (--b->count > 0) {
3846: if (c=b->kids[0]) ++c->count;
3847: if (c=b->kids[3]) ++c->count;
3848: }
3849: a->x.ints[3] = 13; /* b */
3850: a->syms[0] = b->syms[0];
3851: a->kids[3] = b->kids[3];
3852: a->x.ints[0] = b->x.ints[0];
3853: a->kids[0] = b->kids[0];
3854: goto L634; /* CVT %f,%t,%x,%y,%z */
3855: case 14: /* w */
3856: if (
3857: "\1\1\1\1\1\1\0\0"[b->x.ints[4]] /* <TMP1238> */
3858: ) {
3859: if (--b->count > 0) {
3860: if (c=b->kids[0]) ++c->count;
3861: if (c=b->kids[3]) ++c->count;
3862: }
3863: a->x.ints[3] = 14; /* w */
3864: a->syms[0] = b->syms[0];
3865: a->kids[3] = b->kids[3];
3866: a->x.ints[0] = b->x.ints[0];
3867: a->kids[0] = b->kids[0];
3868: goto L634; /* CVT %f,%t,%x,%y,%z */
3869: }
3870: break;
3871: }
3872: if (
3873: "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1253> */
3874: && b->x.ints[4] == 5 /* d */
3875: ) {
3876: if (--b->count > 0) {
3877: if (c=b->kids[0]) ++c->count;
3878: if (c=b->kids[3]) ++c->count;
3879: }
3880: a->x.ints[3] = b->x.ints[3];
3881: a->syms[0] = b->syms[0];
3882: a->kids[3] = b->kids[3];
3883: a->x.ints[0] = b->x.ints[0];
3884: a->kids[0] = b->kids[0];
3885: goto L634; /* CVT %f,%t,%x,%y,%z */
3886: }
3887: }
3888: switch (a->x.ints[3]) {
3889: case 13: /* b */
3890: if (
3891: a->x.ints[4] == 1 /* b */
3892: ) {
3893: goto L636; /* MOV %f,%t,%x,%y,%z */
3894: }
3895: break;
3896: case 14: /* w */
3897: if (
3898: a->x.ints[4] == 2 /* w */
3899: ) {
3900: goto L636; /* MOV %f,%t,%x,%y,%z */
3901: }
3902: if (
3903: a->x.ints[4] == 1 /* b */
3904: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[0]] /* <TMP1334> */
3905: ) {
3906: goto L636; /* MOV %f,%t,%x,%y,%z */
3907: }
3908: break;
3909: case 15: /* l */
3910: if (
3911: a->x.ints[4] == 2 /* w */
3912: && a->x.ints[0] == 12 /* r%n */
3913: && b->count == 1
3914: && b->op == 638 /* MOVZ %f,%t,%x,%y,%z */
3915: && b->x.ints[3] == 13 /* b */
3916: && b->x.ints[4] == 3 /* l */
3917: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1272> */
3918: ) {
3919: if (--b->count > 0) {
3920: if (c=b->kids[0]) ++c->count;
3921: if (c=b->kids[3]) ++c->count;
3922: }
3923: a->x.ints[3] = 13; /* b */
3924: a->syms[0] = b->syms[0];
3925: a->kids[3] = b->kids[3];
3926: a->x.ints[0] = b->x.ints[0];
3927: a->kids[0] = b->kids[0];
3928: goto L638; /* MOVZ %f,%t,%x,%y,%z */
3929: }
3930: if (
3931: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1283> */
3932: && a->x.ints[0] == 12 /* r%n */
3933: && b->count == 1
3934: && b->op == 638 /* MOVZ %f,%t,%x,%y,%z */
3935: && b->x.ints[4] == 3 /* l */
3936: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1290> */
3937: ) {
3938: if (--b->count > 0) {
3939: if (c=b->kids[0]) ++c->count;
3940: if (c=b->kids[3]) ++c->count;
3941: }
3942: a->syms[0] = b->syms[0];
3943: a->kids[3] = b->kids[3];
3944: a->x.ints[0] = b->x.ints[0];
3945: a->kids[0] = b->kids[0];
3946: goto L636; /* MOV %f,%t,%x,%y,%z */
3947: }
3948: if (
3949: a->x.ints[4] == 3 /* l */
3950: ) {
3951: goto L636; /* MOV %f,%t,%x,%y,%z */
3952: }
3953: if (
3954: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1326> */
3955: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[0]] /* <TMP1327> */
3956: ) {
3957: goto L636; /* MOV %f,%t,%x,%y,%z */
3958: }
3959: break;
3960: case 16: /* f */
3961: if (
3962: a->x.ints[4] == 4 /* f */
3963: ) {
3964: goto L636; /* MOV %f,%t,%x,%y,%z */
3965: }
3966: break;
3967: case 17: /* d */
3968: if (
3969: a->x.ints[4] == 5 /* d */
3970: ) {
3971: goto L636; /* MOV %f,%t,%x,%y,%z */
3972: }
3973: break;
3974: }
3975: if (
3976: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1339> */
3977: && a->x.ints[0] == 12 /* r%n */
3978: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
3979: && b->x.ints[4] == a->x.ints[4]
3980: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1345> */
3981: ) {
3982: if (--b->count > 0) {
3983: if (c=b->kids[0]) ++c->count;
3984: if (c=b->kids[3]) ++c->count;
3985: }
3986: a->syms[0] = b->syms[0];
3987: a->kids[3] = b->kids[3];
3988: a->x.ints[0] = b->x.ints[0];
3989: a->kids[0] = b->kids[0];
3990: goto L634; /* CVT %f,%t,%x,%y,%z */
3991: }
3992: /* b => b */
3993: /* w => w */
3994: /* l => l */
3995: /* f => f */
3996: /* d => d */
3997: if (s="\0\0\0\0\0\0\0\0\0\0\0\0\0\1\2\3\4\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[3]]) {
3998: if (
3999: a->x.ints[0] == 12 /* r%n */
4000: && b->count == 1
4001: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4002: && b->x.ints[4] == s
4003: ) {
4004: if (--b->count > 0) {
4005: if (c=b->kids[0]) ++c->count;
4006: if (c=b->kids[3]) ++c->count;
4007: }
4008: a->syms[0] = b->syms[0];
4009: a->kids[3] = b->kids[3];
4010: a->x.ints[0] = b->x.ints[0];
4011: a->kids[0] = b->kids[0];
4012: goto L634; /* CVT %f,%t,%x,%y,%z */
4013: }
4014: }
4015: switch (a->x.ints[4]) {
4016: case 1: /* b */
4017: if (
4018: a->x.ints[0] == 14 /* $%c */
4019: && lop(a,0,8)
4020: ) {
4021: goto L634; /* CVT %f,%t,%x,%y,%z */
4022: }
4023: break;
4024: case 2: /* w */
4025: if (
4026: a->x.ints[0] == 14 /* $%c */
4027: && lop(a,0,16)
4028: ) {
4029: goto L634; /* CVT %f,%t,%x,%y,%z */
4030: }
4031: break;
4032: }
4033: a->op = 634;
4034: break;
4035: case 635: L635: /* EXT %f,%t,%x,%y,%z */
4036: dumptree(a, 635);
4037: b = a->kids[1];
4038: if (
4039: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1405> */
4040: && a->x.ints[1] == 12 /* r%n */
4041: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4042: && b->x.ints[4] == a->x.ints[4]
4043: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1411> */
4044: ) {
4045: if (--b->count > 0) {
4046: if (c=b->kids[0]) ++c->count;
4047: if (c=b->kids[3]) ++c->count;
4048: }
4049: a->syms[1] = b->syms[0];
4050: a->kids[4] = b->kids[3];
4051: a->x.ints[1] = b->x.ints[0];
4052: a->kids[1] = b->kids[0];
4053: goto L635; /* EXT %f,%t,%x,%y,%z */
4054: }
4055: if (
4056: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1416> */
4057: && a->x.ints[1] == 12 /* r%n */
4058: && !kflag
4059: && b->count == 1
4060: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4061: && b->x.ints[4] == a->x.ints[4]
4062: ) {
4063: if (--b->count > 0) {
4064: if (c=b->kids[0]) ++c->count;
4065: if (c=b->kids[3]) ++c->count;
4066: }
4067: a->syms[1] = b->syms[0];
4068: a->kids[4] = b->kids[3];
4069: a->x.ints[1] = b->x.ints[0];
4070: a->kids[1] = b->kids[0];
4071: goto L635; /* EXT %f,%t,%x,%y,%z */
4072: }
4073: a->op = 635;
4074: break;
4075: case 636: L636: /* MOV %f,%t,%x,%y,%z */
4076: dumptree(a, 636);
4077: if (
4078: "\1\0\0\0\0\0\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[2]] /* <TMP1444> */
4079: && isregvar(a->syms[2])
4080: ) {
4081: a->x.ints[2] = 13; /* r%c */
4082: goto L636; /* MOV %f,%t,%x,%y,%z */
4083: }
4084: if (
4085: a->x.ints[2] == 9 /* (r%n) */
4086: ) {
4087: b = a->kids[2];
4088: if (
4089: !kflag
4090: && b->count == 1
4091: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4092: ) {
4093: /* %c(ap) => *%c(ap) */
4094: /* %c(fp) => *%c(fp) */
4095: /* %c(r%n) => *%c(r%n) */
4096: /* (r%n) => *(r%n) */
4097: /* %c => *%c */
4098: /* r%n => (r%n) */
4099: /* $%c => *$%c */
4100: if (s="\0\0\0\0\0\0\1\2\3\4\5\0\11\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]]) {
4101: if (--b->count > 0)
4102: if (c=b->kids[0]) ++c->count;
4103: a->x.ints[2] = s;
4104: a->syms[2] = b->syms[0];
4105: a->kids[2] = b->kids[0];
4106: goto L636; /* MOV %f,%t,%x,%y,%z */
4107: }
4108: }
4109: if (
4110: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4111: && "\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1524> */
4112: ) {
4113: if (--b->count > 0) {
4114: if (c=b->kids[0]) ++c->count;
4115: if (c=b->kids[3]) ++c->count;
4116: }
4117: a->syms[2] = b->syms[0];
4118: a->kids[5] = b->kids[3];
4119: a->x.ints[2] = b->x.ints[0];
4120: a->kids[2] = b->kids[0];
4121: goto L636; /* MOV %f,%t,%x,%y,%z */
4122: }
4123: }
4124: b = a->kids[2];
4125: if (
4126: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1529> */
4127: && a->x.ints[2] == 9 /* (r%n) */
4128: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4129: && b->x.ints[4] == a->x.ints[4]
4130: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1535> */
4131: ) {
4132: if (--b->count > 0) {
4133: if (c=b->kids[0]) ++c->count;
4134: if (c=b->kids[3]) ++c->count;
4135: }
4136: a->syms[2] = b->syms[0];
4137: a->kids[5] = b->kids[3];
4138: a->x.ints[2] = b->x.ints[0];
4139: a->kids[2] = b->kids[0];
4140: goto L636; /* MOV %f,%t,%x,%y,%z */
4141: }
4142: if (
4143: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1540> */
4144: && a->x.ints[2] == 9 /* (r%n) */
4145: && b->count == 1
4146: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4147: && b->x.ints[4] == a->x.ints[4]
4148: ) {
4149: if (--b->count > 0) {
4150: if (c=b->kids[0]) ++c->count;
4151: if (c=b->kids[3]) ++c->count;
4152: }
4153: a->syms[2] = b->syms[0];
4154: a->kids[5] = b->kids[3];
4155: a->x.ints[2] = b->x.ints[0];
4156: a->kids[2] = b->kids[0];
4157: goto L636; /* MOV %f,%t,%x,%y,%z */
4158: }
4159: if (
4160: a->x.ints[4] == 4 /* f */
4161: && a->x.ints[2] == 9 /* (r%n) */
4162: ) {
4163: if (
4164: b->count == 1
4165: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4166: && b->x.ints[4] == 3 /* l */
4167: ) {
4168: if (--b->count > 0) {
4169: if (c=b->kids[0]) ++c->count;
4170: if (c=b->kids[3]) ++c->count;
4171: }
4172: a->syms[2] = b->syms[0];
4173: a->kids[5] = b->kids[3];
4174: a->x.ints[2] = b->x.ints[0];
4175: a->kids[2] = b->kids[0];
4176: goto L636; /* MOV %f,%t,%x,%y,%z */
4177: }
4178: if (
4179: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4180: && b->x.ints[4] == 3 /* l */
4181: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1568> */
4182: ) {
4183: if (--b->count > 0) {
4184: if (c=b->kids[0]) ++c->count;
4185: if (c=b->kids[3]) ++c->count;
4186: }
4187: a->syms[2] = b->syms[0];
4188: a->kids[5] = b->kids[3];
4189: a->x.ints[2] = b->x.ints[0];
4190: a->kids[2] = b->kids[0];
4191: goto L636; /* MOV %f,%t,%x,%y,%z */
4192: }
4193: }
4194: if (
4195: "\1\0\0\0\0\0\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[0]] /* <TMP1573> */
4196: && isregvar(a->syms[0])
4197: ) {
4198: a->x.ints[0] = 13; /* r%c */
4199: goto L636; /* MOV %f,%t,%x,%y,%z */
4200: }
4201: switch (a->x.ints[0]) {
4202: case 9: /* (r%n) */
4203: b = a->kids[0];
4204: if (
4205: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4206: && "\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1589> */
4207: ) {
4208: if (--b->count > 0) {
4209: if (c=b->kids[0]) ++c->count;
4210: if (c=b->kids[3]) ++c->count;
4211: }
4212: a->syms[0] = b->syms[0];
4213: a->kids[3] = b->kids[3];
4214: a->x.ints[0] = b->x.ints[0];
4215: a->kids[0] = b->kids[0];
4216: goto L636; /* MOV %f,%t,%x,%y,%z */
4217: }
4218: break;
4219: case 13: /* r%c */
4220: if (
4221: a->x.ints[2] == 13 /* r%c */
4222: && rmcopy(a)
4223: ) {
4224: a->syms[2] = a->syms[0];
4225: goto L647; /* # nop */
4226: }
4227: break;
4228: }
4229: b = a->kids[0];
4230: if (
4231: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1594> */
4232: && a->x.ints[0] == 9 /* (r%n) */
4233: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4234: && b->x.ints[4] == a->x.ints[4]
4235: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1600> */
4236: ) {
4237: if (--b->count > 0) {
4238: if (c=b->kids[0]) ++c->count;
4239: if (c=b->kids[3]) ++c->count;
4240: }
4241: a->syms[0] = b->syms[0];
4242: a->kids[3] = b->kids[3];
4243: a->x.ints[0] = b->x.ints[0];
4244: a->kids[0] = b->kids[0];
4245: goto L636; /* MOV %f,%t,%x,%y,%z */
4246: }
4247: if (
4248: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1605> */
4249: && a->x.ints[0] == 9 /* (r%n) */
4250: && b->count == 1
4251: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4252: && b->x.ints[4] == a->x.ints[4]
4253: ) {
4254: if (--b->count > 0) {
4255: if (c=b->kids[0]) ++c->count;
4256: if (c=b->kids[3]) ++c->count;
4257: }
4258: a->syms[0] = b->syms[0];
4259: a->kids[3] = b->kids[3];
4260: a->x.ints[0] = b->x.ints[0];
4261: a->kids[0] = b->kids[0];
4262: goto L636; /* MOV %f,%t,%x,%y,%z */
4263: }
4264: if (
4265: a->x.ints[4] == 4 /* f */
4266: && a->x.ints[0] == 9 /* (r%n) */
4267: ) {
4268: if (
4269: b->count == 1
4270: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4271: && b->x.ints[4] == 3 /* l */
4272: ) {
4273: if (--b->count > 0) {
4274: if (c=b->kids[0]) ++c->count;
4275: if (c=b->kids[3]) ++c->count;
4276: }
4277: a->syms[0] = b->syms[0];
4278: a->kids[3] = b->kids[3];
4279: a->x.ints[0] = b->x.ints[0];
4280: a->kids[0] = b->kids[0];
4281: goto L636; /* MOV %f,%t,%x,%y,%z */
4282: }
4283: if (
4284: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4285: && b->x.ints[4] == 3 /* l */
4286: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1633> */
4287: ) {
4288: if (--b->count > 0) {
4289: if (c=b->kids[0]) ++c->count;
4290: if (c=b->kids[3]) ++c->count;
4291: }
4292: a->syms[0] = b->syms[0];
4293: a->kids[3] = b->kids[3];
4294: a->x.ints[0] = b->x.ints[0];
4295: a->kids[0] = b->kids[0];
4296: goto L636; /* MOV %f,%t,%x,%y,%z */
4297: }
4298: }
4299: switch (a->x.ints[0]) {
4300: case 9: /* (r%n) */
4301: if (
4302: !kflag
4303: && b->count == 1
4304: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4305: ) {
4306: /* %c(ap) => *%c(ap) */
4307: /* %c(fp) => *%c(fp) */
4308: /* %c(r%n) => *%c(r%n) */
4309: /* (r%n) => *(r%n) */
4310: /* %c => *%c */
4311: /* r%n => (r%n) */
4312: /* $%c => *$%c */
4313: if (s="\0\0\0\0\0\0\1\2\3\4\5\0\11\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]]) {
4314: if (--b->count > 0)
4315: if (c=b->kids[0]) ++c->count;
4316: a->x.ints[0] = s;
4317: a->syms[0] = b->syms[0];
4318: a->kids[0] = b->kids[0];
4319: goto L636; /* MOV %f,%t,%x,%y,%z */
4320: }
4321: }
4322: break;
4323: case 12: /* r%n */
4324: if (
4325: b->op == 636 /* MOV %f,%t,%x,%y,%z */
4326: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1713> */
4327: ) {
4328: if (--b->count > 0) {
4329: if (c=b->kids[0]) ++c->count;
4330: if (c=b->kids[3]) ++c->count;
4331: }
4332: a->syms[0] = b->syms[0];
4333: a->kids[3] = b->kids[3];
4334: a->x.ints[0] = b->x.ints[0];
4335: a->kids[0] = b->kids[0];
4336: goto L636; /* MOV %f,%t,%x,%y,%z */
4337: }
4338: break;
4339: }
4340: if (
4341: a->x.ints[4] == 3 /* l */
4342: && a->x.ints[0] == 12 /* r%n */
4343: && b->count == 1
4344: && b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4345: && "\1\1\1\1\1\1\1\1"[b->x.ints[4]] /* <TMP1724> */
4346: ) {
4347: if (--b->count > 0) {
4348: if (c=b->kids[0]) ++c->count;
4349: if (c=b->kids[3]) ++c->count;
4350: }
4351: a->x.ints[4] = b->x.ints[4];
4352: a->syms[0] = b->syms[0];
4353: a->kids[3] = b->kids[3];
4354: a->x.ints[0] = b->x.ints[0];
4355: a->kids[0] = b->kids[0];
4356: goto L637; /* MOVA %f,%t,%x,%y,%z */
4357: }
4358: if (
4359: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1733> */
4360: && a->x.ints[0] == 12 /* r%n */
4361: && b->count == 1
4362: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4363: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1739> */
4364: && b->x.ints[4] == a->x.ints[4]
4365: ) {
4366: if (--b->count > 0) {
4367: if (c=b->kids[0]) ++c->count;
4368: if (c=b->kids[3]) ++c->count;
4369: }
4370: a->x.ints[3] = b->x.ints[3];
4371: a->syms[0] = b->syms[0];
4372: a->kids[3] = b->kids[3];
4373: a->x.ints[0] = b->x.ints[0];
4374: a->kids[0] = b->kids[0];
4375: goto L636; /* MOV %f,%t,%x,%y,%z */
4376: }
4377: if (
4378: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1748> */
4379: && a->x.ints[0] == 12 /* r%n */
4380: && b->count == 1
4381: && b->op == 638 /* MOVZ %f,%t,%x,%y,%z */
4382: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1754> */
4383: && b->x.ints[4] == a->x.ints[4]
4384: ) {
4385: if (--b->count > 0) {
4386: if (c=b->kids[0]) ++c->count;
4387: if (c=b->kids[3]) ++c->count;
4388: }
4389: a->x.ints[3] = b->x.ints[3];
4390: a->syms[0] = b->syms[0];
4391: a->kids[3] = b->kids[3];
4392: a->x.ints[0] = b->x.ints[0];
4393: a->kids[0] = b->kids[0];
4394: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4395: }
4396: if (
4397: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1763> */
4398: && a->x.ints[0] == 12 /* r%n */
4399: && b->count == 1
4400: && b->op == 639 /* OP1 %f,%t,%x,%y,%z */
4401: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1769> */
4402: && b->x.ints[4] == a->x.ints[4]
4403: ) {
4404: if (--b->count > 0) {
4405: if (c=b->kids[0]) ++c->count;
4406: if (c=b->kids[3]) ++c->count;
4407: }
4408: a->x.ints[3] = b->x.ints[3];
4409: a->syms[0] = b->syms[0];
4410: a->kids[3] = b->kids[3];
4411: a->x.ints[0] = b->x.ints[0];
4412: a->kids[0] = b->kids[0];
4413: goto L639; /* OP1 %f,%t,%x,%y,%z */
4414: }
4415: if (
4416: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1778> */
4417: && a->x.ints[0] == 12 /* r%n */
4418: && b->count == 1
4419: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
4420: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1784> */
4421: && b->x.ints[4] == a->x.ints[4]
4422: ) {
4423: if (--b->count > 0) {
4424: if (c=b->kids[0]) ++c->count;
4425: if (c=b->kids[3]) ++c->count;
4426: }
4427: a->x.ints[3] = b->x.ints[3];
4428: a->syms[0] = b->syms[0];
4429: a->kids[3] = b->kids[3];
4430: a->x.ints[0] = b->x.ints[0];
4431: a->kids[0] = b->kids[0];
4432: goto L634; /* CVT %f,%t,%x,%y,%z */
4433: }
4434: if (
4435: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1793> */
4436: && a->x.ints[0] == 12 /* r%n */
4437: && b->count == 1
4438: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4439: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1799> */
4440: && b->x.ints[4] == 3 /* l */
4441: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1801> */
4442: ) {
4443: if (--b->count > 0) {
4444: if (c=b->kids[0]) ++c->count;
4445: if (c=b->kids[3]) ++c->count;
4446: }
4447: a->x.ints[3] = b->x.ints[3];
4448: a->syms[0] = b->syms[0];
4449: a->kids[3] = b->kids[3];
4450: a->x.ints[0] = b->x.ints[0];
4451: a->kids[0] = b->kids[0];
4452: goto L636; /* MOV %f,%t,%x,%y,%z */
4453: }
4454: if (
4455: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1810> */
4456: && a->x.ints[0] == 12 /* r%n */
4457: && b->count == 1
4458: && b->op == 638 /* MOVZ %f,%t,%x,%y,%z */
4459: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1816> */
4460: && b->x.ints[4] == 3 /* l */
4461: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1818> */
4462: ) {
4463: if (--b->count > 0) {
4464: if (c=b->kids[0]) ++c->count;
4465: if (c=b->kids[3]) ++c->count;
4466: }
4467: a->x.ints[3] = b->x.ints[3];
4468: a->syms[0] = b->syms[0];
4469: a->kids[3] = b->kids[3];
4470: a->x.ints[0] = b->x.ints[0];
4471: a->kids[0] = b->kids[0];
4472: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4473: }
4474: if (
4475: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1827> */
4476: && a->x.ints[0] == 12 /* r%n */
4477: && b->count == 1
4478: && b->op == 639 /* OP1 %f,%t,%x,%y,%z */
4479: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1833> */
4480: && b->x.ints[4] == 3 /* l */
4481: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1835> */
4482: ) {
4483: if (--b->count > 0) {
4484: if (c=b->kids[0]) ++c->count;
4485: if (c=b->kids[3]) ++c->count;
4486: }
4487: a->x.ints[3] = b->x.ints[3];
4488: a->syms[0] = b->syms[0];
4489: a->kids[3] = b->kids[3];
4490: a->x.ints[0] = b->x.ints[0];
4491: a->kids[0] = b->kids[0];
4492: goto L639; /* OP1 %f,%t,%x,%y,%z */
4493: }
4494: if (
4495: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1844> */
4496: && a->x.ints[0] == 12 /* r%n */
4497: && b->count == 1
4498: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
4499: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1850> */
4500: && b->x.ints[4] == 3 /* l */
4501: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1852> */
4502: ) {
4503: if (--b->count > 0) {
4504: if (c=b->kids[0]) ++c->count;
4505: if (c=b->kids[3]) ++c->count;
4506: }
4507: a->x.ints[3] = b->x.ints[3];
4508: a->syms[0] = b->syms[0];
4509: a->kids[3] = b->kids[3];
4510: a->x.ints[0] = b->x.ints[0];
4511: a->kids[0] = b->kids[0];
4512: goto L634; /* CVT %f,%t,%x,%y,%z */
4513: }
4514: if (
4515: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1861> */
4516: && a->x.ints[0] == 12 /* r%n */
4517: && !kflag
4518: && b->count == 1
4519: && b->op == 630 /* ASH %f,%t,%x,%y,%z */
4520: && b->x.ints[4] == a->x.ints[4]
4521: ) {
4522: if (--b->count > 0) {
4523: if (c=b->kids[0]) ++c->count;
4524: if (c=b->kids[3]) ++c->count;
4525: if (c=b->kids[1]) ++c->count;
4526: if (c=b->kids[4]) ++c->count;
4527: }
4528: a->syms[1] = b->syms[1];
4529: a->kids[4] = b->kids[4];
4530: a->kids[1] = b->kids[1];
4531: a->x.ints[1] = b->x.ints[1];
4532: a->syms[0] = b->syms[0];
4533: a->kids[3] = b->kids[3];
4534: a->x.ints[0] = b->x.ints[0];
4535: a->kids[0] = b->kids[0];
4536: goto L630; /* ASH %f,%t,%x,%y,%z */
4537: }
4538: if (
4539: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1871> */
4540: && a->x.ints[0] == 12 /* r%n */
4541: && !kflag
4542: && b->count == 1
4543: && b->op == 635 /* EXT %f,%t,%x,%y,%z */
4544: && b->x.ints[4] == a->x.ints[4]
4545: ) {
4546: if (--b->count > 0) {
4547: if (c=b->kids[0]) ++c->count;
4548: if (c=b->kids[3]) ++c->count;
4549: if (c=b->kids[1]) ++c->count;
4550: if (c=b->kids[4]) ++c->count;
4551: }
4552: a->syms[1] = b->syms[1];
4553: a->kids[4] = b->kids[4];
4554: a->kids[1] = b->kids[1];
4555: a->x.ints[1] = b->x.ints[1];
4556: a->syms[0] = b->syms[0];
4557: a->kids[3] = b->kids[3];
4558: a->x.ints[0] = b->x.ints[0];
4559: a->kids[0] = b->kids[0];
4560: goto L635; /* EXT %f,%t,%x,%y,%z */
4561: }
4562: if (
4563: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP1881> */
4564: && a->x.ints[0] == 12 /* r%n */
4565: && b->count == 1
4566: && b->op == 640 /* OP2 %f,%t,%x,%y,%z */
4567: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"[b->x.ints[3]] /* <TMP1887> */
4568: && b->x.ints[4] == a->x.ints[4]
4569: ) {
4570: if (--b->count > 0) {
4571: if (c=b->kids[0]) ++c->count;
4572: if (c=b->kids[3]) ++c->count;
4573: if (c=b->kids[1]) ++c->count;
4574: if (c=b->kids[4]) ++c->count;
4575: }
4576: a->x.ints[3] = b->x.ints[3];
4577: a->syms[1] = b->syms[1];
4578: a->kids[4] = b->kids[4];
4579: a->kids[1] = b->kids[1];
4580: a->x.ints[1] = b->x.ints[1];
4581: a->syms[0] = b->syms[0];
4582: a->kids[3] = b->kids[3];
4583: a->x.ints[0] = b->x.ints[0];
4584: a->kids[0] = b->kids[0];
4585: goto L640; /* OP2 %f,%t,%x,%y,%z */
4586: }
4587: if (
4588: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP1896> */
4589: && a->x.ints[0] == 12 /* r%n */
4590: && b->count == 1
4591: && b->op == 640 /* OP2 %f,%t,%x,%y,%z */
4592: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\0\0\1\1\1\0\0\0\0\0\0"[b->x.ints[3]] /* <TMP1902> */
4593: && b->x.ints[4] == 3 /* l */
4594: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[1]] /* <TMP1904> */
4595: && "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1905> */
4596: ) {
4597: if (--b->count > 0) {
4598: if (c=b->kids[0]) ++c->count;
4599: if (c=b->kids[3]) ++c->count;
4600: if (c=b->kids[1]) ++c->count;
4601: if (c=b->kids[4]) ++c->count;
4602: }
4603: a->x.ints[3] = b->x.ints[3];
4604: a->syms[1] = b->syms[1];
4605: a->kids[4] = b->kids[4];
4606: a->kids[1] = b->kids[1];
4607: a->x.ints[1] = b->x.ints[1];
4608: a->syms[0] = b->syms[0];
4609: a->kids[3] = b->kids[3];
4610: a->x.ints[0] = b->x.ints[0];
4611: a->kids[0] = b->kids[0];
4612: goto L640; /* OP2 %f,%t,%x,%y,%z */
4613: }
4614: if (
4615: a->x.ints[0] == 12 /* r%n */
4616: ) {
4617: if (
4618: b->count == 1
4619: ) {
4620: switch (b->op) {
4621: case 634: /* CVT %f,%t,%x,%y,%z */
4622: if (
4623: "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1929> */
4624: ) {
4625: if (--b->count > 0) {
4626: if (c=b->kids[0]) ++c->count;
4627: if (c=b->kids[3]) ++c->count;
4628: }
4629: a->syms[0] = b->syms[0];
4630: a->kids[3] = b->kids[3];
4631: a->x.ints[0] = b->x.ints[0];
4632: a->kids[0] = b->kids[0];
4633: goto L634; /* CVT %f,%t,%x,%y,%z */
4634: }
4635: break;
4636: case 638: /* MOVZ %f,%t,%x,%y,%z */
4637: if (
4638: "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP1919> */
4639: ) {
4640: if (--b->count > 0) {
4641: if (c=b->kids[0]) ++c->count;
4642: if (c=b->kids[3]) ++c->count;
4643: }
4644: a->syms[0] = b->syms[0];
4645: a->kids[3] = b->kids[3];
4646: a->x.ints[0] = b->x.ints[0];
4647: a->kids[0] = b->kids[0];
4648: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4649: }
4650: break;
4651: }
4652: }
4653: if (
4654: b->op == 636 /* MOV %f,%t,%x,%y,%z */
4655: && b->x.ints[4] == 3 /* l */
4656: && b->x.ints[0] == 12 /* r%n */
4657: ) {
4658: if (--b->count > 0)
4659: if (c=b->kids[0]) ++c->count;
4660: a->kids[0] = b->kids[0];
4661: goto L636; /* MOV %f,%t,%x,%y,%z */
4662: }
4663: }
4664: switch (a->x.ints[4]) {
4665: case 1: /* b */
4666: if (
4667: a->x.ints[0] == 14 /* $%c */
4668: && lop(a,0,8)
4669: ) {
4670: goto L636; /* MOV %f,%t,%x,%y,%z */
4671: }
4672: break;
4673: case 2: /* w */
4674: if (
4675: a->x.ints[0] == 14 /* $%c */
4676: && lop(a,0,16)
4677: ) {
4678: goto L636; /* MOV %f,%t,%x,%y,%z */
4679: }
4680: break;
4681: }
4682: a->op = 636;
4683: break;
4684: case 637: L637: /* MOVA %f,%t,%x,%y,%z */
4685: dumptree(a, 637);
4686: switch (a->x.ints[0]) {
4687: case 8: /* %c(r%n) */
4688: if (
4689: a->syms[0]->x.name == sym[1].x.name /* 0 */
4690: ) {
4691: a->x.ints[0] = 9; /* (r%n) */
4692: goto L637; /* MOVA %f,%t,%x,%y,%z */
4693: }
4694: break;
4695: case 10: /* %c */
4696: if (
4697: a->x.ints[2] == 13 /* r%c */
4698: && !atst(a)
4699: ) {
4700: a->x.ints[0] = 14; /* $%c */
4701: a->x.ints[4] = 3; /* l */
4702: goto L636; /* MOV %f,%t,%x,%y,%z */
4703: }
4704: break;
4705: case 22: /* %c(r%n)[r%i] */
4706: if (
4707: a->syms[0]->x.name == sym[1].x.name /* 0 */
4708: ) {
4709: a->x.ints[0] = 23; /* (r%n)[r%i] */
4710: goto L637; /* MOVA %f,%t,%x,%y,%z */
4711: }
4712: break;
4713: case 23: /* (r%n)[r%i] */
4714: b = a->kids[0];
4715: if (
4716: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
4717: ) {
4718: /* *%c(ap) => *%c(ap)[r%i] */
4719: /* *%c(fp) => *%c(fp)[r%i] */
4720: /* *%c(r%n) => *%c(r%n)[r%i] */
4721: /* *(r%n) => *(r%n)[r%i] */
4722: /* *%c => *%c[r%i] */
4723: /* %c(ap) => %c(ap)[r%i] */
4724: /* %c(fp) => %c(fp)[r%i] */
4725: /* %c(r%n) => %c(r%n)[r%i] */
4726: /* (r%n) => (r%n)[r%i] */
4727: /* %c => %c[r%i] */
4728: /* *$%c => *$%c[r%i] */
4729: if (s="\0\17\20\21\22\23\24\25\26\27\30\31\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]]) {
4730: if (--b->count > 0)
4731: if (c=b->kids[0]) ++c->count;
4732: a->x.ints[0] = s;
4733: a->syms[0] = b->syms[0];
4734: a->kids[0] = b->kids[0];
4735: goto L637; /* MOVA %f,%t,%x,%y,%z */
4736: }
4737: }
4738: if (
4739: !kflag
4740: && b->count == 1
4741: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4742: ) {
4743: /* %c(ap) => *%c(ap)[r%i] */
4744: /* %c(fp) => *%c(fp)[r%i] */
4745: /* %c(r%n) => *%c(r%n)[r%i] */
4746: /* (r%n) => *(r%n)[r%i] */
4747: /* %c => *%c[r%i] */
4748: /* r%n => (r%n)[r%i] */
4749: /* $%c => *$%c[r%i] */
4750: if (s="\0\0\0\0\0\0\17\20\21\22\23\0\27\0\31\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]]) {
4751: if (--b->count > 0)
4752: if (c=b->kids[0]) ++c->count;
4753: a->x.ints[0] = s;
4754: a->syms[0] = b->syms[0];
4755: a->kids[0] = b->kids[0];
4756: goto L637; /* MOVA %f,%t,%x,%y,%z */
4757: }
4758: }
4759: break;
4760: }
4761: a->op = 637;
4762: break;
4763: case 638: L638: /* MOVZ %f,%t,%x,%y,%z */
4764: dumptree(a, 638);
4765: switch (a->x.ints[3]) {
4766: case 13: /* b */
4767: if (
4768: a->x.ints[4] == 1 /* b */
4769: ) {
4770: goto L636; /* MOV %f,%t,%x,%y,%z */
4771: }
4772: b = a->kids[0];
4773: if (
4774: a->x.ints[0] == 12 /* r%n */
4775: && b->count == 1
4776: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4777: && b->x.ints[4] == 1 /* b */
4778: ) {
4779: if (--b->count > 0) {
4780: if (c=b->kids[0]) ++c->count;
4781: if (c=b->kids[3]) ++c->count;
4782: }
4783: a->syms[0] = b->syms[0];
4784: a->kids[3] = b->kids[3];
4785: a->x.ints[0] = b->x.ints[0];
4786: a->kids[0] = b->kids[0];
4787: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4788: }
4789: break;
4790: case 14: /* w */
4791: switch (a->x.ints[4]) {
4792: case 1: /* b */
4793: goto L634; /* CVT %f,%t,%x,%y,%z */
4794: case 2: /* w */
4795: goto L636; /* MOV %f,%t,%x,%y,%z */
4796: }
4797: b = a->kids[0];
4798: if (
4799: a->x.ints[0] == 12 /* r%n */
4800: && b->count == 1
4801: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4802: && b->x.ints[4] == 2 /* w */
4803: ) {
4804: if (--b->count > 0) {
4805: if (c=b->kids[0]) ++c->count;
4806: if (c=b->kids[3]) ++c->count;
4807: }
4808: a->syms[0] = b->syms[0];
4809: a->kids[3] = b->kids[3];
4810: a->x.ints[0] = b->x.ints[0];
4811: a->kids[0] = b->kids[0];
4812: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4813: }
4814: break;
4815: case 15: /* l */
4816: if (
4817: a->x.ints[4] == 3 /* l */
4818: ) {
4819: goto L636; /* MOV %f,%t,%x,%y,%z */
4820: }
4821: if (
4822: "\1\1\1\0\0\0\0\0"[a->x.ints[4]] /* <TMP2884> */
4823: ) {
4824: goto L634; /* CVT %f,%t,%x,%y,%z */
4825: }
4826: b = a->kids[0];
4827: if (
4828: a->x.ints[0] == 12 /* r%n */
4829: && b->count == 1
4830: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4831: && b->x.ints[4] == 3 /* l */
4832: ) {
4833: if (--b->count > 0) {
4834: if (c=b->kids[0]) ++c->count;
4835: if (c=b->kids[3]) ++c->count;
4836: }
4837: a->syms[0] = b->syms[0];
4838: a->kids[3] = b->kids[3];
4839: a->x.ints[0] = b->x.ints[0];
4840: a->kids[0] = b->kids[0];
4841: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4842: }
4843: break;
4844: case 16: /* f */
4845: if (
4846: a->x.ints[4] == 4 /* f */
4847: ) {
4848: goto L636; /* MOV %f,%t,%x,%y,%z */
4849: }
4850: b = a->kids[0];
4851: if (
4852: a->x.ints[0] == 12 /* r%n */
4853: && b->count == 1
4854: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4855: && b->x.ints[4] == 4 /* f */
4856: ) {
4857: if (--b->count > 0) {
4858: if (c=b->kids[0]) ++c->count;
4859: if (c=b->kids[3]) ++c->count;
4860: }
4861: a->syms[0] = b->syms[0];
4862: a->kids[3] = b->kids[3];
4863: a->x.ints[0] = b->x.ints[0];
4864: a->kids[0] = b->kids[0];
4865: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4866: }
4867: break;
4868: case 17: /* d */
4869: if (
4870: a->x.ints[4] == 5 /* d */
4871: ) {
4872: goto L636; /* MOV %f,%t,%x,%y,%z */
4873: }
4874: b = a->kids[0];
4875: if (
4876: a->x.ints[0] == 12 /* r%n */
4877: && b->count == 1
4878: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4879: && b->x.ints[4] == 5 /* d */
4880: ) {
4881: if (--b->count > 0) {
4882: if (c=b->kids[0]) ++c->count;
4883: if (c=b->kids[3]) ++c->count;
4884: }
4885: a->syms[0] = b->syms[0];
4886: a->kids[3] = b->kids[3];
4887: a->x.ints[0] = b->x.ints[0];
4888: a->kids[0] = b->kids[0];
4889: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4890: }
4891: break;
4892: }
4893: b = a->kids[0];
4894: if (
4895: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP2944> */
4896: && a->x.ints[0] == 12 /* r%n */
4897: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4898: && b->x.ints[4] == a->x.ints[4]
4899: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP2950> */
4900: ) {
4901: if (--b->count > 0) {
4902: if (c=b->kids[0]) ++c->count;
4903: if (c=b->kids[3]) ++c->count;
4904: }
4905: a->syms[0] = b->syms[0];
4906: a->kids[3] = b->kids[3];
4907: a->x.ints[0] = b->x.ints[0];
4908: a->kids[0] = b->kids[0];
4909: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4910: }
4911: if (
4912: a->x.ints[0] == 12 /* r%n */
4913: && b->count == 1
4914: && b->op == 638 /* MOVZ %f,%t,%x,%y,%z */
4915: ) {
4916: switch (b->x.ints[3]) {
4917: case 13: /* b */
4918: if (--b->count > 0) {
4919: if (c=b->kids[0]) ++c->count;
4920: if (c=b->kids[3]) ++c->count;
4921: }
4922: a->x.ints[3] = 13; /* b */
4923: a->syms[0] = b->syms[0];
4924: a->kids[3] = b->kids[3];
4925: a->x.ints[0] = b->x.ints[0];
4926: a->kids[0] = b->kids[0];
4927: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4928: case 14: /* w */
4929: if (
4930: b->x.ints[4] == 3 /* l */
4931: ) {
4932: if (--b->count > 0) {
4933: if (c=b->kids[0]) ++c->count;
4934: if (c=b->kids[3]) ++c->count;
4935: }
4936: a->x.ints[3] = 14; /* w */
4937: a->syms[0] = b->syms[0];
4938: a->kids[3] = b->kids[3];
4939: a->x.ints[0] = b->x.ints[0];
4940: a->kids[0] = b->kids[0];
4941: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4942: }
4943: break;
4944: }
4945: }
4946: switch (a->x.ints[4]) {
4947: case 1: /* b */
4948: if (
4949: a->x.ints[0] == 14 /* $%c */
4950: && lop(a,0,8)
4951: ) {
4952: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4953: }
4954: break;
4955: case 2: /* w */
4956: if (
4957: a->x.ints[0] == 14 /* $%c */
4958: && lop(a,0,16)
4959: ) {
4960: goto L638; /* MOVZ %f,%t,%x,%y,%z */
4961: }
4962: break;
4963: }
4964: a->op = 638;
4965: break;
4966: case 639: L639: /* OP1 %f,%t,%x,%y,%z */
4967: dumptree(a, 639);
4968: b = a->kids[0];
4969: if (
4970: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP2986> */
4971: && a->x.ints[0] == 12 /* r%n */
4972: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4973: && b->x.ints[4] == a->x.ints[4]
4974: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP2992> */
4975: ) {
4976: if (--b->count > 0) {
4977: if (c=b->kids[0]) ++c->count;
4978: if (c=b->kids[3]) ++c->count;
4979: }
4980: a->syms[0] = b->syms[0];
4981: a->kids[3] = b->kids[3];
4982: a->x.ints[0] = b->x.ints[0];
4983: a->kids[0] = b->kids[0];
4984: goto L639; /* OP1 %f,%t,%x,%y,%z */
4985: }
4986: if (
4987: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP2997> */
4988: && a->x.ints[0] == 12 /* r%n */
4989: && b->count == 1
4990: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
4991: && b->x.ints[4] == a->x.ints[4]
4992: ) {
4993: if (--b->count > 0) {
4994: if (c=b->kids[0]) ++c->count;
4995: if (c=b->kids[3]) ++c->count;
4996: }
4997: a->syms[0] = b->syms[0];
4998: a->kids[3] = b->kids[3];
4999: a->x.ints[0] = b->x.ints[0];
5000: a->kids[0] = b->kids[0];
5001: goto L639; /* OP1 %f,%t,%x,%y,%z */
5002: }
5003: switch (a->x.ints[4]) {
5004: case 1: /* b */
5005: if (
5006: a->x.ints[0] == 14 /* $%c */
5007: && lop(a,0,8)
5008: ) {
5009: goto L639; /* OP1 %f,%t,%x,%y,%z */
5010: }
5011: break;
5012: case 2: /* w */
5013: if (
5014: a->x.ints[0] == 14 /* $%c */
5015: && lop(a,0,16)
5016: ) {
5017: goto L639; /* OP1 %f,%t,%x,%y,%z */
5018: }
5019: break;
5020: }
5021: a->op = 639;
5022: break;
5023: case 640: L640: /* OP2 %f,%t,%x,%y,%z */
5024: dumptree(a, 640);
5025: if (
5026: "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\0\0\0\0\0\0\0\0"[a->x.ints[3]] /* <TMP3007> */
5027: && kflag
5028: ) {
5029: goto L641; /* OP2K %f,%t,%x,%y,%z */
5030: }
5031: if (
5032: a->x.ints[3] == 18 /* add */
5033: && a->x.ints[4] == 3 /* l */
5034: && a->x.ints[1] == 12 /* r%n */
5035: && a->x.ints[0] == 12 /* r%n */
5036: ) {
5037: if (
5038: a->x.ints[2] == 13 /* r%c */
5039: && atst(a)
5040: ) {
5041: b = a->kids[0];
5042: switch (b->op) {
5043: case 636: /* MOV %f,%t,%x,%y,%z */
5044: if (
5045: b->x.ints[0] == 14 /* $%c */
5046: ) {
5047: if (--b->count > 0)
5048: if (c=b->kids[3]) ++c->count;
5049: a->x.ints[0] = 8; /* %c(r%n) */
5050: a->x.ints[4] = b->x.ints[4];
5051: a->syms[0] = b->syms[0];
5052: a->kids[3] = b->kids[3];
5053: a->kids[0] = a->kids[1];
5054: a->kids[1] = 0;
5055: goto L637; /* MOVA %f,%t,%x,%y,%z */
5056: }
5057: break;
5058: case 637: /* MOVA %f,%t,%x,%y,%z */
5059: if (
5060: b->x.ints[0] == 24 /* %c[r%i] */
5061: ) {
5062: if (--b->count > 0)
5063: if (c=b->kids[3]) ++c->count;
5064: a->x.ints[0] = 22; /* %c(r%n)[r%i] */
5065: a->x.ints[4] = b->x.ints[4];
5066: a->syms[0] = b->syms[0];
5067: a->kids[3] = b->kids[3];
5068: a->kids[0] = a->kids[1];
5069: a->kids[1] = 0;
5070: goto L637; /* MOVA %f,%t,%x,%y,%z */
5071: }
5072: if (
5073: b->x.ints[0] == 10 /* %c */
5074: ) {
5075: if (--b->count > 0)
5076: if (c=b->kids[3]) ++c->count;
5077: a->x.ints[0] = 8; /* %c(r%n) */
5078: a->x.ints[4] = b->x.ints[4];
5079: a->syms[0] = b->syms[0];
5080: a->kids[3] = b->kids[3];
5081: a->kids[0] = a->kids[1];
5082: a->kids[1] = 0;
5083: goto L637; /* MOVA %f,%t,%x,%y,%z */
5084: }
5085: break;
5086: }
5087: b = a->kids[1];
5088: switch (b->op) {
5089: case 636: /* MOV %f,%t,%x,%y,%z */
5090: if (
5091: b->x.ints[0] == 14 /* $%c */
5092: ) {
5093: if (--b->count > 0)
5094: if (c=b->kids[3]) ++c->count;
5095: a->x.ints[0] = 8; /* %c(r%n) */
5096: a->x.ints[4] = b->x.ints[4];
5097: a->syms[0] = b->syms[0];
5098: a->kids[3] = b->kids[3];
5099: a->kids[1] = 0;
5100: goto L637; /* MOVA %f,%t,%x,%y,%z */
5101: }
5102: break;
5103: case 637: /* MOVA %f,%t,%x,%y,%z */
5104: if (
5105: b->x.ints[0] == 24 /* %c[r%i] */
5106: ) {
5107: if (--b->count > 0)
5108: if (c=b->kids[3]) ++c->count;
5109: a->x.ints[0] = 22; /* %c(r%n)[r%i] */
5110: a->x.ints[4] = b->x.ints[4];
5111: a->syms[0] = b->syms[0];
5112: a->kids[3] = b->kids[3];
5113: a->kids[1] = 0;
5114: goto L637; /* MOVA %f,%t,%x,%y,%z */
5115: }
5116: if (
5117: b->x.ints[0] == 10 /* %c */
5118: ) {
5119: if (--b->count > 0)
5120: if (c=b->kids[3]) ++c->count;
5121: a->x.ints[0] = 8; /* %c(r%n) */
5122: a->x.ints[4] = b->x.ints[4];
5123: a->syms[0] = b->syms[0];
5124: a->kids[3] = b->kids[3];
5125: a->kids[1] = 0;
5126: goto L637; /* MOVA %f,%t,%x,%y,%z */
5127: }
5128: break;
5129: }
5130: }
5131: b = a->kids[1];
5132: if (
5133: b->op == 637 /* MOVA %f,%t,%x,%y,%z */
5134: && b->x.ints[0] == 7 /* %c(fp) */
5135: ) {
5136: --b->count;
5137: a->x.ints[0] = 21; /* %c(fp)[r%i] */
5138: a->x.ints[4] = 1; /* b */
5139: a->syms[0] = b->syms[0];
5140: a->kids[3] = a->kids[0];
5141: a->kids[0] = 0;
5142: a->kids[1] = 0;
5143: goto L637; /* MOVA %f,%t,%x,%y,%z */
5144: }
5145: }
5146: b = a->kids[1];
5147: if (
5148: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP3145> */
5149: && a->x.ints[1] == 12 /* r%n */
5150: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5151: && b->x.ints[4] == a->x.ints[4]
5152: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP3151> */
5153: ) {
5154: if (--b->count > 0) {
5155: if (c=b->kids[0]) ++c->count;
5156: if (c=b->kids[3]) ++c->count;
5157: }
5158: a->syms[1] = b->syms[0];
5159: a->kids[4] = b->kids[3];
5160: a->x.ints[1] = b->x.ints[0];
5161: a->kids[1] = b->kids[0];
5162: goto L640; /* OP2 %f,%t,%x,%y,%z */
5163: }
5164: if (
5165: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP3156> */
5166: && a->x.ints[1] == 12 /* r%n */
5167: && b->count == 1
5168: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5169: && b->x.ints[4] == a->x.ints[4]
5170: ) {
5171: if (--b->count > 0) {
5172: if (c=b->kids[0]) ++c->count;
5173: if (c=b->kids[3]) ++c->count;
5174: }
5175: a->syms[1] = b->syms[0];
5176: a->kids[4] = b->kids[3];
5177: a->x.ints[1] = b->x.ints[0];
5178: a->kids[1] = b->kids[0];
5179: goto L640; /* OP2 %f,%t,%x,%y,%z */
5180: }
5181: /* b => b */
5182: /* w => w */
5183: if (s="\0\15\16\0\0\0\0\0"[a->x.ints[4]]) {
5184: if (
5185: a->x.ints[1] == 12 /* r%n */
5186: && b->count == 1
5187: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
5188: && b->x.ints[3] == s
5189: && b->x.ints[4] == 3 /* l */
5190: ) {
5191: if (--b->count > 0) {
5192: if (c=b->kids[0]) ++c->count;
5193: if (c=b->kids[3]) ++c->count;
5194: }
5195: a->syms[1] = b->syms[0];
5196: a->kids[4] = b->kids[3];
5197: a->x.ints[1] = b->x.ints[0];
5198: a->kids[1] = b->kids[0];
5199: goto L640; /* OP2 %f,%t,%x,%y,%z */
5200: }
5201: }
5202: b = a->kids[0];
5203: if (
5204: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP3190> */
5205: && a->x.ints[0] == 12 /* r%n */
5206: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5207: && b->x.ints[4] == a->x.ints[4]
5208: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP3196> */
5209: ) {
5210: if (--b->count > 0) {
5211: if (c=b->kids[0]) ++c->count;
5212: if (c=b->kids[3]) ++c->count;
5213: }
5214: a->syms[0] = b->syms[0];
5215: a->kids[3] = b->kids[3];
5216: a->x.ints[0] = b->x.ints[0];
5217: a->kids[0] = b->kids[0];
5218: goto L640; /* OP2 %f,%t,%x,%y,%z */
5219: }
5220: if (
5221: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP3201> */
5222: && a->x.ints[0] == 12 /* r%n */
5223: && b->count == 1
5224: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5225: && b->x.ints[4] == a->x.ints[4]
5226: ) {
5227: if (--b->count > 0) {
5228: if (c=b->kids[0]) ++c->count;
5229: if (c=b->kids[3]) ++c->count;
5230: }
5231: a->syms[0] = b->syms[0];
5232: a->kids[3] = b->kids[3];
5233: a->x.ints[0] = b->x.ints[0];
5234: a->kids[0] = b->kids[0];
5235: goto L640; /* OP2 %f,%t,%x,%y,%z */
5236: }
5237: /* b => b */
5238: /* w => w */
5239: if (s="\0\15\16\0\0\0\0\0"[a->x.ints[4]]) {
5240: if (
5241: a->x.ints[0] == 12 /* r%n */
5242: && b->count == 1
5243: && b->op == 634 /* CVT %f,%t,%x,%y,%z */
5244: && b->x.ints[3] == s
5245: && b->x.ints[4] == 3 /* l */
5246: ) {
5247: if (--b->count > 0) {
5248: if (c=b->kids[0]) ++c->count;
5249: if (c=b->kids[3]) ++c->count;
5250: }
5251: a->syms[0] = b->syms[0];
5252: a->kids[3] = b->kids[3];
5253: a->x.ints[0] = b->x.ints[0];
5254: a->kids[0] = b->kids[0];
5255: goto L640; /* OP2 %f,%t,%x,%y,%z */
5256: }
5257: }
5258: if (
5259: a->x.ints[3] == 18 /* add */
5260: && a->x.ints[4] == 3 /* l */
5261: && a->x.ints[1] == 14 /* $%c */
5262: ) {
5263: if (
5264: a->syms[1]->x.name == sym[5].x.name /* 4 */
5265: && a->x.ints[0] == 12 /* r%n */
5266: && a->x.ints[2] == 13 /* r%c */
5267: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5268: && b->x.ints[4] == 3 /* l */
5269: && b->x.ints[0] == 13 /* r%c */
5270: && a->syms[2] == b->syms[0]
5271: && last && last == a->kids[0]
5272: && b->count == 2
5273: ) {
5274: --b->count;
5275: last->op = 637; /* MOVA %f,%t,%x,%y,%z */
5276: last->x.ints[0] = 26; /* (r%c)+ */
5277: last->x.ints[4] = 3; /* l */
5278: a->kids[0] = 0;
5279: rewrite(last);
5280: goto L647; /* # nop */
5281: }
5282: if (
5283: a->syms[1]->x.name == sym[3].x.name /* 2 */
5284: && a->x.ints[0] == 12 /* r%n */
5285: && a->x.ints[2] == 13 /* r%c */
5286: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5287: && b->x.ints[4] == 3 /* l */
5288: && b->x.ints[0] == 13 /* r%c */
5289: && a->syms[2] == b->syms[0]
5290: && last && last == a->kids[0]
5291: && b->count == 2
5292: ) {
5293: --b->count;
5294: last->op = 637; /* MOVA %f,%t,%x,%y,%z */
5295: last->x.ints[0] = 26; /* (r%c)+ */
5296: last->x.ints[4] = 2; /* w */
5297: a->kids[0] = 0;
5298: rewrite(last);
5299: goto L647; /* # nop */
5300: }
5301: if (
5302: a->syms[1]->x.name == sym[2].x.name /* 1 */
5303: && a->x.ints[0] == 12 /* r%n */
5304: && a->x.ints[2] == 13 /* r%c */
5305: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5306: && b->x.ints[4] == 3 /* l */
5307: && b->x.ints[0] == 13 /* r%c */
5308: && a->syms[2] == b->syms[0]
5309: && last && last == a->kids[0]
5310: && b->count == 2
5311: ) {
5312: --b->count;
5313: last->op = 637; /* MOVA %f,%t,%x,%y,%z */
5314: last->x.ints[0] = 26; /* (r%c)+ */
5315: last->x.ints[4] = 1; /* b */
5316: a->kids[0] = 0;
5317: rewrite(last);
5318: goto L647; /* # nop */
5319: }
5320: }
5321: switch (a->x.ints[4]) {
5322: case 1: /* b */
5323: if (
5324: a->x.ints[1] == 14 /* $%c */
5325: && lop(a,1,8)
5326: ) {
5327: goto L640; /* OP2 %f,%t,%x,%y,%z */
5328: }
5329: if (
5330: a->x.ints[0] == 14 /* $%c */
5331: && lop(a,0,8)
5332: ) {
5333: goto L640; /* OP2 %f,%t,%x,%y,%z */
5334: }
5335: break;
5336: case 2: /* w */
5337: if (
5338: a->x.ints[1] == 14 /* $%c */
5339: && lop(a,1,16)
5340: ) {
5341: goto L640; /* OP2 %f,%t,%x,%y,%z */
5342: }
5343: if (
5344: a->x.ints[0] == 14 /* $%c */
5345: && lop(a,0,16)
5346: ) {
5347: goto L640; /* OP2 %f,%t,%x,%y,%z */
5348: }
5349: break;
5350: }
5351: a->op = 640;
5352: break;
5353: case 641: L641: /* OP2K %f,%t,%x,%y,%z */
5354: dumptree(a, 641);
5355: b = a->kids[1];
5356: if (
5357: "\1\1\1\1\1\1\1\1"[a->x.ints[4]] /* <TMP3280> */
5358: && a->x.ints[1] == 12 /* r%n */
5359: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5360: && b->x.ints[4] == a->x.ints[4]
5361: && "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[b->x.ints[0]] /* <TMP3286> */
5362: ) {
5363: if (--b->count > 0) {
5364: if (c=b->kids[0]) ++c->count;
5365: if (c=b->kids[3]) ++c->count;
5366: }
5367: a->syms[1] = b->syms[0];
5368: a->kids[4] = b->kids[3];
5369: a->x.ints[1] = b->x.ints[0];
5370: a->kids[1] = b->kids[0];
5371: goto L641; /* OP2K %f,%t,%x,%y,%z */
5372: }
5373: a->op = 641;
5374: break;
5375: case 642: L642: /* j%f %z */
5376: dumptree(a, 642);
5377: a->op = 642;
5378: break;
5379: case 643: L643: /* jbr %z */
5380: dumptree(a, 643);
5381: a->op = 643;
5382: break;
5383: case 644: L644: /* jmp %z */
5384: dumptree(a, 644);
5385: b = a->kids[2];
5386: if (
5387: a->x.ints[2] == 9 /* (r%n) */
5388: && b->op == 636 /* MOV %f,%t,%x,%y,%z */
5389: && b->x.ints[4] == 3 /* l */
5390: && b->x.ints[0] == 14 /* $%c */
5391: ) {
5392: --b->count;
5393: a->x.ints[2] = 10; /* %c */
5394: a->syms[2] = b->syms[0];
5395: a->kids[2] = 0;
5396: goto L643; /* jbr %z */
5397: }
5398: a->op = 644;
5399: break;
5400: case 645: L645: /* ret */
5401: dumptree(a, 645);
5402: a->op = 645;
5403: break;
5404: case 646: L646: /* # label */
5405: dumptree(a, 646);
5406: a->op = 646;
5407: break;
5408: case 647: L647: /* # nop */
5409: dumptree(a, 647);
5410: a->op = 647;
5411: break;
5412: case 648: L648: /* %z: */
5413: dumptree(a, 648);
5414: a->op = 648;
5415: break;
5416: default:
5417: assert(0);
5418: }
5419: }
5420:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.