]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/ql/optab.c
ndb/dns: remove single-ip-address assuptions
[plan9front.git] / sys / src / cmd / ql / optab.c
1 #include        "l.h"
2
3 Optab   optab[] =
4 {
5         { ATEXT,        C_LEXT, C_NONE, C_NONE,         C_LCON,          0, 0, 0 },
6         { ATEXT,        C_LEXT, C_REG, C_NONE,  C_LCON,          0, 0, 0 },
7         { ATEXT,        C_LEXT, C_NONE, C_LCON,         C_LCON,          0, 0, 0 },
8         { ATEXT,        C_LEXT, C_REG, C_LCON,  C_LCON,          0, 0, 0 },
9         { ATEXT,        C_ADDR, C_NONE, C_NONE,         C_LCON,          0, 0, 0 },
10         { ATEXT,        C_ADDR, C_REG, C_NONE,  C_LCON,          0, 0, 0 },
11         { ATEXT,        C_ADDR, C_NONE, C_LCON,         C_LCON,          0, 0, 0 },
12         { ATEXT,        C_ADDR, C_REG, C_LCON,  C_LCON,          0, 0, 0 },
13
14         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_REG,           1, 4, 0 },
15         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_REG,          12, 4, 0 },
16         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_REG,          13, 4, 0 },
17
18         { AADD,         C_REG,  C_REG, C_NONE,  C_REG,           2, 4, 0 },
19         { AADD,         C_REG,  C_NONE, C_NONE,         C_REG,           2, 4, 0 },
20         { AADD,         C_ADDCON,C_REG, C_NONE,         C_REG,           4, 4, 0 },
21         { AADD,         C_ADDCON,C_NONE, C_NONE, C_REG,          4, 4, 0 },
22         { AADD,         C_UCON, C_REG, C_NONE,  C_REG,          20, 4, 0 },
23         { AADD,         C_UCON, C_NONE, C_NONE,         C_REG,          20, 4, 0 },
24         { AADD,         C_LCON, C_REG, C_NONE,  C_REG,          22, 12, 0 },
25         { AADD,         C_LCON, C_NONE, C_NONE,         C_REG,          22, 12, 0 },
26
27         { AADDC,        C_REG,  C_REG, C_NONE,  C_REG,           2, 4, 0 },
28         { AADDC,        C_REG,  C_NONE, C_NONE,         C_REG,           2, 4, 0 },
29         { AADDC,        C_ADDCON,C_REG, C_NONE,         C_REG,           4, 4, 0 },
30         { AADDC,        C_ADDCON,C_NONE, C_NONE, C_REG,          4, 4, 0 },
31         { AADDC,        C_LCON, C_REG, C_NONE,  C_REG,          22, 12, 0 },
32         { AADDC,        C_LCON, C_NONE, C_NONE,         C_REG,          22, 12, 0 },
33
34         { AAND,         C_REG,  C_REG, C_NONE,  C_REG,          6, 4, 0 },      /* logical, no literal */
35         { AAND,         C_REG,  C_NONE, C_NONE,         C_REG,          6, 4, 0 },
36         { AANDCC,       C_REG,  C_REG, C_NONE,  C_REG,          6, 4, 0 },
37         { AANDCC,       C_REG,  C_NONE, C_NONE,         C_REG,          6, 4, 0 },
38
39         { AANDCC,       C_ANDCON,C_NONE, C_NONE, C_REG,         58, 4, 0 },
40         { AANDCC,       C_ANDCON,C_REG, C_NONE,         C_REG,          58, 4, 0 },
41         { AANDCC,       C_UCON, C_NONE, C_NONE,         C_REG,          59, 4, 0 },
42         { AANDCC,       C_UCON, C_REG, C_NONE,  C_REG,          59, 4, 0 },
43         { AANDCC,       C_LCON, C_NONE, C_NONE,         C_REG,          23, 12, 0 },
44         { AANDCC,       C_LCON, C_REG, C_NONE,  C_REG,          23, 12, 0 },
45
46         { AMULLW,       C_REG,  C_REG, C_NONE,  C_REG,           2, 4, 0 },
47         { AMULLW,       C_REG,  C_NONE, C_NONE,         C_REG,           2, 4, 0 },
48         { AMULLW,       C_ADDCON,C_REG, C_NONE,         C_REG,           4, 4, 0 },
49         { AMULLW,       C_ADDCON,C_NONE, C_NONE, C_REG,          4, 4, 0 },
50         { AMULLW,       C_ANDCON,C_REG, C_NONE,         C_REG,           4, 4, 0 },
51         { AMULLW,       C_ANDCON,       C_NONE, C_NONE, C_REG,   4, 4, 0 },
52         { AMULLW,       C_LCON, C_REG,  C_NONE, C_REG,          22, 12, 0},
53         { AMULLW,       C_LCON, C_NONE, C_NONE, C_REG,          22, 12, 0},
54
55         { ASUBC,        C_REG,  C_REG, C_NONE,  C_REG,           10, 4, 0 },
56         { ASUBC,        C_REG,  C_NONE, C_NONE,         C_REG,           10, 4, 0 },
57         { ASUBC,        C_REG,  C_NONE, C_ADDCON,       C_REG,   27, 4, 0 },
58         { ASUBC,        C_REG,  C_NONE, C_LCON, C_REG,          28, 12, 0},
59
60         { AOR,          C_REG,  C_REG, C_NONE,  C_REG,          6, 4, 0 },      /* logical, literal not cc (or/xor) */
61         { AOR,          C_REG,  C_NONE, C_NONE,         C_REG,          6, 4, 0 },
62         { AOR,          C_ANDCON, C_NONE, C_NONE,  C_REG,       58, 4, 0 },
63         { AOR,          C_ANDCON, C_REG, C_NONE,  C_REG,                58, 4, 0 },
64         { AOR,          C_UCON, C_NONE, C_NONE,  C_REG,         59, 4, 0 },
65         { AOR,          C_UCON, C_REG, C_NONE,  C_REG,          59, 4, 0 },
66         { AOR,          C_LCON, C_NONE, C_NONE,         C_REG,          23, 12, 0 },
67         { AOR,          C_LCON, C_REG, C_NONE,  C_REG,          23, 12, 0 },
68
69         { ADIVW,        C_REG,  C_REG, C_NONE,  C_REG,           2, 4, 0 },     /* op r1[,r2],r3 */
70         { ADIVW,        C_REG,  C_NONE, C_NONE,         C_REG,           2, 4, 0 },
71         { ASUB, C_REG,  C_REG, C_NONE,  C_REG,           10, 4, 0 },    /* op r2[,r1],r3 */
72         { ASUB, C_REG,  C_NONE, C_NONE,         C_REG,           10, 4, 0 },
73
74         { ASLW, C_REG,  C_NONE, C_NONE,         C_REG,           6, 4, 0 },
75         { ASLW, C_REG,  C_REG, C_NONE,  C_REG,           6, 4, 0 },
76         { ASLW, C_SCON, C_REG, C_NONE,  C_REG,          57, 4, 0 },
77         { ASLW, C_SCON, C_NONE, C_NONE,         C_REG,          57, 4, 0 },
78
79         { ASRAW,        C_REG,  C_NONE, C_NONE,         C_REG,           6, 4, 0 },
80         { ASRAW,        C_REG,  C_REG, C_NONE,  C_REG,           6, 4, 0 },
81         { ASRAW,        C_SCON, C_REG, C_NONE,  C_REG,          56, 4, 0 },
82         { ASRAW,        C_SCON, C_NONE, C_NONE,         C_REG,          56, 4, 0 },
83
84         { ARLWMI,       C_SCON, C_REG, C_LCON,  C_REG,          62, 4, 0 },
85         { ARLWMI,       C_REG,  C_REG, C_LCON,  C_REG,          63, 4, 0 },
86
87         { AFADD,        C_FREG, C_NONE, C_NONE,         C_FREG,          2, 4, 0 },
88         { AFADD,        C_FREG, C_REG, C_NONE,  C_FREG,          2, 4, 0 },
89         { AFABS,        C_FREG, C_NONE, C_NONE,         C_FREG,         33, 4, 0 },
90         { AFABS,        C_NONE, C_NONE, C_NONE,         C_FREG,         33, 4, 0 },
91         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_FREG,         33, 4, 0 },
92
93         { AFMADD,       C_FREG, C_REG, C_FREG,  C_FREG,          34, 4, 0 },
94         { AFMUL,        C_FREG, C_NONE, C_NONE,         C_FREG,          32, 4, 0 },
95         { AFMUL,        C_FREG, C_REG, C_NONE,  C_FREG,          32, 4, 0 },
96
97         { AMOVW,        C_REG,  C_REG, C_NONE,  C_ZOREG,         7, 4, REGZERO },
98         { AMOVBZ,       C_REG,  C_REG, C_NONE,  C_ZOREG,         7, 4, REGZERO },
99         { AMOVBZU,      C_REG,  C_REG, C_NONE,  C_ZOREG,         7, 4, REGZERO },
100         { AMOVB,        C_REG,  C_REG, C_NONE,  C_ZOREG,         7, 4, REGZERO },
101         { AMOVBU,       C_REG,  C_REG, C_NONE,  C_ZOREG,         7, 4, REGZERO },
102         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_SEXT,          7, 4, REGSB },
103         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_SEXT,          7, 4, REGSB },
104         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_SEXT,          7, 4, REGSB },
105         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_SAUTO,         7, 4, REGSP },
106         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_SAUTO,         7, 4, REGSP },
107         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_SAUTO,         7, 4, REGSP },
108         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_SOREG,         7, 4, REGZERO },
109         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_SOREG,         7, 4, REGZERO },
110         { AMOVBZU,      C_REG,  C_NONE, C_NONE,         C_SOREG,         7, 4, REGZERO },
111         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_SOREG,         7, 4, REGZERO },
112         { AMOVBU,       C_REG,  C_NONE, C_NONE,         C_SOREG,         7, 4, REGZERO },
113
114         { AMOVW,        C_ZOREG,C_REG, C_NONE,  C_REG,           8, 4, REGZERO },
115         { AMOVBZ,       C_ZOREG,C_REG, C_NONE,  C_REG,           8, 4, REGZERO },
116         { AMOVBZU,      C_ZOREG,C_REG, C_NONE,  C_REG,           8, 4, REGZERO },
117         { AMOVB,        C_ZOREG,C_REG, C_NONE,  C_REG,          9, 8, REGZERO },
118         { AMOVBU,       C_ZOREG,C_REG, C_NONE,  C_REG,          9, 8, REGZERO },
119         { AMOVW,        C_SEXT, C_NONE, C_NONE,         C_REG,           8, 4, REGSB },
120         { AMOVBZ,       C_SEXT, C_NONE, C_NONE,         C_REG,           8, 4, REGSB },
121         { AMOVB,        C_SEXT, C_NONE, C_NONE,         C_REG,          9, 8, REGSB },
122         { AMOVW,        C_SAUTO,C_NONE, C_NONE,         C_REG,           8, 4, REGSP },
123         { AMOVBZ,       C_SAUTO,C_NONE, C_NONE,         C_REG,           8, 4, REGSP },
124         { AMOVB,        C_SAUTO,C_NONE, C_NONE,         C_REG,          9, 8, REGSP },
125         { AMOVW,        C_SOREG,C_NONE, C_NONE,         C_REG,           8, 4, REGZERO },
126         { AMOVBZ,       C_SOREG,C_NONE, C_NONE,         C_REG,           8, 4, REGZERO },
127         { AMOVBZU,      C_SOREG,C_NONE, C_NONE,         C_REG,           8, 4, REGZERO },
128         { AMOVB,        C_SOREG,C_NONE, C_NONE,         C_REG,          9, 8, REGZERO },
129         { AMOVBU,       C_SOREG,C_NONE, C_NONE,         C_REG,          9, 8, REGZERO },
130
131         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_LEXT,         35, 8, REGSB },
132         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_LEXT,         35, 8, REGSB },
133         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_LEXT,         35, 8, REGSB },
134         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_LAUTO,        35, 8, REGSP },
135         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_LAUTO,        35, 8, REGSP },
136         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_LAUTO,        35, 8, REGSP },
137         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_LOREG,        35, 8, REGZERO },
138         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_LOREG,        35, 8, REGZERO },
139         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_LOREG,        35, 8, REGZERO },
140         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_ADDR,         74, 8, 0 },
141         { AMOVBZ,       C_REG,  C_NONE, C_NONE,         C_ADDR,         74, 8, 0 },
142         { AMOVB,        C_REG,  C_NONE, C_NONE,         C_ADDR,         74, 8, 0 },
143
144         { AMOVW,        C_LEXT, C_NONE, C_NONE,         C_REG,          36, 8, REGSB },
145         { AMOVBZ,       C_LEXT, C_NONE, C_NONE,         C_REG,          36, 8, REGSB },
146         { AMOVB,        C_LEXT, C_NONE, C_NONE,         C_REG,          37, 12, REGSB },
147         { AMOVW,        C_LAUTO,C_NONE, C_NONE,         C_REG,          36, 8, REGSP },
148         { AMOVBZ,       C_LAUTO,C_NONE, C_NONE,         C_REG,          36, 8, REGSP },
149         { AMOVB,        C_LAUTO,C_NONE, C_NONE,         C_REG,          37, 12, REGSP },
150         { AMOVW,        C_LOREG,C_NONE, C_NONE,         C_REG,          36, 8, REGZERO },
151         { AMOVBZ,       C_LOREG,C_NONE, C_NONE,         C_REG,          36, 8, REGZERO },
152         { AMOVB,        C_LOREG,C_NONE, C_NONE,         C_REG,          37, 12, REGZERO },
153         { AMOVW,        C_ADDR, C_NONE, C_NONE,         C_REG,          75, 8, 0 },
154         { AMOVBZ,       C_ADDR, C_NONE, C_NONE,         C_REG,          75, 8, 0 },
155         { AMOVB,        C_ADDR, C_NONE, C_NONE,         C_REG,          76, 12, 0 },
156
157         { AMOVW,        C_SECON,C_NONE, C_NONE,         C_REG,           3, 4, REGSB },
158         { AMOVW,        C_SACON,C_NONE, C_NONE,         C_REG,           3, 4, REGSP },
159         { AMOVW,        C_LECON,C_NONE, C_NONE,         C_REG,          26, 8, REGSB }, 
160         { AMOVW,        C_LACON,C_NONE, C_NONE,         C_REG,          26, 8, REGSP },
161         { AMOVW,        C_ADDCON,C_NONE, C_NONE, C_REG,          3, 4, REGZERO },
162
163         { AMOVW,        C_UCON, C_NONE, C_NONE,  C_REG,         3, 4, REGZERO },
164         { AMOVW,        C_LCON, C_NONE, C_NONE,         C_REG,          19, 8, 0 },
165
166         { AMOVHBR,      C_ZOREG,        C_REG, C_NONE, C_REG,           45, 4, 0 },
167         { AMOVHBR,      C_ZOREG, C_NONE, C_NONE, C_REG, 45, 4, 0 },
168         { AMOVHBR,      C_REG,  C_REG, C_NONE,  C_ZOREG,                44, 4, 0 },
169         { AMOVHBR,      C_REG,  C_NONE, C_NONE, C_ZOREG,                44, 4, 0 },
170
171         { ASYSCALL,     C_NONE, C_NONE, C_NONE,         C_NONE,          5, 4, 0 },
172
173         { ABEQ,         C_NONE, C_NONE, C_NONE,         C_SBRA,         16, 4, 0 },
174         { ABEQ,         C_CREG, C_NONE, C_NONE,         C_SBRA,         16, 4, 0 },
175
176         { ABR,          C_NONE, C_NONE, C_NONE,         C_LBRA,         11, 4, 0 },
177
178         { ABC,          C_SCON, C_REG, C_NONE,  C_SBRA,         16, 4, 0 },
179         { ABC,          C_SCON, C_REG, C_NONE,  C_LBRA,         17, 4, 0 },
180
181         { ABR,          C_NONE, C_NONE, C_NONE,         C_LR,           18, 4, 0 },
182         { ABR,          C_NONE, C_NONE, C_NONE,         C_CTR,          18, 4, 0 },
183         { ABR,          C_NONE, C_NONE, C_NONE,         C_ZOREG,                15, 8, 0 },
184
185         { ABC,          C_NONE, C_REG, C_NONE,  C_LR,           18, 4, 0 },
186         { ABC,          C_NONE, C_REG, C_NONE,  C_CTR,          18, 4, 0 },
187         { ABC,          C_SCON, C_REG, C_NONE,  C_LR,           18, 4, 0 },
188         { ABC,          C_SCON, C_REG, C_NONE,  C_CTR,          18, 4, 0 },
189         { ABC,          C_NONE, C_NONE, C_NONE,         C_ZOREG,                15, 8, 0 },
190
191         { AFMOVD,       C_SEXT, C_NONE, C_NONE,         C_FREG,         8, 4, REGSB },
192         { AFMOVD,       C_SAUTO,C_NONE, C_NONE,         C_FREG,         8, 4, REGSP },
193         { AFMOVD,       C_SOREG,C_NONE, C_NONE,         C_FREG,         8, 4, REGZERO },
194
195         { AFMOVD,       C_LEXT, C_NONE, C_NONE,         C_FREG,         8, 4, REGSB },
196         { AFMOVD,       C_LAUTO,C_NONE, C_NONE,         C_FREG,         8, 4, REGSP },
197         { AFMOVD,       C_LOREG,C_NONE, C_NONE,         C_FREG,         8, 4, REGZERO },
198         { AFMOVD,       C_ADDR, C_NONE, C_NONE,         C_FREG,         75, 8, 0 },
199
200         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_SEXT,         7, 4, REGSB },
201         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_SAUTO,        7, 4, REGSP },
202         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_SOREG,        7, 4, REGZERO },
203
204         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_LEXT,         7, 4, REGSB },
205         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_LAUTO,        7, 4, REGSP },
206         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_LOREG,        7, 4, REGZERO },
207         { AFMOVD,       C_FREG, C_NONE, C_NONE,         C_ADDR,         74, 8, 0 },
208
209         { ASYNC,                C_NONE, C_NONE, C_NONE,         C_NONE,         46, 4, 0 },
210         { AWORD,        C_LCON, C_NONE, C_NONE,         C_NONE,         40, 4, 0 },
211
212         { AADDME,       C_REG,  C_NONE, C_NONE,         C_REG,          47, 4, 0 },
213
214         { AEXTSB,       C_REG,  C_NONE, C_NONE,         C_REG,          48, 4, 0 },
215         { AEXTSB,       C_NONE, C_NONE, C_NONE,         C_REG,          48, 4, 0 },
216
217         { ANEG,         C_REG,  C_NONE, C_NONE,         C_REG,          47, 4, 0 },
218         { ANEG,         C_NONE, C_NONE, C_NONE,         C_REG,          47, 4, 0 },
219
220         { AREM,         C_REG,  C_NONE, C_NONE,         C_REG,          51, 12, 0 },
221         { AREM,         C_REG,  C_REG, C_NONE,  C_REG,          51, 12, 0 },
222
223         { AMTFSB0,      C_SCON, C_NONE, C_NONE,         C_NONE,         52, 4, 0 },
224         { AMOVFL, C_FPSCR, C_NONE, C_NONE,      C_FREG,         53, 4, 0 },
225         { AMOVFL, C_FREG, C_NONE, C_NONE,       C_FPSCR,                64, 4, 0 },
226         { AMOVFL, C_FREG, C_NONE, C_LCON,       C_FPSCR,                64, 4, 0 },
227         { AMOVFL,       C_LCON, C_NONE, C_NONE, C_FPSCR,                65, 4, 0 },
228
229         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_MSR,          54, 4, 0 },
230         { AMOVW,        C_MSR,  C_NONE, C_NONE,         C_REG,          54, 4, 0 },
231
232         { AMOVW,        C_SREG, C_NONE, C_NONE,         C_REG,          55, 4, 0 },
233         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_SREG,         55, 4, 0 },
234         { AMOVW,        C_SREG, C_REG, C_NONE,  C_REG,          55, 4, 0 },     /* MOVW SR(Rn), Rm and v.v.*/
235         { AMOVW,        C_REG,  C_REG, C_NONE,  C_SREG,         55, 4, 0 },
236
237         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_SPR,          66, 4, 0 },
238         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_LR,           66, 4, 0 },
239         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_CTR,          66, 4, 0 },
240         { AMOVW,        C_REG,  C_NONE, C_NONE,         C_XER,          66, 4, 0 },
241         { AMOVW,        C_SPR,  C_NONE, C_NONE,         C_REG,          66, 4, 0 },
242         { AMOVW,        C_LR,   C_NONE, C_NONE,         C_REG,          66, 4, 0 },
243         { AMOVW,        C_CTR,  C_NONE, C_NONE,         C_REG,          66, 4, 0 },
244         { AMOVW,        C_XER,  C_NONE, C_NONE,         C_REG,          66, 4, 0 },
245
246         { AMOVFL,       C_FPSCR, C_NONE, C_NONE,        C_CREG,         73, 4, 0 },
247         { AMOVFL,       C_CREG, C_NONE, C_NONE,         C_CREG,         67, 4, 0 },
248         { AMOVW,        C_XER,  C_NONE, C_NONE,         C_CREG,         72, 4, 0 },
249         { AMOVW,        C_CREG, C_NONE, C_NONE,         C_REG,          68, 4, 0 },
250         { AMOVFL,       C_REG, C_NONE, C_LCON, C_CREG,          69, 4, 0 },
251         { AMOVFL,       C_REG, C_NONE, C_NONE, C_CREG,          69, 4, 0 },
252         { AMOVW,        C_REG, C_NONE, C_NONE, C_CREG,          69, 4, 0 },
253
254         { ACMP, C_REG,  C_NONE, C_NONE,         C_REG,  70, 4, 0 },
255         { ACMP, C_REG,  C_REG, C_NONE,  C_REG,  70, 4, 0 },
256         { ACMP, C_REG,  C_NONE, C_NONE, C_ADDCON,       71, 4, 0 },
257         { ACMP, C_REG,  C_REG, C_NONE,  C_ADDCON,       71, 4, 0 },
258
259         { ACMPU,        C_REG,  C_NONE, C_NONE,         C_REG,  70, 4, 0 },
260         { ACMPU,        C_REG,  C_REG, C_NONE,  C_REG,  70, 4, 0 },
261         { ACMPU,        C_REG,  C_NONE, C_NONE, C_ANDCON,       71, 4, 0 },
262         { ACMPU,        C_REG,  C_REG, C_NONE,  C_ANDCON,       71, 4, 0 },
263
264         { AFCMPO,       C_FREG, C_NONE, C_NONE,         C_FREG, 70, 4, 0 },
265         { AFCMPO,       C_FREG, C_REG, C_NONE,  C_FREG, 70, 4, 0 },
266
267         { ATW,          C_LCON, C_REG, C_NONE,  C_REG,          60, 4, 0 },
268         { ATW,          C_LCON, C_REG, C_NONE,  C_ADDCON,       61, 4, 0 },
269
270         { ADCBF,        C_ZOREG, C_NONE, C_NONE,  C_NONE,       43, 4, 0 },
271         { ADCBF,        C_ZOREG, C_REG, C_NONE,  C_NONE,        43, 4, 0 },
272
273         { AECOWX,       C_REG,  C_REG, C_NONE,  C_ZOREG,        44, 4, 0 },
274         { AECIWX,       C_ZOREG, C_REG, C_NONE,  C_REG,         45, 4, 0 },
275         { AECOWX,       C_REG,  C_NONE, C_NONE,         C_ZOREG,        44, 4, 0 },
276         { AECIWX,       C_ZOREG, C_NONE, C_NONE,  C_REG,                45, 4, 0 },
277
278         { AEIEIO,       C_NONE, C_NONE, C_NONE,         C_NONE,         46, 4, 0 },
279         { ATLBIE,       C_REG, C_NONE, C_NONE,          C_NONE,         49, 4, 0 },
280
281         { ASTSW,        C_REG,  C_NONE, C_NONE,         C_ZOREG,        44, 4, 0 },
282         { ASTSW,        C_REG,  C_NONE, C_LCON,         C_ZOREG,        41, 4, 0 },
283         { ALSW, C_ZOREG, C_NONE, C_NONE,  C_REG,                45, 4, 0 },
284         { ALSW, C_ZOREG, C_NONE, C_LCON,  C_REG,                42, 4, 0 },
285
286         { AMACCHW,      C_REG,  C_REG, C_NONE,  C_REG,           2, 4, 0 },     /* op rb,ra,rt */
287
288         { AFSMOVS,      C_ZOREG,        C_REG, C_NONE, C_FREG,          45, 4, 0 },
289         { AFSMOVS,      C_ZOREG, C_NONE, C_NONE, C_FREG,        45, 4, 0 },
290         { AFSMOVS,      C_FREG, C_REG, C_NONE,  C_ZOREG,                44, 4, 0 },
291         { AFSMOVS,      C_FREG, C_NONE, C_NONE, C_ZOREG,                44, 4, 0 },
292
293         { AFPMOVD,      C_ZOREG,        C_REG, C_NONE, C_FREG,          45, 4, 0 },
294         { AFPMOVD,      C_ZOREG, C_NONE, C_NONE, C_FREG,        45, 4, 0 },
295         { AFPMOVD,      C_FREG, C_REG, C_NONE,  C_ZOREG,                44, 4, 0 },
296         { AFPMOVD,      C_FREG, C_NONE, C_NONE, C_ZOREG,                44, 4, 0 },
297
298         { AFPMOVD,      C_FREG, C_NONE, C_NONE,         C_FREG,         33, 4, 0 },     /* f[xps]mr */
299         { AFMOVSPD,     C_FREG, C_NONE, C_NONE,         C_FREG,         33, 4, 0 },     /* fsm[tf]p */
300
301         { AXXX,         C_NONE, C_NONE, C_NONE,         C_NONE,          0, 4, 0 },
302 };