1
2
3
4
5 package loong64
6
7 import (
8 "cmd/internal/obj"
9 )
10
11 var oprrrr = map[obj.As]uint32{
12 AFMADDF: 0x81 << 20,
13 AFMADDD: 0x82 << 20,
14 AFMSUBF: 0x85 << 20,
15 AFMSUBD: 0x86 << 20,
16 AFNMADDF: 0x89 << 20,
17 AFNMADDD: 0x8a << 20,
18 AFNMSUBF: 0x8d << 20,
19 AFNMSUBD: 0x8e << 20,
20 AVSHUFB: 0x0d5 << 20,
21 AXVSHUFB: 0x0d6 << 20,
22 }
23
24 var oprrr = map[obj.As]uint32{
25 AADD: 0x20 << 15,
26 AADDW: 0x20 << 15,
27 AADDV: 0x21 << 15,
28 AADDVU: 0x21 << 15,
29 ASUB: 0x22 << 15,
30 ASUBW: 0x22 << 15,
31 ANEGW: 0x22 << 15,
32 ASUBV: 0x23 << 15,
33 ASUBVU: 0x23 << 15,
34 ANEGV: 0x23 << 15,
35 ASGT: 0x24 << 15,
36 ASGTU: 0x25 << 15,
37 AMASKEQZ: 0x26 << 15,
38 AMASKNEZ: 0x27 << 15,
39 ANOR: 0x28 << 15,
40 AAND: 0x29 << 15,
41 AOR: 0x2a << 15,
42 AXOR: 0x2b << 15,
43 AORN: 0x2c << 15,
44 AANDN: 0x2d << 15,
45 ASLL: 0x2e << 15,
46 ASRL: 0x2f << 15,
47 ASRA: 0x30 << 15,
48 ASLLV: 0x31 << 15,
49 ASRLV: 0x32 << 15,
50 ASRAV: 0x33 << 15,
51 AROTR: 0x36 << 15,
52 AROTRV: 0x37 << 15,
53 AMUL: 0x38 << 15,
54 AMULW: 0x38 << 15,
55 AMULH: 0x39 << 15,
56 AMULHU: 0x3a << 15,
57 AMULV: 0x3b << 15,
58 AMULVU: 0x3b << 15,
59 AMULHV: 0x3c << 15,
60 AMULHVU: 0x3d << 15,
61 AMULWVW: 0x3e << 15,
62 AMULWVWU: 0x3f << 15,
63 ADIV: 0x40 << 15,
64 ADIVW: 0x40 << 15,
65 AREM: 0x41 << 15,
66 AREMW: 0x41 << 15,
67 ADIVU: 0x42 << 15,
68 ADIVWU: 0x42 << 15,
69 AREMU: 0x43 << 15,
70 AREMWU: 0x43 << 15,
71 ADIVV: 0x44 << 15,
72 AREMV: 0x45 << 15,
73 ADIVVU: 0x46 << 15,
74 AREMVU: 0x47 << 15,
75 ACRCWBW: 0x48 << 15,
76 ACRCWHW: 0x49 << 15,
77 ACRCWWW: 0x4a << 15,
78 ACRCWVW: 0x4b << 15,
79 ACRCCWBW: 0x4c << 15,
80 ACRCCWHW: 0x4d << 15,
81 ACRCCWWW: 0x4e << 15,
82 ACRCCWVW: 0x4f << 15,
83 AJMP: 0x13 << 26,
84 AJAL: 0x13<<26 | 1<<0,
85 AMULF: 0x209 << 15,
86 AMULD: 0x20a << 15,
87 ADIVF: 0x20d << 15,
88 ADIVD: 0x20e << 15,
89 ASUBF: 0x205 << 15,
90 ASUBD: 0x206 << 15,
91 AADDF: 0x201 << 15,
92 AADDD: 0x202 << 15,
93 ACMPEQF: 0x0c1<<20 | 0x4<<15,
94 ACMPEQD: 0x0c2<<20 | 0x4<<15,
95 ACMPGED: 0x0c2<<20 | 0x7<<15,
96 ACMPGEF: 0x0c1<<20 | 0x7<<15,
97 ACMPGTD: 0x0c2<<20 | 0x3<<15,
98 ACMPGTF: 0x0c1<<20 | 0x3<<15,
99 AFMINF: 0x215 << 15,
100 AFMIND: 0x216 << 15,
101 AFMAXF: 0x211 << 15,
102 AFMAXD: 0x212 << 15,
103 AFMAXAF: 0x219 << 15,
104 AFMAXAD: 0x21a << 15,
105 AFMINAF: 0x21d << 15,
106 AFMINAD: 0x21e << 15,
107 AFSCALEBF: 0x221 << 15,
108 AFSCALEBD: 0x222 << 15,
109 AFCOPYSGF: 0x225 << 15,
110 AFCOPYSGD: 0x226 << 15,
111 -AMOVB: 0x07000 << 15,
112 -AMOVH: 0x07008 << 15,
113 -AMOVW: 0x07010 << 15,
114 -AMOVV: 0x07018 << 15,
115 -AMOVBU: 0x07040 << 15,
116 -AMOVHU: 0x07048 << 15,
117 -AMOVWU: 0x07050 << 15,
118 AMOVB: 0x07020 << 15,
119 AMOVH: 0x07028 << 15,
120 AMOVW: 0x07030 << 15,
121 AMOVV: 0x07038 << 15,
122 -AMOVF: 0x07060 << 15,
123 -AMOVD: 0x07068 << 15,
124 AMOVF: 0x07070 << 15,
125 AMOVD: 0x07078 << 15,
126 -AVMOVQ: 0x07080 << 15,
127 -AXVMOVQ: 0x07090 << 15,
128 AVMOVQ: 0x07088 << 15,
129 AXVMOVQ: 0x07098 << 15,
130 AVSEQB: 0x0e000 << 15,
131 AXVSEQB: 0x0e800 << 15,
132 AVSEQH: 0x0e001 << 15,
133 AXVSEQH: 0x0e801 << 15,
134 AVSEQW: 0x0e002 << 15,
135 AXVSEQW: 0x0e802 << 15,
136 AVSEQV: 0x0e003 << 15,
137 AXVSEQV: 0x0e803 << 15,
138 AVSLTB: 0x0e00c << 15,
139 AVSLTH: 0x0e00d << 15,
140 AVSLTW: 0x0e00e << 15,
141 AVSLTV: 0x0e00f << 15,
142 AVSLTBU: 0x0e010 << 15,
143 AVSLTHU: 0x0e011 << 15,
144 AVSLTWU: 0x0e012 << 15,
145 AVSLTVU: 0x0e013 << 15,
146 AXVSLTB: 0x0e80c << 15,
147 AXVSLTH: 0x0e80d << 15,
148 AXVSLTW: 0x0e80e << 15,
149 AXVSLTV: 0x0e80f << 15,
150 AXVSLTBU: 0x0e810 << 15,
151 AXVSLTHU: 0x0e811 << 15,
152 AXVSLTWU: 0x0e812 << 15,
153 AXVSLTVU: 0x0e813 << 15,
154 AVANDV: 0x0e24c << 15,
155 AVORV: 0x0e24d << 15,
156 AVXORV: 0x0e24e << 15,
157 AVNORV: 0x0e24f << 15,
158 AVANDNV: 0x0e250 << 15,
159 AVORNV: 0x0e251 << 15,
160 AXVANDV: 0x0ea4c << 15,
161 AXVORV: 0x0ea4d << 15,
162 AXVXORV: 0x0ea4e << 15,
163 AXVNORV: 0x0ea4f << 15,
164 AXVANDNV: 0x0ea50 << 15,
165 AXVORNV: 0x0ea51 << 15,
166 AVDIVB: 0xe1c0 << 15,
167 AVDIVH: 0xe1c1 << 15,
168 AVDIVW: 0xe1c2 << 15,
169 AVDIVV: 0xe1c3 << 15,
170 AVMODB: 0xe1c4 << 15,
171 AVMODH: 0xe1c5 << 15,
172 AVMODW: 0xe1c6 << 15,
173 AVMODV: 0xe1c7 << 15,
174 AVDIVBU: 0xe1c8 << 15,
175 AVDIVHU: 0xe1c9 << 15,
176 AVDIVWU: 0xe1ca << 15,
177 AVDIVVU: 0xe1cb << 15,
178 AVMODBU: 0xe1cc << 15,
179 AVMODHU: 0xe1cd << 15,
180 AVMODWU: 0xe1ce << 15,
181 AVMODVU: 0xe1cf << 15,
182 AXVDIVB: 0xe9c0 << 15,
183 AXVDIVH: 0xe9c1 << 15,
184 AXVDIVW: 0xe9c2 << 15,
185 AXVDIVV: 0xe9c3 << 15,
186 AXVMODB: 0xe9c4 << 15,
187 AXVMODH: 0xe9c5 << 15,
188 AXVMODW: 0xe9c6 << 15,
189 AXVMODV: 0xe9c7 << 15,
190 AXVDIVBU: 0xe9c8 << 15,
191 AXVDIVHU: 0xe9c9 << 15,
192 AXVDIVWU: 0xe9ca << 15,
193 AXVDIVVU: 0xe9cb << 15,
194 AXVMODBU: 0xe9cc << 15,
195 AXVMODHU: 0xe9cd << 15,
196 AXVMODWU: 0xe9ce << 15,
197 AXVMODVU: 0xe9cf << 15,
198 AVMULWEVHB: 0xe120 << 15,
199 AVMULWEVWH: 0xe121 << 15,
200 AVMULWEVVW: 0xe122 << 15,
201 AVMULWEVQV: 0xe123 << 15,
202 AVMULWODHB: 0xe124 << 15,
203 AVMULWODWH: 0xe125 << 15,
204 AVMULWODVW: 0xe126 << 15,
205 AVMULWODQV: 0xe127 << 15,
206 AVMULWEVHBU: 0xe130 << 15,
207 AVMULWEVWHU: 0xe131 << 15,
208 AVMULWEVVWU: 0xe132 << 15,
209 AVMULWEVQVU: 0xe133 << 15,
210 AVMULWODHBU: 0xe134 << 15,
211 AVMULWODWHU: 0xe135 << 15,
212 AVMULWODVWU: 0xe136 << 15,
213 AVMULWODQVU: 0xe137 << 15,
214 AVMULWEVHBUB: 0xe140 << 15,
215 AVMULWEVWHUH: 0xe141 << 15,
216 AVMULWEVVWUW: 0xe142 << 15,
217 AVMULWEVQVUV: 0xe143 << 15,
218 AVMULWODHBUB: 0xe144 << 15,
219 AVMULWODWHUH: 0xe145 << 15,
220 AVMULWODVWUW: 0xe146 << 15,
221 AVMULWODQVUV: 0xe147 << 15,
222 AXVMULWEVHB: 0xe920 << 15,
223 AXVMULWEVWH: 0xe921 << 15,
224 AXVMULWEVVW: 0xe922 << 15,
225 AXVMULWEVQV: 0xe923 << 15,
226 AXVMULWODHB: 0xe924 << 15,
227 AXVMULWODWH: 0xe925 << 15,
228 AXVMULWODVW: 0xe926 << 15,
229 AXVMULWODQV: 0xe927 << 15,
230 AXVMULWEVHBU: 0xe930 << 15,
231 AXVMULWEVWHU: 0xe931 << 15,
232 AXVMULWEVVWU: 0xe932 << 15,
233 AXVMULWEVQVU: 0xe933 << 15,
234 AXVMULWODHBU: 0xe934 << 15,
235 AXVMULWODWHU: 0xe935 << 15,
236 AXVMULWODVWU: 0xe936 << 15,
237 AXVMULWODQVU: 0xe937 << 15,
238 AXVMULWEVHBUB: 0xe940 << 15,
239 AXVMULWEVWHUH: 0xe941 << 15,
240 AXVMULWEVVWUW: 0xe942 << 15,
241 AXVMULWEVQVUV: 0xe943 << 15,
242 AXVMULWODHBUB: 0xe944 << 15,
243 AXVMULWODWHUH: 0xe945 << 15,
244 AXVMULWODVWUW: 0xe946 << 15,
245 AXVMULWODQVUV: 0xe947 << 15,
246 AVADDWEVHB: 0x0e03c << 15,
247 AVADDWEVWH: 0x0e03d << 15,
248 AVADDWEVVW: 0x0e03e << 15,
249 AVADDWEVQV: 0x0e03f << 15,
250 AVSUBWEVHB: 0x0e040 << 15,
251 AVSUBWEVWH: 0x0e041 << 15,
252 AVSUBWEVVW: 0x0e042 << 15,
253 AVSUBWEVQV: 0x0e043 << 15,
254 AVADDWODHB: 0x0e044 << 15,
255 AVADDWODWH: 0x0e045 << 15,
256 AVADDWODVW: 0x0e046 << 15,
257 AVADDWODQV: 0x0e047 << 15,
258 AVSUBWODHB: 0x0e048 << 15,
259 AVSUBWODWH: 0x0e049 << 15,
260 AVSUBWODVW: 0x0e04a << 15,
261 AVSUBWODQV: 0x0e04b << 15,
262 AXVADDWEVHB: 0x0e83c << 15,
263 AXVADDWEVWH: 0x0e83d << 15,
264 AXVADDWEVVW: 0x0e83e << 15,
265 AXVADDWEVQV: 0x0e83f << 15,
266 AXVSUBWEVHB: 0x0e840 << 15,
267 AXVSUBWEVWH: 0x0e841 << 15,
268 AXVSUBWEVVW: 0x0e842 << 15,
269 AXVSUBWEVQV: 0x0e843 << 15,
270 AXVADDWODHB: 0x0e844 << 15,
271 AXVADDWODWH: 0x0e845 << 15,
272 AXVADDWODVW: 0x0e846 << 15,
273 AXVADDWODQV: 0x0e847 << 15,
274 AXVSUBWODHB: 0x0e848 << 15,
275 AXVSUBWODWH: 0x0e849 << 15,
276 AXVSUBWODVW: 0x0e84a << 15,
277 AXVSUBWODQV: 0x0e84b << 15,
278 AVADDWEVHBU: 0x0e05c << 15,
279 AVADDWEVWHU: 0x0e05e << 15,
280 AVADDWEVVWU: 0x0e05e << 15,
281 AVADDWEVQVU: 0x0e05f << 15,
282 AVSUBWEVHBU: 0x0e060 << 15,
283 AVSUBWEVWHU: 0x0e061 << 15,
284 AVSUBWEVVWU: 0x0e062 << 15,
285 AVSUBWEVQVU: 0x0e063 << 15,
286 AVADDWODHBU: 0x0e064 << 15,
287 AVADDWODWHU: 0x0e065 << 15,
288 AVADDWODVWU: 0x0e066 << 15,
289 AVADDWODQVU: 0x0e067 << 15,
290 AVSUBWODHBU: 0x0e068 << 15,
291 AVSUBWODWHU: 0x0e069 << 15,
292 AVSUBWODVWU: 0x0e06a << 15,
293 AVSUBWODQVU: 0x0e06b << 15,
294 AXVADDWEVHBU: 0x0e85c << 15,
295 AXVADDWEVWHU: 0x0e85d << 15,
296 AXVADDWEVVWU: 0x0e85e << 15,
297 AXVADDWEVQVU: 0x0e85f << 15,
298 AXVSUBWEVHBU: 0x0e860 << 15,
299 AXVSUBWEVWHU: 0x0e861 << 15,
300 AXVSUBWEVVWU: 0x0e862 << 15,
301 AXVSUBWEVQVU: 0x0e863 << 15,
302 AXVADDWODHBU: 0x0e864 << 15,
303 AXVADDWODWHU: 0x0e865 << 15,
304 AXVADDWODVWU: 0x0e866 << 15,
305 AXVADDWODQVU: 0x0e867 << 15,
306 AXVSUBWODHBU: 0x0e868 << 15,
307 AXVSUBWODWHU: 0x0e869 << 15,
308 AXVSUBWODVWU: 0x0e86a << 15,
309 AXVSUBWODQVU: 0x0e86b << 15,
310 AVMADDB: 0x0e150 << 15,
311 AVMADDH: 0x0e151 << 15,
312 AVMADDW: 0x0e152 << 15,
313 AVMADDV: 0x0e153 << 15,
314 AVMSUBB: 0x0e154 << 15,
315 AVMSUBH: 0x0e155 << 15,
316 AVMSUBW: 0x0e156 << 15,
317 AVMSUBV: 0x0e157 << 15,
318 AXVMADDB: 0x0e950 << 15,
319 AXVMADDH: 0x0e951 << 15,
320 AXVMADDW: 0x0e952 << 15,
321 AXVMADDV: 0x0e953 << 15,
322 AXVMSUBB: 0x0e954 << 15,
323 AXVMSUBH: 0x0e955 << 15,
324 AXVMSUBW: 0x0e956 << 15,
325 AXVMSUBV: 0x0e957 << 15,
326 AVMADDWEVHB: 0x0e158 << 15,
327 AVMADDWEVWH: 0x0e159 << 15,
328 AVMADDWEVVW: 0x0e15a << 15,
329 AVMADDWEVQV: 0x0e15b << 15,
330 AVMADDWODHB: 0x0e15c << 15,
331 AVMADDWODWH: 0x0e15d << 15,
332 AVMADDWODVW: 0x0e15e << 15,
333 AVMADDWODQV: 0x0e15f << 15,
334 AVMADDWEVHBU: 0x0e168 << 15,
335 AVMADDWEVWHU: 0x0e169 << 15,
336 AVMADDWEVVWU: 0x0e16a << 15,
337 AVMADDWEVQVU: 0x0e16b << 15,
338 AVMADDWODHBU: 0x0e16c << 15,
339 AVMADDWODWHU: 0x0e16d << 15,
340 AVMADDWODVWU: 0x0e16e << 15,
341 AVMADDWODQVU: 0x0e16f << 15,
342 AVMADDWEVHBUB: 0x0e178 << 15,
343 AVMADDWEVWHUH: 0x0e179 << 15,
344 AVMADDWEVVWUW: 0x0e17a << 15,
345 AVMADDWEVQVUV: 0x0e17b << 15,
346 AVMADDWODHBUB: 0x0e17c << 15,
347 AVMADDWODWHUH: 0x0e17d << 15,
348 AVMADDWODVWUW: 0x0e17e << 15,
349 AVMADDWODQVUV: 0x0e17f << 15,
350 AXVMADDWEVHB: 0x0e958 << 15,
351 AXVMADDWEVWH: 0x0e959 << 15,
352 AXVMADDWEVVW: 0x0e95a << 15,
353 AXVMADDWEVQV: 0x0e95b << 15,
354 AXVMADDWODHB: 0x0e95c << 15,
355 AXVMADDWODWH: 0x0e95d << 15,
356 AXVMADDWODVW: 0x0e95e << 15,
357 AXVMADDWODQV: 0x0e95f << 15,
358 AXVMADDWEVHBU: 0x0e968 << 15,
359 AXVMADDWEVWHU: 0x0e969 << 15,
360 AXVMADDWEVVWU: 0x0e96a << 15,
361 AXVMADDWEVQVU: 0x0e96b << 15,
362 AXVMADDWODHBU: 0x0e96c << 15,
363 AXVMADDWODWHU: 0x0e96d << 15,
364 AXVMADDWODVWU: 0x0e96e << 15,
365 AXVMADDWODQVU: 0x0e96f << 15,
366 AXVMADDWEVHBUB: 0x0e978 << 15,
367 AXVMADDWEVWHUH: 0x0e979 << 15,
368 AXVMADDWEVVWUW: 0x0e97a << 15,
369 AXVMADDWEVQVUV: 0x0e97b << 15,
370 AXVMADDWODHBUB: 0x0e97c << 15,
371 AXVMADDWODWHUH: 0x0e97d << 15,
372 AXVMADDWODVWUW: 0x0e97e << 15,
373 AXVMADDWODQVUV: 0x0e97f << 15,
374 AVSLLB: 0xe1d0 << 15,
375 AVSLLH: 0xe1d1 << 15,
376 AVSLLW: 0xe1d2 << 15,
377 AVSLLV: 0xe1d3 << 15,
378 AVSRLB: 0xe1d4 << 15,
379 AVSRLH: 0xe1d5 << 15,
380 AVSRLW: 0xe1d6 << 15,
381 AVSRLV: 0xe1d7 << 15,
382 AVSRAB: 0xe1d8 << 15,
383 AVSRAH: 0xe1d9 << 15,
384 AVSRAW: 0xe1da << 15,
385 AVSRAV: 0xe1db << 15,
386 AVROTRB: 0xe1dc << 15,
387 AVROTRH: 0xe1dd << 15,
388 AVROTRW: 0xe1de << 15,
389 AVROTRV: 0xe1df << 15,
390 AXVSLLB: 0xe9d0 << 15,
391 AXVSLLH: 0xe9d1 << 15,
392 AXVSLLW: 0xe9d2 << 15,
393 AXVSLLV: 0xe9d3 << 15,
394 AXVSRLB: 0xe9d4 << 15,
395 AXVSRLH: 0xe9d5 << 15,
396 AXVSRLW: 0xe9d6 << 15,
397 AXVSRLV: 0xe9d7 << 15,
398 AXVSRAB: 0xe9d8 << 15,
399 AXVSRAH: 0xe9d9 << 15,
400 AXVSRAW: 0xe9da << 15,
401 AXVSRAV: 0xe9db << 15,
402 AXVROTRB: 0xe9dc << 15,
403 AXVROTRH: 0xe9dd << 15,
404 AXVROTRW: 0xe9de << 15,
405 AXVROTRV: 0xe9df << 15,
406 AVADDB: 0xe014 << 15,
407 AVADDH: 0xe015 << 15,
408 AVADDW: 0xe016 << 15,
409 AVADDV: 0xe017 << 15,
410 AVADDQ: 0xe25a << 15,
411 AVSUBB: 0xe018 << 15,
412 AVSUBH: 0xe019 << 15,
413 AVSUBW: 0xe01a << 15,
414 AVSUBV: 0xe01b << 15,
415 AVSUBQ: 0xe25b << 15,
416 AXVADDB: 0xe814 << 15,
417 AXVADDH: 0xe815 << 15,
418 AXVADDW: 0xe816 << 15,
419 AXVADDV: 0xe817 << 15,
420 AXVADDQ: 0xea5a << 15,
421 AXVSUBB: 0xe818 << 15,
422 AXVSUBH: 0xe819 << 15,
423 AXVSUBW: 0xe81a << 15,
424 AXVSUBV: 0xe81b << 15,
425 AXVSUBQ: 0xea5b << 15,
426 AVSADDB: 0x0e08c << 15,
427 AVSADDH: 0x0e08d << 15,
428 AVSADDW: 0x0e08e << 15,
429 AVSADDV: 0x0e08f << 15,
430 AVSSUBB: 0x0e090 << 15,
431 AVSSUBH: 0x0e091 << 15,
432 AVSSUBW: 0x0e092 << 15,
433 AVSSUBV: 0x0e093 << 15,
434 AVSADDBU: 0x0e094 << 15,
435 AVSADDHU: 0x0e095 << 15,
436 AVSADDWU: 0x0e096 << 15,
437 AVSADDVU: 0x0e097 << 15,
438 AVSSUBBU: 0x0e098 << 15,
439 AVSSUBHU: 0x0e099 << 15,
440 AVSSUBWU: 0x0e09a << 15,
441 AVSSUBVU: 0x0e09b << 15,
442 AXVSADDB: 0x0e88c << 15,
443 AXVSADDH: 0x0e88d << 15,
444 AXVSADDW: 0x0e88e << 15,
445 AXVSADDV: 0x0e88f << 15,
446 AXVSSUBB: 0x0e890 << 15,
447 AXVSSUBH: 0x0e891 << 15,
448 AXVSSUBW: 0x0e892 << 15,
449 AXVSSUBV: 0x0e893 << 15,
450 AXVSADDBU: 0x0e894 << 15,
451 AXVSADDHU: 0x0e896 << 15,
452 AXVSADDWU: 0x0e896 << 15,
453 AXVSADDVU: 0x0e897 << 15,
454 AXVSSUBBU: 0x0e898 << 15,
455 AXVSSUBHU: 0x0e899 << 15,
456 AXVSSUBWU: 0x0e89a << 15,
457 AXVSSUBVU: 0x0e89b << 15,
458 AVILVLB: 0xe234 << 15,
459 AVILVLH: 0xe235 << 15,
460 AVILVLW: 0xe236 << 15,
461 AVILVLV: 0xe237 << 15,
462 AVILVHB: 0xe238 << 15,
463 AVILVHH: 0xe239 << 15,
464 AVILVHW: 0xe23a << 15,
465 AVILVHV: 0xe23b << 15,
466 AXVILVLB: 0xea34 << 15,
467 AXVILVLH: 0xea35 << 15,
468 AXVILVLW: 0xea36 << 15,
469 AXVILVLV: 0xea37 << 15,
470 AXVILVHB: 0xea38 << 15,
471 AXVILVHH: 0xea39 << 15,
472 AXVILVHW: 0xea3a << 15,
473 AXVILVHV: 0xea3b << 15,
474 AVMULB: 0xe108 << 15,
475 AVMULH: 0xe109 << 15,
476 AVMULW: 0xe10a << 15,
477 AVMULV: 0xe10b << 15,
478 AVMUHB: 0xe10c << 15,
479 AVMUHH: 0xe10d << 15,
480 AVMUHW: 0xe10e << 15,
481 AVMUHV: 0xe10f << 15,
482 AVMUHBU: 0xe110 << 15,
483 AVMUHHU: 0xe111 << 15,
484 AVMUHWU: 0xe112 << 15,
485 AVMUHVU: 0xe113 << 15,
486 AXVMULB: 0xe908 << 15,
487 AXVMULH: 0xe909 << 15,
488 AXVMULW: 0xe90a << 15,
489 AXVMULV: 0xe90b << 15,
490 AXVMUHB: 0xe90c << 15,
491 AXVMUHH: 0xe90d << 15,
492 AXVMUHW: 0xe90e << 15,
493 AXVMUHV: 0xe90f << 15,
494 AXVMUHBU: 0xe910 << 15,
495 AXVMUHHU: 0xe911 << 15,
496 AXVMUHWU: 0xe912 << 15,
497 AXVMUHVU: 0xe913 << 15,
498 AVADDF: 0xe261 << 15,
499 AVADDD: 0xe262 << 15,
500 AVSUBF: 0xe265 << 15,
501 AVSUBD: 0xe266 << 15,
502 AVMULF: 0xe271 << 15,
503 AVMULD: 0xe272 << 15,
504 AVDIVF: 0xe275 << 15,
505 AVDIVD: 0xe276 << 15,
506 AXVADDF: 0xea61 << 15,
507 AXVADDD: 0xea62 << 15,
508 AXVSUBF: 0xea65 << 15,
509 AXVSUBD: 0xea66 << 15,
510 AXVMULF: 0xea71 << 15,
511 AXVMULD: 0xea72 << 15,
512 AXVDIVF: 0xea75 << 15,
513 AXVDIVD: 0xea76 << 15,
514 AVBITCLRB: 0xe218 << 15,
515 AVBITCLRH: 0xe219 << 15,
516 AVBITCLRW: 0xe21a << 15,
517 AVBITCLRV: 0xe21b << 15,
518 AVBITSETB: 0xe21c << 15,
519 AVBITSETH: 0xe21d << 15,
520 AVBITSETW: 0xe21e << 15,
521 AVBITSETV: 0xe21f << 15,
522 AVBITREVB: 0xe220 << 15,
523 AVBITREVH: 0xe221 << 15,
524 AVBITREVW: 0xe222 << 15,
525 AVBITREVV: 0xe223 << 15,
526 AXVBITCLRB: 0xea18 << 15,
527 AXVBITCLRH: 0xea19 << 15,
528 AXVBITCLRW: 0xea1a << 15,
529 AXVBITCLRV: 0xea1b << 15,
530 AXVBITSETB: 0xea1c << 15,
531 AXVBITSETH: 0xea1d << 15,
532 AXVBITSETW: 0xea1e << 15,
533 AXVBITSETV: 0xea1f << 15,
534 AXVBITREVB: 0xea20 << 15,
535 AXVBITREVH: 0xea21 << 15,
536 AXVBITREVW: 0xea22 << 15,
537 AXVBITREVV: 0xea23 << 15,
538 AVSHUFH: 0x0e2f5 << 15,
539 AVSHUFW: 0x0e2f6 << 15,
540 AVSHUFV: 0x0e2f7 << 15,
541 AXVSHUFH: 0x0eaf5 << 15,
542 AXVSHUFW: 0x0eaf6 << 15,
543 AXVSHUFV: 0x0eaf7 << 15,
544 }
545
546 var oprr = map[obj.As]uint32{
547 ACLOW: 0x4 << 10,
548 ACLZW: 0x5 << 10,
549 ACTOW: 0x6 << 10,
550 ACTZW: 0x7 << 10,
551 ACLOV: 0x8 << 10,
552 ACLZV: 0x9 << 10,
553 ACTOV: 0xa << 10,
554 ACTZV: 0xb << 10,
555 AREVB2H: 0xc << 10,
556 AREVB4H: 0xd << 10,
557 AREVB2W: 0xe << 10,
558 AREVBV: 0xf << 10,
559 AREVH2W: 0x10 << 10,
560 AREVHV: 0x11 << 10,
561 ABITREV4B: 0x12 << 10,
562 ABITREV8B: 0x13 << 10,
563 ABITREVW: 0x14 << 10,
564 ABITREVV: 0x15 << 10,
565 AEXTWH: 0x16 << 10,
566 AEXTWB: 0x17 << 10,
567 ACPUCFG: 0x1b << 10,
568 ARDTIMELW: 0x18 << 10,
569 ARDTIMEHW: 0x19 << 10,
570 ARDTIMED: 0x1a << 10,
571 ATRUNCFV: 0x46a9 << 10,
572 ATRUNCDV: 0x46aa << 10,
573 ATRUNCFW: 0x46a1 << 10,
574 ATRUNCDW: 0x46a2 << 10,
575 AMOVWF: 0x4744 << 10,
576 AFFINTFW: 0x4744 << 10,
577 AMOVVF: 0x4746 << 10,
578 AFFINTFV: 0x4746 << 10,
579 AMOVWD: 0x4748 << 10,
580 AFFINTDW: 0x4748 << 10,
581 AMOVVD: 0x474a << 10,
582 AFFINTDV: 0x474a << 10,
583 AMOVFW: 0x46c1 << 10,
584 AFTINTWF: 0x46c1 << 10,
585 AMOVDW: 0x46c2 << 10,
586 AFTINTWD: 0x46c2 << 10,
587 AMOVFV: 0x46c9 << 10,
588 AFTINTVF: 0x46c9 << 10,
589 AMOVDV: 0x46ca << 10,
590 AFTINTVD: 0x46ca << 10,
591 AMOVDF: 0x4646 << 10,
592 AMOVFD: 0x4649 << 10,
593 AABSF: 0x4501 << 10,
594 AABSD: 0x4502 << 10,
595 AMOVF: 0x4525 << 10,
596 AMOVD: 0x4526 << 10,
597 ANEGF: 0x4505 << 10,
598 ANEGD: 0x4506 << 10,
599 ASQRTF: 0x4511 << 10,
600 ASQRTD: 0x4512 << 10,
601 AFLOGBF: 0x4509 << 10,
602 AFLOGBD: 0x450a << 10,
603 AFCLASSF: 0x450d << 10,
604 AFCLASSD: 0x450e << 10,
605 AFTINTRMWF: 0x4681 << 10,
606 AFTINTRMWD: 0x4682 << 10,
607 AFTINTRMVF: 0x4689 << 10,
608 AFTINTRMVD: 0x468a << 10,
609 AFTINTRPWF: 0x4691 << 10,
610 AFTINTRPWD: 0x4692 << 10,
611 AFTINTRPVF: 0x4699 << 10,
612 AFTINTRPVD: 0x469a << 10,
613 AFTINTRZWF: 0x46a1 << 10,
614 AFTINTRZWD: 0x46a2 << 10,
615 AFTINTRZVF: 0x46a9 << 10,
616 AFTINTRZVD: 0x46aa << 10,
617 AFTINTRNEWF: 0x46b1 << 10,
618 AFTINTRNEWD: 0x46b2 << 10,
619 AFTINTRNEVF: 0x46b9 << 10,
620 AFTINTRNEVD: 0x46ba << 10,
621 AVPCNTB: 0x1ca708 << 10,
622 AVPCNTH: 0x1ca709 << 10,
623 AVPCNTW: 0x1ca70a << 10,
624 AVPCNTV: 0x1ca70b << 10,
625 AXVPCNTB: 0x1da708 << 10,
626 AXVPCNTH: 0x1da709 << 10,
627 AXVPCNTW: 0x1da70a << 10,
628 AXVPCNTV: 0x1da70b << 10,
629 AVFSQRTF: 0x1ca739 << 10,
630 AVFSQRTD: 0x1ca73a << 10,
631 AVFRECIPF: 0x1ca73d << 10,
632 AVFRECIPD: 0x1ca73e << 10,
633 AVFRSQRTF: 0x1ca741 << 10,
634 AVFRSQRTD: 0x1ca742 << 10,
635 AXVFSQRTF: 0x1da739 << 10,
636 AXVFSQRTD: 0x1da73a << 10,
637 AXVFRECIPF: 0x1da73d << 10,
638 AXVFRECIPD: 0x1da73e << 10,
639 AXVFRSQRTF: 0x1da741 << 10,
640 AXVFRSQRTD: 0x1da742 << 10,
641 AVNEGB: 0x1ca70c << 10,
642 AVNEGH: 0x1ca70d << 10,
643 AVNEGW: 0x1ca70e << 10,
644 AVNEGV: 0x1ca70f << 10,
645 AXVNEGB: 0x1da70c << 10,
646 AXVNEGH: 0x1da70d << 10,
647 AXVNEGW: 0x1da70e << 10,
648 AXVNEGV: 0x1da70f << 10,
649 AVFRINTRNEF: 0x1ca75d << 10,
650 AVFRINTRNED: 0x1ca75e << 10,
651 AVFRINTRZF: 0x1ca759 << 10,
652 AVFRINTRZD: 0x1ca75a << 10,
653 AVFRINTRPF: 0x1ca755 << 10,
654 AVFRINTRPD: 0x1ca756 << 10,
655 AVFRINTRMF: 0x1ca751 << 10,
656 AVFRINTRMD: 0x1ca752 << 10,
657 AVFRINTF: 0x1ca74d << 10,
658 AVFRINTD: 0x1ca74e << 10,
659 AXVFRINTRNEF: 0x1da75d << 10,
660 AXVFRINTRNED: 0x1da75e << 10,
661 AXVFRINTRZF: 0x1da759 << 10,
662 AXVFRINTRZD: 0x1da75a << 10,
663 AXVFRINTRPF: 0x1da755 << 10,
664 AXVFRINTRPD: 0x1da756 << 10,
665 AXVFRINTRMF: 0x1da751 << 10,
666 AXVFRINTRMD: 0x1da752 << 10,
667 AXVFRINTF: 0x1da74d << 10,
668 AXVFRINTD: 0x1da74e << 10,
669 AVFCLASSF: 0x1ca735 << 10,
670 AVFCLASSD: 0x1ca736 << 10,
671 AXVFCLASSF: 0x1da735 << 10,
672 AXVFCLASSD: 0x1da736 << 10,
673 AVSETEQV: 0x1ca726<<10 | 0x0<<3,
674 AVSETNEV: 0x1ca727<<10 | 0x0<<3,
675 AVSETANYEQB: 0x1ca728<<10 | 0x0<<3,
676 AVSETANYEQH: 0x1ca729<<10 | 0x0<<3,
677 AVSETANYEQW: 0x1ca72a<<10 | 0x0<<3,
678 AVSETANYEQV: 0x1ca72b<<10 | 0x0<<3,
679 AVSETALLNEB: 0x1ca72c<<10 | 0x0<<3,
680 AVSETALLNEH: 0x1ca72d<<10 | 0x0<<3,
681 AVSETALLNEW: 0x1ca72e<<10 | 0x0<<3,
682 AVSETALLNEV: 0x1ca72f<<10 | 0x0<<3,
683 AXVSETEQV: 0x1da726<<10 | 0x0<<3,
684 AXVSETNEV: 0x1da727<<10 | 0x0<<3,
685 AXVSETANYEQB: 0x1da728<<10 | 0x0<<3,
686 AXVSETANYEQH: 0x1da729<<10 | 0x0<<3,
687 AXVSETANYEQW: 0x1da72a<<10 | 0x0<<3,
688 AXVSETANYEQV: 0x1da72b<<10 | 0x0<<3,
689 AXVSETALLNEB: 0x1da72c<<10 | 0x0<<3,
690 AXVSETALLNEH: 0x1da72d<<10 | 0x0<<3,
691 AXVSETALLNEW: 0x1da72e<<10 | 0x0<<3,
692 AXVSETALLNEV: 0x1da72f<<10 | 0x0<<3,
693 }
694
695 var opi = map[obj.As]uint32{
696 ASYSCALL: 0x56 << 15,
697 ABREAK: 0x54 << 15,
698 ADBAR: 0x70e4 << 15,
699 }
700
701 var opir = map[obj.As]uint32{
702 ALU12IW: 0x0a << 25,
703 ALU32ID: 0x0b << 25,
704 APCALAU12I: 0x0d << 25,
705 APCADDU12I: 0x0e << 25,
706 }
707
708 var opirr = map[obj.As]uint32{
709 ASGT: 0x008 << 22,
710 ASGTU: 0x009 << 22,
711 AADD: 0x00a << 22,
712 AADDW: 0x00a << 22,
713 AADDV: 0x00b << 22,
714 AADDVU: 0x00b << 22,
715 ALU52ID: 0x00c << 22,
716 AAND: 0x00d << 22,
717 AOR: 0x00e << 22,
718 AXOR: 0x00f << 22,
719 ASLL: 0x00081 << 15,
720 ASRL: 0x00089 << 15,
721 ASRA: 0x00091 << 15,
722 AROTR: 0x00099 << 15,
723 AADDV16: 0x4 << 26,
724 -ABEQ: 0x10 << 26,
725 -ABNE: 0x11 << 26,
726 AJIRL: 0x13 << 26,
727 AJMP: 0x14 << 26,
728 AJAL: 0x15 << 26,
729 ABEQ: 0x16 << 26,
730 ABNE: 0x17 << 26,
731 ABLT: 0x18 << 26,
732 ABLTZ: 0x18 << 26,
733 ABGTZ: 0x18 << 26,
734 ABGE: 0x19 << 26,
735 ABGEZ: 0x19 << 26,
736 ABLEZ: 0x19 << 26,
737 ABLTU: 0x1a << 26,
738 ABGEU: 0x1b << 26,
739 ABFPT: 0x12<<26 | 0x1<<8,
740 ABFPF: 0x12<<26 | 0x0<<8,
741 APRELDX: 0x07058 << 15,
742 -AMOVB: 0x0a0 << 22,
743 -AMOVH: 0x0a1 << 22,
744 -AMOVW: 0x0a2 << 22,
745 -AMOVV: 0x0a3 << 22,
746 AMOVB: 0x0a4 << 22,
747 AMOVBU: 0x0a4 << 22,
748 AMOVH: 0x0a5 << 22,
749 AMOVHU: 0x0a5 << 22,
750 AMOVW: 0x0a6 << 22,
751 AMOVWU: 0x0a6 << 22,
752 AMOVV: 0x0a7 << 22,
753 -AMOVBU: 0x0a8 << 22,
754 -AMOVHU: 0x0a9 << 22,
755 -AMOVWU: 0x0aa << 22,
756 -AMOVF: 0x0ac << 22,
757 AMOVF: 0x0ad << 22,
758 -AMOVD: 0x0ae << 22,
759 AMOVD: 0x0af << 22,
760 -ALL: 0x020 << 24,
761 ASC: 0x021 << 24,
762 -ALLV: 0x022 << 24,
763 ASCV: 0x023 << 24,
764 -AMOVWP: 0x24 << 24,
765 AMOVWP: 0x25 << 24,
766 -AMOVVP: 0x26 << 24,
767 AMOVVP: 0x27 << 24,
768 -AVMOVQ: 0x0b0 << 22,
769 AVMOVQ: 0x0b1 << 22,
770 -AXVMOVQ: 0x0b2 << 22,
771 AXVMOVQ: 0x0b3 << 22,
772 ASLLV: 0x0041 << 16,
773 ASRLV: 0x0045 << 16,
774 ASRAV: 0x0049 << 16,
775 AROTRV: 0x004d << 16,
776 AVANDB: 0x1cf4 << 18,
777 AVORB: 0x1cf5 << 18,
778 AVXORB: 0x1cf6 << 18,
779 AVNORB: 0x1cf7 << 18,
780 AXVANDB: 0x1df4 << 18,
781 AXVORB: 0x1df5 << 18,
782 AXVXORB: 0x1df6 << 18,
783 AXVNORB: 0x1df7 << 18,
784 AVSEQB: 0x0e500 << 15,
785 AVSEQH: 0x0e501 << 15,
786 AVSEQW: 0x0e502 << 15,
787 AVSEQV: 0x0e503 << 15,
788 AXVSEQB: 0x0ed00 << 15,
789 AXVSEQH: 0x0ed01 << 15,
790 AXVSEQW: 0x0ed02 << 15,
791 AXVSEQV: 0x0ed03 << 15,
792 AVSLTB: 0x0e50c << 15,
793 AVSLTH: 0x0e50d << 15,
794 AVSLTW: 0x0e50e << 15,
795 AVSLTV: 0x0e50f << 15,
796 AVSLTBU: 0x0e510 << 15,
797 AVSLTHU: 0x0e511 << 15,
798 AVSLTWU: 0x0e512 << 15,
799 AVSLTVU: 0x0e513 << 15,
800 AXVSLTB: 0x0ed0c << 15,
801 AXVSLTH: 0x0ed0d << 15,
802 AXVSLTW: 0x0ed0e << 15,
803 AXVSLTV: 0x0ed0f << 15,
804 AXVSLTBU: 0x0ed10 << 15,
805 AXVSLTHU: 0x0ed11 << 15,
806 AXVSLTWU: 0x0ed12 << 15,
807 AXVSLTVU: 0x0ed13 << 15,
808 AVROTRB: 0x1ca8<<18 | 0x1<<13,
809 AVROTRH: 0x1ca8<<18 | 0x1<<14,
810 AVROTRW: 0x1ca8<<18 | 0x1<<15,
811 AVROTRV: 0x1ca8<<18 | 0x1<<16,
812 AXVROTRB: 0x1da8<<18 | 0x1<<13,
813 AXVROTRH: 0x1da8<<18 | 0x1<<14,
814 AXVROTRW: 0x1da8<<18 | 0x1<<15,
815 AXVROTRV: 0x1da8<<18 | 0x1<<16,
816 AVSLLB: 0x1ccb<<18 | 0x1<<13,
817 AVSLLH: 0x1ccb<<18 | 0x1<<14,
818 AVSLLW: 0x1ccb<<18 | 0x1<<15,
819 AVSLLV: 0x1ccb<<18 | 0x1<<16,
820 AVSRLB: 0x1ccc<<18 | 0x1<<13,
821 AVSRLH: 0x1ccc<<18 | 0x1<<14,
822 AVSRLW: 0x1ccc<<18 | 0x1<<15,
823 AVSRLV: 0x1ccc<<18 | 0x1<<16,
824 AVSRAB: 0x1ccd<<18 | 0x1<<13,
825 AVSRAH: 0x1ccd<<18 | 0x1<<14,
826 AVSRAW: 0x1ccd<<18 | 0x1<<15,
827 AVSRAV: 0x1ccd<<18 | 0x1<<16,
828 AXVSLLB: 0x1dcb<<18 | 0x1<<13,
829 AXVSLLH: 0x1dcb<<18 | 0x1<<14,
830 AXVSLLW: 0x1dcb<<18 | 0x1<<15,
831 AXVSLLV: 0x1dcb<<18 | 0x1<<16,
832 AXVSRLB: 0x1dcc<<18 | 0x1<<13,
833 AXVSRLH: 0x1dcc<<18 | 0x1<<14,
834 AXVSRLW: 0x1dcc<<18 | 0x1<<15,
835 AXVSRLV: 0x1dcc<<18 | 0x1<<16,
836 AXVSRAB: 0x1dcd<<18 | 0x1<<13,
837 AXVSRAH: 0x1dcd<<18 | 0x1<<14,
838 AXVSRAW: 0x1dcd<<18 | 0x1<<15,
839 AXVSRAV: 0x1dcd<<18 | 0x1<<16,
840 AVADDBU: 0xe514 << 15,
841 AVADDHU: 0xe515 << 15,
842 AVADDWU: 0xe516 << 15,
843 AVADDVU: 0xe517 << 15,
844 AVSUBBU: 0xe518 << 15,
845 AVSUBHU: 0xe519 << 15,
846 AVSUBWU: 0xe51a << 15,
847 AVSUBVU: 0xe51b << 15,
848 AXVADDBU: 0xed14 << 15,
849 AXVADDHU: 0xed15 << 15,
850 AXVADDWU: 0xed16 << 15,
851 AXVADDVU: 0xed17 << 15,
852 AXVSUBBU: 0xed18 << 15,
853 AXVSUBHU: 0xed19 << 15,
854 AXVSUBWU: 0xed1a << 15,
855 AXVSUBVU: 0xed1b << 15,
856 AVSHUF4IB: 0x1ce4 << 18,
857 AVSHUF4IH: 0x1ce5 << 18,
858 AVSHUF4IW: 0x1ce6 << 18,
859 AVSHUF4IV: 0x1ce7 << 18,
860 AXVSHUF4IB: 0x1de4 << 18,
861 AXVSHUF4IH: 0x1de5 << 18,
862 AXVSHUF4IW: 0x1de6 << 18,
863 AXVSHUF4IV: 0x1de7 << 18,
864 AVPERMIW: 0x1cf9 << 18,
865 AXVPERMIW: 0x1df9 << 18,
866 AXVPERMIV: 0x1dfa << 18,
867 AXVPERMIQ: 0x1dfb << 18,
868 AVEXTRINSB: 0x1ce3 << 18,
869 AVEXTRINSH: 0x1ce2 << 18,
870 AVEXTRINSW: 0x1ce1 << 18,
871 AVEXTRINSV: 0x1ce0 << 18,
872 AXVEXTRINSB: 0x1de3 << 18,
873 AXVEXTRINSH: 0x1de2 << 18,
874 AXVEXTRINSW: 0x1de1 << 18,
875 AXVEXTRINSV: 0x1de0 << 18,
876 AVBITCLRB: 0x1cc4<<18 | 0x1<<13,
877 AVBITCLRH: 0x1cc4<<18 | 0x1<<14,
878 AVBITCLRW: 0x1cc4<<18 | 0x1<<15,
879 AVBITCLRV: 0x1cc4<<18 | 0x1<<16,
880 AVBITSETB: 0x1cc5<<18 | 0x1<<13,
881 AVBITSETH: 0x1cc5<<18 | 0x1<<14,
882 AVBITSETW: 0x1cc5<<18 | 0x1<<15,
883 AVBITSETV: 0x1cc5<<18 | 0x1<<16,
884 AVBITREVB: 0x1cc6<<18 | 0x1<<13,
885 AVBITREVH: 0x1cc6<<18 | 0x1<<14,
886 AVBITREVW: 0x1cc6<<18 | 0x1<<15,
887 AVBITREVV: 0x1cc6<<18 | 0x1<<16,
888 AXVBITCLRB: 0x1dc4<<18 | 0x1<<13,
889 AXVBITCLRH: 0x1dc4<<18 | 0x1<<14,
890 AXVBITCLRW: 0x1dc4<<18 | 0x1<<15,
891 AXVBITCLRV: 0x1dc4<<18 | 0x1<<16,
892 AXVBITSETB: 0x1dc5<<18 | 0x1<<13,
893 AXVBITSETH: 0x1dc5<<18 | 0x1<<14,
894 AXVBITSETW: 0x1dc5<<18 | 0x1<<15,
895 AXVBITSETV: 0x1dc5<<18 | 0x1<<16,
896 AXVBITREVB: 0x1dc6<<18 | 0x1<<13,
897 AXVBITREVH: 0x1dc6<<18 | 0x1<<14,
898 AXVBITREVW: 0x1dc6<<18 | 0x1<<15,
899 AXVBITREVV: 0x1dc6<<18 | 0x1<<16,
900 }
901
902 var opirrr = map[obj.As]uint32{
903 AALSLW: 0x2 << 17,
904 AALSLWU: 0x3 << 17,
905 AALSLV: 0x16 << 17,
906 }
907
908 var opirir = map[obj.As]uint32{
909 ABSTRINSW: 0x3<<21 | 0x0<<15,
910 ABSTRINSV: 0x2 << 22,
911 ABSTRPICKW: 0x3<<21 | 0x1<<15,
912 ABSTRPICKV: 0x3 << 22,
913 }
914
915 var opiir = map[obj.As]uint32{
916 APRELD: 0x0ab << 22,
917 }
918
View as plain text