xref: /inferno-os/utils/vl/optab.c (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1*74a4d8c2SCharles.Forsyth #include	"l.h"
2*74a4d8c2SCharles.Forsyth 
3*74a4d8c2SCharles.Forsyth /* note: not finished
4*74a4d8c2SCharles.Forsyth  *	movd	fr,mem
5*74a4d8c2SCharles.Forsyth  *	movd	mem,fr
6*74a4d8c2SCharles.Forsyth  *	addv
7*74a4d8c2SCharles.Forsyth  *	addvu
8*74a4d8c2SCharles.Forsyth  *	subv
9*74a4d8c2SCharles.Forsyth  *	subvu
10*74a4d8c2SCharles.Forsyth  *	mulv
11*74a4d8c2SCharles.Forsyth  *	mulvu
12*74a4d8c2SCharles.Forsyth  *	divv
13*74a4d8c2SCharles.Forsyth  *	divvu
14*74a4d8c2SCharles.Forsyth  *	remv
15*74a4d8c2SCharles.Forsyth  *	remvu
16*74a4d8c2SCharles.Forsyth  */
17*74a4d8c2SCharles.Forsyth 
18*74a4d8c2SCharles.Forsyth #define	X	99
19*74a4d8c2SCharles.Forsyth 
20*74a4d8c2SCharles.Forsyth Optab	optab[] =
21*74a4d8c2SCharles.Forsyth {
22*74a4d8c2SCharles.Forsyth 	{ ATEXT,	C_LEXT,	C_NONE,	C_LCON, 	 0, 0, 0 },
23*74a4d8c2SCharles.Forsyth 	{ ATEXT,	C_LEXT,	C_REG,	C_LCON, 	 0, 0, 0 },
24*74a4d8c2SCharles.Forsyth 
25*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_REG,		 1, 4, 0 },
26*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_REG,		 1, 4, 0 },
27*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_REG,		12, 8, 0 },
28*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_REG,		13, 4, 0 },
29*74a4d8c2SCharles.Forsyth 
30*74a4d8c2SCharles.Forsyth 	{ ASUB,		C_REG,	C_REG,	C_REG,		 2, 4, 0 },
31*74a4d8c2SCharles.Forsyth 	{ AADD,		C_REG,	C_REG,	C_REG,		 2, 4, 0 },
32*74a4d8c2SCharles.Forsyth 	{ AAND,		C_REG,	C_REG,	C_REG,		 2, 4, 0 },
33*74a4d8c2SCharles.Forsyth 	{ ASUB,		C_REG,	C_NONE,	C_REG,		 2, 4, 0 },
34*74a4d8c2SCharles.Forsyth 	{ AADD,		C_REG,	C_NONE,	C_REG,		 2, 4, 0 },
35*74a4d8c2SCharles.Forsyth 	{ AAND,		C_REG,	C_NONE,	C_REG,		 2, 4, 0 },
36*74a4d8c2SCharles.Forsyth 
37*74a4d8c2SCharles.Forsyth 	{ ASLL,		C_REG,	C_NONE,	C_REG,		 9, 4, 0 },
38*74a4d8c2SCharles.Forsyth 	{ ASLL,		C_REG,	C_REG,	C_REG,		 9, 4, 0 },
39*74a4d8c2SCharles.Forsyth 
40*74a4d8c2SCharles.Forsyth 	{ AADDF,	C_FREG,	C_NONE,	C_FREG,		32, 4, 0 },
41*74a4d8c2SCharles.Forsyth 	{ AADDF,	C_FREG,	C_REG,	C_FREG,		32, 4, 0 },
42*74a4d8c2SCharles.Forsyth 	{ ACMPEQF,	C_FREG,	C_REG,	C_NONE,		32, 4, 0 },
43*74a4d8c2SCharles.Forsyth 	{ AABSF,	C_FREG,	C_NONE,	C_FREG,		33, 4, 0 },
44*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_FREG,		33, 4, 0 },
45*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_FREG,		33, 4, 0 },
46*74a4d8c2SCharles.Forsyth 
47*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_SEXT,		 7, 4, REGSB },
48*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_SEXT,		 7, 4, REGSB },
49*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_SEXT,		 7, 4, REGSB },
50*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_SEXT,		 7, 4, REGSB },
51*74a4d8c2SCharles.Forsyth 	{ AMOVWL,	C_REG,	C_NONE,	C_SEXT,		 7, 4, REGSB },
52*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_SAUTO,	 7, 4, REGSP },
53*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_SAUTO,	 7, 4, REGSP },
54*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_SAUTO,	 7, 4, REGSP },
55*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_SAUTO,	 7, 4, REGSP },
56*74a4d8c2SCharles.Forsyth 	{ AMOVWL,	C_REG,	C_NONE,	C_SAUTO,	 7, 4, REGSP },
57*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
58*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
59*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
60*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
61*74a4d8c2SCharles.Forsyth 	{ AMOVWL,	C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
62*74a4d8c2SCharles.Forsyth 
63*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SEXT,	C_NONE,	C_REG,		 8, 4, REGSB },
64*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_SEXT,	C_NONE,	C_REG,		 8, 4, REGSB },
65*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_SEXT,	C_NONE,	C_REG,		 8, 4, REGSB },
66*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_SEXT,	C_NONE,	C_REG,		 8, 4, REGSB },
67*74a4d8c2SCharles.Forsyth 	{ AMOVWL,	C_SEXT,	C_NONE,	C_REG,		 8, 4, REGSB },
68*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SAUTO,C_NONE,	C_REG,		 8, 4, REGSP },
69*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_SAUTO,C_NONE,	C_REG,		 8, 4, REGSP },
70*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_SAUTO,C_NONE,	C_REG,		 8, 4, REGSP },
71*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_SAUTO,C_NONE,	C_REG,		 8, 4, REGSP },
72*74a4d8c2SCharles.Forsyth 	{ AMOVWL,	C_SAUTO,C_NONE,	C_REG,		 8, 4, REGSP },
73*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SOREG,C_NONE,	C_REG,		 8, 4, REGZERO },
74*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_SOREG,C_NONE,	C_REG,		 8, 4, REGZERO },
75*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_SOREG,C_NONE,	C_REG,		 8, 4, REGZERO },
76*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_SOREG,C_NONE,	C_REG,		 8, 4, REGZERO },
77*74a4d8c2SCharles.Forsyth 	{ AMOVWL,	C_SOREG,C_NONE,	C_REG,		 8, 4, REGZERO },
78*74a4d8c2SCharles.Forsyth 
79*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_LEXT,		35, 16, REGSB },
80*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_LEXT,		35, 16, REGSB },
81*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_LEXT,		35, 16, REGSB },
82*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_LEXT,		35, 16, REGSB },
83*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_LAUTO,	35, 16, REGSP },
84*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_LAUTO,	35, 16, REGSP },
85*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_LAUTO,	35, 16, REGSP },
86*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_LAUTO,	35, 16, REGSP },
87*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_LOREG,	35, 16, REGZERO },
88*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_LOREG,	35, 16, REGZERO },
89*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_REG,	C_NONE,	C_LOREG,	35, 16, REGZERO },
90*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_REG,	C_NONE,	C_LOREG,	35, 16, REGZERO },
91*74a4d8c2SCharles.Forsyth 
92*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LEXT,	C_NONE,	C_REG,		36, 16, REGSB },
93*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_LEXT,	C_NONE,	C_REG,		36, 16, REGSB },
94*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_LEXT,	C_NONE,	C_REG,		36, 16, REGSB },
95*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_LEXT,	C_NONE,	C_REG,		36, 16, REGSB },
96*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LAUTO,C_NONE,	C_REG,		36, 16, REGSP },
97*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_LAUTO,C_NONE,	C_REG,		36, 16, REGSP },
98*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_LAUTO,C_NONE,	C_REG,		36, 16, REGSP },
99*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_LAUTO,C_NONE,	C_REG,		36, 16, REGSP },
100*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LOREG,C_NONE,	C_REG,		36, 16, REGZERO },
101*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_LOREG,C_NONE,	C_REG,		36, 16, REGZERO },
102*74a4d8c2SCharles.Forsyth 	{ AMOVB,	C_LOREG,C_NONE,	C_REG,		36, 16, REGZERO },
103*74a4d8c2SCharles.Forsyth 	{ AMOVBU,	C_LOREG,C_NONE,	C_REG,		36, 16, REGZERO },
104*74a4d8c2SCharles.Forsyth 
105*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SECON,C_NONE,	C_REG,		 3, 4, REGSB },
106*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SACON,C_NONE,	C_REG,		 3, 4, REGSP },
107*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LECON,C_NONE,	C_REG,		26, 12, REGSB },
108*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LACON,C_NONE,	C_REG,		26, 12, REGSP },
109*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_ADDCON,C_NONE,C_REG,		 3, 4, REGZERO },
110*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_ANDCON,C_NONE,C_REG,		 3, 4, REGZERO },
111*74a4d8c2SCharles.Forsyth 
112*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_UCON, C_NONE, C_REG,		24, 4, 0 },
113*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LCON,	C_NONE,	C_REG,		19, 8, 0 },
114*74a4d8c2SCharles.Forsyth 
115*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_HI,	C_NONE,	C_REG,		20, 4, 0 },
116*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_HI,	C_NONE,	C_REG,		20, 4, 0 },
117*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LO,	C_NONE,	C_REG,		20, 4, 0 },
118*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_LO,	C_NONE,	C_REG,		20, 4, 0 },
119*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_HI,		21, 4, 0 },
120*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_HI,		21, 4, 0 },
121*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_LO,		21, 4, 0 },
122*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_LO,		21, 4, 0 },
123*74a4d8c2SCharles.Forsyth 
124*74a4d8c2SCharles.Forsyth 	{ AMUL,		C_REG,	C_REG,	C_NONE,		22, 4, 0 },
125*74a4d8c2SCharles.Forsyth 
126*74a4d8c2SCharles.Forsyth 	{ AADD,		C_ADD0CON,C_REG,C_REG,		 4, 4, 0 },
127*74a4d8c2SCharles.Forsyth 	{ AADD,		C_ADD0CON,C_NONE,C_REG,		 4, 4, 0 },
128*74a4d8c2SCharles.Forsyth 	{ AADD,		C_ANDCON,C_REG,	C_REG,		10, 8, 0 },
129*74a4d8c2SCharles.Forsyth 	{ AADD,		C_ANDCON,C_NONE,C_REG,		10, 8, 0 },
130*74a4d8c2SCharles.Forsyth 
131*74a4d8c2SCharles.Forsyth 	{ AAND,		C_AND0CON,C_REG,C_REG,		 4, 4, 0 },
132*74a4d8c2SCharles.Forsyth 	{ AAND,		C_AND0CON,C_NONE,C_REG,		 4, 4, 0 },
133*74a4d8c2SCharles.Forsyth 	{ AAND,		C_ADDCON,C_REG,	C_REG,		10, 8, 0 },
134*74a4d8c2SCharles.Forsyth 	{ AAND,		C_ADDCON,C_NONE,C_REG,		10, 8, 0 },
135*74a4d8c2SCharles.Forsyth 
136*74a4d8c2SCharles.Forsyth 	{ AADD,		C_UCON,	C_REG,	C_REG,		25, 8, 0 },
137*74a4d8c2SCharles.Forsyth 	{ AADD,		C_UCON,	C_NONE,	C_REG,		25, 8, 0 },
138*74a4d8c2SCharles.Forsyth 	{ AAND,		C_UCON,	C_REG,	C_REG,		25, 8, 0 },
139*74a4d8c2SCharles.Forsyth 	{ AAND,		C_UCON,	C_NONE,	C_REG,		25, 8, 0 },
140*74a4d8c2SCharles.Forsyth 
141*74a4d8c2SCharles.Forsyth 	{ AADD,		C_LCON,	C_NONE,	C_REG,		23, 12, 0 },
142*74a4d8c2SCharles.Forsyth 	{ AAND,		C_LCON,	C_NONE,	C_REG,		23, 12, 0 },
143*74a4d8c2SCharles.Forsyth 	{ AADD,		C_LCON,	C_REG,	C_REG,		23, 12, 0 },
144*74a4d8c2SCharles.Forsyth 	{ AAND,		C_LCON,	C_REG,	C_REG,		23, 12, 0 },
145*74a4d8c2SCharles.Forsyth 
146*74a4d8c2SCharles.Forsyth 	{ ASLL,		C_SCON,	C_REG,	C_REG,		16, 4, 0 },
147*74a4d8c2SCharles.Forsyth 	{ ASLL,		C_SCON,	C_NONE,	C_REG,		16, 4, 0 },
148*74a4d8c2SCharles.Forsyth 
149*74a4d8c2SCharles.Forsyth 	{ ASYSCALL,	C_NONE,	C_NONE,	C_NONE,		 5, 4, 0 },
150*74a4d8c2SCharles.Forsyth 
151*74a4d8c2SCharles.Forsyth 	{ ABEQ,		C_REG,	C_REG,	C_SBRA,		 6, 4, 0 },
152*74a4d8c2SCharles.Forsyth 	{ ABEQ,		C_REG,	C_NONE,	C_SBRA,		 6, 4, 0 },
153*74a4d8c2SCharles.Forsyth 	{ ABLEZ,	C_REG,	C_NONE,	C_SBRA,		 6, 4, 0 },
154*74a4d8c2SCharles.Forsyth 	{ ABFPT,	C_NONE,	C_NONE,	C_SBRA,		 6, 4, 0 },
155*74a4d8c2SCharles.Forsyth 
156*74a4d8c2SCharles.Forsyth 	{ AJMP,		C_NONE,	C_NONE,	C_LBRA,		11, 4, 0 },
157*74a4d8c2SCharles.Forsyth 	{ AJAL,		C_NONE,	C_NONE,	C_LBRA,		11, 4, 0 },
158*74a4d8c2SCharles.Forsyth 
159*74a4d8c2SCharles.Forsyth 	{ AJMP,		C_NONE,	C_NONE,	C_ZOREG,	18, 4, REGZERO },
160*74a4d8c2SCharles.Forsyth 	{ AJAL,		C_NONE,	C_NONE,	C_ZOREG,	18, 4, REGLINK },
161*74a4d8c2SCharles.Forsyth 
162*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SEXT,	C_NONE,	C_FREG,		27, 4, REGSB },
163*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_SEXT,	C_NONE,	C_FREG,		27, 4, REGSB },
164*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_SEXT,	C_NONE,	C_FREG,		27, 8, REGSB },
165*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SAUTO,C_NONE,	C_FREG,		27, 4, REGSP },
166*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_SAUTO,C_NONE,	C_FREG,		27, 4, REGSP },
167*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_SAUTO,C_NONE,	C_FREG,		27, 8, REGSP },
168*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_SOREG,C_NONE,	C_FREG,		27, 4, REGZERO },
169*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_SOREG,C_NONE,	C_FREG,		27, 4, REGZERO },
170*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_SOREG,C_NONE,	C_FREG,		27, 8, REGZERO },
171*74a4d8c2SCharles.Forsyth 
172*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LEXT,	C_NONE,	C_FREG,		27, 16, REGSB },
173*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_LEXT,	C_NONE,	C_FREG,		27, 16, REGSB },
174*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_LEXT,	C_NONE,	C_FREG,		27, 20, REGSB },
175*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LAUTO,C_NONE,	C_FREG,		27, 16, REGSP },
176*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_LAUTO,C_NONE,	C_FREG,		27, 16, REGSP },
177*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_LAUTO,C_NONE,	C_FREG,		27, 20, REGSP },
178*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LOREG,C_NONE,	C_FREG,		27, 16, REGZERO },
179*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_LOREG,C_NONE,	C_FREG,		27, 16, REGZERO },
180*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_LOREG,C_NONE,	C_FREG,		27, 20, REGZERO },
181*74a4d8c2SCharles.Forsyth 
182*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_SEXT,		28, 4, REGSB },
183*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_SEXT,		28, 4, REGSB },
184*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_SEXT,		28, 8, REGSB },
185*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_SAUTO,	28, 4, REGSP },
186*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_SAUTO,	28, 4, REGSP },
187*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_SAUTO,	28, 8, REGSP },
188*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_SOREG,	28, 4, REGZERO },
189*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_SOREG,	28, 4, REGZERO },
190*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_SOREG,	28, 8, REGZERO },
191*74a4d8c2SCharles.Forsyth 
192*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_LEXT,		28, 16, REGSB },
193*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_LEXT,		28, 16, REGSB },
194*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_LEXT,		28, 20, REGSB },
195*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_LAUTO,	28, 16, REGSP },
196*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_LAUTO,	28, 16, REGSP },
197*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_LAUTO,	28, 20, REGSP },
198*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_LOREG,	28, 16, REGZERO },
199*74a4d8c2SCharles.Forsyth 	{ AMOVF,	C_FREG,	C_NONE,	C_LOREG,	28, 16, REGZERO },
200*74a4d8c2SCharles.Forsyth 	{ AMOVD,	C_FREG,	C_NONE,	C_LOREG,	28, 20, REGZERO },
201*74a4d8c2SCharles.Forsyth 
202*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_FREG,		30, 4, 0 },
203*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FREG,	C_NONE,	C_REG,		31, 4, 0 },
204*74a4d8c2SCharles.Forsyth 
205*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_ADDCON,C_NONE,C_FREG,		34, 8, 0 },
206*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_ANDCON,C_NONE,C_FREG,		34, 8, 0 },
207*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_UCON, C_NONE, C_FREG,		35, 8, 0 },
208*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_LCON,	C_NONE,	C_FREG,		36, 12, 0 },
209*74a4d8c2SCharles.Forsyth 
210*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_MREG,		37, 4, 0 },
211*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_MREG,		37, 4, 0 },
212*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_MREG,	C_NONE,	C_REG,		38, 4, 0 },
213*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_MREG,	C_NONE,	C_REG,		38, 4, 0 },
214*74a4d8c2SCharles.Forsyth 
215*74a4d8c2SCharles.Forsyth 	{ ARFE,		C_NONE,	C_NONE,	C_ZOREG,	39, 8, 0 },
216*74a4d8c2SCharles.Forsyth 	{ AWORD,	C_NONE,	C_NONE,	C_LCON,		40, 4, 0 },
217*74a4d8c2SCharles.Forsyth 
218*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_REG,	C_NONE,	C_FCREG,	41, 8, 0 },
219*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_REG,	C_NONE,	C_FCREG,	41, 8, 0 },
220*74a4d8c2SCharles.Forsyth 	{ AMOVW,	C_FCREG,C_NONE,	C_REG,		42, 4, 0 },
221*74a4d8c2SCharles.Forsyth 	{ AMOVV,	C_FCREG,C_NONE,	C_REG,		42, 4, 0 },
222*74a4d8c2SCharles.Forsyth 
223*74a4d8c2SCharles.Forsyth 	{ ABREAK,	C_REG,	C_NONE,	C_SEXT,		 7, 4, REGSB },	/* really CACHE instruction */
224*74a4d8c2SCharles.Forsyth 	{ ABREAK,	C_REG,	C_NONE,	C_SAUTO,	 7, 4, REGSP },
225*74a4d8c2SCharles.Forsyth 	{ ABREAK,	C_REG,	C_NONE,	C_SOREG,	 7, 4, REGZERO },
226*74a4d8c2SCharles.Forsyth 	{ ABREAK,	C_NONE,	C_NONE,	C_NONE,		 5, 4, 0 },
227*74a4d8c2SCharles.Forsyth 
228*74a4d8c2SCharles.Forsyth 	{ ACASE,	C_REG,	C_NONE,	C_NONE,		 45, 28, 0 },
229*74a4d8c2SCharles.Forsyth 	{ ABCASE,	C_LCON,	C_NONE,	C_LBRA,		 46, 4, 0 },
230*74a4d8c2SCharles.Forsyth 
231*74a4d8c2SCharles.Forsyth 	{ AXXX,		C_NONE,	C_NONE,	C_NONE,		 0, 4, 0 },
232*74a4d8c2SCharles.Forsyth };
233