/src/build/lib/Target/LoongArch/LoongArchGenAsmMatcher.inc
Line | Count | Source (jump to first uncovered line) |
1 | | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | | |* *| |
3 | | |* Assembly Matcher Source Fragment *| |
4 | | |* *| |
5 | | |* Automatically generated file, do not edit! *| |
6 | | |* From: LoongArch.td *| |
7 | | |* *| |
8 | | \*===----------------------------------------------------------------------===*/ |
9 | | |
10 | | |
11 | | #ifdef GET_ASSEMBLER_HEADER |
12 | | #undef GET_ASSEMBLER_HEADER |
13 | | // This should be included into the middle of the declaration of |
14 | | // your subclasses implementation of MCTargetAsmParser. |
15 | | FeatureBitset ComputeAvailableFeatures(const FeatureBitset &FB) const; |
16 | | void convertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode, |
17 | | const OperandVector &Operands); |
18 | | void convertToMapAndConstraints(unsigned Kind, |
19 | | const OperandVector &Operands) override; |
20 | | unsigned MatchInstructionImpl(const OperandVector &Operands, |
21 | | MCInst &Inst, |
22 | | uint64_t &ErrorInfo, |
23 | | FeatureBitset &MissingFeatures, |
24 | | bool matchingInlineAsm, |
25 | | unsigned VariantID = 0); |
26 | | unsigned MatchInstructionImpl(const OperandVector &Operands, |
27 | | MCInst &Inst, |
28 | | uint64_t &ErrorInfo, |
29 | | bool matchingInlineAsm, |
30 | 0 | unsigned VariantID = 0) { |
31 | 0 | FeatureBitset MissingFeatures; |
32 | 0 | return MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures, |
33 | 0 | matchingInlineAsm, VariantID); |
34 | 0 | } |
35 | | |
36 | | ParseStatus MatchOperandParserImpl( |
37 | | OperandVector &Operands, |
38 | | StringRef Mnemonic, |
39 | | bool ParseForAllFeatures = false); |
40 | | ParseStatus tryCustomParseOperand( |
41 | | OperandVector &Operands, |
42 | | unsigned MCK); |
43 | | |
44 | | #endif // GET_ASSEMBLER_HEADER |
45 | | |
46 | | |
47 | | #ifdef GET_OPERAND_DIAGNOSTIC_TYPES |
48 | | #undef GET_OPERAND_DIAGNOSTIC_TYPES |
49 | | |
50 | | Match_InvalidBareSymbol, |
51 | | Match_InvalidImm32, |
52 | | Match_InvalidSImm10, |
53 | | Match_InvalidSImm10lsl2, |
54 | | Match_InvalidSImm11lsl1, |
55 | | Match_InvalidSImm12, |
56 | | Match_InvalidSImm12addlike, |
57 | | Match_InvalidSImm12lu52id, |
58 | | Match_InvalidSImm13, |
59 | | Match_InvalidSImm14lsl2, |
60 | | Match_InvalidSImm16, |
61 | | Match_InvalidSImm16lsl2, |
62 | | Match_InvalidSImm20, |
63 | | Match_InvalidSImm20lu12iw, |
64 | | Match_InvalidSImm20lu32id, |
65 | | Match_InvalidSImm20pcaddu18i, |
66 | | Match_InvalidSImm20pcalau12i, |
67 | | Match_InvalidSImm21lsl2, |
68 | | Match_InvalidSImm26Operand, |
69 | | Match_InvalidSImm5, |
70 | | Match_InvalidSImm8, |
71 | | Match_InvalidSImm8lsl1, |
72 | | Match_InvalidSImm8lsl2, |
73 | | Match_InvalidSImm8lsl3, |
74 | | Match_InvalidSImm9lsl3, |
75 | | Match_InvalidUImm1, |
76 | | Match_InvalidUImm12, |
77 | | Match_InvalidUImm12ori, |
78 | | Match_InvalidUImm14, |
79 | | Match_InvalidUImm15, |
80 | | Match_InvalidUImm2, |
81 | | Match_InvalidUImm2plus1, |
82 | | Match_InvalidUImm3, |
83 | | Match_InvalidUImm4, |
84 | | Match_InvalidUImm5, |
85 | | Match_InvalidUImm6, |
86 | | Match_InvalidUImm7, |
87 | | Match_InvalidUImm8, |
88 | | END_OPERAND_DIAGNOSTIC_TYPES |
89 | | #endif // GET_OPERAND_DIAGNOSTIC_TYPES |
90 | | |
91 | | |
92 | | #ifdef GET_REGISTER_MATCHER |
93 | | #undef GET_REGISTER_MATCHER |
94 | | |
95 | | // Bits for subtarget features that participate in instruction matching. |
96 | | enum SubtargetFeatureBits : uint8_t { |
97 | | Feature_IsLA64Bit = 4, |
98 | | Feature_IsLA32Bit = 3, |
99 | | Feature_HasLaGlobalWithPcrelBit = 1, |
100 | | Feature_HasLaGlobalWithAbsBit = 0, |
101 | | Feature_HasLaLocalWithAbsBit = 2, |
102 | | }; |
103 | | |
104 | 0 | static unsigned MatchRegisterName(StringRef Name) { |
105 | 0 | switch (Name.size()) { |
106 | 0 | default: break; |
107 | 0 | case 2: // 30 strings to match. |
108 | 0 | switch (Name[0]) { |
109 | 0 | default: break; |
110 | 0 | case 'f': // 20 strings to match. |
111 | 0 | switch (Name[1]) { |
112 | 0 | default: break; |
113 | 0 | case '0': // 2 strings to match. |
114 | 0 | return 1; // "f0" |
115 | 0 | case '1': // 2 strings to match. |
116 | 0 | return 2; // "f1" |
117 | 0 | case '2': // 2 strings to match. |
118 | 0 | return 3; // "f2" |
119 | 0 | case '3': // 2 strings to match. |
120 | 0 | return 4; // "f3" |
121 | 0 | case '4': // 2 strings to match. |
122 | 0 | return 5; // "f4" |
123 | 0 | case '5': // 2 strings to match. |
124 | 0 | return 6; // "f5" |
125 | 0 | case '6': // 2 strings to match. |
126 | 0 | return 7; // "f6" |
127 | 0 | case '7': // 2 strings to match. |
128 | 0 | return 8; // "f7" |
129 | 0 | case '8': // 2 strings to match. |
130 | 0 | return 9; // "f8" |
131 | 0 | case '9': // 2 strings to match. |
132 | 0 | return 10; // "f9" |
133 | 0 | } |
134 | 0 | break; |
135 | 0 | case 'r': // 10 strings to match. |
136 | 0 | switch (Name[1]) { |
137 | 0 | default: break; |
138 | 0 | case '0': // 1 string to match. |
139 | 0 | return 45; // "r0" |
140 | 0 | case '1': // 1 string to match. |
141 | 0 | return 46; // "r1" |
142 | 0 | case '2': // 1 string to match. |
143 | 0 | return 47; // "r2" |
144 | 0 | case '3': // 1 string to match. |
145 | 0 | return 48; // "r3" |
146 | 0 | case '4': // 1 string to match. |
147 | 0 | return 49; // "r4" |
148 | 0 | case '5': // 1 string to match. |
149 | 0 | return 50; // "r5" |
150 | 0 | case '6': // 1 string to match. |
151 | 0 | return 51; // "r6" |
152 | 0 | case '7': // 1 string to match. |
153 | 0 | return 52; // "r7" |
154 | 0 | case '8': // 1 string to match. |
155 | 0 | return 53; // "r8" |
156 | 0 | case '9': // 1 string to match. |
157 | 0 | return 54; // "r9" |
158 | 0 | } |
159 | 0 | break; |
160 | 0 | } |
161 | 0 | break; |
162 | 0 | case 3: // 86 strings to match. |
163 | 0 | switch (Name[0]) { |
164 | 0 | default: break; |
165 | 0 | case 'f': // 44 strings to match. |
166 | 0 | switch (Name[1]) { |
167 | 0 | default: break; |
168 | 0 | case '1': // 20 strings to match. |
169 | 0 | switch (Name[2]) { |
170 | 0 | default: break; |
171 | 0 | case '0': // 2 strings to match. |
172 | 0 | return 11; // "f10" |
173 | 0 | case '1': // 2 strings to match. |
174 | 0 | return 12; // "f11" |
175 | 0 | case '2': // 2 strings to match. |
176 | 0 | return 13; // "f12" |
177 | 0 | case '3': // 2 strings to match. |
178 | 0 | return 14; // "f13" |
179 | 0 | case '4': // 2 strings to match. |
180 | 0 | return 15; // "f14" |
181 | 0 | case '5': // 2 strings to match. |
182 | 0 | return 16; // "f15" |
183 | 0 | case '6': // 2 strings to match. |
184 | 0 | return 17; // "f16" |
185 | 0 | case '7': // 2 strings to match. |
186 | 0 | return 18; // "f17" |
187 | 0 | case '8': // 2 strings to match. |
188 | 0 | return 19; // "f18" |
189 | 0 | case '9': // 2 strings to match. |
190 | 0 | return 20; // "f19" |
191 | 0 | } |
192 | 0 | break; |
193 | 0 | case '2': // 20 strings to match. |
194 | 0 | switch (Name[2]) { |
195 | 0 | default: break; |
196 | 0 | case '0': // 2 strings to match. |
197 | 0 | return 21; // "f20" |
198 | 0 | case '1': // 2 strings to match. |
199 | 0 | return 22; // "f21" |
200 | 0 | case '2': // 2 strings to match. |
201 | 0 | return 23; // "f22" |
202 | 0 | case '3': // 2 strings to match. |
203 | 0 | return 24; // "f23" |
204 | 0 | case '4': // 2 strings to match. |
205 | 0 | return 25; // "f24" |
206 | 0 | case '5': // 2 strings to match. |
207 | 0 | return 26; // "f25" |
208 | 0 | case '6': // 2 strings to match. |
209 | 0 | return 27; // "f26" |
210 | 0 | case '7': // 2 strings to match. |
211 | 0 | return 28; // "f27" |
212 | 0 | case '8': // 2 strings to match. |
213 | 0 | return 29; // "f28" |
214 | 0 | case '9': // 2 strings to match. |
215 | 0 | return 30; // "f29" |
216 | 0 | } |
217 | 0 | break; |
218 | 0 | case '3': // 4 strings to match. |
219 | 0 | switch (Name[2]) { |
220 | 0 | default: break; |
221 | 0 | case '0': // 2 strings to match. |
222 | 0 | return 31; // "f30" |
223 | 0 | case '1': // 2 strings to match. |
224 | 0 | return 32; // "f31" |
225 | 0 | } |
226 | 0 | break; |
227 | 0 | } |
228 | 0 | break; |
229 | 0 | case 'r': // 22 strings to match. |
230 | 0 | switch (Name[1]) { |
231 | 0 | default: break; |
232 | 0 | case '1': // 10 strings to match. |
233 | 0 | switch (Name[2]) { |
234 | 0 | default: break; |
235 | 0 | case '0': // 1 string to match. |
236 | 0 | return 55; // "r10" |
237 | 0 | case '1': // 1 string to match. |
238 | 0 | return 56; // "r11" |
239 | 0 | case '2': // 1 string to match. |
240 | 0 | return 57; // "r12" |
241 | 0 | case '3': // 1 string to match. |
242 | 0 | return 58; // "r13" |
243 | 0 | case '4': // 1 string to match. |
244 | 0 | return 59; // "r14" |
245 | 0 | case '5': // 1 string to match. |
246 | 0 | return 60; // "r15" |
247 | 0 | case '6': // 1 string to match. |
248 | 0 | return 61; // "r16" |
249 | 0 | case '7': // 1 string to match. |
250 | 0 | return 62; // "r17" |
251 | 0 | case '8': // 1 string to match. |
252 | 0 | return 63; // "r18" |
253 | 0 | case '9': // 1 string to match. |
254 | 0 | return 64; // "r19" |
255 | 0 | } |
256 | 0 | break; |
257 | 0 | case '2': // 10 strings to match. |
258 | 0 | switch (Name[2]) { |
259 | 0 | default: break; |
260 | 0 | case '0': // 1 string to match. |
261 | 0 | return 65; // "r20" |
262 | 0 | case '1': // 1 string to match. |
263 | 0 | return 66; // "r21" |
264 | 0 | case '2': // 1 string to match. |
265 | 0 | return 67; // "r22" |
266 | 0 | case '3': // 1 string to match. |
267 | 0 | return 68; // "r23" |
268 | 0 | case '4': // 1 string to match. |
269 | 0 | return 69; // "r24" |
270 | 0 | case '5': // 1 string to match. |
271 | 0 | return 70; // "r25" |
272 | 0 | case '6': // 1 string to match. |
273 | 0 | return 71; // "r26" |
274 | 0 | case '7': // 1 string to match. |
275 | 0 | return 72; // "r27" |
276 | 0 | case '8': // 1 string to match. |
277 | 0 | return 73; // "r28" |
278 | 0 | case '9': // 1 string to match. |
279 | 0 | return 74; // "r29" |
280 | 0 | } |
281 | 0 | break; |
282 | 0 | case '3': // 2 strings to match. |
283 | 0 | switch (Name[2]) { |
284 | 0 | default: break; |
285 | 0 | case '0': // 1 string to match. |
286 | 0 | return 75; // "r30" |
287 | 0 | case '1': // 1 string to match. |
288 | 0 | return 76; // "r31" |
289 | 0 | } |
290 | 0 | break; |
291 | 0 | } |
292 | 0 | break; |
293 | 0 | case 'v': // 10 strings to match. |
294 | 0 | if (Name[1] != 'r') |
295 | 0 | break; |
296 | 0 | switch (Name[2]) { |
297 | 0 | default: break; |
298 | 0 | case '0': // 1 string to match. |
299 | 0 | return 81; // "vr0" |
300 | 0 | case '1': // 1 string to match. |
301 | 0 | return 82; // "vr1" |
302 | 0 | case '2': // 1 string to match. |
303 | 0 | return 83; // "vr2" |
304 | 0 | case '3': // 1 string to match. |
305 | 0 | return 84; // "vr3" |
306 | 0 | case '4': // 1 string to match. |
307 | 0 | return 85; // "vr4" |
308 | 0 | case '5': // 1 string to match. |
309 | 0 | return 86; // "vr5" |
310 | 0 | case '6': // 1 string to match. |
311 | 0 | return 87; // "vr6" |
312 | 0 | case '7': // 1 string to match. |
313 | 0 | return 88; // "vr7" |
314 | 0 | case '8': // 1 string to match. |
315 | 0 | return 89; // "vr8" |
316 | 0 | case '9': // 1 string to match. |
317 | 0 | return 90; // "vr9" |
318 | 0 | } |
319 | 0 | break; |
320 | 0 | case 'x': // 10 strings to match. |
321 | 0 | if (Name[1] != 'r') |
322 | 0 | break; |
323 | 0 | switch (Name[2]) { |
324 | 0 | default: break; |
325 | 0 | case '0': // 1 string to match. |
326 | 0 | return 113; // "xr0" |
327 | 0 | case '1': // 1 string to match. |
328 | 0 | return 114; // "xr1" |
329 | 0 | case '2': // 1 string to match. |
330 | 0 | return 115; // "xr2" |
331 | 0 | case '3': // 1 string to match. |
332 | 0 | return 116; // "xr3" |
333 | 0 | case '4': // 1 string to match. |
334 | 0 | return 117; // "xr4" |
335 | 0 | case '5': // 1 string to match. |
336 | 0 | return 118; // "xr5" |
337 | 0 | case '6': // 1 string to match. |
338 | 0 | return 119; // "xr6" |
339 | 0 | case '7': // 1 string to match. |
340 | 0 | return 120; // "xr7" |
341 | 0 | case '8': // 1 string to match. |
342 | 0 | return 121; // "xr8" |
343 | 0 | case '9': // 1 string to match. |
344 | 0 | return 122; // "xr9" |
345 | 0 | } |
346 | 0 | break; |
347 | 0 | } |
348 | 0 | break; |
349 | 0 | case 4: // 56 strings to match. |
350 | 0 | switch (Name[0]) { |
351 | 0 | default: break; |
352 | 0 | case 'f': // 8 strings to match. |
353 | 0 | if (memcmp(Name.data()+1, "cc", 2) != 0) |
354 | 0 | break; |
355 | 0 | switch (Name[3]) { |
356 | 0 | default: break; |
357 | 0 | case '0': // 1 string to match. |
358 | 0 | return 33; // "fcc0" |
359 | 0 | case '1': // 1 string to match. |
360 | 0 | return 34; // "fcc1" |
361 | 0 | case '2': // 1 string to match. |
362 | 0 | return 35; // "fcc2" |
363 | 0 | case '3': // 1 string to match. |
364 | 0 | return 36; // "fcc3" |
365 | 0 | case '4': // 1 string to match. |
366 | 0 | return 37; // "fcc4" |
367 | 0 | case '5': // 1 string to match. |
368 | 0 | return 38; // "fcc5" |
369 | 0 | case '6': // 1 string to match. |
370 | 0 | return 39; // "fcc6" |
371 | 0 | case '7': // 1 string to match. |
372 | 0 | return 40; // "fcc7" |
373 | 0 | } |
374 | 0 | break; |
375 | 0 | case 's': // 4 strings to match. |
376 | 0 | if (memcmp(Name.data()+1, "cr", 2) != 0) |
377 | 0 | break; |
378 | 0 | switch (Name[3]) { |
379 | 0 | default: break; |
380 | 0 | case '0': // 1 string to match. |
381 | 0 | return 77; // "scr0" |
382 | 0 | case '1': // 1 string to match. |
383 | 0 | return 78; // "scr1" |
384 | 0 | case '2': // 1 string to match. |
385 | 0 | return 79; // "scr2" |
386 | 0 | case '3': // 1 string to match. |
387 | 0 | return 80; // "scr3" |
388 | 0 | } |
389 | 0 | break; |
390 | 0 | case 'v': // 22 strings to match. |
391 | 0 | if (Name[1] != 'r') |
392 | 0 | break; |
393 | 0 | switch (Name[2]) { |
394 | 0 | default: break; |
395 | 0 | case '1': // 10 strings to match. |
396 | 0 | switch (Name[3]) { |
397 | 0 | default: break; |
398 | 0 | case '0': // 1 string to match. |
399 | 0 | return 91; // "vr10" |
400 | 0 | case '1': // 1 string to match. |
401 | 0 | return 92; // "vr11" |
402 | 0 | case '2': // 1 string to match. |
403 | 0 | return 93; // "vr12" |
404 | 0 | case '3': // 1 string to match. |
405 | 0 | return 94; // "vr13" |
406 | 0 | case '4': // 1 string to match. |
407 | 0 | return 95; // "vr14" |
408 | 0 | case '5': // 1 string to match. |
409 | 0 | return 96; // "vr15" |
410 | 0 | case '6': // 1 string to match. |
411 | 0 | return 97; // "vr16" |
412 | 0 | case '7': // 1 string to match. |
413 | 0 | return 98; // "vr17" |
414 | 0 | case '8': // 1 string to match. |
415 | 0 | return 99; // "vr18" |
416 | 0 | case '9': // 1 string to match. |
417 | 0 | return 100; // "vr19" |
418 | 0 | } |
419 | 0 | break; |
420 | 0 | case '2': // 10 strings to match. |
421 | 0 | switch (Name[3]) { |
422 | 0 | default: break; |
423 | 0 | case '0': // 1 string to match. |
424 | 0 | return 101; // "vr20" |
425 | 0 | case '1': // 1 string to match. |
426 | 0 | return 102; // "vr21" |
427 | 0 | case '2': // 1 string to match. |
428 | 0 | return 103; // "vr22" |
429 | 0 | case '3': // 1 string to match. |
430 | 0 | return 104; // "vr23" |
431 | 0 | case '4': // 1 string to match. |
432 | 0 | return 105; // "vr24" |
433 | 0 | case '5': // 1 string to match. |
434 | 0 | return 106; // "vr25" |
435 | 0 | case '6': // 1 string to match. |
436 | 0 | return 107; // "vr26" |
437 | 0 | case '7': // 1 string to match. |
438 | 0 | return 108; // "vr27" |
439 | 0 | case '8': // 1 string to match. |
440 | 0 | return 109; // "vr28" |
441 | 0 | case '9': // 1 string to match. |
442 | 0 | return 110; // "vr29" |
443 | 0 | } |
444 | 0 | break; |
445 | 0 | case '3': // 2 strings to match. |
446 | 0 | switch (Name[3]) { |
447 | 0 | default: break; |
448 | 0 | case '0': // 1 string to match. |
449 | 0 | return 111; // "vr30" |
450 | 0 | case '1': // 1 string to match. |
451 | 0 | return 112; // "vr31" |
452 | 0 | } |
453 | 0 | break; |
454 | 0 | } |
455 | 0 | break; |
456 | 0 | case 'x': // 22 strings to match. |
457 | 0 | if (Name[1] != 'r') |
458 | 0 | break; |
459 | 0 | switch (Name[2]) { |
460 | 0 | default: break; |
461 | 0 | case '1': // 10 strings to match. |
462 | 0 | switch (Name[3]) { |
463 | 0 | default: break; |
464 | 0 | case '0': // 1 string to match. |
465 | 0 | return 123; // "xr10" |
466 | 0 | case '1': // 1 string to match. |
467 | 0 | return 124; // "xr11" |
468 | 0 | case '2': // 1 string to match. |
469 | 0 | return 125; // "xr12" |
470 | 0 | case '3': // 1 string to match. |
471 | 0 | return 126; // "xr13" |
472 | 0 | case '4': // 1 string to match. |
473 | 0 | return 127; // "xr14" |
474 | 0 | case '5': // 1 string to match. |
475 | 0 | return 128; // "xr15" |
476 | 0 | case '6': // 1 string to match. |
477 | 0 | return 129; // "xr16" |
478 | 0 | case '7': // 1 string to match. |
479 | 0 | return 130; // "xr17" |
480 | 0 | case '8': // 1 string to match. |
481 | 0 | return 131; // "xr18" |
482 | 0 | case '9': // 1 string to match. |
483 | 0 | return 132; // "xr19" |
484 | 0 | } |
485 | 0 | break; |
486 | 0 | case '2': // 10 strings to match. |
487 | 0 | switch (Name[3]) { |
488 | 0 | default: break; |
489 | 0 | case '0': // 1 string to match. |
490 | 0 | return 133; // "xr20" |
491 | 0 | case '1': // 1 string to match. |
492 | 0 | return 134; // "xr21" |
493 | 0 | case '2': // 1 string to match. |
494 | 0 | return 135; // "xr22" |
495 | 0 | case '3': // 1 string to match. |
496 | 0 | return 136; // "xr23" |
497 | 0 | case '4': // 1 string to match. |
498 | 0 | return 137; // "xr24" |
499 | 0 | case '5': // 1 string to match. |
500 | 0 | return 138; // "xr25" |
501 | 0 | case '6': // 1 string to match. |
502 | 0 | return 139; // "xr26" |
503 | 0 | case '7': // 1 string to match. |
504 | 0 | return 140; // "xr27" |
505 | 0 | case '8': // 1 string to match. |
506 | 0 | return 141; // "xr28" |
507 | 0 | case '9': // 1 string to match. |
508 | 0 | return 142; // "xr29" |
509 | 0 | } |
510 | 0 | break; |
511 | 0 | case '3': // 2 strings to match. |
512 | 0 | switch (Name[3]) { |
513 | 0 | default: break; |
514 | 0 | case '0': // 1 string to match. |
515 | 0 | return 143; // "xr30" |
516 | 0 | case '1': // 1 string to match. |
517 | 0 | return 144; // "xr31" |
518 | 0 | } |
519 | 0 | break; |
520 | 0 | } |
521 | 0 | break; |
522 | 0 | } |
523 | 0 | break; |
524 | 0 | case 5: // 4 strings to match. |
525 | 0 | if (memcmp(Name.data()+0, "fcsr", 4) != 0) |
526 | 0 | break; |
527 | 0 | switch (Name[4]) { |
528 | 0 | default: break; |
529 | 0 | case '0': // 1 string to match. |
530 | 0 | return 41; // "fcsr0" |
531 | 0 | case '1': // 1 string to match. |
532 | 0 | return 42; // "fcsr1" |
533 | 0 | case '2': // 1 string to match. |
534 | 0 | return 43; // "fcsr2" |
535 | 0 | case '3': // 1 string to match. |
536 | 0 | return 44; // "fcsr3" |
537 | 0 | } |
538 | 0 | break; |
539 | 0 | } |
540 | 0 | return 0; |
541 | 0 | } Unexecuted instantiation: LoongArchAsmParser.cpp:MatchRegisterName(llvm::StringRef) Unexecuted instantiation: LoongArchISelLowering.cpp:MatchRegisterName(llvm::StringRef) |
542 | | |
543 | 0 | static unsigned MatchRegisterAltName(StringRef Name) { |
544 | 0 | switch (Name.size()) { |
545 | 0 | default: break; |
546 | 0 | case 2: // 31 strings to match. |
547 | 0 | switch (Name[0]) { |
548 | 0 | default: break; |
549 | 0 | case 'a': // 8 strings to match. |
550 | 0 | switch (Name[1]) { |
551 | 0 | default: break; |
552 | 0 | case '0': // 1 string to match. |
553 | 0 | return 49; // "a0" |
554 | 0 | case '1': // 1 string to match. |
555 | 0 | return 50; // "a1" |
556 | 0 | case '2': // 1 string to match. |
557 | 0 | return 51; // "a2" |
558 | 0 | case '3': // 1 string to match. |
559 | 0 | return 52; // "a3" |
560 | 0 | case '4': // 1 string to match. |
561 | 0 | return 53; // "a4" |
562 | 0 | case '5': // 1 string to match. |
563 | 0 | return 54; // "a5" |
564 | 0 | case '6': // 1 string to match. |
565 | 0 | return 55; // "a6" |
566 | 0 | case '7': // 1 string to match. |
567 | 0 | return 56; // "a7" |
568 | 0 | } |
569 | 0 | break; |
570 | 0 | case 'f': // 1 string to match. |
571 | 0 | if (Name[1] != 'p') |
572 | 0 | break; |
573 | 0 | return 67; // "fp" |
574 | 0 | case 'r': // 1 string to match. |
575 | 0 | if (Name[1] != 'a') |
576 | 0 | break; |
577 | 0 | return 46; // "ra" |
578 | 0 | case 's': // 11 strings to match. |
579 | 0 | switch (Name[1]) { |
580 | 0 | default: break; |
581 | 0 | case '0': // 1 string to match. |
582 | 0 | return 68; // "s0" |
583 | 0 | case '1': // 1 string to match. |
584 | 0 | return 69; // "s1" |
585 | 0 | case '2': // 1 string to match. |
586 | 0 | return 70; // "s2" |
587 | 0 | case '3': // 1 string to match. |
588 | 0 | return 71; // "s3" |
589 | 0 | case '4': // 1 string to match. |
590 | 0 | return 72; // "s4" |
591 | 0 | case '5': // 1 string to match. |
592 | 0 | return 73; // "s5" |
593 | 0 | case '6': // 1 string to match. |
594 | 0 | return 74; // "s6" |
595 | 0 | case '7': // 1 string to match. |
596 | 0 | return 75; // "s7" |
597 | 0 | case '8': // 1 string to match. |
598 | 0 | return 76; // "s8" |
599 | 0 | case '9': // 1 string to match. |
600 | 0 | return 67; // "s9" |
601 | 0 | case 'p': // 1 string to match. |
602 | 0 | return 48; // "sp" |
603 | 0 | } |
604 | 0 | break; |
605 | 0 | case 't': // 10 strings to match. |
606 | 0 | switch (Name[1]) { |
607 | 0 | default: break; |
608 | 0 | case '0': // 1 string to match. |
609 | 0 | return 57; // "t0" |
610 | 0 | case '1': // 1 string to match. |
611 | 0 | return 58; // "t1" |
612 | 0 | case '2': // 1 string to match. |
613 | 0 | return 59; // "t2" |
614 | 0 | case '3': // 1 string to match. |
615 | 0 | return 60; // "t3" |
616 | 0 | case '4': // 1 string to match. |
617 | 0 | return 61; // "t4" |
618 | 0 | case '5': // 1 string to match. |
619 | 0 | return 62; // "t5" |
620 | 0 | case '6': // 1 string to match. |
621 | 0 | return 63; // "t6" |
622 | 0 | case '7': // 1 string to match. |
623 | 0 | return 64; // "t7" |
624 | 0 | case '8': // 1 string to match. |
625 | 0 | return 65; // "t8" |
626 | 0 | case 'p': // 1 string to match. |
627 | 0 | return 47; // "tp" |
628 | 0 | } |
629 | 0 | break; |
630 | 0 | } |
631 | 0 | break; |
632 | 0 | case 3: // 52 strings to match. |
633 | 0 | if (Name[0] != 'f') |
634 | 0 | break; |
635 | 0 | switch (Name[1]) { |
636 | 0 | default: break; |
637 | 0 | case 'a': // 16 strings to match. |
638 | 0 | switch (Name[2]) { |
639 | 0 | default: break; |
640 | 0 | case '0': // 2 strings to match. |
641 | 0 | return 1; // "fa0" |
642 | 0 | case '1': // 2 strings to match. |
643 | 0 | return 2; // "fa1" |
644 | 0 | case '2': // 2 strings to match. |
645 | 0 | return 3; // "fa2" |
646 | 0 | case '3': // 2 strings to match. |
647 | 0 | return 4; // "fa3" |
648 | 0 | case '4': // 2 strings to match. |
649 | 0 | return 5; // "fa4" |
650 | 0 | case '5': // 2 strings to match. |
651 | 0 | return 6; // "fa5" |
652 | 0 | case '6': // 2 strings to match. |
653 | 0 | return 7; // "fa6" |
654 | 0 | case '7': // 2 strings to match. |
655 | 0 | return 8; // "fa7" |
656 | 0 | } |
657 | 0 | break; |
658 | 0 | case 's': // 16 strings to match. |
659 | 0 | switch (Name[2]) { |
660 | 0 | default: break; |
661 | 0 | case '0': // 2 strings to match. |
662 | 0 | return 25; // "fs0" |
663 | 0 | case '1': // 2 strings to match. |
664 | 0 | return 26; // "fs1" |
665 | 0 | case '2': // 2 strings to match. |
666 | 0 | return 27; // "fs2" |
667 | 0 | case '3': // 2 strings to match. |
668 | 0 | return 28; // "fs3" |
669 | 0 | case '4': // 2 strings to match. |
670 | 0 | return 29; // "fs4" |
671 | 0 | case '5': // 2 strings to match. |
672 | 0 | return 30; // "fs5" |
673 | 0 | case '6': // 2 strings to match. |
674 | 0 | return 31; // "fs6" |
675 | 0 | case '7': // 2 strings to match. |
676 | 0 | return 32; // "fs7" |
677 | 0 | } |
678 | 0 | break; |
679 | 0 | case 't': // 20 strings to match. |
680 | 0 | switch (Name[2]) { |
681 | 0 | default: break; |
682 | 0 | case '0': // 2 strings to match. |
683 | 0 | return 9; // "ft0" |
684 | 0 | case '1': // 2 strings to match. |
685 | 0 | return 10; // "ft1" |
686 | 0 | case '2': // 2 strings to match. |
687 | 0 | return 11; // "ft2" |
688 | 0 | case '3': // 2 strings to match. |
689 | 0 | return 12; // "ft3" |
690 | 0 | case '4': // 2 strings to match. |
691 | 0 | return 13; // "ft4" |
692 | 0 | case '5': // 2 strings to match. |
693 | 0 | return 14; // "ft5" |
694 | 0 | case '6': // 2 strings to match. |
695 | 0 | return 15; // "ft6" |
696 | 0 | case '7': // 2 strings to match. |
697 | 0 | return 16; // "ft7" |
698 | 0 | case '8': // 2 strings to match. |
699 | 0 | return 17; // "ft8" |
700 | 0 | case '9': // 2 strings to match. |
701 | 0 | return 18; // "ft9" |
702 | 0 | } |
703 | 0 | break; |
704 | 0 | } |
705 | 0 | break; |
706 | 0 | case 4: // 13 strings to match. |
707 | 0 | switch (Name[0]) { |
708 | 0 | default: break; |
709 | 0 | case 'f': // 12 strings to match. |
710 | 0 | if (memcmp(Name.data()+1, "t1", 2) != 0) |
711 | 0 | break; |
712 | 0 | switch (Name[3]) { |
713 | 0 | default: break; |
714 | 0 | case '0': // 2 strings to match. |
715 | 0 | return 19; // "ft10" |
716 | 0 | case '1': // 2 strings to match. |
717 | 0 | return 20; // "ft11" |
718 | 0 | case '2': // 2 strings to match. |
719 | 0 | return 21; // "ft12" |
720 | 0 | case '3': // 2 strings to match. |
721 | 0 | return 22; // "ft13" |
722 | 0 | case '4': // 2 strings to match. |
723 | 0 | return 23; // "ft14" |
724 | 0 | case '5': // 2 strings to match. |
725 | 0 | return 24; // "ft15" |
726 | 0 | } |
727 | 0 | break; |
728 | 0 | case 'z': // 1 string to match. |
729 | 0 | if (memcmp(Name.data()+1, "ero", 3) != 0) |
730 | 0 | break; |
731 | 0 | return 45; // "zero" |
732 | 0 | } |
733 | 0 | break; |
734 | 0 | } |
735 | 0 | return 0; |
736 | 0 | } Unexecuted instantiation: LoongArchAsmParser.cpp:MatchRegisterAltName(llvm::StringRef) Unexecuted instantiation: LoongArchISelLowering.cpp:MatchRegisterAltName(llvm::StringRef) |
737 | | |
738 | | #endif // GET_REGISTER_MATCHER |
739 | | |
740 | | |
741 | | #ifdef GET_SUBTARGET_FEATURE_NAME |
742 | | #undef GET_SUBTARGET_FEATURE_NAME |
743 | | |
744 | | // User-level names for subtarget features that participate in |
745 | | // instruction matching. |
746 | 0 | static const char *getSubtargetFeatureName(uint64_t Val) { |
747 | 0 | switch(Val) { |
748 | 0 | case Feature_IsLA64Bit: return "LA64 Basic Integer and Privilege Instruction Set"; |
749 | 0 | case Feature_IsLA32Bit: return "LA32 Basic Integer and Privilege Instruction Set"; |
750 | 0 | case Feature_HasLaGlobalWithPcrelBit: return "Expand la.global as la.pcrel"; |
751 | 0 | case Feature_HasLaGlobalWithAbsBit: return "Expand la.global as la.abs"; |
752 | 0 | case Feature_HasLaLocalWithAbsBit: return "Expand la.local as la.abs"; |
753 | 0 | default: return "(unknown)"; |
754 | 0 | } |
755 | 0 | } |
756 | | |
757 | | #endif // GET_SUBTARGET_FEATURE_NAME |
758 | | |
759 | | |
760 | | #ifdef GET_MATCHER_IMPLEMENTATION |
761 | | #undef GET_MATCHER_IMPLEMENTATION |
762 | | |
763 | | enum { |
764 | | Tie0_1_1, |
765 | | }; |
766 | | |
767 | | static const uint8_t TiedAsmOperandTable[][3] = { |
768 | | /* Tie0_1_1 */ { 0, 1, 1 }, |
769 | | }; |
770 | | |
771 | | namespace { |
772 | | enum OperatorConversionKind { |
773 | | CVT_Done, |
774 | | CVT_Reg, |
775 | | CVT_Tied, |
776 | | CVT_95_Reg, |
777 | | CVT_95_addImmOperands, |
778 | | CVT_95_addRegOperands, |
779 | | CVT_regR0, |
780 | | CVT_imm_95_0, |
781 | | CVT_regR1, |
782 | | CVT_NUM_CONVERTERS |
783 | | }; |
784 | | |
785 | | enum InstructionConversionKind { |
786 | | Convert__Reg1_0__Reg1_1__Reg1_2, |
787 | | Convert__Reg1_0__Reg1_1__SImm12addlike1_2, |
788 | | Convert__Reg1_0__Reg1_1__SImm51_2, |
789 | | Convert__Reg1_0__Reg1_1__SImm161_2, |
790 | | Convert__Reg1_0__Reg1_1__Reg1_2__UImm2plus11_3, |
791 | | Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, |
792 | | Convert__Reg1_0__Reg1_1__UImm121_2, |
793 | | Convert__Reg1_0__Reg1_1__UImm41_2, |
794 | | Convert__Reg1_0__UImm81_1, |
795 | | Convert__Reg1_0__UImm41_1, |
796 | | Convert__Reg1_0__UImm51_1__UImm41_2, |
797 | | Convert__Reg1_0__Reg1_1, |
798 | | Convert__SImm26OperandB1_0, |
799 | | Convert__Reg1_0__SImm21lsl21_1, |
800 | | Convert__Reg1_0__Reg1_1__SImm16lsl21_2, |
801 | | Convert__Reg1_0__regR0__SImm16lsl21_1, |
802 | | Convert__Reg1_1__Reg1_0__SImm16lsl21_2, |
803 | | Convert__regR0__Reg1_0__SImm16lsl21_1, |
804 | | Convert__SImm26OperandBL1_0, |
805 | | Convert__UImm151_0, |
806 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2__UImm61_3, |
807 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2__UImm51_3, |
808 | | Convert__Reg1_0__Reg1_1__UImm61_2__UImm61_3, |
809 | | Convert__Reg1_0__Reg1_1__UImm51_2__UImm51_3, |
810 | | Convert__Reg1_0__Reg1_1__Reg1_2__UImm31_3, |
811 | | Convert__Reg1_0__Reg1_1__Reg1_2__UImm21_3, |
812 | | Convert__UImm51_0__Reg1_1__SImm121_2, |
813 | | Convert__BareSymbol1_0, |
814 | | Convert__Reg1_0__UImm141_1, |
815 | | Convert__Reg1_0__Tie0_1_1__UImm141_1, |
816 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm141_2, |
817 | | Convert_NoOperands, |
818 | | Convert__Reg1_0__Reg1_1__SImm121_2, |
819 | | Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, |
820 | | Convert__Reg1_2__Reg1_1__UImm51_0, |
821 | | Convert__SImm21lsl21_0, |
822 | | Convert__regR0__Reg1_0__imm_95_0, |
823 | | Convert__Reg1_0__BareSymbol1_1, |
824 | | Convert__Reg1_0__imm_95_0__BareSymbol1_1, |
825 | | Convert__Reg1_0__Reg1_1__BareSymbol1_2, |
826 | | Convert__Reg1_0__Reg1_1__UImm81_2, |
827 | | Convert__Reg1_0__Reg1_1__SImm14lsl21_2, |
828 | | Convert__Reg1_0__Imm1_1, |
829 | | Convert__Reg1_0__Imm321_1, |
830 | | Convert__Reg1_0__SImm20lu12iw1_1, |
831 | | Convert__Reg1_0__Tie0_1_1__SImm20lu32id1_1, |
832 | | Convert__Reg1_0__Reg1_1__SImm12lu52id1_2, |
833 | | Convert__Reg1_0__Reg1_1__regR0, |
834 | | Convert__Reg1_0__Tie0_1_1__Reg1_1, |
835 | | Convert__regR0__regR0__imm_95_0, |
836 | | Convert__Reg1_0__Reg1_1__UImm12ori1_2, |
837 | | Convert__Reg1_0__SImm201_1, |
838 | | Convert__Reg1_0__SImm20pcaddu18i1_1, |
839 | | Convert__Reg1_0__SImm20pcalau12i1_1, |
840 | | Convert__UImm51_0__Reg1_1__Reg1_2, |
841 | | Convert__Reg1_0__Reg1_1__UImm31_2, |
842 | | Convert__Reg1_0__Reg1_1__UImm61_2, |
843 | | Convert__Reg1_0__Reg1_1__UImm51_2, |
844 | | Convert__regR0__regR1__imm_95_0, |
845 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__SImm14lsl21_2, |
846 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, |
847 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, |
848 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, |
849 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, |
850 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm11_2, |
851 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm31_2, |
852 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm21_2, |
853 | | Convert__Reg1_0__SImm131_1, |
854 | | Convert__Reg1_0__Reg1_1__SImm9lsl31_2, |
855 | | Convert__Reg1_0__Reg1_1__SImm11lsl11_2, |
856 | | Convert__Reg1_0__Reg1_1__SImm10lsl21_2, |
857 | | Convert__Reg1_0__Reg1_1__UImm11_2, |
858 | | Convert__Reg1_0__Reg1_1__UImm21_2, |
859 | | Convert__Reg1_0__SImm101_1, |
860 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, |
861 | | Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, |
862 | | Convert__Reg1_0__Reg1_1__SImm81_2__UImm41_3, |
863 | | Convert__Reg1_0__Reg1_1__SImm8lsl31_2__UImm11_3, |
864 | | Convert__Reg1_0__Reg1_1__SImm8lsl11_2__UImm31_3, |
865 | | Convert__Reg1_0__Reg1_1__SImm8lsl21_2__UImm21_3, |
866 | | Convert__Reg1_0, |
867 | | Convert__UImm31_0, |
868 | | Convert__Reg1_0__UImm31_1, |
869 | | Convert__Reg1_0__UImm61_1, |
870 | | Convert__Reg1_0__UImm51_1, |
871 | | Convert__Reg1_0__UImm51_1__UImm81_2, |
872 | | Convert__Reg1_0__Reg1_1__SImm81_2__UImm51_3, |
873 | | Convert__Reg1_0__Reg1_1__SImm8lsl31_2__UImm21_3, |
874 | | Convert__Reg1_0__Reg1_1__SImm8lsl11_2__UImm41_3, |
875 | | Convert__Reg1_0__Reg1_1__SImm8lsl21_2__UImm31_3, |
876 | | CVT_NUM_SIGNATURES |
877 | | }; |
878 | | |
879 | | } // end anonymous namespace |
880 | | |
881 | | static const uint8_t ConversionTable[CVT_NUM_SIGNATURES][11] = { |
882 | | // Convert__Reg1_0__Reg1_1__Reg1_2 |
883 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done }, |
884 | | // Convert__Reg1_0__Reg1_1__SImm12addlike1_2 |
885 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
886 | | // Convert__Reg1_0__Reg1_1__SImm51_2 |
887 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
888 | | // Convert__Reg1_0__Reg1_1__SImm161_2 |
889 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
890 | | // Convert__Reg1_0__Reg1_1__Reg1_2__UImm2plus11_3 |
891 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
892 | | // Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2 |
893 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOperands, 3, CVT_Done }, |
894 | | // Convert__Reg1_0__Reg1_1__UImm121_2 |
895 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
896 | | // Convert__Reg1_0__Reg1_1__UImm41_2 |
897 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
898 | | // Convert__Reg1_0__UImm81_1 |
899 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
900 | | // Convert__Reg1_0__UImm41_1 |
901 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
902 | | // Convert__Reg1_0__UImm51_1__UImm41_2 |
903 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
904 | | // Convert__Reg1_0__Reg1_1 |
905 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_Done }, |
906 | | // Convert__SImm26OperandB1_0 |
907 | | { CVT_95_addImmOperands, 1, CVT_Done }, |
908 | | // Convert__Reg1_0__SImm21lsl21_1 |
909 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
910 | | // Convert__Reg1_0__Reg1_1__SImm16lsl21_2 |
911 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
912 | | // Convert__Reg1_0__regR0__SImm16lsl21_1 |
913 | | { CVT_95_Reg, 1, CVT_regR0, 0, CVT_95_addImmOperands, 2, CVT_Done }, |
914 | | // Convert__Reg1_1__Reg1_0__SImm16lsl21_2 |
915 | | { CVT_95_Reg, 2, CVT_95_Reg, 1, CVT_95_addImmOperands, 3, CVT_Done }, |
916 | | // Convert__regR0__Reg1_0__SImm16lsl21_1 |
917 | | { CVT_regR0, 0, CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
918 | | // Convert__SImm26OperandBL1_0 |
919 | | { CVT_95_addImmOperands, 1, CVT_Done }, |
920 | | // Convert__UImm151_0 |
921 | | { CVT_95_addImmOperands, 1, CVT_Done }, |
922 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2__UImm61_3 |
923 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
924 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2__UImm51_3 |
925 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
926 | | // Convert__Reg1_0__Reg1_1__UImm61_2__UImm61_3 |
927 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
928 | | // Convert__Reg1_0__Reg1_1__UImm51_2__UImm51_3 |
929 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
930 | | // Convert__Reg1_0__Reg1_1__Reg1_2__UImm31_3 |
931 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
932 | | // Convert__Reg1_0__Reg1_1__Reg1_2__UImm21_3 |
933 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
934 | | // Convert__UImm51_0__Reg1_1__SImm121_2 |
935 | | { CVT_95_addImmOperands, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
936 | | // Convert__BareSymbol1_0 |
937 | | { CVT_95_addImmOperands, 1, CVT_Done }, |
938 | | // Convert__Reg1_0__UImm141_1 |
939 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
940 | | // Convert__Reg1_0__Tie0_1_1__UImm141_1 |
941 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 2, CVT_Done }, |
942 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm141_2 |
943 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
944 | | // Convert_NoOperands |
945 | | { CVT_Done }, |
946 | | // Convert__Reg1_0__Reg1_1__SImm121_2 |
947 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
948 | | // Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3 |
949 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Done }, |
950 | | // Convert__Reg1_2__Reg1_1__UImm51_0 |
951 | | { CVT_95_Reg, 3, CVT_95_Reg, 2, CVT_95_addImmOperands, 1, CVT_Done }, |
952 | | // Convert__SImm21lsl21_0 |
953 | | { CVT_95_addImmOperands, 1, CVT_Done }, |
954 | | // Convert__regR0__Reg1_0__imm_95_0 |
955 | | { CVT_regR0, 0, CVT_95_Reg, 1, CVT_imm_95_0, 0, CVT_Done }, |
956 | | // Convert__Reg1_0__BareSymbol1_1 |
957 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
958 | | // Convert__Reg1_0__imm_95_0__BareSymbol1_1 |
959 | | { CVT_95_Reg, 1, CVT_imm_95_0, 0, CVT_95_addImmOperands, 2, CVT_Done }, |
960 | | // Convert__Reg1_0__Reg1_1__BareSymbol1_2 |
961 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
962 | | // Convert__Reg1_0__Reg1_1__UImm81_2 |
963 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
964 | | // Convert__Reg1_0__Reg1_1__SImm14lsl21_2 |
965 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
966 | | // Convert__Reg1_0__Imm1_1 |
967 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
968 | | // Convert__Reg1_0__Imm321_1 |
969 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
970 | | // Convert__Reg1_0__SImm20lu12iw1_1 |
971 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
972 | | // Convert__Reg1_0__Tie0_1_1__SImm20lu32id1_1 |
973 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 2, CVT_Done }, |
974 | | // Convert__Reg1_0__Reg1_1__SImm12lu52id1_2 |
975 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
976 | | // Convert__Reg1_0__Reg1_1__regR0 |
977 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_regR0, 0, CVT_Done }, |
978 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1 |
979 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_Done }, |
980 | | // Convert__regR0__regR0__imm_95_0 |
981 | | { CVT_regR0, 0, CVT_regR0, 0, CVT_imm_95_0, 0, CVT_Done }, |
982 | | // Convert__Reg1_0__Reg1_1__UImm12ori1_2 |
983 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
984 | | // Convert__Reg1_0__SImm201_1 |
985 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
986 | | // Convert__Reg1_0__SImm20pcaddu18i1_1 |
987 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
988 | | // Convert__Reg1_0__SImm20pcalau12i1_1 |
989 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
990 | | // Convert__UImm51_0__Reg1_1__Reg1_2 |
991 | | { CVT_95_addImmOperands, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done }, |
992 | | // Convert__Reg1_0__Reg1_1__UImm31_2 |
993 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
994 | | // Convert__Reg1_0__Reg1_1__UImm61_2 |
995 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
996 | | // Convert__Reg1_0__Reg1_1__UImm51_2 |
997 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
998 | | // Convert__regR0__regR1__imm_95_0 |
999 | | { CVT_regR0, 0, CVT_regR1, 0, CVT_imm_95_0, 0, CVT_Done }, |
1000 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__SImm14lsl21_2 |
1001 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1002 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2 |
1003 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done }, |
1004 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2 |
1005 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1006 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2 |
1007 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1008 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2 |
1009 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1010 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm11_2 |
1011 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1012 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm31_2 |
1013 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1014 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm21_2 |
1015 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1016 | | // Convert__Reg1_0__SImm131_1 |
1017 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
1018 | | // Convert__Reg1_0__Reg1_1__SImm9lsl31_2 |
1019 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1020 | | // Convert__Reg1_0__Reg1_1__SImm11lsl11_2 |
1021 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1022 | | // Convert__Reg1_0__Reg1_1__SImm10lsl21_2 |
1023 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1024 | | // Convert__Reg1_0__Reg1_1__UImm11_2 |
1025 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1026 | | // Convert__Reg1_0__Reg1_1__UImm21_2 |
1027 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1028 | | // Convert__Reg1_0__SImm101_1 |
1029 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
1030 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2 |
1031 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1032 | | // Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2 |
1033 | | { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1034 | | // Convert__Reg1_0__Reg1_1__SImm81_2__UImm41_3 |
1035 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1036 | | // Convert__Reg1_0__Reg1_1__SImm8lsl31_2__UImm11_3 |
1037 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1038 | | // Convert__Reg1_0__Reg1_1__SImm8lsl11_2__UImm31_3 |
1039 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1040 | | // Convert__Reg1_0__Reg1_1__SImm8lsl21_2__UImm21_3 |
1041 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1042 | | // Convert__Reg1_0 |
1043 | | { CVT_95_Reg, 1, CVT_Done }, |
1044 | | // Convert__UImm31_0 |
1045 | | { CVT_95_addImmOperands, 1, CVT_Done }, |
1046 | | // Convert__Reg1_0__UImm31_1 |
1047 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
1048 | | // Convert__Reg1_0__UImm61_1 |
1049 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
1050 | | // Convert__Reg1_0__UImm51_1 |
1051 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done }, |
1052 | | // Convert__Reg1_0__UImm51_1__UImm81_2 |
1053 | | { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 3, CVT_Done }, |
1054 | | // Convert__Reg1_0__Reg1_1__SImm81_2__UImm51_3 |
1055 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1056 | | // Convert__Reg1_0__Reg1_1__SImm8lsl31_2__UImm21_3 |
1057 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1058 | | // Convert__Reg1_0__Reg1_1__SImm8lsl11_2__UImm41_3 |
1059 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1060 | | // Convert__Reg1_0__Reg1_1__SImm8lsl21_2__UImm31_3 |
1061 | | { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done }, |
1062 | | }; |
1063 | | |
1064 | | void LoongArchAsmParser:: |
1065 | | convertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode, |
1066 | 0 | const OperandVector &Operands) { |
1067 | 0 | assert(Kind < CVT_NUM_SIGNATURES && "Invalid signature!"); |
1068 | 0 | const uint8_t *Converter = ConversionTable[Kind]; |
1069 | 0 | unsigned OpIdx; |
1070 | 0 | Inst.setOpcode(Opcode); |
1071 | 0 | for (const uint8_t *p = Converter; *p; p += 2) { |
1072 | 0 | OpIdx = *(p + 1); |
1073 | 0 | switch (*p) { |
1074 | 0 | default: llvm_unreachable("invalid conversion entry!"); |
1075 | 0 | case CVT_Reg: |
1076 | 0 | static_cast<LoongArchOperand &>(*Operands[OpIdx]).addRegOperands(Inst, 1); |
1077 | 0 | break; |
1078 | 0 | case CVT_Tied: { |
1079 | 0 | assert(OpIdx < (size_t)(std::end(TiedAsmOperandTable) - |
1080 | 0 | std::begin(TiedAsmOperandTable)) && |
1081 | 0 | "Tied operand not found"); |
1082 | 0 | unsigned TiedResOpnd = TiedAsmOperandTable[OpIdx][0]; |
1083 | 0 | if (TiedResOpnd != (uint8_t)-1) |
1084 | 0 | Inst.addOperand(Inst.getOperand(TiedResOpnd)); |
1085 | 0 | break; |
1086 | 0 | } |
1087 | 0 | case CVT_95_Reg: |
1088 | 0 | static_cast<LoongArchOperand &>(*Operands[OpIdx]).addRegOperands(Inst, 1); |
1089 | 0 | break; |
1090 | 0 | case CVT_95_addImmOperands: |
1091 | 0 | static_cast<LoongArchOperand &>(*Operands[OpIdx]).addImmOperands(Inst, 1); |
1092 | 0 | break; |
1093 | 0 | case CVT_95_addRegOperands: |
1094 | 0 | static_cast<LoongArchOperand &>(*Operands[OpIdx]).addRegOperands(Inst, 1); |
1095 | 0 | break; |
1096 | 0 | case CVT_regR0: |
1097 | 0 | Inst.addOperand(MCOperand::createReg(LoongArch::R0)); |
1098 | 0 | break; |
1099 | 0 | case CVT_imm_95_0: |
1100 | 0 | Inst.addOperand(MCOperand::createImm(0)); |
1101 | 0 | break; |
1102 | 0 | case CVT_regR1: |
1103 | 0 | Inst.addOperand(MCOperand::createReg(LoongArch::R1)); |
1104 | 0 | break; |
1105 | 0 | } |
1106 | 0 | } |
1107 | 0 | } |
1108 | | |
1109 | | void LoongArchAsmParser:: |
1110 | | convertToMapAndConstraints(unsigned Kind, |
1111 | 0 | const OperandVector &Operands) { |
1112 | 0 | assert(Kind < CVT_NUM_SIGNATURES && "Invalid signature!"); |
1113 | 0 | unsigned NumMCOperands = 0; |
1114 | 0 | const uint8_t *Converter = ConversionTable[Kind]; |
1115 | 0 | for (const uint8_t *p = Converter; *p; p += 2) { |
1116 | 0 | switch (*p) { |
1117 | 0 | default: llvm_unreachable("invalid conversion entry!"); |
1118 | 0 | case CVT_Reg: |
1119 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1120 | 0 | Operands[*(p + 1)]->setConstraint("r"); |
1121 | 0 | ++NumMCOperands; |
1122 | 0 | break; |
1123 | 0 | case CVT_Tied: |
1124 | 0 | ++NumMCOperands; |
1125 | 0 | break; |
1126 | 0 | case CVT_95_Reg: |
1127 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1128 | 0 | Operands[*(p + 1)]->setConstraint("r"); |
1129 | 0 | NumMCOperands += 1; |
1130 | 0 | break; |
1131 | 0 | case CVT_95_addImmOperands: |
1132 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1133 | 0 | Operands[*(p + 1)]->setConstraint("m"); |
1134 | 0 | NumMCOperands += 1; |
1135 | 0 | break; |
1136 | 0 | case CVT_95_addRegOperands: |
1137 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1138 | 0 | Operands[*(p + 1)]->setConstraint("m"); |
1139 | 0 | NumMCOperands += 1; |
1140 | 0 | break; |
1141 | 0 | case CVT_regR0: |
1142 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1143 | 0 | Operands[*(p + 1)]->setConstraint("m"); |
1144 | 0 | ++NumMCOperands; |
1145 | 0 | break; |
1146 | 0 | case CVT_imm_95_0: |
1147 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1148 | 0 | Operands[*(p + 1)]->setConstraint(""); |
1149 | 0 | ++NumMCOperands; |
1150 | 0 | break; |
1151 | 0 | case CVT_regR1: |
1152 | 0 | Operands[*(p + 1)]->setMCOperandNum(NumMCOperands); |
1153 | 0 | Operands[*(p + 1)]->setConstraint("m"); |
1154 | 0 | ++NumMCOperands; |
1155 | 0 | break; |
1156 | 0 | } |
1157 | 0 | } |
1158 | 0 | } |
1159 | | |
1160 | | namespace { |
1161 | | |
1162 | | /// MatchClassKind - The kinds of classes which participate in |
1163 | | /// instruction matching. |
1164 | | enum MatchClassKind { |
1165 | | InvalidMatchClass = 0, |
1166 | | OptionalMatchClass = 1, |
1167 | | MCK_LAST_TOKEN = OptionalMatchClass, |
1168 | | MCK_FCSR, // register class 'FCSR' |
1169 | | MCK_SCR, // register class 'SCR' |
1170 | | MCK_CFR, // register class 'CFR' |
1171 | | MCK_GPRT, // register class 'GPRT' |
1172 | | MCK_FPR32, // register class 'FPR32' |
1173 | | MCK_FPR64, // register class 'FPR64' |
1174 | | MCK_GPR, // register class 'GPR' |
1175 | | MCK_LASX256, // register class 'LASX256' |
1176 | | MCK_LSX128, // register class 'LSX128' |
1177 | | MCK_LAST_REGISTER = MCK_LSX128, |
1178 | | MCK_AtomicMemAsmOperand, // user defined class 'AtomicMemAsmOperand' |
1179 | | MCK_BareSymbol, // user defined class 'BareSymbol' |
1180 | | MCK_Imm, // user defined class 'ImmAsmOperand' |
1181 | | MCK_SImm26OperandB, // user defined class 'SImm26OperandB' |
1182 | | MCK_SImm26OperandBL, // user defined class 'SImm26OperandBL' |
1183 | | MCK_Imm32, // user defined class 'anonymous_7132' |
1184 | | MCK_UImm1, // user defined class 'anonymous_7133' |
1185 | | MCK_UImm2, // user defined class 'anonymous_7134' |
1186 | | MCK_UImm2plus1, // user defined class 'anonymous_7135' |
1187 | | MCK_UImm3, // user defined class 'anonymous_7136' |
1188 | | MCK_UImm4, // user defined class 'anonymous_7137' |
1189 | | MCK_UImm5, // user defined class 'anonymous_7138' |
1190 | | MCK_UImm6, // user defined class 'anonymous_7139' |
1191 | | MCK_UImm7, // user defined class 'anonymous_7140' |
1192 | | MCK_UImm8, // user defined class 'anonymous_7141' |
1193 | | MCK_UImm12, // user defined class 'anonymous_7142' |
1194 | | MCK_UImm12ori, // user defined class 'anonymous_7143' |
1195 | | MCK_UImm14, // user defined class 'anonymous_7144' |
1196 | | MCK_UImm15, // user defined class 'anonymous_7145' |
1197 | | MCK_SImm5, // user defined class 'anonymous_7146' |
1198 | | MCK_SImm8, // user defined class 'anonymous_7147' |
1199 | | MCK_SImm8lsl1, // user defined class 'anonymous_7148' |
1200 | | MCK_SImm8lsl2, // user defined class 'anonymous_7149' |
1201 | | MCK_SImm8lsl3, // user defined class 'anonymous_7150' |
1202 | | MCK_SImm9lsl3, // user defined class 'anonymous_7151' |
1203 | | MCK_SImm10, // user defined class 'anonymous_7152' |
1204 | | MCK_SImm10lsl2, // user defined class 'anonymous_7153' |
1205 | | MCK_SImm11lsl1, // user defined class 'anonymous_7154' |
1206 | | MCK_SImm12, // user defined class 'anonymous_7155' |
1207 | | MCK_SImm12addlike, // user defined class 'anonymous_7156' |
1208 | | MCK_SImm12lu52id, // user defined class 'anonymous_7157' |
1209 | | MCK_SImm13, // user defined class 'anonymous_7158' |
1210 | | MCK_SImm14lsl2, // user defined class 'anonymous_7159' |
1211 | | MCK_SImm16, // user defined class 'anonymous_7160' |
1212 | | MCK_SImm16lsl2, // user defined class 'anonymous_7161' |
1213 | | MCK_SImm20, // user defined class 'anonymous_7162' |
1214 | | MCK_SImm20pcalau12i, // user defined class 'anonymous_7163' |
1215 | | MCK_SImm20lu12iw, // user defined class 'anonymous_7164' |
1216 | | MCK_SImm20lu32id, // user defined class 'anonymous_7165' |
1217 | | MCK_SImm20pcaddu18i, // user defined class 'anonymous_7166' |
1218 | | MCK_SImm21lsl2, // user defined class 'anonymous_7167' |
1219 | | NumMatchClassKinds |
1220 | | }; |
1221 | | |
1222 | | } // end anonymous namespace |
1223 | | |
1224 | 0 | static unsigned getDiagKindFromRegisterClass(MatchClassKind RegisterClass) { |
1225 | 0 | return MCTargetAsmParser::Match_InvalidOperand; |
1226 | 0 | } |
1227 | | |
1228 | 0 | static MatchClassKind matchTokenString(StringRef Name) { |
1229 | 0 | return InvalidMatchClass; |
1230 | 0 | } |
1231 | | |
1232 | | /// isSubclass - Compute whether \p A is a subclass of \p B. |
1233 | 0 | static bool isSubclass(MatchClassKind A, MatchClassKind B) { |
1234 | 0 | if (A == B) |
1235 | 0 | return true; |
1236 | | |
1237 | 0 | switch (A) { |
1238 | 0 | default: |
1239 | 0 | return false; |
1240 | | |
1241 | 0 | case MCK_GPRT: |
1242 | 0 | return B == MCK_GPR; |
1243 | 0 | } |
1244 | 0 | } |
1245 | | |
1246 | 0 | static unsigned validateOperandClass(MCParsedAsmOperand &GOp, MatchClassKind Kind) { |
1247 | 0 | LoongArchOperand &Operand = (LoongArchOperand &)GOp; |
1248 | 0 | if (Kind == InvalidMatchClass) |
1249 | 0 | return MCTargetAsmParser::Match_InvalidOperand; |
1250 | | |
1251 | 0 | if (Operand.isToken() && Kind <= MCK_LAST_TOKEN) |
1252 | 0 | return isSubclass(matchTokenString(Operand.getToken()), Kind) ? |
1253 | 0 | MCTargetAsmParser::Match_Success : |
1254 | 0 | MCTargetAsmParser::Match_InvalidOperand; |
1255 | | |
1256 | 0 | switch (Kind) { |
1257 | 0 | default: break; |
1258 | | // 'AtomicMemAsmOperand' class |
1259 | 0 | case MCK_AtomicMemAsmOperand: { |
1260 | 0 | DiagnosticPredicate DP(Operand.isGPR()); |
1261 | 0 | if (DP.isMatch()) |
1262 | 0 | return MCTargetAsmParser::Match_Success; |
1263 | 0 | break; |
1264 | 0 | } |
1265 | | // 'BareSymbol' class |
1266 | 0 | case MCK_BareSymbol: { |
1267 | 0 | DiagnosticPredicate DP(Operand.isBareSymbol()); |
1268 | 0 | if (DP.isMatch()) |
1269 | 0 | return MCTargetAsmParser::Match_Success; |
1270 | 0 | if (DP.isNearMatch()) |
1271 | 0 | return LoongArchAsmParser::Match_InvalidBareSymbol; |
1272 | 0 | break; |
1273 | 0 | } |
1274 | | // 'Imm' class |
1275 | 0 | case MCK_Imm: { |
1276 | 0 | DiagnosticPredicate DP(Operand.isImm()); |
1277 | 0 | if (DP.isMatch()) |
1278 | 0 | return MCTargetAsmParser::Match_Success; |
1279 | 0 | break; |
1280 | 0 | } |
1281 | | // 'SImm26OperandB' class |
1282 | 0 | case MCK_SImm26OperandB: { |
1283 | 0 | DiagnosticPredicate DP(Operand.isSImm26Operand()); |
1284 | 0 | if (DP.isMatch()) |
1285 | 0 | return MCTargetAsmParser::Match_Success; |
1286 | 0 | if (DP.isNearMatch()) |
1287 | 0 | return LoongArchAsmParser::Match_InvalidSImm26Operand; |
1288 | 0 | break; |
1289 | 0 | } |
1290 | | // 'SImm26OperandBL' class |
1291 | 0 | case MCK_SImm26OperandBL: { |
1292 | 0 | DiagnosticPredicate DP(Operand.isSImm26Operand()); |
1293 | 0 | if (DP.isMatch()) |
1294 | 0 | return MCTargetAsmParser::Match_Success; |
1295 | 0 | if (DP.isNearMatch()) |
1296 | 0 | return LoongArchAsmParser::Match_InvalidSImm26Operand; |
1297 | 0 | break; |
1298 | 0 | } |
1299 | | // 'Imm32' class |
1300 | 0 | case MCK_Imm32: { |
1301 | 0 | DiagnosticPredicate DP(Operand.isImm32()); |
1302 | 0 | if (DP.isMatch()) |
1303 | 0 | return MCTargetAsmParser::Match_Success; |
1304 | 0 | if (DP.isNearMatch()) |
1305 | 0 | return LoongArchAsmParser::Match_InvalidImm32; |
1306 | 0 | break; |
1307 | 0 | } |
1308 | | // 'UImm1' class |
1309 | 0 | case MCK_UImm1: { |
1310 | 0 | DiagnosticPredicate DP(Operand.isUImm1()); |
1311 | 0 | if (DP.isMatch()) |
1312 | 0 | return MCTargetAsmParser::Match_Success; |
1313 | 0 | if (DP.isNearMatch()) |
1314 | 0 | return LoongArchAsmParser::Match_InvalidUImm1; |
1315 | 0 | break; |
1316 | 0 | } |
1317 | | // 'UImm2' class |
1318 | 0 | case MCK_UImm2: { |
1319 | 0 | DiagnosticPredicate DP(Operand.isUImm2()); |
1320 | 0 | if (DP.isMatch()) |
1321 | 0 | return MCTargetAsmParser::Match_Success; |
1322 | 0 | if (DP.isNearMatch()) |
1323 | 0 | return LoongArchAsmParser::Match_InvalidUImm2; |
1324 | 0 | break; |
1325 | 0 | } |
1326 | | // 'UImm2plus1' class |
1327 | 0 | case MCK_UImm2plus1: { |
1328 | 0 | DiagnosticPredicate DP(Operand.isUImm2plus1()); |
1329 | 0 | if (DP.isMatch()) |
1330 | 0 | return MCTargetAsmParser::Match_Success; |
1331 | 0 | if (DP.isNearMatch()) |
1332 | 0 | return LoongArchAsmParser::Match_InvalidUImm2plus1; |
1333 | 0 | break; |
1334 | 0 | } |
1335 | | // 'UImm3' class |
1336 | 0 | case MCK_UImm3: { |
1337 | 0 | DiagnosticPredicate DP(Operand.isUImm3()); |
1338 | 0 | if (DP.isMatch()) |
1339 | 0 | return MCTargetAsmParser::Match_Success; |
1340 | 0 | if (DP.isNearMatch()) |
1341 | 0 | return LoongArchAsmParser::Match_InvalidUImm3; |
1342 | 0 | break; |
1343 | 0 | } |
1344 | | // 'UImm4' class |
1345 | 0 | case MCK_UImm4: { |
1346 | 0 | DiagnosticPredicate DP(Operand.isUImm4()); |
1347 | 0 | if (DP.isMatch()) |
1348 | 0 | return MCTargetAsmParser::Match_Success; |
1349 | 0 | if (DP.isNearMatch()) |
1350 | 0 | return LoongArchAsmParser::Match_InvalidUImm4; |
1351 | 0 | break; |
1352 | 0 | } |
1353 | | // 'UImm5' class |
1354 | 0 | case MCK_UImm5: { |
1355 | 0 | DiagnosticPredicate DP(Operand.isUImm5()); |
1356 | 0 | if (DP.isMatch()) |
1357 | 0 | return MCTargetAsmParser::Match_Success; |
1358 | 0 | if (DP.isNearMatch()) |
1359 | 0 | return LoongArchAsmParser::Match_InvalidUImm5; |
1360 | 0 | break; |
1361 | 0 | } |
1362 | | // 'UImm6' class |
1363 | 0 | case MCK_UImm6: { |
1364 | 0 | DiagnosticPredicate DP(Operand.isUImm6()); |
1365 | 0 | if (DP.isMatch()) |
1366 | 0 | return MCTargetAsmParser::Match_Success; |
1367 | 0 | if (DP.isNearMatch()) |
1368 | 0 | return LoongArchAsmParser::Match_InvalidUImm6; |
1369 | 0 | break; |
1370 | 0 | } |
1371 | | // 'UImm7' class |
1372 | 0 | case MCK_UImm7: { |
1373 | 0 | DiagnosticPredicate DP(Operand.isUImm7()); |
1374 | 0 | if (DP.isMatch()) |
1375 | 0 | return MCTargetAsmParser::Match_Success; |
1376 | 0 | if (DP.isNearMatch()) |
1377 | 0 | return LoongArchAsmParser::Match_InvalidUImm7; |
1378 | 0 | break; |
1379 | 0 | } |
1380 | | // 'UImm8' class |
1381 | 0 | case MCK_UImm8: { |
1382 | 0 | DiagnosticPredicate DP(Operand.isUImm8()); |
1383 | 0 | if (DP.isMatch()) |
1384 | 0 | return MCTargetAsmParser::Match_Success; |
1385 | 0 | if (DP.isNearMatch()) |
1386 | 0 | return LoongArchAsmParser::Match_InvalidUImm8; |
1387 | 0 | break; |
1388 | 0 | } |
1389 | | // 'UImm12' class |
1390 | 0 | case MCK_UImm12: { |
1391 | 0 | DiagnosticPredicate DP(Operand.isUImm12()); |
1392 | 0 | if (DP.isMatch()) |
1393 | 0 | return MCTargetAsmParser::Match_Success; |
1394 | 0 | if (DP.isNearMatch()) |
1395 | 0 | return LoongArchAsmParser::Match_InvalidUImm12; |
1396 | 0 | break; |
1397 | 0 | } |
1398 | | // 'UImm12ori' class |
1399 | 0 | case MCK_UImm12ori: { |
1400 | 0 | DiagnosticPredicate DP(Operand.isUImm12ori()); |
1401 | 0 | if (DP.isMatch()) |
1402 | 0 | return MCTargetAsmParser::Match_Success; |
1403 | 0 | if (DP.isNearMatch()) |
1404 | 0 | return LoongArchAsmParser::Match_InvalidUImm12ori; |
1405 | 0 | break; |
1406 | 0 | } |
1407 | | // 'UImm14' class |
1408 | 0 | case MCK_UImm14: { |
1409 | 0 | DiagnosticPredicate DP(Operand.isUImm14()); |
1410 | 0 | if (DP.isMatch()) |
1411 | 0 | return MCTargetAsmParser::Match_Success; |
1412 | 0 | if (DP.isNearMatch()) |
1413 | 0 | return LoongArchAsmParser::Match_InvalidUImm14; |
1414 | 0 | break; |
1415 | 0 | } |
1416 | | // 'UImm15' class |
1417 | 0 | case MCK_UImm15: { |
1418 | 0 | DiagnosticPredicate DP(Operand.isUImm15()); |
1419 | 0 | if (DP.isMatch()) |
1420 | 0 | return MCTargetAsmParser::Match_Success; |
1421 | 0 | if (DP.isNearMatch()) |
1422 | 0 | return LoongArchAsmParser::Match_InvalidUImm15; |
1423 | 0 | break; |
1424 | 0 | } |
1425 | | // 'SImm5' class |
1426 | 0 | case MCK_SImm5: { |
1427 | 0 | DiagnosticPredicate DP(Operand.isSImm5()); |
1428 | 0 | if (DP.isMatch()) |
1429 | 0 | return MCTargetAsmParser::Match_Success; |
1430 | 0 | if (DP.isNearMatch()) |
1431 | 0 | return LoongArchAsmParser::Match_InvalidSImm5; |
1432 | 0 | break; |
1433 | 0 | } |
1434 | | // 'SImm8' class |
1435 | 0 | case MCK_SImm8: { |
1436 | 0 | DiagnosticPredicate DP(Operand.isSImm8()); |
1437 | 0 | if (DP.isMatch()) |
1438 | 0 | return MCTargetAsmParser::Match_Success; |
1439 | 0 | if (DP.isNearMatch()) |
1440 | 0 | return LoongArchAsmParser::Match_InvalidSImm8; |
1441 | 0 | break; |
1442 | 0 | } |
1443 | | // 'SImm8lsl1' class |
1444 | 0 | case MCK_SImm8lsl1: { |
1445 | 0 | DiagnosticPredicate DP(Operand.isSImm8lsl1()); |
1446 | 0 | if (DP.isMatch()) |
1447 | 0 | return MCTargetAsmParser::Match_Success; |
1448 | 0 | if (DP.isNearMatch()) |
1449 | 0 | return LoongArchAsmParser::Match_InvalidSImm8lsl1; |
1450 | 0 | break; |
1451 | 0 | } |
1452 | | // 'SImm8lsl2' class |
1453 | 0 | case MCK_SImm8lsl2: { |
1454 | 0 | DiagnosticPredicate DP(Operand.isSImm8lsl2()); |
1455 | 0 | if (DP.isMatch()) |
1456 | 0 | return MCTargetAsmParser::Match_Success; |
1457 | 0 | if (DP.isNearMatch()) |
1458 | 0 | return LoongArchAsmParser::Match_InvalidSImm8lsl2; |
1459 | 0 | break; |
1460 | 0 | } |
1461 | | // 'SImm8lsl3' class |
1462 | 0 | case MCK_SImm8lsl3: { |
1463 | 0 | DiagnosticPredicate DP(Operand.isSImm8lsl3()); |
1464 | 0 | if (DP.isMatch()) |
1465 | 0 | return MCTargetAsmParser::Match_Success; |
1466 | 0 | if (DP.isNearMatch()) |
1467 | 0 | return LoongArchAsmParser::Match_InvalidSImm8lsl3; |
1468 | 0 | break; |
1469 | 0 | } |
1470 | | // 'SImm9lsl3' class |
1471 | 0 | case MCK_SImm9lsl3: { |
1472 | 0 | DiagnosticPredicate DP(Operand.isSImm9lsl3()); |
1473 | 0 | if (DP.isMatch()) |
1474 | 0 | return MCTargetAsmParser::Match_Success; |
1475 | 0 | if (DP.isNearMatch()) |
1476 | 0 | return LoongArchAsmParser::Match_InvalidSImm9lsl3; |
1477 | 0 | break; |
1478 | 0 | } |
1479 | | // 'SImm10' class |
1480 | 0 | case MCK_SImm10: { |
1481 | 0 | DiagnosticPredicate DP(Operand.isSImm10()); |
1482 | 0 | if (DP.isMatch()) |
1483 | 0 | return MCTargetAsmParser::Match_Success; |
1484 | 0 | if (DP.isNearMatch()) |
1485 | 0 | return LoongArchAsmParser::Match_InvalidSImm10; |
1486 | 0 | break; |
1487 | 0 | } |
1488 | | // 'SImm10lsl2' class |
1489 | 0 | case MCK_SImm10lsl2: { |
1490 | 0 | DiagnosticPredicate DP(Operand.isSImm10lsl2()); |
1491 | 0 | if (DP.isMatch()) |
1492 | 0 | return MCTargetAsmParser::Match_Success; |
1493 | 0 | if (DP.isNearMatch()) |
1494 | 0 | return LoongArchAsmParser::Match_InvalidSImm10lsl2; |
1495 | 0 | break; |
1496 | 0 | } |
1497 | | // 'SImm11lsl1' class |
1498 | 0 | case MCK_SImm11lsl1: { |
1499 | 0 | DiagnosticPredicate DP(Operand.isSImm11lsl1()); |
1500 | 0 | if (DP.isMatch()) |
1501 | 0 | return MCTargetAsmParser::Match_Success; |
1502 | 0 | if (DP.isNearMatch()) |
1503 | 0 | return LoongArchAsmParser::Match_InvalidSImm11lsl1; |
1504 | 0 | break; |
1505 | 0 | } |
1506 | | // 'SImm12' class |
1507 | 0 | case MCK_SImm12: { |
1508 | 0 | DiagnosticPredicate DP(Operand.isSImm12()); |
1509 | 0 | if (DP.isMatch()) |
1510 | 0 | return MCTargetAsmParser::Match_Success; |
1511 | 0 | if (DP.isNearMatch()) |
1512 | 0 | return LoongArchAsmParser::Match_InvalidSImm12; |
1513 | 0 | break; |
1514 | 0 | } |
1515 | | // 'SImm12addlike' class |
1516 | 0 | case MCK_SImm12addlike: { |
1517 | 0 | DiagnosticPredicate DP(Operand.isSImm12addlike()); |
1518 | 0 | if (DP.isMatch()) |
1519 | 0 | return MCTargetAsmParser::Match_Success; |
1520 | 0 | if (DP.isNearMatch()) |
1521 | 0 | return LoongArchAsmParser::Match_InvalidSImm12addlike; |
1522 | 0 | break; |
1523 | 0 | } |
1524 | | // 'SImm12lu52id' class |
1525 | 0 | case MCK_SImm12lu52id: { |
1526 | 0 | DiagnosticPredicate DP(Operand.isSImm12lu52id()); |
1527 | 0 | if (DP.isMatch()) |
1528 | 0 | return MCTargetAsmParser::Match_Success; |
1529 | 0 | if (DP.isNearMatch()) |
1530 | 0 | return LoongArchAsmParser::Match_InvalidSImm12lu52id; |
1531 | 0 | break; |
1532 | 0 | } |
1533 | | // 'SImm13' class |
1534 | 0 | case MCK_SImm13: { |
1535 | 0 | DiagnosticPredicate DP(Operand.isSImm13()); |
1536 | 0 | if (DP.isMatch()) |
1537 | 0 | return MCTargetAsmParser::Match_Success; |
1538 | 0 | if (DP.isNearMatch()) |
1539 | 0 | return LoongArchAsmParser::Match_InvalidSImm13; |
1540 | 0 | break; |
1541 | 0 | } |
1542 | | // 'SImm14lsl2' class |
1543 | 0 | case MCK_SImm14lsl2: { |
1544 | 0 | DiagnosticPredicate DP(Operand.isSImm14lsl2()); |
1545 | 0 | if (DP.isMatch()) |
1546 | 0 | return MCTargetAsmParser::Match_Success; |
1547 | 0 | if (DP.isNearMatch()) |
1548 | 0 | return LoongArchAsmParser::Match_InvalidSImm14lsl2; |
1549 | 0 | break; |
1550 | 0 | } |
1551 | | // 'SImm16' class |
1552 | 0 | case MCK_SImm16: { |
1553 | 0 | DiagnosticPredicate DP(Operand.isSImm16()); |
1554 | 0 | if (DP.isMatch()) |
1555 | 0 | return MCTargetAsmParser::Match_Success; |
1556 | 0 | if (DP.isNearMatch()) |
1557 | 0 | return LoongArchAsmParser::Match_InvalidSImm16; |
1558 | 0 | break; |
1559 | 0 | } |
1560 | | // 'SImm16lsl2' class |
1561 | 0 | case MCK_SImm16lsl2: { |
1562 | 0 | DiagnosticPredicate DP(Operand.isSImm16lsl2()); |
1563 | 0 | if (DP.isMatch()) |
1564 | 0 | return MCTargetAsmParser::Match_Success; |
1565 | 0 | if (DP.isNearMatch()) |
1566 | 0 | return LoongArchAsmParser::Match_InvalidSImm16lsl2; |
1567 | 0 | break; |
1568 | 0 | } |
1569 | | // 'SImm20' class |
1570 | 0 | case MCK_SImm20: { |
1571 | 0 | DiagnosticPredicate DP(Operand.isSImm20()); |
1572 | 0 | if (DP.isMatch()) |
1573 | 0 | return MCTargetAsmParser::Match_Success; |
1574 | 0 | if (DP.isNearMatch()) |
1575 | 0 | return LoongArchAsmParser::Match_InvalidSImm20; |
1576 | 0 | break; |
1577 | 0 | } |
1578 | | // 'SImm20pcalau12i' class |
1579 | 0 | case MCK_SImm20pcalau12i: { |
1580 | 0 | DiagnosticPredicate DP(Operand.isSImm20pcalau12i()); |
1581 | 0 | if (DP.isMatch()) |
1582 | 0 | return MCTargetAsmParser::Match_Success; |
1583 | 0 | if (DP.isNearMatch()) |
1584 | 0 | return LoongArchAsmParser::Match_InvalidSImm20pcalau12i; |
1585 | 0 | break; |
1586 | 0 | } |
1587 | | // 'SImm20lu12iw' class |
1588 | 0 | case MCK_SImm20lu12iw: { |
1589 | 0 | DiagnosticPredicate DP(Operand.isSImm20lu12iw()); |
1590 | 0 | if (DP.isMatch()) |
1591 | 0 | return MCTargetAsmParser::Match_Success; |
1592 | 0 | if (DP.isNearMatch()) |
1593 | 0 | return LoongArchAsmParser::Match_InvalidSImm20lu12iw; |
1594 | 0 | break; |
1595 | 0 | } |
1596 | | // 'SImm20lu32id' class |
1597 | 0 | case MCK_SImm20lu32id: { |
1598 | 0 | DiagnosticPredicate DP(Operand.isSImm20lu32id()); |
1599 | 0 | if (DP.isMatch()) |
1600 | 0 | return MCTargetAsmParser::Match_Success; |
1601 | 0 | if (DP.isNearMatch()) |
1602 | 0 | return LoongArchAsmParser::Match_InvalidSImm20lu32id; |
1603 | 0 | break; |
1604 | 0 | } |
1605 | | // 'SImm20pcaddu18i' class |
1606 | 0 | case MCK_SImm20pcaddu18i: { |
1607 | 0 | DiagnosticPredicate DP(Operand.isSImm20pcaddu18i()); |
1608 | 0 | if (DP.isMatch()) |
1609 | 0 | return MCTargetAsmParser::Match_Success; |
1610 | 0 | if (DP.isNearMatch()) |
1611 | 0 | return LoongArchAsmParser::Match_InvalidSImm20pcaddu18i; |
1612 | 0 | break; |
1613 | 0 | } |
1614 | | // 'SImm21lsl2' class |
1615 | 0 | case MCK_SImm21lsl2: { |
1616 | 0 | DiagnosticPredicate DP(Operand.isSImm21lsl2()); |
1617 | 0 | if (DP.isMatch()) |
1618 | 0 | return MCTargetAsmParser::Match_Success; |
1619 | 0 | if (DP.isNearMatch()) |
1620 | 0 | return LoongArchAsmParser::Match_InvalidSImm21lsl2; |
1621 | 0 | break; |
1622 | 0 | } |
1623 | 0 | } // end switch (Kind) |
1624 | | |
1625 | 0 | if (Operand.isReg()) { |
1626 | 0 | MatchClassKind OpKind; |
1627 | 0 | switch (Operand.getReg()) { |
1628 | 0 | default: OpKind = InvalidMatchClass; break; |
1629 | 0 | case LoongArch::R0: OpKind = MCK_GPR; break; |
1630 | 0 | case LoongArch::R1: OpKind = MCK_GPR; break; |
1631 | 0 | case LoongArch::R2: OpKind = MCK_GPR; break; |
1632 | 0 | case LoongArch::R3: OpKind = MCK_GPR; break; |
1633 | 0 | case LoongArch::R4: OpKind = MCK_GPRT; break; |
1634 | 0 | case LoongArch::R5: OpKind = MCK_GPRT; break; |
1635 | 0 | case LoongArch::R6: OpKind = MCK_GPRT; break; |
1636 | 0 | case LoongArch::R7: OpKind = MCK_GPRT; break; |
1637 | 0 | case LoongArch::R8: OpKind = MCK_GPRT; break; |
1638 | 0 | case LoongArch::R9: OpKind = MCK_GPRT; break; |
1639 | 0 | case LoongArch::R10: OpKind = MCK_GPRT; break; |
1640 | 0 | case LoongArch::R11: OpKind = MCK_GPRT; break; |
1641 | 0 | case LoongArch::R12: OpKind = MCK_GPRT; break; |
1642 | 0 | case LoongArch::R13: OpKind = MCK_GPRT; break; |
1643 | 0 | case LoongArch::R14: OpKind = MCK_GPRT; break; |
1644 | 0 | case LoongArch::R15: OpKind = MCK_GPRT; break; |
1645 | 0 | case LoongArch::R16: OpKind = MCK_GPRT; break; |
1646 | 0 | case LoongArch::R17: OpKind = MCK_GPRT; break; |
1647 | 0 | case LoongArch::R18: OpKind = MCK_GPRT; break; |
1648 | 0 | case LoongArch::R19: OpKind = MCK_GPRT; break; |
1649 | 0 | case LoongArch::R20: OpKind = MCK_GPRT; break; |
1650 | 0 | case LoongArch::R21: OpKind = MCK_GPR; break; |
1651 | 0 | case LoongArch::R22: OpKind = MCK_GPR; break; |
1652 | 0 | case LoongArch::R23: OpKind = MCK_GPR; break; |
1653 | 0 | case LoongArch::R24: OpKind = MCK_GPR; break; |
1654 | 0 | case LoongArch::R25: OpKind = MCK_GPR; break; |
1655 | 0 | case LoongArch::R26: OpKind = MCK_GPR; break; |
1656 | 0 | case LoongArch::R27: OpKind = MCK_GPR; break; |
1657 | 0 | case LoongArch::R28: OpKind = MCK_GPR; break; |
1658 | 0 | case LoongArch::R29: OpKind = MCK_GPR; break; |
1659 | 0 | case LoongArch::R30: OpKind = MCK_GPR; break; |
1660 | 0 | case LoongArch::R31: OpKind = MCK_GPR; break; |
1661 | 0 | case LoongArch::F0: OpKind = MCK_FPR32; break; |
1662 | 0 | case LoongArch::F1: OpKind = MCK_FPR32; break; |
1663 | 0 | case LoongArch::F2: OpKind = MCK_FPR32; break; |
1664 | 0 | case LoongArch::F3: OpKind = MCK_FPR32; break; |
1665 | 0 | case LoongArch::F4: OpKind = MCK_FPR32; break; |
1666 | 0 | case LoongArch::F5: OpKind = MCK_FPR32; break; |
1667 | 0 | case LoongArch::F6: OpKind = MCK_FPR32; break; |
1668 | 0 | case LoongArch::F7: OpKind = MCK_FPR32; break; |
1669 | 0 | case LoongArch::F8: OpKind = MCK_FPR32; break; |
1670 | 0 | case LoongArch::F9: OpKind = MCK_FPR32; break; |
1671 | 0 | case LoongArch::F10: OpKind = MCK_FPR32; break; |
1672 | 0 | case LoongArch::F11: OpKind = MCK_FPR32; break; |
1673 | 0 | case LoongArch::F12: OpKind = MCK_FPR32; break; |
1674 | 0 | case LoongArch::F13: OpKind = MCK_FPR32; break; |
1675 | 0 | case LoongArch::F14: OpKind = MCK_FPR32; break; |
1676 | 0 | case LoongArch::F15: OpKind = MCK_FPR32; break; |
1677 | 0 | case LoongArch::F16: OpKind = MCK_FPR32; break; |
1678 | 0 | case LoongArch::F17: OpKind = MCK_FPR32; break; |
1679 | 0 | case LoongArch::F18: OpKind = MCK_FPR32; break; |
1680 | 0 | case LoongArch::F19: OpKind = MCK_FPR32; break; |
1681 | 0 | case LoongArch::F20: OpKind = MCK_FPR32; break; |
1682 | 0 | case LoongArch::F21: OpKind = MCK_FPR32; break; |
1683 | 0 | case LoongArch::F22: OpKind = MCK_FPR32; break; |
1684 | 0 | case LoongArch::F23: OpKind = MCK_FPR32; break; |
1685 | 0 | case LoongArch::F24: OpKind = MCK_FPR32; break; |
1686 | 0 | case LoongArch::F25: OpKind = MCK_FPR32; break; |
1687 | 0 | case LoongArch::F26: OpKind = MCK_FPR32; break; |
1688 | 0 | case LoongArch::F27: OpKind = MCK_FPR32; break; |
1689 | 0 | case LoongArch::F28: OpKind = MCK_FPR32; break; |
1690 | 0 | case LoongArch::F29: OpKind = MCK_FPR32; break; |
1691 | 0 | case LoongArch::F30: OpKind = MCK_FPR32; break; |
1692 | 0 | case LoongArch::F31: OpKind = MCK_FPR32; break; |
1693 | 0 | case LoongArch::F0_64: OpKind = MCK_FPR64; break; |
1694 | 0 | case LoongArch::F1_64: OpKind = MCK_FPR64; break; |
1695 | 0 | case LoongArch::F2_64: OpKind = MCK_FPR64; break; |
1696 | 0 | case LoongArch::F3_64: OpKind = MCK_FPR64; break; |
1697 | 0 | case LoongArch::F4_64: OpKind = MCK_FPR64; break; |
1698 | 0 | case LoongArch::F5_64: OpKind = MCK_FPR64; break; |
1699 | 0 | case LoongArch::F6_64: OpKind = MCK_FPR64; break; |
1700 | 0 | case LoongArch::F7_64: OpKind = MCK_FPR64; break; |
1701 | 0 | case LoongArch::F8_64: OpKind = MCK_FPR64; break; |
1702 | 0 | case LoongArch::F9_64: OpKind = MCK_FPR64; break; |
1703 | 0 | case LoongArch::F10_64: OpKind = MCK_FPR64; break; |
1704 | 0 | case LoongArch::F11_64: OpKind = MCK_FPR64; break; |
1705 | 0 | case LoongArch::F12_64: OpKind = MCK_FPR64; break; |
1706 | 0 | case LoongArch::F13_64: OpKind = MCK_FPR64; break; |
1707 | 0 | case LoongArch::F14_64: OpKind = MCK_FPR64; break; |
1708 | 0 | case LoongArch::F15_64: OpKind = MCK_FPR64; break; |
1709 | 0 | case LoongArch::F16_64: OpKind = MCK_FPR64; break; |
1710 | 0 | case LoongArch::F17_64: OpKind = MCK_FPR64; break; |
1711 | 0 | case LoongArch::F18_64: OpKind = MCK_FPR64; break; |
1712 | 0 | case LoongArch::F19_64: OpKind = MCK_FPR64; break; |
1713 | 0 | case LoongArch::F20_64: OpKind = MCK_FPR64; break; |
1714 | 0 | case LoongArch::F21_64: OpKind = MCK_FPR64; break; |
1715 | 0 | case LoongArch::F22_64: OpKind = MCK_FPR64; break; |
1716 | 0 | case LoongArch::F23_64: OpKind = MCK_FPR64; break; |
1717 | 0 | case LoongArch::F24_64: OpKind = MCK_FPR64; break; |
1718 | 0 | case LoongArch::F25_64: OpKind = MCK_FPR64; break; |
1719 | 0 | case LoongArch::F26_64: OpKind = MCK_FPR64; break; |
1720 | 0 | case LoongArch::F27_64: OpKind = MCK_FPR64; break; |
1721 | 0 | case LoongArch::F28_64: OpKind = MCK_FPR64; break; |
1722 | 0 | case LoongArch::F29_64: OpKind = MCK_FPR64; break; |
1723 | 0 | case LoongArch::F30_64: OpKind = MCK_FPR64; break; |
1724 | 0 | case LoongArch::F31_64: OpKind = MCK_FPR64; break; |
1725 | 0 | case LoongArch::FCC0: OpKind = MCK_CFR; break; |
1726 | 0 | case LoongArch::FCC1: OpKind = MCK_CFR; break; |
1727 | 0 | case LoongArch::FCC2: OpKind = MCK_CFR; break; |
1728 | 0 | case LoongArch::FCC3: OpKind = MCK_CFR; break; |
1729 | 0 | case LoongArch::FCC4: OpKind = MCK_CFR; break; |
1730 | 0 | case LoongArch::FCC5: OpKind = MCK_CFR; break; |
1731 | 0 | case LoongArch::FCC6: OpKind = MCK_CFR; break; |
1732 | 0 | case LoongArch::FCC7: OpKind = MCK_CFR; break; |
1733 | 0 | case LoongArch::FCSR0: OpKind = MCK_FCSR; break; |
1734 | 0 | case LoongArch::FCSR1: OpKind = MCK_FCSR; break; |
1735 | 0 | case LoongArch::FCSR2: OpKind = MCK_FCSR; break; |
1736 | 0 | case LoongArch::FCSR3: OpKind = MCK_FCSR; break; |
1737 | 0 | case LoongArch::VR0: OpKind = MCK_LSX128; break; |
1738 | 0 | case LoongArch::VR1: OpKind = MCK_LSX128; break; |
1739 | 0 | case LoongArch::VR2: OpKind = MCK_LSX128; break; |
1740 | 0 | case LoongArch::VR3: OpKind = MCK_LSX128; break; |
1741 | 0 | case LoongArch::VR4: OpKind = MCK_LSX128; break; |
1742 | 0 | case LoongArch::VR5: OpKind = MCK_LSX128; break; |
1743 | 0 | case LoongArch::VR6: OpKind = MCK_LSX128; break; |
1744 | 0 | case LoongArch::VR7: OpKind = MCK_LSX128; break; |
1745 | 0 | case LoongArch::VR8: OpKind = MCK_LSX128; break; |
1746 | 0 | case LoongArch::VR9: OpKind = MCK_LSX128; break; |
1747 | 0 | case LoongArch::VR10: OpKind = MCK_LSX128; break; |
1748 | 0 | case LoongArch::VR11: OpKind = MCK_LSX128; break; |
1749 | 0 | case LoongArch::VR12: OpKind = MCK_LSX128; break; |
1750 | 0 | case LoongArch::VR13: OpKind = MCK_LSX128; break; |
1751 | 0 | case LoongArch::VR14: OpKind = MCK_LSX128; break; |
1752 | 0 | case LoongArch::VR15: OpKind = MCK_LSX128; break; |
1753 | 0 | case LoongArch::VR16: OpKind = MCK_LSX128; break; |
1754 | 0 | case LoongArch::VR17: OpKind = MCK_LSX128; break; |
1755 | 0 | case LoongArch::VR18: OpKind = MCK_LSX128; break; |
1756 | 0 | case LoongArch::VR19: OpKind = MCK_LSX128; break; |
1757 | 0 | case LoongArch::VR20: OpKind = MCK_LSX128; break; |
1758 | 0 | case LoongArch::VR21: OpKind = MCK_LSX128; break; |
1759 | 0 | case LoongArch::VR22: OpKind = MCK_LSX128; break; |
1760 | 0 | case LoongArch::VR23: OpKind = MCK_LSX128; break; |
1761 | 0 | case LoongArch::VR24: OpKind = MCK_LSX128; break; |
1762 | 0 | case LoongArch::VR25: OpKind = MCK_LSX128; break; |
1763 | 0 | case LoongArch::VR26: OpKind = MCK_LSX128; break; |
1764 | 0 | case LoongArch::VR27: OpKind = MCK_LSX128; break; |
1765 | 0 | case LoongArch::VR28: OpKind = MCK_LSX128; break; |
1766 | 0 | case LoongArch::VR29: OpKind = MCK_LSX128; break; |
1767 | 0 | case LoongArch::VR30: OpKind = MCK_LSX128; break; |
1768 | 0 | case LoongArch::VR31: OpKind = MCK_LSX128; break; |
1769 | 0 | case LoongArch::XR0: OpKind = MCK_LASX256; break; |
1770 | 0 | case LoongArch::XR1: OpKind = MCK_LASX256; break; |
1771 | 0 | case LoongArch::XR2: OpKind = MCK_LASX256; break; |
1772 | 0 | case LoongArch::XR3: OpKind = MCK_LASX256; break; |
1773 | 0 | case LoongArch::XR4: OpKind = MCK_LASX256; break; |
1774 | 0 | case LoongArch::XR5: OpKind = MCK_LASX256; break; |
1775 | 0 | case LoongArch::XR6: OpKind = MCK_LASX256; break; |
1776 | 0 | case LoongArch::XR7: OpKind = MCK_LASX256; break; |
1777 | 0 | case LoongArch::XR8: OpKind = MCK_LASX256; break; |
1778 | 0 | case LoongArch::XR9: OpKind = MCK_LASX256; break; |
1779 | 0 | case LoongArch::XR10: OpKind = MCK_LASX256; break; |
1780 | 0 | case LoongArch::XR11: OpKind = MCK_LASX256; break; |
1781 | 0 | case LoongArch::XR12: OpKind = MCK_LASX256; break; |
1782 | 0 | case LoongArch::XR13: OpKind = MCK_LASX256; break; |
1783 | 0 | case LoongArch::XR14: OpKind = MCK_LASX256; break; |
1784 | 0 | case LoongArch::XR15: OpKind = MCK_LASX256; break; |
1785 | 0 | case LoongArch::XR16: OpKind = MCK_LASX256; break; |
1786 | 0 | case LoongArch::XR17: OpKind = MCK_LASX256; break; |
1787 | 0 | case LoongArch::XR18: OpKind = MCK_LASX256; break; |
1788 | 0 | case LoongArch::XR19: OpKind = MCK_LASX256; break; |
1789 | 0 | case LoongArch::XR20: OpKind = MCK_LASX256; break; |
1790 | 0 | case LoongArch::XR21: OpKind = MCK_LASX256; break; |
1791 | 0 | case LoongArch::XR22: OpKind = MCK_LASX256; break; |
1792 | 0 | case LoongArch::XR23: OpKind = MCK_LASX256; break; |
1793 | 0 | case LoongArch::XR24: OpKind = MCK_LASX256; break; |
1794 | 0 | case LoongArch::XR25: OpKind = MCK_LASX256; break; |
1795 | 0 | case LoongArch::XR26: OpKind = MCK_LASX256; break; |
1796 | 0 | case LoongArch::XR27: OpKind = MCK_LASX256; break; |
1797 | 0 | case LoongArch::XR28: OpKind = MCK_LASX256; break; |
1798 | 0 | case LoongArch::XR29: OpKind = MCK_LASX256; break; |
1799 | 0 | case LoongArch::XR30: OpKind = MCK_LASX256; break; |
1800 | 0 | case LoongArch::XR31: OpKind = MCK_LASX256; break; |
1801 | 0 | case LoongArch::SCR0: OpKind = MCK_SCR; break; |
1802 | 0 | case LoongArch::SCR1: OpKind = MCK_SCR; break; |
1803 | 0 | case LoongArch::SCR2: OpKind = MCK_SCR; break; |
1804 | 0 | case LoongArch::SCR3: OpKind = MCK_SCR; break; |
1805 | 0 | } |
1806 | 0 | return isSubclass(OpKind, Kind) ? (unsigned)MCTargetAsmParser::Match_Success : |
1807 | 0 | getDiagKindFromRegisterClass(Kind); |
1808 | 0 | } |
1809 | | |
1810 | 0 | if (Kind > MCK_LAST_TOKEN && Kind <= MCK_LAST_REGISTER) |
1811 | 0 | return getDiagKindFromRegisterClass(Kind); |
1812 | | |
1813 | 0 | return MCTargetAsmParser::Match_InvalidOperand; |
1814 | 0 | } |
1815 | | |
1816 | | #ifndef NDEBUG |
1817 | 0 | const char *getMatchClassName(MatchClassKind Kind) { |
1818 | 0 | switch (Kind) { |
1819 | 0 | case InvalidMatchClass: return "InvalidMatchClass"; |
1820 | 0 | case OptionalMatchClass: return "OptionalMatchClass"; |
1821 | 0 | case MCK_FCSR: return "MCK_FCSR"; |
1822 | 0 | case MCK_SCR: return "MCK_SCR"; |
1823 | 0 | case MCK_CFR: return "MCK_CFR"; |
1824 | 0 | case MCK_GPRT: return "MCK_GPRT"; |
1825 | 0 | case MCK_FPR32: return "MCK_FPR32"; |
1826 | 0 | case MCK_FPR64: return "MCK_FPR64"; |
1827 | 0 | case MCK_GPR: return "MCK_GPR"; |
1828 | 0 | case MCK_LASX256: return "MCK_LASX256"; |
1829 | 0 | case MCK_LSX128: return "MCK_LSX128"; |
1830 | 0 | case MCK_AtomicMemAsmOperand: return "MCK_AtomicMemAsmOperand"; |
1831 | 0 | case MCK_BareSymbol: return "MCK_BareSymbol"; |
1832 | 0 | case MCK_Imm: return "MCK_Imm"; |
1833 | 0 | case MCK_SImm26OperandB: return "MCK_SImm26OperandB"; |
1834 | 0 | case MCK_SImm26OperandBL: return "MCK_SImm26OperandBL"; |
1835 | 0 | case MCK_Imm32: return "MCK_Imm32"; |
1836 | 0 | case MCK_UImm1: return "MCK_UImm1"; |
1837 | 0 | case MCK_UImm2: return "MCK_UImm2"; |
1838 | 0 | case MCK_UImm2plus1: return "MCK_UImm2plus1"; |
1839 | 0 | case MCK_UImm3: return "MCK_UImm3"; |
1840 | 0 | case MCK_UImm4: return "MCK_UImm4"; |
1841 | 0 | case MCK_UImm5: return "MCK_UImm5"; |
1842 | 0 | case MCK_UImm6: return "MCK_UImm6"; |
1843 | 0 | case MCK_UImm7: return "MCK_UImm7"; |
1844 | 0 | case MCK_UImm8: return "MCK_UImm8"; |
1845 | 0 | case MCK_UImm12: return "MCK_UImm12"; |
1846 | 0 | case MCK_UImm12ori: return "MCK_UImm12ori"; |
1847 | 0 | case MCK_UImm14: return "MCK_UImm14"; |
1848 | 0 | case MCK_UImm15: return "MCK_UImm15"; |
1849 | 0 | case MCK_SImm5: return "MCK_SImm5"; |
1850 | 0 | case MCK_SImm8: return "MCK_SImm8"; |
1851 | 0 | case MCK_SImm8lsl1: return "MCK_SImm8lsl1"; |
1852 | 0 | case MCK_SImm8lsl2: return "MCK_SImm8lsl2"; |
1853 | 0 | case MCK_SImm8lsl3: return "MCK_SImm8lsl3"; |
1854 | 0 | case MCK_SImm9lsl3: return "MCK_SImm9lsl3"; |
1855 | 0 | case MCK_SImm10: return "MCK_SImm10"; |
1856 | 0 | case MCK_SImm10lsl2: return "MCK_SImm10lsl2"; |
1857 | 0 | case MCK_SImm11lsl1: return "MCK_SImm11lsl1"; |
1858 | 0 | case MCK_SImm12: return "MCK_SImm12"; |
1859 | 0 | case MCK_SImm12addlike: return "MCK_SImm12addlike"; |
1860 | 0 | case MCK_SImm12lu52id: return "MCK_SImm12lu52id"; |
1861 | 0 | case MCK_SImm13: return "MCK_SImm13"; |
1862 | 0 | case MCK_SImm14lsl2: return "MCK_SImm14lsl2"; |
1863 | 0 | case MCK_SImm16: return "MCK_SImm16"; |
1864 | 0 | case MCK_SImm16lsl2: return "MCK_SImm16lsl2"; |
1865 | 0 | case MCK_SImm20: return "MCK_SImm20"; |
1866 | 0 | case MCK_SImm20pcalau12i: return "MCK_SImm20pcalau12i"; |
1867 | 0 | case MCK_SImm20lu12iw: return "MCK_SImm20lu12iw"; |
1868 | 0 | case MCK_SImm20lu32id: return "MCK_SImm20lu32id"; |
1869 | 0 | case MCK_SImm20pcaddu18i: return "MCK_SImm20pcaddu18i"; |
1870 | 0 | case MCK_SImm21lsl2: return "MCK_SImm21lsl2"; |
1871 | 0 | case NumMatchClassKinds: return "NumMatchClassKinds"; |
1872 | 0 | } |
1873 | 0 | llvm_unreachable("unhandled MatchClassKind!"); |
1874 | 0 | } |
1875 | | |
1876 | | #endif // NDEBUG |
1877 | | FeatureBitset LoongArchAsmParser:: |
1878 | 0 | ComputeAvailableFeatures(const FeatureBitset &FB) const { |
1879 | 0 | FeatureBitset Features; |
1880 | 0 | if (FB[LoongArch::Feature64Bit]) |
1881 | 0 | Features.set(Feature_IsLA64Bit); |
1882 | 0 | if (!FB[LoongArch::Feature64Bit]) |
1883 | 0 | Features.set(Feature_IsLA32Bit); |
1884 | 0 | if (FB[LoongArch::LaGlobalWithPcrel]) |
1885 | 0 | Features.set(Feature_HasLaGlobalWithPcrelBit); |
1886 | 0 | if (FB[LoongArch::LaGlobalWithAbs]) |
1887 | 0 | Features.set(Feature_HasLaGlobalWithAbsBit); |
1888 | 0 | if (FB[LoongArch::LaLocalWithAbs]) |
1889 | 0 | Features.set(Feature_HasLaLocalWithAbsBit); |
1890 | 0 | return Features; |
1891 | 0 | } |
1892 | | |
1893 | | static bool checkAsmTiedOperandConstraints(const LoongArchAsmParser&AsmParser, |
1894 | | unsigned Kind, |
1895 | | const OperandVector &Operands, |
1896 | 0 | uint64_t &ErrorInfo) { |
1897 | 0 | assert(Kind < CVT_NUM_SIGNATURES && "Invalid signature!"); |
1898 | 0 | const uint8_t *Converter = ConversionTable[Kind]; |
1899 | 0 | for (const uint8_t *p = Converter; *p; p += 2) { |
1900 | 0 | switch (*p) { |
1901 | 0 | case CVT_Tied: { |
1902 | 0 | unsigned OpIdx = *(p + 1); |
1903 | 0 | assert(OpIdx < (size_t)(std::end(TiedAsmOperandTable) - |
1904 | 0 | std::begin(TiedAsmOperandTable)) && |
1905 | 0 | "Tied operand not found"); |
1906 | 0 | unsigned OpndNum1 = TiedAsmOperandTable[OpIdx][1]; |
1907 | 0 | unsigned OpndNum2 = TiedAsmOperandTable[OpIdx][2]; |
1908 | 0 | if (OpndNum1 != OpndNum2) { |
1909 | 0 | auto &SrcOp1 = Operands[OpndNum1]; |
1910 | 0 | auto &SrcOp2 = Operands[OpndNum2]; |
1911 | 0 | if (!AsmParser.areEqualRegs(*SrcOp1, *SrcOp2)) { |
1912 | 0 | ErrorInfo = OpndNum2; |
1913 | 0 | return false; |
1914 | 0 | } |
1915 | 0 | } |
1916 | 0 | break; |
1917 | 0 | } |
1918 | 0 | default: |
1919 | 0 | break; |
1920 | 0 | } |
1921 | 0 | } |
1922 | 0 | return true; |
1923 | 0 | } |
1924 | | |
1925 | | static const char MnemonicTable[] = |
1926 | | "\005adc.b\005adc.d\005adc.h\005adc.w\005add.d\005add.w\006addi.d\006add" |
1927 | | "i.w\taddu12i.d\taddu12i.w\taddu16i.d\006alsl.d\006alsl.w\007alsl.wu\007" |
1928 | | "amadd.b\007amadd.d\007amadd.h\007amadd.w\namadd_db.b\namadd_db.d\namadd" |
1929 | | "_db.h\namadd_db.w\007amand.d\007amand.w\namand_db.d\namand_db.w\007amca" |
1930 | | "s.b\007amcas.d\007amcas.h\007amcas.w\namcas_db.b\namcas_db.d\namcas_db." |
1931 | | "h\namcas_db.w\007ammax.d\010ammax.du\007ammax.w\010ammax.wu\nammax_db.d" |
1932 | | "\013ammax_db.du\nammax_db.w\013ammax_db.wu\007ammin.d\010ammin.du\007am" |
1933 | | "min.w\010ammin.wu\nammin_db.d\013ammin_db.du\nammin_db.w\013ammin_db.wu" |
1934 | | "\006amor.d\006amor.w\tamor_db.d\tamor_db.w\010amswap.b\010amswap.d\010a" |
1935 | | "mswap.h\010amswap.w\013amswap_db.b\013amswap_db.d\013amswap_db.h\013ams" |
1936 | | "wap_db.w\007amxor.d\007amxor.w\namxor_db.d\namxor_db.w\003and\004andi\004" |
1937 | | "andn\010armadc.w\010armadd.w\010armand.w\tarmmfflag\010armmov.d\010armm" |
1938 | | "ov.w\007armmove\tarmmtflag\010armnot.w\007armor.w\tarmrotr.w\narmrotri." |
1939 | | "w\010armrrx.w\010armsbc.w\010armsll.w\tarmslli.w\010armsra.w\tarmsrai.w" |
1940 | | "\010armsrl.w\tarmsrli.w\010armsub.w\010armxor.w\010asrtgt.d\010asrtle.d" |
1941 | | "\001b\005bceqz\005bcnez\003beq\004beqz\003bge\004bgeu\004bgez\003bgt\004" |
1942 | | "bgtu\004bgtz\tbitrev.4b\tbitrev.8b\010bitrev.d\010bitrev.w\002bl\003ble" |
1943 | | "\004bleu\004blez\003blt\004bltu\004bltz\003bne\004bnez\005break\tbstrin" |
1944 | | "s.d\tbstrins.w\nbstrpick.d\nbstrpick.w\nbytepick.d\nbytepick.w\005cacop" |
1945 | | "\006call36\005clo.d\005clo.w\005clz.d\005clz.w\006cpucfg\tcrc.w.b.w\tcr" |
1946 | | "c.w.d.w\tcrc.w.h.w\tcrc.w.w.w\ncrcc.w.b.w\ncrcc.w.d.w\ncrcc.w.h.w\ncrcc" |
1947 | | ".w.w.w\005csrrd\005csrwr\007csrxchg\005cto.d\005cto.w\005ctz.d\005ctz.w" |
1948 | | "\004dbar\004dbcl\005div.d\006div.du\005div.w\006div.wu\004ertn\007ext.w" |
1949 | | ".b\007ext.w.h\006fabs.d\006fabs.s\006fadd.d\006fadd.s\010fclass.d\010fc" |
1950 | | "lass.s\nfcmp.caf.d\nfcmp.caf.s\nfcmp.ceq.d\nfcmp.ceq.s\nfcmp.cle.d\nfcm" |
1951 | | "p.cle.s\nfcmp.clt.d\nfcmp.clt.s\nfcmp.cne.d\nfcmp.cne.s\nfcmp.cor.d\nfc" |
1952 | | "mp.cor.s\013fcmp.cueq.d\013fcmp.cueq.s\013fcmp.cule.d\013fcmp.cule.s\013" |
1953 | | "fcmp.cult.d\013fcmp.cult.s\nfcmp.cun.d\nfcmp.cun.s\013fcmp.cune.d\013fc" |
1954 | | "mp.cune.s\nfcmp.saf.d\nfcmp.saf.s\nfcmp.seq.d\nfcmp.seq.s\nfcmp.sle.d\n" |
1955 | | "fcmp.sle.s\nfcmp.slt.d\nfcmp.slt.s\nfcmp.sne.d\nfcmp.sne.s\nfcmp.sor.d\n" |
1956 | | "fcmp.sor.s\013fcmp.sueq.d\013fcmp.sueq.s\013fcmp.sule.d\013fcmp.sule.s\013" |
1957 | | "fcmp.sult.d\013fcmp.sult.s\nfcmp.sun.d\nfcmp.sun.s\013fcmp.sune.d\013fc" |
1958 | | "mp.sune.s\013fcopysign.d\013fcopysign.s\tfcvt.d.ld\010fcvt.d.s\tfcvt.ld" |
1959 | | ".d\010fcvt.s.d\tfcvt.ud.d\006fdiv.d\006fdiv.s\tffint.d.l\tffint.d.w\tff" |
1960 | | "int.s.l\tffint.s.w\005fld.d\005fld.s\007fldgt.d\007fldgt.s\007fldle.d\007" |
1961 | | "fldle.s\006fldx.d\006fldx.s\007flogb.d\007flogb.s\007fmadd.d\007fmadd.s" |
1962 | | "\006fmax.d\006fmax.s\007fmaxa.d\007fmaxa.s\006fmin.d\006fmin.s\007fmina" |
1963 | | ".d\007fmina.s\006fmov.d\006fmov.s\007fmsub.d\007fmsub.s\006fmul.d\006fm" |
1964 | | "ul.s\006fneg.d\006fneg.s\010fnmadd.d\010fnmadd.s\010fnmsub.d\010fnmsub." |
1965 | | "s\010frecip.d\010frecip.s\tfrecipe.d\tfrecipe.s\007frint.d\007frint.s\010" |
1966 | | "frsqrt.d\010frsqrt.s\tfrsqrte.d\tfrsqrte.s\tfscaleb.d\tfscaleb.s\004fse" |
1967 | | "l\007fsqrt.d\007fsqrt.s\005fst.d\005fst.s\007fstgt.d\007fstgt.s\007fstl" |
1968 | | "e.d\007fstle.s\006fstx.d\006fstx.s\006fsub.d\006fsub.s\tftint.l.d\tftin" |
1969 | | "t.l.s\tftint.w.d\tftint.w.s\013ftintrm.l.d\013ftintrm.l.s\013ftintrm.w." |
1970 | | "d\013ftintrm.w.s\014ftintrne.l.d\014ftintrne.l.s\014ftintrne.w.d\014fti" |
1971 | | "ntrne.w.s\013ftintrp.l.d\013ftintrp.l.s\013ftintrp.w.d\013ftintrp.w.s\013" |
1972 | | "ftintrz.l.d\013ftintrz.l.s\013ftintrz.w.d\013ftintrz.w.s\006gcsrrd\006g" |
1973 | | "csrwr\010gcsrxchg\tgtlbflush\004hvcl\004ibar\004idle\006invtlb\tiocsrrd" |
1974 | | ".b\tiocsrrd.d\tiocsrrd.h\tiocsrrd.w\tiocsrwr.b\tiocsrwr.d\tiocsrwr.h\ti" |
1975 | | "ocsrwr.w\004jirl\006jiscr0\006jiscr1\002jr\002la\006la.abs\tla.global\006" |
1976 | | "la.got\010la.local\010la.pcrel\tla.tls.gd\tla.tls.ie\tla.tls.ld\tla.tls" |
1977 | | ".le\004ld.b\005ld.bu\004ld.d\004ld.h\005ld.hu\004ld.w\005ld.wu\005lddir" |
1978 | | "\006ldgt.b\006ldgt.d\006ldgt.h\006ldgt.w\005ldl.d\005ldl.w\006ldle.b\006" |
1979 | | "ldle.d\006ldle.h\006ldle.w\005ldpte\007ldptr.d\007ldptr.w\005ldr.d\005l" |
1980 | | "dr.w\005ldx.b\006ldx.bu\005ldx.d\005ldx.h\006ldx.hu\005ldx.w\006ldx.wu\004" |
1981 | | "li.d\004li.w\004ll.d\004ll.w\007llacq.d\007llacq.w\007lu12i.w\007lu32i." |
1982 | | "d\007lu52i.d\007maskeqz\007masknez\005mod.d\006mod.du\005mod.w\006mod.w" |
1983 | | "u\010movcf2fr\010movcf2gr\004move\nmovfcsr2gr\010movfr2cf\nmovfr2gr.d\n" |
1984 | | "movfr2gr.s\013movfrh2gr.s\010movgr2cf\nmovgr2fcsr\nmovgr2fr.d\nmovgr2fr" |
1985 | | ".w\013movgr2frh.w\tmovgr2scr\tmovscr2gr\005mul.d\005mul.w\006mulh.d\007" |
1986 | | "mulh.du\006mulh.w\007mulh.wu\010mulw.d.w\tmulw.d.wu\003nop\003nor\002or" |
1987 | | "\003ori\003orn\006pcaddi\tpcaddu12i\tpcaddu18i\tpcalau12i\005preld\006p" |
1988 | | "reldx\005rcr.b\005rcr.d\005rcr.h\005rcr.w\006rcri.b\006rcri.d\006rcri.h" |
1989 | | "\006rcri.w\010rdtime.d\trdtimeh.w\trdtimel.w\003ret\007revb.2h\007revb." |
1990 | | "2w\007revb.4h\006revb.d\007revh.2w\006revh.d\006rotr.b\006rotr.d\006rot" |
1991 | | "r.h\006rotr.w\007rotri.b\007rotri.d\007rotri.h\007rotri.w\005sbc.b\005s" |
1992 | | "bc.d\005sbc.h\005sbc.w\004sc.d\004sc.q\004sc.w\007screl.d\007screl.w\007" |
1993 | | "setarmj\007setx86j\013setx86loope\014setx86loopne\005sll.d\005sll.w\006" |
1994 | | "slli.d\006slli.w\003slt\004slti\004sltu\005sltui\005sra.d\005sra.w\006s" |
1995 | | "rai.d\006srai.w\005srl.d\005srl.w\006srli.d\006srli.w\004st.b\004st.d\004" |
1996 | | "st.h\004st.w\006stgt.b\006stgt.d\006stgt.h\006stgt.w\005stl.d\005stl.w\006" |
1997 | | "stle.b\006stle.d\006stle.h\006stle.w\007stptr.d\007stptr.w\005str.d\005" |
1998 | | "str.w\005stx.b\005stx.d\005stx.h\005stx.w\005sub.d\005sub.w\007syscall\006" |
1999 | | "tail36\006tlbclr\007tlbfill\010tlbflush\005tlbrd\007tlbsrch\005tlbwr\007" |
2000 | | "vabsd.b\010vabsd.bu\007vabsd.d\010vabsd.du\007vabsd.h\010vabsd.hu\007va" |
2001 | | "bsd.w\010vabsd.wu\006vadd.b\006vadd.d\006vadd.h\006vadd.q\006vadd.w\007" |
2002 | | "vadda.b\007vadda.d\007vadda.h\007vadda.w\010vaddi.bu\010vaddi.du\010vad" |
2003 | | "di.hu\010vaddi.wu\013vaddwev.d.w\014vaddwev.d.wu\016vaddwev.d.wu.w\013v" |
2004 | | "addwev.h.b\014vaddwev.h.bu\016vaddwev.h.bu.b\013vaddwev.q.d\014vaddwev." |
2005 | | "q.du\016vaddwev.q.du.d\013vaddwev.w.h\014vaddwev.w.hu\016vaddwev.w.hu.h" |
2006 | | "\013vaddwod.d.w\014vaddwod.d.wu\016vaddwod.d.wu.w\013vaddwod.h.b\014vad" |
2007 | | "dwod.h.bu\016vaddwod.h.bu.b\013vaddwod.q.d\014vaddwod.q.du\016vaddwod.q" |
2008 | | ".du.d\013vaddwod.w.h\014vaddwod.w.hu\016vaddwod.w.hu.h\006vand.v\007van" |
2009 | | "di.b\007vandn.v\006vavg.b\007vavg.bu\006vavg.d\007vavg.du\006vavg.h\007" |
2010 | | "vavg.hu\006vavg.w\007vavg.wu\007vavgr.b\010vavgr.bu\007vavgr.d\010vavgr" |
2011 | | ".du\007vavgr.h\010vavgr.hu\007vavgr.w\010vavgr.wu\tvbitclr.b\tvbitclr.d" |
2012 | | "\tvbitclr.h\tvbitclr.w\nvbitclri.b\nvbitclri.d\nvbitclri.h\nvbitclri.w\t" |
2013 | | "vbitrev.b\tvbitrev.d\tvbitrev.h\tvbitrev.w\nvbitrevi.b\nvbitrevi.d\nvbi" |
2014 | | "trevi.h\nvbitrevi.w\tvbitsel.v\nvbitseli.b\tvbitset.b\tvbitset.d\tvbits" |
2015 | | "et.h\tvbitset.w\nvbitseti.b\nvbitseti.d\nvbitseti.h\nvbitseti.w\007vbsl" |
2016 | | "l.v\007vbsrl.v\006vclo.b\006vclo.d\006vclo.h\006vclo.w\006vclz.b\006vcl" |
2017 | | "z.d\006vclz.h\006vclz.w\006vdiv.b\007vdiv.bu\006vdiv.d\007vdiv.du\006vd" |
2018 | | "iv.h\007vdiv.hu\006vdiv.w\007vdiv.wu\013vext2xv.d.b\013vext2xv.d.h\013v" |
2019 | | "ext2xv.d.w\015vext2xv.du.bu\015vext2xv.du.hu\015vext2xv.du.wu\013vext2x" |
2020 | | "v.h.b\015vext2xv.hu.bu\013vext2xv.w.b\013vext2xv.w.h\015vext2xv.wu.bu\015" |
2021 | | "vext2xv.wu.hu\tvexth.d.w\013vexth.du.wu\tvexth.h.b\013vexth.hu.bu\tvext" |
2022 | | "h.q.d\013vexth.qu.du\tvexth.w.h\013vexth.wu.hu\tvextl.q.d\013vextl.qu.d" |
2023 | | "u\nvextrins.b\nvextrins.d\nvextrins.h\nvextrins.w\007vfadd.d\007vfadd.s" |
2024 | | "\tvfclass.d\tvfclass.s\013vfcmp.caf.d\013vfcmp.caf.s\013vfcmp.ceq.d\013" |
2025 | | "vfcmp.ceq.s\013vfcmp.cle.d\013vfcmp.cle.s\013vfcmp.clt.d\013vfcmp.clt.s" |
2026 | | "\013vfcmp.cne.d\013vfcmp.cne.s\013vfcmp.cor.d\013vfcmp.cor.s\014vfcmp.c" |
2027 | | "ueq.d\014vfcmp.cueq.s\014vfcmp.cule.d\014vfcmp.cule.s\014vfcmp.cult.d\014" |
2028 | | "vfcmp.cult.s\013vfcmp.cun.d\013vfcmp.cun.s\014vfcmp.cune.d\014vfcmp.cun" |
2029 | | "e.s\013vfcmp.saf.d\013vfcmp.saf.s\013vfcmp.seq.d\013vfcmp.seq.s\013vfcm" |
2030 | | "p.sle.d\013vfcmp.sle.s\013vfcmp.slt.d\013vfcmp.slt.s\013vfcmp.sne.d\013" |
2031 | | "vfcmp.sne.s\013vfcmp.sor.d\013vfcmp.sor.s\014vfcmp.sueq.d\014vfcmp.sueq" |
2032 | | ".s\014vfcmp.sule.d\014vfcmp.sule.s\014vfcmp.sult.d\014vfcmp.sult.s\013v" |
2033 | | "fcmp.sun.d\013vfcmp.sun.s\014vfcmp.sune.d\014vfcmp.sune.s\tvfcvt.h.s\tv" |
2034 | | "fcvt.s.d\nvfcvth.d.s\nvfcvth.s.h\nvfcvtl.d.s\nvfcvtl.s.h\007vfdiv.d\007" |
2035 | | "vfdiv.s\nvffint.d.l\013vffint.d.lu\nvffint.s.l\nvffint.s.w\013vffint.s." |
2036 | | "wu\013vffinth.d.w\013vffintl.d.w\010vflogb.d\010vflogb.s\010vfmadd.d\010" |
2037 | | "vfmadd.s\007vfmax.d\007vfmax.s\010vfmaxa.d\010vfmaxa.s\007vfmin.d\007vf" |
2038 | | "min.s\010vfmina.d\010vfmina.s\010vfmsub.d\010vfmsub.s\007vfmul.d\007vfm" |
2039 | | "ul.s\tvfnmadd.d\tvfnmadd.s\tvfnmsub.d\tvfnmsub.s\tvfrecip.d\tvfrecip.s\n" |
2040 | | "vfrecipe.d\nvfrecipe.s\010vfrint.d\010vfrint.s\nvfrintrm.d\nvfrintrm.s\013" |
2041 | | "vfrintrne.d\013vfrintrne.s\nvfrintrp.d\nvfrintrp.s\nvfrintrz.d\nvfrintr" |
2042 | | "z.s\tvfrsqrt.d\tvfrsqrt.s\nvfrsqrte.d\nvfrsqrte.s\010vfrstp.b\010vfrstp" |
2043 | | ".h\tvfrstpi.b\tvfrstpi.h\010vfsqrt.d\010vfsqrt.s\007vfsub.d\007vfsub.s\n" |
2044 | | "vftint.l.d\013vftint.lu.d\nvftint.w.d\nvftint.w.s\013vftint.wu.s\013vft" |
2045 | | "inth.l.s\013vftintl.l.s\014vftintrm.l.d\014vftintrm.w.d\014vftintrm.w.s" |
2046 | | "\015vftintrmh.l.s\015vftintrml.l.s\015vftintrne.l.d\015vftintrne.w.d\015" |
2047 | | "vftintrne.w.s\016vftintrneh.l.s\016vftintrnel.l.s\014vftintrp.l.d\014vf" |
2048 | | "tintrp.w.d\014vftintrp.w.s\015vftintrph.l.s\015vftintrpl.l.s\014vftintr" |
2049 | | "z.l.d\015vftintrz.lu.d\014vftintrz.w.d\014vftintrz.w.s\015vftintrz.wu.s" |
2050 | | "\015vftintrzh.l.s\015vftintrzl.l.s\nvhaddw.d.w\014vhaddw.du.wu\nvhaddw." |
2051 | | "h.b\014vhaddw.hu.bu\nvhaddw.q.d\014vhaddw.qu.du\nvhaddw.w.h\014vhaddw.w" |
2052 | | "u.hu\nvhsubw.d.w\014vhsubw.du.wu\nvhsubw.h.b\014vhsubw.hu.bu\nvhsubw.q." |
2053 | | "d\014vhsubw.qu.du\nvhsubw.w.h\014vhsubw.wu.hu\007vilvh.b\007vilvh.d\007" |
2054 | | "vilvh.h\007vilvh.w\007vilvl.b\007vilvl.d\007vilvl.h\007vilvl.w\013vinsg" |
2055 | | "r2vr.b\013vinsgr2vr.d\013vinsgr2vr.h\013vinsgr2vr.w\003vld\004vldi\tvld" |
2056 | | "repl.b\tvldrepl.d\tvldrepl.h\tvldrepl.w\004vldx\007vmadd.b\007vmadd.d\007" |
2057 | | "vmadd.h\007vmadd.w\014vmaddwev.d.w\015vmaddwev.d.wu\017vmaddwev.d.wu.w\014" |
2058 | | "vmaddwev.h.b\015vmaddwev.h.bu\017vmaddwev.h.bu.b\014vmaddwev.q.d\015vma" |
2059 | | "ddwev.q.du\017vmaddwev.q.du.d\014vmaddwev.w.h\015vmaddwev.w.hu\017vmadd" |
2060 | | "wev.w.hu.h\014vmaddwod.d.w\015vmaddwod.d.wu\017vmaddwod.d.wu.w\014vmadd" |
2061 | | "wod.h.b\015vmaddwod.h.bu\017vmaddwod.h.bu.b\014vmaddwod.q.d\015vmaddwod" |
2062 | | ".q.du\017vmaddwod.q.du.d\014vmaddwod.w.h\015vmaddwod.w.hu\017vmaddwod.w" |
2063 | | ".hu.h\006vmax.b\007vmax.bu\006vmax.d\007vmax.du\006vmax.h\007vmax.hu\006" |
2064 | | "vmax.w\007vmax.wu\007vmaxi.b\010vmaxi.bu\007vmaxi.d\010vmaxi.du\007vmax" |
2065 | | "i.h\010vmaxi.hu\007vmaxi.w\010vmaxi.wu\006vmin.b\007vmin.bu\006vmin.d\007" |
2066 | | "vmin.du\006vmin.h\007vmin.hu\006vmin.w\007vmin.wu\007vmini.b\010vmini.b" |
2067 | | "u\007vmini.d\010vmini.du\007vmini.h\010vmini.hu\007vmini.w\010vmini.wu\006" |
2068 | | "vmod.b\007vmod.bu\006vmod.d\007vmod.du\006vmod.h\007vmod.hu\006vmod.w\007" |
2069 | | "vmod.wu\tvmskgez.b\tvmskltz.b\tvmskltz.d\tvmskltz.h\tvmskltz.w\010vmskn" |
2070 | | "z.b\007vmsub.b\007vmsub.d\007vmsub.h\007vmsub.w\006vmuh.b\007vmuh.bu\006" |
2071 | | "vmuh.d\007vmuh.du\006vmuh.h\007vmuh.hu\006vmuh.w\007vmuh.wu\006vmul.b\006" |
2072 | | "vmul.d\006vmul.h\006vmul.w\013vmulwev.d.w\014vmulwev.d.wu\016vmulwev.d." |
2073 | | "wu.w\013vmulwev.h.b\014vmulwev.h.bu\016vmulwev.h.bu.b\013vmulwev.q.d\014" |
2074 | | "vmulwev.q.du\016vmulwev.q.du.d\013vmulwev.w.h\014vmulwev.w.hu\016vmulwe" |
2075 | | "v.w.hu.h\013vmulwod.d.w\014vmulwod.d.wu\016vmulwod.d.wu.w\013vmulwod.h." |
2076 | | "b\014vmulwod.h.bu\016vmulwod.h.bu.b\013vmulwod.q.d\014vmulwod.q.du\016v" |
2077 | | "mulwod.q.du.d\013vmulwod.w.h\014vmulwod.w.hu\016vmulwod.w.hu.h\006vneg." |
2078 | | "b\006vneg.d\006vneg.h\006vneg.w\006vnor.v\007vnori.b\005vor.v\006vori.b" |
2079 | | "\006vorn.v\tvpackev.b\tvpackev.d\tvpackev.h\tvpackev.w\tvpackod.b\tvpac" |
2080 | | "kod.d\tvpackod.h\tvpackod.w\007vpcnt.b\007vpcnt.d\007vpcnt.h\007vpcnt.w" |
2081 | | "\010vpermi.w\tvpickev.b\tvpickev.d\tvpickev.h\tvpickev.w\tvpickod.b\tvp" |
2082 | | "ickod.d\tvpickod.h\tvpickod.w\014vpickve2gr.b\015vpickve2gr.bu\014vpick" |
2083 | | "ve2gr.d\015vpickve2gr.du\014vpickve2gr.h\015vpickve2gr.hu\014vpickve2gr" |
2084 | | ".w\015vpickve2gr.wu\014vreplgr2vr.b\014vreplgr2vr.d\014vreplgr2vr.h\014" |
2085 | | "vreplgr2vr.w\010vrepli.b\010vrepli.d\010vrepli.h\010vrepli.w\tvreplve.b" |
2086 | | "\tvreplve.d\tvreplve.h\tvreplve.w\nvreplvei.b\nvreplvei.d\nvreplvei.h\n" |
2087 | | "vreplvei.w\007vrotr.b\007vrotr.d\007vrotr.h\007vrotr.w\010vrotri.b\010v" |
2088 | | "rotri.d\010vrotri.h\010vrotri.w\007vsadd.b\010vsadd.bu\007vsadd.d\010vs" |
2089 | | "add.du\007vsadd.h\010vsadd.hu\007vsadd.w\010vsadd.wu\006vsat.b\007vsat." |
2090 | | "bu\006vsat.d\007vsat.du\006vsat.h\007vsat.hu\006vsat.w\007vsat.wu\006vs" |
2091 | | "eq.b\006vseq.d\006vseq.h\006vseq.w\007vseqi.b\007vseqi.d\007vseqi.h\007" |
2092 | | "vseqi.w\014vsetallnez.b\014vsetallnez.d\014vsetallnez.h\014vsetallnez.w" |
2093 | | "\014vsetanyeqz.b\014vsetanyeqz.d\014vsetanyeqz.h\014vsetanyeqz.w\tvsete" |
2094 | | "qz.v\tvsetnez.v\007vshuf.b\007vshuf.d\007vshuf.h\007vshuf.w\tvshuf4i.b\t" |
2095 | | "vshuf4i.d\tvshuf4i.h\tvshuf4i.w\nvsigncov.b\nvsigncov.d\nvsigncov.h\nvs" |
2096 | | "igncov.w\006vsle.b\007vsle.bu\006vsle.d\007vsle.du\006vsle.h\007vsle.hu" |
2097 | | "\006vsle.w\007vsle.wu\007vslei.b\010vslei.bu\007vslei.d\010vslei.du\007" |
2098 | | "vslei.h\010vslei.hu\007vslei.w\010vslei.wu\006vsll.b\006vsll.d\006vsll." |
2099 | | "h\006vsll.w\007vslli.b\007vslli.d\007vslli.h\007vslli.w\013vsllwil.d.w\015" |
2100 | | "vsllwil.du.wu\013vsllwil.h.b\015vsllwil.hu.bu\013vsllwil.w.h\015vsllwil" |
2101 | | ".wu.hu\006vslt.b\007vslt.bu\006vslt.d\007vslt.du\006vslt.h\007vslt.hu\006" |
2102 | | "vslt.w\007vslt.wu\007vslti.b\010vslti.bu\007vslti.d\010vslti.du\007vslt" |
2103 | | "i.h\010vslti.hu\007vslti.w\010vslti.wu\006vsra.b\006vsra.d\006vsra.h\006" |
2104 | | "vsra.w\007vsrai.b\007vsrai.d\007vsrai.h\007vsrai.w\tvsran.b.h\tvsran.h." |
2105 | | "w\tvsran.w.d\nvsrani.b.h\nvsrani.d.q\nvsrani.h.w\nvsrani.w.d\007vsrar.b" |
2106 | | "\007vsrar.d\007vsrar.h\007vsrar.w\010vsrari.b\010vsrari.d\010vsrari.h\010" |
2107 | | "vsrari.w\nvsrarn.b.h\nvsrarn.h.w\nvsrarn.w.d\013vsrarni.b.h\013vsrarni." |
2108 | | "d.q\013vsrarni.h.w\013vsrarni.w.d\006vsrl.b\006vsrl.d\006vsrl.h\006vsrl" |
2109 | | ".w\007vsrli.b\007vsrli.d\007vsrli.h\007vsrli.w\tvsrln.b.h\tvsrln.h.w\tv" |
2110 | | "srln.w.d\nvsrlni.b.h\nvsrlni.d.q\nvsrlni.h.w\nvsrlni.w.d\007vsrlr.b\007" |
2111 | | "vsrlr.d\007vsrlr.h\007vsrlr.w\010vsrlri.b\010vsrlri.d\010vsrlri.h\010vs" |
2112 | | "rlri.w\nvsrlrn.b.h\nvsrlrn.h.w\nvsrlrn.w.d\013vsrlrni.b.h\013vsrlrni.d." |
2113 | | "q\013vsrlrni.h.w\013vsrlrni.w.d\nvssran.b.h\013vssran.bu.h\nvssran.h.w\013" |
2114 | | "vssran.hu.w\nvssran.w.d\013vssran.wu.d\013vssrani.b.h\014vssrani.bu.h\013" |
2115 | | "vssrani.d.q\014vssrani.du.q\013vssrani.h.w\014vssrani.hu.w\013vssrani.w" |
2116 | | ".d\014vssrani.wu.d\013vssrarn.b.h\014vssrarn.bu.h\013vssrarn.h.w\014vss" |
2117 | | "rarn.hu.w\013vssrarn.w.d\014vssrarn.wu.d\014vssrarni.b.h\015vssrarni.bu" |
2118 | | ".h\014vssrarni.d.q\015vssrarni.du.q\014vssrarni.h.w\015vssrarni.hu.w\014" |
2119 | | "vssrarni.w.d\015vssrarni.wu.d\nvssrln.b.h\013vssrln.bu.h\nvssrln.h.w\013" |
2120 | | "vssrln.hu.w\nvssrln.w.d\013vssrln.wu.d\013vssrlni.b.h\014vssrlni.bu.h\013" |
2121 | | "vssrlni.d.q\014vssrlni.du.q\013vssrlni.h.w\014vssrlni.hu.w\013vssrlni.w" |
2122 | | ".d\014vssrlni.wu.d\013vssrlrn.b.h\014vssrlrn.bu.h\013vssrlrn.h.w\014vss" |
2123 | | "rlrn.hu.w\013vssrlrn.w.d\014vssrlrn.wu.d\014vssrlrni.b.h\015vssrlrni.bu" |
2124 | | ".h\014vssrlrni.d.q\015vssrlrni.du.q\014vssrlrni.h.w\015vssrlrni.hu.w\014" |
2125 | | "vssrlrni.w.d\015vssrlrni.wu.d\007vssub.b\010vssub.bu\007vssub.d\010vssu" |
2126 | | "b.du\007vssub.h\010vssub.hu\007vssub.w\010vssub.wu\003vst\010vstelm.b\010" |
2127 | | "vstelm.d\010vstelm.h\010vstelm.w\004vstx\006vsub.b\006vsub.d\006vsub.h\006" |
2128 | | "vsub.q\006vsub.w\010vsubi.bu\010vsubi.du\010vsubi.hu\010vsubi.wu\013vsu" |
2129 | | "bwev.d.w\014vsubwev.d.wu\013vsubwev.h.b\014vsubwev.h.bu\013vsubwev.q.d\014" |
2130 | | "vsubwev.q.du\013vsubwev.w.h\014vsubwev.w.hu\013vsubwod.d.w\014vsubwod.d" |
2131 | | ".wu\013vsubwod.h.b\014vsubwod.h.bu\013vsubwod.q.d\014vsubwod.q.du\013vs" |
2132 | | "ubwod.w.h\014vsubwod.w.hu\006vxor.v\007vxori.b\010x86adc.b\010x86adc.d\010" |
2133 | | "x86adc.h\010x86adc.w\010x86add.b\010x86add.d\tx86add.du\010x86add.h\010" |
2134 | | "x86add.w\tx86add.wu\010x86and.b\010x86and.d\010x86and.h\010x86and.w\010" |
2135 | | "x86clrtm\010x86dec.b\010x86dec.d\010x86dec.h\010x86dec.w\tx86dectop\010" |
2136 | | "x86inc.b\010x86inc.d\010x86inc.h\010x86inc.w\tx86inctop\tx86mfflag\010x" |
2137 | | "86mftop\tx86mtflag\010x86mttop\010x86mul.b\tx86mul.bu\010x86mul.d\tx86m" |
2138 | | "ul.du\010x86mul.h\tx86mul.hu\010x86mul.w\tx86mul.wu\007x86or.b\007x86or" |
2139 | | ".d\007x86or.h\007x86or.w\010x86rcl.b\010x86rcl.d\010x86rcl.h\010x86rcl." |
2140 | | "w\tx86rcli.b\tx86rcli.d\tx86rcli.h\tx86rcli.w\010x86rcr.b\010x86rcr.d\010" |
2141 | | "x86rcr.h\010x86rcr.w\tx86rcri.b\tx86rcri.d\tx86rcri.h\tx86rcri.w\tx86ro" |
2142 | | "tl.b\tx86rotl.d\tx86rotl.h\tx86rotl.w\nx86rotli.b\nx86rotli.d\nx86rotli" |
2143 | | ".h\nx86rotli.w\tx86rotr.b\tx86rotr.d\tx86rotr.h\tx86rotr.w\nx86rotri.b\n" |
2144 | | "x86rotri.d\nx86rotri.h\nx86rotri.w\010x86sbc.b\010x86sbc.d\010x86sbc.h\010" |
2145 | | "x86sbc.w\tx86settag\010x86settm\010x86sll.b\010x86sll.d\010x86sll.h\010" |
2146 | | "x86sll.w\tx86slli.b\tx86slli.d\tx86slli.h\tx86slli.w\010x86sra.b\010x86" |
2147 | | "sra.d\010x86sra.h\010x86sra.w\tx86srai.b\tx86srai.d\tx86srai.h\tx86srai" |
2148 | | ".w\010x86srl.b\010x86srl.d\010x86srl.h\010x86srl.w\tx86srli.b\tx86srli." |
2149 | | "d\tx86srli.h\tx86srli.w\010x86sub.b\010x86sub.d\tx86sub.du\010x86sub.h\010" |
2150 | | "x86sub.w\tx86sub.wu\010x86xor.b\010x86xor.d\010x86xor.h\010x86xor.w\003" |
2151 | | "xor\004xori\010xvabsd.b\txvabsd.bu\010xvabsd.d\txvabsd.du\010xvabsd.h\t" |
2152 | | "xvabsd.hu\010xvabsd.w\txvabsd.wu\007xvadd.b\007xvadd.d\007xvadd.h\007xv" |
2153 | | "add.q\007xvadd.w\010xvadda.b\010xvadda.d\010xvadda.h\010xvadda.w\txvadd" |
2154 | | "i.bu\txvaddi.du\txvaddi.hu\txvaddi.wu\014xvaddwev.d.w\015xvaddwev.d.wu\017" |
2155 | | "xvaddwev.d.wu.w\014xvaddwev.h.b\015xvaddwev.h.bu\017xvaddwev.h.bu.b\014" |
2156 | | "xvaddwev.q.d\015xvaddwev.q.du\017xvaddwev.q.du.d\014xvaddwev.w.h\015xva" |
2157 | | "ddwev.w.hu\017xvaddwev.w.hu.h\014xvaddwod.d.w\015xvaddwod.d.wu\017xvadd" |
2158 | | "wod.d.wu.w\014xvaddwod.h.b\015xvaddwod.h.bu\017xvaddwod.h.bu.b\014xvadd" |
2159 | | "wod.q.d\015xvaddwod.q.du\017xvaddwod.q.du.d\014xvaddwod.w.h\015xvaddwod" |
2160 | | ".w.hu\017xvaddwod.w.hu.h\007xvand.v\010xvandi.b\010xvandn.v\007xvavg.b\010" |
2161 | | "xvavg.bu\007xvavg.d\010xvavg.du\007xvavg.h\010xvavg.hu\007xvavg.w\010xv" |
2162 | | "avg.wu\010xvavgr.b\txvavgr.bu\010xvavgr.d\txvavgr.du\010xvavgr.h\txvavg" |
2163 | | "r.hu\010xvavgr.w\txvavgr.wu\nxvbitclr.b\nxvbitclr.d\nxvbitclr.h\nxvbitc" |
2164 | | "lr.w\013xvbitclri.b\013xvbitclri.d\013xvbitclri.h\013xvbitclri.w\nxvbit" |
2165 | | "rev.b\nxvbitrev.d\nxvbitrev.h\nxvbitrev.w\013xvbitrevi.b\013xvbitrevi.d" |
2166 | | "\013xvbitrevi.h\013xvbitrevi.w\nxvbitsel.v\013xvbitseli.b\nxvbitset.b\n" |
2167 | | "xvbitset.d\nxvbitset.h\nxvbitset.w\013xvbitseti.b\013xvbitseti.d\013xvb" |
2168 | | "itseti.h\013xvbitseti.w\010xvbsll.v\010xvbsrl.v\007xvclo.b\007xvclo.d\007" |
2169 | | "xvclo.h\007xvclo.w\007xvclz.b\007xvclz.d\007xvclz.h\007xvclz.w\007xvdiv" |
2170 | | ".b\010xvdiv.bu\007xvdiv.d\010xvdiv.du\007xvdiv.h\010xvdiv.hu\007xvdiv.w" |
2171 | | "\010xvdiv.wu\nxvexth.d.w\014xvexth.du.wu\nxvexth.h.b\014xvexth.hu.bu\nx" |
2172 | | "vexth.q.d\014xvexth.qu.du\nxvexth.w.h\014xvexth.wu.hu\nxvextl.q.d\014xv" |
2173 | | "extl.qu.du\013xvextrins.b\013xvextrins.d\013xvextrins.h\013xvextrins.w\010" |
2174 | | "xvfadd.d\010xvfadd.s\nxvfclass.d\nxvfclass.s\014xvfcmp.caf.d\014xvfcmp." |
2175 | | "caf.s\014xvfcmp.ceq.d\014xvfcmp.ceq.s\014xvfcmp.cle.d\014xvfcmp.cle.s\014" |
2176 | | "xvfcmp.clt.d\014xvfcmp.clt.s\014xvfcmp.cne.d\014xvfcmp.cne.s\014xvfcmp." |
2177 | | "cor.d\014xvfcmp.cor.s\015xvfcmp.cueq.d\015xvfcmp.cueq.s\015xvfcmp.cule." |
2178 | | "d\015xvfcmp.cule.s\015xvfcmp.cult.d\015xvfcmp.cult.s\014xvfcmp.cun.d\014" |
2179 | | "xvfcmp.cun.s\015xvfcmp.cune.d\015xvfcmp.cune.s\014xvfcmp.saf.d\014xvfcm" |
2180 | | "p.saf.s\014xvfcmp.seq.d\014xvfcmp.seq.s\014xvfcmp.sle.d\014xvfcmp.sle.s" |
2181 | | "\014xvfcmp.slt.d\014xvfcmp.slt.s\014xvfcmp.sne.d\014xvfcmp.sne.s\014xvf" |
2182 | | "cmp.sor.d\014xvfcmp.sor.s\015xvfcmp.sueq.d\015xvfcmp.sueq.s\015xvfcmp.s" |
2183 | | "ule.d\015xvfcmp.sule.s\015xvfcmp.sult.d\015xvfcmp.sult.s\014xvfcmp.sun." |
2184 | | "d\014xvfcmp.sun.s\015xvfcmp.sune.d\015xvfcmp.sune.s\nxvfcvt.h.s\nxvfcvt" |
2185 | | ".s.d\013xvfcvth.d.s\013xvfcvth.s.h\013xvfcvtl.d.s\013xvfcvtl.s.h\010xvf" |
2186 | | "div.d\010xvfdiv.s\013xvffint.d.l\014xvffint.d.lu\013xvffint.s.l\013xvff" |
2187 | | "int.s.w\014xvffint.s.wu\014xvffinth.d.w\014xvffintl.d.w\txvflogb.d\txvf" |
2188 | | "logb.s\txvfmadd.d\txvfmadd.s\010xvfmax.d\010xvfmax.s\txvfmaxa.d\txvfmax" |
2189 | | "a.s\010xvfmin.d\010xvfmin.s\txvfmina.d\txvfmina.s\txvfmsub.d\txvfmsub.s" |
2190 | | "\010xvfmul.d\010xvfmul.s\nxvfnmadd.d\nxvfnmadd.s\nxvfnmsub.d\nxvfnmsub." |
2191 | | "s\nxvfrecip.d\nxvfrecip.s\013xvfrecipe.d\013xvfrecipe.s\txvfrint.d\txvf" |
2192 | | "rint.s\013xvfrintrm.d\013xvfrintrm.s\014xvfrintrne.d\014xvfrintrne.s\013" |
2193 | | "xvfrintrp.d\013xvfrintrp.s\013xvfrintrz.d\013xvfrintrz.s\nxvfrsqrt.d\nx" |
2194 | | "vfrsqrt.s\013xvfrsqrte.d\013xvfrsqrte.s\txvfrstp.b\txvfrstp.h\nxvfrstpi" |
2195 | | ".b\nxvfrstpi.h\txvfsqrt.d\txvfsqrt.s\010xvfsub.d\010xvfsub.s\013xvftint" |
2196 | | ".l.d\014xvftint.lu.d\013xvftint.w.d\013xvftint.w.s\014xvftint.wu.s\014x" |
2197 | | "vftinth.l.s\014xvftintl.l.s\015xvftintrm.l.d\015xvftintrm.w.d\015xvftin" |
2198 | | "trm.w.s\016xvftintrmh.l.s\016xvftintrml.l.s\016xvftintrne.l.d\016xvftin" |
2199 | | "trne.w.d\016xvftintrne.w.s\017xvftintrneh.l.s\017xvftintrnel.l.s\015xvf" |
2200 | | "tintrp.l.d\015xvftintrp.w.d\015xvftintrp.w.s\016xvftintrph.l.s\016xvfti" |
2201 | | "ntrpl.l.s\015xvftintrz.l.d\016xvftintrz.lu.d\015xvftintrz.w.d\015xvftin" |
2202 | | "trz.w.s\016xvftintrz.wu.s\016xvftintrzh.l.s\016xvftintrzl.l.s\013xvhadd" |
2203 | | "w.d.w\015xvhaddw.du.wu\013xvhaddw.h.b\015xvhaddw.hu.bu\013xvhaddw.q.d\015" |
2204 | | "xvhaddw.qu.du\013xvhaddw.w.h\015xvhaddw.wu.hu\txvhseli.d\013xvhsubw.d.w" |
2205 | | "\015xvhsubw.du.wu\013xvhsubw.h.b\015xvhsubw.hu.bu\013xvhsubw.q.d\015xvh" |
2206 | | "subw.qu.du\013xvhsubw.w.h\015xvhsubw.wu.hu\010xvilvh.b\010xvilvh.d\010x" |
2207 | | "vilvh.h\010xvilvh.w\010xvilvl.b\010xvilvl.d\010xvilvl.h\010xvilvl.w\014" |
2208 | | "xvinsgr2vr.d\014xvinsgr2vr.w\nxvinsve0.d\nxvinsve0.w\004xvld\005xvldi\n" |
2209 | | "xvldrepl.b\nxvldrepl.d\nxvldrepl.h\nxvldrepl.w\005xvldx\010xvmadd.b\010" |
2210 | | "xvmadd.d\010xvmadd.h\010xvmadd.w\015xvmaddwev.d.w\016xvmaddwev.d.wu\020" |
2211 | | "xvmaddwev.d.wu.w\015xvmaddwev.h.b\016xvmaddwev.h.bu\020xvmaddwev.h.bu.b" |
2212 | | "\015xvmaddwev.q.d\016xvmaddwev.q.du\020xvmaddwev.q.du.d\015xvmaddwev.w." |
2213 | | "h\016xvmaddwev.w.hu\020xvmaddwev.w.hu.h\015xvmaddwod.d.w\016xvmaddwod.d" |
2214 | | ".wu\020xvmaddwod.d.wu.w\015xvmaddwod.h.b\016xvmaddwod.h.bu\020xvmaddwod" |
2215 | | ".h.bu.b\015xvmaddwod.q.d\016xvmaddwod.q.du\020xvmaddwod.q.du.d\015xvmad" |
2216 | | "dwod.w.h\016xvmaddwod.w.hu\020xvmaddwod.w.hu.h\007xvmax.b\010xvmax.bu\007" |
2217 | | "xvmax.d\010xvmax.du\007xvmax.h\010xvmax.hu\007xvmax.w\010xvmax.wu\010xv" |
2218 | | "maxi.b\txvmaxi.bu\010xvmaxi.d\txvmaxi.du\010xvmaxi.h\txvmaxi.hu\010xvma" |
2219 | | "xi.w\txvmaxi.wu\007xvmin.b\010xvmin.bu\007xvmin.d\010xvmin.du\007xvmin." |
2220 | | "h\010xvmin.hu\007xvmin.w\010xvmin.wu\010xvmini.b\txvmini.bu\010xvmini.d" |
2221 | | "\txvmini.du\010xvmini.h\txvmini.hu\010xvmini.w\txvmini.wu\007xvmod.b\010" |
2222 | | "xvmod.bu\007xvmod.d\010xvmod.du\007xvmod.h\010xvmod.hu\007xvmod.w\010xv" |
2223 | | "mod.wu\nxvmskgez.b\nxvmskltz.b\nxvmskltz.d\nxvmskltz.h\nxvmskltz.w\txvm" |
2224 | | "sknz.b\010xvmsub.b\010xvmsub.d\010xvmsub.h\010xvmsub.w\007xvmuh.b\010xv" |
2225 | | "muh.bu\007xvmuh.d\010xvmuh.du\007xvmuh.h\010xvmuh.hu\007xvmuh.w\010xvmu" |
2226 | | "h.wu\007xvmul.b\007xvmul.d\007xvmul.h\007xvmul.w\014xvmulwev.d.w\015xvm" |
2227 | | "ulwev.d.wu\017xvmulwev.d.wu.w\014xvmulwev.h.b\015xvmulwev.h.bu\017xvmul" |
2228 | | "wev.h.bu.b\014xvmulwev.q.d\015xvmulwev.q.du\017xvmulwev.q.du.d\014xvmul" |
2229 | | "wev.w.h\015xvmulwev.w.hu\017xvmulwev.w.hu.h\014xvmulwod.d.w\015xvmulwod" |
2230 | | ".d.wu\017xvmulwod.d.wu.w\014xvmulwod.h.b\015xvmulwod.h.bu\017xvmulwod.h" |
2231 | | ".bu.b\014xvmulwod.q.d\015xvmulwod.q.du\017xvmulwod.q.du.d\014xvmulwod.w" |
2232 | | ".h\015xvmulwod.w.hu\017xvmulwod.w.hu.h\007xvneg.b\007xvneg.d\007xvneg.h" |
2233 | | "\007xvneg.w\007xvnor.v\010xvnori.b\006xvor.v\007xvori.b\007xvorn.v\nxvp" |
2234 | | "ackev.b\nxvpackev.d\nxvpackev.h\nxvpackev.w\nxvpackod.b\nxvpackod.d\nxv" |
2235 | | "packod.h\nxvpackod.w\010xvpcnt.b\010xvpcnt.d\010xvpcnt.h\010xvpcnt.w\010" |
2236 | | "xvperm.w\txvpermi.d\txvpermi.q\txvpermi.w\nxvpickev.b\nxvpickev.d\nxvpi" |
2237 | | "ckev.h\nxvpickev.w\nxvpickod.b\nxvpickod.d\nxvpickod.h\nxvpickod.w\nxvp" |
2238 | | "ickve.d\nxvpickve.w\015xvpickve2gr.d\016xvpickve2gr.du\015xvpickve2gr.w" |
2239 | | "\016xvpickve2gr.wu\016xvrepl128vei.b\016xvrepl128vei.d\016xvrepl128vei." |
2240 | | "h\016xvrepl128vei.w\015xvreplgr2vr.b\015xvreplgr2vr.d\015xvreplgr2vr.h\015" |
2241 | | "xvreplgr2vr.w\txvrepli.b\txvrepli.d\txvrepli.h\txvrepli.w\nxvreplve.b\n" |
2242 | | "xvreplve.d\nxvreplve.h\nxvreplve.w\013xvreplve0.b\013xvreplve0.d\013xvr" |
2243 | | "eplve0.h\013xvreplve0.q\013xvreplve0.w\010xvrotr.b\010xvrotr.d\010xvrot" |
2244 | | "r.h\010xvrotr.w\txvrotri.b\txvrotri.d\txvrotri.h\txvrotri.w\010xvsadd.b" |
2245 | | "\txvsadd.bu\010xvsadd.d\txvsadd.du\010xvsadd.h\txvsadd.hu\010xvsadd.w\t" |
2246 | | "xvsadd.wu\007xvsat.b\010xvsat.bu\007xvsat.d\010xvsat.du\007xvsat.h\010x" |
2247 | | "vsat.hu\007xvsat.w\010xvsat.wu\007xvseq.b\007xvseq.d\007xvseq.h\007xvse" |
2248 | | "q.w\010xvseqi.b\010xvseqi.d\010xvseqi.h\010xvseqi.w\015xvsetallnez.b\015" |
2249 | | "xvsetallnez.d\015xvsetallnez.h\015xvsetallnez.w\015xvsetanyeqz.b\015xvs" |
2250 | | "etanyeqz.d\015xvsetanyeqz.h\015xvsetanyeqz.w\nxvseteqz.v\nxvsetnez.v\010" |
2251 | | "xvshuf.b\010xvshuf.d\010xvshuf.h\010xvshuf.w\nxvshuf4i.b\nxvshuf4i.d\nx" |
2252 | | "vshuf4i.h\nxvshuf4i.w\013xvsigncov.b\013xvsigncov.d\013xvsigncov.h\013x" |
2253 | | "vsigncov.w\007xvsle.b\010xvsle.bu\007xvsle.d\010xvsle.du\007xvsle.h\010" |
2254 | | "xvsle.hu\007xvsle.w\010xvsle.wu\010xvslei.b\txvslei.bu\010xvslei.d\txvs" |
2255 | | "lei.du\010xvslei.h\txvslei.hu\010xvslei.w\txvslei.wu\007xvsll.b\007xvsl" |
2256 | | "l.d\007xvsll.h\007xvsll.w\010xvslli.b\010xvslli.d\010xvslli.h\010xvslli" |
2257 | | ".w\014xvsllwil.d.w\016xvsllwil.du.wu\014xvsllwil.h.b\016xvsllwil.hu.bu\014" |
2258 | | "xvsllwil.w.h\016xvsllwil.wu.hu\007xvslt.b\010xvslt.bu\007xvslt.d\010xvs" |
2259 | | "lt.du\007xvslt.h\010xvslt.hu\007xvslt.w\010xvslt.wu\010xvslti.b\txvslti" |
2260 | | ".bu\010xvslti.d\txvslti.du\010xvslti.h\txvslti.hu\010xvslti.w\txvslti.w" |
2261 | | "u\007xvsra.b\007xvsra.d\007xvsra.h\007xvsra.w\010xvsrai.b\010xvsrai.d\010" |
2262 | | "xvsrai.h\010xvsrai.w\nxvsran.b.h\nxvsran.h.w\nxvsran.w.d\013xvsrani.b.h" |
2263 | | "\013xvsrani.d.q\013xvsrani.h.w\013xvsrani.w.d\010xvsrar.b\010xvsrar.d\010" |
2264 | | "xvsrar.h\010xvsrar.w\txvsrari.b\txvsrari.d\txvsrari.h\txvsrari.w\013xvs" |
2265 | | "rarn.b.h\013xvsrarn.h.w\013xvsrarn.w.d\014xvsrarni.b.h\014xvsrarni.d.q\014" |
2266 | | "xvsrarni.h.w\014xvsrarni.w.d\007xvsrl.b\007xvsrl.d\007xvsrl.h\007xvsrl." |
2267 | | "w\010xvsrli.b\010xvsrli.d\010xvsrli.h\010xvsrli.w\nxvsrln.b.h\nxvsrln.h" |
2268 | | ".w\nxvsrln.w.d\013xvsrlni.b.h\013xvsrlni.d.q\013xvsrlni.h.w\013xvsrlni." |
2269 | | "w.d\010xvsrlr.b\010xvsrlr.d\010xvsrlr.h\010xvsrlr.w\txvsrlri.b\txvsrlri" |
2270 | | ".d\txvsrlri.h\txvsrlri.w\013xvsrlrn.b.h\013xvsrlrn.h.w\013xvsrlrn.w.d\014" |
2271 | | "xvsrlrni.b.h\014xvsrlrni.d.q\014xvsrlrni.h.w\014xvsrlrni.w.d\013xvssran" |
2272 | | ".b.h\014xvssran.bu.h\013xvssran.h.w\014xvssran.hu.w\013xvssran.w.d\014x" |
2273 | | "vssran.wu.d\014xvssrani.b.h\015xvssrani.bu.h\014xvssrani.d.q\015xvssran" |
2274 | | "i.du.q\014xvssrani.h.w\015xvssrani.hu.w\014xvssrani.w.d\015xvssrani.wu." |
2275 | | "d\014xvssrarn.b.h\015xvssrarn.bu.h\014xvssrarn.h.w\015xvssrarn.hu.w\014" |
2276 | | "xvssrarn.w.d\015xvssrarn.wu.d\015xvssrarni.b.h\016xvssrarni.bu.h\015xvs" |
2277 | | "srarni.d.q\016xvssrarni.du.q\015xvssrarni.h.w\016xvssrarni.hu.w\015xvss" |
2278 | | "rarni.w.d\016xvssrarni.wu.d\013xvssrln.b.h\014xvssrln.bu.h\013xvssrln.h" |
2279 | | ".w\014xvssrln.hu.w\013xvssrln.w.d\014xvssrln.wu.d\014xvssrlni.b.h\015xv" |
2280 | | "ssrlni.bu.h\014xvssrlni.d.q\015xvssrlni.du.q\014xvssrlni.h.w\015xvssrln" |
2281 | | "i.hu.w\014xvssrlni.w.d\015xvssrlni.wu.d\014xvssrlrn.b.h\015xvssrlrn.bu." |
2282 | | "h\014xvssrlrn.h.w\015xvssrlrn.hu.w\014xvssrlrn.w.d\015xvssrlrn.wu.d\015" |
2283 | | "xvssrlrni.b.h\016xvssrlrni.bu.h\015xvssrlrni.d.q\016xvssrlrni.du.q\015x" |
2284 | | "vssrlrni.h.w\016xvssrlrni.hu.w\015xvssrlrni.w.d\016xvssrlrni.wu.d\010xv" |
2285 | | "ssub.b\txvssub.bu\010xvssub.d\txvssub.du\010xvssub.h\txvssub.hu\010xvss" |
2286 | | "ub.w\txvssub.wu\004xvst\txvstelm.b\txvstelm.d\txvstelm.h\txvstelm.w\005" |
2287 | | "xvstx\007xvsub.b\007xvsub.d\007xvsub.h\007xvsub.q\007xvsub.w\txvsubi.bu" |
2288 | | "\txvsubi.du\txvsubi.hu\txvsubi.wu\014xvsubwev.d.w\015xvsubwev.d.wu\014x" |
2289 | | "vsubwev.h.b\015xvsubwev.h.bu\014xvsubwev.q.d\015xvsubwev.q.du\014xvsubw" |
2290 | | "ev.w.h\015xvsubwev.w.hu\014xvsubwod.d.w\015xvsubwod.d.wu\014xvsubwod.h." |
2291 | | "b\015xvsubwod.h.bu\014xvsubwod.q.d\015xvsubwod.q.du\014xvsubwod.w.h\015" |
2292 | | "xvsubwod.w.hu\007xvxor.v\010xvxori.b"; |
2293 | | |
2294 | | // Feature bitsets. |
2295 | | enum : uint8_t { |
2296 | | AMFBS_None, |
2297 | | AMFBS_HasLaGlobalWithAbs, |
2298 | | AMFBS_HasLaGlobalWithPcrel, |
2299 | | AMFBS_HasLaLocalWithAbs, |
2300 | | AMFBS_IsLA64, |
2301 | | }; |
2302 | | |
2303 | | static constexpr FeatureBitset FeatureBitsets[] = { |
2304 | | {}, // AMFBS_None |
2305 | | {Feature_HasLaGlobalWithAbsBit, }, |
2306 | | {Feature_HasLaGlobalWithPcrelBit, }, |
2307 | | {Feature_HasLaLocalWithAbsBit, }, |
2308 | | {Feature_IsLA64Bit, }, |
2309 | | }; |
2310 | | |
2311 | | namespace { |
2312 | | struct MatchEntry { |
2313 | | uint16_t Mnemonic; |
2314 | | uint16_t Opcode; |
2315 | | uint8_t ConvertFn; |
2316 | | uint8_t RequiredFeaturesIdx; |
2317 | | uint8_t Classes[4]; |
2318 | 0 | StringRef getMnemonic() const { |
2319 | 0 | return StringRef(MnemonicTable + Mnemonic + 1, |
2320 | 0 | MnemonicTable[Mnemonic]); |
2321 | 0 | } |
2322 | | }; |
2323 | | |
2324 | | // Predicate for searching for an opcode. |
2325 | | struct LessOpcode { |
2326 | 0 | bool operator()(const MatchEntry &LHS, StringRef RHS) { |
2327 | 0 | return LHS.getMnemonic() < RHS; |
2328 | 0 | } |
2329 | 0 | bool operator()(StringRef LHS, const MatchEntry &RHS) { |
2330 | 0 | return LHS < RHS.getMnemonic(); |
2331 | 0 | } |
2332 | 0 | bool operator()(const MatchEntry &LHS, const MatchEntry &RHS) { |
2333 | 0 | return LHS.getMnemonic() < RHS.getMnemonic(); |
2334 | 0 | } |
2335 | | }; |
2336 | | } // end anonymous namespace |
2337 | | |
2338 | | static const MatchEntry MatchTable0[] = { |
2339 | | { 0 /* adc.b */, LoongArch::ADC_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2340 | | { 6 /* adc.d */, LoongArch::ADC_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2341 | | { 12 /* adc.h */, LoongArch::ADC_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2342 | | { 18 /* adc.w */, LoongArch::ADC_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2343 | | { 24 /* add.d */, LoongArch::ADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2344 | | { 30 /* add.w */, LoongArch::ADD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2345 | | { 36 /* addi.d */, LoongArch::ADDI_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2346 | | { 43 /* addi.w */, LoongArch::ADDI_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2347 | | { 50 /* addu12i.d */, LoongArch::ADDU12I_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm5 }, }, |
2348 | | { 60 /* addu12i.w */, LoongArch::ADDU12I_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm5 }, }, |
2349 | | { 70 /* addu16i.d */, LoongArch::ADDU16I_D, Convert__Reg1_0__Reg1_1__SImm161_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm16 }, }, |
2350 | | { 80 /* alsl.d */, LoongArch::ALSL_D, Convert__Reg1_0__Reg1_1__Reg1_2__UImm2plus11_3, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR, MCK_UImm2plus1 }, }, |
2351 | | { 87 /* alsl.w */, LoongArch::ALSL_W, Convert__Reg1_0__Reg1_1__Reg1_2__UImm2plus11_3, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR, MCK_UImm2plus1 }, }, |
2352 | | { 94 /* alsl.wu */, LoongArch::ALSL_WU, Convert__Reg1_0__Reg1_1__Reg1_2__UImm2plus11_3, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR, MCK_UImm2plus1 }, }, |
2353 | | { 102 /* amadd.b */, LoongArch::AMADD_B, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2354 | | { 110 /* amadd.d */, LoongArch::AMADD_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2355 | | { 118 /* amadd.h */, LoongArch::AMADD_H, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2356 | | { 126 /* amadd.w */, LoongArch::AMADD_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2357 | | { 134 /* amadd_db.b */, LoongArch::AMADD__DB_B, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2358 | | { 145 /* amadd_db.d */, LoongArch::AMADD__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2359 | | { 156 /* amadd_db.h */, LoongArch::AMADD__DB_H, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2360 | | { 167 /* amadd_db.w */, LoongArch::AMADD__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2361 | | { 178 /* amand.d */, LoongArch::AMAND_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2362 | | { 186 /* amand.w */, LoongArch::AMAND_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2363 | | { 194 /* amand_db.d */, LoongArch::AMAND__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2364 | | { 205 /* amand_db.w */, LoongArch::AMAND__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2365 | | { 216 /* amcas.b */, LoongArch::AMCAS_B, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2366 | | { 224 /* amcas.d */, LoongArch::AMCAS_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2367 | | { 232 /* amcas.h */, LoongArch::AMCAS_H, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2368 | | { 240 /* amcas.w */, LoongArch::AMCAS_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2369 | | { 248 /* amcas_db.b */, LoongArch::AMCAS__DB_B, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2370 | | { 259 /* amcas_db.d */, LoongArch::AMCAS__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2371 | | { 270 /* amcas_db.h */, LoongArch::AMCAS__DB_H, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2372 | | { 281 /* amcas_db.w */, LoongArch::AMCAS__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2373 | | { 292 /* ammax.d */, LoongArch::AMMAX_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2374 | | { 300 /* ammax.du */, LoongArch::AMMAX_DU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2375 | | { 309 /* ammax.w */, LoongArch::AMMAX_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2376 | | { 317 /* ammax.wu */, LoongArch::AMMAX_WU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2377 | | { 326 /* ammax_db.d */, LoongArch::AMMAX__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2378 | | { 337 /* ammax_db.du */, LoongArch::AMMAX__DB_DU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2379 | | { 349 /* ammax_db.w */, LoongArch::AMMAX__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2380 | | { 360 /* ammax_db.wu */, LoongArch::AMMAX__DB_WU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2381 | | { 372 /* ammin.d */, LoongArch::AMMIN_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2382 | | { 380 /* ammin.du */, LoongArch::AMMIN_DU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2383 | | { 389 /* ammin.w */, LoongArch::AMMIN_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2384 | | { 397 /* ammin.wu */, LoongArch::AMMIN_WU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2385 | | { 406 /* ammin_db.d */, LoongArch::AMMIN__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2386 | | { 417 /* ammin_db.du */, LoongArch::AMMIN__DB_DU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2387 | | { 429 /* ammin_db.w */, LoongArch::AMMIN__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2388 | | { 440 /* ammin_db.wu */, LoongArch::AMMIN__DB_WU, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2389 | | { 452 /* amor.d */, LoongArch::AMOR_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2390 | | { 459 /* amor.w */, LoongArch::AMOR_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2391 | | { 466 /* amor_db.d */, LoongArch::AMOR__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2392 | | { 476 /* amor_db.w */, LoongArch::AMOR__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2393 | | { 486 /* amswap.b */, LoongArch::AMSWAP_B, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2394 | | { 495 /* amswap.d */, LoongArch::AMSWAP_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2395 | | { 504 /* amswap.h */, LoongArch::AMSWAP_H, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2396 | | { 513 /* amswap.w */, LoongArch::AMSWAP_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2397 | | { 522 /* amswap_db.b */, LoongArch::AMSWAP__DB_B, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2398 | | { 534 /* amswap_db.d */, LoongArch::AMSWAP__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2399 | | { 546 /* amswap_db.h */, LoongArch::AMSWAP__DB_H, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2400 | | { 558 /* amswap_db.w */, LoongArch::AMSWAP__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2401 | | { 570 /* amxor.d */, LoongArch::AMXOR_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2402 | | { 578 /* amxor.w */, LoongArch::AMXOR_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2403 | | { 586 /* amxor_db.d */, LoongArch::AMXOR__DB_D, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2404 | | { 597 /* amxor_db.w */, LoongArch::AMXOR__DB_W, Convert__Reg1_0__Reg1_1__AtomicMemAsmOperand1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_AtomicMemAsmOperand }, }, |
2405 | | { 608 /* and */, LoongArch::AND, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2406 | | { 612 /* andi */, LoongArch::ANDI, Convert__Reg1_0__Reg1_1__UImm121_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm12 }, }, |
2407 | | { 617 /* andn */, LoongArch::ANDN, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2408 | | { 622 /* armadc.w */, LoongArch::ARMADC_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2409 | | { 631 /* armadd.w */, LoongArch::ARMADD_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2410 | | { 640 /* armand.w */, LoongArch::ARMAND_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2411 | | { 649 /* armmfflag */, LoongArch::ARMMFFLAG, Convert__Reg1_0__UImm81_1, AMFBS_None, { MCK_GPR, MCK_UImm8 }, }, |
2412 | | { 659 /* armmov.d */, LoongArch::ARMMOV_D, Convert__Reg1_0__UImm41_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm4 }, }, |
2413 | | { 668 /* armmov.w */, LoongArch::ARMMOV_W, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
2414 | | { 677 /* armmove */, LoongArch::ARMMOVE, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2415 | | { 685 /* armmtflag */, LoongArch::ARMMTFLAG, Convert__Reg1_0__UImm81_1, AMFBS_None, { MCK_GPR, MCK_UImm8 }, }, |
2416 | | { 695 /* armnot.w */, LoongArch::ARMNOT_W, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
2417 | | { 704 /* armor.w */, LoongArch::ARMOR_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2418 | | { 712 /* armrotr.w */, LoongArch::ARMROTR_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2419 | | { 722 /* armrotri.w */, LoongArch::ARMROTRI_W, Convert__Reg1_0__UImm51_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_UImm5, MCK_UImm4 }, }, |
2420 | | { 733 /* armrrx.w */, LoongArch::ARMRRX_W, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
2421 | | { 742 /* armsbc.w */, LoongArch::ARMSBC_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2422 | | { 751 /* armsll.w */, LoongArch::ARMSLL_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2423 | | { 760 /* armslli.w */, LoongArch::ARMSLLI_W, Convert__Reg1_0__UImm51_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_UImm5, MCK_UImm4 }, }, |
2424 | | { 770 /* armsra.w */, LoongArch::ARMSRA_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2425 | | { 779 /* armsrai.w */, LoongArch::ARMSRAI_W, Convert__Reg1_0__UImm51_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_UImm5, MCK_UImm4 }, }, |
2426 | | { 789 /* armsrl.w */, LoongArch::ARMSRL_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2427 | | { 798 /* armsrli.w */, LoongArch::ARMSRLI_W, Convert__Reg1_0__UImm51_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_UImm5, MCK_UImm4 }, }, |
2428 | | { 808 /* armsub.w */, LoongArch::ARMSUB_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2429 | | { 817 /* armxor.w */, LoongArch::ARMXOR_W, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2430 | | { 826 /* asrtgt.d */, LoongArch::ASRTGT_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2431 | | { 835 /* asrtle.d */, LoongArch::ASRTLE_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2432 | | { 844 /* b */, LoongArch::B, Convert__SImm26OperandB1_0, AMFBS_None, { MCK_SImm26OperandB }, }, |
2433 | | { 846 /* bceqz */, LoongArch::BCEQZ, Convert__Reg1_0__SImm21lsl21_1, AMFBS_None, { MCK_CFR, MCK_SImm21lsl2 }, }, |
2434 | | { 852 /* bcnez */, LoongArch::BCNEZ, Convert__Reg1_0__SImm21lsl21_1, AMFBS_None, { MCK_CFR, MCK_SImm21lsl2 }, }, |
2435 | | { 858 /* beq */, LoongArch::BEQ, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2436 | | { 862 /* beqz */, LoongArch::BEQZ, Convert__Reg1_0__SImm21lsl21_1, AMFBS_None, { MCK_GPR, MCK_SImm21lsl2 }, }, |
2437 | | { 867 /* bge */, LoongArch::BGE, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2438 | | { 871 /* bgeu */, LoongArch::BGEU, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2439 | | { 876 /* bgez */, LoongArch::BGE, Convert__Reg1_0__regR0__SImm16lsl21_1, AMFBS_None, { MCK_GPR, MCK_SImm16lsl2 }, }, |
2440 | | { 881 /* bgt */, LoongArch::BLT, Convert__Reg1_1__Reg1_0__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2441 | | { 885 /* bgtu */, LoongArch::BLTU, Convert__Reg1_1__Reg1_0__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2442 | | { 890 /* bgtz */, LoongArch::BLT, Convert__regR0__Reg1_0__SImm16lsl21_1, AMFBS_None, { MCK_GPR, MCK_SImm16lsl2 }, }, |
2443 | | { 895 /* bitrev.4b */, LoongArch::BITREV_4B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2444 | | { 905 /* bitrev.8b */, LoongArch::BITREV_8B, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2445 | | { 915 /* bitrev.d */, LoongArch::BITREV_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2446 | | { 924 /* bitrev.w */, LoongArch::BITREV_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2447 | | { 933 /* bl */, LoongArch::BL, Convert__SImm26OperandBL1_0, AMFBS_None, { MCK_SImm26OperandBL }, }, |
2448 | | { 936 /* ble */, LoongArch::BGE, Convert__Reg1_1__Reg1_0__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2449 | | { 940 /* bleu */, LoongArch::BGEU, Convert__Reg1_1__Reg1_0__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2450 | | { 945 /* blez */, LoongArch::BGE, Convert__regR0__Reg1_0__SImm16lsl21_1, AMFBS_None, { MCK_GPR, MCK_SImm16lsl2 }, }, |
2451 | | { 950 /* blt */, LoongArch::BLT, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2452 | | { 954 /* bltu */, LoongArch::BLTU, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2453 | | { 959 /* bltz */, LoongArch::BLT, Convert__Reg1_0__regR0__SImm16lsl21_1, AMFBS_None, { MCK_GPR, MCK_SImm16lsl2 }, }, |
2454 | | { 964 /* bne */, LoongArch::BNE, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2455 | | { 968 /* bnez */, LoongArch::BNEZ, Convert__Reg1_0__SImm21lsl21_1, AMFBS_None, { MCK_GPR, MCK_SImm21lsl2 }, }, |
2456 | | { 973 /* break */, LoongArch::BREAK, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2457 | | { 979 /* bstrins.d */, LoongArch::BSTRINS_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2__UImm61_3, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6, MCK_UImm6 }, }, |
2458 | | { 989 /* bstrins.w */, LoongArch::BSTRINS_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2__UImm51_3, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5, MCK_UImm5 }, }, |
2459 | | { 999 /* bstrpick.d */, LoongArch::BSTRPICK_D, Convert__Reg1_0__Reg1_1__UImm61_2__UImm61_3, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6, MCK_UImm6 }, }, |
2460 | | { 1010 /* bstrpick.w */, LoongArch::BSTRPICK_W, Convert__Reg1_0__Reg1_1__UImm51_2__UImm51_3, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5, MCK_UImm5 }, }, |
2461 | | { 1021 /* bytepick.d */, LoongArch::BYTEPICK_D, Convert__Reg1_0__Reg1_1__Reg1_2__UImm31_3, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR, MCK_UImm3 }, }, |
2462 | | { 1032 /* bytepick.w */, LoongArch::BYTEPICK_W, Convert__Reg1_0__Reg1_1__Reg1_2__UImm21_3, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR, MCK_UImm2 }, }, |
2463 | | { 1043 /* cacop */, LoongArch::CACOP, Convert__UImm51_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_UImm5, MCK_GPR, MCK_SImm12 }, }, |
2464 | | { 1049 /* call36 */, LoongArch::PseudoCALL36, Convert__BareSymbol1_0, AMFBS_IsLA64, { MCK_BareSymbol }, }, |
2465 | | { 1056 /* clo.d */, LoongArch::CLO_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2466 | | { 1062 /* clo.w */, LoongArch::CLO_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2467 | | { 1068 /* clz.d */, LoongArch::CLZ_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2468 | | { 1074 /* clz.w */, LoongArch::CLZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2469 | | { 1080 /* cpucfg */, LoongArch::CPUCFG, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2470 | | { 1087 /* crc.w.b.w */, LoongArch::CRC_W_B_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2471 | | { 1097 /* crc.w.d.w */, LoongArch::CRC_W_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2472 | | { 1107 /* crc.w.h.w */, LoongArch::CRC_W_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2473 | | { 1117 /* crc.w.w.w */, LoongArch::CRC_W_W_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2474 | | { 1127 /* crcc.w.b.w */, LoongArch::CRCC_W_B_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2475 | | { 1138 /* crcc.w.d.w */, LoongArch::CRCC_W_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2476 | | { 1149 /* crcc.w.h.w */, LoongArch::CRCC_W_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2477 | | { 1160 /* crcc.w.w.w */, LoongArch::CRCC_W_W_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2478 | | { 1171 /* csrrd */, LoongArch::CSRRD, Convert__Reg1_0__UImm141_1, AMFBS_None, { MCK_GPR, MCK_UImm14 }, }, |
2479 | | { 1177 /* csrwr */, LoongArch::CSRWR, Convert__Reg1_0__Tie0_1_1__UImm141_1, AMFBS_None, { MCK_GPR, MCK_UImm14 }, }, |
2480 | | { 1183 /* csrxchg */, LoongArch::CSRXCHG, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm141_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm14 }, }, |
2481 | | { 1191 /* cto.d */, LoongArch::CTO_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2482 | | { 1197 /* cto.w */, LoongArch::CTO_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2483 | | { 1203 /* ctz.d */, LoongArch::CTZ_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2484 | | { 1209 /* ctz.w */, LoongArch::CTZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2485 | | { 1215 /* dbar */, LoongArch::DBAR, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2486 | | { 1220 /* dbcl */, LoongArch::DBCL, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2487 | | { 1225 /* div.d */, LoongArch::DIV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2488 | | { 1231 /* div.du */, LoongArch::DIV_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2489 | | { 1238 /* div.w */, LoongArch::DIV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2490 | | { 1244 /* div.wu */, LoongArch::DIV_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2491 | | { 1251 /* ertn */, LoongArch::ERTN, Convert_NoOperands, AMFBS_None, { }, }, |
2492 | | { 1256 /* ext.w.b */, LoongArch::EXT_W_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2493 | | { 1264 /* ext.w.h */, LoongArch::EXT_W_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2494 | | { 1272 /* fabs.d */, LoongArch::FABS_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2495 | | { 1279 /* fabs.s */, LoongArch::FABS_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2496 | | { 1286 /* fadd.d */, LoongArch::FADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2497 | | { 1293 /* fadd.s */, LoongArch::FADD_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2498 | | { 1300 /* fclass.d */, LoongArch::FCLASS_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2499 | | { 1309 /* fclass.s */, LoongArch::FCLASS_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2500 | | { 1318 /* fcmp.caf.d */, LoongArch::FCMP_CAF_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2501 | | { 1329 /* fcmp.caf.s */, LoongArch::FCMP_CAF_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2502 | | { 1340 /* fcmp.ceq.d */, LoongArch::FCMP_CEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2503 | | { 1351 /* fcmp.ceq.s */, LoongArch::FCMP_CEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2504 | | { 1362 /* fcmp.cle.d */, LoongArch::FCMP_CLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2505 | | { 1373 /* fcmp.cle.s */, LoongArch::FCMP_CLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2506 | | { 1384 /* fcmp.clt.d */, LoongArch::FCMP_CLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2507 | | { 1395 /* fcmp.clt.s */, LoongArch::FCMP_CLT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2508 | | { 1406 /* fcmp.cne.d */, LoongArch::FCMP_CNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2509 | | { 1417 /* fcmp.cne.s */, LoongArch::FCMP_CNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2510 | | { 1428 /* fcmp.cor.d */, LoongArch::FCMP_COR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2511 | | { 1439 /* fcmp.cor.s */, LoongArch::FCMP_COR_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2512 | | { 1450 /* fcmp.cueq.d */, LoongArch::FCMP_CUEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2513 | | { 1462 /* fcmp.cueq.s */, LoongArch::FCMP_CUEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2514 | | { 1474 /* fcmp.cule.d */, LoongArch::FCMP_CULE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2515 | | { 1486 /* fcmp.cule.s */, LoongArch::FCMP_CULE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2516 | | { 1498 /* fcmp.cult.d */, LoongArch::FCMP_CULT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2517 | | { 1510 /* fcmp.cult.s */, LoongArch::FCMP_CULT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2518 | | { 1522 /* fcmp.cun.d */, LoongArch::FCMP_CUN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2519 | | { 1533 /* fcmp.cun.s */, LoongArch::FCMP_CUN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2520 | | { 1544 /* fcmp.cune.d */, LoongArch::FCMP_CUNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2521 | | { 1556 /* fcmp.cune.s */, LoongArch::FCMP_CUNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2522 | | { 1568 /* fcmp.saf.d */, LoongArch::FCMP_SAF_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2523 | | { 1579 /* fcmp.saf.s */, LoongArch::FCMP_SAF_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2524 | | { 1590 /* fcmp.seq.d */, LoongArch::FCMP_SEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2525 | | { 1601 /* fcmp.seq.s */, LoongArch::FCMP_SEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2526 | | { 1612 /* fcmp.sle.d */, LoongArch::FCMP_SLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2527 | | { 1623 /* fcmp.sle.s */, LoongArch::FCMP_SLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2528 | | { 1634 /* fcmp.slt.d */, LoongArch::FCMP_SLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2529 | | { 1645 /* fcmp.slt.s */, LoongArch::FCMP_SLT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2530 | | { 1656 /* fcmp.sne.d */, LoongArch::FCMP_SNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2531 | | { 1667 /* fcmp.sne.s */, LoongArch::FCMP_SNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2532 | | { 1678 /* fcmp.sor.d */, LoongArch::FCMP_SOR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2533 | | { 1689 /* fcmp.sor.s */, LoongArch::FCMP_SOR_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2534 | | { 1700 /* fcmp.sueq.d */, LoongArch::FCMP_SUEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2535 | | { 1712 /* fcmp.sueq.s */, LoongArch::FCMP_SUEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2536 | | { 1724 /* fcmp.sule.d */, LoongArch::FCMP_SULE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2537 | | { 1736 /* fcmp.sule.s */, LoongArch::FCMP_SULE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2538 | | { 1748 /* fcmp.sult.d */, LoongArch::FCMP_SULT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2539 | | { 1760 /* fcmp.sult.s */, LoongArch::FCMP_SULT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2540 | | { 1772 /* fcmp.sun.d */, LoongArch::FCMP_SUN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2541 | | { 1783 /* fcmp.sun.s */, LoongArch::FCMP_SUN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2542 | | { 1794 /* fcmp.sune.d */, LoongArch::FCMP_SUNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR64, MCK_FPR64 }, }, |
2543 | | { 1806 /* fcmp.sune.s */, LoongArch::FCMP_SUNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_CFR, MCK_FPR32, MCK_FPR32 }, }, |
2544 | | { 1818 /* fcopysign.d */, LoongArch::FCOPYSIGN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2545 | | { 1830 /* fcopysign.s */, LoongArch::FCOPYSIGN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2546 | | { 1842 /* fcvt.d.ld */, LoongArch::FCVT_D_LD, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2547 | | { 1852 /* fcvt.d.s */, LoongArch::FCVT_D_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2548 | | { 1861 /* fcvt.ld.d */, LoongArch::FCVT_LD_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2549 | | { 1871 /* fcvt.s.d */, LoongArch::FCVT_S_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2550 | | { 1880 /* fcvt.ud.d */, LoongArch::FCVT_UD_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2551 | | { 1890 /* fdiv.d */, LoongArch::FDIV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2552 | | { 1897 /* fdiv.s */, LoongArch::FDIV_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2553 | | { 1904 /* ffint.d.l */, LoongArch::FFINT_D_L, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2554 | | { 1914 /* ffint.d.w */, LoongArch::FFINT_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2555 | | { 1924 /* ffint.s.l */, LoongArch::FFINT_S_L, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2556 | | { 1934 /* ffint.s.w */, LoongArch::FFINT_S_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2557 | | { 1944 /* fld.d */, LoongArch::FLD_D, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_SImm12 }, }, |
2558 | | { 1950 /* fld.s */, LoongArch::FLD_S, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_SImm12 }, }, |
2559 | | { 1956 /* fldgt.d */, LoongArch::FLDGT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_GPR }, }, |
2560 | | { 1964 /* fldgt.s */, LoongArch::FLDGT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_GPR }, }, |
2561 | | { 1972 /* fldle.d */, LoongArch::FLDLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_GPR }, }, |
2562 | | { 1980 /* fldle.s */, LoongArch::FLDLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_GPR }, }, |
2563 | | { 1988 /* fldx.d */, LoongArch::FLDX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_GPR }, }, |
2564 | | { 1995 /* fldx.s */, LoongArch::FLDX_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_GPR }, }, |
2565 | | { 2002 /* flogb.d */, LoongArch::FLOGB_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2566 | | { 2010 /* flogb.s */, LoongArch::FLOGB_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2567 | | { 2018 /* fmadd.d */, LoongArch::FMADD_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2568 | | { 2026 /* fmadd.s */, LoongArch::FMADD_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2569 | | { 2034 /* fmax.d */, LoongArch::FMAX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2570 | | { 2041 /* fmax.s */, LoongArch::FMAX_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2571 | | { 2048 /* fmaxa.d */, LoongArch::FMAXA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2572 | | { 2056 /* fmaxa.s */, LoongArch::FMAXA_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2573 | | { 2064 /* fmin.d */, LoongArch::FMIN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2574 | | { 2071 /* fmin.s */, LoongArch::FMIN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2575 | | { 2078 /* fmina.d */, LoongArch::FMINA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2576 | | { 2086 /* fmina.s */, LoongArch::FMINA_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2577 | | { 2094 /* fmov.d */, LoongArch::FMOV_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2578 | | { 2101 /* fmov.s */, LoongArch::FMOV_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2579 | | { 2108 /* fmsub.d */, LoongArch::FMSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2580 | | { 2116 /* fmsub.s */, LoongArch::FMSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2581 | | { 2124 /* fmul.d */, LoongArch::FMUL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2582 | | { 2131 /* fmul.s */, LoongArch::FMUL_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2583 | | { 2138 /* fneg.d */, LoongArch::FNEG_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2584 | | { 2145 /* fneg.s */, LoongArch::FNEG_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2585 | | { 2152 /* fnmadd.d */, LoongArch::FNMADD_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2586 | | { 2161 /* fnmadd.s */, LoongArch::FNMADD_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2587 | | { 2170 /* fnmsub.d */, LoongArch::FNMSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2588 | | { 2179 /* fnmsub.s */, LoongArch::FNMSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2589 | | { 2188 /* frecip.d */, LoongArch::FRECIP_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2590 | | { 2197 /* frecip.s */, LoongArch::FRECIP_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2591 | | { 2206 /* frecipe.d */, LoongArch::FRECIPE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2592 | | { 2216 /* frecipe.s */, LoongArch::FRECIPE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2593 | | { 2226 /* frint.d */, LoongArch::FRINT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2594 | | { 2234 /* frint.s */, LoongArch::FRINT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2595 | | { 2242 /* frsqrt.d */, LoongArch::FRSQRT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2596 | | { 2251 /* frsqrt.s */, LoongArch::FRSQRT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2597 | | { 2260 /* frsqrte.d */, LoongArch::FRSQRTE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2598 | | { 2270 /* frsqrte.s */, LoongArch::FRSQRTE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2599 | | { 2280 /* fscaleb.d */, LoongArch::FSCALEB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2600 | | { 2290 /* fscaleb.s */, LoongArch::FSCALEB_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2601 | | { 2300 /* fsel */, LoongArch::FSEL_xS, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32, MCK_CFR }, }, |
2602 | | { 2305 /* fsqrt.d */, LoongArch::FSQRT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2603 | | { 2313 /* fsqrt.s */, LoongArch::FSQRT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2604 | | { 2321 /* fst.d */, LoongArch::FST_D, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_SImm12 }, }, |
2605 | | { 2327 /* fst.s */, LoongArch::FST_S, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_SImm12 }, }, |
2606 | | { 2333 /* fstgt.d */, LoongArch::FSTGT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_GPR }, }, |
2607 | | { 2341 /* fstgt.s */, LoongArch::FSTGT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_GPR }, }, |
2608 | | { 2349 /* fstle.d */, LoongArch::FSTLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_GPR }, }, |
2609 | | { 2357 /* fstle.s */, LoongArch::FSTLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_GPR }, }, |
2610 | | { 2365 /* fstx.d */, LoongArch::FSTX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_GPR, MCK_GPR }, }, |
2611 | | { 2372 /* fstx.s */, LoongArch::FSTX_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_GPR, MCK_GPR }, }, |
2612 | | { 2379 /* fsub.d */, LoongArch::FSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR64, MCK_FPR64, MCK_FPR64 }, }, |
2613 | | { 2386 /* fsub.s */, LoongArch::FSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_FPR32, MCK_FPR32, MCK_FPR32 }, }, |
2614 | | { 2393 /* ftint.l.d */, LoongArch::FTINT_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2615 | | { 2403 /* ftint.l.s */, LoongArch::FTINT_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2616 | | { 2413 /* ftint.w.d */, LoongArch::FTINT_W_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2617 | | { 2423 /* ftint.w.s */, LoongArch::FTINT_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2618 | | { 2433 /* ftintrm.l.d */, LoongArch::FTINTRM_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2619 | | { 2445 /* ftintrm.l.s */, LoongArch::FTINTRM_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2620 | | { 2457 /* ftintrm.w.d */, LoongArch::FTINTRM_W_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2621 | | { 2469 /* ftintrm.w.s */, LoongArch::FTINTRM_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2622 | | { 2481 /* ftintrne.l.d */, LoongArch::FTINTRNE_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2623 | | { 2494 /* ftintrne.l.s */, LoongArch::FTINTRNE_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2624 | | { 2507 /* ftintrne.w.d */, LoongArch::FTINTRNE_W_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2625 | | { 2520 /* ftintrne.w.s */, LoongArch::FTINTRNE_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2626 | | { 2533 /* ftintrp.l.d */, LoongArch::FTINTRP_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2627 | | { 2545 /* ftintrp.l.s */, LoongArch::FTINTRP_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2628 | | { 2557 /* ftintrp.w.d */, LoongArch::FTINTRP_W_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2629 | | { 2569 /* ftintrp.w.s */, LoongArch::FTINTRP_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2630 | | { 2581 /* ftintrz.l.d */, LoongArch::FTINTRZ_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR64 }, }, |
2631 | | { 2593 /* ftintrz.l.s */, LoongArch::FTINTRZ_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_FPR32 }, }, |
2632 | | { 2605 /* ftintrz.w.d */, LoongArch::FTINTRZ_W_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR64 }, }, |
2633 | | { 2617 /* ftintrz.w.s */, LoongArch::FTINTRZ_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_FPR32 }, }, |
2634 | | { 2629 /* gcsrrd */, LoongArch::GCSRRD, Convert__Reg1_0__UImm141_1, AMFBS_None, { MCK_GPR, MCK_UImm14 }, }, |
2635 | | { 2636 /* gcsrwr */, LoongArch::GCSRWR, Convert__Reg1_0__Tie0_1_1__UImm141_1, AMFBS_None, { MCK_GPR, MCK_UImm14 }, }, |
2636 | | { 2643 /* gcsrxchg */, LoongArch::GCSRXCHG, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm141_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm14 }, }, |
2637 | | { 2652 /* gtlbflush */, LoongArch::GTLBFLUSH, Convert_NoOperands, AMFBS_None, { }, }, |
2638 | | { 2662 /* hvcl */, LoongArch::HVCL, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2639 | | { 2667 /* ibar */, LoongArch::IBAR, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2640 | | { 2672 /* idle */, LoongArch::IDLE, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2641 | | { 2677 /* invtlb */, LoongArch::INVTLB, Convert__Reg1_2__Reg1_1__UImm51_0, AMFBS_None, { MCK_UImm5, MCK_GPR, MCK_GPR }, }, |
2642 | | { 2684 /* iocsrrd.b */, LoongArch::IOCSRRD_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2643 | | { 2694 /* iocsrrd.d */, LoongArch::IOCSRRD_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2644 | | { 2704 /* iocsrrd.h */, LoongArch::IOCSRRD_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2645 | | { 2714 /* iocsrrd.w */, LoongArch::IOCSRRD_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2646 | | { 2724 /* iocsrwr.b */, LoongArch::IOCSRWR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2647 | | { 2734 /* iocsrwr.d */, LoongArch::IOCSRWR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2648 | | { 2744 /* iocsrwr.h */, LoongArch::IOCSRWR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2649 | | { 2754 /* iocsrwr.w */, LoongArch::IOCSRWR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2650 | | { 2764 /* jirl */, LoongArch::JIRL, Convert__Reg1_0__Reg1_1__SImm16lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm16lsl2 }, }, |
2651 | | { 2769 /* jiscr0 */, LoongArch::JISCR0, Convert__SImm21lsl21_0, AMFBS_None, { MCK_SImm21lsl2 }, }, |
2652 | | { 2776 /* jiscr1 */, LoongArch::JISCR1, Convert__SImm21lsl21_0, AMFBS_None, { MCK_SImm21lsl2 }, }, |
2653 | | { 2783 /* jr */, LoongArch::JIRL, Convert__regR0__Reg1_0__imm_95_0, AMFBS_None, { MCK_GPR }, }, |
2654 | | { 2786 /* la */, LoongArch::PseudoLA_PCREL, Convert__Reg1_0__BareSymbol1_1, AMFBS_HasLaGlobalWithPcrel, { MCK_GPR, MCK_BareSymbol }, }, |
2655 | | { 2786 /* la */, LoongArch::PseudoLA_ABS, Convert__Reg1_0__BareSymbol1_1, AMFBS_HasLaGlobalWithAbs, { MCK_GPR, MCK_BareSymbol }, }, |
2656 | | { 2786 /* la */, LoongArch::PseudoLA_GOT, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2657 | | { 2789 /* la.abs */, LoongArch::PseudoLA_ABS, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2658 | | { 2789 /* la.abs */, LoongArch::PseudoLA_ABS_LARGE, Convert__Reg1_0__imm_95_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2659 | | { 2796 /* la.global */, LoongArch::PseudoLA_PCREL, Convert__Reg1_0__BareSymbol1_1, AMFBS_HasLaGlobalWithPcrel, { MCK_GPR, MCK_BareSymbol }, }, |
2660 | | { 2796 /* la.global */, LoongArch::PseudoLA_ABS, Convert__Reg1_0__BareSymbol1_1, AMFBS_HasLaGlobalWithAbs, { MCK_GPR, MCK_BareSymbol }, }, |
2661 | | { 2796 /* la.global */, LoongArch::PseudoLA_GOT, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2662 | | { 2796 /* la.global */, LoongArch::PseudoLA_PCREL_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_HasLaGlobalWithPcrel, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2663 | | { 2796 /* la.global */, LoongArch::PseudoLA_ABS_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_HasLaGlobalWithAbs, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2664 | | { 2796 /* la.global */, LoongArch::PseudoLA_GOT_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2665 | | { 2806 /* la.got */, LoongArch::PseudoLA_GOT, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2666 | | { 2806 /* la.got */, LoongArch::PseudoLA_GOT_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2667 | | { 2813 /* la.local */, LoongArch::PseudoLA_ABS, Convert__Reg1_0__BareSymbol1_1, AMFBS_HasLaLocalWithAbs, { MCK_GPR, MCK_BareSymbol }, }, |
2668 | | { 2813 /* la.local */, LoongArch::PseudoLA_PCREL, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2669 | | { 2813 /* la.local */, LoongArch::PseudoLA_ABS_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_HasLaLocalWithAbs, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2670 | | { 2813 /* la.local */, LoongArch::PseudoLA_PCREL_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2671 | | { 2822 /* la.pcrel */, LoongArch::PseudoLA_PCREL, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2672 | | { 2822 /* la.pcrel */, LoongArch::PseudoLA_PCREL_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2673 | | { 2831 /* la.tls.gd */, LoongArch::PseudoLA_TLS_GD, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2674 | | { 2831 /* la.tls.gd */, LoongArch::PseudoLA_TLS_GD_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2675 | | { 2841 /* la.tls.ie */, LoongArch::PseudoLA_TLS_IE, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2676 | | { 2841 /* la.tls.ie */, LoongArch::PseudoLA_TLS_IE_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2677 | | { 2851 /* la.tls.ld */, LoongArch::PseudoLA_TLS_LD, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2678 | | { 2851 /* la.tls.ld */, LoongArch::PseudoLA_TLS_LD_LARGE, Convert__Reg1_0__Reg1_1__BareSymbol1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_BareSymbol }, }, |
2679 | | { 2861 /* la.tls.le */, LoongArch::PseudoLA_TLS_LE, Convert__Reg1_0__BareSymbol1_1, AMFBS_None, { MCK_GPR, MCK_BareSymbol }, }, |
2680 | | { 2871 /* ld.b */, LoongArch::LD_B, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2681 | | { 2876 /* ld.bu */, LoongArch::LD_BU, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2682 | | { 2882 /* ld.d */, LoongArch::LD_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2683 | | { 2887 /* ld.h */, LoongArch::LD_H, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2684 | | { 2892 /* ld.hu */, LoongArch::LD_HU, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2685 | | { 2898 /* ld.w */, LoongArch::LD_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2686 | | { 2903 /* ld.wu */, LoongArch::LD_WU, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2687 | | { 2909 /* lddir */, LoongArch::LDDIR, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm8 }, }, |
2688 | | { 2915 /* ldgt.b */, LoongArch::LDGT_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2689 | | { 2922 /* ldgt.d */, LoongArch::LDGT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2690 | | { 2929 /* ldgt.h */, LoongArch::LDGT_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2691 | | { 2936 /* ldgt.w */, LoongArch::LDGT_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2692 | | { 2943 /* ldl.d */, LoongArch::LDL_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2693 | | { 2949 /* ldl.w */, LoongArch::LDL_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2694 | | { 2955 /* ldle.b */, LoongArch::LDLE_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2695 | | { 2962 /* ldle.d */, LoongArch::LDLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2696 | | { 2969 /* ldle.h */, LoongArch::LDLE_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2697 | | { 2976 /* ldle.w */, LoongArch::LDLE_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2698 | | { 2983 /* ldpte */, LoongArch::LDPTE, Convert__Reg1_0__UImm81_1, AMFBS_None, { MCK_GPR, MCK_UImm8 }, }, |
2699 | | { 2989 /* ldptr.d */, LoongArch::LDPTR_D, Convert__Reg1_0__Reg1_1__SImm14lsl21_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2700 | | { 2997 /* ldptr.w */, LoongArch::LDPTR_W, Convert__Reg1_0__Reg1_1__SImm14lsl21_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2701 | | { 3005 /* ldr.d */, LoongArch::LDR_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2702 | | { 3011 /* ldr.w */, LoongArch::LDR_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2703 | | { 3017 /* ldx.b */, LoongArch::LDX_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2704 | | { 3023 /* ldx.bu */, LoongArch::LDX_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2705 | | { 3030 /* ldx.d */, LoongArch::LDX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2706 | | { 3036 /* ldx.h */, LoongArch::LDX_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2707 | | { 3042 /* ldx.hu */, LoongArch::LDX_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2708 | | { 3049 /* ldx.w */, LoongArch::LDX_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2709 | | { 3055 /* ldx.wu */, LoongArch::LDX_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2710 | | { 3062 /* li.d */, LoongArch::PseudoLI_D, Convert__Reg1_0__Imm1_1, AMFBS_IsLA64, { MCK_GPR, MCK_Imm }, }, |
2711 | | { 3067 /* li.w */, LoongArch::PseudoLI_W, Convert__Reg1_0__Imm321_1, AMFBS_None, { MCK_GPR, MCK_Imm32 }, }, |
2712 | | { 3072 /* ll.d */, LoongArch::LL_D, Convert__Reg1_0__Reg1_1__SImm14lsl21_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2713 | | { 3077 /* ll.w */, LoongArch::LL_W, Convert__Reg1_0__Reg1_1__SImm14lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2714 | | { 3082 /* llacq.d */, LoongArch::LLACQ_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2715 | | { 3090 /* llacq.w */, LoongArch::LLACQ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2716 | | { 3098 /* lu12i.w */, LoongArch::LU12I_W, Convert__Reg1_0__SImm20lu12iw1_1, AMFBS_None, { MCK_GPR, MCK_SImm20lu12iw }, }, |
2717 | | { 3106 /* lu32i.d */, LoongArch::LU32I_D, Convert__Reg1_0__Tie0_1_1__SImm20lu32id1_1, AMFBS_IsLA64, { MCK_GPR, MCK_SImm20lu32id }, }, |
2718 | | { 3114 /* lu52i.d */, LoongArch::LU52I_D, Convert__Reg1_0__Reg1_1__SImm12lu52id1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12lu52id }, }, |
2719 | | { 3122 /* maskeqz */, LoongArch::MASKEQZ, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2720 | | { 3130 /* masknez */, LoongArch::MASKNEZ, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2721 | | { 3138 /* mod.d */, LoongArch::MOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2722 | | { 3144 /* mod.du */, LoongArch::MOD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2723 | | { 3151 /* mod.w */, LoongArch::MOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2724 | | { 3157 /* mod.wu */, LoongArch::MOD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2725 | | { 3164 /* movcf2fr */, LoongArch::MOVCF2FR_xS, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_CFR }, }, |
2726 | | { 3173 /* movcf2gr */, LoongArch::MOVCF2GR, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_CFR }, }, |
2727 | | { 3182 /* move */, LoongArch::OR, Convert__Reg1_0__Reg1_1__regR0, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2728 | | { 3187 /* movfcsr2gr */, LoongArch::MOVFCSR2GR, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_FCSR }, }, |
2729 | | { 3198 /* movfr2cf */, LoongArch::MOVFR2CF_xS, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_FPR32 }, }, |
2730 | | { 3207 /* movfr2gr.d */, LoongArch::MOVFR2GR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_FPR64 }, }, |
2731 | | { 3218 /* movfr2gr.s */, LoongArch::MOVFR2GR_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_FPR32 }, }, |
2732 | | { 3229 /* movfrh2gr.s */, LoongArch::MOVFRH2GR_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_FPR64 }, }, |
2733 | | { 3241 /* movgr2cf */, LoongArch::MOVGR2CF, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_GPR }, }, |
2734 | | { 3250 /* movgr2fcsr */, LoongArch::MOVGR2FCSR, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FCSR, MCK_GPR }, }, |
2735 | | { 3261 /* movgr2fr.d */, LoongArch::MOVGR2FR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_FPR64, MCK_GPR }, }, |
2736 | | { 3272 /* movgr2fr.w */, LoongArch::MOVGR2FR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_FPR32, MCK_GPR }, }, |
2737 | | { 3283 /* movgr2frh.w */, LoongArch::MOVGR2FRH_W, Convert__Reg1_0__Tie0_1_1__Reg1_1, AMFBS_None, { MCK_FPR64, MCK_GPR }, }, |
2738 | | { 3295 /* movgr2scr */, LoongArch::MOVGR2SCR, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_SCR, MCK_GPR }, }, |
2739 | | { 3305 /* movscr2gr */, LoongArch::MOVSCR2GR, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_SCR }, }, |
2740 | | { 3315 /* mul.d */, LoongArch::MUL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2741 | | { 3321 /* mul.w */, LoongArch::MUL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2742 | | { 3327 /* mulh.d */, LoongArch::MULH_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2743 | | { 3334 /* mulh.du */, LoongArch::MULH_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2744 | | { 3342 /* mulh.w */, LoongArch::MULH_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2745 | | { 3349 /* mulh.wu */, LoongArch::MULH_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2746 | | { 3357 /* mulw.d.w */, LoongArch::MULW_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2747 | | { 3366 /* mulw.d.wu */, LoongArch::MULW_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2748 | | { 3376 /* nop */, LoongArch::ANDI, Convert__regR0__regR0__imm_95_0, AMFBS_None, { }, }, |
2749 | | { 3380 /* nor */, LoongArch::NOR, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2750 | | { 3384 /* or */, LoongArch::OR, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2751 | | { 3387 /* ori */, LoongArch::ORI, Convert__Reg1_0__Reg1_1__UImm12ori1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm12ori }, }, |
2752 | | { 3391 /* orn */, LoongArch::ORN, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2753 | | { 3395 /* pcaddi */, LoongArch::PCADDI, Convert__Reg1_0__SImm201_1, AMFBS_None, { MCK_GPR, MCK_SImm20 }, }, |
2754 | | { 3402 /* pcaddu12i */, LoongArch::PCADDU12I, Convert__Reg1_0__SImm201_1, AMFBS_None, { MCK_GPR, MCK_SImm20 }, }, |
2755 | | { 3412 /* pcaddu18i */, LoongArch::PCADDU18I, Convert__Reg1_0__SImm20pcaddu18i1_1, AMFBS_IsLA64, { MCK_GPR, MCK_SImm20pcaddu18i }, }, |
2756 | | { 3422 /* pcalau12i */, LoongArch::PCALAU12I, Convert__Reg1_0__SImm20pcalau12i1_1, AMFBS_None, { MCK_GPR, MCK_SImm20pcalau12i }, }, |
2757 | | { 3432 /* preld */, LoongArch::PRELD, Convert__UImm51_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_UImm5, MCK_GPR, MCK_SImm12 }, }, |
2758 | | { 3438 /* preldx */, LoongArch::PRELDX, Convert__UImm51_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_UImm5, MCK_GPR, MCK_GPR }, }, |
2759 | | { 3445 /* rcr.b */, LoongArch::RCR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2760 | | { 3451 /* rcr.d */, LoongArch::RCR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2761 | | { 3457 /* rcr.h */, LoongArch::RCR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2762 | | { 3463 /* rcr.w */, LoongArch::RCR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2763 | | { 3469 /* rcri.b */, LoongArch::RCRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm3 }, }, |
2764 | | { 3476 /* rcri.d */, LoongArch::RCRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6 }, }, |
2765 | | { 3483 /* rcri.h */, LoongArch::RCRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2766 | | { 3490 /* rcri.w */, LoongArch::RCRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5 }, }, |
2767 | | { 3497 /* rdtime.d */, LoongArch::RDTIME_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2768 | | { 3506 /* rdtimeh.w */, LoongArch::RDTIMEH_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2769 | | { 3516 /* rdtimel.w */, LoongArch::RDTIMEL_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2770 | | { 3526 /* ret */, LoongArch::JIRL, Convert__regR0__regR1__imm_95_0, AMFBS_None, { }, }, |
2771 | | { 3530 /* revb.2h */, LoongArch::REVB_2H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2772 | | { 3538 /* revb.2w */, LoongArch::REVB_2W, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2773 | | { 3546 /* revb.4h */, LoongArch::REVB_4H, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2774 | | { 3554 /* revb.d */, LoongArch::REVB_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2775 | | { 3561 /* revh.2w */, LoongArch::REVH_2W, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2776 | | { 3569 /* revh.d */, LoongArch::REVH_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2777 | | { 3576 /* rotr.b */, LoongArch::ROTR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2778 | | { 3583 /* rotr.d */, LoongArch::ROTR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2779 | | { 3590 /* rotr.h */, LoongArch::ROTR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2780 | | { 3597 /* rotr.w */, LoongArch::ROTR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2781 | | { 3604 /* rotri.b */, LoongArch::ROTRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm3 }, }, |
2782 | | { 3612 /* rotri.d */, LoongArch::ROTRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6 }, }, |
2783 | | { 3620 /* rotri.h */, LoongArch::ROTRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm4 }, }, |
2784 | | { 3628 /* rotri.w */, LoongArch::ROTRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5 }, }, |
2785 | | { 3636 /* sbc.b */, LoongArch::SBC_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2786 | | { 3642 /* sbc.d */, LoongArch::SBC_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2787 | | { 3648 /* sbc.h */, LoongArch::SBC_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2788 | | { 3654 /* sbc.w */, LoongArch::SBC_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2789 | | { 3660 /* sc.d */, LoongArch::SC_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__SImm14lsl21_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2790 | | { 3665 /* sc.q */, LoongArch::SC_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2791 | | { 3670 /* sc.w */, LoongArch::SC_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__SImm14lsl21_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2792 | | { 3675 /* screl.d */, LoongArch::SCREL_D, Convert__Reg1_0__Tie0_1_1__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
2793 | | { 3683 /* screl.w */, LoongArch::SCREL_W, Convert__Reg1_0__Tie0_1_1__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2794 | | { 3691 /* setarmj */, LoongArch::SETARMJ, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
2795 | | { 3699 /* setx86j */, LoongArch::SETX86J, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
2796 | | { 3707 /* setx86loope */, LoongArch::SETX86LOOPE, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2797 | | { 3719 /* setx86loopne */, LoongArch::SETX86LOOPNE, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
2798 | | { 3732 /* sll.d */, LoongArch::SLL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2799 | | { 3738 /* sll.w */, LoongArch::SLL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2800 | | { 3744 /* slli.d */, LoongArch::SLLI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6 }, }, |
2801 | | { 3751 /* slli.w */, LoongArch::SLLI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5 }, }, |
2802 | | { 3758 /* slt */, LoongArch::SLT, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2803 | | { 3762 /* slti */, LoongArch::SLTI, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12 }, }, |
2804 | | { 3767 /* sltu */, LoongArch::SLTU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2805 | | { 3772 /* sltui */, LoongArch::SLTUI, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12 }, }, |
2806 | | { 3778 /* sra.d */, LoongArch::SRA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2807 | | { 3784 /* sra.w */, LoongArch::SRA_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2808 | | { 3790 /* srai.d */, LoongArch::SRAI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6 }, }, |
2809 | | { 3797 /* srai.w */, LoongArch::SRAI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5 }, }, |
2810 | | { 3804 /* srl.d */, LoongArch::SRL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2811 | | { 3810 /* srl.w */, LoongArch::SRL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2812 | | { 3816 /* srli.d */, LoongArch::SRLI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_UImm6 }, }, |
2813 | | { 3823 /* srli.w */, LoongArch::SRLI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm5 }, }, |
2814 | | { 3830 /* st.b */, LoongArch::ST_B, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2815 | | { 3835 /* st.d */, LoongArch::ST_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2816 | | { 3840 /* st.h */, LoongArch::ST_H, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2817 | | { 3845 /* st.w */, LoongArch::ST_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2818 | | { 3850 /* stgt.b */, LoongArch::STGT_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2819 | | { 3857 /* stgt.d */, LoongArch::STGT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2820 | | { 3864 /* stgt.h */, LoongArch::STGT_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2821 | | { 3871 /* stgt.w */, LoongArch::STGT_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2822 | | { 3878 /* stl.d */, LoongArch::STL_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2823 | | { 3884 /* stl.w */, LoongArch::STL_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2824 | | { 3890 /* stle.b */, LoongArch::STLE_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2825 | | { 3897 /* stle.d */, LoongArch::STLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2826 | | { 3904 /* stle.h */, LoongArch::STLE_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2827 | | { 3911 /* stle.w */, LoongArch::STLE_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2828 | | { 3918 /* stptr.d */, LoongArch::STPTR_D, Convert__Reg1_0__Reg1_1__SImm14lsl21_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2829 | | { 3926 /* stptr.w */, LoongArch::STPTR_W, Convert__Reg1_0__Reg1_1__SImm14lsl21_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm14lsl2 }, }, |
2830 | | { 3934 /* str.d */, LoongArch::STR_D, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2831 | | { 3940 /* str.w */, LoongArch::STR_W, Convert__Reg1_0__Reg1_1__SImm12addlike1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_SImm12addlike }, }, |
2832 | | { 3946 /* stx.b */, LoongArch::STX_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2833 | | { 3952 /* stx.d */, LoongArch::STX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2834 | | { 3958 /* stx.h */, LoongArch::STX_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2835 | | { 3964 /* stx.w */, LoongArch::STX_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2836 | | { 3970 /* sub.d */, LoongArch::SUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_IsLA64, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2837 | | { 3976 /* sub.w */, LoongArch::SUB_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
2838 | | { 3982 /* syscall */, LoongArch::SYSCALL, Convert__UImm151_0, AMFBS_None, { MCK_UImm15 }, }, |
2839 | | { 3990 /* tail36 */, LoongArch::PseudoTAIL36, Convert__Reg1_0__BareSymbol1_1, AMFBS_IsLA64, { MCK_GPR, MCK_BareSymbol }, }, |
2840 | | { 3997 /* tlbclr */, LoongArch::TLBCLR, Convert_NoOperands, AMFBS_None, { }, }, |
2841 | | { 4004 /* tlbfill */, LoongArch::TLBFILL, Convert_NoOperands, AMFBS_None, { }, }, |
2842 | | { 4012 /* tlbflush */, LoongArch::TLBFLUSH, Convert_NoOperands, AMFBS_None, { }, }, |
2843 | | { 4021 /* tlbrd */, LoongArch::TLBRD, Convert_NoOperands, AMFBS_None, { }, }, |
2844 | | { 4027 /* tlbsrch */, LoongArch::TLBSRCH, Convert_NoOperands, AMFBS_None, { }, }, |
2845 | | { 4035 /* tlbwr */, LoongArch::TLBWR, Convert_NoOperands, AMFBS_None, { }, }, |
2846 | | { 4041 /* vabsd.b */, LoongArch::VABSD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2847 | | { 4049 /* vabsd.bu */, LoongArch::VABSD_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2848 | | { 4058 /* vabsd.d */, LoongArch::VABSD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2849 | | { 4066 /* vabsd.du */, LoongArch::VABSD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2850 | | { 4075 /* vabsd.h */, LoongArch::VABSD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2851 | | { 4083 /* vabsd.hu */, LoongArch::VABSD_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2852 | | { 4092 /* vabsd.w */, LoongArch::VABSD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2853 | | { 4100 /* vabsd.wu */, LoongArch::VABSD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2854 | | { 4109 /* vadd.b */, LoongArch::VADD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2855 | | { 4116 /* vadd.d */, LoongArch::VADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2856 | | { 4123 /* vadd.h */, LoongArch::VADD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2857 | | { 4130 /* vadd.q */, LoongArch::VADD_Q, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2858 | | { 4137 /* vadd.w */, LoongArch::VADD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2859 | | { 4144 /* vadda.b */, LoongArch::VADDA_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2860 | | { 4152 /* vadda.d */, LoongArch::VADDA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2861 | | { 4160 /* vadda.h */, LoongArch::VADDA_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2862 | | { 4168 /* vadda.w */, LoongArch::VADDA_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2863 | | { 4176 /* vaddi.bu */, LoongArch::VADDI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2864 | | { 4185 /* vaddi.du */, LoongArch::VADDI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2865 | | { 4194 /* vaddi.hu */, LoongArch::VADDI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2866 | | { 4203 /* vaddi.wu */, LoongArch::VADDI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2867 | | { 4212 /* vaddwev.d.w */, LoongArch::VADDWEV_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2868 | | { 4224 /* vaddwev.d.wu */, LoongArch::VADDWEV_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2869 | | { 4237 /* vaddwev.d.wu.w */, LoongArch::VADDWEV_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2870 | | { 4252 /* vaddwev.h.b */, LoongArch::VADDWEV_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2871 | | { 4264 /* vaddwev.h.bu */, LoongArch::VADDWEV_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2872 | | { 4277 /* vaddwev.h.bu.b */, LoongArch::VADDWEV_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2873 | | { 4292 /* vaddwev.q.d */, LoongArch::VADDWEV_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2874 | | { 4304 /* vaddwev.q.du */, LoongArch::VADDWEV_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2875 | | { 4317 /* vaddwev.q.du.d */, LoongArch::VADDWEV_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2876 | | { 4332 /* vaddwev.w.h */, LoongArch::VADDWEV_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2877 | | { 4344 /* vaddwev.w.hu */, LoongArch::VADDWEV_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2878 | | { 4357 /* vaddwev.w.hu.h */, LoongArch::VADDWEV_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2879 | | { 4372 /* vaddwod.d.w */, LoongArch::VADDWOD_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2880 | | { 4384 /* vaddwod.d.wu */, LoongArch::VADDWOD_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2881 | | { 4397 /* vaddwod.d.wu.w */, LoongArch::VADDWOD_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2882 | | { 4412 /* vaddwod.h.b */, LoongArch::VADDWOD_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2883 | | { 4424 /* vaddwod.h.bu */, LoongArch::VADDWOD_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2884 | | { 4437 /* vaddwod.h.bu.b */, LoongArch::VADDWOD_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2885 | | { 4452 /* vaddwod.q.d */, LoongArch::VADDWOD_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2886 | | { 4464 /* vaddwod.q.du */, LoongArch::VADDWOD_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2887 | | { 4477 /* vaddwod.q.du.d */, LoongArch::VADDWOD_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2888 | | { 4492 /* vaddwod.w.h */, LoongArch::VADDWOD_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2889 | | { 4504 /* vaddwod.w.hu */, LoongArch::VADDWOD_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2890 | | { 4517 /* vaddwod.w.hu.h */, LoongArch::VADDWOD_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2891 | | { 4532 /* vand.v */, LoongArch::VAND_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2892 | | { 4539 /* vandi.b */, LoongArch::VANDI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
2893 | | { 4547 /* vandn.v */, LoongArch::VANDN_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2894 | | { 4555 /* vavg.b */, LoongArch::VAVG_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2895 | | { 4562 /* vavg.bu */, LoongArch::VAVG_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2896 | | { 4570 /* vavg.d */, LoongArch::VAVG_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2897 | | { 4577 /* vavg.du */, LoongArch::VAVG_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2898 | | { 4585 /* vavg.h */, LoongArch::VAVG_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2899 | | { 4592 /* vavg.hu */, LoongArch::VAVG_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2900 | | { 4600 /* vavg.w */, LoongArch::VAVG_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2901 | | { 4607 /* vavg.wu */, LoongArch::VAVG_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2902 | | { 4615 /* vavgr.b */, LoongArch::VAVGR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2903 | | { 4623 /* vavgr.bu */, LoongArch::VAVGR_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2904 | | { 4632 /* vavgr.d */, LoongArch::VAVGR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2905 | | { 4640 /* vavgr.du */, LoongArch::VAVGR_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2906 | | { 4649 /* vavgr.h */, LoongArch::VAVGR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2907 | | { 4657 /* vavgr.hu */, LoongArch::VAVGR_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2908 | | { 4666 /* vavgr.w */, LoongArch::VAVGR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2909 | | { 4674 /* vavgr.wu */, LoongArch::VAVGR_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2910 | | { 4683 /* vbitclr.b */, LoongArch::VBITCLR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2911 | | { 4693 /* vbitclr.d */, LoongArch::VBITCLR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2912 | | { 4703 /* vbitclr.h */, LoongArch::VBITCLR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2913 | | { 4713 /* vbitclr.w */, LoongArch::VBITCLR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2914 | | { 4723 /* vbitclri.b */, LoongArch::VBITCLRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
2915 | | { 4734 /* vbitclri.d */, LoongArch::VBITCLRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
2916 | | { 4745 /* vbitclri.h */, LoongArch::VBITCLRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
2917 | | { 4756 /* vbitclri.w */, LoongArch::VBITCLRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2918 | | { 4767 /* vbitrev.b */, LoongArch::VBITREV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2919 | | { 4777 /* vbitrev.d */, LoongArch::VBITREV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2920 | | { 4787 /* vbitrev.h */, LoongArch::VBITREV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2921 | | { 4797 /* vbitrev.w */, LoongArch::VBITREV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2922 | | { 4807 /* vbitrevi.b */, LoongArch::VBITREVI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
2923 | | { 4818 /* vbitrevi.d */, LoongArch::VBITREVI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
2924 | | { 4829 /* vbitrevi.h */, LoongArch::VBITREVI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
2925 | | { 4840 /* vbitrevi.w */, LoongArch::VBITREVI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2926 | | { 4851 /* vbitsel.v */, LoongArch::VBITSEL_V, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2927 | | { 4861 /* vbitseli.b */, LoongArch::VBITSELI_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
2928 | | { 4872 /* vbitset.b */, LoongArch::VBITSET_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2929 | | { 4882 /* vbitset.d */, LoongArch::VBITSET_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2930 | | { 4892 /* vbitset.h */, LoongArch::VBITSET_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2931 | | { 4902 /* vbitset.w */, LoongArch::VBITSET_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2932 | | { 4912 /* vbitseti.b */, LoongArch::VBITSETI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
2933 | | { 4923 /* vbitseti.d */, LoongArch::VBITSETI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
2934 | | { 4934 /* vbitseti.h */, LoongArch::VBITSETI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
2935 | | { 4945 /* vbitseti.w */, LoongArch::VBITSETI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2936 | | { 4956 /* vbsll.v */, LoongArch::VBSLL_V, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2937 | | { 4964 /* vbsrl.v */, LoongArch::VBSRL_V, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
2938 | | { 4972 /* vclo.b */, LoongArch::VCLO_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2939 | | { 4979 /* vclo.d */, LoongArch::VCLO_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2940 | | { 4986 /* vclo.h */, LoongArch::VCLO_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2941 | | { 4993 /* vclo.w */, LoongArch::VCLO_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2942 | | { 5000 /* vclz.b */, LoongArch::VCLZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2943 | | { 5007 /* vclz.d */, LoongArch::VCLZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2944 | | { 5014 /* vclz.h */, LoongArch::VCLZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2945 | | { 5021 /* vclz.w */, LoongArch::VCLZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2946 | | { 5028 /* vdiv.b */, LoongArch::VDIV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2947 | | { 5035 /* vdiv.bu */, LoongArch::VDIV_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2948 | | { 5043 /* vdiv.d */, LoongArch::VDIV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2949 | | { 5050 /* vdiv.du */, LoongArch::VDIV_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2950 | | { 5058 /* vdiv.h */, LoongArch::VDIV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2951 | | { 5065 /* vdiv.hu */, LoongArch::VDIV_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2952 | | { 5073 /* vdiv.w */, LoongArch::VDIV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2953 | | { 5080 /* vdiv.wu */, LoongArch::VDIV_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2954 | | { 5088 /* vext2xv.d.b */, LoongArch::VEXT2XV_D_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2955 | | { 5100 /* vext2xv.d.h */, LoongArch::VEXT2XV_D_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2956 | | { 5112 /* vext2xv.d.w */, LoongArch::VEXT2XV_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2957 | | { 5124 /* vext2xv.du.bu */, LoongArch::VEXT2XV_DU_BU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2958 | | { 5138 /* vext2xv.du.hu */, LoongArch::VEXT2XV_DU_HU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2959 | | { 5152 /* vext2xv.du.wu */, LoongArch::VEXT2XV_DU_WU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2960 | | { 5166 /* vext2xv.h.b */, LoongArch::VEXT2XV_H_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2961 | | { 5178 /* vext2xv.hu.bu */, LoongArch::VEXT2XV_HU_BU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2962 | | { 5192 /* vext2xv.w.b */, LoongArch::VEXT2XV_W_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2963 | | { 5204 /* vext2xv.w.h */, LoongArch::VEXT2XV_W_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2964 | | { 5216 /* vext2xv.wu.bu */, LoongArch::VEXT2XV_WU_BU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2965 | | { 5230 /* vext2xv.wu.hu */, LoongArch::VEXT2XV_WU_HU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
2966 | | { 5244 /* vexth.d.w */, LoongArch::VEXTH_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2967 | | { 5254 /* vexth.du.wu */, LoongArch::VEXTH_DU_WU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2968 | | { 5266 /* vexth.h.b */, LoongArch::VEXTH_H_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2969 | | { 5276 /* vexth.hu.bu */, LoongArch::VEXTH_HU_BU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2970 | | { 5288 /* vexth.q.d */, LoongArch::VEXTH_Q_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2971 | | { 5298 /* vexth.qu.du */, LoongArch::VEXTH_QU_DU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2972 | | { 5310 /* vexth.w.h */, LoongArch::VEXTH_W_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2973 | | { 5320 /* vexth.wu.hu */, LoongArch::VEXTH_WU_HU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2974 | | { 5332 /* vextl.q.d */, LoongArch::VEXTL_Q_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2975 | | { 5342 /* vextl.qu.du */, LoongArch::VEXTL_QU_DU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2976 | | { 5354 /* vextrins.b */, LoongArch::VEXTRINS_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
2977 | | { 5365 /* vextrins.d */, LoongArch::VEXTRINS_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
2978 | | { 5376 /* vextrins.h */, LoongArch::VEXTRINS_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
2979 | | { 5387 /* vextrins.w */, LoongArch::VEXTRINS_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
2980 | | { 5398 /* vfadd.d */, LoongArch::VFADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2981 | | { 5406 /* vfadd.s */, LoongArch::VFADD_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2982 | | { 5414 /* vfclass.d */, LoongArch::VFCLASS_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2983 | | { 5424 /* vfclass.s */, LoongArch::VFCLASS_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
2984 | | { 5434 /* vfcmp.caf.d */, LoongArch::VFCMP_CAF_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2985 | | { 5446 /* vfcmp.caf.s */, LoongArch::VFCMP_CAF_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2986 | | { 5458 /* vfcmp.ceq.d */, LoongArch::VFCMP_CEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2987 | | { 5470 /* vfcmp.ceq.s */, LoongArch::VFCMP_CEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2988 | | { 5482 /* vfcmp.cle.d */, LoongArch::VFCMP_CLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2989 | | { 5494 /* vfcmp.cle.s */, LoongArch::VFCMP_CLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2990 | | { 5506 /* vfcmp.clt.d */, LoongArch::VFCMP_CLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2991 | | { 5518 /* vfcmp.clt.s */, LoongArch::VFCMP_CLT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2992 | | { 5530 /* vfcmp.cne.d */, LoongArch::VFCMP_CNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2993 | | { 5542 /* vfcmp.cne.s */, LoongArch::VFCMP_CNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2994 | | { 5554 /* vfcmp.cor.d */, LoongArch::VFCMP_COR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2995 | | { 5566 /* vfcmp.cor.s */, LoongArch::VFCMP_COR_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2996 | | { 5578 /* vfcmp.cueq.d */, LoongArch::VFCMP_CUEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2997 | | { 5591 /* vfcmp.cueq.s */, LoongArch::VFCMP_CUEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2998 | | { 5604 /* vfcmp.cule.d */, LoongArch::VFCMP_CULE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
2999 | | { 5617 /* vfcmp.cule.s */, LoongArch::VFCMP_CULE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3000 | | { 5630 /* vfcmp.cult.d */, LoongArch::VFCMP_CULT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3001 | | { 5643 /* vfcmp.cult.s */, LoongArch::VFCMP_CULT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3002 | | { 5656 /* vfcmp.cun.d */, LoongArch::VFCMP_CUN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3003 | | { 5668 /* vfcmp.cun.s */, LoongArch::VFCMP_CUN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3004 | | { 5680 /* vfcmp.cune.d */, LoongArch::VFCMP_CUNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3005 | | { 5693 /* vfcmp.cune.s */, LoongArch::VFCMP_CUNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3006 | | { 5706 /* vfcmp.saf.d */, LoongArch::VFCMP_SAF_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3007 | | { 5718 /* vfcmp.saf.s */, LoongArch::VFCMP_SAF_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3008 | | { 5730 /* vfcmp.seq.d */, LoongArch::VFCMP_SEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3009 | | { 5742 /* vfcmp.seq.s */, LoongArch::VFCMP_SEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3010 | | { 5754 /* vfcmp.sle.d */, LoongArch::VFCMP_SLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3011 | | { 5766 /* vfcmp.sle.s */, LoongArch::VFCMP_SLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3012 | | { 5778 /* vfcmp.slt.d */, LoongArch::VFCMP_SLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3013 | | { 5790 /* vfcmp.slt.s */, LoongArch::VFCMP_SLT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3014 | | { 5802 /* vfcmp.sne.d */, LoongArch::VFCMP_SNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3015 | | { 5814 /* vfcmp.sne.s */, LoongArch::VFCMP_SNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3016 | | { 5826 /* vfcmp.sor.d */, LoongArch::VFCMP_SOR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3017 | | { 5838 /* vfcmp.sor.s */, LoongArch::VFCMP_SOR_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3018 | | { 5850 /* vfcmp.sueq.d */, LoongArch::VFCMP_SUEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3019 | | { 5863 /* vfcmp.sueq.s */, LoongArch::VFCMP_SUEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3020 | | { 5876 /* vfcmp.sule.d */, LoongArch::VFCMP_SULE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3021 | | { 5889 /* vfcmp.sule.s */, LoongArch::VFCMP_SULE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3022 | | { 5902 /* vfcmp.sult.d */, LoongArch::VFCMP_SULT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3023 | | { 5915 /* vfcmp.sult.s */, LoongArch::VFCMP_SULT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3024 | | { 5928 /* vfcmp.sun.d */, LoongArch::VFCMP_SUN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3025 | | { 5940 /* vfcmp.sun.s */, LoongArch::VFCMP_SUN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3026 | | { 5952 /* vfcmp.sune.d */, LoongArch::VFCMP_SUNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3027 | | { 5965 /* vfcmp.sune.s */, LoongArch::VFCMP_SUNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3028 | | { 5978 /* vfcvt.h.s */, LoongArch::VFCVT_H_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3029 | | { 5988 /* vfcvt.s.d */, LoongArch::VFCVT_S_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3030 | | { 5998 /* vfcvth.d.s */, LoongArch::VFCVTH_D_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3031 | | { 6009 /* vfcvth.s.h */, LoongArch::VFCVTH_S_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3032 | | { 6020 /* vfcvtl.d.s */, LoongArch::VFCVTL_D_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3033 | | { 6031 /* vfcvtl.s.h */, LoongArch::VFCVTL_S_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3034 | | { 6042 /* vfdiv.d */, LoongArch::VFDIV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3035 | | { 6050 /* vfdiv.s */, LoongArch::VFDIV_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3036 | | { 6058 /* vffint.d.l */, LoongArch::VFFINT_D_L, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3037 | | { 6069 /* vffint.d.lu */, LoongArch::VFFINT_D_LU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3038 | | { 6081 /* vffint.s.l */, LoongArch::VFFINT_S_L, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3039 | | { 6092 /* vffint.s.w */, LoongArch::VFFINT_S_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3040 | | { 6103 /* vffint.s.wu */, LoongArch::VFFINT_S_WU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3041 | | { 6115 /* vffinth.d.w */, LoongArch::VFFINTH_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3042 | | { 6127 /* vffintl.d.w */, LoongArch::VFFINTL_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3043 | | { 6139 /* vflogb.d */, LoongArch::VFLOGB_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3044 | | { 6148 /* vflogb.s */, LoongArch::VFLOGB_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3045 | | { 6157 /* vfmadd.d */, LoongArch::VFMADD_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3046 | | { 6166 /* vfmadd.s */, LoongArch::VFMADD_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3047 | | { 6175 /* vfmax.d */, LoongArch::VFMAX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3048 | | { 6183 /* vfmax.s */, LoongArch::VFMAX_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3049 | | { 6191 /* vfmaxa.d */, LoongArch::VFMAXA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3050 | | { 6200 /* vfmaxa.s */, LoongArch::VFMAXA_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3051 | | { 6209 /* vfmin.d */, LoongArch::VFMIN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3052 | | { 6217 /* vfmin.s */, LoongArch::VFMIN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3053 | | { 6225 /* vfmina.d */, LoongArch::VFMINA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3054 | | { 6234 /* vfmina.s */, LoongArch::VFMINA_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3055 | | { 6243 /* vfmsub.d */, LoongArch::VFMSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3056 | | { 6252 /* vfmsub.s */, LoongArch::VFMSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3057 | | { 6261 /* vfmul.d */, LoongArch::VFMUL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3058 | | { 6269 /* vfmul.s */, LoongArch::VFMUL_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3059 | | { 6277 /* vfnmadd.d */, LoongArch::VFNMADD_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3060 | | { 6287 /* vfnmadd.s */, LoongArch::VFNMADD_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3061 | | { 6297 /* vfnmsub.d */, LoongArch::VFNMSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3062 | | { 6307 /* vfnmsub.s */, LoongArch::VFNMSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3063 | | { 6317 /* vfrecip.d */, LoongArch::VFRECIP_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3064 | | { 6327 /* vfrecip.s */, LoongArch::VFRECIP_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3065 | | { 6337 /* vfrecipe.d */, LoongArch::VFRECIPE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3066 | | { 6348 /* vfrecipe.s */, LoongArch::VFRECIPE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3067 | | { 6359 /* vfrint.d */, LoongArch::VFRINT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3068 | | { 6368 /* vfrint.s */, LoongArch::VFRINT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3069 | | { 6377 /* vfrintrm.d */, LoongArch::VFRINTRM_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3070 | | { 6388 /* vfrintrm.s */, LoongArch::VFRINTRM_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3071 | | { 6399 /* vfrintrne.d */, LoongArch::VFRINTRNE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3072 | | { 6411 /* vfrintrne.s */, LoongArch::VFRINTRNE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3073 | | { 6423 /* vfrintrp.d */, LoongArch::VFRINTRP_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3074 | | { 6434 /* vfrintrp.s */, LoongArch::VFRINTRP_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3075 | | { 6445 /* vfrintrz.d */, LoongArch::VFRINTRZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3076 | | { 6456 /* vfrintrz.s */, LoongArch::VFRINTRZ_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3077 | | { 6467 /* vfrsqrt.d */, LoongArch::VFRSQRT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3078 | | { 6477 /* vfrsqrt.s */, LoongArch::VFRSQRT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3079 | | { 6487 /* vfrsqrte.d */, LoongArch::VFRSQRTE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3080 | | { 6498 /* vfrsqrte.s */, LoongArch::VFRSQRTE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3081 | | { 6509 /* vfrstp.b */, LoongArch::VFRSTP_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3082 | | { 6518 /* vfrstp.h */, LoongArch::VFRSTP_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3083 | | { 6527 /* vfrstpi.b */, LoongArch::VFRSTPI_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3084 | | { 6537 /* vfrstpi.h */, LoongArch::VFRSTPI_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3085 | | { 6547 /* vfsqrt.d */, LoongArch::VFSQRT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3086 | | { 6556 /* vfsqrt.s */, LoongArch::VFSQRT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3087 | | { 6565 /* vfsub.d */, LoongArch::VFSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3088 | | { 6573 /* vfsub.s */, LoongArch::VFSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3089 | | { 6581 /* vftint.l.d */, LoongArch::VFTINT_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3090 | | { 6592 /* vftint.lu.d */, LoongArch::VFTINT_LU_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3091 | | { 6604 /* vftint.w.d */, LoongArch::VFTINT_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3092 | | { 6615 /* vftint.w.s */, LoongArch::VFTINT_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3093 | | { 6626 /* vftint.wu.s */, LoongArch::VFTINT_WU_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3094 | | { 6638 /* vftinth.l.s */, LoongArch::VFTINTH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3095 | | { 6650 /* vftintl.l.s */, LoongArch::VFTINTL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3096 | | { 6662 /* vftintrm.l.d */, LoongArch::VFTINTRM_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3097 | | { 6675 /* vftintrm.w.d */, LoongArch::VFTINTRM_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3098 | | { 6688 /* vftintrm.w.s */, LoongArch::VFTINTRM_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3099 | | { 6701 /* vftintrmh.l.s */, LoongArch::VFTINTRMH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3100 | | { 6715 /* vftintrml.l.s */, LoongArch::VFTINTRML_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3101 | | { 6729 /* vftintrne.l.d */, LoongArch::VFTINTRNE_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3102 | | { 6743 /* vftintrne.w.d */, LoongArch::VFTINTRNE_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3103 | | { 6757 /* vftintrne.w.s */, LoongArch::VFTINTRNE_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3104 | | { 6771 /* vftintrneh.l.s */, LoongArch::VFTINTRNEH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3105 | | { 6786 /* vftintrnel.l.s */, LoongArch::VFTINTRNEL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3106 | | { 6801 /* vftintrp.l.d */, LoongArch::VFTINTRP_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3107 | | { 6814 /* vftintrp.w.d */, LoongArch::VFTINTRP_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3108 | | { 6827 /* vftintrp.w.s */, LoongArch::VFTINTRP_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3109 | | { 6840 /* vftintrph.l.s */, LoongArch::VFTINTRPH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3110 | | { 6854 /* vftintrpl.l.s */, LoongArch::VFTINTRPL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3111 | | { 6868 /* vftintrz.l.d */, LoongArch::VFTINTRZ_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3112 | | { 6881 /* vftintrz.lu.d */, LoongArch::VFTINTRZ_LU_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3113 | | { 6895 /* vftintrz.w.d */, LoongArch::VFTINTRZ_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3114 | | { 6908 /* vftintrz.w.s */, LoongArch::VFTINTRZ_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3115 | | { 6921 /* vftintrz.wu.s */, LoongArch::VFTINTRZ_WU_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3116 | | { 6935 /* vftintrzh.l.s */, LoongArch::VFTINTRZH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3117 | | { 6949 /* vftintrzl.l.s */, LoongArch::VFTINTRZL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3118 | | { 6963 /* vhaddw.d.w */, LoongArch::VHADDW_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3119 | | { 6974 /* vhaddw.du.wu */, LoongArch::VHADDW_DU_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3120 | | { 6987 /* vhaddw.h.b */, LoongArch::VHADDW_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3121 | | { 6998 /* vhaddw.hu.bu */, LoongArch::VHADDW_HU_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3122 | | { 7011 /* vhaddw.q.d */, LoongArch::VHADDW_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3123 | | { 7022 /* vhaddw.qu.du */, LoongArch::VHADDW_QU_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3124 | | { 7035 /* vhaddw.w.h */, LoongArch::VHADDW_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3125 | | { 7046 /* vhaddw.wu.hu */, LoongArch::VHADDW_WU_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3126 | | { 7059 /* vhsubw.d.w */, LoongArch::VHSUBW_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3127 | | { 7070 /* vhsubw.du.wu */, LoongArch::VHSUBW_DU_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3128 | | { 7083 /* vhsubw.h.b */, LoongArch::VHSUBW_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3129 | | { 7094 /* vhsubw.hu.bu */, LoongArch::VHSUBW_HU_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3130 | | { 7107 /* vhsubw.q.d */, LoongArch::VHSUBW_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3131 | | { 7118 /* vhsubw.qu.du */, LoongArch::VHSUBW_QU_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3132 | | { 7131 /* vhsubw.w.h */, LoongArch::VHSUBW_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3133 | | { 7142 /* vhsubw.wu.hu */, LoongArch::VHSUBW_WU_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3134 | | { 7155 /* vilvh.b */, LoongArch::VILVH_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3135 | | { 7163 /* vilvh.d */, LoongArch::VILVH_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3136 | | { 7171 /* vilvh.h */, LoongArch::VILVH_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3137 | | { 7179 /* vilvh.w */, LoongArch::VILVH_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3138 | | { 7187 /* vilvl.b */, LoongArch::VILVL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3139 | | { 7195 /* vilvl.d */, LoongArch::VILVL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3140 | | { 7203 /* vilvl.h */, LoongArch::VILVL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3141 | | { 7211 /* vilvl.w */, LoongArch::VILVL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3142 | | { 7219 /* vinsgr2vr.b */, LoongArch::VINSGR2VR_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_UImm4 }, }, |
3143 | | { 7231 /* vinsgr2vr.d */, LoongArch::VINSGR2VR_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm11_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_UImm1 }, }, |
3144 | | { 7243 /* vinsgr2vr.h */, LoongArch::VINSGR2VR_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_UImm3 }, }, |
3145 | | { 7255 /* vinsgr2vr.w */, LoongArch::VINSGR2VR_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm21_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_UImm2 }, }, |
3146 | | { 7267 /* vld */, LoongArch::VLD, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm12 }, }, |
3147 | | { 7271 /* vldi */, LoongArch::VLDI, Convert__Reg1_0__SImm131_1, AMFBS_None, { MCK_LSX128, MCK_SImm13 }, }, |
3148 | | { 7276 /* vldrepl.b */, LoongArch::VLDREPL_B, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm12 }, }, |
3149 | | { 7286 /* vldrepl.d */, LoongArch::VLDREPL_D, Convert__Reg1_0__Reg1_1__SImm9lsl31_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm9lsl3 }, }, |
3150 | | { 7296 /* vldrepl.h */, LoongArch::VLDREPL_H, Convert__Reg1_0__Reg1_1__SImm11lsl11_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm11lsl1 }, }, |
3151 | | { 7306 /* vldrepl.w */, LoongArch::VLDREPL_W, Convert__Reg1_0__Reg1_1__SImm10lsl21_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm10lsl2 }, }, |
3152 | | { 7316 /* vldx */, LoongArch::VLDX, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_GPR }, }, |
3153 | | { 7321 /* vmadd.b */, LoongArch::VMADD_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3154 | | { 7329 /* vmadd.d */, LoongArch::VMADD_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3155 | | { 7337 /* vmadd.h */, LoongArch::VMADD_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3156 | | { 7345 /* vmadd.w */, LoongArch::VMADD_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3157 | | { 7353 /* vmaddwev.d.w */, LoongArch::VMADDWEV_D_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3158 | | { 7366 /* vmaddwev.d.wu */, LoongArch::VMADDWEV_D_WU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3159 | | { 7380 /* vmaddwev.d.wu.w */, LoongArch::VMADDWEV_D_WU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3160 | | { 7396 /* vmaddwev.h.b */, LoongArch::VMADDWEV_H_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3161 | | { 7409 /* vmaddwev.h.bu */, LoongArch::VMADDWEV_H_BU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3162 | | { 7423 /* vmaddwev.h.bu.b */, LoongArch::VMADDWEV_H_BU_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3163 | | { 7439 /* vmaddwev.q.d */, LoongArch::VMADDWEV_Q_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3164 | | { 7452 /* vmaddwev.q.du */, LoongArch::VMADDWEV_Q_DU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3165 | | { 7466 /* vmaddwev.q.du.d */, LoongArch::VMADDWEV_Q_DU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3166 | | { 7482 /* vmaddwev.w.h */, LoongArch::VMADDWEV_W_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3167 | | { 7495 /* vmaddwev.w.hu */, LoongArch::VMADDWEV_W_HU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3168 | | { 7509 /* vmaddwev.w.hu.h */, LoongArch::VMADDWEV_W_HU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3169 | | { 7525 /* vmaddwod.d.w */, LoongArch::VMADDWOD_D_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3170 | | { 7538 /* vmaddwod.d.wu */, LoongArch::VMADDWOD_D_WU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3171 | | { 7552 /* vmaddwod.d.wu.w */, LoongArch::VMADDWOD_D_WU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3172 | | { 7568 /* vmaddwod.h.b */, LoongArch::VMADDWOD_H_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3173 | | { 7581 /* vmaddwod.h.bu */, LoongArch::VMADDWOD_H_BU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3174 | | { 7595 /* vmaddwod.h.bu.b */, LoongArch::VMADDWOD_H_BU_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3175 | | { 7611 /* vmaddwod.q.d */, LoongArch::VMADDWOD_Q_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3176 | | { 7624 /* vmaddwod.q.du */, LoongArch::VMADDWOD_Q_DU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3177 | | { 7638 /* vmaddwod.q.du.d */, LoongArch::VMADDWOD_Q_DU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3178 | | { 7654 /* vmaddwod.w.h */, LoongArch::VMADDWOD_W_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3179 | | { 7667 /* vmaddwod.w.hu */, LoongArch::VMADDWOD_W_HU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3180 | | { 7681 /* vmaddwod.w.hu.h */, LoongArch::VMADDWOD_W_HU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3181 | | { 7697 /* vmax.b */, LoongArch::VMAX_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3182 | | { 7704 /* vmax.bu */, LoongArch::VMAX_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3183 | | { 7712 /* vmax.d */, LoongArch::VMAX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3184 | | { 7719 /* vmax.du */, LoongArch::VMAX_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3185 | | { 7727 /* vmax.h */, LoongArch::VMAX_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3186 | | { 7734 /* vmax.hu */, LoongArch::VMAX_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3187 | | { 7742 /* vmax.w */, LoongArch::VMAX_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3188 | | { 7749 /* vmax.wu */, LoongArch::VMAX_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3189 | | { 7757 /* vmaxi.b */, LoongArch::VMAXI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3190 | | { 7765 /* vmaxi.bu */, LoongArch::VMAXI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3191 | | { 7774 /* vmaxi.d */, LoongArch::VMAXI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3192 | | { 7782 /* vmaxi.du */, LoongArch::VMAXI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3193 | | { 7791 /* vmaxi.h */, LoongArch::VMAXI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3194 | | { 7799 /* vmaxi.hu */, LoongArch::VMAXI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3195 | | { 7808 /* vmaxi.w */, LoongArch::VMAXI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3196 | | { 7816 /* vmaxi.wu */, LoongArch::VMAXI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3197 | | { 7825 /* vmin.b */, LoongArch::VMIN_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3198 | | { 7832 /* vmin.bu */, LoongArch::VMIN_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3199 | | { 7840 /* vmin.d */, LoongArch::VMIN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3200 | | { 7847 /* vmin.du */, LoongArch::VMIN_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3201 | | { 7855 /* vmin.h */, LoongArch::VMIN_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3202 | | { 7862 /* vmin.hu */, LoongArch::VMIN_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3203 | | { 7870 /* vmin.w */, LoongArch::VMIN_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3204 | | { 7877 /* vmin.wu */, LoongArch::VMIN_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3205 | | { 7885 /* vmini.b */, LoongArch::VMINI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3206 | | { 7893 /* vmini.bu */, LoongArch::VMINI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3207 | | { 7902 /* vmini.d */, LoongArch::VMINI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3208 | | { 7910 /* vmini.du */, LoongArch::VMINI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3209 | | { 7919 /* vmini.h */, LoongArch::VMINI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3210 | | { 7927 /* vmini.hu */, LoongArch::VMINI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3211 | | { 7936 /* vmini.w */, LoongArch::VMINI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3212 | | { 7944 /* vmini.wu */, LoongArch::VMINI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3213 | | { 7953 /* vmod.b */, LoongArch::VMOD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3214 | | { 7960 /* vmod.bu */, LoongArch::VMOD_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3215 | | { 7968 /* vmod.d */, LoongArch::VMOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3216 | | { 7975 /* vmod.du */, LoongArch::VMOD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3217 | | { 7983 /* vmod.h */, LoongArch::VMOD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3218 | | { 7990 /* vmod.hu */, LoongArch::VMOD_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3219 | | { 7998 /* vmod.w */, LoongArch::VMOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3220 | | { 8005 /* vmod.wu */, LoongArch::VMOD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3221 | | { 8013 /* vmskgez.b */, LoongArch::VMSKGEZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3222 | | { 8023 /* vmskltz.b */, LoongArch::VMSKLTZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3223 | | { 8033 /* vmskltz.d */, LoongArch::VMSKLTZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3224 | | { 8043 /* vmskltz.h */, LoongArch::VMSKLTZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3225 | | { 8053 /* vmskltz.w */, LoongArch::VMSKLTZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3226 | | { 8063 /* vmsknz.b */, LoongArch::VMSKNZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3227 | | { 8072 /* vmsub.b */, LoongArch::VMSUB_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3228 | | { 8080 /* vmsub.d */, LoongArch::VMSUB_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3229 | | { 8088 /* vmsub.h */, LoongArch::VMSUB_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3230 | | { 8096 /* vmsub.w */, LoongArch::VMSUB_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3231 | | { 8104 /* vmuh.b */, LoongArch::VMUH_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3232 | | { 8111 /* vmuh.bu */, LoongArch::VMUH_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3233 | | { 8119 /* vmuh.d */, LoongArch::VMUH_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3234 | | { 8126 /* vmuh.du */, LoongArch::VMUH_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3235 | | { 8134 /* vmuh.h */, LoongArch::VMUH_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3236 | | { 8141 /* vmuh.hu */, LoongArch::VMUH_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3237 | | { 8149 /* vmuh.w */, LoongArch::VMUH_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3238 | | { 8156 /* vmuh.wu */, LoongArch::VMUH_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3239 | | { 8164 /* vmul.b */, LoongArch::VMUL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3240 | | { 8171 /* vmul.d */, LoongArch::VMUL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3241 | | { 8178 /* vmul.h */, LoongArch::VMUL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3242 | | { 8185 /* vmul.w */, LoongArch::VMUL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3243 | | { 8192 /* vmulwev.d.w */, LoongArch::VMULWEV_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3244 | | { 8204 /* vmulwev.d.wu */, LoongArch::VMULWEV_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3245 | | { 8217 /* vmulwev.d.wu.w */, LoongArch::VMULWEV_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3246 | | { 8232 /* vmulwev.h.b */, LoongArch::VMULWEV_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3247 | | { 8244 /* vmulwev.h.bu */, LoongArch::VMULWEV_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3248 | | { 8257 /* vmulwev.h.bu.b */, LoongArch::VMULWEV_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3249 | | { 8272 /* vmulwev.q.d */, LoongArch::VMULWEV_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3250 | | { 8284 /* vmulwev.q.du */, LoongArch::VMULWEV_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3251 | | { 8297 /* vmulwev.q.du.d */, LoongArch::VMULWEV_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3252 | | { 8312 /* vmulwev.w.h */, LoongArch::VMULWEV_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3253 | | { 8324 /* vmulwev.w.hu */, LoongArch::VMULWEV_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3254 | | { 8337 /* vmulwev.w.hu.h */, LoongArch::VMULWEV_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3255 | | { 8352 /* vmulwod.d.w */, LoongArch::VMULWOD_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3256 | | { 8364 /* vmulwod.d.wu */, LoongArch::VMULWOD_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3257 | | { 8377 /* vmulwod.d.wu.w */, LoongArch::VMULWOD_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3258 | | { 8392 /* vmulwod.h.b */, LoongArch::VMULWOD_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3259 | | { 8404 /* vmulwod.h.bu */, LoongArch::VMULWOD_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3260 | | { 8417 /* vmulwod.h.bu.b */, LoongArch::VMULWOD_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3261 | | { 8432 /* vmulwod.q.d */, LoongArch::VMULWOD_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3262 | | { 8444 /* vmulwod.q.du */, LoongArch::VMULWOD_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3263 | | { 8457 /* vmulwod.q.du.d */, LoongArch::VMULWOD_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3264 | | { 8472 /* vmulwod.w.h */, LoongArch::VMULWOD_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3265 | | { 8484 /* vmulwod.w.hu */, LoongArch::VMULWOD_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3266 | | { 8497 /* vmulwod.w.hu.h */, LoongArch::VMULWOD_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3267 | | { 8512 /* vneg.b */, LoongArch::VNEG_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3268 | | { 8519 /* vneg.d */, LoongArch::VNEG_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3269 | | { 8526 /* vneg.h */, LoongArch::VNEG_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3270 | | { 8533 /* vneg.w */, LoongArch::VNEG_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3271 | | { 8540 /* vnor.v */, LoongArch::VNOR_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3272 | | { 8547 /* vnori.b */, LoongArch::VNORI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3273 | | { 8555 /* vor.v */, LoongArch::VOR_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3274 | | { 8561 /* vori.b */, LoongArch::VORI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3275 | | { 8568 /* vorn.v */, LoongArch::VORN_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3276 | | { 8575 /* vpackev.b */, LoongArch::VPACKEV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3277 | | { 8585 /* vpackev.d */, LoongArch::VPACKEV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3278 | | { 8595 /* vpackev.h */, LoongArch::VPACKEV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3279 | | { 8605 /* vpackev.w */, LoongArch::VPACKEV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3280 | | { 8615 /* vpackod.b */, LoongArch::VPACKOD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3281 | | { 8625 /* vpackod.d */, LoongArch::VPACKOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3282 | | { 8635 /* vpackod.h */, LoongArch::VPACKOD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3283 | | { 8645 /* vpackod.w */, LoongArch::VPACKOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3284 | | { 8655 /* vpcnt.b */, LoongArch::VPCNT_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3285 | | { 8663 /* vpcnt.d */, LoongArch::VPCNT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3286 | | { 8671 /* vpcnt.h */, LoongArch::VPCNT_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3287 | | { 8679 /* vpcnt.w */, LoongArch::VPCNT_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_LSX128 }, }, |
3288 | | { 8687 /* vpermi.w */, LoongArch::VPERMI_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3289 | | { 8696 /* vpickev.b */, LoongArch::VPICKEV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3290 | | { 8706 /* vpickev.d */, LoongArch::VPICKEV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3291 | | { 8716 /* vpickev.h */, LoongArch::VPICKEV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3292 | | { 8726 /* vpickev.w */, LoongArch::VPICKEV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3293 | | { 8736 /* vpickod.b */, LoongArch::VPICKOD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3294 | | { 8746 /* vpickod.d */, LoongArch::VPICKOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3295 | | { 8756 /* vpickod.h */, LoongArch::VPICKOD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3296 | | { 8766 /* vpickod.w */, LoongArch::VPICKOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3297 | | { 8776 /* vpickve2gr.b */, LoongArch::VPICKVE2GR_B, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm4 }, }, |
3298 | | { 8789 /* vpickve2gr.bu */, LoongArch::VPICKVE2GR_BU, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm4 }, }, |
3299 | | { 8803 /* vpickve2gr.d */, LoongArch::VPICKVE2GR_D, Convert__Reg1_0__Reg1_1__UImm11_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm1 }, }, |
3300 | | { 8816 /* vpickve2gr.du */, LoongArch::VPICKVE2GR_DU, Convert__Reg1_0__Reg1_1__UImm11_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm1 }, }, |
3301 | | { 8830 /* vpickve2gr.h */, LoongArch::VPICKVE2GR_H, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm3 }, }, |
3302 | | { 8843 /* vpickve2gr.hu */, LoongArch::VPICKVE2GR_HU, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm3 }, }, |
3303 | | { 8857 /* vpickve2gr.w */, LoongArch::VPICKVE2GR_W, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm2 }, }, |
3304 | | { 8870 /* vpickve2gr.wu */, LoongArch::VPICKVE2GR_WU, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_GPR, MCK_LSX128, MCK_UImm2 }, }, |
3305 | | { 8884 /* vreplgr2vr.b */, LoongArch::VREPLGR2VR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_GPR }, }, |
3306 | | { 8897 /* vreplgr2vr.d */, LoongArch::VREPLGR2VR_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_GPR }, }, |
3307 | | { 8910 /* vreplgr2vr.h */, LoongArch::VREPLGR2VR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_GPR }, }, |
3308 | | { 8923 /* vreplgr2vr.w */, LoongArch::VREPLGR2VR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LSX128, MCK_GPR }, }, |
3309 | | { 8936 /* vrepli.b */, LoongArch::PseudoVREPLI_B, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LSX128, MCK_SImm10 }, }, |
3310 | | { 8945 /* vrepli.d */, LoongArch::PseudoVREPLI_D, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LSX128, MCK_SImm10 }, }, |
3311 | | { 8954 /* vrepli.h */, LoongArch::PseudoVREPLI_H, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LSX128, MCK_SImm10 }, }, |
3312 | | { 8963 /* vrepli.w */, LoongArch::PseudoVREPLI_W, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LSX128, MCK_SImm10 }, }, |
3313 | | { 8972 /* vreplve.b */, LoongArch::VREPLVE_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_GPR }, }, |
3314 | | { 8982 /* vreplve.d */, LoongArch::VREPLVE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_GPR }, }, |
3315 | | { 8992 /* vreplve.h */, LoongArch::VREPLVE_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_GPR }, }, |
3316 | | { 9002 /* vreplve.w */, LoongArch::VREPLVE_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_GPR }, }, |
3317 | | { 9012 /* vreplvei.b */, LoongArch::VREPLVEI_B, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3318 | | { 9023 /* vreplvei.d */, LoongArch::VREPLVEI_D, Convert__Reg1_0__Reg1_1__UImm11_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm1 }, }, |
3319 | | { 9034 /* vreplvei.h */, LoongArch::VREPLVEI_H, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3320 | | { 9045 /* vreplvei.w */, LoongArch::VREPLVEI_W, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm2 }, }, |
3321 | | { 9056 /* vrotr.b */, LoongArch::VROTR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3322 | | { 9064 /* vrotr.d */, LoongArch::VROTR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3323 | | { 9072 /* vrotr.h */, LoongArch::VROTR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3324 | | { 9080 /* vrotr.w */, LoongArch::VROTR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3325 | | { 9088 /* vrotri.b */, LoongArch::VROTRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3326 | | { 9097 /* vrotri.d */, LoongArch::VROTRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3327 | | { 9106 /* vrotri.h */, LoongArch::VROTRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3328 | | { 9115 /* vrotri.w */, LoongArch::VROTRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3329 | | { 9124 /* vsadd.b */, LoongArch::VSADD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3330 | | { 9132 /* vsadd.bu */, LoongArch::VSADD_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3331 | | { 9141 /* vsadd.d */, LoongArch::VSADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3332 | | { 9149 /* vsadd.du */, LoongArch::VSADD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3333 | | { 9158 /* vsadd.h */, LoongArch::VSADD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3334 | | { 9166 /* vsadd.hu */, LoongArch::VSADD_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3335 | | { 9175 /* vsadd.w */, LoongArch::VSADD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3336 | | { 9183 /* vsadd.wu */, LoongArch::VSADD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3337 | | { 9192 /* vsat.b */, LoongArch::VSAT_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3338 | | { 9199 /* vsat.bu */, LoongArch::VSAT_BU, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3339 | | { 9207 /* vsat.d */, LoongArch::VSAT_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3340 | | { 9214 /* vsat.du */, LoongArch::VSAT_DU, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3341 | | { 9222 /* vsat.h */, LoongArch::VSAT_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3342 | | { 9229 /* vsat.hu */, LoongArch::VSAT_HU, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3343 | | { 9237 /* vsat.w */, LoongArch::VSAT_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3344 | | { 9244 /* vsat.wu */, LoongArch::VSAT_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3345 | | { 9252 /* vseq.b */, LoongArch::VSEQ_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3346 | | { 9259 /* vseq.d */, LoongArch::VSEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3347 | | { 9266 /* vseq.h */, LoongArch::VSEQ_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3348 | | { 9273 /* vseq.w */, LoongArch::VSEQ_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3349 | | { 9280 /* vseqi.b */, LoongArch::VSEQI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3350 | | { 9288 /* vseqi.d */, LoongArch::VSEQI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3351 | | { 9296 /* vseqi.h */, LoongArch::VSEQI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3352 | | { 9304 /* vseqi.w */, LoongArch::VSEQI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3353 | | { 9312 /* vsetallnez.b */, LoongArch::VSETALLNEZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3354 | | { 9325 /* vsetallnez.d */, LoongArch::VSETALLNEZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3355 | | { 9338 /* vsetallnez.h */, LoongArch::VSETALLNEZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3356 | | { 9351 /* vsetallnez.w */, LoongArch::VSETALLNEZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3357 | | { 9364 /* vsetanyeqz.b */, LoongArch::VSETANYEQZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3358 | | { 9377 /* vsetanyeqz.d */, LoongArch::VSETANYEQZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3359 | | { 9390 /* vsetanyeqz.h */, LoongArch::VSETANYEQZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3360 | | { 9403 /* vsetanyeqz.w */, LoongArch::VSETANYEQZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3361 | | { 9416 /* vseteqz.v */, LoongArch::VSETEQZ_V, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3362 | | { 9426 /* vsetnez.v */, LoongArch::VSETNEZ_V, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LSX128 }, }, |
3363 | | { 9436 /* vshuf.b */, LoongArch::VSHUF_B, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3364 | | { 9444 /* vshuf.d */, LoongArch::VSHUF_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3365 | | { 9452 /* vshuf.h */, LoongArch::VSHUF_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3366 | | { 9460 /* vshuf.w */, LoongArch::VSHUF_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3367 | | { 9468 /* vshuf4i.b */, LoongArch::VSHUF4I_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3368 | | { 9478 /* vshuf4i.d */, LoongArch::VSHUF4I_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3369 | | { 9488 /* vshuf4i.h */, LoongArch::VSHUF4I_H, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3370 | | { 9498 /* vshuf4i.w */, LoongArch::VSHUF4I_W, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3371 | | { 9508 /* vsigncov.b */, LoongArch::VSIGNCOV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3372 | | { 9519 /* vsigncov.d */, LoongArch::VSIGNCOV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3373 | | { 9530 /* vsigncov.h */, LoongArch::VSIGNCOV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3374 | | { 9541 /* vsigncov.w */, LoongArch::VSIGNCOV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3375 | | { 9552 /* vsle.b */, LoongArch::VSLE_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3376 | | { 9559 /* vsle.bu */, LoongArch::VSLE_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3377 | | { 9567 /* vsle.d */, LoongArch::VSLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3378 | | { 9574 /* vsle.du */, LoongArch::VSLE_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3379 | | { 9582 /* vsle.h */, LoongArch::VSLE_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3380 | | { 9589 /* vsle.hu */, LoongArch::VSLE_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3381 | | { 9597 /* vsle.w */, LoongArch::VSLE_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3382 | | { 9604 /* vsle.wu */, LoongArch::VSLE_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3383 | | { 9612 /* vslei.b */, LoongArch::VSLEI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3384 | | { 9620 /* vslei.bu */, LoongArch::VSLEI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3385 | | { 9629 /* vslei.d */, LoongArch::VSLEI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3386 | | { 9637 /* vslei.du */, LoongArch::VSLEI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3387 | | { 9646 /* vslei.h */, LoongArch::VSLEI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3388 | | { 9654 /* vslei.hu */, LoongArch::VSLEI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3389 | | { 9663 /* vslei.w */, LoongArch::VSLEI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3390 | | { 9671 /* vslei.wu */, LoongArch::VSLEI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3391 | | { 9680 /* vsll.b */, LoongArch::VSLL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3392 | | { 9687 /* vsll.d */, LoongArch::VSLL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3393 | | { 9694 /* vsll.h */, LoongArch::VSLL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3394 | | { 9701 /* vsll.w */, LoongArch::VSLL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3395 | | { 9708 /* vslli.b */, LoongArch::VSLLI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3396 | | { 9716 /* vslli.d */, LoongArch::VSLLI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3397 | | { 9724 /* vslli.h */, LoongArch::VSLLI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3398 | | { 9732 /* vslli.w */, LoongArch::VSLLI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3399 | | { 9740 /* vsllwil.d.w */, LoongArch::VSLLWIL_D_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3400 | | { 9752 /* vsllwil.du.wu */, LoongArch::VSLLWIL_DU_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3401 | | { 9766 /* vsllwil.h.b */, LoongArch::VSLLWIL_H_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3402 | | { 9778 /* vsllwil.hu.bu */, LoongArch::VSLLWIL_HU_BU, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3403 | | { 9792 /* vsllwil.w.h */, LoongArch::VSLLWIL_W_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3404 | | { 9804 /* vsllwil.wu.hu */, LoongArch::VSLLWIL_WU_HU, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3405 | | { 9818 /* vslt.b */, LoongArch::VSLT_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3406 | | { 9825 /* vslt.bu */, LoongArch::VSLT_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3407 | | { 9833 /* vslt.d */, LoongArch::VSLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3408 | | { 9840 /* vslt.du */, LoongArch::VSLT_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3409 | | { 9848 /* vslt.h */, LoongArch::VSLT_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3410 | | { 9855 /* vslt.hu */, LoongArch::VSLT_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3411 | | { 9863 /* vslt.w */, LoongArch::VSLT_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3412 | | { 9870 /* vslt.wu */, LoongArch::VSLT_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3413 | | { 9878 /* vslti.b */, LoongArch::VSLTI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3414 | | { 9886 /* vslti.bu */, LoongArch::VSLTI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3415 | | { 9895 /* vslti.d */, LoongArch::VSLTI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3416 | | { 9903 /* vslti.du */, LoongArch::VSLTI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3417 | | { 9912 /* vslti.h */, LoongArch::VSLTI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3418 | | { 9920 /* vslti.hu */, LoongArch::VSLTI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3419 | | { 9929 /* vslti.w */, LoongArch::VSLTI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_SImm5 }, }, |
3420 | | { 9937 /* vslti.wu */, LoongArch::VSLTI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3421 | | { 9946 /* vsra.b */, LoongArch::VSRA_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3422 | | { 9953 /* vsra.d */, LoongArch::VSRA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3423 | | { 9960 /* vsra.h */, LoongArch::VSRA_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3424 | | { 9967 /* vsra.w */, LoongArch::VSRA_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3425 | | { 9974 /* vsrai.b */, LoongArch::VSRAI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3426 | | { 9982 /* vsrai.d */, LoongArch::VSRAI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3427 | | { 9990 /* vsrai.h */, LoongArch::VSRAI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3428 | | { 9998 /* vsrai.w */, LoongArch::VSRAI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3429 | | { 10006 /* vsran.b.h */, LoongArch::VSRAN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3430 | | { 10016 /* vsran.h.w */, LoongArch::VSRAN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3431 | | { 10026 /* vsran.w.d */, LoongArch::VSRAN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3432 | | { 10036 /* vsrani.b.h */, LoongArch::VSRANI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3433 | | { 10047 /* vsrani.d.q */, LoongArch::VSRANI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3434 | | { 10058 /* vsrani.h.w */, LoongArch::VSRANI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3435 | | { 10069 /* vsrani.w.d */, LoongArch::VSRANI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3436 | | { 10080 /* vsrar.b */, LoongArch::VSRAR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3437 | | { 10088 /* vsrar.d */, LoongArch::VSRAR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3438 | | { 10096 /* vsrar.h */, LoongArch::VSRAR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3439 | | { 10104 /* vsrar.w */, LoongArch::VSRAR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3440 | | { 10112 /* vsrari.b */, LoongArch::VSRARI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3441 | | { 10121 /* vsrari.d */, LoongArch::VSRARI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3442 | | { 10130 /* vsrari.h */, LoongArch::VSRARI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3443 | | { 10139 /* vsrari.w */, LoongArch::VSRARI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3444 | | { 10148 /* vsrarn.b.h */, LoongArch::VSRARN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3445 | | { 10159 /* vsrarn.h.w */, LoongArch::VSRARN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3446 | | { 10170 /* vsrarn.w.d */, LoongArch::VSRARN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3447 | | { 10181 /* vsrarni.b.h */, LoongArch::VSRARNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3448 | | { 10193 /* vsrarni.d.q */, LoongArch::VSRARNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3449 | | { 10205 /* vsrarni.h.w */, LoongArch::VSRARNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3450 | | { 10217 /* vsrarni.w.d */, LoongArch::VSRARNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3451 | | { 10229 /* vsrl.b */, LoongArch::VSRL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3452 | | { 10236 /* vsrl.d */, LoongArch::VSRL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3453 | | { 10243 /* vsrl.h */, LoongArch::VSRL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3454 | | { 10250 /* vsrl.w */, LoongArch::VSRL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3455 | | { 10257 /* vsrli.b */, LoongArch::VSRLI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3456 | | { 10265 /* vsrli.d */, LoongArch::VSRLI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3457 | | { 10273 /* vsrli.h */, LoongArch::VSRLI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3458 | | { 10281 /* vsrli.w */, LoongArch::VSRLI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3459 | | { 10289 /* vsrln.b.h */, LoongArch::VSRLN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3460 | | { 10299 /* vsrln.h.w */, LoongArch::VSRLN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3461 | | { 10309 /* vsrln.w.d */, LoongArch::VSRLN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3462 | | { 10319 /* vsrlni.b.h */, LoongArch::VSRLNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3463 | | { 10330 /* vsrlni.d.q */, LoongArch::VSRLNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3464 | | { 10341 /* vsrlni.h.w */, LoongArch::VSRLNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3465 | | { 10352 /* vsrlni.w.d */, LoongArch::VSRLNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3466 | | { 10363 /* vsrlr.b */, LoongArch::VSRLR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3467 | | { 10371 /* vsrlr.d */, LoongArch::VSRLR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3468 | | { 10379 /* vsrlr.h */, LoongArch::VSRLR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3469 | | { 10387 /* vsrlr.w */, LoongArch::VSRLR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3470 | | { 10395 /* vsrlri.b */, LoongArch::VSRLRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm3 }, }, |
3471 | | { 10404 /* vsrlri.d */, LoongArch::VSRLRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3472 | | { 10413 /* vsrlri.h */, LoongArch::VSRLRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3473 | | { 10422 /* vsrlri.w */, LoongArch::VSRLRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3474 | | { 10431 /* vsrlrn.b.h */, LoongArch::VSRLRN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3475 | | { 10442 /* vsrlrn.h.w */, LoongArch::VSRLRN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3476 | | { 10453 /* vsrlrn.w.d */, LoongArch::VSRLRN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3477 | | { 10464 /* vsrlrni.b.h */, LoongArch::VSRLRNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3478 | | { 10476 /* vsrlrni.d.q */, LoongArch::VSRLRNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3479 | | { 10488 /* vsrlrni.h.w */, LoongArch::VSRLRNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3480 | | { 10500 /* vsrlrni.w.d */, LoongArch::VSRLRNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3481 | | { 10512 /* vssran.b.h */, LoongArch::VSSRAN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3482 | | { 10523 /* vssran.bu.h */, LoongArch::VSSRAN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3483 | | { 10535 /* vssran.h.w */, LoongArch::VSSRAN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3484 | | { 10546 /* vssran.hu.w */, LoongArch::VSSRAN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3485 | | { 10558 /* vssran.w.d */, LoongArch::VSSRAN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3486 | | { 10569 /* vssran.wu.d */, LoongArch::VSSRAN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3487 | | { 10581 /* vssrani.b.h */, LoongArch::VSSRANI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3488 | | { 10593 /* vssrani.bu.h */, LoongArch::VSSRANI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3489 | | { 10606 /* vssrani.d.q */, LoongArch::VSSRANI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3490 | | { 10618 /* vssrani.du.q */, LoongArch::VSSRANI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3491 | | { 10631 /* vssrani.h.w */, LoongArch::VSSRANI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3492 | | { 10643 /* vssrani.hu.w */, LoongArch::VSSRANI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3493 | | { 10656 /* vssrani.w.d */, LoongArch::VSSRANI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3494 | | { 10668 /* vssrani.wu.d */, LoongArch::VSSRANI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3495 | | { 10681 /* vssrarn.b.h */, LoongArch::VSSRARN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3496 | | { 10693 /* vssrarn.bu.h */, LoongArch::VSSRARN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3497 | | { 10706 /* vssrarn.h.w */, LoongArch::VSSRARN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3498 | | { 10718 /* vssrarn.hu.w */, LoongArch::VSSRARN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3499 | | { 10731 /* vssrarn.w.d */, LoongArch::VSSRARN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3500 | | { 10743 /* vssrarn.wu.d */, LoongArch::VSSRARN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3501 | | { 10756 /* vssrarni.b.h */, LoongArch::VSSRARNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3502 | | { 10769 /* vssrarni.bu.h */, LoongArch::VSSRARNI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3503 | | { 10783 /* vssrarni.d.q */, LoongArch::VSSRARNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3504 | | { 10796 /* vssrarni.du.q */, LoongArch::VSSRARNI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3505 | | { 10810 /* vssrarni.h.w */, LoongArch::VSSRARNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3506 | | { 10823 /* vssrarni.hu.w */, LoongArch::VSSRARNI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3507 | | { 10837 /* vssrarni.w.d */, LoongArch::VSSRARNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3508 | | { 10850 /* vssrarni.wu.d */, LoongArch::VSSRARNI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3509 | | { 10864 /* vssrln.b.h */, LoongArch::VSSRLN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3510 | | { 10875 /* vssrln.bu.h */, LoongArch::VSSRLN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3511 | | { 10887 /* vssrln.h.w */, LoongArch::VSSRLN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3512 | | { 10898 /* vssrln.hu.w */, LoongArch::VSSRLN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3513 | | { 10910 /* vssrln.w.d */, LoongArch::VSSRLN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3514 | | { 10921 /* vssrln.wu.d */, LoongArch::VSSRLN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3515 | | { 10933 /* vssrlni.b.h */, LoongArch::VSSRLNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3516 | | { 10945 /* vssrlni.bu.h */, LoongArch::VSSRLNI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3517 | | { 10958 /* vssrlni.d.q */, LoongArch::VSSRLNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3518 | | { 10970 /* vssrlni.du.q */, LoongArch::VSSRLNI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3519 | | { 10983 /* vssrlni.h.w */, LoongArch::VSSRLNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3520 | | { 10995 /* vssrlni.hu.w */, LoongArch::VSSRLNI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3521 | | { 11008 /* vssrlni.w.d */, LoongArch::VSSRLNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3522 | | { 11020 /* vssrlni.wu.d */, LoongArch::VSSRLNI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3523 | | { 11033 /* vssrlrn.b.h */, LoongArch::VSSRLRN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3524 | | { 11045 /* vssrlrn.bu.h */, LoongArch::VSSRLRN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3525 | | { 11058 /* vssrlrn.h.w */, LoongArch::VSSRLRN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3526 | | { 11070 /* vssrlrn.hu.w */, LoongArch::VSSRLRN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3527 | | { 11083 /* vssrlrn.w.d */, LoongArch::VSSRLRN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3528 | | { 11095 /* vssrlrn.wu.d */, LoongArch::VSSRLRN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3529 | | { 11108 /* vssrlrni.b.h */, LoongArch::VSSRLRNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3530 | | { 11121 /* vssrlrni.bu.h */, LoongArch::VSSRLRNI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm4 }, }, |
3531 | | { 11135 /* vssrlrni.d.q */, LoongArch::VSSRLRNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3532 | | { 11148 /* vssrlrni.du.q */, LoongArch::VSSRLRNI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm7 }, }, |
3533 | | { 11162 /* vssrlrni.h.w */, LoongArch::VSSRLRNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3534 | | { 11175 /* vssrlrni.hu.w */, LoongArch::VSSRLRNI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3535 | | { 11189 /* vssrlrni.w.d */, LoongArch::VSSRLRNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3536 | | { 11202 /* vssrlrni.wu.d */, LoongArch::VSSRLRNI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm6 }, }, |
3537 | | { 11216 /* vssub.b */, LoongArch::VSSUB_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3538 | | { 11224 /* vssub.bu */, LoongArch::VSSUB_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3539 | | { 11233 /* vssub.d */, LoongArch::VSSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3540 | | { 11241 /* vssub.du */, LoongArch::VSSUB_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3541 | | { 11250 /* vssub.h */, LoongArch::VSSUB_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3542 | | { 11258 /* vssub.hu */, LoongArch::VSSUB_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3543 | | { 11267 /* vssub.w */, LoongArch::VSSUB_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3544 | | { 11275 /* vssub.wu */, LoongArch::VSSUB_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3545 | | { 11284 /* vst */, LoongArch::VST, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm12 }, }, |
3546 | | { 11288 /* vstelm.b */, LoongArch::VSTELM_B, Convert__Reg1_0__Reg1_1__SImm81_2__UImm41_3, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm8, MCK_UImm4 }, }, |
3547 | | { 11297 /* vstelm.d */, LoongArch::VSTELM_D, Convert__Reg1_0__Reg1_1__SImm8lsl31_2__UImm11_3, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm8lsl3, MCK_UImm1 }, }, |
3548 | | { 11306 /* vstelm.h */, LoongArch::VSTELM_H, Convert__Reg1_0__Reg1_1__SImm8lsl11_2__UImm31_3, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm8lsl1, MCK_UImm3 }, }, |
3549 | | { 11315 /* vstelm.w */, LoongArch::VSTELM_W, Convert__Reg1_0__Reg1_1__SImm8lsl21_2__UImm21_3, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_SImm8lsl2, MCK_UImm2 }, }, |
3550 | | { 11324 /* vstx */, LoongArch::VSTX, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_GPR, MCK_GPR }, }, |
3551 | | { 11329 /* vsub.b */, LoongArch::VSUB_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3552 | | { 11336 /* vsub.d */, LoongArch::VSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3553 | | { 11343 /* vsub.h */, LoongArch::VSUB_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3554 | | { 11350 /* vsub.q */, LoongArch::VSUB_Q, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3555 | | { 11357 /* vsub.w */, LoongArch::VSUB_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3556 | | { 11364 /* vsubi.bu */, LoongArch::VSUBI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3557 | | { 11373 /* vsubi.du */, LoongArch::VSUBI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3558 | | { 11382 /* vsubi.hu */, LoongArch::VSUBI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3559 | | { 11391 /* vsubi.wu */, LoongArch::VSUBI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm5 }, }, |
3560 | | { 11400 /* vsubwev.d.w */, LoongArch::VSUBWEV_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3561 | | { 11412 /* vsubwev.d.wu */, LoongArch::VSUBWEV_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3562 | | { 11425 /* vsubwev.h.b */, LoongArch::VSUBWEV_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3563 | | { 11437 /* vsubwev.h.bu */, LoongArch::VSUBWEV_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3564 | | { 11450 /* vsubwev.q.d */, LoongArch::VSUBWEV_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3565 | | { 11462 /* vsubwev.q.du */, LoongArch::VSUBWEV_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3566 | | { 11475 /* vsubwev.w.h */, LoongArch::VSUBWEV_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3567 | | { 11487 /* vsubwev.w.hu */, LoongArch::VSUBWEV_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3568 | | { 11500 /* vsubwod.d.w */, LoongArch::VSUBWOD_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3569 | | { 11512 /* vsubwod.d.wu */, LoongArch::VSUBWOD_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3570 | | { 11525 /* vsubwod.h.b */, LoongArch::VSUBWOD_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3571 | | { 11537 /* vsubwod.h.bu */, LoongArch::VSUBWOD_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3572 | | { 11550 /* vsubwod.q.d */, LoongArch::VSUBWOD_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3573 | | { 11562 /* vsubwod.q.du */, LoongArch::VSUBWOD_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3574 | | { 11575 /* vsubwod.w.h */, LoongArch::VSUBWOD_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3575 | | { 11587 /* vsubwod.w.hu */, LoongArch::VSUBWOD_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3576 | | { 11600 /* vxor.v */, LoongArch::VXOR_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_LSX128 }, }, |
3577 | | { 11607 /* vxori.b */, LoongArch::VXORI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LSX128, MCK_LSX128, MCK_UImm8 }, }, |
3578 | | { 11615 /* x86adc.b */, LoongArch::X86ADC_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3579 | | { 11624 /* x86adc.d */, LoongArch::X86ADC_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3580 | | { 11633 /* x86adc.h */, LoongArch::X86ADC_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3581 | | { 11642 /* x86adc.w */, LoongArch::X86ADC_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3582 | | { 11651 /* x86add.b */, LoongArch::X86ADD_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3583 | | { 11660 /* x86add.d */, LoongArch::X86ADD_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3584 | | { 11669 /* x86add.du */, LoongArch::X86ADD_DU, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3585 | | { 11679 /* x86add.h */, LoongArch::X86ADD_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3586 | | { 11688 /* x86add.w */, LoongArch::X86ADD_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3587 | | { 11697 /* x86add.wu */, LoongArch::X86ADD_WU, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3588 | | { 11707 /* x86and.b */, LoongArch::X86AND_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3589 | | { 11716 /* x86and.d */, LoongArch::X86AND_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3590 | | { 11725 /* x86and.h */, LoongArch::X86AND_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3591 | | { 11734 /* x86and.w */, LoongArch::X86AND_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3592 | | { 11743 /* x86clrtm */, LoongArch::X86CLRTM, Convert_NoOperands, AMFBS_None, { }, }, |
3593 | | { 11752 /* x86dec.b */, LoongArch::X86DEC_B, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3594 | | { 11761 /* x86dec.d */, LoongArch::X86DEC_D, Convert__Reg1_0, AMFBS_IsLA64, { MCK_GPR }, }, |
3595 | | { 11770 /* x86dec.h */, LoongArch::X86DEC_H, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3596 | | { 11779 /* x86dec.w */, LoongArch::X86DEC_W, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3597 | | { 11788 /* x86dectop */, LoongArch::X86DECTOP, Convert_NoOperands, AMFBS_None, { }, }, |
3598 | | { 11798 /* x86inc.b */, LoongArch::X86INC_B, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3599 | | { 11807 /* x86inc.d */, LoongArch::X86INC_D, Convert__Reg1_0, AMFBS_IsLA64, { MCK_GPR }, }, |
3600 | | { 11816 /* x86inc.h */, LoongArch::X86INC_H, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3601 | | { 11825 /* x86inc.w */, LoongArch::X86INC_W, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3602 | | { 11834 /* x86inctop */, LoongArch::X86INCTOP, Convert_NoOperands, AMFBS_None, { }, }, |
3603 | | { 11844 /* x86mfflag */, LoongArch::X86MFFLAG, Convert__Reg1_0__UImm81_1, AMFBS_None, { MCK_GPR, MCK_UImm8 }, }, |
3604 | | { 11854 /* x86mftop */, LoongArch::X86MFTOP, Convert__Reg1_0, AMFBS_None, { MCK_GPR }, }, |
3605 | | { 11863 /* x86mtflag */, LoongArch::X86MTFLAG, Convert__Reg1_0__UImm81_1, AMFBS_None, { MCK_GPR, MCK_UImm8 }, }, |
3606 | | { 11873 /* x86mttop */, LoongArch::X86MTTOP, Convert__UImm31_0, AMFBS_None, { MCK_UImm3 }, }, |
3607 | | { 11882 /* x86mul.b */, LoongArch::X86MUL_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3608 | | { 11891 /* x86mul.bu */, LoongArch::X86MUL_BU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3609 | | { 11901 /* x86mul.d */, LoongArch::X86MUL_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3610 | | { 11910 /* x86mul.du */, LoongArch::X86MUL_DU, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3611 | | { 11920 /* x86mul.h */, LoongArch::X86MUL_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3612 | | { 11929 /* x86mul.hu */, LoongArch::X86MUL_HU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3613 | | { 11939 /* x86mul.w */, LoongArch::X86MUL_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3614 | | { 11948 /* x86mul.wu */, LoongArch::X86MUL_WU, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3615 | | { 11958 /* x86or.b */, LoongArch::X86OR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3616 | | { 11966 /* x86or.d */, LoongArch::X86OR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3617 | | { 11974 /* x86or.h */, LoongArch::X86OR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3618 | | { 11982 /* x86or.w */, LoongArch::X86OR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3619 | | { 11990 /* x86rcl.b */, LoongArch::X86RCL_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3620 | | { 11999 /* x86rcl.d */, LoongArch::X86RCL_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3621 | | { 12008 /* x86rcl.h */, LoongArch::X86RCL_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3622 | | { 12017 /* x86rcl.w */, LoongArch::X86RCL_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3623 | | { 12026 /* x86rcli.b */, LoongArch::X86RCLI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3624 | | { 12036 /* x86rcli.d */, LoongArch::X86RCLI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3625 | | { 12046 /* x86rcli.h */, LoongArch::X86RCLI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3626 | | { 12056 /* x86rcli.w */, LoongArch::X86RCLI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3627 | | { 12066 /* x86rcr.b */, LoongArch::X86RCR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3628 | | { 12075 /* x86rcr.d */, LoongArch::X86RCR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3629 | | { 12084 /* x86rcr.h */, LoongArch::X86RCR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3630 | | { 12093 /* x86rcr.w */, LoongArch::X86RCR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3631 | | { 12102 /* x86rcri.b */, LoongArch::X86RCRI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3632 | | { 12112 /* x86rcri.d */, LoongArch::X86RCRI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3633 | | { 12122 /* x86rcri.h */, LoongArch::X86RCRI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3634 | | { 12132 /* x86rcri.w */, LoongArch::X86RCRI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3635 | | { 12142 /* x86rotl.b */, LoongArch::X86ROTL_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3636 | | { 12152 /* x86rotl.d */, LoongArch::X86ROTL_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3637 | | { 12162 /* x86rotl.h */, LoongArch::X86ROTL_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3638 | | { 12172 /* x86rotl.w */, LoongArch::X86ROTL_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3639 | | { 12182 /* x86rotli.b */, LoongArch::X86ROTLI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3640 | | { 12193 /* x86rotli.d */, LoongArch::X86ROTLI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3641 | | { 12204 /* x86rotli.h */, LoongArch::X86ROTLI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3642 | | { 12215 /* x86rotli.w */, LoongArch::X86ROTLI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3643 | | { 12226 /* x86rotr.b */, LoongArch::X86ROTR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3644 | | { 12236 /* x86rotr.d */, LoongArch::X86ROTR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3645 | | { 12246 /* x86rotr.h */, LoongArch::X86ROTR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3646 | | { 12256 /* x86rotr.w */, LoongArch::X86ROTR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3647 | | { 12266 /* x86rotri.b */, LoongArch::X86ROTRI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3648 | | { 12277 /* x86rotri.d */, LoongArch::X86ROTRI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3649 | | { 12288 /* x86rotri.h */, LoongArch::X86ROTRI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3650 | | { 12299 /* x86rotri.w */, LoongArch::X86ROTRI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3651 | | { 12310 /* x86sbc.b */, LoongArch::X86SBC_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3652 | | { 12319 /* x86sbc.d */, LoongArch::X86SBC_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3653 | | { 12328 /* x86sbc.h */, LoongArch::X86SBC_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3654 | | { 12337 /* x86sbc.w */, LoongArch::X86SBC_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3655 | | { 12346 /* x86settag */, LoongArch::X86SETTAG, Convert__Reg1_0__UImm51_1__UImm81_2, AMFBS_None, { MCK_GPR, MCK_UImm5, MCK_UImm8 }, }, |
3656 | | { 12356 /* x86settm */, LoongArch::X86SETTM, Convert_NoOperands, AMFBS_None, { }, }, |
3657 | | { 12365 /* x86sll.b */, LoongArch::X86SLL_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3658 | | { 12374 /* x86sll.d */, LoongArch::X86SLL_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3659 | | { 12383 /* x86sll.h */, LoongArch::X86SLL_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3660 | | { 12392 /* x86sll.w */, LoongArch::X86SLL_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3661 | | { 12401 /* x86slli.b */, LoongArch::X86SLLI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3662 | | { 12411 /* x86slli.d */, LoongArch::X86SLLI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3663 | | { 12421 /* x86slli.h */, LoongArch::X86SLLI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3664 | | { 12431 /* x86slli.w */, LoongArch::X86SLLI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3665 | | { 12441 /* x86sra.b */, LoongArch::X86SRA_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3666 | | { 12450 /* x86sra.d */, LoongArch::X86SRA_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3667 | | { 12459 /* x86sra.h */, LoongArch::X86SRA_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3668 | | { 12468 /* x86sra.w */, LoongArch::X86SRA_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3669 | | { 12477 /* x86srai.b */, LoongArch::X86SRAI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3670 | | { 12487 /* x86srai.d */, LoongArch::X86SRAI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3671 | | { 12497 /* x86srai.h */, LoongArch::X86SRAI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3672 | | { 12507 /* x86srai.w */, LoongArch::X86SRAI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3673 | | { 12517 /* x86srl.b */, LoongArch::X86SRL_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3674 | | { 12526 /* x86srl.d */, LoongArch::X86SRL_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3675 | | { 12535 /* x86srl.h */, LoongArch::X86SRL_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3676 | | { 12544 /* x86srl.w */, LoongArch::X86SRL_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3677 | | { 12553 /* x86srli.b */, LoongArch::X86SRLI_B, Convert__Reg1_0__UImm31_1, AMFBS_None, { MCK_GPR, MCK_UImm3 }, }, |
3678 | | { 12563 /* x86srli.d */, LoongArch::X86SRLI_D, Convert__Reg1_0__UImm61_1, AMFBS_IsLA64, { MCK_GPR, MCK_UImm6 }, }, |
3679 | | { 12573 /* x86srli.h */, LoongArch::X86SRLI_H, Convert__Reg1_0__UImm41_1, AMFBS_None, { MCK_GPR, MCK_UImm4 }, }, |
3680 | | { 12583 /* x86srli.w */, LoongArch::X86SRLI_W, Convert__Reg1_0__UImm51_1, AMFBS_None, { MCK_GPR, MCK_UImm5 }, }, |
3681 | | { 12593 /* x86sub.b */, LoongArch::X86SUB_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3682 | | { 12602 /* x86sub.d */, LoongArch::X86SUB_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3683 | | { 12611 /* x86sub.du */, LoongArch::X86SUB_DU, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3684 | | { 12621 /* x86sub.h */, LoongArch::X86SUB_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3685 | | { 12630 /* x86sub.w */, LoongArch::X86SUB_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3686 | | { 12639 /* x86sub.wu */, LoongArch::X86SUB_WU, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3687 | | { 12649 /* x86xor.b */, LoongArch::X86XOR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3688 | | { 12658 /* x86xor.d */, LoongArch::X86XOR_D, Convert__Reg1_0__Reg1_1, AMFBS_IsLA64, { MCK_GPR, MCK_GPR }, }, |
3689 | | { 12667 /* x86xor.h */, LoongArch::X86XOR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3690 | | { 12676 /* x86xor.w */, LoongArch::X86XOR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_GPR, MCK_GPR }, }, |
3691 | | { 12685 /* xor */, LoongArch::XOR, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_GPR }, }, |
3692 | | { 12689 /* xori */, LoongArch::XORI, Convert__Reg1_0__Reg1_1__UImm121_2, AMFBS_None, { MCK_GPR, MCK_GPR, MCK_UImm12 }, }, |
3693 | | { 12694 /* xvabsd.b */, LoongArch::XVABSD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3694 | | { 12703 /* xvabsd.bu */, LoongArch::XVABSD_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3695 | | { 12713 /* xvabsd.d */, LoongArch::XVABSD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3696 | | { 12722 /* xvabsd.du */, LoongArch::XVABSD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3697 | | { 12732 /* xvabsd.h */, LoongArch::XVABSD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3698 | | { 12741 /* xvabsd.hu */, LoongArch::XVABSD_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3699 | | { 12751 /* xvabsd.w */, LoongArch::XVABSD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3700 | | { 12760 /* xvabsd.wu */, LoongArch::XVABSD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3701 | | { 12770 /* xvadd.b */, LoongArch::XVADD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3702 | | { 12778 /* xvadd.d */, LoongArch::XVADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3703 | | { 12786 /* xvadd.h */, LoongArch::XVADD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3704 | | { 12794 /* xvadd.q */, LoongArch::XVADD_Q, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3705 | | { 12802 /* xvadd.w */, LoongArch::XVADD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3706 | | { 12810 /* xvadda.b */, LoongArch::XVADDA_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3707 | | { 12819 /* xvadda.d */, LoongArch::XVADDA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3708 | | { 12828 /* xvadda.h */, LoongArch::XVADDA_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3709 | | { 12837 /* xvadda.w */, LoongArch::XVADDA_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3710 | | { 12846 /* xvaddi.bu */, LoongArch::XVADDI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3711 | | { 12856 /* xvaddi.du */, LoongArch::XVADDI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3712 | | { 12866 /* xvaddi.hu */, LoongArch::XVADDI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3713 | | { 12876 /* xvaddi.wu */, LoongArch::XVADDI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3714 | | { 12886 /* xvaddwev.d.w */, LoongArch::XVADDWEV_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3715 | | { 12899 /* xvaddwev.d.wu */, LoongArch::XVADDWEV_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3716 | | { 12913 /* xvaddwev.d.wu.w */, LoongArch::XVADDWEV_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3717 | | { 12929 /* xvaddwev.h.b */, LoongArch::XVADDWEV_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3718 | | { 12942 /* xvaddwev.h.bu */, LoongArch::XVADDWEV_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3719 | | { 12956 /* xvaddwev.h.bu.b */, LoongArch::XVADDWEV_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3720 | | { 12972 /* xvaddwev.q.d */, LoongArch::XVADDWEV_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3721 | | { 12985 /* xvaddwev.q.du */, LoongArch::XVADDWEV_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3722 | | { 12999 /* xvaddwev.q.du.d */, LoongArch::XVADDWEV_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3723 | | { 13015 /* xvaddwev.w.h */, LoongArch::XVADDWEV_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3724 | | { 13028 /* xvaddwev.w.hu */, LoongArch::XVADDWEV_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3725 | | { 13042 /* xvaddwev.w.hu.h */, LoongArch::XVADDWEV_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3726 | | { 13058 /* xvaddwod.d.w */, LoongArch::XVADDWOD_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3727 | | { 13071 /* xvaddwod.d.wu */, LoongArch::XVADDWOD_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3728 | | { 13085 /* xvaddwod.d.wu.w */, LoongArch::XVADDWOD_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3729 | | { 13101 /* xvaddwod.h.b */, LoongArch::XVADDWOD_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3730 | | { 13114 /* xvaddwod.h.bu */, LoongArch::XVADDWOD_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3731 | | { 13128 /* xvaddwod.h.bu.b */, LoongArch::XVADDWOD_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3732 | | { 13144 /* xvaddwod.q.d */, LoongArch::XVADDWOD_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3733 | | { 13157 /* xvaddwod.q.du */, LoongArch::XVADDWOD_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3734 | | { 13171 /* xvaddwod.q.du.d */, LoongArch::XVADDWOD_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3735 | | { 13187 /* xvaddwod.w.h */, LoongArch::XVADDWOD_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3736 | | { 13200 /* xvaddwod.w.hu */, LoongArch::XVADDWOD_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3737 | | { 13214 /* xvaddwod.w.hu.h */, LoongArch::XVADDWOD_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3738 | | { 13230 /* xvand.v */, LoongArch::XVAND_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3739 | | { 13238 /* xvandi.b */, LoongArch::XVANDI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
3740 | | { 13247 /* xvandn.v */, LoongArch::XVANDN_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3741 | | { 13256 /* xvavg.b */, LoongArch::XVAVG_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3742 | | { 13264 /* xvavg.bu */, LoongArch::XVAVG_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3743 | | { 13273 /* xvavg.d */, LoongArch::XVAVG_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3744 | | { 13281 /* xvavg.du */, LoongArch::XVAVG_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3745 | | { 13290 /* xvavg.h */, LoongArch::XVAVG_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3746 | | { 13298 /* xvavg.hu */, LoongArch::XVAVG_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3747 | | { 13307 /* xvavg.w */, LoongArch::XVAVG_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3748 | | { 13315 /* xvavg.wu */, LoongArch::XVAVG_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3749 | | { 13324 /* xvavgr.b */, LoongArch::XVAVGR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3750 | | { 13333 /* xvavgr.bu */, LoongArch::XVAVGR_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3751 | | { 13343 /* xvavgr.d */, LoongArch::XVAVGR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3752 | | { 13352 /* xvavgr.du */, LoongArch::XVAVGR_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3753 | | { 13362 /* xvavgr.h */, LoongArch::XVAVGR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3754 | | { 13371 /* xvavgr.hu */, LoongArch::XVAVGR_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3755 | | { 13381 /* xvavgr.w */, LoongArch::XVAVGR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3756 | | { 13390 /* xvavgr.wu */, LoongArch::XVAVGR_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3757 | | { 13400 /* xvbitclr.b */, LoongArch::XVBITCLR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3758 | | { 13411 /* xvbitclr.d */, LoongArch::XVBITCLR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3759 | | { 13422 /* xvbitclr.h */, LoongArch::XVBITCLR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3760 | | { 13433 /* xvbitclr.w */, LoongArch::XVBITCLR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3761 | | { 13444 /* xvbitclri.b */, LoongArch::XVBITCLRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
3762 | | { 13456 /* xvbitclri.d */, LoongArch::XVBITCLRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
3763 | | { 13468 /* xvbitclri.h */, LoongArch::XVBITCLRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
3764 | | { 13480 /* xvbitclri.w */, LoongArch::XVBITCLRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3765 | | { 13492 /* xvbitrev.b */, LoongArch::XVBITREV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3766 | | { 13503 /* xvbitrev.d */, LoongArch::XVBITREV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3767 | | { 13514 /* xvbitrev.h */, LoongArch::XVBITREV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3768 | | { 13525 /* xvbitrev.w */, LoongArch::XVBITREV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3769 | | { 13536 /* xvbitrevi.b */, LoongArch::XVBITREVI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
3770 | | { 13548 /* xvbitrevi.d */, LoongArch::XVBITREVI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
3771 | | { 13560 /* xvbitrevi.h */, LoongArch::XVBITREVI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
3772 | | { 13572 /* xvbitrevi.w */, LoongArch::XVBITREVI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3773 | | { 13584 /* xvbitsel.v */, LoongArch::XVBITSEL_V, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3774 | | { 13595 /* xvbitseli.b */, LoongArch::XVBITSELI_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
3775 | | { 13607 /* xvbitset.b */, LoongArch::XVBITSET_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3776 | | { 13618 /* xvbitset.d */, LoongArch::XVBITSET_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3777 | | { 13629 /* xvbitset.h */, LoongArch::XVBITSET_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3778 | | { 13640 /* xvbitset.w */, LoongArch::XVBITSET_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3779 | | { 13651 /* xvbitseti.b */, LoongArch::XVBITSETI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
3780 | | { 13663 /* xvbitseti.d */, LoongArch::XVBITSETI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
3781 | | { 13675 /* xvbitseti.h */, LoongArch::XVBITSETI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
3782 | | { 13687 /* xvbitseti.w */, LoongArch::XVBITSETI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3783 | | { 13699 /* xvbsll.v */, LoongArch::XVBSLL_V, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3784 | | { 13708 /* xvbsrl.v */, LoongArch::XVBSRL_V, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3785 | | { 13717 /* xvclo.b */, LoongArch::XVCLO_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3786 | | { 13725 /* xvclo.d */, LoongArch::XVCLO_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3787 | | { 13733 /* xvclo.h */, LoongArch::XVCLO_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3788 | | { 13741 /* xvclo.w */, LoongArch::XVCLO_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3789 | | { 13749 /* xvclz.b */, LoongArch::XVCLZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3790 | | { 13757 /* xvclz.d */, LoongArch::XVCLZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3791 | | { 13765 /* xvclz.h */, LoongArch::XVCLZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3792 | | { 13773 /* xvclz.w */, LoongArch::XVCLZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3793 | | { 13781 /* xvdiv.b */, LoongArch::XVDIV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3794 | | { 13789 /* xvdiv.bu */, LoongArch::XVDIV_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3795 | | { 13798 /* xvdiv.d */, LoongArch::XVDIV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3796 | | { 13806 /* xvdiv.du */, LoongArch::XVDIV_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3797 | | { 13815 /* xvdiv.h */, LoongArch::XVDIV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3798 | | { 13823 /* xvdiv.hu */, LoongArch::XVDIV_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3799 | | { 13832 /* xvdiv.w */, LoongArch::XVDIV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3800 | | { 13840 /* xvdiv.wu */, LoongArch::XVDIV_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3801 | | { 13849 /* xvexth.d.w */, LoongArch::XVEXTH_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3802 | | { 13860 /* xvexth.du.wu */, LoongArch::XVEXTH_DU_WU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3803 | | { 13873 /* xvexth.h.b */, LoongArch::XVEXTH_H_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3804 | | { 13884 /* xvexth.hu.bu */, LoongArch::XVEXTH_HU_BU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3805 | | { 13897 /* xvexth.q.d */, LoongArch::XVEXTH_Q_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3806 | | { 13908 /* xvexth.qu.du */, LoongArch::XVEXTH_QU_DU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3807 | | { 13921 /* xvexth.w.h */, LoongArch::XVEXTH_W_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3808 | | { 13932 /* xvexth.wu.hu */, LoongArch::XVEXTH_WU_HU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3809 | | { 13945 /* xvextl.q.d */, LoongArch::XVEXTL_Q_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3810 | | { 13956 /* xvextl.qu.du */, LoongArch::XVEXTL_QU_DU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3811 | | { 13969 /* xvextrins.b */, LoongArch::XVEXTRINS_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
3812 | | { 13981 /* xvextrins.d */, LoongArch::XVEXTRINS_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
3813 | | { 13993 /* xvextrins.h */, LoongArch::XVEXTRINS_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
3814 | | { 14005 /* xvextrins.w */, LoongArch::XVEXTRINS_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
3815 | | { 14017 /* xvfadd.d */, LoongArch::XVFADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3816 | | { 14026 /* xvfadd.s */, LoongArch::XVFADD_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3817 | | { 14035 /* xvfclass.d */, LoongArch::XVFCLASS_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3818 | | { 14046 /* xvfclass.s */, LoongArch::XVFCLASS_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3819 | | { 14057 /* xvfcmp.caf.d */, LoongArch::XVFCMP_CAF_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3820 | | { 14070 /* xvfcmp.caf.s */, LoongArch::XVFCMP_CAF_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3821 | | { 14083 /* xvfcmp.ceq.d */, LoongArch::XVFCMP_CEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3822 | | { 14096 /* xvfcmp.ceq.s */, LoongArch::XVFCMP_CEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3823 | | { 14109 /* xvfcmp.cle.d */, LoongArch::XVFCMP_CLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3824 | | { 14122 /* xvfcmp.cle.s */, LoongArch::XVFCMP_CLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3825 | | { 14135 /* xvfcmp.clt.d */, LoongArch::XVFCMP_CLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3826 | | { 14148 /* xvfcmp.clt.s */, LoongArch::XVFCMP_CLT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3827 | | { 14161 /* xvfcmp.cne.d */, LoongArch::XVFCMP_CNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3828 | | { 14174 /* xvfcmp.cne.s */, LoongArch::XVFCMP_CNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3829 | | { 14187 /* xvfcmp.cor.d */, LoongArch::XVFCMP_COR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3830 | | { 14200 /* xvfcmp.cor.s */, LoongArch::XVFCMP_COR_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3831 | | { 14213 /* xvfcmp.cueq.d */, LoongArch::XVFCMP_CUEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3832 | | { 14227 /* xvfcmp.cueq.s */, LoongArch::XVFCMP_CUEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3833 | | { 14241 /* xvfcmp.cule.d */, LoongArch::XVFCMP_CULE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3834 | | { 14255 /* xvfcmp.cule.s */, LoongArch::XVFCMP_CULE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3835 | | { 14269 /* xvfcmp.cult.d */, LoongArch::XVFCMP_CULT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3836 | | { 14283 /* xvfcmp.cult.s */, LoongArch::XVFCMP_CULT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3837 | | { 14297 /* xvfcmp.cun.d */, LoongArch::XVFCMP_CUN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3838 | | { 14310 /* xvfcmp.cun.s */, LoongArch::XVFCMP_CUN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3839 | | { 14323 /* xvfcmp.cune.d */, LoongArch::XVFCMP_CUNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3840 | | { 14337 /* xvfcmp.cune.s */, LoongArch::XVFCMP_CUNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3841 | | { 14351 /* xvfcmp.saf.d */, LoongArch::XVFCMP_SAF_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3842 | | { 14364 /* xvfcmp.saf.s */, LoongArch::XVFCMP_SAF_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3843 | | { 14377 /* xvfcmp.seq.d */, LoongArch::XVFCMP_SEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3844 | | { 14390 /* xvfcmp.seq.s */, LoongArch::XVFCMP_SEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3845 | | { 14403 /* xvfcmp.sle.d */, LoongArch::XVFCMP_SLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3846 | | { 14416 /* xvfcmp.sle.s */, LoongArch::XVFCMP_SLE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3847 | | { 14429 /* xvfcmp.slt.d */, LoongArch::XVFCMP_SLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3848 | | { 14442 /* xvfcmp.slt.s */, LoongArch::XVFCMP_SLT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3849 | | { 14455 /* xvfcmp.sne.d */, LoongArch::XVFCMP_SNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3850 | | { 14468 /* xvfcmp.sne.s */, LoongArch::XVFCMP_SNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3851 | | { 14481 /* xvfcmp.sor.d */, LoongArch::XVFCMP_SOR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3852 | | { 14494 /* xvfcmp.sor.s */, LoongArch::XVFCMP_SOR_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3853 | | { 14507 /* xvfcmp.sueq.d */, LoongArch::XVFCMP_SUEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3854 | | { 14521 /* xvfcmp.sueq.s */, LoongArch::XVFCMP_SUEQ_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3855 | | { 14535 /* xvfcmp.sule.d */, LoongArch::XVFCMP_SULE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3856 | | { 14549 /* xvfcmp.sule.s */, LoongArch::XVFCMP_SULE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3857 | | { 14563 /* xvfcmp.sult.d */, LoongArch::XVFCMP_SULT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3858 | | { 14577 /* xvfcmp.sult.s */, LoongArch::XVFCMP_SULT_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3859 | | { 14591 /* xvfcmp.sun.d */, LoongArch::XVFCMP_SUN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3860 | | { 14604 /* xvfcmp.sun.s */, LoongArch::XVFCMP_SUN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3861 | | { 14617 /* xvfcmp.sune.d */, LoongArch::XVFCMP_SUNE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3862 | | { 14631 /* xvfcmp.sune.s */, LoongArch::XVFCMP_SUNE_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3863 | | { 14645 /* xvfcvt.h.s */, LoongArch::XVFCVT_H_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3864 | | { 14656 /* xvfcvt.s.d */, LoongArch::XVFCVT_S_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3865 | | { 14667 /* xvfcvth.d.s */, LoongArch::XVFCVTH_D_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3866 | | { 14679 /* xvfcvth.s.h */, LoongArch::XVFCVTH_S_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3867 | | { 14691 /* xvfcvtl.d.s */, LoongArch::XVFCVTL_D_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3868 | | { 14703 /* xvfcvtl.s.h */, LoongArch::XVFCVTL_S_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3869 | | { 14715 /* xvfdiv.d */, LoongArch::XVFDIV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3870 | | { 14724 /* xvfdiv.s */, LoongArch::XVFDIV_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3871 | | { 14733 /* xvffint.d.l */, LoongArch::XVFFINT_D_L, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3872 | | { 14745 /* xvffint.d.lu */, LoongArch::XVFFINT_D_LU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3873 | | { 14758 /* xvffint.s.l */, LoongArch::XVFFINT_S_L, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3874 | | { 14770 /* xvffint.s.w */, LoongArch::XVFFINT_S_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3875 | | { 14782 /* xvffint.s.wu */, LoongArch::XVFFINT_S_WU, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3876 | | { 14795 /* xvffinth.d.w */, LoongArch::XVFFINTH_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3877 | | { 14808 /* xvffintl.d.w */, LoongArch::XVFFINTL_D_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3878 | | { 14821 /* xvflogb.d */, LoongArch::XVFLOGB_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3879 | | { 14831 /* xvflogb.s */, LoongArch::XVFLOGB_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3880 | | { 14841 /* xvfmadd.d */, LoongArch::XVFMADD_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3881 | | { 14851 /* xvfmadd.s */, LoongArch::XVFMADD_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3882 | | { 14861 /* xvfmax.d */, LoongArch::XVFMAX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3883 | | { 14870 /* xvfmax.s */, LoongArch::XVFMAX_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3884 | | { 14879 /* xvfmaxa.d */, LoongArch::XVFMAXA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3885 | | { 14889 /* xvfmaxa.s */, LoongArch::XVFMAXA_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3886 | | { 14899 /* xvfmin.d */, LoongArch::XVFMIN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3887 | | { 14908 /* xvfmin.s */, LoongArch::XVFMIN_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3888 | | { 14917 /* xvfmina.d */, LoongArch::XVFMINA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3889 | | { 14927 /* xvfmina.s */, LoongArch::XVFMINA_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3890 | | { 14937 /* xvfmsub.d */, LoongArch::XVFMSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3891 | | { 14947 /* xvfmsub.s */, LoongArch::XVFMSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3892 | | { 14957 /* xvfmul.d */, LoongArch::XVFMUL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3893 | | { 14966 /* xvfmul.s */, LoongArch::XVFMUL_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3894 | | { 14975 /* xvfnmadd.d */, LoongArch::XVFNMADD_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3895 | | { 14986 /* xvfnmadd.s */, LoongArch::XVFNMADD_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3896 | | { 14997 /* xvfnmsub.d */, LoongArch::XVFNMSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3897 | | { 15008 /* xvfnmsub.s */, LoongArch::XVFNMSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3898 | | { 15019 /* xvfrecip.d */, LoongArch::XVFRECIP_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3899 | | { 15030 /* xvfrecip.s */, LoongArch::XVFRECIP_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3900 | | { 15041 /* xvfrecipe.d */, LoongArch::XVFRECIPE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3901 | | { 15053 /* xvfrecipe.s */, LoongArch::XVFRECIPE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3902 | | { 15065 /* xvfrint.d */, LoongArch::XVFRINT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3903 | | { 15075 /* xvfrint.s */, LoongArch::XVFRINT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3904 | | { 15085 /* xvfrintrm.d */, LoongArch::XVFRINTRM_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3905 | | { 15097 /* xvfrintrm.s */, LoongArch::XVFRINTRM_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3906 | | { 15109 /* xvfrintrne.d */, LoongArch::XVFRINTRNE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3907 | | { 15122 /* xvfrintrne.s */, LoongArch::XVFRINTRNE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3908 | | { 15135 /* xvfrintrp.d */, LoongArch::XVFRINTRP_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3909 | | { 15147 /* xvfrintrp.s */, LoongArch::XVFRINTRP_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3910 | | { 15159 /* xvfrintrz.d */, LoongArch::XVFRINTRZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3911 | | { 15171 /* xvfrintrz.s */, LoongArch::XVFRINTRZ_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3912 | | { 15183 /* xvfrsqrt.d */, LoongArch::XVFRSQRT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3913 | | { 15194 /* xvfrsqrt.s */, LoongArch::XVFRSQRT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3914 | | { 15205 /* xvfrsqrte.d */, LoongArch::XVFRSQRTE_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3915 | | { 15217 /* xvfrsqrte.s */, LoongArch::XVFRSQRTE_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3916 | | { 15229 /* xvfrstp.b */, LoongArch::XVFRSTP_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3917 | | { 15239 /* xvfrstp.h */, LoongArch::XVFRSTP_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3918 | | { 15249 /* xvfrstpi.b */, LoongArch::XVFRSTPI_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3919 | | { 15260 /* xvfrstpi.h */, LoongArch::XVFRSTPI_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3920 | | { 15271 /* xvfsqrt.d */, LoongArch::XVFSQRT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3921 | | { 15281 /* xvfsqrt.s */, LoongArch::XVFSQRT_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3922 | | { 15291 /* xvfsub.d */, LoongArch::XVFSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3923 | | { 15300 /* xvfsub.s */, LoongArch::XVFSUB_S, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3924 | | { 15309 /* xvftint.l.d */, LoongArch::XVFTINT_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3925 | | { 15321 /* xvftint.lu.d */, LoongArch::XVFTINT_LU_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3926 | | { 15334 /* xvftint.w.d */, LoongArch::XVFTINT_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3927 | | { 15346 /* xvftint.w.s */, LoongArch::XVFTINT_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3928 | | { 15358 /* xvftint.wu.s */, LoongArch::XVFTINT_WU_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3929 | | { 15371 /* xvftinth.l.s */, LoongArch::XVFTINTH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3930 | | { 15384 /* xvftintl.l.s */, LoongArch::XVFTINTL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3931 | | { 15397 /* xvftintrm.l.d */, LoongArch::XVFTINTRM_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3932 | | { 15411 /* xvftintrm.w.d */, LoongArch::XVFTINTRM_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3933 | | { 15425 /* xvftintrm.w.s */, LoongArch::XVFTINTRM_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3934 | | { 15439 /* xvftintrmh.l.s */, LoongArch::XVFTINTRMH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3935 | | { 15454 /* xvftintrml.l.s */, LoongArch::XVFTINTRML_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3936 | | { 15469 /* xvftintrne.l.d */, LoongArch::XVFTINTRNE_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3937 | | { 15484 /* xvftintrne.w.d */, LoongArch::XVFTINTRNE_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3938 | | { 15499 /* xvftintrne.w.s */, LoongArch::XVFTINTRNE_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3939 | | { 15514 /* xvftintrneh.l.s */, LoongArch::XVFTINTRNEH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3940 | | { 15530 /* xvftintrnel.l.s */, LoongArch::XVFTINTRNEL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3941 | | { 15546 /* xvftintrp.l.d */, LoongArch::XVFTINTRP_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3942 | | { 15560 /* xvftintrp.w.d */, LoongArch::XVFTINTRP_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3943 | | { 15574 /* xvftintrp.w.s */, LoongArch::XVFTINTRP_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3944 | | { 15588 /* xvftintrph.l.s */, LoongArch::XVFTINTRPH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3945 | | { 15603 /* xvftintrpl.l.s */, LoongArch::XVFTINTRPL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3946 | | { 15618 /* xvftintrz.l.d */, LoongArch::XVFTINTRZ_L_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3947 | | { 15632 /* xvftintrz.lu.d */, LoongArch::XVFTINTRZ_LU_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3948 | | { 15647 /* xvftintrz.w.d */, LoongArch::XVFTINTRZ_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3949 | | { 15661 /* xvftintrz.w.s */, LoongArch::XVFTINTRZ_W_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3950 | | { 15675 /* xvftintrz.wu.s */, LoongArch::XVFTINTRZ_WU_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3951 | | { 15690 /* xvftintrzh.l.s */, LoongArch::XVFTINTRZH_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3952 | | { 15705 /* xvftintrzl.l.s */, LoongArch::XVFTINTRZL_L_S, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
3953 | | { 15720 /* xvhaddw.d.w */, LoongArch::XVHADDW_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3954 | | { 15732 /* xvhaddw.du.wu */, LoongArch::XVHADDW_DU_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3955 | | { 15746 /* xvhaddw.h.b */, LoongArch::XVHADDW_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3956 | | { 15758 /* xvhaddw.hu.bu */, LoongArch::XVHADDW_HU_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3957 | | { 15772 /* xvhaddw.q.d */, LoongArch::XVHADDW_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3958 | | { 15784 /* xvhaddw.qu.du */, LoongArch::XVHADDW_QU_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3959 | | { 15798 /* xvhaddw.w.h */, LoongArch::XVHADDW_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3960 | | { 15810 /* xvhaddw.wu.hu */, LoongArch::XVHADDW_WU_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3961 | | { 15824 /* xvhseli.d */, LoongArch::XVHSELI_D, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
3962 | | { 15834 /* xvhsubw.d.w */, LoongArch::XVHSUBW_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3963 | | { 15846 /* xvhsubw.du.wu */, LoongArch::XVHSUBW_DU_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3964 | | { 15860 /* xvhsubw.h.b */, LoongArch::XVHSUBW_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3965 | | { 15872 /* xvhsubw.hu.bu */, LoongArch::XVHSUBW_HU_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3966 | | { 15886 /* xvhsubw.q.d */, LoongArch::XVHSUBW_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3967 | | { 15898 /* xvhsubw.qu.du */, LoongArch::XVHSUBW_QU_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3968 | | { 15912 /* xvhsubw.w.h */, LoongArch::XVHSUBW_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3969 | | { 15924 /* xvhsubw.wu.hu */, LoongArch::XVHSUBW_WU_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3970 | | { 15938 /* xvilvh.b */, LoongArch::XVILVH_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3971 | | { 15947 /* xvilvh.d */, LoongArch::XVILVH_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3972 | | { 15956 /* xvilvh.h */, LoongArch::XVILVH_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3973 | | { 15965 /* xvilvh.w */, LoongArch::XVILVH_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3974 | | { 15974 /* xvilvl.b */, LoongArch::XVILVL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3975 | | { 15983 /* xvilvl.d */, LoongArch::XVILVL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3976 | | { 15992 /* xvilvl.h */, LoongArch::XVILVL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3977 | | { 16001 /* xvilvl.w */, LoongArch::XVILVL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3978 | | { 16010 /* xvinsgr2vr.d */, LoongArch::XVINSGR2VR_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm21_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_UImm2 }, }, |
3979 | | { 16023 /* xvinsgr2vr.w */, LoongArch::XVINSGR2VR_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_UImm3 }, }, |
3980 | | { 16036 /* xvinsve0.d */, LoongArch::XVINSVE0_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm21_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm2 }, }, |
3981 | | { 16047 /* xvinsve0.w */, LoongArch::XVINSVE0_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
3982 | | { 16058 /* xvld */, LoongArch::XVLD, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm12 }, }, |
3983 | | { 16063 /* xvldi */, LoongArch::XVLDI, Convert__Reg1_0__SImm131_1, AMFBS_None, { MCK_LASX256, MCK_SImm13 }, }, |
3984 | | { 16069 /* xvldrepl.b */, LoongArch::XVLDREPL_B, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm12 }, }, |
3985 | | { 16080 /* xvldrepl.d */, LoongArch::XVLDREPL_D, Convert__Reg1_0__Reg1_1__SImm9lsl31_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm9lsl3 }, }, |
3986 | | { 16091 /* xvldrepl.h */, LoongArch::XVLDREPL_H, Convert__Reg1_0__Reg1_1__SImm11lsl11_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm11lsl1 }, }, |
3987 | | { 16102 /* xvldrepl.w */, LoongArch::XVLDREPL_W, Convert__Reg1_0__Reg1_1__SImm10lsl21_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm10lsl2 }, }, |
3988 | | { 16113 /* xvldx */, LoongArch::XVLDX, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_GPR }, }, |
3989 | | { 16119 /* xvmadd.b */, LoongArch::XVMADD_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3990 | | { 16128 /* xvmadd.d */, LoongArch::XVMADD_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3991 | | { 16137 /* xvmadd.h */, LoongArch::XVMADD_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3992 | | { 16146 /* xvmadd.w */, LoongArch::XVMADD_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3993 | | { 16155 /* xvmaddwev.d.w */, LoongArch::XVMADDWEV_D_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3994 | | { 16169 /* xvmaddwev.d.wu */, LoongArch::XVMADDWEV_D_WU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3995 | | { 16184 /* xvmaddwev.d.wu.w */, LoongArch::XVMADDWEV_D_WU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3996 | | { 16201 /* xvmaddwev.h.b */, LoongArch::XVMADDWEV_H_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3997 | | { 16215 /* xvmaddwev.h.bu */, LoongArch::XVMADDWEV_H_BU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3998 | | { 16230 /* xvmaddwev.h.bu.b */, LoongArch::XVMADDWEV_H_BU_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
3999 | | { 16247 /* xvmaddwev.q.d */, LoongArch::XVMADDWEV_Q_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4000 | | { 16261 /* xvmaddwev.q.du */, LoongArch::XVMADDWEV_Q_DU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4001 | | { 16276 /* xvmaddwev.q.du.d */, LoongArch::XVMADDWEV_Q_DU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4002 | | { 16293 /* xvmaddwev.w.h */, LoongArch::XVMADDWEV_W_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4003 | | { 16307 /* xvmaddwev.w.hu */, LoongArch::XVMADDWEV_W_HU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4004 | | { 16322 /* xvmaddwev.w.hu.h */, LoongArch::XVMADDWEV_W_HU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4005 | | { 16339 /* xvmaddwod.d.w */, LoongArch::XVMADDWOD_D_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4006 | | { 16353 /* xvmaddwod.d.wu */, LoongArch::XVMADDWOD_D_WU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4007 | | { 16368 /* xvmaddwod.d.wu.w */, LoongArch::XVMADDWOD_D_WU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4008 | | { 16385 /* xvmaddwod.h.b */, LoongArch::XVMADDWOD_H_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4009 | | { 16399 /* xvmaddwod.h.bu */, LoongArch::XVMADDWOD_H_BU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4010 | | { 16414 /* xvmaddwod.h.bu.b */, LoongArch::XVMADDWOD_H_BU_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4011 | | { 16431 /* xvmaddwod.q.d */, LoongArch::XVMADDWOD_Q_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4012 | | { 16445 /* xvmaddwod.q.du */, LoongArch::XVMADDWOD_Q_DU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4013 | | { 16460 /* xvmaddwod.q.du.d */, LoongArch::XVMADDWOD_Q_DU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4014 | | { 16477 /* xvmaddwod.w.h */, LoongArch::XVMADDWOD_W_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4015 | | { 16491 /* xvmaddwod.w.hu */, LoongArch::XVMADDWOD_W_HU, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4016 | | { 16506 /* xvmaddwod.w.hu.h */, LoongArch::XVMADDWOD_W_HU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4017 | | { 16523 /* xvmax.b */, LoongArch::XVMAX_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4018 | | { 16531 /* xvmax.bu */, LoongArch::XVMAX_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4019 | | { 16540 /* xvmax.d */, LoongArch::XVMAX_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4020 | | { 16548 /* xvmax.du */, LoongArch::XVMAX_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4021 | | { 16557 /* xvmax.h */, LoongArch::XVMAX_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4022 | | { 16565 /* xvmax.hu */, LoongArch::XVMAX_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4023 | | { 16574 /* xvmax.w */, LoongArch::XVMAX_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4024 | | { 16582 /* xvmax.wu */, LoongArch::XVMAX_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4025 | | { 16591 /* xvmaxi.b */, LoongArch::XVMAXI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4026 | | { 16600 /* xvmaxi.bu */, LoongArch::XVMAXI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4027 | | { 16610 /* xvmaxi.d */, LoongArch::XVMAXI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4028 | | { 16619 /* xvmaxi.du */, LoongArch::XVMAXI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4029 | | { 16629 /* xvmaxi.h */, LoongArch::XVMAXI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4030 | | { 16638 /* xvmaxi.hu */, LoongArch::XVMAXI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4031 | | { 16648 /* xvmaxi.w */, LoongArch::XVMAXI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4032 | | { 16657 /* xvmaxi.wu */, LoongArch::XVMAXI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4033 | | { 16667 /* xvmin.b */, LoongArch::XVMIN_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4034 | | { 16675 /* xvmin.bu */, LoongArch::XVMIN_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4035 | | { 16684 /* xvmin.d */, LoongArch::XVMIN_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4036 | | { 16692 /* xvmin.du */, LoongArch::XVMIN_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4037 | | { 16701 /* xvmin.h */, LoongArch::XVMIN_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4038 | | { 16709 /* xvmin.hu */, LoongArch::XVMIN_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4039 | | { 16718 /* xvmin.w */, LoongArch::XVMIN_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4040 | | { 16726 /* xvmin.wu */, LoongArch::XVMIN_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4041 | | { 16735 /* xvmini.b */, LoongArch::XVMINI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4042 | | { 16744 /* xvmini.bu */, LoongArch::XVMINI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4043 | | { 16754 /* xvmini.d */, LoongArch::XVMINI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4044 | | { 16763 /* xvmini.du */, LoongArch::XVMINI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4045 | | { 16773 /* xvmini.h */, LoongArch::XVMINI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4046 | | { 16782 /* xvmini.hu */, LoongArch::XVMINI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4047 | | { 16792 /* xvmini.w */, LoongArch::XVMINI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4048 | | { 16801 /* xvmini.wu */, LoongArch::XVMINI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4049 | | { 16811 /* xvmod.b */, LoongArch::XVMOD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4050 | | { 16819 /* xvmod.bu */, LoongArch::XVMOD_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4051 | | { 16828 /* xvmod.d */, LoongArch::XVMOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4052 | | { 16836 /* xvmod.du */, LoongArch::XVMOD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4053 | | { 16845 /* xvmod.h */, LoongArch::XVMOD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4054 | | { 16853 /* xvmod.hu */, LoongArch::XVMOD_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4055 | | { 16862 /* xvmod.w */, LoongArch::XVMOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4056 | | { 16870 /* xvmod.wu */, LoongArch::XVMOD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4057 | | { 16879 /* xvmskgez.b */, LoongArch::XVMSKGEZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4058 | | { 16890 /* xvmskltz.b */, LoongArch::XVMSKLTZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4059 | | { 16901 /* xvmskltz.d */, LoongArch::XVMSKLTZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4060 | | { 16912 /* xvmskltz.h */, LoongArch::XVMSKLTZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4061 | | { 16923 /* xvmskltz.w */, LoongArch::XVMSKLTZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4062 | | { 16934 /* xvmsknz.b */, LoongArch::XVMSKNZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4063 | | { 16944 /* xvmsub.b */, LoongArch::XVMSUB_B, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4064 | | { 16953 /* xvmsub.d */, LoongArch::XVMSUB_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4065 | | { 16962 /* xvmsub.h */, LoongArch::XVMSUB_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4066 | | { 16971 /* xvmsub.w */, LoongArch::XVMSUB_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4067 | | { 16980 /* xvmuh.b */, LoongArch::XVMUH_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4068 | | { 16988 /* xvmuh.bu */, LoongArch::XVMUH_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4069 | | { 16997 /* xvmuh.d */, LoongArch::XVMUH_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4070 | | { 17005 /* xvmuh.du */, LoongArch::XVMUH_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4071 | | { 17014 /* xvmuh.h */, LoongArch::XVMUH_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4072 | | { 17022 /* xvmuh.hu */, LoongArch::XVMUH_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4073 | | { 17031 /* xvmuh.w */, LoongArch::XVMUH_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4074 | | { 17039 /* xvmuh.wu */, LoongArch::XVMUH_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4075 | | { 17048 /* xvmul.b */, LoongArch::XVMUL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4076 | | { 17056 /* xvmul.d */, LoongArch::XVMUL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4077 | | { 17064 /* xvmul.h */, LoongArch::XVMUL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4078 | | { 17072 /* xvmul.w */, LoongArch::XVMUL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4079 | | { 17080 /* xvmulwev.d.w */, LoongArch::XVMULWEV_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4080 | | { 17093 /* xvmulwev.d.wu */, LoongArch::XVMULWEV_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4081 | | { 17107 /* xvmulwev.d.wu.w */, LoongArch::XVMULWEV_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4082 | | { 17123 /* xvmulwev.h.b */, LoongArch::XVMULWEV_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4083 | | { 17136 /* xvmulwev.h.bu */, LoongArch::XVMULWEV_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4084 | | { 17150 /* xvmulwev.h.bu.b */, LoongArch::XVMULWEV_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4085 | | { 17166 /* xvmulwev.q.d */, LoongArch::XVMULWEV_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4086 | | { 17179 /* xvmulwev.q.du */, LoongArch::XVMULWEV_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4087 | | { 17193 /* xvmulwev.q.du.d */, LoongArch::XVMULWEV_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4088 | | { 17209 /* xvmulwev.w.h */, LoongArch::XVMULWEV_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4089 | | { 17222 /* xvmulwev.w.hu */, LoongArch::XVMULWEV_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4090 | | { 17236 /* xvmulwev.w.hu.h */, LoongArch::XVMULWEV_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4091 | | { 17252 /* xvmulwod.d.w */, LoongArch::XVMULWOD_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4092 | | { 17265 /* xvmulwod.d.wu */, LoongArch::XVMULWOD_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4093 | | { 17279 /* xvmulwod.d.wu.w */, LoongArch::XVMULWOD_D_WU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4094 | | { 17295 /* xvmulwod.h.b */, LoongArch::XVMULWOD_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4095 | | { 17308 /* xvmulwod.h.bu */, LoongArch::XVMULWOD_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4096 | | { 17322 /* xvmulwod.h.bu.b */, LoongArch::XVMULWOD_H_BU_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4097 | | { 17338 /* xvmulwod.q.d */, LoongArch::XVMULWOD_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4098 | | { 17351 /* xvmulwod.q.du */, LoongArch::XVMULWOD_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4099 | | { 17365 /* xvmulwod.q.du.d */, LoongArch::XVMULWOD_Q_DU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4100 | | { 17381 /* xvmulwod.w.h */, LoongArch::XVMULWOD_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4101 | | { 17394 /* xvmulwod.w.hu */, LoongArch::XVMULWOD_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4102 | | { 17408 /* xvmulwod.w.hu.h */, LoongArch::XVMULWOD_W_HU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4103 | | { 17424 /* xvneg.b */, LoongArch::XVNEG_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4104 | | { 17432 /* xvneg.d */, LoongArch::XVNEG_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4105 | | { 17440 /* xvneg.h */, LoongArch::XVNEG_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4106 | | { 17448 /* xvneg.w */, LoongArch::XVNEG_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4107 | | { 17456 /* xvnor.v */, LoongArch::XVNOR_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4108 | | { 17464 /* xvnori.b */, LoongArch::XVNORI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4109 | | { 17473 /* xvor.v */, LoongArch::XVOR_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4110 | | { 17480 /* xvori.b */, LoongArch::XVORI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4111 | | { 17488 /* xvorn.v */, LoongArch::XVORN_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4112 | | { 17496 /* xvpackev.b */, LoongArch::XVPACKEV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4113 | | { 17507 /* xvpackev.d */, LoongArch::XVPACKEV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4114 | | { 17518 /* xvpackev.h */, LoongArch::XVPACKEV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4115 | | { 17529 /* xvpackev.w */, LoongArch::XVPACKEV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4116 | | { 17540 /* xvpackod.b */, LoongArch::XVPACKOD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4117 | | { 17551 /* xvpackod.d */, LoongArch::XVPACKOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4118 | | { 17562 /* xvpackod.h */, LoongArch::XVPACKOD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4119 | | { 17573 /* xvpackod.w */, LoongArch::XVPACKOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4120 | | { 17584 /* xvpcnt.b */, LoongArch::XVPCNT_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4121 | | { 17593 /* xvpcnt.d */, LoongArch::XVPCNT_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4122 | | { 17602 /* xvpcnt.h */, LoongArch::XVPCNT_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4123 | | { 17611 /* xvpcnt.w */, LoongArch::XVPCNT_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4124 | | { 17620 /* xvperm.w */, LoongArch::XVPERM_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4125 | | { 17629 /* xvpermi.d */, LoongArch::XVPERMI_D, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4126 | | { 17639 /* xvpermi.q */, LoongArch::XVPERMI_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4127 | | { 17649 /* xvpermi.w */, LoongArch::XVPERMI_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4128 | | { 17659 /* xvpickev.b */, LoongArch::XVPICKEV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4129 | | { 17670 /* xvpickev.d */, LoongArch::XVPICKEV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4130 | | { 17681 /* xvpickev.h */, LoongArch::XVPICKEV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4131 | | { 17692 /* xvpickev.w */, LoongArch::XVPICKEV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4132 | | { 17703 /* xvpickod.b */, LoongArch::XVPICKOD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4133 | | { 17714 /* xvpickod.d */, LoongArch::XVPICKOD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4134 | | { 17725 /* xvpickod.h */, LoongArch::XVPICKOD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4135 | | { 17736 /* xvpickod.w */, LoongArch::XVPICKOD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4136 | | { 17747 /* xvpickve.d */, LoongArch::XVPICKVE_D, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm2 }, }, |
4137 | | { 17758 /* xvpickve.w */, LoongArch::XVPICKVE_W, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4138 | | { 17769 /* xvpickve2gr.d */, LoongArch::XVPICKVE2GR_D, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_GPR, MCK_LASX256, MCK_UImm2 }, }, |
4139 | | { 17783 /* xvpickve2gr.du */, LoongArch::XVPICKVE2GR_DU, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_GPR, MCK_LASX256, MCK_UImm2 }, }, |
4140 | | { 17798 /* xvpickve2gr.w */, LoongArch::XVPICKVE2GR_W, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_GPR, MCK_LASX256, MCK_UImm3 }, }, |
4141 | | { 17812 /* xvpickve2gr.wu */, LoongArch::XVPICKVE2GR_WU, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_GPR, MCK_LASX256, MCK_UImm3 }, }, |
4142 | | { 17827 /* xvrepl128vei.b */, LoongArch::XVREPL128VEI_B, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4143 | | { 17842 /* xvrepl128vei.d */, LoongArch::XVREPL128VEI_D, Convert__Reg1_0__Reg1_1__UImm11_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm1 }, }, |
4144 | | { 17857 /* xvrepl128vei.h */, LoongArch::XVREPL128VEI_H, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4145 | | { 17872 /* xvrepl128vei.w */, LoongArch::XVREPL128VEI_W, Convert__Reg1_0__Reg1_1__UImm21_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm2 }, }, |
4146 | | { 17887 /* xvreplgr2vr.b */, LoongArch::XVREPLGR2VR_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_GPR }, }, |
4147 | | { 17901 /* xvreplgr2vr.d */, LoongArch::XVREPLGR2VR_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_GPR }, }, |
4148 | | { 17915 /* xvreplgr2vr.h */, LoongArch::XVREPLGR2VR_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_GPR }, }, |
4149 | | { 17929 /* xvreplgr2vr.w */, LoongArch::XVREPLGR2VR_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_GPR }, }, |
4150 | | { 17943 /* xvrepli.b */, LoongArch::PseudoXVREPLI_B, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LASX256, MCK_SImm10 }, }, |
4151 | | { 17953 /* xvrepli.d */, LoongArch::PseudoXVREPLI_D, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LASX256, MCK_SImm10 }, }, |
4152 | | { 17963 /* xvrepli.h */, LoongArch::PseudoXVREPLI_H, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LASX256, MCK_SImm10 }, }, |
4153 | | { 17973 /* xvrepli.w */, LoongArch::PseudoXVREPLI_W, Convert__Reg1_0__SImm101_1, AMFBS_None, { MCK_LASX256, MCK_SImm10 }, }, |
4154 | | { 17983 /* xvreplve.b */, LoongArch::XVREPLVE_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_GPR }, }, |
4155 | | { 17994 /* xvreplve.d */, LoongArch::XVREPLVE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_GPR }, }, |
4156 | | { 18005 /* xvreplve.h */, LoongArch::XVREPLVE_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_GPR }, }, |
4157 | | { 18016 /* xvreplve.w */, LoongArch::XVREPLVE_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_GPR }, }, |
4158 | | { 18027 /* xvreplve0.b */, LoongArch::XVREPLVE0_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4159 | | { 18039 /* xvreplve0.d */, LoongArch::XVREPLVE0_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4160 | | { 18051 /* xvreplve0.h */, LoongArch::XVREPLVE0_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4161 | | { 18063 /* xvreplve0.q */, LoongArch::XVREPLVE0_Q, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4162 | | { 18075 /* xvreplve0.w */, LoongArch::XVREPLVE0_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_LASX256, MCK_LASX256 }, }, |
4163 | | { 18087 /* xvrotr.b */, LoongArch::XVROTR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4164 | | { 18096 /* xvrotr.d */, LoongArch::XVROTR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4165 | | { 18105 /* xvrotr.h */, LoongArch::XVROTR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4166 | | { 18114 /* xvrotr.w */, LoongArch::XVROTR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4167 | | { 18123 /* xvrotri.b */, LoongArch::XVROTRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4168 | | { 18133 /* xvrotri.d */, LoongArch::XVROTRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4169 | | { 18143 /* xvrotri.h */, LoongArch::XVROTRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4170 | | { 18153 /* xvrotri.w */, LoongArch::XVROTRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4171 | | { 18163 /* xvsadd.b */, LoongArch::XVSADD_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4172 | | { 18172 /* xvsadd.bu */, LoongArch::XVSADD_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4173 | | { 18182 /* xvsadd.d */, LoongArch::XVSADD_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4174 | | { 18191 /* xvsadd.du */, LoongArch::XVSADD_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4175 | | { 18201 /* xvsadd.h */, LoongArch::XVSADD_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4176 | | { 18210 /* xvsadd.hu */, LoongArch::XVSADD_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4177 | | { 18220 /* xvsadd.w */, LoongArch::XVSADD_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4178 | | { 18229 /* xvsadd.wu */, LoongArch::XVSADD_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4179 | | { 18239 /* xvsat.b */, LoongArch::XVSAT_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4180 | | { 18247 /* xvsat.bu */, LoongArch::XVSAT_BU, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4181 | | { 18256 /* xvsat.d */, LoongArch::XVSAT_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4182 | | { 18264 /* xvsat.du */, LoongArch::XVSAT_DU, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4183 | | { 18273 /* xvsat.h */, LoongArch::XVSAT_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4184 | | { 18281 /* xvsat.hu */, LoongArch::XVSAT_HU, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4185 | | { 18290 /* xvsat.w */, LoongArch::XVSAT_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4186 | | { 18298 /* xvsat.wu */, LoongArch::XVSAT_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4187 | | { 18307 /* xvseq.b */, LoongArch::XVSEQ_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4188 | | { 18315 /* xvseq.d */, LoongArch::XVSEQ_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4189 | | { 18323 /* xvseq.h */, LoongArch::XVSEQ_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4190 | | { 18331 /* xvseq.w */, LoongArch::XVSEQ_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4191 | | { 18339 /* xvseqi.b */, LoongArch::XVSEQI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4192 | | { 18348 /* xvseqi.d */, LoongArch::XVSEQI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4193 | | { 18357 /* xvseqi.h */, LoongArch::XVSEQI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4194 | | { 18366 /* xvseqi.w */, LoongArch::XVSEQI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4195 | | { 18375 /* xvsetallnez.b */, LoongArch::XVSETALLNEZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4196 | | { 18389 /* xvsetallnez.d */, LoongArch::XVSETALLNEZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4197 | | { 18403 /* xvsetallnez.h */, LoongArch::XVSETALLNEZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4198 | | { 18417 /* xvsetallnez.w */, LoongArch::XVSETALLNEZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4199 | | { 18431 /* xvsetanyeqz.b */, LoongArch::XVSETANYEQZ_B, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4200 | | { 18445 /* xvsetanyeqz.d */, LoongArch::XVSETANYEQZ_D, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4201 | | { 18459 /* xvsetanyeqz.h */, LoongArch::XVSETANYEQZ_H, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4202 | | { 18473 /* xvsetanyeqz.w */, LoongArch::XVSETANYEQZ_W, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4203 | | { 18487 /* xvseteqz.v */, LoongArch::XVSETEQZ_V, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4204 | | { 18498 /* xvsetnez.v */, LoongArch::XVSETNEZ_V, Convert__Reg1_0__Reg1_1, AMFBS_None, { MCK_CFR, MCK_LASX256 }, }, |
4205 | | { 18509 /* xvshuf.b */, LoongArch::XVSHUF_B, Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4206 | | { 18518 /* xvshuf.d */, LoongArch::XVSHUF_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4207 | | { 18527 /* xvshuf.h */, LoongArch::XVSHUF_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4208 | | { 18536 /* xvshuf.w */, LoongArch::XVSHUF_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4209 | | { 18545 /* xvshuf4i.b */, LoongArch::XVSHUF4I_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4210 | | { 18556 /* xvshuf4i.d */, LoongArch::XVSHUF4I_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4211 | | { 18567 /* xvshuf4i.h */, LoongArch::XVSHUF4I_H, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4212 | | { 18578 /* xvshuf4i.w */, LoongArch::XVSHUF4I_W, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4213 | | { 18589 /* xvsigncov.b */, LoongArch::XVSIGNCOV_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4214 | | { 18601 /* xvsigncov.d */, LoongArch::XVSIGNCOV_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4215 | | { 18613 /* xvsigncov.h */, LoongArch::XVSIGNCOV_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4216 | | { 18625 /* xvsigncov.w */, LoongArch::XVSIGNCOV_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4217 | | { 18637 /* xvsle.b */, LoongArch::XVSLE_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4218 | | { 18645 /* xvsle.bu */, LoongArch::XVSLE_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4219 | | { 18654 /* xvsle.d */, LoongArch::XVSLE_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4220 | | { 18662 /* xvsle.du */, LoongArch::XVSLE_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4221 | | { 18671 /* xvsle.h */, LoongArch::XVSLE_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4222 | | { 18679 /* xvsle.hu */, LoongArch::XVSLE_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4223 | | { 18688 /* xvsle.w */, LoongArch::XVSLE_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4224 | | { 18696 /* xvsle.wu */, LoongArch::XVSLE_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4225 | | { 18705 /* xvslei.b */, LoongArch::XVSLEI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4226 | | { 18714 /* xvslei.bu */, LoongArch::XVSLEI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4227 | | { 18724 /* xvslei.d */, LoongArch::XVSLEI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4228 | | { 18733 /* xvslei.du */, LoongArch::XVSLEI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4229 | | { 18743 /* xvslei.h */, LoongArch::XVSLEI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4230 | | { 18752 /* xvslei.hu */, LoongArch::XVSLEI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4231 | | { 18762 /* xvslei.w */, LoongArch::XVSLEI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4232 | | { 18771 /* xvslei.wu */, LoongArch::XVSLEI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4233 | | { 18781 /* xvsll.b */, LoongArch::XVSLL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4234 | | { 18789 /* xvsll.d */, LoongArch::XVSLL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4235 | | { 18797 /* xvsll.h */, LoongArch::XVSLL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4236 | | { 18805 /* xvsll.w */, LoongArch::XVSLL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4237 | | { 18813 /* xvslli.b */, LoongArch::XVSLLI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4238 | | { 18822 /* xvslli.d */, LoongArch::XVSLLI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4239 | | { 18831 /* xvslli.h */, LoongArch::XVSLLI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4240 | | { 18840 /* xvslli.w */, LoongArch::XVSLLI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4241 | | { 18849 /* xvsllwil.d.w */, LoongArch::XVSLLWIL_D_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4242 | | { 18862 /* xvsllwil.du.wu */, LoongArch::XVSLLWIL_DU_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4243 | | { 18877 /* xvsllwil.h.b */, LoongArch::XVSLLWIL_H_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4244 | | { 18890 /* xvsllwil.hu.bu */, LoongArch::XVSLLWIL_HU_BU, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4245 | | { 18905 /* xvsllwil.w.h */, LoongArch::XVSLLWIL_W_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4246 | | { 18918 /* xvsllwil.wu.hu */, LoongArch::XVSLLWIL_WU_HU, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4247 | | { 18933 /* xvslt.b */, LoongArch::XVSLT_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4248 | | { 18941 /* xvslt.bu */, LoongArch::XVSLT_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4249 | | { 18950 /* xvslt.d */, LoongArch::XVSLT_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4250 | | { 18958 /* xvslt.du */, LoongArch::XVSLT_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4251 | | { 18967 /* xvslt.h */, LoongArch::XVSLT_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4252 | | { 18975 /* xvslt.hu */, LoongArch::XVSLT_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4253 | | { 18984 /* xvslt.w */, LoongArch::XVSLT_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4254 | | { 18992 /* xvslt.wu */, LoongArch::XVSLT_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4255 | | { 19001 /* xvslti.b */, LoongArch::XVSLTI_B, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4256 | | { 19010 /* xvslti.bu */, LoongArch::XVSLTI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4257 | | { 19020 /* xvslti.d */, LoongArch::XVSLTI_D, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4258 | | { 19029 /* xvslti.du */, LoongArch::XVSLTI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4259 | | { 19039 /* xvslti.h */, LoongArch::XVSLTI_H, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4260 | | { 19048 /* xvslti.hu */, LoongArch::XVSLTI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4261 | | { 19058 /* xvslti.w */, LoongArch::XVSLTI_W, Convert__Reg1_0__Reg1_1__SImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_SImm5 }, }, |
4262 | | { 19067 /* xvslti.wu */, LoongArch::XVSLTI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4263 | | { 19077 /* xvsra.b */, LoongArch::XVSRA_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4264 | | { 19085 /* xvsra.d */, LoongArch::XVSRA_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4265 | | { 19093 /* xvsra.h */, LoongArch::XVSRA_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4266 | | { 19101 /* xvsra.w */, LoongArch::XVSRA_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4267 | | { 19109 /* xvsrai.b */, LoongArch::XVSRAI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4268 | | { 19118 /* xvsrai.d */, LoongArch::XVSRAI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4269 | | { 19127 /* xvsrai.h */, LoongArch::XVSRAI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4270 | | { 19136 /* xvsrai.w */, LoongArch::XVSRAI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4271 | | { 19145 /* xvsran.b.h */, LoongArch::XVSRAN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4272 | | { 19156 /* xvsran.h.w */, LoongArch::XVSRAN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4273 | | { 19167 /* xvsran.w.d */, LoongArch::XVSRAN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4274 | | { 19178 /* xvsrani.b.h */, LoongArch::XVSRANI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4275 | | { 19190 /* xvsrani.d.q */, LoongArch::XVSRANI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4276 | | { 19202 /* xvsrani.h.w */, LoongArch::XVSRANI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4277 | | { 19214 /* xvsrani.w.d */, LoongArch::XVSRANI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4278 | | { 19226 /* xvsrar.b */, LoongArch::XVSRAR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4279 | | { 19235 /* xvsrar.d */, LoongArch::XVSRAR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4280 | | { 19244 /* xvsrar.h */, LoongArch::XVSRAR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4281 | | { 19253 /* xvsrar.w */, LoongArch::XVSRAR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4282 | | { 19262 /* xvsrari.b */, LoongArch::XVSRARI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4283 | | { 19272 /* xvsrari.d */, LoongArch::XVSRARI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4284 | | { 19282 /* xvsrari.h */, LoongArch::XVSRARI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4285 | | { 19292 /* xvsrari.w */, LoongArch::XVSRARI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4286 | | { 19302 /* xvsrarn.b.h */, LoongArch::XVSRARN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4287 | | { 19314 /* xvsrarn.h.w */, LoongArch::XVSRARN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4288 | | { 19326 /* xvsrarn.w.d */, LoongArch::XVSRARN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4289 | | { 19338 /* xvsrarni.b.h */, LoongArch::XVSRARNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4290 | | { 19351 /* xvsrarni.d.q */, LoongArch::XVSRARNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4291 | | { 19364 /* xvsrarni.h.w */, LoongArch::XVSRARNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4292 | | { 19377 /* xvsrarni.w.d */, LoongArch::XVSRARNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4293 | | { 19390 /* xvsrl.b */, LoongArch::XVSRL_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4294 | | { 19398 /* xvsrl.d */, LoongArch::XVSRL_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4295 | | { 19406 /* xvsrl.h */, LoongArch::XVSRL_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4296 | | { 19414 /* xvsrl.w */, LoongArch::XVSRL_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4297 | | { 19422 /* xvsrli.b */, LoongArch::XVSRLI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4298 | | { 19431 /* xvsrli.d */, LoongArch::XVSRLI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4299 | | { 19440 /* xvsrli.h */, LoongArch::XVSRLI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4300 | | { 19449 /* xvsrli.w */, LoongArch::XVSRLI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4301 | | { 19458 /* xvsrln.b.h */, LoongArch::XVSRLN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4302 | | { 19469 /* xvsrln.h.w */, LoongArch::XVSRLN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4303 | | { 19480 /* xvsrln.w.d */, LoongArch::XVSRLN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4304 | | { 19491 /* xvsrlni.b.h */, LoongArch::XVSRLNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4305 | | { 19503 /* xvsrlni.d.q */, LoongArch::XVSRLNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4306 | | { 19515 /* xvsrlni.h.w */, LoongArch::XVSRLNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4307 | | { 19527 /* xvsrlni.w.d */, LoongArch::XVSRLNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4308 | | { 19539 /* xvsrlr.b */, LoongArch::XVSRLR_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4309 | | { 19548 /* xvsrlr.d */, LoongArch::XVSRLR_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4310 | | { 19557 /* xvsrlr.h */, LoongArch::XVSRLR_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4311 | | { 19566 /* xvsrlr.w */, LoongArch::XVSRLR_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4312 | | { 19575 /* xvsrlri.b */, LoongArch::XVSRLRI_B, Convert__Reg1_0__Reg1_1__UImm31_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm3 }, }, |
4313 | | { 19585 /* xvsrlri.d */, LoongArch::XVSRLRI_D, Convert__Reg1_0__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4314 | | { 19595 /* xvsrlri.h */, LoongArch::XVSRLRI_H, Convert__Reg1_0__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4315 | | { 19605 /* xvsrlri.w */, LoongArch::XVSRLRI_W, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4316 | | { 19615 /* xvsrlrn.b.h */, LoongArch::XVSRLRN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4317 | | { 19627 /* xvsrlrn.h.w */, LoongArch::XVSRLRN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4318 | | { 19639 /* xvsrlrn.w.d */, LoongArch::XVSRLRN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4319 | | { 19651 /* xvsrlrni.b.h */, LoongArch::XVSRLRNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4320 | | { 19664 /* xvsrlrni.d.q */, LoongArch::XVSRLRNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4321 | | { 19677 /* xvsrlrni.h.w */, LoongArch::XVSRLRNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4322 | | { 19690 /* xvsrlrni.w.d */, LoongArch::XVSRLRNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4323 | | { 19703 /* xvssran.b.h */, LoongArch::XVSSRAN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4324 | | { 19715 /* xvssran.bu.h */, LoongArch::XVSSRAN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4325 | | { 19728 /* xvssran.h.w */, LoongArch::XVSSRAN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4326 | | { 19740 /* xvssran.hu.w */, LoongArch::XVSSRAN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4327 | | { 19753 /* xvssran.w.d */, LoongArch::XVSSRAN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4328 | | { 19765 /* xvssran.wu.d */, LoongArch::XVSSRAN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4329 | | { 19778 /* xvssrani.b.h */, LoongArch::XVSSRANI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4330 | | { 19791 /* xvssrani.bu.h */, LoongArch::XVSSRANI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4331 | | { 19805 /* xvssrani.d.q */, LoongArch::XVSSRANI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4332 | | { 19818 /* xvssrani.du.q */, LoongArch::XVSSRANI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4333 | | { 19832 /* xvssrani.h.w */, LoongArch::XVSSRANI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4334 | | { 19845 /* xvssrani.hu.w */, LoongArch::XVSSRANI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4335 | | { 19859 /* xvssrani.w.d */, LoongArch::XVSSRANI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4336 | | { 19872 /* xvssrani.wu.d */, LoongArch::XVSSRANI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4337 | | { 19886 /* xvssrarn.b.h */, LoongArch::XVSSRARN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4338 | | { 19899 /* xvssrarn.bu.h */, LoongArch::XVSSRARN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4339 | | { 19913 /* xvssrarn.h.w */, LoongArch::XVSSRARN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4340 | | { 19926 /* xvssrarn.hu.w */, LoongArch::XVSSRARN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4341 | | { 19940 /* xvssrarn.w.d */, LoongArch::XVSSRARN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4342 | | { 19953 /* xvssrarn.wu.d */, LoongArch::XVSSRARN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4343 | | { 19967 /* xvssrarni.b.h */, LoongArch::XVSSRARNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4344 | | { 19981 /* xvssrarni.bu.h */, LoongArch::XVSSRARNI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4345 | | { 19996 /* xvssrarni.d.q */, LoongArch::XVSSRARNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4346 | | { 20010 /* xvssrarni.du.q */, LoongArch::XVSSRARNI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4347 | | { 20025 /* xvssrarni.h.w */, LoongArch::XVSSRARNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4348 | | { 20039 /* xvssrarni.hu.w */, LoongArch::XVSSRARNI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4349 | | { 20054 /* xvssrarni.w.d */, LoongArch::XVSSRARNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4350 | | { 20068 /* xvssrarni.wu.d */, LoongArch::XVSSRARNI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4351 | | { 20083 /* xvssrln.b.h */, LoongArch::XVSSRLN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4352 | | { 20095 /* xvssrln.bu.h */, LoongArch::XVSSRLN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4353 | | { 20108 /* xvssrln.h.w */, LoongArch::XVSSRLN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4354 | | { 20120 /* xvssrln.hu.w */, LoongArch::XVSSRLN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4355 | | { 20133 /* xvssrln.w.d */, LoongArch::XVSSRLN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4356 | | { 20145 /* xvssrln.wu.d */, LoongArch::XVSSRLN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4357 | | { 20158 /* xvssrlni.b.h */, LoongArch::XVSSRLNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4358 | | { 20171 /* xvssrlni.bu.h */, LoongArch::XVSSRLNI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4359 | | { 20185 /* xvssrlni.d.q */, LoongArch::XVSSRLNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4360 | | { 20198 /* xvssrlni.du.q */, LoongArch::XVSSRLNI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4361 | | { 20212 /* xvssrlni.h.w */, LoongArch::XVSSRLNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4362 | | { 20225 /* xvssrlni.hu.w */, LoongArch::XVSSRLNI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4363 | | { 20239 /* xvssrlni.w.d */, LoongArch::XVSSRLNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4364 | | { 20252 /* xvssrlni.wu.d */, LoongArch::XVSSRLNI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4365 | | { 20266 /* xvssrlrn.b.h */, LoongArch::XVSSRLRN_B_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4366 | | { 20279 /* xvssrlrn.bu.h */, LoongArch::XVSSRLRN_BU_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4367 | | { 20293 /* xvssrlrn.h.w */, LoongArch::XVSSRLRN_H_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4368 | | { 20306 /* xvssrlrn.hu.w */, LoongArch::XVSSRLRN_HU_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4369 | | { 20320 /* xvssrlrn.w.d */, LoongArch::XVSSRLRN_W_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4370 | | { 20333 /* xvssrlrn.wu.d */, LoongArch::XVSSRLRN_WU_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4371 | | { 20347 /* xvssrlrni.b.h */, LoongArch::XVSSRLRNI_B_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4372 | | { 20361 /* xvssrlrni.bu.h */, LoongArch::XVSSRLRNI_BU_H, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm41_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm4 }, }, |
4373 | | { 20376 /* xvssrlrni.d.q */, LoongArch::XVSSRLRNI_D_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4374 | | { 20390 /* xvssrlrni.du.q */, LoongArch::XVSSRLRNI_DU_Q, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm71_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm7 }, }, |
4375 | | { 20405 /* xvssrlrni.h.w */, LoongArch::XVSSRLRNI_H_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4376 | | { 20419 /* xvssrlrni.hu.w */, LoongArch::XVSSRLRNI_HU_W, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4377 | | { 20434 /* xvssrlrni.w.d */, LoongArch::XVSSRLRNI_W_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4378 | | { 20448 /* xvssrlrni.wu.d */, LoongArch::XVSSRLRNI_WU_D, Convert__Reg1_0__Tie0_1_1__Reg1_1__UImm61_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm6 }, }, |
4379 | | { 20463 /* xvssub.b */, LoongArch::XVSSUB_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4380 | | { 20472 /* xvssub.bu */, LoongArch::XVSSUB_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4381 | | { 20482 /* xvssub.d */, LoongArch::XVSSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4382 | | { 20491 /* xvssub.du */, LoongArch::XVSSUB_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4383 | | { 20501 /* xvssub.h */, LoongArch::XVSSUB_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4384 | | { 20510 /* xvssub.hu */, LoongArch::XVSSUB_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4385 | | { 20520 /* xvssub.w */, LoongArch::XVSSUB_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4386 | | { 20529 /* xvssub.wu */, LoongArch::XVSSUB_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4387 | | { 20539 /* xvst */, LoongArch::XVST, Convert__Reg1_0__Reg1_1__SImm121_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm12 }, }, |
4388 | | { 20544 /* xvstelm.b */, LoongArch::XVSTELM_B, Convert__Reg1_0__Reg1_1__SImm81_2__UImm51_3, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm8, MCK_UImm5 }, }, |
4389 | | { 20554 /* xvstelm.d */, LoongArch::XVSTELM_D, Convert__Reg1_0__Reg1_1__SImm8lsl31_2__UImm21_3, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm8lsl3, MCK_UImm2 }, }, |
4390 | | { 20564 /* xvstelm.h */, LoongArch::XVSTELM_H, Convert__Reg1_0__Reg1_1__SImm8lsl11_2__UImm41_3, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm8lsl1, MCK_UImm4 }, }, |
4391 | | { 20574 /* xvstelm.w */, LoongArch::XVSTELM_W, Convert__Reg1_0__Reg1_1__SImm8lsl21_2__UImm31_3, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_SImm8lsl2, MCK_UImm3 }, }, |
4392 | | { 20584 /* xvstx */, LoongArch::XVSTX, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_GPR, MCK_GPR }, }, |
4393 | | { 20590 /* xvsub.b */, LoongArch::XVSUB_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4394 | | { 20598 /* xvsub.d */, LoongArch::XVSUB_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4395 | | { 20606 /* xvsub.h */, LoongArch::XVSUB_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4396 | | { 20614 /* xvsub.q */, LoongArch::XVSUB_Q, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4397 | | { 20622 /* xvsub.w */, LoongArch::XVSUB_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4398 | | { 20630 /* xvsubi.bu */, LoongArch::XVSUBI_BU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4399 | | { 20640 /* xvsubi.du */, LoongArch::XVSUBI_DU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4400 | | { 20650 /* xvsubi.hu */, LoongArch::XVSUBI_HU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4401 | | { 20660 /* xvsubi.wu */, LoongArch::XVSUBI_WU, Convert__Reg1_0__Reg1_1__UImm51_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm5 }, }, |
4402 | | { 20670 /* xvsubwev.d.w */, LoongArch::XVSUBWEV_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4403 | | { 20683 /* xvsubwev.d.wu */, LoongArch::XVSUBWEV_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4404 | | { 20697 /* xvsubwev.h.b */, LoongArch::XVSUBWEV_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4405 | | { 20710 /* xvsubwev.h.bu */, LoongArch::XVSUBWEV_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4406 | | { 20724 /* xvsubwev.q.d */, LoongArch::XVSUBWEV_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4407 | | { 20737 /* xvsubwev.q.du */, LoongArch::XVSUBWEV_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4408 | | { 20751 /* xvsubwev.w.h */, LoongArch::XVSUBWEV_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4409 | | { 20764 /* xvsubwev.w.hu */, LoongArch::XVSUBWEV_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4410 | | { 20778 /* xvsubwod.d.w */, LoongArch::XVSUBWOD_D_W, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4411 | | { 20791 /* xvsubwod.d.wu */, LoongArch::XVSUBWOD_D_WU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4412 | | { 20805 /* xvsubwod.h.b */, LoongArch::XVSUBWOD_H_B, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4413 | | { 20818 /* xvsubwod.h.bu */, LoongArch::XVSUBWOD_H_BU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4414 | | { 20832 /* xvsubwod.q.d */, LoongArch::XVSUBWOD_Q_D, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4415 | | { 20845 /* xvsubwod.q.du */, LoongArch::XVSUBWOD_Q_DU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4416 | | { 20859 /* xvsubwod.w.h */, LoongArch::XVSUBWOD_W_H, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4417 | | { 20872 /* xvsubwod.w.hu */, LoongArch::XVSUBWOD_W_HU, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4418 | | { 20886 /* xvxor.v */, LoongArch::XVXOR_V, Convert__Reg1_0__Reg1_1__Reg1_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_LASX256 }, }, |
4419 | | { 20894 /* xvxori.b */, LoongArch::XVXORI_B, Convert__Reg1_0__Reg1_1__UImm81_2, AMFBS_None, { MCK_LASX256, MCK_LASX256, MCK_UImm8 }, }, |
4420 | | }; |
4421 | | |
4422 | | #include "llvm/Support/Debug.h" |
4423 | | #include "llvm/Support/Format.h" |
4424 | | |
4425 | | unsigned LoongArchAsmParser:: |
4426 | | MatchInstructionImpl(const OperandVector &Operands, |
4427 | | MCInst &Inst, |
4428 | | uint64_t &ErrorInfo, |
4429 | | FeatureBitset &MissingFeatures, |
4430 | 0 | bool matchingInlineAsm, unsigned VariantID) { |
4431 | | // Eliminate obvious mismatches. |
4432 | 0 | if (Operands.size() > 5) { |
4433 | 0 | ErrorInfo = 5; |
4434 | 0 | return Match_InvalidOperand; |
4435 | 0 | } |
4436 | | |
4437 | | // Get the current feature set. |
4438 | 0 | const FeatureBitset &AvailableFeatures = getAvailableFeatures(); |
4439 | | |
4440 | | // Get the instruction mnemonic, which is the first token. |
4441 | 0 | StringRef Mnemonic = ((LoongArchOperand &)*Operands[0]).getToken(); |
4442 | | |
4443 | | // Some state to try to produce better error messages. |
4444 | 0 | bool HadMatchOtherThanFeatures = false; |
4445 | 0 | bool HadMatchOtherThanPredicate = false; |
4446 | 0 | unsigned RetCode = Match_InvalidOperand; |
4447 | 0 | MissingFeatures.set(); |
4448 | | // Set ErrorInfo to the operand that mismatches if it is |
4449 | | // wrong for all instances of the instruction. |
4450 | 0 | ErrorInfo = ~0ULL; |
4451 | | // Find the appropriate table for this asm variant. |
4452 | 0 | const MatchEntry *Start, *End; |
4453 | 0 | switch (VariantID) { |
4454 | 0 | default: llvm_unreachable("invalid variant!"); |
4455 | 0 | case 0: Start = std::begin(MatchTable0); End = std::end(MatchTable0); break; |
4456 | 0 | } |
4457 | | // Search the table. |
4458 | 0 | auto MnemonicRange = std::equal_range(Start, End, Mnemonic, LessOpcode()); |
4459 | |
|
4460 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << "AsmMatcher: found " << |
4461 | 0 | std::distance(MnemonicRange.first, MnemonicRange.second) << |
4462 | 0 | " encodings with mnemonic '" << Mnemonic << "'\n"); |
4463 | | |
4464 | | // Return a more specific error code if no mnemonics match. |
4465 | 0 | if (MnemonicRange.first == MnemonicRange.second) |
4466 | 0 | return Match_MnemonicFail; |
4467 | | |
4468 | 0 | for (const MatchEntry *it = MnemonicRange.first, *ie = MnemonicRange.second; |
4469 | 0 | it != ie; ++it) { |
4470 | 0 | const FeatureBitset &RequiredFeatures = FeatureBitsets[it->RequiredFeaturesIdx]; |
4471 | 0 | bool HasRequiredFeatures = |
4472 | 0 | (AvailableFeatures & RequiredFeatures) == RequiredFeatures; |
4473 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << "Trying to match opcode " |
4474 | 0 | << MII.getName(it->Opcode) << "\n"); |
4475 | | // equal_range guarantees that instruction mnemonic matches. |
4476 | 0 | assert(Mnemonic == it->getMnemonic()); |
4477 | 0 | bool OperandsValid = true; |
4478 | 0 | for (unsigned FormalIdx = 0, ActualIdx = 1; FormalIdx != 4; ++FormalIdx) { |
4479 | 0 | auto Formal = static_cast<MatchClassKind>(it->Classes[FormalIdx]); |
4480 | 0 | DEBUG_WITH_TYPE("asm-matcher", |
4481 | 0 | dbgs() << " Matching formal operand class " << getMatchClassName(Formal) |
4482 | 0 | << " against actual operand at index " << ActualIdx); |
4483 | 0 | if (ActualIdx < Operands.size()) |
4484 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << " ("; |
4485 | 0 | Operands[ActualIdx]->print(dbgs()); dbgs() << "): "); |
4486 | 0 | else |
4487 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << ": "); |
4488 | 0 | if (ActualIdx >= Operands.size()) { |
4489 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << "actual operand index out of range\n"); |
4490 | 0 | if (Formal == InvalidMatchClass) { |
4491 | 0 | break; |
4492 | 0 | } |
4493 | 0 | if (isSubclass(Formal, OptionalMatchClass)) { |
4494 | 0 | continue; |
4495 | 0 | } |
4496 | 0 | OperandsValid = false; |
4497 | 0 | ErrorInfo = ActualIdx; |
4498 | 0 | break; |
4499 | 0 | } |
4500 | 0 | MCParsedAsmOperand &Actual = *Operands[ActualIdx]; |
4501 | 0 | unsigned Diag = validateOperandClass(Actual, Formal); |
4502 | 0 | if (Diag == Match_Success) { |
4503 | 0 | DEBUG_WITH_TYPE("asm-matcher", |
4504 | 0 | dbgs() << "match success using generic matcher\n"); |
4505 | 0 | ++ActualIdx; |
4506 | 0 | continue; |
4507 | 0 | } |
4508 | | // If the generic handler indicates an invalid operand |
4509 | | // failure, check for a special case. |
4510 | 0 | if (Diag != Match_Success) { |
4511 | 0 | unsigned TargetDiag = validateTargetOperandClass(Actual, Formal); |
4512 | 0 | if (TargetDiag == Match_Success) { |
4513 | 0 | DEBUG_WITH_TYPE("asm-matcher", |
4514 | 0 | dbgs() << "match success using target matcher\n"); |
4515 | 0 | ++ActualIdx; |
4516 | 0 | continue; |
4517 | 0 | } |
4518 | | // If the target matcher returned a specific error code use |
4519 | | // that, else use the one from the generic matcher. |
4520 | 0 | if (TargetDiag != Match_InvalidOperand && HasRequiredFeatures) |
4521 | 0 | Diag = TargetDiag; |
4522 | 0 | } |
4523 | | // If current formal operand wasn't matched and it is optional |
4524 | | // then try to match next formal operand |
4525 | 0 | if (Diag == Match_InvalidOperand && isSubclass(Formal, OptionalMatchClass)) { |
4526 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << "ignoring optional operand\n"); |
4527 | 0 | continue; |
4528 | 0 | } |
4529 | | // If this operand is broken for all of the instances of this |
4530 | | // mnemonic, keep track of it so we can report loc info. |
4531 | | // If we already had a match that only failed due to a |
4532 | | // target predicate, that diagnostic is preferred. |
4533 | 0 | if (!HadMatchOtherThanPredicate && |
4534 | 0 | (it == MnemonicRange.first || ErrorInfo <= ActualIdx)) { |
4535 | 0 | if (HasRequiredFeatures && (ErrorInfo != ActualIdx || Diag != Match_InvalidOperand)) |
4536 | 0 | RetCode = Diag; |
4537 | 0 | ErrorInfo = ActualIdx; |
4538 | 0 | } |
4539 | | // Otherwise, just reject this instance of the mnemonic. |
4540 | 0 | OperandsValid = false; |
4541 | 0 | break; |
4542 | 0 | } |
4543 | |
|
4544 | 0 | if (!OperandsValid) { |
4545 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << "Opcode result: multiple " |
4546 | 0 | "operand mismatches, ignoring " |
4547 | 0 | "this opcode\n"); |
4548 | 0 | continue; |
4549 | 0 | } |
4550 | 0 | if (!HasRequiredFeatures) { |
4551 | 0 | HadMatchOtherThanFeatures = true; |
4552 | 0 | FeatureBitset NewMissingFeatures = RequiredFeatures & ~AvailableFeatures; |
4553 | 0 | DEBUG_WITH_TYPE("asm-matcher", dbgs() << "Missing target features:"; |
4554 | 0 | for (unsigned I = 0, E = NewMissingFeatures.size(); I != E; ++I) |
4555 | 0 | if (NewMissingFeatures[I]) |
4556 | 0 | dbgs() << ' ' << I; |
4557 | 0 | dbgs() << "\n"); |
4558 | 0 | if (NewMissingFeatures.count() <= |
4559 | 0 | MissingFeatures.count()) |
4560 | 0 | MissingFeatures = NewMissingFeatures; |
4561 | 0 | continue; |
4562 | 0 | } |
4563 | | |
4564 | 0 | Inst.clear(); |
4565 | |
|
4566 | 0 | Inst.setOpcode(it->Opcode); |
4567 | | // We have a potential match but have not rendered the operands. |
4568 | | // Check the target predicate to handle any context sensitive |
4569 | | // constraints. |
4570 | | // For example, Ties that are referenced multiple times must be |
4571 | | // checked here to ensure the input is the same for each match |
4572 | | // constraints. If we leave it any later the ties will have been |
4573 | | // canonicalized |
4574 | 0 | unsigned MatchResult; |
4575 | 0 | if ((MatchResult = checkEarlyTargetMatchPredicate(Inst, Operands)) != Match_Success) { |
4576 | 0 | Inst.clear(); |
4577 | 0 | DEBUG_WITH_TYPE( |
4578 | 0 | "asm-matcher", |
4579 | 0 | dbgs() << "Early target match predicate failed with diag code " |
4580 | 0 | << MatchResult << "\n"); |
4581 | 0 | RetCode = MatchResult; |
4582 | 0 | HadMatchOtherThanPredicate = true; |
4583 | 0 | continue; |
4584 | 0 | } |
4585 | | |
4586 | 0 | if (matchingInlineAsm) { |
4587 | 0 | convertToMapAndConstraints(it->ConvertFn, Operands); |
4588 | 0 | if (!checkAsmTiedOperandConstraints(*this, it->ConvertFn, Operands, ErrorInfo)) |
4589 | 0 | return Match_InvalidTiedOperand; |
4590 | | |
4591 | 0 | return Match_Success; |
4592 | 0 | } |
4593 | | |
4594 | | // We have selected a definite instruction, convert the parsed |
4595 | | // operands into the appropriate MCInst. |
4596 | 0 | convertToMCInst(it->ConvertFn, Inst, it->Opcode, Operands); |
4597 | | |
4598 | | // We have a potential match. Check the target predicate to |
4599 | | // handle any context sensitive constraints. |
4600 | 0 | if ((MatchResult = checkTargetMatchPredicate(Inst)) != Match_Success) { |
4601 | 0 | DEBUG_WITH_TYPE("asm-matcher", |
4602 | 0 | dbgs() << "Target match predicate failed with diag code " |
4603 | 0 | << MatchResult << "\n"); |
4604 | 0 | Inst.clear(); |
4605 | 0 | RetCode = MatchResult; |
4606 | 0 | HadMatchOtherThanPredicate = true; |
4607 | 0 | continue; |
4608 | 0 | } |
4609 | | |
4610 | 0 | if (!checkAsmTiedOperandConstraints(*this, it->ConvertFn, Operands, ErrorInfo)) |
4611 | 0 | return Match_InvalidTiedOperand; |
4612 | | |
4613 | 0 | DEBUG_WITH_TYPE( |
4614 | 0 | "asm-matcher", |
4615 | 0 | dbgs() << "Opcode result: complete match, selecting this opcode\n"); |
4616 | 0 | return Match_Success; |
4617 | 0 | } |
4618 | | |
4619 | | // Okay, we had no match. Try to return a useful error code. |
4620 | 0 | if (HadMatchOtherThanPredicate || !HadMatchOtherThanFeatures) |
4621 | 0 | return RetCode; |
4622 | | |
4623 | 0 | ErrorInfo = 0; |
4624 | 0 | return Match_MissingFeature; |
4625 | 0 | } |
4626 | | |
4627 | | namespace { |
4628 | | struct OperandMatchEntry { |
4629 | | uint16_t Mnemonic; |
4630 | | uint8_t OperandMask; |
4631 | | uint8_t Class; |
4632 | | uint8_t RequiredFeaturesIdx; |
4633 | | |
4634 | 0 | StringRef getMnemonic() const { |
4635 | 0 | return StringRef(MnemonicTable + Mnemonic + 1, |
4636 | 0 | MnemonicTable[Mnemonic]); |
4637 | 0 | } |
4638 | | }; |
4639 | | |
4640 | | // Predicate for searching for an opcode. |
4641 | | struct LessOpcodeOperand { |
4642 | 0 | bool operator()(const OperandMatchEntry &LHS, StringRef RHS) { |
4643 | 0 | return LHS.getMnemonic() < RHS; |
4644 | 0 | } |
4645 | 0 | bool operator()(StringRef LHS, const OperandMatchEntry &RHS) { |
4646 | 0 | return LHS < RHS.getMnemonic(); |
4647 | 0 | } |
4648 | 0 | bool operator()(const OperandMatchEntry &LHS, const OperandMatchEntry &RHS) { |
4649 | 0 | return LHS.getMnemonic() < RHS.getMnemonic(); |
4650 | 0 | } |
4651 | | }; |
4652 | | } // end anonymous namespace |
4653 | | |
4654 | | static const OperandMatchEntry OperandMatchTable[82] = { |
4655 | | /* Operand List Mnemonic, Mask, Operand Class, Features */ |
4656 | | { 102 /* amadd.b */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4657 | | { 110 /* amadd.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4658 | | { 118 /* amadd.h */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4659 | | { 126 /* amadd.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4660 | | { 134 /* amadd_db.b */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4661 | | { 145 /* amadd_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4662 | | { 156 /* amadd_db.h */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4663 | | { 167 /* amadd_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4664 | | { 178 /* amand.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4665 | | { 186 /* amand.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4666 | | { 194 /* amand_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4667 | | { 205 /* amand_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4668 | | { 216 /* amcas.b */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4669 | | { 224 /* amcas.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4670 | | { 232 /* amcas.h */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4671 | | { 240 /* amcas.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4672 | | { 248 /* amcas_db.b */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4673 | | { 259 /* amcas_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4674 | | { 270 /* amcas_db.h */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4675 | | { 281 /* amcas_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4676 | | { 292 /* ammax.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4677 | | { 300 /* ammax.du */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4678 | | { 309 /* ammax.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4679 | | { 317 /* ammax.wu */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4680 | | { 326 /* ammax_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4681 | | { 337 /* ammax_db.du */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4682 | | { 349 /* ammax_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4683 | | { 360 /* ammax_db.wu */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4684 | | { 372 /* ammin.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4685 | | { 380 /* ammin.du */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4686 | | { 389 /* ammin.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4687 | | { 397 /* ammin.wu */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4688 | | { 406 /* ammin_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4689 | | { 417 /* ammin_db.du */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4690 | | { 429 /* ammin_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4691 | | { 440 /* ammin_db.wu */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4692 | | { 452 /* amor.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4693 | | { 459 /* amor.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4694 | | { 466 /* amor_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4695 | | { 476 /* amor_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4696 | | { 486 /* amswap.b */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4697 | | { 495 /* amswap.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4698 | | { 504 /* amswap.h */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4699 | | { 513 /* amswap.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4700 | | { 522 /* amswap_db.b */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4701 | | { 534 /* amswap_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4702 | | { 546 /* amswap_db.h */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4703 | | { 558 /* amswap_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4704 | | { 570 /* amxor.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4705 | | { 578 /* amxor.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4706 | | { 586 /* amxor_db.d */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4707 | | { 597 /* amxor_db.w */, 4 /* 2 */, MCK_AtomicMemAsmOperand, AMFBS_IsLA64 }, |
4708 | | { 844 /* b */, 1 /* 0 */, MCK_SImm26OperandB, AMFBS_None }, |
4709 | | { 933 /* bl */, 1 /* 0 */, MCK_SImm26OperandBL, AMFBS_None }, |
4710 | | { 1049 /* call36 */, 1 /* 0 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4711 | | { 2786 /* la */, 2 /* 1 */, MCK_BareSymbol, AMFBS_HasLaGlobalWithPcrel }, |
4712 | | { 2786 /* la */, 2 /* 1 */, MCK_BareSymbol, AMFBS_HasLaGlobalWithAbs }, |
4713 | | { 2786 /* la */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4714 | | { 2789 /* la.abs */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4715 | | { 2789 /* la.abs */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4716 | | { 2796 /* la.global */, 2 /* 1 */, MCK_BareSymbol, AMFBS_HasLaGlobalWithPcrel }, |
4717 | | { 2796 /* la.global */, 2 /* 1 */, MCK_BareSymbol, AMFBS_HasLaGlobalWithAbs }, |
4718 | | { 2796 /* la.global */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4719 | | { 2796 /* la.global */, 4 /* 2 */, MCK_BareSymbol, AMFBS_HasLaGlobalWithPcrel }, |
4720 | | { 2796 /* la.global */, 4 /* 2 */, MCK_BareSymbol, AMFBS_HasLaGlobalWithAbs }, |
4721 | | { 2796 /* la.global */, 4 /* 2 */, MCK_BareSymbol, AMFBS_None }, |
4722 | | { 2806 /* la.got */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4723 | | { 2806 /* la.got */, 4 /* 2 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4724 | | { 2813 /* la.local */, 2 /* 1 */, MCK_BareSymbol, AMFBS_HasLaLocalWithAbs }, |
4725 | | { 2813 /* la.local */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4726 | | { 2813 /* la.local */, 4 /* 2 */, MCK_BareSymbol, AMFBS_HasLaLocalWithAbs }, |
4727 | | { 2813 /* la.local */, 4 /* 2 */, MCK_BareSymbol, AMFBS_None }, |
4728 | | { 2822 /* la.pcrel */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4729 | | { 2822 /* la.pcrel */, 4 /* 2 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4730 | | { 2831 /* la.tls.gd */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4731 | | { 2831 /* la.tls.gd */, 4 /* 2 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4732 | | { 2841 /* la.tls.ie */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4733 | | { 2841 /* la.tls.ie */, 4 /* 2 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4734 | | { 2851 /* la.tls.ld */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4735 | | { 2851 /* la.tls.ld */, 4 /* 2 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4736 | | { 2861 /* la.tls.le */, 2 /* 1 */, MCK_BareSymbol, AMFBS_None }, |
4737 | | { 3990 /* tail36 */, 2 /* 1 */, MCK_BareSymbol, AMFBS_IsLA64 }, |
4738 | | }; |
4739 | | |
4740 | | ParseStatus LoongArchAsmParser:: |
4741 | | tryCustomParseOperand(OperandVector &Operands, |
4742 | 0 | unsigned MCK) { |
4743 | |
|
4744 | 0 | switch(MCK) { |
4745 | 0 | case MCK_AtomicMemAsmOperand: |
4746 | 0 | return parseAtomicMemOp(Operands); |
4747 | 0 | case MCK_BareSymbol: |
4748 | 0 | return parseImmediate(Operands); |
4749 | 0 | case MCK_SImm26OperandB: |
4750 | 0 | return parseImmediate(Operands); |
4751 | 0 | case MCK_SImm26OperandBL: |
4752 | 0 | return parseSImm26Operand(Operands); |
4753 | 0 | default: |
4754 | 0 | return ParseStatus::NoMatch; |
4755 | 0 | } |
4756 | 0 | return ParseStatus::NoMatch; |
4757 | 0 | } |
4758 | | |
4759 | | ParseStatus LoongArchAsmParser:: |
4760 | | MatchOperandParserImpl(OperandVector &Operands, |
4761 | | StringRef Mnemonic, |
4762 | 0 | bool ParseForAllFeatures) { |
4763 | | // Get the current feature set. |
4764 | 0 | const FeatureBitset &AvailableFeatures = getAvailableFeatures(); |
4765 | | |
4766 | | // Get the next operand index. |
4767 | 0 | unsigned NextOpNum = Operands.size() - 1; |
4768 | | // Search the table. |
4769 | 0 | auto MnemonicRange = |
4770 | 0 | std::equal_range(std::begin(OperandMatchTable), std::end(OperandMatchTable), |
4771 | 0 | Mnemonic, LessOpcodeOperand()); |
4772 | |
|
4773 | 0 | if (MnemonicRange.first == MnemonicRange.second) |
4774 | 0 | return ParseStatus::NoMatch; |
4775 | | |
4776 | 0 | for (const OperandMatchEntry *it = MnemonicRange.first, |
4777 | 0 | *ie = MnemonicRange.second; it != ie; ++it) { |
4778 | | // equal_range guarantees that instruction mnemonic matches. |
4779 | 0 | assert(Mnemonic == it->getMnemonic()); |
4780 | | |
4781 | | // check if the available features match |
4782 | 0 | const FeatureBitset &RequiredFeatures = FeatureBitsets[it->RequiredFeaturesIdx]; |
4783 | 0 | if (!ParseForAllFeatures && (AvailableFeatures & RequiredFeatures) != RequiredFeatures) |
4784 | 0 | continue; |
4785 | | |
4786 | | // check if the operand in question has a custom parser. |
4787 | 0 | if (!(it->OperandMask & (1 << NextOpNum))) |
4788 | 0 | continue; |
4789 | | |
4790 | | // call custom parse method to handle the operand |
4791 | 0 | ParseStatus Result = tryCustomParseOperand(Operands, it->Class); |
4792 | 0 | if (!Result.isNoMatch()) |
4793 | 0 | return Result; |
4794 | 0 | } |
4795 | | |
4796 | | // Okay, we had no match. |
4797 | 0 | return ParseStatus::NoMatch; |
4798 | 0 | } |
4799 | | |
4800 | | #endif // GET_MATCHER_IMPLEMENTATION |
4801 | | |
4802 | | |
4803 | | #ifdef GET_MNEMONIC_SPELL_CHECKER |
4804 | | #undef GET_MNEMONIC_SPELL_CHECKER |
4805 | | |
4806 | 0 | static std::string LoongArchMnemonicSpellCheck(StringRef S, const FeatureBitset &FBS, unsigned VariantID) { |
4807 | 0 | const unsigned MaxEditDist = 2; |
4808 | 0 | std::vector<StringRef> Candidates; |
4809 | 0 | StringRef Prev = ""; |
4810 | | |
4811 | | // Find the appropriate table for this asm variant. |
4812 | 0 | const MatchEntry *Start, *End; |
4813 | 0 | switch (VariantID) { |
4814 | 0 | default: llvm_unreachable("invalid variant!"); |
4815 | 0 | case 0: Start = std::begin(MatchTable0); End = std::end(MatchTable0); break; |
4816 | 0 | } |
4817 | | |
4818 | 0 | for (auto I = Start; I < End; I++) { |
4819 | | // Ignore unsupported instructions. |
4820 | 0 | const FeatureBitset &RequiredFeatures = FeatureBitsets[I->RequiredFeaturesIdx]; |
4821 | 0 | if ((FBS & RequiredFeatures) != RequiredFeatures) |
4822 | 0 | continue; |
4823 | | |
4824 | 0 | StringRef T = I->getMnemonic(); |
4825 | | // Avoid recomputing the edit distance for the same string. |
4826 | 0 | if (T.equals(Prev)) |
4827 | 0 | continue; |
4828 | | |
4829 | 0 | Prev = T; |
4830 | 0 | unsigned Dist = S.edit_distance(T, false, MaxEditDist); |
4831 | 0 | if (Dist <= MaxEditDist) |
4832 | 0 | Candidates.push_back(T); |
4833 | 0 | } |
4834 | |
|
4835 | 0 | if (Candidates.empty()) |
4836 | 0 | return ""; |
4837 | | |
4838 | 0 | std::string Res = ", did you mean: "; |
4839 | 0 | unsigned i = 0; |
4840 | 0 | for (; i < Candidates.size() - 1; i++) |
4841 | 0 | Res += Candidates[i].str() + ", "; |
4842 | 0 | return Res + Candidates[i].str() + "?"; |
4843 | 0 | } |
4844 | | |
4845 | | #endif // GET_MNEMONIC_SPELL_CHECKER |
4846 | | |
4847 | | |
4848 | | #ifdef GET_MNEMONIC_CHECKER |
4849 | | #undef GET_MNEMONIC_CHECKER |
4850 | | |
4851 | | static bool LoongArchCheckMnemonic(StringRef Mnemonic, |
4852 | | const FeatureBitset &AvailableFeatures, |
4853 | | unsigned VariantID) { |
4854 | | // Find the appropriate table for this asm variant. |
4855 | | const MatchEntry *Start, *End; |
4856 | | switch (VariantID) { |
4857 | | default: llvm_unreachable("invalid variant!"); |
4858 | | case 0: Start = std::begin(MatchTable0); End = std::end(MatchTable0); break; |
4859 | | } |
4860 | | |
4861 | | // Search the table. |
4862 | | auto MnemonicRange = std::equal_range(Start, End, Mnemonic, LessOpcode()); |
4863 | | |
4864 | | if (MnemonicRange.first == MnemonicRange.second) |
4865 | | return false; |
4866 | | |
4867 | | for (const MatchEntry *it = MnemonicRange.first, *ie = MnemonicRange.second; |
4868 | | it != ie; ++it) { |
4869 | | const FeatureBitset &RequiredFeatures = |
4870 | | FeatureBitsets[it->RequiredFeaturesIdx]; |
4871 | | if ((AvailableFeatures & RequiredFeatures) == RequiredFeatures) |
4872 | | return true; |
4873 | | } |
4874 | | return false; |
4875 | | } |
4876 | | |
4877 | | #endif // GET_MNEMONIC_CHECKER |
4878 | | |