1
2
3 package ssa
4
5 import (
6 "cmd/internal/obj"
7 "cmd/internal/obj/arm"
8 "cmd/internal/obj/arm64"
9 "cmd/internal/obj/loong64"
10 "cmd/internal/obj/mips"
11 "cmd/internal/obj/ppc64"
12 "cmd/internal/obj/riscv"
13 "cmd/internal/obj/s390x"
14 "cmd/internal/obj/wasm"
15 "cmd/internal/obj/x86"
16 )
17
18 const (
19 BlockInvalid BlockKind = iota
20
21 Block386EQ
22 Block386NE
23 Block386LT
24 Block386LE
25 Block386GT
26 Block386GE
27 Block386OS
28 Block386OC
29 Block386ULT
30 Block386ULE
31 Block386UGT
32 Block386UGE
33 Block386EQF
34 Block386NEF
35 Block386ORD
36 Block386NAN
37
38 BlockAMD64EQ
39 BlockAMD64NE
40 BlockAMD64LT
41 BlockAMD64LE
42 BlockAMD64GT
43 BlockAMD64GE
44 BlockAMD64OS
45 BlockAMD64OC
46 BlockAMD64ULT
47 BlockAMD64ULE
48 BlockAMD64UGT
49 BlockAMD64UGE
50 BlockAMD64EQF
51 BlockAMD64NEF
52 BlockAMD64ORD
53 BlockAMD64NAN
54 BlockAMD64JUMPTABLE
55
56 BlockARMEQ
57 BlockARMNE
58 BlockARMLT
59 BlockARMLE
60 BlockARMGT
61 BlockARMGE
62 BlockARMULT
63 BlockARMULE
64 BlockARMUGT
65 BlockARMUGE
66 BlockARMLTnoov
67 BlockARMLEnoov
68 BlockARMGTnoov
69 BlockARMGEnoov
70
71 BlockARM64EQ
72 BlockARM64NE
73 BlockARM64LT
74 BlockARM64LE
75 BlockARM64GT
76 BlockARM64GE
77 BlockARM64ULT
78 BlockARM64ULE
79 BlockARM64UGT
80 BlockARM64UGE
81 BlockARM64Z
82 BlockARM64NZ
83 BlockARM64ZW
84 BlockARM64NZW
85 BlockARM64TBZ
86 BlockARM64TBNZ
87 BlockARM64FLT
88 BlockARM64FLE
89 BlockARM64FGT
90 BlockARM64FGE
91 BlockARM64LTnoov
92 BlockARM64LEnoov
93 BlockARM64GTnoov
94 BlockARM64GEnoov
95 BlockARM64JUMPTABLE
96
97 BlockLOONG64EQ
98 BlockLOONG64NE
99 BlockLOONG64LTZ
100 BlockLOONG64LEZ
101 BlockLOONG64GTZ
102 BlockLOONG64GEZ
103 BlockLOONG64FPT
104 BlockLOONG64FPF
105
106 BlockMIPSEQ
107 BlockMIPSNE
108 BlockMIPSLTZ
109 BlockMIPSLEZ
110 BlockMIPSGTZ
111 BlockMIPSGEZ
112 BlockMIPSFPT
113 BlockMIPSFPF
114
115 BlockMIPS64EQ
116 BlockMIPS64NE
117 BlockMIPS64LTZ
118 BlockMIPS64LEZ
119 BlockMIPS64GTZ
120 BlockMIPS64GEZ
121 BlockMIPS64FPT
122 BlockMIPS64FPF
123
124 BlockPPC64EQ
125 BlockPPC64NE
126 BlockPPC64LT
127 BlockPPC64LE
128 BlockPPC64GT
129 BlockPPC64GE
130 BlockPPC64FLT
131 BlockPPC64FLE
132 BlockPPC64FGT
133 BlockPPC64FGE
134
135 BlockRISCV64BEQ
136 BlockRISCV64BNE
137 BlockRISCV64BLT
138 BlockRISCV64BGE
139 BlockRISCV64BLTU
140 BlockRISCV64BGEU
141 BlockRISCV64BEQZ
142 BlockRISCV64BNEZ
143 BlockRISCV64BLEZ
144 BlockRISCV64BGEZ
145 BlockRISCV64BLTZ
146 BlockRISCV64BGTZ
147
148 BlockS390XBRC
149 BlockS390XCRJ
150 BlockS390XCGRJ
151 BlockS390XCLRJ
152 BlockS390XCLGRJ
153 BlockS390XCIJ
154 BlockS390XCGIJ
155 BlockS390XCLIJ
156 BlockS390XCLGIJ
157
158 BlockPlain
159 BlockIf
160 BlockDefer
161 BlockRet
162 BlockRetJmp
163 BlockExit
164 BlockJumpTable
165 BlockFirst
166 )
167
168 var blockString = [...]string{
169 BlockInvalid: "BlockInvalid",
170
171 Block386EQ: "EQ",
172 Block386NE: "NE",
173 Block386LT: "LT",
174 Block386LE: "LE",
175 Block386GT: "GT",
176 Block386GE: "GE",
177 Block386OS: "OS",
178 Block386OC: "OC",
179 Block386ULT: "ULT",
180 Block386ULE: "ULE",
181 Block386UGT: "UGT",
182 Block386UGE: "UGE",
183 Block386EQF: "EQF",
184 Block386NEF: "NEF",
185 Block386ORD: "ORD",
186 Block386NAN: "NAN",
187
188 BlockAMD64EQ: "EQ",
189 BlockAMD64NE: "NE",
190 BlockAMD64LT: "LT",
191 BlockAMD64LE: "LE",
192 BlockAMD64GT: "GT",
193 BlockAMD64GE: "GE",
194 BlockAMD64OS: "OS",
195 BlockAMD64OC: "OC",
196 BlockAMD64ULT: "ULT",
197 BlockAMD64ULE: "ULE",
198 BlockAMD64UGT: "UGT",
199 BlockAMD64UGE: "UGE",
200 BlockAMD64EQF: "EQF",
201 BlockAMD64NEF: "NEF",
202 BlockAMD64ORD: "ORD",
203 BlockAMD64NAN: "NAN",
204 BlockAMD64JUMPTABLE: "JUMPTABLE",
205
206 BlockARMEQ: "EQ",
207 BlockARMNE: "NE",
208 BlockARMLT: "LT",
209 BlockARMLE: "LE",
210 BlockARMGT: "GT",
211 BlockARMGE: "GE",
212 BlockARMULT: "ULT",
213 BlockARMULE: "ULE",
214 BlockARMUGT: "UGT",
215 BlockARMUGE: "UGE",
216 BlockARMLTnoov: "LTnoov",
217 BlockARMLEnoov: "LEnoov",
218 BlockARMGTnoov: "GTnoov",
219 BlockARMGEnoov: "GEnoov",
220
221 BlockARM64EQ: "EQ",
222 BlockARM64NE: "NE",
223 BlockARM64LT: "LT",
224 BlockARM64LE: "LE",
225 BlockARM64GT: "GT",
226 BlockARM64GE: "GE",
227 BlockARM64ULT: "ULT",
228 BlockARM64ULE: "ULE",
229 BlockARM64UGT: "UGT",
230 BlockARM64UGE: "UGE",
231 BlockARM64Z: "Z",
232 BlockARM64NZ: "NZ",
233 BlockARM64ZW: "ZW",
234 BlockARM64NZW: "NZW",
235 BlockARM64TBZ: "TBZ",
236 BlockARM64TBNZ: "TBNZ",
237 BlockARM64FLT: "FLT",
238 BlockARM64FLE: "FLE",
239 BlockARM64FGT: "FGT",
240 BlockARM64FGE: "FGE",
241 BlockARM64LTnoov: "LTnoov",
242 BlockARM64LEnoov: "LEnoov",
243 BlockARM64GTnoov: "GTnoov",
244 BlockARM64GEnoov: "GEnoov",
245 BlockARM64JUMPTABLE: "JUMPTABLE",
246
247 BlockLOONG64EQ: "EQ",
248 BlockLOONG64NE: "NE",
249 BlockLOONG64LTZ: "LTZ",
250 BlockLOONG64LEZ: "LEZ",
251 BlockLOONG64GTZ: "GTZ",
252 BlockLOONG64GEZ: "GEZ",
253 BlockLOONG64FPT: "FPT",
254 BlockLOONG64FPF: "FPF",
255
256 BlockMIPSEQ: "EQ",
257 BlockMIPSNE: "NE",
258 BlockMIPSLTZ: "LTZ",
259 BlockMIPSLEZ: "LEZ",
260 BlockMIPSGTZ: "GTZ",
261 BlockMIPSGEZ: "GEZ",
262 BlockMIPSFPT: "FPT",
263 BlockMIPSFPF: "FPF",
264
265 BlockMIPS64EQ: "EQ",
266 BlockMIPS64NE: "NE",
267 BlockMIPS64LTZ: "LTZ",
268 BlockMIPS64LEZ: "LEZ",
269 BlockMIPS64GTZ: "GTZ",
270 BlockMIPS64GEZ: "GEZ",
271 BlockMIPS64FPT: "FPT",
272 BlockMIPS64FPF: "FPF",
273
274 BlockPPC64EQ: "EQ",
275 BlockPPC64NE: "NE",
276 BlockPPC64LT: "LT",
277 BlockPPC64LE: "LE",
278 BlockPPC64GT: "GT",
279 BlockPPC64GE: "GE",
280 BlockPPC64FLT: "FLT",
281 BlockPPC64FLE: "FLE",
282 BlockPPC64FGT: "FGT",
283 BlockPPC64FGE: "FGE",
284
285 BlockRISCV64BEQ: "BEQ",
286 BlockRISCV64BNE: "BNE",
287 BlockRISCV64BLT: "BLT",
288 BlockRISCV64BGE: "BGE",
289 BlockRISCV64BLTU: "BLTU",
290 BlockRISCV64BGEU: "BGEU",
291 BlockRISCV64BEQZ: "BEQZ",
292 BlockRISCV64BNEZ: "BNEZ",
293 BlockRISCV64BLEZ: "BLEZ",
294 BlockRISCV64BGEZ: "BGEZ",
295 BlockRISCV64BLTZ: "BLTZ",
296 BlockRISCV64BGTZ: "BGTZ",
297
298 BlockS390XBRC: "BRC",
299 BlockS390XCRJ: "CRJ",
300 BlockS390XCGRJ: "CGRJ",
301 BlockS390XCLRJ: "CLRJ",
302 BlockS390XCLGRJ: "CLGRJ",
303 BlockS390XCIJ: "CIJ",
304 BlockS390XCGIJ: "CGIJ",
305 BlockS390XCLIJ: "CLIJ",
306 BlockS390XCLGIJ: "CLGIJ",
307
308 BlockPlain: "Plain",
309 BlockIf: "If",
310 BlockDefer: "Defer",
311 BlockRet: "Ret",
312 BlockRetJmp: "RetJmp",
313 BlockExit: "Exit",
314 BlockJumpTable: "JumpTable",
315 BlockFirst: "First",
316 }
317
318 func (k BlockKind) String() string { return blockString[k] }
319 func (k BlockKind) AuxIntType() string {
320 switch k {
321 case BlockARM64TBZ:
322 return "int64"
323 case BlockARM64TBNZ:
324 return "int64"
325 case BlockS390XCIJ:
326 return "int8"
327 case BlockS390XCGIJ:
328 return "int8"
329 case BlockS390XCLIJ:
330 return "uint8"
331 case BlockS390XCLGIJ:
332 return "uint8"
333 }
334 return ""
335 }
336
337 const (
338 OpInvalid Op = iota
339
340 Op386ADDSS
341 Op386ADDSD
342 Op386SUBSS
343 Op386SUBSD
344 Op386MULSS
345 Op386MULSD
346 Op386DIVSS
347 Op386DIVSD
348 Op386MOVSSload
349 Op386MOVSDload
350 Op386MOVSSconst
351 Op386MOVSDconst
352 Op386MOVSSloadidx1
353 Op386MOVSSloadidx4
354 Op386MOVSDloadidx1
355 Op386MOVSDloadidx8
356 Op386MOVSSstore
357 Op386MOVSDstore
358 Op386MOVSSstoreidx1
359 Op386MOVSSstoreidx4
360 Op386MOVSDstoreidx1
361 Op386MOVSDstoreidx8
362 Op386ADDSSload
363 Op386ADDSDload
364 Op386SUBSSload
365 Op386SUBSDload
366 Op386MULSSload
367 Op386MULSDload
368 Op386DIVSSload
369 Op386DIVSDload
370 Op386ADDL
371 Op386ADDLconst
372 Op386ADDLcarry
373 Op386ADDLconstcarry
374 Op386ADCL
375 Op386ADCLconst
376 Op386SUBL
377 Op386SUBLconst
378 Op386SUBLcarry
379 Op386SUBLconstcarry
380 Op386SBBL
381 Op386SBBLconst
382 Op386MULL
383 Op386MULLconst
384 Op386MULLU
385 Op386HMULL
386 Op386HMULLU
387 Op386MULLQU
388 Op386AVGLU
389 Op386DIVL
390 Op386DIVW
391 Op386DIVLU
392 Op386DIVWU
393 Op386MODL
394 Op386MODW
395 Op386MODLU
396 Op386MODWU
397 Op386ANDL
398 Op386ANDLconst
399 Op386ORL
400 Op386ORLconst
401 Op386XORL
402 Op386XORLconst
403 Op386CMPL
404 Op386CMPW
405 Op386CMPB
406 Op386CMPLconst
407 Op386CMPWconst
408 Op386CMPBconst
409 Op386CMPLload
410 Op386CMPWload
411 Op386CMPBload
412 Op386CMPLconstload
413 Op386CMPWconstload
414 Op386CMPBconstload
415 Op386UCOMISS
416 Op386UCOMISD
417 Op386TESTL
418 Op386TESTW
419 Op386TESTB
420 Op386TESTLconst
421 Op386TESTWconst
422 Op386TESTBconst
423 Op386SHLL
424 Op386SHLLconst
425 Op386SHRL
426 Op386SHRW
427 Op386SHRB
428 Op386SHRLconst
429 Op386SHRWconst
430 Op386SHRBconst
431 Op386SARL
432 Op386SARW
433 Op386SARB
434 Op386SARLconst
435 Op386SARWconst
436 Op386SARBconst
437 Op386ROLL
438 Op386ROLW
439 Op386ROLB
440 Op386ROLLconst
441 Op386ROLWconst
442 Op386ROLBconst
443 Op386ADDLload
444 Op386SUBLload
445 Op386MULLload
446 Op386ANDLload
447 Op386ORLload
448 Op386XORLload
449 Op386ADDLloadidx4
450 Op386SUBLloadidx4
451 Op386MULLloadidx4
452 Op386ANDLloadidx4
453 Op386ORLloadidx4
454 Op386XORLloadidx4
455 Op386NEGL
456 Op386NOTL
457 Op386BSFL
458 Op386BSFW
459 Op386LoweredCtz32
460 Op386BSRL
461 Op386BSRW
462 Op386BSWAPL
463 Op386SQRTSD
464 Op386SQRTSS
465 Op386SBBLcarrymask
466 Op386SETEQ
467 Op386SETNE
468 Op386SETL
469 Op386SETLE
470 Op386SETG
471 Op386SETGE
472 Op386SETB
473 Op386SETBE
474 Op386SETA
475 Op386SETAE
476 Op386SETO
477 Op386SETEQF
478 Op386SETNEF
479 Op386SETORD
480 Op386SETNAN
481 Op386SETGF
482 Op386SETGEF
483 Op386MOVBLSX
484 Op386MOVBLZX
485 Op386MOVWLSX
486 Op386MOVWLZX
487 Op386MOVLconst
488 Op386CVTTSD2SL
489 Op386CVTTSS2SL
490 Op386CVTSL2SS
491 Op386CVTSL2SD
492 Op386CVTSD2SS
493 Op386CVTSS2SD
494 Op386PXOR
495 Op386LEAL
496 Op386LEAL1
497 Op386LEAL2
498 Op386LEAL4
499 Op386LEAL8
500 Op386MOVBload
501 Op386MOVBLSXload
502 Op386MOVWload
503 Op386MOVWLSXload
504 Op386MOVLload
505 Op386MOVBstore
506 Op386MOVWstore
507 Op386MOVLstore
508 Op386ADDLmodify
509 Op386SUBLmodify
510 Op386ANDLmodify
511 Op386ORLmodify
512 Op386XORLmodify
513 Op386ADDLmodifyidx4
514 Op386SUBLmodifyidx4
515 Op386ANDLmodifyidx4
516 Op386ORLmodifyidx4
517 Op386XORLmodifyidx4
518 Op386ADDLconstmodify
519 Op386ANDLconstmodify
520 Op386ORLconstmodify
521 Op386XORLconstmodify
522 Op386ADDLconstmodifyidx4
523 Op386ANDLconstmodifyidx4
524 Op386ORLconstmodifyidx4
525 Op386XORLconstmodifyidx4
526 Op386MOVBloadidx1
527 Op386MOVWloadidx1
528 Op386MOVWloadidx2
529 Op386MOVLloadidx1
530 Op386MOVLloadidx4
531 Op386MOVBstoreidx1
532 Op386MOVWstoreidx1
533 Op386MOVWstoreidx2
534 Op386MOVLstoreidx1
535 Op386MOVLstoreidx4
536 Op386MOVBstoreconst
537 Op386MOVWstoreconst
538 Op386MOVLstoreconst
539 Op386MOVBstoreconstidx1
540 Op386MOVWstoreconstidx1
541 Op386MOVWstoreconstidx2
542 Op386MOVLstoreconstidx1
543 Op386MOVLstoreconstidx4
544 Op386DUFFZERO
545 Op386REPSTOSL
546 Op386CALLstatic
547 Op386CALLtail
548 Op386CALLclosure
549 Op386CALLinter
550 Op386DUFFCOPY
551 Op386REPMOVSL
552 Op386InvertFlags
553 Op386LoweredGetG
554 Op386LoweredGetClosurePtr
555 Op386LoweredGetCallerPC
556 Op386LoweredGetCallerSP
557 Op386LoweredNilCheck
558 Op386LoweredWB
559 Op386LoweredPanicBoundsA
560 Op386LoweredPanicBoundsB
561 Op386LoweredPanicBoundsC
562 Op386LoweredPanicExtendA
563 Op386LoweredPanicExtendB
564 Op386LoweredPanicExtendC
565 Op386FlagEQ
566 Op386FlagLT_ULT
567 Op386FlagLT_UGT
568 Op386FlagGT_UGT
569 Op386FlagGT_ULT
570 Op386MOVSSconst1
571 Op386MOVSDconst1
572 Op386MOVSSconst2
573 Op386MOVSDconst2
574
575 OpAMD64ADDSS
576 OpAMD64ADDSD
577 OpAMD64SUBSS
578 OpAMD64SUBSD
579 OpAMD64MULSS
580 OpAMD64MULSD
581 OpAMD64DIVSS
582 OpAMD64DIVSD
583 OpAMD64MOVSSload
584 OpAMD64MOVSDload
585 OpAMD64MOVSSconst
586 OpAMD64MOVSDconst
587 OpAMD64MOVSSloadidx1
588 OpAMD64MOVSSloadidx4
589 OpAMD64MOVSDloadidx1
590 OpAMD64MOVSDloadidx8
591 OpAMD64MOVSSstore
592 OpAMD64MOVSDstore
593 OpAMD64MOVSSstoreidx1
594 OpAMD64MOVSSstoreidx4
595 OpAMD64MOVSDstoreidx1
596 OpAMD64MOVSDstoreidx8
597 OpAMD64ADDSSload
598 OpAMD64ADDSDload
599 OpAMD64SUBSSload
600 OpAMD64SUBSDload
601 OpAMD64MULSSload
602 OpAMD64MULSDload
603 OpAMD64DIVSSload
604 OpAMD64DIVSDload
605 OpAMD64ADDSSloadidx1
606 OpAMD64ADDSSloadidx4
607 OpAMD64ADDSDloadidx1
608 OpAMD64ADDSDloadidx8
609 OpAMD64SUBSSloadidx1
610 OpAMD64SUBSSloadidx4
611 OpAMD64SUBSDloadidx1
612 OpAMD64SUBSDloadidx8
613 OpAMD64MULSSloadidx1
614 OpAMD64MULSSloadidx4
615 OpAMD64MULSDloadidx1
616 OpAMD64MULSDloadidx8
617 OpAMD64DIVSSloadidx1
618 OpAMD64DIVSSloadidx4
619 OpAMD64DIVSDloadidx1
620 OpAMD64DIVSDloadidx8
621 OpAMD64ADDQ
622 OpAMD64ADDL
623 OpAMD64ADDQconst
624 OpAMD64ADDLconst
625 OpAMD64ADDQconstmodify
626 OpAMD64ADDLconstmodify
627 OpAMD64SUBQ
628 OpAMD64SUBL
629 OpAMD64SUBQconst
630 OpAMD64SUBLconst
631 OpAMD64MULQ
632 OpAMD64MULL
633 OpAMD64MULQconst
634 OpAMD64MULLconst
635 OpAMD64MULLU
636 OpAMD64MULQU
637 OpAMD64HMULQ
638 OpAMD64HMULL
639 OpAMD64HMULQU
640 OpAMD64HMULLU
641 OpAMD64AVGQU
642 OpAMD64DIVQ
643 OpAMD64DIVL
644 OpAMD64DIVW
645 OpAMD64DIVQU
646 OpAMD64DIVLU
647 OpAMD64DIVWU
648 OpAMD64NEGLflags
649 OpAMD64ADDQcarry
650 OpAMD64ADCQ
651 OpAMD64ADDQconstcarry
652 OpAMD64ADCQconst
653 OpAMD64SUBQborrow
654 OpAMD64SBBQ
655 OpAMD64SUBQconstborrow
656 OpAMD64SBBQconst
657 OpAMD64MULQU2
658 OpAMD64DIVQU2
659 OpAMD64ANDQ
660 OpAMD64ANDL
661 OpAMD64ANDQconst
662 OpAMD64ANDLconst
663 OpAMD64ANDQconstmodify
664 OpAMD64ANDLconstmodify
665 OpAMD64ORQ
666 OpAMD64ORL
667 OpAMD64ORQconst
668 OpAMD64ORLconst
669 OpAMD64ORQconstmodify
670 OpAMD64ORLconstmodify
671 OpAMD64XORQ
672 OpAMD64XORL
673 OpAMD64XORQconst
674 OpAMD64XORLconst
675 OpAMD64XORQconstmodify
676 OpAMD64XORLconstmodify
677 OpAMD64CMPQ
678 OpAMD64CMPL
679 OpAMD64CMPW
680 OpAMD64CMPB
681 OpAMD64CMPQconst
682 OpAMD64CMPLconst
683 OpAMD64CMPWconst
684 OpAMD64CMPBconst
685 OpAMD64CMPQload
686 OpAMD64CMPLload
687 OpAMD64CMPWload
688 OpAMD64CMPBload
689 OpAMD64CMPQconstload
690 OpAMD64CMPLconstload
691 OpAMD64CMPWconstload
692 OpAMD64CMPBconstload
693 OpAMD64CMPQloadidx8
694 OpAMD64CMPQloadidx1
695 OpAMD64CMPLloadidx4
696 OpAMD64CMPLloadidx1
697 OpAMD64CMPWloadidx2
698 OpAMD64CMPWloadidx1
699 OpAMD64CMPBloadidx1
700 OpAMD64CMPQconstloadidx8
701 OpAMD64CMPQconstloadidx1
702 OpAMD64CMPLconstloadidx4
703 OpAMD64CMPLconstloadidx1
704 OpAMD64CMPWconstloadidx2
705 OpAMD64CMPWconstloadidx1
706 OpAMD64CMPBconstloadidx1
707 OpAMD64UCOMISS
708 OpAMD64UCOMISD
709 OpAMD64BTL
710 OpAMD64BTQ
711 OpAMD64BTCL
712 OpAMD64BTCQ
713 OpAMD64BTRL
714 OpAMD64BTRQ
715 OpAMD64BTSL
716 OpAMD64BTSQ
717 OpAMD64BTLconst
718 OpAMD64BTQconst
719 OpAMD64BTCQconst
720 OpAMD64BTRQconst
721 OpAMD64BTSQconst
722 OpAMD64BTSQconstmodify
723 OpAMD64BTRQconstmodify
724 OpAMD64BTCQconstmodify
725 OpAMD64TESTQ
726 OpAMD64TESTL
727 OpAMD64TESTW
728 OpAMD64TESTB
729 OpAMD64TESTQconst
730 OpAMD64TESTLconst
731 OpAMD64TESTWconst
732 OpAMD64TESTBconst
733 OpAMD64SHLQ
734 OpAMD64SHLL
735 OpAMD64SHLQconst
736 OpAMD64SHLLconst
737 OpAMD64SHRQ
738 OpAMD64SHRL
739 OpAMD64SHRW
740 OpAMD64SHRB
741 OpAMD64SHRQconst
742 OpAMD64SHRLconst
743 OpAMD64SHRWconst
744 OpAMD64SHRBconst
745 OpAMD64SARQ
746 OpAMD64SARL
747 OpAMD64SARW
748 OpAMD64SARB
749 OpAMD64SARQconst
750 OpAMD64SARLconst
751 OpAMD64SARWconst
752 OpAMD64SARBconst
753 OpAMD64SHRDQ
754 OpAMD64SHLDQ
755 OpAMD64ROLQ
756 OpAMD64ROLL
757 OpAMD64ROLW
758 OpAMD64ROLB
759 OpAMD64RORQ
760 OpAMD64RORL
761 OpAMD64RORW
762 OpAMD64RORB
763 OpAMD64ROLQconst
764 OpAMD64ROLLconst
765 OpAMD64ROLWconst
766 OpAMD64ROLBconst
767 OpAMD64ADDLload
768 OpAMD64ADDQload
769 OpAMD64SUBQload
770 OpAMD64SUBLload
771 OpAMD64ANDLload
772 OpAMD64ANDQload
773 OpAMD64ORQload
774 OpAMD64ORLload
775 OpAMD64XORQload
776 OpAMD64XORLload
777 OpAMD64ADDLloadidx1
778 OpAMD64ADDLloadidx4
779 OpAMD64ADDLloadidx8
780 OpAMD64ADDQloadidx1
781 OpAMD64ADDQloadidx8
782 OpAMD64SUBLloadidx1
783 OpAMD64SUBLloadidx4
784 OpAMD64SUBLloadidx8
785 OpAMD64SUBQloadidx1
786 OpAMD64SUBQloadidx8
787 OpAMD64ANDLloadidx1
788 OpAMD64ANDLloadidx4
789 OpAMD64ANDLloadidx8
790 OpAMD64ANDQloadidx1
791 OpAMD64ANDQloadidx8
792 OpAMD64ORLloadidx1
793 OpAMD64ORLloadidx4
794 OpAMD64ORLloadidx8
795 OpAMD64ORQloadidx1
796 OpAMD64ORQloadidx8
797 OpAMD64XORLloadidx1
798 OpAMD64XORLloadidx4
799 OpAMD64XORLloadidx8
800 OpAMD64XORQloadidx1
801 OpAMD64XORQloadidx8
802 OpAMD64ADDQmodify
803 OpAMD64SUBQmodify
804 OpAMD64ANDQmodify
805 OpAMD64ORQmodify
806 OpAMD64XORQmodify
807 OpAMD64ADDLmodify
808 OpAMD64SUBLmodify
809 OpAMD64ANDLmodify
810 OpAMD64ORLmodify
811 OpAMD64XORLmodify
812 OpAMD64ADDQmodifyidx1
813 OpAMD64ADDQmodifyidx8
814 OpAMD64SUBQmodifyidx1
815 OpAMD64SUBQmodifyidx8
816 OpAMD64ANDQmodifyidx1
817 OpAMD64ANDQmodifyidx8
818 OpAMD64ORQmodifyidx1
819 OpAMD64ORQmodifyidx8
820 OpAMD64XORQmodifyidx1
821 OpAMD64XORQmodifyidx8
822 OpAMD64ADDLmodifyidx1
823 OpAMD64ADDLmodifyidx4
824 OpAMD64ADDLmodifyidx8
825 OpAMD64SUBLmodifyidx1
826 OpAMD64SUBLmodifyidx4
827 OpAMD64SUBLmodifyidx8
828 OpAMD64ANDLmodifyidx1
829 OpAMD64ANDLmodifyidx4
830 OpAMD64ANDLmodifyidx8
831 OpAMD64ORLmodifyidx1
832 OpAMD64ORLmodifyidx4
833 OpAMD64ORLmodifyidx8
834 OpAMD64XORLmodifyidx1
835 OpAMD64XORLmodifyidx4
836 OpAMD64XORLmodifyidx8
837 OpAMD64ADDQconstmodifyidx1
838 OpAMD64ADDQconstmodifyidx8
839 OpAMD64ANDQconstmodifyidx1
840 OpAMD64ANDQconstmodifyidx8
841 OpAMD64ORQconstmodifyidx1
842 OpAMD64ORQconstmodifyidx8
843 OpAMD64XORQconstmodifyidx1
844 OpAMD64XORQconstmodifyidx8
845 OpAMD64ADDLconstmodifyidx1
846 OpAMD64ADDLconstmodifyidx4
847 OpAMD64ADDLconstmodifyidx8
848 OpAMD64ANDLconstmodifyidx1
849 OpAMD64ANDLconstmodifyidx4
850 OpAMD64ANDLconstmodifyidx8
851 OpAMD64ORLconstmodifyidx1
852 OpAMD64ORLconstmodifyidx4
853 OpAMD64ORLconstmodifyidx8
854 OpAMD64XORLconstmodifyidx1
855 OpAMD64XORLconstmodifyidx4
856 OpAMD64XORLconstmodifyidx8
857 OpAMD64NEGQ
858 OpAMD64NEGL
859 OpAMD64NOTQ
860 OpAMD64NOTL
861 OpAMD64BSFQ
862 OpAMD64BSFL
863 OpAMD64BSRQ
864 OpAMD64BSRL
865 OpAMD64CMOVQEQ
866 OpAMD64CMOVQNE
867 OpAMD64CMOVQLT
868 OpAMD64CMOVQGT
869 OpAMD64CMOVQLE
870 OpAMD64CMOVQGE
871 OpAMD64CMOVQLS
872 OpAMD64CMOVQHI
873 OpAMD64CMOVQCC
874 OpAMD64CMOVQCS
875 OpAMD64CMOVLEQ
876 OpAMD64CMOVLNE
877 OpAMD64CMOVLLT
878 OpAMD64CMOVLGT
879 OpAMD64CMOVLLE
880 OpAMD64CMOVLGE
881 OpAMD64CMOVLLS
882 OpAMD64CMOVLHI
883 OpAMD64CMOVLCC
884 OpAMD64CMOVLCS
885 OpAMD64CMOVWEQ
886 OpAMD64CMOVWNE
887 OpAMD64CMOVWLT
888 OpAMD64CMOVWGT
889 OpAMD64CMOVWLE
890 OpAMD64CMOVWGE
891 OpAMD64CMOVWLS
892 OpAMD64CMOVWHI
893 OpAMD64CMOVWCC
894 OpAMD64CMOVWCS
895 OpAMD64CMOVQEQF
896 OpAMD64CMOVQNEF
897 OpAMD64CMOVQGTF
898 OpAMD64CMOVQGEF
899 OpAMD64CMOVLEQF
900 OpAMD64CMOVLNEF
901 OpAMD64CMOVLGTF
902 OpAMD64CMOVLGEF
903 OpAMD64CMOVWEQF
904 OpAMD64CMOVWNEF
905 OpAMD64CMOVWGTF
906 OpAMD64CMOVWGEF
907 OpAMD64BSWAPQ
908 OpAMD64BSWAPL
909 OpAMD64POPCNTQ
910 OpAMD64POPCNTL
911 OpAMD64SQRTSD
912 OpAMD64SQRTSS
913 OpAMD64ROUNDSD
914 OpAMD64VFMADD231SD
915 OpAMD64MINSD
916 OpAMD64MINSS
917 OpAMD64SBBQcarrymask
918 OpAMD64SBBLcarrymask
919 OpAMD64SETEQ
920 OpAMD64SETNE
921 OpAMD64SETL
922 OpAMD64SETLE
923 OpAMD64SETG
924 OpAMD64SETGE
925 OpAMD64SETB
926 OpAMD64SETBE
927 OpAMD64SETA
928 OpAMD64SETAE
929 OpAMD64SETO
930 OpAMD64SETEQstore
931 OpAMD64SETNEstore
932 OpAMD64SETLstore
933 OpAMD64SETLEstore
934 OpAMD64SETGstore
935 OpAMD64SETGEstore
936 OpAMD64SETBstore
937 OpAMD64SETBEstore
938 OpAMD64SETAstore
939 OpAMD64SETAEstore
940 OpAMD64SETEQstoreidx1
941 OpAMD64SETNEstoreidx1
942 OpAMD64SETLstoreidx1
943 OpAMD64SETLEstoreidx1
944 OpAMD64SETGstoreidx1
945 OpAMD64SETGEstoreidx1
946 OpAMD64SETBstoreidx1
947 OpAMD64SETBEstoreidx1
948 OpAMD64SETAstoreidx1
949 OpAMD64SETAEstoreidx1
950 OpAMD64SETEQF
951 OpAMD64SETNEF
952 OpAMD64SETORD
953 OpAMD64SETNAN
954 OpAMD64SETGF
955 OpAMD64SETGEF
956 OpAMD64MOVBQSX
957 OpAMD64MOVBQZX
958 OpAMD64MOVWQSX
959 OpAMD64MOVWQZX
960 OpAMD64MOVLQSX
961 OpAMD64MOVLQZX
962 OpAMD64MOVLconst
963 OpAMD64MOVQconst
964 OpAMD64CVTTSD2SL
965 OpAMD64CVTTSD2SQ
966 OpAMD64CVTTSS2SL
967 OpAMD64CVTTSS2SQ
968 OpAMD64CVTSL2SS
969 OpAMD64CVTSL2SD
970 OpAMD64CVTSQ2SS
971 OpAMD64CVTSQ2SD
972 OpAMD64CVTSD2SS
973 OpAMD64CVTSS2SD
974 OpAMD64MOVQi2f
975 OpAMD64MOVQf2i
976 OpAMD64MOVLi2f
977 OpAMD64MOVLf2i
978 OpAMD64PXOR
979 OpAMD64POR
980 OpAMD64LEAQ
981 OpAMD64LEAL
982 OpAMD64LEAW
983 OpAMD64LEAQ1
984 OpAMD64LEAL1
985 OpAMD64LEAW1
986 OpAMD64LEAQ2
987 OpAMD64LEAL2
988 OpAMD64LEAW2
989 OpAMD64LEAQ4
990 OpAMD64LEAL4
991 OpAMD64LEAW4
992 OpAMD64LEAQ8
993 OpAMD64LEAL8
994 OpAMD64LEAW8
995 OpAMD64MOVBload
996 OpAMD64MOVBQSXload
997 OpAMD64MOVWload
998 OpAMD64MOVWQSXload
999 OpAMD64MOVLload
1000 OpAMD64MOVLQSXload
1001 OpAMD64MOVQload
1002 OpAMD64MOVBstore
1003 OpAMD64MOVWstore
1004 OpAMD64MOVLstore
1005 OpAMD64MOVQstore
1006 OpAMD64MOVOload
1007 OpAMD64MOVOstore
1008 OpAMD64MOVBloadidx1
1009 OpAMD64MOVWloadidx1
1010 OpAMD64MOVWloadidx2
1011 OpAMD64MOVLloadidx1
1012 OpAMD64MOVLloadidx4
1013 OpAMD64MOVLloadidx8
1014 OpAMD64MOVQloadidx1
1015 OpAMD64MOVQloadidx8
1016 OpAMD64MOVBstoreidx1
1017 OpAMD64MOVWstoreidx1
1018 OpAMD64MOVWstoreidx2
1019 OpAMD64MOVLstoreidx1
1020 OpAMD64MOVLstoreidx4
1021 OpAMD64MOVLstoreidx8
1022 OpAMD64MOVQstoreidx1
1023 OpAMD64MOVQstoreidx8
1024 OpAMD64MOVBstoreconst
1025 OpAMD64MOVWstoreconst
1026 OpAMD64MOVLstoreconst
1027 OpAMD64MOVQstoreconst
1028 OpAMD64MOVOstoreconst
1029 OpAMD64MOVBstoreconstidx1
1030 OpAMD64MOVWstoreconstidx1
1031 OpAMD64MOVWstoreconstidx2
1032 OpAMD64MOVLstoreconstidx1
1033 OpAMD64MOVLstoreconstidx4
1034 OpAMD64MOVQstoreconstidx1
1035 OpAMD64MOVQstoreconstidx8
1036 OpAMD64DUFFZERO
1037 OpAMD64REPSTOSQ
1038 OpAMD64CALLstatic
1039 OpAMD64CALLtail
1040 OpAMD64CALLclosure
1041 OpAMD64CALLinter
1042 OpAMD64DUFFCOPY
1043 OpAMD64REPMOVSQ
1044 OpAMD64InvertFlags
1045 OpAMD64LoweredGetG
1046 OpAMD64LoweredGetClosurePtr
1047 OpAMD64LoweredGetCallerPC
1048 OpAMD64LoweredGetCallerSP
1049 OpAMD64LoweredNilCheck
1050 OpAMD64LoweredWB
1051 OpAMD64LoweredHasCPUFeature
1052 OpAMD64LoweredPanicBoundsA
1053 OpAMD64LoweredPanicBoundsB
1054 OpAMD64LoweredPanicBoundsC
1055 OpAMD64FlagEQ
1056 OpAMD64FlagLT_ULT
1057 OpAMD64FlagLT_UGT
1058 OpAMD64FlagGT_UGT
1059 OpAMD64FlagGT_ULT
1060 OpAMD64MOVBatomicload
1061 OpAMD64MOVLatomicload
1062 OpAMD64MOVQatomicload
1063 OpAMD64XCHGB
1064 OpAMD64XCHGL
1065 OpAMD64XCHGQ
1066 OpAMD64XADDLlock
1067 OpAMD64XADDQlock
1068 OpAMD64AddTupleFirst32
1069 OpAMD64AddTupleFirst64
1070 OpAMD64CMPXCHGLlock
1071 OpAMD64CMPXCHGQlock
1072 OpAMD64ANDBlock
1073 OpAMD64ANDLlock
1074 OpAMD64ORBlock
1075 OpAMD64ORLlock
1076 OpAMD64PrefetchT0
1077 OpAMD64PrefetchNTA
1078 OpAMD64ANDNQ
1079 OpAMD64ANDNL
1080 OpAMD64BLSIQ
1081 OpAMD64BLSIL
1082 OpAMD64BLSMSKQ
1083 OpAMD64BLSMSKL
1084 OpAMD64BLSRQ
1085 OpAMD64BLSRL
1086 OpAMD64TZCNTQ
1087 OpAMD64TZCNTL
1088 OpAMD64LZCNTQ
1089 OpAMD64LZCNTL
1090 OpAMD64MOVBEWstore
1091 OpAMD64MOVBELload
1092 OpAMD64MOVBELstore
1093 OpAMD64MOVBEQload
1094 OpAMD64MOVBEQstore
1095 OpAMD64MOVBELloadidx1
1096 OpAMD64MOVBELloadidx4
1097 OpAMD64MOVBELloadidx8
1098 OpAMD64MOVBEQloadidx1
1099 OpAMD64MOVBEQloadidx8
1100 OpAMD64MOVBEWstoreidx1
1101 OpAMD64MOVBEWstoreidx2
1102 OpAMD64MOVBELstoreidx1
1103 OpAMD64MOVBELstoreidx4
1104 OpAMD64MOVBELstoreidx8
1105 OpAMD64MOVBEQstoreidx1
1106 OpAMD64MOVBEQstoreidx8
1107 OpAMD64SARXQ
1108 OpAMD64SARXL
1109 OpAMD64SHLXQ
1110 OpAMD64SHLXL
1111 OpAMD64SHRXQ
1112 OpAMD64SHRXL
1113 OpAMD64SARXLload
1114 OpAMD64SARXQload
1115 OpAMD64SHLXLload
1116 OpAMD64SHLXQload
1117 OpAMD64SHRXLload
1118 OpAMD64SHRXQload
1119 OpAMD64SARXLloadidx1
1120 OpAMD64SARXLloadidx4
1121 OpAMD64SARXLloadidx8
1122 OpAMD64SARXQloadidx1
1123 OpAMD64SARXQloadidx8
1124 OpAMD64SHLXLloadidx1
1125 OpAMD64SHLXLloadidx4
1126 OpAMD64SHLXLloadidx8
1127 OpAMD64SHLXQloadidx1
1128 OpAMD64SHLXQloadidx8
1129 OpAMD64SHRXLloadidx1
1130 OpAMD64SHRXLloadidx4
1131 OpAMD64SHRXLloadidx8
1132 OpAMD64SHRXQloadidx1
1133 OpAMD64SHRXQloadidx8
1134
1135 OpARMADD
1136 OpARMADDconst
1137 OpARMSUB
1138 OpARMSUBconst
1139 OpARMRSB
1140 OpARMRSBconst
1141 OpARMMUL
1142 OpARMHMUL
1143 OpARMHMULU
1144 OpARMCALLudiv
1145 OpARMADDS
1146 OpARMADDSconst
1147 OpARMADC
1148 OpARMADCconst
1149 OpARMSUBS
1150 OpARMSUBSconst
1151 OpARMRSBSconst
1152 OpARMSBC
1153 OpARMSBCconst
1154 OpARMRSCconst
1155 OpARMMULLU
1156 OpARMMULA
1157 OpARMMULS
1158 OpARMADDF
1159 OpARMADDD
1160 OpARMSUBF
1161 OpARMSUBD
1162 OpARMMULF
1163 OpARMMULD
1164 OpARMNMULF
1165 OpARMNMULD
1166 OpARMDIVF
1167 OpARMDIVD
1168 OpARMMULAF
1169 OpARMMULAD
1170 OpARMMULSF
1171 OpARMMULSD
1172 OpARMFMULAD
1173 OpARMAND
1174 OpARMANDconst
1175 OpARMOR
1176 OpARMORconst
1177 OpARMXOR
1178 OpARMXORconst
1179 OpARMBIC
1180 OpARMBICconst
1181 OpARMBFX
1182 OpARMBFXU
1183 OpARMMVN
1184 OpARMNEGF
1185 OpARMNEGD
1186 OpARMSQRTD
1187 OpARMSQRTF
1188 OpARMABSD
1189 OpARMCLZ
1190 OpARMREV
1191 OpARMREV16
1192 OpARMRBIT
1193 OpARMSLL
1194 OpARMSLLconst
1195 OpARMSRL
1196 OpARMSRLconst
1197 OpARMSRA
1198 OpARMSRAconst
1199 OpARMSRR
1200 OpARMSRRconst
1201 OpARMADDshiftLL
1202 OpARMADDshiftRL
1203 OpARMADDshiftRA
1204 OpARMSUBshiftLL
1205 OpARMSUBshiftRL
1206 OpARMSUBshiftRA
1207 OpARMRSBshiftLL
1208 OpARMRSBshiftRL
1209 OpARMRSBshiftRA
1210 OpARMANDshiftLL
1211 OpARMANDshiftRL
1212 OpARMANDshiftRA
1213 OpARMORshiftLL
1214 OpARMORshiftRL
1215 OpARMORshiftRA
1216 OpARMXORshiftLL
1217 OpARMXORshiftRL
1218 OpARMXORshiftRA
1219 OpARMXORshiftRR
1220 OpARMBICshiftLL
1221 OpARMBICshiftRL
1222 OpARMBICshiftRA
1223 OpARMMVNshiftLL
1224 OpARMMVNshiftRL
1225 OpARMMVNshiftRA
1226 OpARMADCshiftLL
1227 OpARMADCshiftRL
1228 OpARMADCshiftRA
1229 OpARMSBCshiftLL
1230 OpARMSBCshiftRL
1231 OpARMSBCshiftRA
1232 OpARMRSCshiftLL
1233 OpARMRSCshiftRL
1234 OpARMRSCshiftRA
1235 OpARMADDSshiftLL
1236 OpARMADDSshiftRL
1237 OpARMADDSshiftRA
1238 OpARMSUBSshiftLL
1239 OpARMSUBSshiftRL
1240 OpARMSUBSshiftRA
1241 OpARMRSBSshiftLL
1242 OpARMRSBSshiftRL
1243 OpARMRSBSshiftRA
1244 OpARMADDshiftLLreg
1245 OpARMADDshiftRLreg
1246 OpARMADDshiftRAreg
1247 OpARMSUBshiftLLreg
1248 OpARMSUBshiftRLreg
1249 OpARMSUBshiftRAreg
1250 OpARMRSBshiftLLreg
1251 OpARMRSBshiftRLreg
1252 OpARMRSBshiftRAreg
1253 OpARMANDshiftLLreg
1254 OpARMANDshiftRLreg
1255 OpARMANDshiftRAreg
1256 OpARMORshiftLLreg
1257 OpARMORshiftRLreg
1258 OpARMORshiftRAreg
1259 OpARMXORshiftLLreg
1260 OpARMXORshiftRLreg
1261 OpARMXORshiftRAreg
1262 OpARMBICshiftLLreg
1263 OpARMBICshiftRLreg
1264 OpARMBICshiftRAreg
1265 OpARMMVNshiftLLreg
1266 OpARMMVNshiftRLreg
1267 OpARMMVNshiftRAreg
1268 OpARMADCshiftLLreg
1269 OpARMADCshiftRLreg
1270 OpARMADCshiftRAreg
1271 OpARMSBCshiftLLreg
1272 OpARMSBCshiftRLreg
1273 OpARMSBCshiftRAreg
1274 OpARMRSCshiftLLreg
1275 OpARMRSCshiftRLreg
1276 OpARMRSCshiftRAreg
1277 OpARMADDSshiftLLreg
1278 OpARMADDSshiftRLreg
1279 OpARMADDSshiftRAreg
1280 OpARMSUBSshiftLLreg
1281 OpARMSUBSshiftRLreg
1282 OpARMSUBSshiftRAreg
1283 OpARMRSBSshiftLLreg
1284 OpARMRSBSshiftRLreg
1285 OpARMRSBSshiftRAreg
1286 OpARMCMP
1287 OpARMCMPconst
1288 OpARMCMN
1289 OpARMCMNconst
1290 OpARMTST
1291 OpARMTSTconst
1292 OpARMTEQ
1293 OpARMTEQconst
1294 OpARMCMPF
1295 OpARMCMPD
1296 OpARMCMPshiftLL
1297 OpARMCMPshiftRL
1298 OpARMCMPshiftRA
1299 OpARMCMNshiftLL
1300 OpARMCMNshiftRL
1301 OpARMCMNshiftRA
1302 OpARMTSTshiftLL
1303 OpARMTSTshiftRL
1304 OpARMTSTshiftRA
1305 OpARMTEQshiftLL
1306 OpARMTEQshiftRL
1307 OpARMTEQshiftRA
1308 OpARMCMPshiftLLreg
1309 OpARMCMPshiftRLreg
1310 OpARMCMPshiftRAreg
1311 OpARMCMNshiftLLreg
1312 OpARMCMNshiftRLreg
1313 OpARMCMNshiftRAreg
1314 OpARMTSTshiftLLreg
1315 OpARMTSTshiftRLreg
1316 OpARMTSTshiftRAreg
1317 OpARMTEQshiftLLreg
1318 OpARMTEQshiftRLreg
1319 OpARMTEQshiftRAreg
1320 OpARMCMPF0
1321 OpARMCMPD0
1322 OpARMMOVWconst
1323 OpARMMOVFconst
1324 OpARMMOVDconst
1325 OpARMMOVWaddr
1326 OpARMMOVBload
1327 OpARMMOVBUload
1328 OpARMMOVHload
1329 OpARMMOVHUload
1330 OpARMMOVWload
1331 OpARMMOVFload
1332 OpARMMOVDload
1333 OpARMMOVBstore
1334 OpARMMOVHstore
1335 OpARMMOVWstore
1336 OpARMMOVFstore
1337 OpARMMOVDstore
1338 OpARMMOVWloadidx
1339 OpARMMOVWloadshiftLL
1340 OpARMMOVWloadshiftRL
1341 OpARMMOVWloadshiftRA
1342 OpARMMOVBUloadidx
1343 OpARMMOVBloadidx
1344 OpARMMOVHUloadidx
1345 OpARMMOVHloadidx
1346 OpARMMOVWstoreidx
1347 OpARMMOVWstoreshiftLL
1348 OpARMMOVWstoreshiftRL
1349 OpARMMOVWstoreshiftRA
1350 OpARMMOVBstoreidx
1351 OpARMMOVHstoreidx
1352 OpARMMOVBreg
1353 OpARMMOVBUreg
1354 OpARMMOVHreg
1355 OpARMMOVHUreg
1356 OpARMMOVWreg
1357 OpARMMOVWnop
1358 OpARMMOVWF
1359 OpARMMOVWD
1360 OpARMMOVWUF
1361 OpARMMOVWUD
1362 OpARMMOVFW
1363 OpARMMOVDW
1364 OpARMMOVFWU
1365 OpARMMOVDWU
1366 OpARMMOVFD
1367 OpARMMOVDF
1368 OpARMCMOVWHSconst
1369 OpARMCMOVWLSconst
1370 OpARMSRAcond
1371 OpARMCALLstatic
1372 OpARMCALLtail
1373 OpARMCALLclosure
1374 OpARMCALLinter
1375 OpARMLoweredNilCheck
1376 OpARMEqual
1377 OpARMNotEqual
1378 OpARMLessThan
1379 OpARMLessEqual
1380 OpARMGreaterThan
1381 OpARMGreaterEqual
1382 OpARMLessThanU
1383 OpARMLessEqualU
1384 OpARMGreaterThanU
1385 OpARMGreaterEqualU
1386 OpARMDUFFZERO
1387 OpARMDUFFCOPY
1388 OpARMLoweredZero
1389 OpARMLoweredMove
1390 OpARMLoweredGetClosurePtr
1391 OpARMLoweredGetCallerSP
1392 OpARMLoweredGetCallerPC
1393 OpARMLoweredPanicBoundsA
1394 OpARMLoweredPanicBoundsB
1395 OpARMLoweredPanicBoundsC
1396 OpARMLoweredPanicExtendA
1397 OpARMLoweredPanicExtendB
1398 OpARMLoweredPanicExtendC
1399 OpARMFlagConstant
1400 OpARMInvertFlags
1401 OpARMLoweredWB
1402
1403 OpARM64ADCSflags
1404 OpARM64ADCzerocarry
1405 OpARM64ADD
1406 OpARM64ADDconst
1407 OpARM64ADDSconstflags
1408 OpARM64ADDSflags
1409 OpARM64SUB
1410 OpARM64SUBconst
1411 OpARM64SBCSflags
1412 OpARM64SUBSflags
1413 OpARM64MUL
1414 OpARM64MULW
1415 OpARM64MNEG
1416 OpARM64MNEGW
1417 OpARM64MULH
1418 OpARM64UMULH
1419 OpARM64MULL
1420 OpARM64UMULL
1421 OpARM64DIV
1422 OpARM64UDIV
1423 OpARM64DIVW
1424 OpARM64UDIVW
1425 OpARM64MOD
1426 OpARM64UMOD
1427 OpARM64MODW
1428 OpARM64UMODW
1429 OpARM64FADDS
1430 OpARM64FADDD
1431 OpARM64FSUBS
1432 OpARM64FSUBD
1433 OpARM64FMULS
1434 OpARM64FMULD
1435 OpARM64FNMULS
1436 OpARM64FNMULD
1437 OpARM64FDIVS
1438 OpARM64FDIVD
1439 OpARM64AND
1440 OpARM64ANDconst
1441 OpARM64OR
1442 OpARM64ORconst
1443 OpARM64XOR
1444 OpARM64XORconst
1445 OpARM64BIC
1446 OpARM64EON
1447 OpARM64ORN
1448 OpARM64MVN
1449 OpARM64NEG
1450 OpARM64NEGSflags
1451 OpARM64NGCzerocarry
1452 OpARM64FABSD
1453 OpARM64FNEGS
1454 OpARM64FNEGD
1455 OpARM64FSQRTD
1456 OpARM64FSQRTS
1457 OpARM64FMIND
1458 OpARM64FMINS
1459 OpARM64FMAXD
1460 OpARM64FMAXS
1461 OpARM64REV
1462 OpARM64REVW
1463 OpARM64REV16
1464 OpARM64REV16W
1465 OpARM64RBIT
1466 OpARM64RBITW
1467 OpARM64CLZ
1468 OpARM64CLZW
1469 OpARM64VCNT
1470 OpARM64VUADDLV
1471 OpARM64LoweredRound32F
1472 OpARM64LoweredRound64F
1473 OpARM64FMADDS
1474 OpARM64FMADDD
1475 OpARM64FNMADDS
1476 OpARM64FNMADDD
1477 OpARM64FMSUBS
1478 OpARM64FMSUBD
1479 OpARM64FNMSUBS
1480 OpARM64FNMSUBD
1481 OpARM64MADD
1482 OpARM64MADDW
1483 OpARM64MSUB
1484 OpARM64MSUBW
1485 OpARM64SLL
1486 OpARM64SLLconst
1487 OpARM64SRL
1488 OpARM64SRLconst
1489 OpARM64SRA
1490 OpARM64SRAconst
1491 OpARM64ROR
1492 OpARM64RORW
1493 OpARM64RORconst
1494 OpARM64RORWconst
1495 OpARM64EXTRconst
1496 OpARM64EXTRWconst
1497 OpARM64CMP
1498 OpARM64CMPconst
1499 OpARM64CMPW
1500 OpARM64CMPWconst
1501 OpARM64CMN
1502 OpARM64CMNconst
1503 OpARM64CMNW
1504 OpARM64CMNWconst
1505 OpARM64TST
1506 OpARM64TSTconst
1507 OpARM64TSTW
1508 OpARM64TSTWconst
1509 OpARM64FCMPS
1510 OpARM64FCMPD
1511 OpARM64FCMPS0
1512 OpARM64FCMPD0
1513 OpARM64MVNshiftLL
1514 OpARM64MVNshiftRL
1515 OpARM64MVNshiftRA
1516 OpARM64MVNshiftRO
1517 OpARM64NEGshiftLL
1518 OpARM64NEGshiftRL
1519 OpARM64NEGshiftRA
1520 OpARM64ADDshiftLL
1521 OpARM64ADDshiftRL
1522 OpARM64ADDshiftRA
1523 OpARM64SUBshiftLL
1524 OpARM64SUBshiftRL
1525 OpARM64SUBshiftRA
1526 OpARM64ANDshiftLL
1527 OpARM64ANDshiftRL
1528 OpARM64ANDshiftRA
1529 OpARM64ANDshiftRO
1530 OpARM64ORshiftLL
1531 OpARM64ORshiftRL
1532 OpARM64ORshiftRA
1533 OpARM64ORshiftRO
1534 OpARM64XORshiftLL
1535 OpARM64XORshiftRL
1536 OpARM64XORshiftRA
1537 OpARM64XORshiftRO
1538 OpARM64BICshiftLL
1539 OpARM64BICshiftRL
1540 OpARM64BICshiftRA
1541 OpARM64BICshiftRO
1542 OpARM64EONshiftLL
1543 OpARM64EONshiftRL
1544 OpARM64EONshiftRA
1545 OpARM64EONshiftRO
1546 OpARM64ORNshiftLL
1547 OpARM64ORNshiftRL
1548 OpARM64ORNshiftRA
1549 OpARM64ORNshiftRO
1550 OpARM64CMPshiftLL
1551 OpARM64CMPshiftRL
1552 OpARM64CMPshiftRA
1553 OpARM64CMNshiftLL
1554 OpARM64CMNshiftRL
1555 OpARM64CMNshiftRA
1556 OpARM64TSTshiftLL
1557 OpARM64TSTshiftRL
1558 OpARM64TSTshiftRA
1559 OpARM64TSTshiftRO
1560 OpARM64BFI
1561 OpARM64BFXIL
1562 OpARM64SBFIZ
1563 OpARM64SBFX
1564 OpARM64UBFIZ
1565 OpARM64UBFX
1566 OpARM64MOVDconst
1567 OpARM64FMOVSconst
1568 OpARM64FMOVDconst
1569 OpARM64MOVDaddr
1570 OpARM64MOVBload
1571 OpARM64MOVBUload
1572 OpARM64MOVHload
1573 OpARM64MOVHUload
1574 OpARM64MOVWload
1575 OpARM64MOVWUload
1576 OpARM64MOVDload
1577 OpARM64LDP
1578 OpARM64FMOVSload
1579 OpARM64FMOVDload
1580 OpARM64MOVDloadidx
1581 OpARM64MOVWloadidx
1582 OpARM64MOVWUloadidx
1583 OpARM64MOVHloadidx
1584 OpARM64MOVHUloadidx
1585 OpARM64MOVBloadidx
1586 OpARM64MOVBUloadidx
1587 OpARM64FMOVSloadidx
1588 OpARM64FMOVDloadidx
1589 OpARM64MOVHloadidx2
1590 OpARM64MOVHUloadidx2
1591 OpARM64MOVWloadidx4
1592 OpARM64MOVWUloadidx4
1593 OpARM64MOVDloadidx8
1594 OpARM64FMOVSloadidx4
1595 OpARM64FMOVDloadidx8
1596 OpARM64MOVBstore
1597 OpARM64MOVHstore
1598 OpARM64MOVWstore
1599 OpARM64MOVDstore
1600 OpARM64STP
1601 OpARM64FMOVSstore
1602 OpARM64FMOVDstore
1603 OpARM64MOVBstoreidx
1604 OpARM64MOVHstoreidx
1605 OpARM64MOVWstoreidx
1606 OpARM64MOVDstoreidx
1607 OpARM64FMOVSstoreidx
1608 OpARM64FMOVDstoreidx
1609 OpARM64MOVHstoreidx2
1610 OpARM64MOVWstoreidx4
1611 OpARM64MOVDstoreidx8
1612 OpARM64FMOVSstoreidx4
1613 OpARM64FMOVDstoreidx8
1614 OpARM64MOVBstorezero
1615 OpARM64MOVHstorezero
1616 OpARM64MOVWstorezero
1617 OpARM64MOVDstorezero
1618 OpARM64MOVQstorezero
1619 OpARM64MOVBstorezeroidx
1620 OpARM64MOVHstorezeroidx
1621 OpARM64MOVWstorezeroidx
1622 OpARM64MOVDstorezeroidx
1623 OpARM64MOVHstorezeroidx2
1624 OpARM64MOVWstorezeroidx4
1625 OpARM64MOVDstorezeroidx8
1626 OpARM64FMOVDgpfp
1627 OpARM64FMOVDfpgp
1628 OpARM64FMOVSgpfp
1629 OpARM64FMOVSfpgp
1630 OpARM64MOVBreg
1631 OpARM64MOVBUreg
1632 OpARM64MOVHreg
1633 OpARM64MOVHUreg
1634 OpARM64MOVWreg
1635 OpARM64MOVWUreg
1636 OpARM64MOVDreg
1637 OpARM64MOVDnop
1638 OpARM64SCVTFWS
1639 OpARM64SCVTFWD
1640 OpARM64UCVTFWS
1641 OpARM64UCVTFWD
1642 OpARM64SCVTFS
1643 OpARM64SCVTFD
1644 OpARM64UCVTFS
1645 OpARM64UCVTFD
1646 OpARM64FCVTZSSW
1647 OpARM64FCVTZSDW
1648 OpARM64FCVTZUSW
1649 OpARM64FCVTZUDW
1650 OpARM64FCVTZSS
1651 OpARM64FCVTZSD
1652 OpARM64FCVTZUS
1653 OpARM64FCVTZUD
1654 OpARM64FCVTSD
1655 OpARM64FCVTDS
1656 OpARM64FRINTAD
1657 OpARM64FRINTMD
1658 OpARM64FRINTND
1659 OpARM64FRINTPD
1660 OpARM64FRINTZD
1661 OpARM64CSEL
1662 OpARM64CSEL0
1663 OpARM64CSINC
1664 OpARM64CSINV
1665 OpARM64CSNEG
1666 OpARM64CSETM
1667 OpARM64CALLstatic
1668 OpARM64CALLtail
1669 OpARM64CALLclosure
1670 OpARM64CALLinter
1671 OpARM64LoweredNilCheck
1672 OpARM64Equal
1673 OpARM64NotEqual
1674 OpARM64LessThan
1675 OpARM64LessEqual
1676 OpARM64GreaterThan
1677 OpARM64GreaterEqual
1678 OpARM64LessThanU
1679 OpARM64LessEqualU
1680 OpARM64GreaterThanU
1681 OpARM64GreaterEqualU
1682 OpARM64LessThanF
1683 OpARM64LessEqualF
1684 OpARM64GreaterThanF
1685 OpARM64GreaterEqualF
1686 OpARM64NotLessThanF
1687 OpARM64NotLessEqualF
1688 OpARM64NotGreaterThanF
1689 OpARM64NotGreaterEqualF
1690 OpARM64LessThanNoov
1691 OpARM64GreaterEqualNoov
1692 OpARM64DUFFZERO
1693 OpARM64LoweredZero
1694 OpARM64DUFFCOPY
1695 OpARM64LoweredMove
1696 OpARM64LoweredGetClosurePtr
1697 OpARM64LoweredGetCallerSP
1698 OpARM64LoweredGetCallerPC
1699 OpARM64FlagConstant
1700 OpARM64InvertFlags
1701 OpARM64LDAR
1702 OpARM64LDARB
1703 OpARM64LDARW
1704 OpARM64STLRB
1705 OpARM64STLR
1706 OpARM64STLRW
1707 OpARM64LoweredAtomicExchange64
1708 OpARM64LoweredAtomicExchange32
1709 OpARM64LoweredAtomicExchange64Variant
1710 OpARM64LoweredAtomicExchange32Variant
1711 OpARM64LoweredAtomicAdd64
1712 OpARM64LoweredAtomicAdd32
1713 OpARM64LoweredAtomicAdd64Variant
1714 OpARM64LoweredAtomicAdd32Variant
1715 OpARM64LoweredAtomicCas64
1716 OpARM64LoweredAtomicCas32
1717 OpARM64LoweredAtomicCas64Variant
1718 OpARM64LoweredAtomicCas32Variant
1719 OpARM64LoweredAtomicAnd8
1720 OpARM64LoweredAtomicAnd32
1721 OpARM64LoweredAtomicOr8
1722 OpARM64LoweredAtomicOr32
1723 OpARM64LoweredAtomicAnd8Variant
1724 OpARM64LoweredAtomicAnd32Variant
1725 OpARM64LoweredAtomicOr8Variant
1726 OpARM64LoweredAtomicOr32Variant
1727 OpARM64LoweredWB
1728 OpARM64LoweredPanicBoundsA
1729 OpARM64LoweredPanicBoundsB
1730 OpARM64LoweredPanicBoundsC
1731 OpARM64PRFM
1732 OpARM64DMB
1733
1734 OpLOONG64ADDV
1735 OpLOONG64ADDVconst
1736 OpLOONG64SUBV
1737 OpLOONG64SUBVconst
1738 OpLOONG64MULV
1739 OpLOONG64MULHV
1740 OpLOONG64MULHVU
1741 OpLOONG64DIVV
1742 OpLOONG64DIVVU
1743 OpLOONG64REMV
1744 OpLOONG64REMVU
1745 OpLOONG64ADDF
1746 OpLOONG64ADDD
1747 OpLOONG64SUBF
1748 OpLOONG64SUBD
1749 OpLOONG64MULF
1750 OpLOONG64MULD
1751 OpLOONG64DIVF
1752 OpLOONG64DIVD
1753 OpLOONG64AND
1754 OpLOONG64ANDconst
1755 OpLOONG64OR
1756 OpLOONG64ORconst
1757 OpLOONG64XOR
1758 OpLOONG64XORconst
1759 OpLOONG64NOR
1760 OpLOONG64NORconst
1761 OpLOONG64NEGV
1762 OpLOONG64NEGF
1763 OpLOONG64NEGD
1764 OpLOONG64SQRTD
1765 OpLOONG64SQRTF
1766 OpLOONG64MASKEQZ
1767 OpLOONG64MASKNEZ
1768 OpLOONG64SLLV
1769 OpLOONG64SLLVconst
1770 OpLOONG64SRLV
1771 OpLOONG64SRLVconst
1772 OpLOONG64SRAV
1773 OpLOONG64SRAVconst
1774 OpLOONG64ROTR
1775 OpLOONG64ROTRV
1776 OpLOONG64ROTRconst
1777 OpLOONG64ROTRVconst
1778 OpLOONG64SGT
1779 OpLOONG64SGTconst
1780 OpLOONG64SGTU
1781 OpLOONG64SGTUconst
1782 OpLOONG64CMPEQF
1783 OpLOONG64CMPEQD
1784 OpLOONG64CMPGEF
1785 OpLOONG64CMPGED
1786 OpLOONG64CMPGTF
1787 OpLOONG64CMPGTD
1788 OpLOONG64MOVVconst
1789 OpLOONG64MOVFconst
1790 OpLOONG64MOVDconst
1791 OpLOONG64MOVVaddr
1792 OpLOONG64MOVBload
1793 OpLOONG64MOVBUload
1794 OpLOONG64MOVHload
1795 OpLOONG64MOVHUload
1796 OpLOONG64MOVWload
1797 OpLOONG64MOVWUload
1798 OpLOONG64MOVVload
1799 OpLOONG64MOVFload
1800 OpLOONG64MOVDload
1801 OpLOONG64MOVBstore
1802 OpLOONG64MOVHstore
1803 OpLOONG64MOVWstore
1804 OpLOONG64MOVVstore
1805 OpLOONG64MOVFstore
1806 OpLOONG64MOVDstore
1807 OpLOONG64MOVBstorezero
1808 OpLOONG64MOVHstorezero
1809 OpLOONG64MOVWstorezero
1810 OpLOONG64MOVVstorezero
1811 OpLOONG64MOVBreg
1812 OpLOONG64MOVBUreg
1813 OpLOONG64MOVHreg
1814 OpLOONG64MOVHUreg
1815 OpLOONG64MOVWreg
1816 OpLOONG64MOVWUreg
1817 OpLOONG64MOVVreg
1818 OpLOONG64MOVVnop
1819 OpLOONG64MOVWF
1820 OpLOONG64MOVWD
1821 OpLOONG64MOVVF
1822 OpLOONG64MOVVD
1823 OpLOONG64TRUNCFW
1824 OpLOONG64TRUNCDW
1825 OpLOONG64TRUNCFV
1826 OpLOONG64TRUNCDV
1827 OpLOONG64MOVFD
1828 OpLOONG64MOVDF
1829 OpLOONG64CALLstatic
1830 OpLOONG64CALLtail
1831 OpLOONG64CALLclosure
1832 OpLOONG64CALLinter
1833 OpLOONG64DUFFZERO
1834 OpLOONG64DUFFCOPY
1835 OpLOONG64LoweredZero
1836 OpLOONG64LoweredMove
1837 OpLOONG64LoweredAtomicLoad8
1838 OpLOONG64LoweredAtomicLoad32
1839 OpLOONG64LoweredAtomicLoad64
1840 OpLOONG64LoweredAtomicStore8
1841 OpLOONG64LoweredAtomicStore32
1842 OpLOONG64LoweredAtomicStore64
1843 OpLOONG64LoweredAtomicStorezero32
1844 OpLOONG64LoweredAtomicStorezero64
1845 OpLOONG64LoweredAtomicExchange32
1846 OpLOONG64LoweredAtomicExchange64
1847 OpLOONG64LoweredAtomicAdd32
1848 OpLOONG64LoweredAtomicAdd64
1849 OpLOONG64LoweredAtomicAddconst32
1850 OpLOONG64LoweredAtomicAddconst64
1851 OpLOONG64LoweredAtomicCas32
1852 OpLOONG64LoweredAtomicCas64
1853 OpLOONG64LoweredNilCheck
1854 OpLOONG64FPFlagTrue
1855 OpLOONG64FPFlagFalse
1856 OpLOONG64LoweredGetClosurePtr
1857 OpLOONG64LoweredGetCallerSP
1858 OpLOONG64LoweredGetCallerPC
1859 OpLOONG64LoweredWB
1860 OpLOONG64LoweredPanicBoundsA
1861 OpLOONG64LoweredPanicBoundsB
1862 OpLOONG64LoweredPanicBoundsC
1863
1864 OpMIPSADD
1865 OpMIPSADDconst
1866 OpMIPSSUB
1867 OpMIPSSUBconst
1868 OpMIPSMUL
1869 OpMIPSMULT
1870 OpMIPSMULTU
1871 OpMIPSDIV
1872 OpMIPSDIVU
1873 OpMIPSADDF
1874 OpMIPSADDD
1875 OpMIPSSUBF
1876 OpMIPSSUBD
1877 OpMIPSMULF
1878 OpMIPSMULD
1879 OpMIPSDIVF
1880 OpMIPSDIVD
1881 OpMIPSAND
1882 OpMIPSANDconst
1883 OpMIPSOR
1884 OpMIPSORconst
1885 OpMIPSXOR
1886 OpMIPSXORconst
1887 OpMIPSNOR
1888 OpMIPSNORconst
1889 OpMIPSNEG
1890 OpMIPSNEGF
1891 OpMIPSNEGD
1892 OpMIPSABSD
1893 OpMIPSSQRTD
1894 OpMIPSSQRTF
1895 OpMIPSSLL
1896 OpMIPSSLLconst
1897 OpMIPSSRL
1898 OpMIPSSRLconst
1899 OpMIPSSRA
1900 OpMIPSSRAconst
1901 OpMIPSCLZ
1902 OpMIPSSGT
1903 OpMIPSSGTconst
1904 OpMIPSSGTzero
1905 OpMIPSSGTU
1906 OpMIPSSGTUconst
1907 OpMIPSSGTUzero
1908 OpMIPSCMPEQF
1909 OpMIPSCMPEQD
1910 OpMIPSCMPGEF
1911 OpMIPSCMPGED
1912 OpMIPSCMPGTF
1913 OpMIPSCMPGTD
1914 OpMIPSMOVWconst
1915 OpMIPSMOVFconst
1916 OpMIPSMOVDconst
1917 OpMIPSMOVWaddr
1918 OpMIPSMOVBload
1919 OpMIPSMOVBUload
1920 OpMIPSMOVHload
1921 OpMIPSMOVHUload
1922 OpMIPSMOVWload
1923 OpMIPSMOVFload
1924 OpMIPSMOVDload
1925 OpMIPSMOVBstore
1926 OpMIPSMOVHstore
1927 OpMIPSMOVWstore
1928 OpMIPSMOVFstore
1929 OpMIPSMOVDstore
1930 OpMIPSMOVBstorezero
1931 OpMIPSMOVHstorezero
1932 OpMIPSMOVWstorezero
1933 OpMIPSMOVWfpgp
1934 OpMIPSMOVWgpfp
1935 OpMIPSMOVBreg
1936 OpMIPSMOVBUreg
1937 OpMIPSMOVHreg
1938 OpMIPSMOVHUreg
1939 OpMIPSMOVWreg
1940 OpMIPSMOVWnop
1941 OpMIPSCMOVZ
1942 OpMIPSCMOVZzero
1943 OpMIPSMOVWF
1944 OpMIPSMOVWD
1945 OpMIPSTRUNCFW
1946 OpMIPSTRUNCDW
1947 OpMIPSMOVFD
1948 OpMIPSMOVDF
1949 OpMIPSCALLstatic
1950 OpMIPSCALLtail
1951 OpMIPSCALLclosure
1952 OpMIPSCALLinter
1953 OpMIPSLoweredAtomicLoad8
1954 OpMIPSLoweredAtomicLoad32
1955 OpMIPSLoweredAtomicStore8
1956 OpMIPSLoweredAtomicStore32
1957 OpMIPSLoweredAtomicStorezero
1958 OpMIPSLoweredAtomicExchange
1959 OpMIPSLoweredAtomicAdd
1960 OpMIPSLoweredAtomicAddconst
1961 OpMIPSLoweredAtomicCas
1962 OpMIPSLoweredAtomicAnd
1963 OpMIPSLoweredAtomicOr
1964 OpMIPSLoweredZero
1965 OpMIPSLoweredMove
1966 OpMIPSLoweredNilCheck
1967 OpMIPSFPFlagTrue
1968 OpMIPSFPFlagFalse
1969 OpMIPSLoweredGetClosurePtr
1970 OpMIPSLoweredGetCallerSP
1971 OpMIPSLoweredGetCallerPC
1972 OpMIPSLoweredWB
1973 OpMIPSLoweredPanicBoundsA
1974 OpMIPSLoweredPanicBoundsB
1975 OpMIPSLoweredPanicBoundsC
1976 OpMIPSLoweredPanicExtendA
1977 OpMIPSLoweredPanicExtendB
1978 OpMIPSLoweredPanicExtendC
1979
1980 OpMIPS64ADDV
1981 OpMIPS64ADDVconst
1982 OpMIPS64SUBV
1983 OpMIPS64SUBVconst
1984 OpMIPS64MULV
1985 OpMIPS64MULVU
1986 OpMIPS64DIVV
1987 OpMIPS64DIVVU
1988 OpMIPS64ADDF
1989 OpMIPS64ADDD
1990 OpMIPS64SUBF
1991 OpMIPS64SUBD
1992 OpMIPS64MULF
1993 OpMIPS64MULD
1994 OpMIPS64DIVF
1995 OpMIPS64DIVD
1996 OpMIPS64AND
1997 OpMIPS64ANDconst
1998 OpMIPS64OR
1999 OpMIPS64ORconst
2000 OpMIPS64XOR
2001 OpMIPS64XORconst
2002 OpMIPS64NOR
2003 OpMIPS64NORconst
2004 OpMIPS64NEGV
2005 OpMIPS64NEGF
2006 OpMIPS64NEGD
2007 OpMIPS64ABSD
2008 OpMIPS64SQRTD
2009 OpMIPS64SQRTF
2010 OpMIPS64SLLV
2011 OpMIPS64SLLVconst
2012 OpMIPS64SRLV
2013 OpMIPS64SRLVconst
2014 OpMIPS64SRAV
2015 OpMIPS64SRAVconst
2016 OpMIPS64SGT
2017 OpMIPS64SGTconst
2018 OpMIPS64SGTU
2019 OpMIPS64SGTUconst
2020 OpMIPS64CMPEQF
2021 OpMIPS64CMPEQD
2022 OpMIPS64CMPGEF
2023 OpMIPS64CMPGED
2024 OpMIPS64CMPGTF
2025 OpMIPS64CMPGTD
2026 OpMIPS64MOVVconst
2027 OpMIPS64MOVFconst
2028 OpMIPS64MOVDconst
2029 OpMIPS64MOVVaddr
2030 OpMIPS64MOVBload
2031 OpMIPS64MOVBUload
2032 OpMIPS64MOVHload
2033 OpMIPS64MOVHUload
2034 OpMIPS64MOVWload
2035 OpMIPS64MOVWUload
2036 OpMIPS64MOVVload
2037 OpMIPS64MOVFload
2038 OpMIPS64MOVDload
2039 OpMIPS64MOVBstore
2040 OpMIPS64MOVHstore
2041 OpMIPS64MOVWstore
2042 OpMIPS64MOVVstore
2043 OpMIPS64MOVFstore
2044 OpMIPS64MOVDstore
2045 OpMIPS64MOVBstorezero
2046 OpMIPS64MOVHstorezero
2047 OpMIPS64MOVWstorezero
2048 OpMIPS64MOVVstorezero
2049 OpMIPS64MOVWfpgp
2050 OpMIPS64MOVWgpfp
2051 OpMIPS64MOVVfpgp
2052 OpMIPS64MOVVgpfp
2053 OpMIPS64MOVBreg
2054 OpMIPS64MOVBUreg
2055 OpMIPS64MOVHreg
2056 OpMIPS64MOVHUreg
2057 OpMIPS64MOVWreg
2058 OpMIPS64MOVWUreg
2059 OpMIPS64MOVVreg
2060 OpMIPS64MOVVnop
2061 OpMIPS64MOVWF
2062 OpMIPS64MOVWD
2063 OpMIPS64MOVVF
2064 OpMIPS64MOVVD
2065 OpMIPS64TRUNCFW
2066 OpMIPS64TRUNCDW
2067 OpMIPS64TRUNCFV
2068 OpMIPS64TRUNCDV
2069 OpMIPS64MOVFD
2070 OpMIPS64MOVDF
2071 OpMIPS64CALLstatic
2072 OpMIPS64CALLtail
2073 OpMIPS64CALLclosure
2074 OpMIPS64CALLinter
2075 OpMIPS64DUFFZERO
2076 OpMIPS64DUFFCOPY
2077 OpMIPS64LoweredZero
2078 OpMIPS64LoweredMove
2079 OpMIPS64LoweredAtomicAnd32
2080 OpMIPS64LoweredAtomicOr32
2081 OpMIPS64LoweredAtomicLoad8
2082 OpMIPS64LoweredAtomicLoad32
2083 OpMIPS64LoweredAtomicLoad64
2084 OpMIPS64LoweredAtomicStore8
2085 OpMIPS64LoweredAtomicStore32
2086 OpMIPS64LoweredAtomicStore64
2087 OpMIPS64LoweredAtomicStorezero32
2088 OpMIPS64LoweredAtomicStorezero64
2089 OpMIPS64LoweredAtomicExchange32
2090 OpMIPS64LoweredAtomicExchange64
2091 OpMIPS64LoweredAtomicAdd32
2092 OpMIPS64LoweredAtomicAdd64
2093 OpMIPS64LoweredAtomicAddconst32
2094 OpMIPS64LoweredAtomicAddconst64
2095 OpMIPS64LoweredAtomicCas32
2096 OpMIPS64LoweredAtomicCas64
2097 OpMIPS64LoweredNilCheck
2098 OpMIPS64FPFlagTrue
2099 OpMIPS64FPFlagFalse
2100 OpMIPS64LoweredGetClosurePtr
2101 OpMIPS64LoweredGetCallerSP
2102 OpMIPS64LoweredGetCallerPC
2103 OpMIPS64LoweredWB
2104 OpMIPS64LoweredPanicBoundsA
2105 OpMIPS64LoweredPanicBoundsB
2106 OpMIPS64LoweredPanicBoundsC
2107
2108 OpPPC64ADD
2109 OpPPC64ADDCC
2110 OpPPC64ADDconst
2111 OpPPC64ADDCCconst
2112 OpPPC64FADD
2113 OpPPC64FADDS
2114 OpPPC64SUB
2115 OpPPC64SUBCC
2116 OpPPC64SUBFCconst
2117 OpPPC64FSUB
2118 OpPPC64FSUBS
2119 OpPPC64MULLD
2120 OpPPC64MULLW
2121 OpPPC64MULLDconst
2122 OpPPC64MULLWconst
2123 OpPPC64MADDLD
2124 OpPPC64MULHD
2125 OpPPC64MULHW
2126 OpPPC64MULHDU
2127 OpPPC64MULHWU
2128 OpPPC64FMUL
2129 OpPPC64FMULS
2130 OpPPC64FMADD
2131 OpPPC64FMADDS
2132 OpPPC64FMSUB
2133 OpPPC64FMSUBS
2134 OpPPC64SRAD
2135 OpPPC64SRAW
2136 OpPPC64SRD
2137 OpPPC64SRW
2138 OpPPC64SLD
2139 OpPPC64SLW
2140 OpPPC64ROTL
2141 OpPPC64ROTLW
2142 OpPPC64CLRLSLWI
2143 OpPPC64CLRLSLDI
2144 OpPPC64ADDC
2145 OpPPC64SUBC
2146 OpPPC64ADDCconst
2147 OpPPC64SUBCconst
2148 OpPPC64ADDE
2149 OpPPC64SUBE
2150 OpPPC64ADDZEzero
2151 OpPPC64SUBZEzero
2152 OpPPC64SRADconst
2153 OpPPC64SRAWconst
2154 OpPPC64SRDconst
2155 OpPPC64SRWconst
2156 OpPPC64SLDconst
2157 OpPPC64SLWconst
2158 OpPPC64ROTLconst
2159 OpPPC64ROTLWconst
2160 OpPPC64EXTSWSLconst
2161 OpPPC64RLWINM
2162 OpPPC64RLWNM
2163 OpPPC64RLWMI
2164 OpPPC64RLDICL
2165 OpPPC64RLDICR
2166 OpPPC64CNTLZD
2167 OpPPC64CNTLZDCC
2168 OpPPC64CNTLZW
2169 OpPPC64CNTTZD
2170 OpPPC64CNTTZW
2171 OpPPC64POPCNTD
2172 OpPPC64POPCNTW
2173 OpPPC64POPCNTB
2174 OpPPC64FDIV
2175 OpPPC64FDIVS
2176 OpPPC64DIVD
2177 OpPPC64DIVW
2178 OpPPC64DIVDU
2179 OpPPC64DIVWU
2180 OpPPC64MODUD
2181 OpPPC64MODSD
2182 OpPPC64MODUW
2183 OpPPC64MODSW
2184 OpPPC64FCTIDZ
2185 OpPPC64FCTIWZ
2186 OpPPC64FCFID
2187 OpPPC64FCFIDS
2188 OpPPC64FRSP
2189 OpPPC64MFVSRD
2190 OpPPC64MTVSRD
2191 OpPPC64AND
2192 OpPPC64ANDN
2193 OpPPC64ANDNCC
2194 OpPPC64ANDCC
2195 OpPPC64OR
2196 OpPPC64ORN
2197 OpPPC64ORCC
2198 OpPPC64NOR
2199 OpPPC64NORCC
2200 OpPPC64XOR
2201 OpPPC64XORCC
2202 OpPPC64EQV
2203 OpPPC64NEG
2204 OpPPC64NEGCC
2205 OpPPC64BRD
2206 OpPPC64BRW
2207 OpPPC64BRH
2208 OpPPC64FNEG
2209 OpPPC64FSQRT
2210 OpPPC64FSQRTS
2211 OpPPC64FFLOOR
2212 OpPPC64FCEIL
2213 OpPPC64FTRUNC
2214 OpPPC64FROUND
2215 OpPPC64FABS
2216 OpPPC64FNABS
2217 OpPPC64FCPSGN
2218 OpPPC64ORconst
2219 OpPPC64XORconst
2220 OpPPC64ANDCCconst
2221 OpPPC64MOVBreg
2222 OpPPC64MOVBZreg
2223 OpPPC64MOVHreg
2224 OpPPC64MOVHZreg
2225 OpPPC64MOVWreg
2226 OpPPC64MOVWZreg
2227 OpPPC64MOVBZload
2228 OpPPC64MOVHload
2229 OpPPC64MOVHZload
2230 OpPPC64MOVWload
2231 OpPPC64MOVWZload
2232 OpPPC64MOVDload
2233 OpPPC64MOVDBRload
2234 OpPPC64MOVWBRload
2235 OpPPC64MOVHBRload
2236 OpPPC64MOVBZloadidx
2237 OpPPC64MOVHloadidx
2238 OpPPC64MOVHZloadidx
2239 OpPPC64MOVWloadidx
2240 OpPPC64MOVWZloadidx
2241 OpPPC64MOVDloadidx
2242 OpPPC64MOVHBRloadidx
2243 OpPPC64MOVWBRloadidx
2244 OpPPC64MOVDBRloadidx
2245 OpPPC64FMOVDloadidx
2246 OpPPC64FMOVSloadidx
2247 OpPPC64DCBT
2248 OpPPC64MOVDBRstore
2249 OpPPC64MOVWBRstore
2250 OpPPC64MOVHBRstore
2251 OpPPC64FMOVDload
2252 OpPPC64FMOVSload
2253 OpPPC64MOVBstore
2254 OpPPC64MOVHstore
2255 OpPPC64MOVWstore
2256 OpPPC64MOVDstore
2257 OpPPC64FMOVDstore
2258 OpPPC64FMOVSstore
2259 OpPPC64MOVBstoreidx
2260 OpPPC64MOVHstoreidx
2261 OpPPC64MOVWstoreidx
2262 OpPPC64MOVDstoreidx
2263 OpPPC64FMOVDstoreidx
2264 OpPPC64FMOVSstoreidx
2265 OpPPC64MOVHBRstoreidx
2266 OpPPC64MOVWBRstoreidx
2267 OpPPC64MOVDBRstoreidx
2268 OpPPC64MOVBstorezero
2269 OpPPC64MOVHstorezero
2270 OpPPC64MOVWstorezero
2271 OpPPC64MOVDstorezero
2272 OpPPC64MOVDaddr
2273 OpPPC64MOVDconst
2274 OpPPC64FMOVDconst
2275 OpPPC64FMOVSconst
2276 OpPPC64FCMPU
2277 OpPPC64CMP
2278 OpPPC64CMPU
2279 OpPPC64CMPW
2280 OpPPC64CMPWU
2281 OpPPC64CMPconst
2282 OpPPC64CMPUconst
2283 OpPPC64CMPWconst
2284 OpPPC64CMPWUconst
2285 OpPPC64ISEL
2286 OpPPC64ISELZ
2287 OpPPC64SETBC
2288 OpPPC64SETBCR
2289 OpPPC64Equal
2290 OpPPC64NotEqual
2291 OpPPC64LessThan
2292 OpPPC64FLessThan
2293 OpPPC64LessEqual
2294 OpPPC64FLessEqual
2295 OpPPC64GreaterThan
2296 OpPPC64FGreaterThan
2297 OpPPC64GreaterEqual
2298 OpPPC64FGreaterEqual
2299 OpPPC64LoweredGetClosurePtr
2300 OpPPC64LoweredGetCallerSP
2301 OpPPC64LoweredGetCallerPC
2302 OpPPC64LoweredNilCheck
2303 OpPPC64LoweredRound32F
2304 OpPPC64LoweredRound64F
2305 OpPPC64CALLstatic
2306 OpPPC64CALLtail
2307 OpPPC64CALLclosure
2308 OpPPC64CALLinter
2309 OpPPC64LoweredZero
2310 OpPPC64LoweredZeroShort
2311 OpPPC64LoweredQuadZeroShort
2312 OpPPC64LoweredQuadZero
2313 OpPPC64LoweredMove
2314 OpPPC64LoweredMoveShort
2315 OpPPC64LoweredQuadMove
2316 OpPPC64LoweredQuadMoveShort
2317 OpPPC64LoweredAtomicStore8
2318 OpPPC64LoweredAtomicStore32
2319 OpPPC64LoweredAtomicStore64
2320 OpPPC64LoweredAtomicLoad8
2321 OpPPC64LoweredAtomicLoad32
2322 OpPPC64LoweredAtomicLoad64
2323 OpPPC64LoweredAtomicLoadPtr
2324 OpPPC64LoweredAtomicAdd32
2325 OpPPC64LoweredAtomicAdd64
2326 OpPPC64LoweredAtomicExchange32
2327 OpPPC64LoweredAtomicExchange64
2328 OpPPC64LoweredAtomicCas64
2329 OpPPC64LoweredAtomicCas32
2330 OpPPC64LoweredAtomicAnd8
2331 OpPPC64LoweredAtomicAnd32
2332 OpPPC64LoweredAtomicOr8
2333 OpPPC64LoweredAtomicOr32
2334 OpPPC64LoweredWB
2335 OpPPC64LoweredPubBarrier
2336 OpPPC64LoweredPanicBoundsA
2337 OpPPC64LoweredPanicBoundsB
2338 OpPPC64LoweredPanicBoundsC
2339 OpPPC64InvertFlags
2340 OpPPC64FlagEQ
2341 OpPPC64FlagLT
2342 OpPPC64FlagGT
2343
2344 OpRISCV64ADD
2345 OpRISCV64ADDI
2346 OpRISCV64ADDIW
2347 OpRISCV64NEG
2348 OpRISCV64NEGW
2349 OpRISCV64SUB
2350 OpRISCV64SUBW
2351 OpRISCV64MUL
2352 OpRISCV64MULW
2353 OpRISCV64MULH
2354 OpRISCV64MULHU
2355 OpRISCV64LoweredMuluhilo
2356 OpRISCV64LoweredMuluover
2357 OpRISCV64DIV
2358 OpRISCV64DIVU
2359 OpRISCV64DIVW
2360 OpRISCV64DIVUW
2361 OpRISCV64REM
2362 OpRISCV64REMU
2363 OpRISCV64REMW
2364 OpRISCV64REMUW
2365 OpRISCV64MOVaddr
2366 OpRISCV64MOVDconst
2367 OpRISCV64MOVBload
2368 OpRISCV64MOVHload
2369 OpRISCV64MOVWload
2370 OpRISCV64MOVDload
2371 OpRISCV64MOVBUload
2372 OpRISCV64MOVHUload
2373 OpRISCV64MOVWUload
2374 OpRISCV64MOVBstore
2375 OpRISCV64MOVHstore
2376 OpRISCV64MOVWstore
2377 OpRISCV64MOVDstore
2378 OpRISCV64MOVBstorezero
2379 OpRISCV64MOVHstorezero
2380 OpRISCV64MOVWstorezero
2381 OpRISCV64MOVDstorezero
2382 OpRISCV64MOVBreg
2383 OpRISCV64MOVHreg
2384 OpRISCV64MOVWreg
2385 OpRISCV64MOVDreg
2386 OpRISCV64MOVBUreg
2387 OpRISCV64MOVHUreg
2388 OpRISCV64MOVWUreg
2389 OpRISCV64MOVDnop
2390 OpRISCV64SLL
2391 OpRISCV64SRA
2392 OpRISCV64SRAW
2393 OpRISCV64SRL
2394 OpRISCV64SRLW
2395 OpRISCV64SLLI
2396 OpRISCV64SRAI
2397 OpRISCV64SRAIW
2398 OpRISCV64SRLI
2399 OpRISCV64SRLIW
2400 OpRISCV64XOR
2401 OpRISCV64XORI
2402 OpRISCV64OR
2403 OpRISCV64ORI
2404 OpRISCV64AND
2405 OpRISCV64ANDI
2406 OpRISCV64NOT
2407 OpRISCV64SEQZ
2408 OpRISCV64SNEZ
2409 OpRISCV64SLT
2410 OpRISCV64SLTI
2411 OpRISCV64SLTU
2412 OpRISCV64SLTIU
2413 OpRISCV64LoweredRound32F
2414 OpRISCV64LoweredRound64F
2415 OpRISCV64CALLstatic
2416 OpRISCV64CALLtail
2417 OpRISCV64CALLclosure
2418 OpRISCV64CALLinter
2419 OpRISCV64DUFFZERO
2420 OpRISCV64DUFFCOPY
2421 OpRISCV64LoweredZero
2422 OpRISCV64LoweredMove
2423 OpRISCV64LoweredAtomicLoad8
2424 OpRISCV64LoweredAtomicLoad32
2425 OpRISCV64LoweredAtomicLoad64
2426 OpRISCV64LoweredAtomicStore8
2427 OpRISCV64LoweredAtomicStore32
2428 OpRISCV64LoweredAtomicStore64
2429 OpRISCV64LoweredAtomicExchange32
2430 OpRISCV64LoweredAtomicExchange64
2431 OpRISCV64LoweredAtomicAdd32
2432 OpRISCV64LoweredAtomicAdd64
2433 OpRISCV64LoweredAtomicCas32
2434 OpRISCV64LoweredAtomicCas64
2435 OpRISCV64LoweredAtomicAnd32
2436 OpRISCV64LoweredAtomicOr32
2437 OpRISCV64LoweredNilCheck
2438 OpRISCV64LoweredGetClosurePtr
2439 OpRISCV64LoweredGetCallerSP
2440 OpRISCV64LoweredGetCallerPC
2441 OpRISCV64LoweredWB
2442 OpRISCV64LoweredPubBarrier
2443 OpRISCV64LoweredPanicBoundsA
2444 OpRISCV64LoweredPanicBoundsB
2445 OpRISCV64LoweredPanicBoundsC
2446 OpRISCV64FADDS
2447 OpRISCV64FSUBS
2448 OpRISCV64FMULS
2449 OpRISCV64FDIVS
2450 OpRISCV64FMADDS
2451 OpRISCV64FMSUBS
2452 OpRISCV64FNMADDS
2453 OpRISCV64FNMSUBS
2454 OpRISCV64FSQRTS
2455 OpRISCV64FNEGS
2456 OpRISCV64FMVSX
2457 OpRISCV64FCVTSW
2458 OpRISCV64FCVTSL
2459 OpRISCV64FCVTWS
2460 OpRISCV64FCVTLS
2461 OpRISCV64FMOVWload
2462 OpRISCV64FMOVWstore
2463 OpRISCV64FEQS
2464 OpRISCV64FNES
2465 OpRISCV64FLTS
2466 OpRISCV64FLES
2467 OpRISCV64FADDD
2468 OpRISCV64FSUBD
2469 OpRISCV64FMULD
2470 OpRISCV64FDIVD
2471 OpRISCV64FMADDD
2472 OpRISCV64FMSUBD
2473 OpRISCV64FNMADDD
2474 OpRISCV64FNMSUBD
2475 OpRISCV64FSQRTD
2476 OpRISCV64FNEGD
2477 OpRISCV64FABSD
2478 OpRISCV64FSGNJD
2479 OpRISCV64FMVDX
2480 OpRISCV64FCVTDW
2481 OpRISCV64FCVTDL
2482 OpRISCV64FCVTWD
2483 OpRISCV64FCVTLD
2484 OpRISCV64FCVTDS
2485 OpRISCV64FCVTSD
2486 OpRISCV64FMOVDload
2487 OpRISCV64FMOVDstore
2488 OpRISCV64FEQD
2489 OpRISCV64FNED
2490 OpRISCV64FLTD
2491 OpRISCV64FLED
2492
2493 OpS390XFADDS
2494 OpS390XFADD
2495 OpS390XFSUBS
2496 OpS390XFSUB
2497 OpS390XFMULS
2498 OpS390XFMUL
2499 OpS390XFDIVS
2500 OpS390XFDIV
2501 OpS390XFNEGS
2502 OpS390XFNEG
2503 OpS390XFMADDS
2504 OpS390XFMADD
2505 OpS390XFMSUBS
2506 OpS390XFMSUB
2507 OpS390XLPDFR
2508 OpS390XLNDFR
2509 OpS390XCPSDR
2510 OpS390XFIDBR
2511 OpS390XFMOVSload
2512 OpS390XFMOVDload
2513 OpS390XFMOVSconst
2514 OpS390XFMOVDconst
2515 OpS390XFMOVSloadidx
2516 OpS390XFMOVDloadidx
2517 OpS390XFMOVSstore
2518 OpS390XFMOVDstore
2519 OpS390XFMOVSstoreidx
2520 OpS390XFMOVDstoreidx
2521 OpS390XADD
2522 OpS390XADDW
2523 OpS390XADDconst
2524 OpS390XADDWconst
2525 OpS390XADDload
2526 OpS390XADDWload
2527 OpS390XSUB
2528 OpS390XSUBW
2529 OpS390XSUBconst
2530 OpS390XSUBWconst
2531 OpS390XSUBload
2532 OpS390XSUBWload
2533 OpS390XMULLD
2534 OpS390XMULLW
2535 OpS390XMULLDconst
2536 OpS390XMULLWconst
2537 OpS390XMULLDload
2538 OpS390XMULLWload
2539 OpS390XMULHD
2540 OpS390XMULHDU
2541 OpS390XDIVD
2542 OpS390XDIVW
2543 OpS390XDIVDU
2544 OpS390XDIVWU
2545 OpS390XMODD
2546 OpS390XMODW
2547 OpS390XMODDU
2548 OpS390XMODWU
2549 OpS390XAND
2550 OpS390XANDW
2551 OpS390XANDconst
2552 OpS390XANDWconst
2553 OpS390XANDload
2554 OpS390XANDWload
2555 OpS390XOR
2556 OpS390XORW
2557 OpS390XORconst
2558 OpS390XORWconst
2559 OpS390XORload
2560 OpS390XORWload
2561 OpS390XXOR
2562 OpS390XXORW
2563 OpS390XXORconst
2564 OpS390XXORWconst
2565 OpS390XXORload
2566 OpS390XXORWload
2567 OpS390XADDC
2568 OpS390XADDCconst
2569 OpS390XADDE
2570 OpS390XSUBC
2571 OpS390XSUBE
2572 OpS390XCMP
2573 OpS390XCMPW
2574 OpS390XCMPU
2575 OpS390XCMPWU
2576 OpS390XCMPconst
2577 OpS390XCMPWconst
2578 OpS390XCMPUconst
2579 OpS390XCMPWUconst
2580 OpS390XFCMPS
2581 OpS390XFCMP
2582 OpS390XLTDBR
2583 OpS390XLTEBR
2584 OpS390XSLD
2585 OpS390XSLW
2586 OpS390XSLDconst
2587 OpS390XSLWconst
2588 OpS390XSRD
2589 OpS390XSRW
2590 OpS390XSRDconst
2591 OpS390XSRWconst
2592 OpS390XSRAD
2593 OpS390XSRAW
2594 OpS390XSRADconst
2595 OpS390XSRAWconst
2596 OpS390XRLLG
2597 OpS390XRLL
2598 OpS390XRLLconst
2599 OpS390XRXSBG
2600 OpS390XRISBGZ
2601 OpS390XNEG
2602 OpS390XNEGW
2603 OpS390XNOT
2604 OpS390XNOTW
2605 OpS390XFSQRT
2606 OpS390XFSQRTS
2607 OpS390XLOCGR
2608 OpS390XMOVBreg
2609 OpS390XMOVBZreg
2610 OpS390XMOVHreg
2611 OpS390XMOVHZreg
2612 OpS390XMOVWreg
2613 OpS390XMOVWZreg
2614 OpS390XMOVDconst
2615 OpS390XLDGR
2616 OpS390XLGDR
2617 OpS390XCFDBRA
2618 OpS390XCGDBRA
2619 OpS390XCFEBRA
2620 OpS390XCGEBRA
2621 OpS390XCEFBRA
2622 OpS390XCDFBRA
2623 OpS390XCEGBRA
2624 OpS390XCDGBRA
2625 OpS390XCLFEBR
2626 OpS390XCLFDBR
2627 OpS390XCLGEBR
2628 OpS390XCLGDBR
2629 OpS390XCELFBR
2630 OpS390XCDLFBR
2631 OpS390XCELGBR
2632 OpS390XCDLGBR
2633 OpS390XLEDBR
2634 OpS390XLDEBR
2635 OpS390XMOVDaddr
2636 OpS390XMOVDaddridx
2637 OpS390XMOVBZload
2638 OpS390XMOVBload
2639 OpS390XMOVHZload
2640 OpS390XMOVHload
2641 OpS390XMOVWZload
2642 OpS390XMOVWload
2643 OpS390XMOVDload
2644 OpS390XMOVWBR
2645 OpS390XMOVDBR
2646 OpS390XMOVHBRload
2647 OpS390XMOVWBRload
2648 OpS390XMOVDBRload
2649 OpS390XMOVBstore
2650 OpS390XMOVHstore
2651 OpS390XMOVWstore
2652 OpS390XMOVDstore
2653 OpS390XMOVHBRstore
2654 OpS390XMOVWBRstore
2655 OpS390XMOVDBRstore
2656 OpS390XMVC
2657 OpS390XMOVBZloadidx
2658 OpS390XMOVBloadidx
2659 OpS390XMOVHZloadidx
2660 OpS390XMOVHloadidx
2661 OpS390XMOVWZloadidx
2662 OpS390XMOVWloadidx
2663 OpS390XMOVDloadidx
2664 OpS390XMOVHBRloadidx
2665 OpS390XMOVWBRloadidx
2666 OpS390XMOVDBRloadidx
2667 OpS390XMOVBstoreidx
2668 OpS390XMOVHstoreidx
2669 OpS390XMOVWstoreidx
2670 OpS390XMOVDstoreidx
2671 OpS390XMOVHBRstoreidx
2672 OpS390XMOVWBRstoreidx
2673 OpS390XMOVDBRstoreidx
2674 OpS390XMOVBstoreconst
2675 OpS390XMOVHstoreconst
2676 OpS390XMOVWstoreconst
2677 OpS390XMOVDstoreconst
2678 OpS390XCLEAR
2679 OpS390XCALLstatic
2680 OpS390XCALLtail
2681 OpS390XCALLclosure
2682 OpS390XCALLinter
2683 OpS390XInvertFlags
2684 OpS390XLoweredGetG
2685 OpS390XLoweredGetClosurePtr
2686 OpS390XLoweredGetCallerSP
2687 OpS390XLoweredGetCallerPC
2688 OpS390XLoweredNilCheck
2689 OpS390XLoweredRound32F
2690 OpS390XLoweredRound64F
2691 OpS390XLoweredWB
2692 OpS390XLoweredPanicBoundsA
2693 OpS390XLoweredPanicBoundsB
2694 OpS390XLoweredPanicBoundsC
2695 OpS390XFlagEQ
2696 OpS390XFlagLT
2697 OpS390XFlagGT
2698 OpS390XFlagOV
2699 OpS390XSYNC
2700 OpS390XMOVBZatomicload
2701 OpS390XMOVWZatomicload
2702 OpS390XMOVDatomicload
2703 OpS390XMOVBatomicstore
2704 OpS390XMOVWatomicstore
2705 OpS390XMOVDatomicstore
2706 OpS390XLAA
2707 OpS390XLAAG
2708 OpS390XAddTupleFirst32
2709 OpS390XAddTupleFirst64
2710 OpS390XLAN
2711 OpS390XLANfloor
2712 OpS390XLAO
2713 OpS390XLAOfloor
2714 OpS390XLoweredAtomicCas32
2715 OpS390XLoweredAtomicCas64
2716 OpS390XLoweredAtomicExchange32
2717 OpS390XLoweredAtomicExchange64
2718 OpS390XFLOGR
2719 OpS390XPOPCNT
2720 OpS390XMLGR
2721 OpS390XSumBytes2
2722 OpS390XSumBytes4
2723 OpS390XSumBytes8
2724 OpS390XSTMG2
2725 OpS390XSTMG3
2726 OpS390XSTMG4
2727 OpS390XSTM2
2728 OpS390XSTM3
2729 OpS390XSTM4
2730 OpS390XLoweredMove
2731 OpS390XLoweredZero
2732
2733 OpWasmLoweredStaticCall
2734 OpWasmLoweredTailCall
2735 OpWasmLoweredClosureCall
2736 OpWasmLoweredInterCall
2737 OpWasmLoweredAddr
2738 OpWasmLoweredMove
2739 OpWasmLoweredZero
2740 OpWasmLoweredGetClosurePtr
2741 OpWasmLoweredGetCallerPC
2742 OpWasmLoweredGetCallerSP
2743 OpWasmLoweredNilCheck
2744 OpWasmLoweredWB
2745 OpWasmLoweredConvert
2746 OpWasmSelect
2747 OpWasmI64Load8U
2748 OpWasmI64Load8S
2749 OpWasmI64Load16U
2750 OpWasmI64Load16S
2751 OpWasmI64Load32U
2752 OpWasmI64Load32S
2753 OpWasmI64Load
2754 OpWasmI64Store8
2755 OpWasmI64Store16
2756 OpWasmI64Store32
2757 OpWasmI64Store
2758 OpWasmF32Load
2759 OpWasmF64Load
2760 OpWasmF32Store
2761 OpWasmF64Store
2762 OpWasmI64Const
2763 OpWasmF32Const
2764 OpWasmF64Const
2765 OpWasmI64Eqz
2766 OpWasmI64Eq
2767 OpWasmI64Ne
2768 OpWasmI64LtS
2769 OpWasmI64LtU
2770 OpWasmI64GtS
2771 OpWasmI64GtU
2772 OpWasmI64LeS
2773 OpWasmI64LeU
2774 OpWasmI64GeS
2775 OpWasmI64GeU
2776 OpWasmF32Eq
2777 OpWasmF32Ne
2778 OpWasmF32Lt
2779 OpWasmF32Gt
2780 OpWasmF32Le
2781 OpWasmF32Ge
2782 OpWasmF64Eq
2783 OpWasmF64Ne
2784 OpWasmF64Lt
2785 OpWasmF64Gt
2786 OpWasmF64Le
2787 OpWasmF64Ge
2788 OpWasmI64Add
2789 OpWasmI64AddConst
2790 OpWasmI64Sub
2791 OpWasmI64Mul
2792 OpWasmI64DivS
2793 OpWasmI64DivU
2794 OpWasmI64RemS
2795 OpWasmI64RemU
2796 OpWasmI64And
2797 OpWasmI64Or
2798 OpWasmI64Xor
2799 OpWasmI64Shl
2800 OpWasmI64ShrS
2801 OpWasmI64ShrU
2802 OpWasmF32Neg
2803 OpWasmF32Add
2804 OpWasmF32Sub
2805 OpWasmF32Mul
2806 OpWasmF32Div
2807 OpWasmF64Neg
2808 OpWasmF64Add
2809 OpWasmF64Sub
2810 OpWasmF64Mul
2811 OpWasmF64Div
2812 OpWasmI64TruncSatF64S
2813 OpWasmI64TruncSatF64U
2814 OpWasmI64TruncSatF32S
2815 OpWasmI64TruncSatF32U
2816 OpWasmF32ConvertI64S
2817 OpWasmF32ConvertI64U
2818 OpWasmF64ConvertI64S
2819 OpWasmF64ConvertI64U
2820 OpWasmF32DemoteF64
2821 OpWasmF64PromoteF32
2822 OpWasmI64Extend8S
2823 OpWasmI64Extend16S
2824 OpWasmI64Extend32S
2825 OpWasmF32Sqrt
2826 OpWasmF32Trunc
2827 OpWasmF32Ceil
2828 OpWasmF32Floor
2829 OpWasmF32Nearest
2830 OpWasmF32Abs
2831 OpWasmF32Copysign
2832 OpWasmF64Sqrt
2833 OpWasmF64Trunc
2834 OpWasmF64Ceil
2835 OpWasmF64Floor
2836 OpWasmF64Nearest
2837 OpWasmF64Abs
2838 OpWasmF64Copysign
2839 OpWasmI64Ctz
2840 OpWasmI64Clz
2841 OpWasmI32Rotl
2842 OpWasmI64Rotl
2843 OpWasmI64Popcnt
2844
2845 OpAdd8
2846 OpAdd16
2847 OpAdd32
2848 OpAdd64
2849 OpAddPtr
2850 OpAdd32F
2851 OpAdd64F
2852 OpSub8
2853 OpSub16
2854 OpSub32
2855 OpSub64
2856 OpSubPtr
2857 OpSub32F
2858 OpSub64F
2859 OpMul8
2860 OpMul16
2861 OpMul32
2862 OpMul64
2863 OpMul32F
2864 OpMul64F
2865 OpDiv32F
2866 OpDiv64F
2867 OpHmul32
2868 OpHmul32u
2869 OpHmul64
2870 OpHmul64u
2871 OpMul32uhilo
2872 OpMul64uhilo
2873 OpMul32uover
2874 OpMul64uover
2875 OpAvg32u
2876 OpAvg64u
2877 OpDiv8
2878 OpDiv8u
2879 OpDiv16
2880 OpDiv16u
2881 OpDiv32
2882 OpDiv32u
2883 OpDiv64
2884 OpDiv64u
2885 OpDiv128u
2886 OpMod8
2887 OpMod8u
2888 OpMod16
2889 OpMod16u
2890 OpMod32
2891 OpMod32u
2892 OpMod64
2893 OpMod64u
2894 OpAnd8
2895 OpAnd16
2896 OpAnd32
2897 OpAnd64
2898 OpOr8
2899 OpOr16
2900 OpOr32
2901 OpOr64
2902 OpXor8
2903 OpXor16
2904 OpXor32
2905 OpXor64
2906 OpLsh8x8
2907 OpLsh8x16
2908 OpLsh8x32
2909 OpLsh8x64
2910 OpLsh16x8
2911 OpLsh16x16
2912 OpLsh16x32
2913 OpLsh16x64
2914 OpLsh32x8
2915 OpLsh32x16
2916 OpLsh32x32
2917 OpLsh32x64
2918 OpLsh64x8
2919 OpLsh64x16
2920 OpLsh64x32
2921 OpLsh64x64
2922 OpRsh8x8
2923 OpRsh8x16
2924 OpRsh8x32
2925 OpRsh8x64
2926 OpRsh16x8
2927 OpRsh16x16
2928 OpRsh16x32
2929 OpRsh16x64
2930 OpRsh32x8
2931 OpRsh32x16
2932 OpRsh32x32
2933 OpRsh32x64
2934 OpRsh64x8
2935 OpRsh64x16
2936 OpRsh64x32
2937 OpRsh64x64
2938 OpRsh8Ux8
2939 OpRsh8Ux16
2940 OpRsh8Ux32
2941 OpRsh8Ux64
2942 OpRsh16Ux8
2943 OpRsh16Ux16
2944 OpRsh16Ux32
2945 OpRsh16Ux64
2946 OpRsh32Ux8
2947 OpRsh32Ux16
2948 OpRsh32Ux32
2949 OpRsh32Ux64
2950 OpRsh64Ux8
2951 OpRsh64Ux16
2952 OpRsh64Ux32
2953 OpRsh64Ux64
2954 OpEq8
2955 OpEq16
2956 OpEq32
2957 OpEq64
2958 OpEqPtr
2959 OpEqInter
2960 OpEqSlice
2961 OpEq32F
2962 OpEq64F
2963 OpNeq8
2964 OpNeq16
2965 OpNeq32
2966 OpNeq64
2967 OpNeqPtr
2968 OpNeqInter
2969 OpNeqSlice
2970 OpNeq32F
2971 OpNeq64F
2972 OpLess8
2973 OpLess8U
2974 OpLess16
2975 OpLess16U
2976 OpLess32
2977 OpLess32U
2978 OpLess64
2979 OpLess64U
2980 OpLess32F
2981 OpLess64F
2982 OpLeq8
2983 OpLeq8U
2984 OpLeq16
2985 OpLeq16U
2986 OpLeq32
2987 OpLeq32U
2988 OpLeq64
2989 OpLeq64U
2990 OpLeq32F
2991 OpLeq64F
2992 OpCondSelect
2993 OpAndB
2994 OpOrB
2995 OpEqB
2996 OpNeqB
2997 OpNot
2998 OpNeg8
2999 OpNeg16
3000 OpNeg32
3001 OpNeg64
3002 OpNeg32F
3003 OpNeg64F
3004 OpCom8
3005 OpCom16
3006 OpCom32
3007 OpCom64
3008 OpCtz8
3009 OpCtz16
3010 OpCtz32
3011 OpCtz64
3012 OpCtz8NonZero
3013 OpCtz16NonZero
3014 OpCtz32NonZero
3015 OpCtz64NonZero
3016 OpBitLen8
3017 OpBitLen16
3018 OpBitLen32
3019 OpBitLen64
3020 OpBswap16
3021 OpBswap32
3022 OpBswap64
3023 OpBitRev8
3024 OpBitRev16
3025 OpBitRev32
3026 OpBitRev64
3027 OpPopCount8
3028 OpPopCount16
3029 OpPopCount32
3030 OpPopCount64
3031 OpRotateLeft64
3032 OpRotateLeft32
3033 OpRotateLeft16
3034 OpRotateLeft8
3035 OpSqrt
3036 OpSqrt32
3037 OpFloor
3038 OpCeil
3039 OpTrunc
3040 OpRound
3041 OpRoundToEven
3042 OpAbs
3043 OpCopysign
3044 OpMin64F
3045 OpMin32F
3046 OpMax64F
3047 OpMax32F
3048 OpFMA
3049 OpPhi
3050 OpCopy
3051 OpConvert
3052 OpConstBool
3053 OpConstString
3054 OpConstNil
3055 OpConst8
3056 OpConst16
3057 OpConst32
3058 OpConst64
3059 OpConst32F
3060 OpConst64F
3061 OpConstInterface
3062 OpConstSlice
3063 OpInitMem
3064 OpArg
3065 OpArgIntReg
3066 OpArgFloatReg
3067 OpAddr
3068 OpLocalAddr
3069 OpSP
3070 OpSB
3071 OpSPanchored
3072 OpLoad
3073 OpDereference
3074 OpStore
3075 OpMove
3076 OpZero
3077 OpStoreWB
3078 OpMoveWB
3079 OpZeroWB
3080 OpWBend
3081 OpWB
3082 OpHasCPUFeature
3083 OpPanicBounds
3084 OpPanicExtend
3085 OpClosureCall
3086 OpStaticCall
3087 OpInterCall
3088 OpTailCall
3089 OpClosureLECall
3090 OpStaticLECall
3091 OpInterLECall
3092 OpTailLECall
3093 OpSignExt8to16
3094 OpSignExt8to32
3095 OpSignExt8to64
3096 OpSignExt16to32
3097 OpSignExt16to64
3098 OpSignExt32to64
3099 OpZeroExt8to16
3100 OpZeroExt8to32
3101 OpZeroExt8to64
3102 OpZeroExt16to32
3103 OpZeroExt16to64
3104 OpZeroExt32to64
3105 OpTrunc16to8
3106 OpTrunc32to8
3107 OpTrunc32to16
3108 OpTrunc64to8
3109 OpTrunc64to16
3110 OpTrunc64to32
3111 OpCvt32to32F
3112 OpCvt32to64F
3113 OpCvt64to32F
3114 OpCvt64to64F
3115 OpCvt32Fto32
3116 OpCvt32Fto64
3117 OpCvt64Fto32
3118 OpCvt64Fto64
3119 OpCvt32Fto64F
3120 OpCvt64Fto32F
3121 OpCvtBoolToUint8
3122 OpRound32F
3123 OpRound64F
3124 OpIsNonNil
3125 OpIsInBounds
3126 OpIsSliceInBounds
3127 OpNilCheck
3128 OpGetG
3129 OpGetClosurePtr
3130 OpGetCallerPC
3131 OpGetCallerSP
3132 OpPtrIndex
3133 OpOffPtr
3134 OpSliceMake
3135 OpSlicePtr
3136 OpSliceLen
3137 OpSliceCap
3138 OpSlicePtrUnchecked
3139 OpComplexMake
3140 OpComplexReal
3141 OpComplexImag
3142 OpStringMake
3143 OpStringPtr
3144 OpStringLen
3145 OpIMake
3146 OpITab
3147 OpIData
3148 OpStructMake0
3149 OpStructMake1
3150 OpStructMake2
3151 OpStructMake3
3152 OpStructMake4
3153 OpStructSelect
3154 OpArrayMake0
3155 OpArrayMake1
3156 OpArraySelect
3157 OpStoreReg
3158 OpLoadReg
3159 OpFwdRef
3160 OpUnknown
3161 OpVarDef
3162 OpVarLive
3163 OpKeepAlive
3164 OpInlMark
3165 OpInt64Make
3166 OpInt64Hi
3167 OpInt64Lo
3168 OpAdd32carry
3169 OpAdd32withcarry
3170 OpSub32carry
3171 OpSub32withcarry
3172 OpAdd64carry
3173 OpSub64borrow
3174 OpSignmask
3175 OpZeromask
3176 OpSlicemask
3177 OpSpectreIndex
3178 OpSpectreSliceIndex
3179 OpCvt32Uto32F
3180 OpCvt32Uto64F
3181 OpCvt32Fto32U
3182 OpCvt64Fto32U
3183 OpCvt64Uto32F
3184 OpCvt64Uto64F
3185 OpCvt32Fto64U
3186 OpCvt64Fto64U
3187 OpSelect0
3188 OpSelect1
3189 OpSelectN
3190 OpSelectNAddr
3191 OpMakeResult
3192 OpAtomicLoad8
3193 OpAtomicLoad32
3194 OpAtomicLoad64
3195 OpAtomicLoadPtr
3196 OpAtomicLoadAcq32
3197 OpAtomicLoadAcq64
3198 OpAtomicStore8
3199 OpAtomicStore32
3200 OpAtomicStore64
3201 OpAtomicStorePtrNoWB
3202 OpAtomicStoreRel32
3203 OpAtomicStoreRel64
3204 OpAtomicExchange32
3205 OpAtomicExchange64
3206 OpAtomicAdd32
3207 OpAtomicAdd64
3208 OpAtomicCompareAndSwap32
3209 OpAtomicCompareAndSwap64
3210 OpAtomicCompareAndSwapRel32
3211 OpAtomicAnd8
3212 OpAtomicAnd32
3213 OpAtomicOr8
3214 OpAtomicOr32
3215 OpAtomicAdd32Variant
3216 OpAtomicAdd64Variant
3217 OpAtomicExchange32Variant
3218 OpAtomicExchange64Variant
3219 OpAtomicCompareAndSwap32Variant
3220 OpAtomicCompareAndSwap64Variant
3221 OpAtomicAnd8Variant
3222 OpAtomicAnd32Variant
3223 OpAtomicOr8Variant
3224 OpAtomicOr32Variant
3225 OpPubBarrier
3226 OpClobber
3227 OpClobberReg
3228 OpPrefetchCache
3229 OpPrefetchCacheStreamed
3230 )
3231
3232 var opcodeTable = [...]opInfo{
3233 {name: "OpInvalid"},
3234
3235 {
3236 name: "ADDSS",
3237 argLen: 2,
3238 commutative: true,
3239 resultInArg0: true,
3240 asm: x86.AADDSS,
3241 reg: regInfo{
3242 inputs: []inputInfo{
3243 {0, 65280},
3244 {1, 65280},
3245 },
3246 outputs: []outputInfo{
3247 {0, 65280},
3248 },
3249 },
3250 },
3251 {
3252 name: "ADDSD",
3253 argLen: 2,
3254 commutative: true,
3255 resultInArg0: true,
3256 asm: x86.AADDSD,
3257 reg: regInfo{
3258 inputs: []inputInfo{
3259 {0, 65280},
3260 {1, 65280},
3261 },
3262 outputs: []outputInfo{
3263 {0, 65280},
3264 },
3265 },
3266 },
3267 {
3268 name: "SUBSS",
3269 argLen: 2,
3270 resultInArg0: true,
3271 asm: x86.ASUBSS,
3272 reg: regInfo{
3273 inputs: []inputInfo{
3274 {0, 65280},
3275 {1, 65280},
3276 },
3277 outputs: []outputInfo{
3278 {0, 65280},
3279 },
3280 },
3281 },
3282 {
3283 name: "SUBSD",
3284 argLen: 2,
3285 resultInArg0: true,
3286 asm: x86.ASUBSD,
3287 reg: regInfo{
3288 inputs: []inputInfo{
3289 {0, 65280},
3290 {1, 65280},
3291 },
3292 outputs: []outputInfo{
3293 {0, 65280},
3294 },
3295 },
3296 },
3297 {
3298 name: "MULSS",
3299 argLen: 2,
3300 commutative: true,
3301 resultInArg0: true,
3302 asm: x86.AMULSS,
3303 reg: regInfo{
3304 inputs: []inputInfo{
3305 {0, 65280},
3306 {1, 65280},
3307 },
3308 outputs: []outputInfo{
3309 {0, 65280},
3310 },
3311 },
3312 },
3313 {
3314 name: "MULSD",
3315 argLen: 2,
3316 commutative: true,
3317 resultInArg0: true,
3318 asm: x86.AMULSD,
3319 reg: regInfo{
3320 inputs: []inputInfo{
3321 {0, 65280},
3322 {1, 65280},
3323 },
3324 outputs: []outputInfo{
3325 {0, 65280},
3326 },
3327 },
3328 },
3329 {
3330 name: "DIVSS",
3331 argLen: 2,
3332 resultInArg0: true,
3333 asm: x86.ADIVSS,
3334 reg: regInfo{
3335 inputs: []inputInfo{
3336 {0, 65280},
3337 {1, 65280},
3338 },
3339 outputs: []outputInfo{
3340 {0, 65280},
3341 },
3342 },
3343 },
3344 {
3345 name: "DIVSD",
3346 argLen: 2,
3347 resultInArg0: true,
3348 asm: x86.ADIVSD,
3349 reg: regInfo{
3350 inputs: []inputInfo{
3351 {0, 65280},
3352 {1, 65280},
3353 },
3354 outputs: []outputInfo{
3355 {0, 65280},
3356 },
3357 },
3358 },
3359 {
3360 name: "MOVSSload",
3361 auxType: auxSymOff,
3362 argLen: 2,
3363 faultOnNilArg0: true,
3364 symEffect: SymRead,
3365 asm: x86.AMOVSS,
3366 reg: regInfo{
3367 inputs: []inputInfo{
3368 {0, 65791},
3369 },
3370 outputs: []outputInfo{
3371 {0, 65280},
3372 },
3373 },
3374 },
3375 {
3376 name: "MOVSDload",
3377 auxType: auxSymOff,
3378 argLen: 2,
3379 faultOnNilArg0: true,
3380 symEffect: SymRead,
3381 asm: x86.AMOVSD,
3382 reg: regInfo{
3383 inputs: []inputInfo{
3384 {0, 65791},
3385 },
3386 outputs: []outputInfo{
3387 {0, 65280},
3388 },
3389 },
3390 },
3391 {
3392 name: "MOVSSconst",
3393 auxType: auxFloat32,
3394 argLen: 0,
3395 rematerializeable: true,
3396 asm: x86.AMOVSS,
3397 reg: regInfo{
3398 outputs: []outputInfo{
3399 {0, 65280},
3400 },
3401 },
3402 },
3403 {
3404 name: "MOVSDconst",
3405 auxType: auxFloat64,
3406 argLen: 0,
3407 rematerializeable: true,
3408 asm: x86.AMOVSD,
3409 reg: regInfo{
3410 outputs: []outputInfo{
3411 {0, 65280},
3412 },
3413 },
3414 },
3415 {
3416 name: "MOVSSloadidx1",
3417 auxType: auxSymOff,
3418 argLen: 3,
3419 symEffect: SymRead,
3420 asm: x86.AMOVSS,
3421 reg: regInfo{
3422 inputs: []inputInfo{
3423 {1, 255},
3424 {0, 65791},
3425 },
3426 outputs: []outputInfo{
3427 {0, 65280},
3428 },
3429 },
3430 },
3431 {
3432 name: "MOVSSloadidx4",
3433 auxType: auxSymOff,
3434 argLen: 3,
3435 symEffect: SymRead,
3436 asm: x86.AMOVSS,
3437 reg: regInfo{
3438 inputs: []inputInfo{
3439 {1, 255},
3440 {0, 65791},
3441 },
3442 outputs: []outputInfo{
3443 {0, 65280},
3444 },
3445 },
3446 },
3447 {
3448 name: "MOVSDloadidx1",
3449 auxType: auxSymOff,
3450 argLen: 3,
3451 symEffect: SymRead,
3452 asm: x86.AMOVSD,
3453 reg: regInfo{
3454 inputs: []inputInfo{
3455 {1, 255},
3456 {0, 65791},
3457 },
3458 outputs: []outputInfo{
3459 {0, 65280},
3460 },
3461 },
3462 },
3463 {
3464 name: "MOVSDloadidx8",
3465 auxType: auxSymOff,
3466 argLen: 3,
3467 symEffect: SymRead,
3468 asm: x86.AMOVSD,
3469 reg: regInfo{
3470 inputs: []inputInfo{
3471 {1, 255},
3472 {0, 65791},
3473 },
3474 outputs: []outputInfo{
3475 {0, 65280},
3476 },
3477 },
3478 },
3479 {
3480 name: "MOVSSstore",
3481 auxType: auxSymOff,
3482 argLen: 3,
3483 faultOnNilArg0: true,
3484 symEffect: SymWrite,
3485 asm: x86.AMOVSS,
3486 reg: regInfo{
3487 inputs: []inputInfo{
3488 {1, 65280},
3489 {0, 65791},
3490 },
3491 },
3492 },
3493 {
3494 name: "MOVSDstore",
3495 auxType: auxSymOff,
3496 argLen: 3,
3497 faultOnNilArg0: true,
3498 symEffect: SymWrite,
3499 asm: x86.AMOVSD,
3500 reg: regInfo{
3501 inputs: []inputInfo{
3502 {1, 65280},
3503 {0, 65791},
3504 },
3505 },
3506 },
3507 {
3508 name: "MOVSSstoreidx1",
3509 auxType: auxSymOff,
3510 argLen: 4,
3511 symEffect: SymWrite,
3512 asm: x86.AMOVSS,
3513 reg: regInfo{
3514 inputs: []inputInfo{
3515 {1, 255},
3516 {2, 65280},
3517 {0, 65791},
3518 },
3519 },
3520 },
3521 {
3522 name: "MOVSSstoreidx4",
3523 auxType: auxSymOff,
3524 argLen: 4,
3525 symEffect: SymWrite,
3526 asm: x86.AMOVSS,
3527 reg: regInfo{
3528 inputs: []inputInfo{
3529 {1, 255},
3530 {2, 65280},
3531 {0, 65791},
3532 },
3533 },
3534 },
3535 {
3536 name: "MOVSDstoreidx1",
3537 auxType: auxSymOff,
3538 argLen: 4,
3539 symEffect: SymWrite,
3540 asm: x86.AMOVSD,
3541 reg: regInfo{
3542 inputs: []inputInfo{
3543 {1, 255},
3544 {2, 65280},
3545 {0, 65791},
3546 },
3547 },
3548 },
3549 {
3550 name: "MOVSDstoreidx8",
3551 auxType: auxSymOff,
3552 argLen: 4,
3553 symEffect: SymWrite,
3554 asm: x86.AMOVSD,
3555 reg: regInfo{
3556 inputs: []inputInfo{
3557 {1, 255},
3558 {2, 65280},
3559 {0, 65791},
3560 },
3561 },
3562 },
3563 {
3564 name: "ADDSSload",
3565 auxType: auxSymOff,
3566 argLen: 3,
3567 resultInArg0: true,
3568 faultOnNilArg1: true,
3569 symEffect: SymRead,
3570 asm: x86.AADDSS,
3571 reg: regInfo{
3572 inputs: []inputInfo{
3573 {0, 65280},
3574 {1, 65791},
3575 },
3576 outputs: []outputInfo{
3577 {0, 65280},
3578 },
3579 },
3580 },
3581 {
3582 name: "ADDSDload",
3583 auxType: auxSymOff,
3584 argLen: 3,
3585 resultInArg0: true,
3586 faultOnNilArg1: true,
3587 symEffect: SymRead,
3588 asm: x86.AADDSD,
3589 reg: regInfo{
3590 inputs: []inputInfo{
3591 {0, 65280},
3592 {1, 65791},
3593 },
3594 outputs: []outputInfo{
3595 {0, 65280},
3596 },
3597 },
3598 },
3599 {
3600 name: "SUBSSload",
3601 auxType: auxSymOff,
3602 argLen: 3,
3603 resultInArg0: true,
3604 faultOnNilArg1: true,
3605 symEffect: SymRead,
3606 asm: x86.ASUBSS,
3607 reg: regInfo{
3608 inputs: []inputInfo{
3609 {0, 65280},
3610 {1, 65791},
3611 },
3612 outputs: []outputInfo{
3613 {0, 65280},
3614 },
3615 },
3616 },
3617 {
3618 name: "SUBSDload",
3619 auxType: auxSymOff,
3620 argLen: 3,
3621 resultInArg0: true,
3622 faultOnNilArg1: true,
3623 symEffect: SymRead,
3624 asm: x86.ASUBSD,
3625 reg: regInfo{
3626 inputs: []inputInfo{
3627 {0, 65280},
3628 {1, 65791},
3629 },
3630 outputs: []outputInfo{
3631 {0, 65280},
3632 },
3633 },
3634 },
3635 {
3636 name: "MULSSload",
3637 auxType: auxSymOff,
3638 argLen: 3,
3639 resultInArg0: true,
3640 faultOnNilArg1: true,
3641 symEffect: SymRead,
3642 asm: x86.AMULSS,
3643 reg: regInfo{
3644 inputs: []inputInfo{
3645 {0, 65280},
3646 {1, 65791},
3647 },
3648 outputs: []outputInfo{
3649 {0, 65280},
3650 },
3651 },
3652 },
3653 {
3654 name: "MULSDload",
3655 auxType: auxSymOff,
3656 argLen: 3,
3657 resultInArg0: true,
3658 faultOnNilArg1: true,
3659 symEffect: SymRead,
3660 asm: x86.AMULSD,
3661 reg: regInfo{
3662 inputs: []inputInfo{
3663 {0, 65280},
3664 {1, 65791},
3665 },
3666 outputs: []outputInfo{
3667 {0, 65280},
3668 },
3669 },
3670 },
3671 {
3672 name: "DIVSSload",
3673 auxType: auxSymOff,
3674 argLen: 3,
3675 resultInArg0: true,
3676 faultOnNilArg1: true,
3677 symEffect: SymRead,
3678 asm: x86.ADIVSS,
3679 reg: regInfo{
3680 inputs: []inputInfo{
3681 {0, 65280},
3682 {1, 65791},
3683 },
3684 outputs: []outputInfo{
3685 {0, 65280},
3686 },
3687 },
3688 },
3689 {
3690 name: "DIVSDload",
3691 auxType: auxSymOff,
3692 argLen: 3,
3693 resultInArg0: true,
3694 faultOnNilArg1: true,
3695 symEffect: SymRead,
3696 asm: x86.ADIVSD,
3697 reg: regInfo{
3698 inputs: []inputInfo{
3699 {0, 65280},
3700 {1, 65791},
3701 },
3702 outputs: []outputInfo{
3703 {0, 65280},
3704 },
3705 },
3706 },
3707 {
3708 name: "ADDL",
3709 argLen: 2,
3710 commutative: true,
3711 clobberFlags: true,
3712 asm: x86.AADDL,
3713 reg: regInfo{
3714 inputs: []inputInfo{
3715 {1, 239},
3716 {0, 255},
3717 },
3718 outputs: []outputInfo{
3719 {0, 239},
3720 },
3721 },
3722 },
3723 {
3724 name: "ADDLconst",
3725 auxType: auxInt32,
3726 argLen: 1,
3727 clobberFlags: true,
3728 asm: x86.AADDL,
3729 reg: regInfo{
3730 inputs: []inputInfo{
3731 {0, 255},
3732 },
3733 outputs: []outputInfo{
3734 {0, 239},
3735 },
3736 },
3737 },
3738 {
3739 name: "ADDLcarry",
3740 argLen: 2,
3741 commutative: true,
3742 resultInArg0: true,
3743 asm: x86.AADDL,
3744 reg: regInfo{
3745 inputs: []inputInfo{
3746 {0, 239},
3747 {1, 239},
3748 },
3749 outputs: []outputInfo{
3750 {1, 0},
3751 {0, 239},
3752 },
3753 },
3754 },
3755 {
3756 name: "ADDLconstcarry",
3757 auxType: auxInt32,
3758 argLen: 1,
3759 resultInArg0: true,
3760 asm: x86.AADDL,
3761 reg: regInfo{
3762 inputs: []inputInfo{
3763 {0, 239},
3764 },
3765 outputs: []outputInfo{
3766 {1, 0},
3767 {0, 239},
3768 },
3769 },
3770 },
3771 {
3772 name: "ADCL",
3773 argLen: 3,
3774 commutative: true,
3775 resultInArg0: true,
3776 clobberFlags: true,
3777 asm: x86.AADCL,
3778 reg: regInfo{
3779 inputs: []inputInfo{
3780 {0, 239},
3781 {1, 239},
3782 },
3783 outputs: []outputInfo{
3784 {0, 239},
3785 },
3786 },
3787 },
3788 {
3789 name: "ADCLconst",
3790 auxType: auxInt32,
3791 argLen: 2,
3792 resultInArg0: true,
3793 clobberFlags: true,
3794 asm: x86.AADCL,
3795 reg: regInfo{
3796 inputs: []inputInfo{
3797 {0, 239},
3798 },
3799 outputs: []outputInfo{
3800 {0, 239},
3801 },
3802 },
3803 },
3804 {
3805 name: "SUBL",
3806 argLen: 2,
3807 resultInArg0: true,
3808 clobberFlags: true,
3809 asm: x86.ASUBL,
3810 reg: regInfo{
3811 inputs: []inputInfo{
3812 {0, 239},
3813 {1, 239},
3814 },
3815 outputs: []outputInfo{
3816 {0, 239},
3817 },
3818 },
3819 },
3820 {
3821 name: "SUBLconst",
3822 auxType: auxInt32,
3823 argLen: 1,
3824 resultInArg0: true,
3825 clobberFlags: true,
3826 asm: x86.ASUBL,
3827 reg: regInfo{
3828 inputs: []inputInfo{
3829 {0, 239},
3830 },
3831 outputs: []outputInfo{
3832 {0, 239},
3833 },
3834 },
3835 },
3836 {
3837 name: "SUBLcarry",
3838 argLen: 2,
3839 resultInArg0: true,
3840 asm: x86.ASUBL,
3841 reg: regInfo{
3842 inputs: []inputInfo{
3843 {0, 239},
3844 {1, 239},
3845 },
3846 outputs: []outputInfo{
3847 {1, 0},
3848 {0, 239},
3849 },
3850 },
3851 },
3852 {
3853 name: "SUBLconstcarry",
3854 auxType: auxInt32,
3855 argLen: 1,
3856 resultInArg0: true,
3857 asm: x86.ASUBL,
3858 reg: regInfo{
3859 inputs: []inputInfo{
3860 {0, 239},
3861 },
3862 outputs: []outputInfo{
3863 {1, 0},
3864 {0, 239},
3865 },
3866 },
3867 },
3868 {
3869 name: "SBBL",
3870 argLen: 3,
3871 resultInArg0: true,
3872 clobberFlags: true,
3873 asm: x86.ASBBL,
3874 reg: regInfo{
3875 inputs: []inputInfo{
3876 {0, 239},
3877 {1, 239},
3878 },
3879 outputs: []outputInfo{
3880 {0, 239},
3881 },
3882 },
3883 },
3884 {
3885 name: "SBBLconst",
3886 auxType: auxInt32,
3887 argLen: 2,
3888 resultInArg0: true,
3889 clobberFlags: true,
3890 asm: x86.ASBBL,
3891 reg: regInfo{
3892 inputs: []inputInfo{
3893 {0, 239},
3894 },
3895 outputs: []outputInfo{
3896 {0, 239},
3897 },
3898 },
3899 },
3900 {
3901 name: "MULL",
3902 argLen: 2,
3903 commutative: true,
3904 resultInArg0: true,
3905 clobberFlags: true,
3906 asm: x86.AIMULL,
3907 reg: regInfo{
3908 inputs: []inputInfo{
3909 {0, 239},
3910 {1, 239},
3911 },
3912 outputs: []outputInfo{
3913 {0, 239},
3914 },
3915 },
3916 },
3917 {
3918 name: "MULLconst",
3919 auxType: auxInt32,
3920 argLen: 1,
3921 clobberFlags: true,
3922 asm: x86.AIMUL3L,
3923 reg: regInfo{
3924 inputs: []inputInfo{
3925 {0, 239},
3926 },
3927 outputs: []outputInfo{
3928 {0, 239},
3929 },
3930 },
3931 },
3932 {
3933 name: "MULLU",
3934 argLen: 2,
3935 commutative: true,
3936 clobberFlags: true,
3937 asm: x86.AMULL,
3938 reg: regInfo{
3939 inputs: []inputInfo{
3940 {0, 1},
3941 {1, 255},
3942 },
3943 clobbers: 4,
3944 outputs: []outputInfo{
3945 {1, 0},
3946 {0, 1},
3947 },
3948 },
3949 },
3950 {
3951 name: "HMULL",
3952 argLen: 2,
3953 commutative: true,
3954 clobberFlags: true,
3955 asm: x86.AIMULL,
3956 reg: regInfo{
3957 inputs: []inputInfo{
3958 {0, 1},
3959 {1, 255},
3960 },
3961 clobbers: 1,
3962 outputs: []outputInfo{
3963 {0, 4},
3964 },
3965 },
3966 },
3967 {
3968 name: "HMULLU",
3969 argLen: 2,
3970 commutative: true,
3971 clobberFlags: true,
3972 asm: x86.AMULL,
3973 reg: regInfo{
3974 inputs: []inputInfo{
3975 {0, 1},
3976 {1, 255},
3977 },
3978 clobbers: 1,
3979 outputs: []outputInfo{
3980 {0, 4},
3981 },
3982 },
3983 },
3984 {
3985 name: "MULLQU",
3986 argLen: 2,
3987 commutative: true,
3988 clobberFlags: true,
3989 asm: x86.AMULL,
3990 reg: regInfo{
3991 inputs: []inputInfo{
3992 {0, 1},
3993 {1, 255},
3994 },
3995 outputs: []outputInfo{
3996 {0, 4},
3997 {1, 1},
3998 },
3999 },
4000 },
4001 {
4002 name: "AVGLU",
4003 argLen: 2,
4004 commutative: true,
4005 resultInArg0: true,
4006 clobberFlags: true,
4007 reg: regInfo{
4008 inputs: []inputInfo{
4009 {0, 239},
4010 {1, 239},
4011 },
4012 outputs: []outputInfo{
4013 {0, 239},
4014 },
4015 },
4016 },
4017 {
4018 name: "DIVL",
4019 auxType: auxBool,
4020 argLen: 2,
4021 clobberFlags: true,
4022 asm: x86.AIDIVL,
4023 reg: regInfo{
4024 inputs: []inputInfo{
4025 {0, 1},
4026 {1, 251},
4027 },
4028 clobbers: 4,
4029 outputs: []outputInfo{
4030 {0, 1},
4031 },
4032 },
4033 },
4034 {
4035 name: "DIVW",
4036 auxType: auxBool,
4037 argLen: 2,
4038 clobberFlags: true,
4039 asm: x86.AIDIVW,
4040 reg: regInfo{
4041 inputs: []inputInfo{
4042 {0, 1},
4043 {1, 251},
4044 },
4045 clobbers: 4,
4046 outputs: []outputInfo{
4047 {0, 1},
4048 },
4049 },
4050 },
4051 {
4052 name: "DIVLU",
4053 argLen: 2,
4054 clobberFlags: true,
4055 asm: x86.ADIVL,
4056 reg: regInfo{
4057 inputs: []inputInfo{
4058 {0, 1},
4059 {1, 251},
4060 },
4061 clobbers: 4,
4062 outputs: []outputInfo{
4063 {0, 1},
4064 },
4065 },
4066 },
4067 {
4068 name: "DIVWU",
4069 argLen: 2,
4070 clobberFlags: true,
4071 asm: x86.ADIVW,
4072 reg: regInfo{
4073 inputs: []inputInfo{
4074 {0, 1},
4075 {1, 251},
4076 },
4077 clobbers: 4,
4078 outputs: []outputInfo{
4079 {0, 1},
4080 },
4081 },
4082 },
4083 {
4084 name: "MODL",
4085 auxType: auxBool,
4086 argLen: 2,
4087 clobberFlags: true,
4088 asm: x86.AIDIVL,
4089 reg: regInfo{
4090 inputs: []inputInfo{
4091 {0, 1},
4092 {1, 251},
4093 },
4094 clobbers: 1,
4095 outputs: []outputInfo{
4096 {0, 4},
4097 },
4098 },
4099 },
4100 {
4101 name: "MODW",
4102 auxType: auxBool,
4103 argLen: 2,
4104 clobberFlags: true,
4105 asm: x86.AIDIVW,
4106 reg: regInfo{
4107 inputs: []inputInfo{
4108 {0, 1},
4109 {1, 251},
4110 },
4111 clobbers: 1,
4112 outputs: []outputInfo{
4113 {0, 4},
4114 },
4115 },
4116 },
4117 {
4118 name: "MODLU",
4119 argLen: 2,
4120 clobberFlags: true,
4121 asm: x86.ADIVL,
4122 reg: regInfo{
4123 inputs: []inputInfo{
4124 {0, 1},
4125 {1, 251},
4126 },
4127 clobbers: 1,
4128 outputs: []outputInfo{
4129 {0, 4},
4130 },
4131 },
4132 },
4133 {
4134 name: "MODWU",
4135 argLen: 2,
4136 clobberFlags: true,
4137 asm: x86.ADIVW,
4138 reg: regInfo{
4139 inputs: []inputInfo{
4140 {0, 1},
4141 {1, 251},
4142 },
4143 clobbers: 1,
4144 outputs: []outputInfo{
4145 {0, 4},
4146 },
4147 },
4148 },
4149 {
4150 name: "ANDL",
4151 argLen: 2,
4152 commutative: true,
4153 resultInArg0: true,
4154 clobberFlags: true,
4155 asm: x86.AANDL,
4156 reg: regInfo{
4157 inputs: []inputInfo{
4158 {0, 239},
4159 {1, 239},
4160 },
4161 outputs: []outputInfo{
4162 {0, 239},
4163 },
4164 },
4165 },
4166 {
4167 name: "ANDLconst",
4168 auxType: auxInt32,
4169 argLen: 1,
4170 resultInArg0: true,
4171 clobberFlags: true,
4172 asm: x86.AANDL,
4173 reg: regInfo{
4174 inputs: []inputInfo{
4175 {0, 239},
4176 },
4177 outputs: []outputInfo{
4178 {0, 239},
4179 },
4180 },
4181 },
4182 {
4183 name: "ORL",
4184 argLen: 2,
4185 commutative: true,
4186 resultInArg0: true,
4187 clobberFlags: true,
4188 asm: x86.AORL,
4189 reg: regInfo{
4190 inputs: []inputInfo{
4191 {0, 239},
4192 {1, 239},
4193 },
4194 outputs: []outputInfo{
4195 {0, 239},
4196 },
4197 },
4198 },
4199 {
4200 name: "ORLconst",
4201 auxType: auxInt32,
4202 argLen: 1,
4203 resultInArg0: true,
4204 clobberFlags: true,
4205 asm: x86.AORL,
4206 reg: regInfo{
4207 inputs: []inputInfo{
4208 {0, 239},
4209 },
4210 outputs: []outputInfo{
4211 {0, 239},
4212 },
4213 },
4214 },
4215 {
4216 name: "XORL",
4217 argLen: 2,
4218 commutative: true,
4219 resultInArg0: true,
4220 clobberFlags: true,
4221 asm: x86.AXORL,
4222 reg: regInfo{
4223 inputs: []inputInfo{
4224 {0, 239},
4225 {1, 239},
4226 },
4227 outputs: []outputInfo{
4228 {0, 239},
4229 },
4230 },
4231 },
4232 {
4233 name: "XORLconst",
4234 auxType: auxInt32,
4235 argLen: 1,
4236 resultInArg0: true,
4237 clobberFlags: true,
4238 asm: x86.AXORL,
4239 reg: regInfo{
4240 inputs: []inputInfo{
4241 {0, 239},
4242 },
4243 outputs: []outputInfo{
4244 {0, 239},
4245 },
4246 },
4247 },
4248 {
4249 name: "CMPL",
4250 argLen: 2,
4251 asm: x86.ACMPL,
4252 reg: regInfo{
4253 inputs: []inputInfo{
4254 {0, 255},
4255 {1, 255},
4256 },
4257 },
4258 },
4259 {
4260 name: "CMPW",
4261 argLen: 2,
4262 asm: x86.ACMPW,
4263 reg: regInfo{
4264 inputs: []inputInfo{
4265 {0, 255},
4266 {1, 255},
4267 },
4268 },
4269 },
4270 {
4271 name: "CMPB",
4272 argLen: 2,
4273 asm: x86.ACMPB,
4274 reg: regInfo{
4275 inputs: []inputInfo{
4276 {0, 255},
4277 {1, 255},
4278 },
4279 },
4280 },
4281 {
4282 name: "CMPLconst",
4283 auxType: auxInt32,
4284 argLen: 1,
4285 asm: x86.ACMPL,
4286 reg: regInfo{
4287 inputs: []inputInfo{
4288 {0, 255},
4289 },
4290 },
4291 },
4292 {
4293 name: "CMPWconst",
4294 auxType: auxInt16,
4295 argLen: 1,
4296 asm: x86.ACMPW,
4297 reg: regInfo{
4298 inputs: []inputInfo{
4299 {0, 255},
4300 },
4301 },
4302 },
4303 {
4304 name: "CMPBconst",
4305 auxType: auxInt8,
4306 argLen: 1,
4307 asm: x86.ACMPB,
4308 reg: regInfo{
4309 inputs: []inputInfo{
4310 {0, 255},
4311 },
4312 },
4313 },
4314 {
4315 name: "CMPLload",
4316 auxType: auxSymOff,
4317 argLen: 3,
4318 faultOnNilArg0: true,
4319 symEffect: SymRead,
4320 asm: x86.ACMPL,
4321 reg: regInfo{
4322 inputs: []inputInfo{
4323 {1, 255},
4324 {0, 65791},
4325 },
4326 },
4327 },
4328 {
4329 name: "CMPWload",
4330 auxType: auxSymOff,
4331 argLen: 3,
4332 faultOnNilArg0: true,
4333 symEffect: SymRead,
4334 asm: x86.ACMPW,
4335 reg: regInfo{
4336 inputs: []inputInfo{
4337 {1, 255},
4338 {0, 65791},
4339 },
4340 },
4341 },
4342 {
4343 name: "CMPBload",
4344 auxType: auxSymOff,
4345 argLen: 3,
4346 faultOnNilArg0: true,
4347 symEffect: SymRead,
4348 asm: x86.ACMPB,
4349 reg: regInfo{
4350 inputs: []inputInfo{
4351 {1, 255},
4352 {0, 65791},
4353 },
4354 },
4355 },
4356 {
4357 name: "CMPLconstload",
4358 auxType: auxSymValAndOff,
4359 argLen: 2,
4360 faultOnNilArg0: true,
4361 symEffect: SymRead,
4362 asm: x86.ACMPL,
4363 reg: regInfo{
4364 inputs: []inputInfo{
4365 {0, 65791},
4366 },
4367 },
4368 },
4369 {
4370 name: "CMPWconstload",
4371 auxType: auxSymValAndOff,
4372 argLen: 2,
4373 faultOnNilArg0: true,
4374 symEffect: SymRead,
4375 asm: x86.ACMPW,
4376 reg: regInfo{
4377 inputs: []inputInfo{
4378 {0, 65791},
4379 },
4380 },
4381 },
4382 {
4383 name: "CMPBconstload",
4384 auxType: auxSymValAndOff,
4385 argLen: 2,
4386 faultOnNilArg0: true,
4387 symEffect: SymRead,
4388 asm: x86.ACMPB,
4389 reg: regInfo{
4390 inputs: []inputInfo{
4391 {0, 65791},
4392 },
4393 },
4394 },
4395 {
4396 name: "UCOMISS",
4397 argLen: 2,
4398 asm: x86.AUCOMISS,
4399 reg: regInfo{
4400 inputs: []inputInfo{
4401 {0, 65280},
4402 {1, 65280},
4403 },
4404 },
4405 },
4406 {
4407 name: "UCOMISD",
4408 argLen: 2,
4409 asm: x86.AUCOMISD,
4410 reg: regInfo{
4411 inputs: []inputInfo{
4412 {0, 65280},
4413 {1, 65280},
4414 },
4415 },
4416 },
4417 {
4418 name: "TESTL",
4419 argLen: 2,
4420 commutative: true,
4421 asm: x86.ATESTL,
4422 reg: regInfo{
4423 inputs: []inputInfo{
4424 {0, 255},
4425 {1, 255},
4426 },
4427 },
4428 },
4429 {
4430 name: "TESTW",
4431 argLen: 2,
4432 commutative: true,
4433 asm: x86.ATESTW,
4434 reg: regInfo{
4435 inputs: []inputInfo{
4436 {0, 255},
4437 {1, 255},
4438 },
4439 },
4440 },
4441 {
4442 name: "TESTB",
4443 argLen: 2,
4444 commutative: true,
4445 asm: x86.ATESTB,
4446 reg: regInfo{
4447 inputs: []inputInfo{
4448 {0, 255},
4449 {1, 255},
4450 },
4451 },
4452 },
4453 {
4454 name: "TESTLconst",
4455 auxType: auxInt32,
4456 argLen: 1,
4457 asm: x86.ATESTL,
4458 reg: regInfo{
4459 inputs: []inputInfo{
4460 {0, 255},
4461 },
4462 },
4463 },
4464 {
4465 name: "TESTWconst",
4466 auxType: auxInt16,
4467 argLen: 1,
4468 asm: x86.ATESTW,
4469 reg: regInfo{
4470 inputs: []inputInfo{
4471 {0, 255},
4472 },
4473 },
4474 },
4475 {
4476 name: "TESTBconst",
4477 auxType: auxInt8,
4478 argLen: 1,
4479 asm: x86.ATESTB,
4480 reg: regInfo{
4481 inputs: []inputInfo{
4482 {0, 255},
4483 },
4484 },
4485 },
4486 {
4487 name: "SHLL",
4488 argLen: 2,
4489 resultInArg0: true,
4490 clobberFlags: true,
4491 asm: x86.ASHLL,
4492 reg: regInfo{
4493 inputs: []inputInfo{
4494 {1, 2},
4495 {0, 239},
4496 },
4497 outputs: []outputInfo{
4498 {0, 239},
4499 },
4500 },
4501 },
4502 {
4503 name: "SHLLconst",
4504 auxType: auxInt32,
4505 argLen: 1,
4506 resultInArg0: true,
4507 clobberFlags: true,
4508 asm: x86.ASHLL,
4509 reg: regInfo{
4510 inputs: []inputInfo{
4511 {0, 239},
4512 },
4513 outputs: []outputInfo{
4514 {0, 239},
4515 },
4516 },
4517 },
4518 {
4519 name: "SHRL",
4520 argLen: 2,
4521 resultInArg0: true,
4522 clobberFlags: true,
4523 asm: x86.ASHRL,
4524 reg: regInfo{
4525 inputs: []inputInfo{
4526 {1, 2},
4527 {0, 239},
4528 },
4529 outputs: []outputInfo{
4530 {0, 239},
4531 },
4532 },
4533 },
4534 {
4535 name: "SHRW",
4536 argLen: 2,
4537 resultInArg0: true,
4538 clobberFlags: true,
4539 asm: x86.ASHRW,
4540 reg: regInfo{
4541 inputs: []inputInfo{
4542 {1, 2},
4543 {0, 239},
4544 },
4545 outputs: []outputInfo{
4546 {0, 239},
4547 },
4548 },
4549 },
4550 {
4551 name: "SHRB",
4552 argLen: 2,
4553 resultInArg0: true,
4554 clobberFlags: true,
4555 asm: x86.ASHRB,
4556 reg: regInfo{
4557 inputs: []inputInfo{
4558 {1, 2},
4559 {0, 239},
4560 },
4561 outputs: []outputInfo{
4562 {0, 239},
4563 },
4564 },
4565 },
4566 {
4567 name: "SHRLconst",
4568 auxType: auxInt32,
4569 argLen: 1,
4570 resultInArg0: true,
4571 clobberFlags: true,
4572 asm: x86.ASHRL,
4573 reg: regInfo{
4574 inputs: []inputInfo{
4575 {0, 239},
4576 },
4577 outputs: []outputInfo{
4578 {0, 239},
4579 },
4580 },
4581 },
4582 {
4583 name: "SHRWconst",
4584 auxType: auxInt16,
4585 argLen: 1,
4586 resultInArg0: true,
4587 clobberFlags: true,
4588 asm: x86.ASHRW,
4589 reg: regInfo{
4590 inputs: []inputInfo{
4591 {0, 239},
4592 },
4593 outputs: []outputInfo{
4594 {0, 239},
4595 },
4596 },
4597 },
4598 {
4599 name: "SHRBconst",
4600 auxType: auxInt8,
4601 argLen: 1,
4602 resultInArg0: true,
4603 clobberFlags: true,
4604 asm: x86.ASHRB,
4605 reg: regInfo{
4606 inputs: []inputInfo{
4607 {0, 239},
4608 },
4609 outputs: []outputInfo{
4610 {0, 239},
4611 },
4612 },
4613 },
4614 {
4615 name: "SARL",
4616 argLen: 2,
4617 resultInArg0: true,
4618 clobberFlags: true,
4619 asm: x86.ASARL,
4620 reg: regInfo{
4621 inputs: []inputInfo{
4622 {1, 2},
4623 {0, 239},
4624 },
4625 outputs: []outputInfo{
4626 {0, 239},
4627 },
4628 },
4629 },
4630 {
4631 name: "SARW",
4632 argLen: 2,
4633 resultInArg0: true,
4634 clobberFlags: true,
4635 asm: x86.ASARW,
4636 reg: regInfo{
4637 inputs: []inputInfo{
4638 {1, 2},
4639 {0, 239},
4640 },
4641 outputs: []outputInfo{
4642 {0, 239},
4643 },
4644 },
4645 },
4646 {
4647 name: "SARB",
4648 argLen: 2,
4649 resultInArg0: true,
4650 clobberFlags: true,
4651 asm: x86.ASARB,
4652 reg: regInfo{
4653 inputs: []inputInfo{
4654 {1, 2},
4655 {0, 239},
4656 },
4657 outputs: []outputInfo{
4658 {0, 239},
4659 },
4660 },
4661 },
4662 {
4663 name: "SARLconst",
4664 auxType: auxInt32,
4665 argLen: 1,
4666 resultInArg0: true,
4667 clobberFlags: true,
4668 asm: x86.ASARL,
4669 reg: regInfo{
4670 inputs: []inputInfo{
4671 {0, 239},
4672 },
4673 outputs: []outputInfo{
4674 {0, 239},
4675 },
4676 },
4677 },
4678 {
4679 name: "SARWconst",
4680 auxType: auxInt16,
4681 argLen: 1,
4682 resultInArg0: true,
4683 clobberFlags: true,
4684 asm: x86.ASARW,
4685 reg: regInfo{
4686 inputs: []inputInfo{
4687 {0, 239},
4688 },
4689 outputs: []outputInfo{
4690 {0, 239},
4691 },
4692 },
4693 },
4694 {
4695 name: "SARBconst",
4696 auxType: auxInt8,
4697 argLen: 1,
4698 resultInArg0: true,
4699 clobberFlags: true,
4700 asm: x86.ASARB,
4701 reg: regInfo{
4702 inputs: []inputInfo{
4703 {0, 239},
4704 },
4705 outputs: []outputInfo{
4706 {0, 239},
4707 },
4708 },
4709 },
4710 {
4711 name: "ROLL",
4712 argLen: 2,
4713 resultInArg0: true,
4714 clobberFlags: true,
4715 asm: x86.AROLL,
4716 reg: regInfo{
4717 inputs: []inputInfo{
4718 {1, 2},
4719 {0, 239},
4720 },
4721 outputs: []outputInfo{
4722 {0, 239},
4723 },
4724 },
4725 },
4726 {
4727 name: "ROLW",
4728 argLen: 2,
4729 resultInArg0: true,
4730 clobberFlags: true,
4731 asm: x86.AROLW,
4732 reg: regInfo{
4733 inputs: []inputInfo{
4734 {1, 2},
4735 {0, 239},
4736 },
4737 outputs: []outputInfo{
4738 {0, 239},
4739 },
4740 },
4741 },
4742 {
4743 name: "ROLB",
4744 argLen: 2,
4745 resultInArg0: true,
4746 clobberFlags: true,
4747 asm: x86.AROLB,
4748 reg: regInfo{
4749 inputs: []inputInfo{
4750 {1, 2},
4751 {0, 239},
4752 },
4753 outputs: []outputInfo{
4754 {0, 239},
4755 },
4756 },
4757 },
4758 {
4759 name: "ROLLconst",
4760 auxType: auxInt32,
4761 argLen: 1,
4762 resultInArg0: true,
4763 clobberFlags: true,
4764 asm: x86.AROLL,
4765 reg: regInfo{
4766 inputs: []inputInfo{
4767 {0, 239},
4768 },
4769 outputs: []outputInfo{
4770 {0, 239},
4771 },
4772 },
4773 },
4774 {
4775 name: "ROLWconst",
4776 auxType: auxInt16,
4777 argLen: 1,
4778 resultInArg0: true,
4779 clobberFlags: true,
4780 asm: x86.AROLW,
4781 reg: regInfo{
4782 inputs: []inputInfo{
4783 {0, 239},
4784 },
4785 outputs: []outputInfo{
4786 {0, 239},
4787 },
4788 },
4789 },
4790 {
4791 name: "ROLBconst",
4792 auxType: auxInt8,
4793 argLen: 1,
4794 resultInArg0: true,
4795 clobberFlags: true,
4796 asm: x86.AROLB,
4797 reg: regInfo{
4798 inputs: []inputInfo{
4799 {0, 239},
4800 },
4801 outputs: []outputInfo{
4802 {0, 239},
4803 },
4804 },
4805 },
4806 {
4807 name: "ADDLload",
4808 auxType: auxSymOff,
4809 argLen: 3,
4810 resultInArg0: true,
4811 clobberFlags: true,
4812 faultOnNilArg1: true,
4813 symEffect: SymRead,
4814 asm: x86.AADDL,
4815 reg: regInfo{
4816 inputs: []inputInfo{
4817 {0, 239},
4818 {1, 65791},
4819 },
4820 outputs: []outputInfo{
4821 {0, 239},
4822 },
4823 },
4824 },
4825 {
4826 name: "SUBLload",
4827 auxType: auxSymOff,
4828 argLen: 3,
4829 resultInArg0: true,
4830 clobberFlags: true,
4831 faultOnNilArg1: true,
4832 symEffect: SymRead,
4833 asm: x86.ASUBL,
4834 reg: regInfo{
4835 inputs: []inputInfo{
4836 {0, 239},
4837 {1, 65791},
4838 },
4839 outputs: []outputInfo{
4840 {0, 239},
4841 },
4842 },
4843 },
4844 {
4845 name: "MULLload",
4846 auxType: auxSymOff,
4847 argLen: 3,
4848 resultInArg0: true,
4849 clobberFlags: true,
4850 faultOnNilArg1: true,
4851 symEffect: SymRead,
4852 asm: x86.AIMULL,
4853 reg: regInfo{
4854 inputs: []inputInfo{
4855 {0, 239},
4856 {1, 65791},
4857 },
4858 outputs: []outputInfo{
4859 {0, 239},
4860 },
4861 },
4862 },
4863 {
4864 name: "ANDLload",
4865 auxType: auxSymOff,
4866 argLen: 3,
4867 resultInArg0: true,
4868 clobberFlags: true,
4869 faultOnNilArg1: true,
4870 symEffect: SymRead,
4871 asm: x86.AANDL,
4872 reg: regInfo{
4873 inputs: []inputInfo{
4874 {0, 239},
4875 {1, 65791},
4876 },
4877 outputs: []outputInfo{
4878 {0, 239},
4879 },
4880 },
4881 },
4882 {
4883 name: "ORLload",
4884 auxType: auxSymOff,
4885 argLen: 3,
4886 resultInArg0: true,
4887 clobberFlags: true,
4888 faultOnNilArg1: true,
4889 symEffect: SymRead,
4890 asm: x86.AORL,
4891 reg: regInfo{
4892 inputs: []inputInfo{
4893 {0, 239},
4894 {1, 65791},
4895 },
4896 outputs: []outputInfo{
4897 {0, 239},
4898 },
4899 },
4900 },
4901 {
4902 name: "XORLload",
4903 auxType: auxSymOff,
4904 argLen: 3,
4905 resultInArg0: true,
4906 clobberFlags: true,
4907 faultOnNilArg1: true,
4908 symEffect: SymRead,
4909 asm: x86.AXORL,
4910 reg: regInfo{
4911 inputs: []inputInfo{
4912 {0, 239},
4913 {1, 65791},
4914 },
4915 outputs: []outputInfo{
4916 {0, 239},
4917 },
4918 },
4919 },
4920 {
4921 name: "ADDLloadidx4",
4922 auxType: auxSymOff,
4923 argLen: 4,
4924 resultInArg0: true,
4925 clobberFlags: true,
4926 symEffect: SymRead,
4927 asm: x86.AADDL,
4928 reg: regInfo{
4929 inputs: []inputInfo{
4930 {0, 239},
4931 {2, 255},
4932 {1, 65791},
4933 },
4934 outputs: []outputInfo{
4935 {0, 239},
4936 },
4937 },
4938 },
4939 {
4940 name: "SUBLloadidx4",
4941 auxType: auxSymOff,
4942 argLen: 4,
4943 resultInArg0: true,
4944 clobberFlags: true,
4945 symEffect: SymRead,
4946 asm: x86.ASUBL,
4947 reg: regInfo{
4948 inputs: []inputInfo{
4949 {0, 239},
4950 {2, 255},
4951 {1, 65791},
4952 },
4953 outputs: []outputInfo{
4954 {0, 239},
4955 },
4956 },
4957 },
4958 {
4959 name: "MULLloadidx4",
4960 auxType: auxSymOff,
4961 argLen: 4,
4962 resultInArg0: true,
4963 clobberFlags: true,
4964 symEffect: SymRead,
4965 asm: x86.AIMULL,
4966 reg: regInfo{
4967 inputs: []inputInfo{
4968 {0, 239},
4969 {2, 255},
4970 {1, 65791},
4971 },
4972 outputs: []outputInfo{
4973 {0, 239},
4974 },
4975 },
4976 },
4977 {
4978 name: "ANDLloadidx4",
4979 auxType: auxSymOff,
4980 argLen: 4,
4981 resultInArg0: true,
4982 clobberFlags: true,
4983 symEffect: SymRead,
4984 asm: x86.AANDL,
4985 reg: regInfo{
4986 inputs: []inputInfo{
4987 {0, 239},
4988 {2, 255},
4989 {1, 65791},
4990 },
4991 outputs: []outputInfo{
4992 {0, 239},
4993 },
4994 },
4995 },
4996 {
4997 name: "ORLloadidx4",
4998 auxType: auxSymOff,
4999 argLen: 4,
5000 resultInArg0: true,
5001 clobberFlags: true,
5002 symEffect: SymRead,
5003 asm: x86.AORL,
5004 reg: regInfo{
5005 inputs: []inputInfo{
5006 {0, 239},
5007 {2, 255},
5008 {1, 65791},
5009 },
5010 outputs: []outputInfo{
5011 {0, 239},
5012 },
5013 },
5014 },
5015 {
5016 name: "XORLloadidx4",
5017 auxType: auxSymOff,
5018 argLen: 4,
5019 resultInArg0: true,
5020 clobberFlags: true,
5021 symEffect: SymRead,
5022 asm: x86.AXORL,
5023 reg: regInfo{
5024 inputs: []inputInfo{
5025 {0, 239},
5026 {2, 255},
5027 {1, 65791},
5028 },
5029 outputs: []outputInfo{
5030 {0, 239},
5031 },
5032 },
5033 },
5034 {
5035 name: "NEGL",
5036 argLen: 1,
5037 resultInArg0: true,
5038 clobberFlags: true,
5039 asm: x86.ANEGL,
5040 reg: regInfo{
5041 inputs: []inputInfo{
5042 {0, 239},
5043 },
5044 outputs: []outputInfo{
5045 {0, 239},
5046 },
5047 },
5048 },
5049 {
5050 name: "NOTL",
5051 argLen: 1,
5052 resultInArg0: true,
5053 asm: x86.ANOTL,
5054 reg: regInfo{
5055 inputs: []inputInfo{
5056 {0, 239},
5057 },
5058 outputs: []outputInfo{
5059 {0, 239},
5060 },
5061 },
5062 },
5063 {
5064 name: "BSFL",
5065 argLen: 1,
5066 clobberFlags: true,
5067 asm: x86.ABSFL,
5068 reg: regInfo{
5069 inputs: []inputInfo{
5070 {0, 239},
5071 },
5072 outputs: []outputInfo{
5073 {0, 239},
5074 },
5075 },
5076 },
5077 {
5078 name: "BSFW",
5079 argLen: 1,
5080 clobberFlags: true,
5081 asm: x86.ABSFW,
5082 reg: regInfo{
5083 inputs: []inputInfo{
5084 {0, 239},
5085 },
5086 outputs: []outputInfo{
5087 {0, 239},
5088 },
5089 },
5090 },
5091 {
5092 name: "LoweredCtz32",
5093 argLen: 1,
5094 clobberFlags: true,
5095 reg: regInfo{
5096 inputs: []inputInfo{
5097 {0, 239},
5098 },
5099 outputs: []outputInfo{
5100 {0, 239},
5101 },
5102 },
5103 },
5104 {
5105 name: "BSRL",
5106 argLen: 1,
5107 clobberFlags: true,
5108 asm: x86.ABSRL,
5109 reg: regInfo{
5110 inputs: []inputInfo{
5111 {0, 239},
5112 },
5113 outputs: []outputInfo{
5114 {0, 239},
5115 },
5116 },
5117 },
5118 {
5119 name: "BSRW",
5120 argLen: 1,
5121 clobberFlags: true,
5122 asm: x86.ABSRW,
5123 reg: regInfo{
5124 inputs: []inputInfo{
5125 {0, 239},
5126 },
5127 outputs: []outputInfo{
5128 {0, 239},
5129 },
5130 },
5131 },
5132 {
5133 name: "BSWAPL",
5134 argLen: 1,
5135 resultInArg0: true,
5136 asm: x86.ABSWAPL,
5137 reg: regInfo{
5138 inputs: []inputInfo{
5139 {0, 239},
5140 },
5141 outputs: []outputInfo{
5142 {0, 239},
5143 },
5144 },
5145 },
5146 {
5147 name: "SQRTSD",
5148 argLen: 1,
5149 asm: x86.ASQRTSD,
5150 reg: regInfo{
5151 inputs: []inputInfo{
5152 {0, 65280},
5153 },
5154 outputs: []outputInfo{
5155 {0, 65280},
5156 },
5157 },
5158 },
5159 {
5160 name: "SQRTSS",
5161 argLen: 1,
5162 asm: x86.ASQRTSS,
5163 reg: regInfo{
5164 inputs: []inputInfo{
5165 {0, 65280},
5166 },
5167 outputs: []outputInfo{
5168 {0, 65280},
5169 },
5170 },
5171 },
5172 {
5173 name: "SBBLcarrymask",
5174 argLen: 1,
5175 asm: x86.ASBBL,
5176 reg: regInfo{
5177 outputs: []outputInfo{
5178 {0, 239},
5179 },
5180 },
5181 },
5182 {
5183 name: "SETEQ",
5184 argLen: 1,
5185 asm: x86.ASETEQ,
5186 reg: regInfo{
5187 outputs: []outputInfo{
5188 {0, 239},
5189 },
5190 },
5191 },
5192 {
5193 name: "SETNE",
5194 argLen: 1,
5195 asm: x86.ASETNE,
5196 reg: regInfo{
5197 outputs: []outputInfo{
5198 {0, 239},
5199 },
5200 },
5201 },
5202 {
5203 name: "SETL",
5204 argLen: 1,
5205 asm: x86.ASETLT,
5206 reg: regInfo{
5207 outputs: []outputInfo{
5208 {0, 239},
5209 },
5210 },
5211 },
5212 {
5213 name: "SETLE",
5214 argLen: 1,
5215 asm: x86.ASETLE,
5216 reg: regInfo{
5217 outputs: []outputInfo{
5218 {0, 239},
5219 },
5220 },
5221 },
5222 {
5223 name: "SETG",
5224 argLen: 1,
5225 asm: x86.ASETGT,
5226 reg: regInfo{
5227 outputs: []outputInfo{
5228 {0, 239},
5229 },
5230 },
5231 },
5232 {
5233 name: "SETGE",
5234 argLen: 1,
5235 asm: x86.ASETGE,
5236 reg: regInfo{
5237 outputs: []outputInfo{
5238 {0, 239},
5239 },
5240 },
5241 },
5242 {
5243 name: "SETB",
5244 argLen: 1,
5245 asm: x86.ASETCS,
5246 reg: regInfo{
5247 outputs: []outputInfo{
5248 {0, 239},
5249 },
5250 },
5251 },
5252 {
5253 name: "SETBE",
5254 argLen: 1,
5255 asm: x86.ASETLS,
5256 reg: regInfo{
5257 outputs: []outputInfo{
5258 {0, 239},
5259 },
5260 },
5261 },
5262 {
5263 name: "SETA",
5264 argLen: 1,
5265 asm: x86.ASETHI,
5266 reg: regInfo{
5267 outputs: []outputInfo{
5268 {0, 239},
5269 },
5270 },
5271 },
5272 {
5273 name: "SETAE",
5274 argLen: 1,
5275 asm: x86.ASETCC,
5276 reg: regInfo{
5277 outputs: []outputInfo{
5278 {0, 239},
5279 },
5280 },
5281 },
5282 {
5283 name: "SETO",
5284 argLen: 1,
5285 asm: x86.ASETOS,
5286 reg: regInfo{
5287 outputs: []outputInfo{
5288 {0, 239},
5289 },
5290 },
5291 },
5292 {
5293 name: "SETEQF",
5294 argLen: 1,
5295 clobberFlags: true,
5296 asm: x86.ASETEQ,
5297 reg: regInfo{
5298 clobbers: 1,
5299 outputs: []outputInfo{
5300 {0, 238},
5301 },
5302 },
5303 },
5304 {
5305 name: "SETNEF",
5306 argLen: 1,
5307 clobberFlags: true,
5308 asm: x86.ASETNE,
5309 reg: regInfo{
5310 clobbers: 1,
5311 outputs: []outputInfo{
5312 {0, 238},
5313 },
5314 },
5315 },
5316 {
5317 name: "SETORD",
5318 argLen: 1,
5319 asm: x86.ASETPC,
5320 reg: regInfo{
5321 outputs: []outputInfo{
5322 {0, 239},
5323 },
5324 },
5325 },
5326 {
5327 name: "SETNAN",
5328 argLen: 1,
5329 asm: x86.ASETPS,
5330 reg: regInfo{
5331 outputs: []outputInfo{
5332 {0, 239},
5333 },
5334 },
5335 },
5336 {
5337 name: "SETGF",
5338 argLen: 1,
5339 asm: x86.ASETHI,
5340 reg: regInfo{
5341 outputs: []outputInfo{
5342 {0, 239},
5343 },
5344 },
5345 },
5346 {
5347 name: "SETGEF",
5348 argLen: 1,
5349 asm: x86.ASETCC,
5350 reg: regInfo{
5351 outputs: []outputInfo{
5352 {0, 239},
5353 },
5354 },
5355 },
5356 {
5357 name: "MOVBLSX",
5358 argLen: 1,
5359 asm: x86.AMOVBLSX,
5360 reg: regInfo{
5361 inputs: []inputInfo{
5362 {0, 239},
5363 },
5364 outputs: []outputInfo{
5365 {0, 239},
5366 },
5367 },
5368 },
5369 {
5370 name: "MOVBLZX",
5371 argLen: 1,
5372 asm: x86.AMOVBLZX,
5373 reg: regInfo{
5374 inputs: []inputInfo{
5375 {0, 239},
5376 },
5377 outputs: []outputInfo{
5378 {0, 239},
5379 },
5380 },
5381 },
5382 {
5383 name: "MOVWLSX",
5384 argLen: 1,
5385 asm: x86.AMOVWLSX,
5386 reg: regInfo{
5387 inputs: []inputInfo{
5388 {0, 239},
5389 },
5390 outputs: []outputInfo{
5391 {0, 239},
5392 },
5393 },
5394 },
5395 {
5396 name: "MOVWLZX",
5397 argLen: 1,
5398 asm: x86.AMOVWLZX,
5399 reg: regInfo{
5400 inputs: []inputInfo{
5401 {0, 239},
5402 },
5403 outputs: []outputInfo{
5404 {0, 239},
5405 },
5406 },
5407 },
5408 {
5409 name: "MOVLconst",
5410 auxType: auxInt32,
5411 argLen: 0,
5412 rematerializeable: true,
5413 asm: x86.AMOVL,
5414 reg: regInfo{
5415 outputs: []outputInfo{
5416 {0, 239},
5417 },
5418 },
5419 },
5420 {
5421 name: "CVTTSD2SL",
5422 argLen: 1,
5423 asm: x86.ACVTTSD2SL,
5424 reg: regInfo{
5425 inputs: []inputInfo{
5426 {0, 65280},
5427 },
5428 outputs: []outputInfo{
5429 {0, 239},
5430 },
5431 },
5432 },
5433 {
5434 name: "CVTTSS2SL",
5435 argLen: 1,
5436 asm: x86.ACVTTSS2SL,
5437 reg: regInfo{
5438 inputs: []inputInfo{
5439 {0, 65280},
5440 },
5441 outputs: []outputInfo{
5442 {0, 239},
5443 },
5444 },
5445 },
5446 {
5447 name: "CVTSL2SS",
5448 argLen: 1,
5449 asm: x86.ACVTSL2SS,
5450 reg: regInfo{
5451 inputs: []inputInfo{
5452 {0, 239},
5453 },
5454 outputs: []outputInfo{
5455 {0, 65280},
5456 },
5457 },
5458 },
5459 {
5460 name: "CVTSL2SD",
5461 argLen: 1,
5462 asm: x86.ACVTSL2SD,
5463 reg: regInfo{
5464 inputs: []inputInfo{
5465 {0, 239},
5466 },
5467 outputs: []outputInfo{
5468 {0, 65280},
5469 },
5470 },
5471 },
5472 {
5473 name: "CVTSD2SS",
5474 argLen: 1,
5475 asm: x86.ACVTSD2SS,
5476 reg: regInfo{
5477 inputs: []inputInfo{
5478 {0, 65280},
5479 },
5480 outputs: []outputInfo{
5481 {0, 65280},
5482 },
5483 },
5484 },
5485 {
5486 name: "CVTSS2SD",
5487 argLen: 1,
5488 asm: x86.ACVTSS2SD,
5489 reg: regInfo{
5490 inputs: []inputInfo{
5491 {0, 65280},
5492 },
5493 outputs: []outputInfo{
5494 {0, 65280},
5495 },
5496 },
5497 },
5498 {
5499 name: "PXOR",
5500 argLen: 2,
5501 commutative: true,
5502 resultInArg0: true,
5503 asm: x86.APXOR,
5504 reg: regInfo{
5505 inputs: []inputInfo{
5506 {0, 65280},
5507 {1, 65280},
5508 },
5509 outputs: []outputInfo{
5510 {0, 65280},
5511 },
5512 },
5513 },
5514 {
5515 name: "LEAL",
5516 auxType: auxSymOff,
5517 argLen: 1,
5518 rematerializeable: true,
5519 symEffect: SymAddr,
5520 reg: regInfo{
5521 inputs: []inputInfo{
5522 {0, 65791},
5523 },
5524 outputs: []outputInfo{
5525 {0, 239},
5526 },
5527 },
5528 },
5529 {
5530 name: "LEAL1",
5531 auxType: auxSymOff,
5532 argLen: 2,
5533 commutative: true,
5534 symEffect: SymAddr,
5535 reg: regInfo{
5536 inputs: []inputInfo{
5537 {1, 255},
5538 {0, 65791},
5539 },
5540 outputs: []outputInfo{
5541 {0, 239},
5542 },
5543 },
5544 },
5545 {
5546 name: "LEAL2",
5547 auxType: auxSymOff,
5548 argLen: 2,
5549 symEffect: SymAddr,
5550 reg: regInfo{
5551 inputs: []inputInfo{
5552 {1, 255},
5553 {0, 65791},
5554 },
5555 outputs: []outputInfo{
5556 {0, 239},
5557 },
5558 },
5559 },
5560 {
5561 name: "LEAL4",
5562 auxType: auxSymOff,
5563 argLen: 2,
5564 symEffect: SymAddr,
5565 reg: regInfo{
5566 inputs: []inputInfo{
5567 {1, 255},
5568 {0, 65791},
5569 },
5570 outputs: []outputInfo{
5571 {0, 239},
5572 },
5573 },
5574 },
5575 {
5576 name: "LEAL8",
5577 auxType: auxSymOff,
5578 argLen: 2,
5579 symEffect: SymAddr,
5580 reg: regInfo{
5581 inputs: []inputInfo{
5582 {1, 255},
5583 {0, 65791},
5584 },
5585 outputs: []outputInfo{
5586 {0, 239},
5587 },
5588 },
5589 },
5590 {
5591 name: "MOVBload",
5592 auxType: auxSymOff,
5593 argLen: 2,
5594 faultOnNilArg0: true,
5595 symEffect: SymRead,
5596 asm: x86.AMOVBLZX,
5597 reg: regInfo{
5598 inputs: []inputInfo{
5599 {0, 65791},
5600 },
5601 outputs: []outputInfo{
5602 {0, 239},
5603 },
5604 },
5605 },
5606 {
5607 name: "MOVBLSXload",
5608 auxType: auxSymOff,
5609 argLen: 2,
5610 faultOnNilArg0: true,
5611 symEffect: SymRead,
5612 asm: x86.AMOVBLSX,
5613 reg: regInfo{
5614 inputs: []inputInfo{
5615 {0, 65791},
5616 },
5617 outputs: []outputInfo{
5618 {0, 239},
5619 },
5620 },
5621 },
5622 {
5623 name: "MOVWload",
5624 auxType: auxSymOff,
5625 argLen: 2,
5626 faultOnNilArg0: true,
5627 symEffect: SymRead,
5628 asm: x86.AMOVWLZX,
5629 reg: regInfo{
5630 inputs: []inputInfo{
5631 {0, 65791},
5632 },
5633 outputs: []outputInfo{
5634 {0, 239},
5635 },
5636 },
5637 },
5638 {
5639 name: "MOVWLSXload",
5640 auxType: auxSymOff,
5641 argLen: 2,
5642 faultOnNilArg0: true,
5643 symEffect: SymRead,
5644 asm: x86.AMOVWLSX,
5645 reg: regInfo{
5646 inputs: []inputInfo{
5647 {0, 65791},
5648 },
5649 outputs: []outputInfo{
5650 {0, 239},
5651 },
5652 },
5653 },
5654 {
5655 name: "MOVLload",
5656 auxType: auxSymOff,
5657 argLen: 2,
5658 faultOnNilArg0: true,
5659 symEffect: SymRead,
5660 asm: x86.AMOVL,
5661 reg: regInfo{
5662 inputs: []inputInfo{
5663 {0, 65791},
5664 },
5665 outputs: []outputInfo{
5666 {0, 239},
5667 },
5668 },
5669 },
5670 {
5671 name: "MOVBstore",
5672 auxType: auxSymOff,
5673 argLen: 3,
5674 faultOnNilArg0: true,
5675 symEffect: SymWrite,
5676 asm: x86.AMOVB,
5677 reg: regInfo{
5678 inputs: []inputInfo{
5679 {1, 255},
5680 {0, 65791},
5681 },
5682 },
5683 },
5684 {
5685 name: "MOVWstore",
5686 auxType: auxSymOff,
5687 argLen: 3,
5688 faultOnNilArg0: true,
5689 symEffect: SymWrite,
5690 asm: x86.AMOVW,
5691 reg: regInfo{
5692 inputs: []inputInfo{
5693 {1, 255},
5694 {0, 65791},
5695 },
5696 },
5697 },
5698 {
5699 name: "MOVLstore",
5700 auxType: auxSymOff,
5701 argLen: 3,
5702 faultOnNilArg0: true,
5703 symEffect: SymWrite,
5704 asm: x86.AMOVL,
5705 reg: regInfo{
5706 inputs: []inputInfo{
5707 {1, 255},
5708 {0, 65791},
5709 },
5710 },
5711 },
5712 {
5713 name: "ADDLmodify",
5714 auxType: auxSymOff,
5715 argLen: 3,
5716 clobberFlags: true,
5717 faultOnNilArg0: true,
5718 symEffect: SymRead | SymWrite,
5719 asm: x86.AADDL,
5720 reg: regInfo{
5721 inputs: []inputInfo{
5722 {1, 255},
5723 {0, 65791},
5724 },
5725 },
5726 },
5727 {
5728 name: "SUBLmodify",
5729 auxType: auxSymOff,
5730 argLen: 3,
5731 clobberFlags: true,
5732 faultOnNilArg0: true,
5733 symEffect: SymRead | SymWrite,
5734 asm: x86.ASUBL,
5735 reg: regInfo{
5736 inputs: []inputInfo{
5737 {1, 255},
5738 {0, 65791},
5739 },
5740 },
5741 },
5742 {
5743 name: "ANDLmodify",
5744 auxType: auxSymOff,
5745 argLen: 3,
5746 clobberFlags: true,
5747 faultOnNilArg0: true,
5748 symEffect: SymRead | SymWrite,
5749 asm: x86.AANDL,
5750 reg: regInfo{
5751 inputs: []inputInfo{
5752 {1, 255},
5753 {0, 65791},
5754 },
5755 },
5756 },
5757 {
5758 name: "ORLmodify",
5759 auxType: auxSymOff,
5760 argLen: 3,
5761 clobberFlags: true,
5762 faultOnNilArg0: true,
5763 symEffect: SymRead | SymWrite,
5764 asm: x86.AORL,
5765 reg: regInfo{
5766 inputs: []inputInfo{
5767 {1, 255},
5768 {0, 65791},
5769 },
5770 },
5771 },
5772 {
5773 name: "XORLmodify",
5774 auxType: auxSymOff,
5775 argLen: 3,
5776 clobberFlags: true,
5777 faultOnNilArg0: true,
5778 symEffect: SymRead | SymWrite,
5779 asm: x86.AXORL,
5780 reg: regInfo{
5781 inputs: []inputInfo{
5782 {1, 255},
5783 {0, 65791},
5784 },
5785 },
5786 },
5787 {
5788 name: "ADDLmodifyidx4",
5789 auxType: auxSymOff,
5790 argLen: 4,
5791 clobberFlags: true,
5792 symEffect: SymRead | SymWrite,
5793 asm: x86.AADDL,
5794 reg: regInfo{
5795 inputs: []inputInfo{
5796 {1, 255},
5797 {2, 255},
5798 {0, 65791},
5799 },
5800 },
5801 },
5802 {
5803 name: "SUBLmodifyidx4",
5804 auxType: auxSymOff,
5805 argLen: 4,
5806 clobberFlags: true,
5807 symEffect: SymRead | SymWrite,
5808 asm: x86.ASUBL,
5809 reg: regInfo{
5810 inputs: []inputInfo{
5811 {1, 255},
5812 {2, 255},
5813 {0, 65791},
5814 },
5815 },
5816 },
5817 {
5818 name: "ANDLmodifyidx4",
5819 auxType: auxSymOff,
5820 argLen: 4,
5821 clobberFlags: true,
5822 symEffect: SymRead | SymWrite,
5823 asm: x86.AANDL,
5824 reg: regInfo{
5825 inputs: []inputInfo{
5826 {1, 255},
5827 {2, 255},
5828 {0, 65791},
5829 },
5830 },
5831 },
5832 {
5833 name: "ORLmodifyidx4",
5834 auxType: auxSymOff,
5835 argLen: 4,
5836 clobberFlags: true,
5837 symEffect: SymRead | SymWrite,
5838 asm: x86.AORL,
5839 reg: regInfo{
5840 inputs: []inputInfo{
5841 {1, 255},
5842 {2, 255},
5843 {0, 65791},
5844 },
5845 },
5846 },
5847 {
5848 name: "XORLmodifyidx4",
5849 auxType: auxSymOff,
5850 argLen: 4,
5851 clobberFlags: true,
5852 symEffect: SymRead | SymWrite,
5853 asm: x86.AXORL,
5854 reg: regInfo{
5855 inputs: []inputInfo{
5856 {1, 255},
5857 {2, 255},
5858 {0, 65791},
5859 },
5860 },
5861 },
5862 {
5863 name: "ADDLconstmodify",
5864 auxType: auxSymValAndOff,
5865 argLen: 2,
5866 clobberFlags: true,
5867 faultOnNilArg0: true,
5868 symEffect: SymRead | SymWrite,
5869 asm: x86.AADDL,
5870 reg: regInfo{
5871 inputs: []inputInfo{
5872 {0, 65791},
5873 },
5874 },
5875 },
5876 {
5877 name: "ANDLconstmodify",
5878 auxType: auxSymValAndOff,
5879 argLen: 2,
5880 clobberFlags: true,
5881 faultOnNilArg0: true,
5882 symEffect: SymRead | SymWrite,
5883 asm: x86.AANDL,
5884 reg: regInfo{
5885 inputs: []inputInfo{
5886 {0, 65791},
5887 },
5888 },
5889 },
5890 {
5891 name: "ORLconstmodify",
5892 auxType: auxSymValAndOff,
5893 argLen: 2,
5894 clobberFlags: true,
5895 faultOnNilArg0: true,
5896 symEffect: SymRead | SymWrite,
5897 asm: x86.AORL,
5898 reg: regInfo{
5899 inputs: []inputInfo{
5900 {0, 65791},
5901 },
5902 },
5903 },
5904 {
5905 name: "XORLconstmodify",
5906 auxType: auxSymValAndOff,
5907 argLen: 2,
5908 clobberFlags: true,
5909 faultOnNilArg0: true,
5910 symEffect: SymRead | SymWrite,
5911 asm: x86.AXORL,
5912 reg: regInfo{
5913 inputs: []inputInfo{
5914 {0, 65791},
5915 },
5916 },
5917 },
5918 {
5919 name: "ADDLconstmodifyidx4",
5920 auxType: auxSymValAndOff,
5921 argLen: 3,
5922 clobberFlags: true,
5923 symEffect: SymRead | SymWrite,
5924 asm: x86.AADDL,
5925 reg: regInfo{
5926 inputs: []inputInfo{
5927 {1, 255},
5928 {0, 65791},
5929 },
5930 },
5931 },
5932 {
5933 name: "ANDLconstmodifyidx4",
5934 auxType: auxSymValAndOff,
5935 argLen: 3,
5936 clobberFlags: true,
5937 symEffect: SymRead | SymWrite,
5938 asm: x86.AANDL,
5939 reg: regInfo{
5940 inputs: []inputInfo{
5941 {1, 255},
5942 {0, 65791},
5943 },
5944 },
5945 },
5946 {
5947 name: "ORLconstmodifyidx4",
5948 auxType: auxSymValAndOff,
5949 argLen: 3,
5950 clobberFlags: true,
5951 symEffect: SymRead | SymWrite,
5952 asm: x86.AORL,
5953 reg: regInfo{
5954 inputs: []inputInfo{
5955 {1, 255},
5956 {0, 65791},
5957 },
5958 },
5959 },
5960 {
5961 name: "XORLconstmodifyidx4",
5962 auxType: auxSymValAndOff,
5963 argLen: 3,
5964 clobberFlags: true,
5965 symEffect: SymRead | SymWrite,
5966 asm: x86.AXORL,
5967 reg: regInfo{
5968 inputs: []inputInfo{
5969 {1, 255},
5970 {0, 65791},
5971 },
5972 },
5973 },
5974 {
5975 name: "MOVBloadidx1",
5976 auxType: auxSymOff,
5977 argLen: 3,
5978 commutative: true,
5979 symEffect: SymRead,
5980 asm: x86.AMOVBLZX,
5981 reg: regInfo{
5982 inputs: []inputInfo{
5983 {1, 255},
5984 {0, 65791},
5985 },
5986 outputs: []outputInfo{
5987 {0, 239},
5988 },
5989 },
5990 },
5991 {
5992 name: "MOVWloadidx1",
5993 auxType: auxSymOff,
5994 argLen: 3,
5995 commutative: true,
5996 symEffect: SymRead,
5997 asm: x86.AMOVWLZX,
5998 reg: regInfo{
5999 inputs: []inputInfo{
6000 {1, 255},
6001 {0, 65791},
6002 },
6003 outputs: []outputInfo{
6004 {0, 239},
6005 },
6006 },
6007 },
6008 {
6009 name: "MOVWloadidx2",
6010 auxType: auxSymOff,
6011 argLen: 3,
6012 symEffect: SymRead,
6013 asm: x86.AMOVWLZX,
6014 reg: regInfo{
6015 inputs: []inputInfo{
6016 {1, 255},
6017 {0, 65791},
6018 },
6019 outputs: []outputInfo{
6020 {0, 239},
6021 },
6022 },
6023 },
6024 {
6025 name: "MOVLloadidx1",
6026 auxType: auxSymOff,
6027 argLen: 3,
6028 commutative: true,
6029 symEffect: SymRead,
6030 asm: x86.AMOVL,
6031 reg: regInfo{
6032 inputs: []inputInfo{
6033 {1, 255},
6034 {0, 65791},
6035 },
6036 outputs: []outputInfo{
6037 {0, 239},
6038 },
6039 },
6040 },
6041 {
6042 name: "MOVLloadidx4",
6043 auxType: auxSymOff,
6044 argLen: 3,
6045 symEffect: SymRead,
6046 asm: x86.AMOVL,
6047 reg: regInfo{
6048 inputs: []inputInfo{
6049 {1, 255},
6050 {0, 65791},
6051 },
6052 outputs: []outputInfo{
6053 {0, 239},
6054 },
6055 },
6056 },
6057 {
6058 name: "MOVBstoreidx1",
6059 auxType: auxSymOff,
6060 argLen: 4,
6061 commutative: true,
6062 symEffect: SymWrite,
6063 asm: x86.AMOVB,
6064 reg: regInfo{
6065 inputs: []inputInfo{
6066 {1, 255},
6067 {2, 255},
6068 {0, 65791},
6069 },
6070 },
6071 },
6072 {
6073 name: "MOVWstoreidx1",
6074 auxType: auxSymOff,
6075 argLen: 4,
6076 commutative: true,
6077 symEffect: SymWrite,
6078 asm: x86.AMOVW,
6079 reg: regInfo{
6080 inputs: []inputInfo{
6081 {1, 255},
6082 {2, 255},
6083 {0, 65791},
6084 },
6085 },
6086 },
6087 {
6088 name: "MOVWstoreidx2",
6089 auxType: auxSymOff,
6090 argLen: 4,
6091 symEffect: SymWrite,
6092 asm: x86.AMOVW,
6093 reg: regInfo{
6094 inputs: []inputInfo{
6095 {1, 255},
6096 {2, 255},
6097 {0, 65791},
6098 },
6099 },
6100 },
6101 {
6102 name: "MOVLstoreidx1",
6103 auxType: auxSymOff,
6104 argLen: 4,
6105 commutative: true,
6106 symEffect: SymWrite,
6107 asm: x86.AMOVL,
6108 reg: regInfo{
6109 inputs: []inputInfo{
6110 {1, 255},
6111 {2, 255},
6112 {0, 65791},
6113 },
6114 },
6115 },
6116 {
6117 name: "MOVLstoreidx4",
6118 auxType: auxSymOff,
6119 argLen: 4,
6120 symEffect: SymWrite,
6121 asm: x86.AMOVL,
6122 reg: regInfo{
6123 inputs: []inputInfo{
6124 {1, 255},
6125 {2, 255},
6126 {0, 65791},
6127 },
6128 },
6129 },
6130 {
6131 name: "MOVBstoreconst",
6132 auxType: auxSymValAndOff,
6133 argLen: 2,
6134 faultOnNilArg0: true,
6135 symEffect: SymWrite,
6136 asm: x86.AMOVB,
6137 reg: regInfo{
6138 inputs: []inputInfo{
6139 {0, 65791},
6140 },
6141 },
6142 },
6143 {
6144 name: "MOVWstoreconst",
6145 auxType: auxSymValAndOff,
6146 argLen: 2,
6147 faultOnNilArg0: true,
6148 symEffect: SymWrite,
6149 asm: x86.AMOVW,
6150 reg: regInfo{
6151 inputs: []inputInfo{
6152 {0, 65791},
6153 },
6154 },
6155 },
6156 {
6157 name: "MOVLstoreconst",
6158 auxType: auxSymValAndOff,
6159 argLen: 2,
6160 faultOnNilArg0: true,
6161 symEffect: SymWrite,
6162 asm: x86.AMOVL,
6163 reg: regInfo{
6164 inputs: []inputInfo{
6165 {0, 65791},
6166 },
6167 },
6168 },
6169 {
6170 name: "MOVBstoreconstidx1",
6171 auxType: auxSymValAndOff,
6172 argLen: 3,
6173 symEffect: SymWrite,
6174 asm: x86.AMOVB,
6175 reg: regInfo{
6176 inputs: []inputInfo{
6177 {1, 255},
6178 {0, 65791},
6179 },
6180 },
6181 },
6182 {
6183 name: "MOVWstoreconstidx1",
6184 auxType: auxSymValAndOff,
6185 argLen: 3,
6186 symEffect: SymWrite,
6187 asm: x86.AMOVW,
6188 reg: regInfo{
6189 inputs: []inputInfo{
6190 {1, 255},
6191 {0, 65791},
6192 },
6193 },
6194 },
6195 {
6196 name: "MOVWstoreconstidx2",
6197 auxType: auxSymValAndOff,
6198 argLen: 3,
6199 symEffect: SymWrite,
6200 asm: x86.AMOVW,
6201 reg: regInfo{
6202 inputs: []inputInfo{
6203 {1, 255},
6204 {0, 65791},
6205 },
6206 },
6207 },
6208 {
6209 name: "MOVLstoreconstidx1",
6210 auxType: auxSymValAndOff,
6211 argLen: 3,
6212 symEffect: SymWrite,
6213 asm: x86.AMOVL,
6214 reg: regInfo{
6215 inputs: []inputInfo{
6216 {1, 255},
6217 {0, 65791},
6218 },
6219 },
6220 },
6221 {
6222 name: "MOVLstoreconstidx4",
6223 auxType: auxSymValAndOff,
6224 argLen: 3,
6225 symEffect: SymWrite,
6226 asm: x86.AMOVL,
6227 reg: regInfo{
6228 inputs: []inputInfo{
6229 {1, 255},
6230 {0, 65791},
6231 },
6232 },
6233 },
6234 {
6235 name: "DUFFZERO",
6236 auxType: auxInt64,
6237 argLen: 3,
6238 faultOnNilArg0: true,
6239 reg: regInfo{
6240 inputs: []inputInfo{
6241 {0, 128},
6242 {1, 1},
6243 },
6244 clobbers: 130,
6245 },
6246 },
6247 {
6248 name: "REPSTOSL",
6249 argLen: 4,
6250 faultOnNilArg0: true,
6251 reg: regInfo{
6252 inputs: []inputInfo{
6253 {0, 128},
6254 {1, 2},
6255 {2, 1},
6256 },
6257 clobbers: 130,
6258 },
6259 },
6260 {
6261 name: "CALLstatic",
6262 auxType: auxCallOff,
6263 argLen: 1,
6264 clobberFlags: true,
6265 call: true,
6266 reg: regInfo{
6267 clobbers: 65519,
6268 },
6269 },
6270 {
6271 name: "CALLtail",
6272 auxType: auxCallOff,
6273 argLen: 1,
6274 clobberFlags: true,
6275 call: true,
6276 tailCall: true,
6277 reg: regInfo{
6278 clobbers: 65519,
6279 },
6280 },
6281 {
6282 name: "CALLclosure",
6283 auxType: auxCallOff,
6284 argLen: 3,
6285 clobberFlags: true,
6286 call: true,
6287 reg: regInfo{
6288 inputs: []inputInfo{
6289 {1, 4},
6290 {0, 255},
6291 },
6292 clobbers: 65519,
6293 },
6294 },
6295 {
6296 name: "CALLinter",
6297 auxType: auxCallOff,
6298 argLen: 2,
6299 clobberFlags: true,
6300 call: true,
6301 reg: regInfo{
6302 inputs: []inputInfo{
6303 {0, 239},
6304 },
6305 clobbers: 65519,
6306 },
6307 },
6308 {
6309 name: "DUFFCOPY",
6310 auxType: auxInt64,
6311 argLen: 3,
6312 clobberFlags: true,
6313 faultOnNilArg0: true,
6314 faultOnNilArg1: true,
6315 reg: regInfo{
6316 inputs: []inputInfo{
6317 {0, 128},
6318 {1, 64},
6319 },
6320 clobbers: 194,
6321 },
6322 },
6323 {
6324 name: "REPMOVSL",
6325 argLen: 4,
6326 faultOnNilArg0: true,
6327 faultOnNilArg1: true,
6328 reg: regInfo{
6329 inputs: []inputInfo{
6330 {0, 128},
6331 {1, 64},
6332 {2, 2},
6333 },
6334 clobbers: 194,
6335 },
6336 },
6337 {
6338 name: "InvertFlags",
6339 argLen: 1,
6340 reg: regInfo{},
6341 },
6342 {
6343 name: "LoweredGetG",
6344 argLen: 1,
6345 reg: regInfo{
6346 outputs: []outputInfo{
6347 {0, 239},
6348 },
6349 },
6350 },
6351 {
6352 name: "LoweredGetClosurePtr",
6353 argLen: 0,
6354 zeroWidth: true,
6355 reg: regInfo{
6356 outputs: []outputInfo{
6357 {0, 4},
6358 },
6359 },
6360 },
6361 {
6362 name: "LoweredGetCallerPC",
6363 argLen: 0,
6364 rematerializeable: true,
6365 reg: regInfo{
6366 outputs: []outputInfo{
6367 {0, 239},
6368 },
6369 },
6370 },
6371 {
6372 name: "LoweredGetCallerSP",
6373 argLen: 1,
6374 rematerializeable: true,
6375 reg: regInfo{
6376 outputs: []outputInfo{
6377 {0, 239},
6378 },
6379 },
6380 },
6381 {
6382 name: "LoweredNilCheck",
6383 argLen: 2,
6384 clobberFlags: true,
6385 nilCheck: true,
6386 faultOnNilArg0: true,
6387 reg: regInfo{
6388 inputs: []inputInfo{
6389 {0, 255},
6390 },
6391 },
6392 },
6393 {
6394 name: "LoweredWB",
6395 auxType: auxInt64,
6396 argLen: 1,
6397 clobberFlags: true,
6398 reg: regInfo{
6399 clobbers: 65280,
6400 outputs: []outputInfo{
6401 {0, 128},
6402 },
6403 },
6404 },
6405 {
6406 name: "LoweredPanicBoundsA",
6407 auxType: auxInt64,
6408 argLen: 3,
6409 call: true,
6410 reg: regInfo{
6411 inputs: []inputInfo{
6412 {0, 4},
6413 {1, 8},
6414 },
6415 },
6416 },
6417 {
6418 name: "LoweredPanicBoundsB",
6419 auxType: auxInt64,
6420 argLen: 3,
6421 call: true,
6422 reg: regInfo{
6423 inputs: []inputInfo{
6424 {0, 2},
6425 {1, 4},
6426 },
6427 },
6428 },
6429 {
6430 name: "LoweredPanicBoundsC",
6431 auxType: auxInt64,
6432 argLen: 3,
6433 call: true,
6434 reg: regInfo{
6435 inputs: []inputInfo{
6436 {0, 1},
6437 {1, 2},
6438 },
6439 },
6440 },
6441 {
6442 name: "LoweredPanicExtendA",
6443 auxType: auxInt64,
6444 argLen: 4,
6445 call: true,
6446 reg: regInfo{
6447 inputs: []inputInfo{
6448 {0, 64},
6449 {1, 4},
6450 {2, 8},
6451 },
6452 },
6453 },
6454 {
6455 name: "LoweredPanicExtendB",
6456 auxType: auxInt64,
6457 argLen: 4,
6458 call: true,
6459 reg: regInfo{
6460 inputs: []inputInfo{
6461 {0, 64},
6462 {1, 2},
6463 {2, 4},
6464 },
6465 },
6466 },
6467 {
6468 name: "LoweredPanicExtendC",
6469 auxType: auxInt64,
6470 argLen: 4,
6471 call: true,
6472 reg: regInfo{
6473 inputs: []inputInfo{
6474 {0, 64},
6475 {1, 1},
6476 {2, 2},
6477 },
6478 },
6479 },
6480 {
6481 name: "FlagEQ",
6482 argLen: 0,
6483 reg: regInfo{},
6484 },
6485 {
6486 name: "FlagLT_ULT",
6487 argLen: 0,
6488 reg: regInfo{},
6489 },
6490 {
6491 name: "FlagLT_UGT",
6492 argLen: 0,
6493 reg: regInfo{},
6494 },
6495 {
6496 name: "FlagGT_UGT",
6497 argLen: 0,
6498 reg: regInfo{},
6499 },
6500 {
6501 name: "FlagGT_ULT",
6502 argLen: 0,
6503 reg: regInfo{},
6504 },
6505 {
6506 name: "MOVSSconst1",
6507 auxType: auxFloat32,
6508 argLen: 0,
6509 reg: regInfo{
6510 outputs: []outputInfo{
6511 {0, 239},
6512 },
6513 },
6514 },
6515 {
6516 name: "MOVSDconst1",
6517 auxType: auxFloat64,
6518 argLen: 0,
6519 reg: regInfo{
6520 outputs: []outputInfo{
6521 {0, 239},
6522 },
6523 },
6524 },
6525 {
6526 name: "MOVSSconst2",
6527 argLen: 1,
6528 asm: x86.AMOVSS,
6529 reg: regInfo{
6530 inputs: []inputInfo{
6531 {0, 239},
6532 },
6533 outputs: []outputInfo{
6534 {0, 65280},
6535 },
6536 },
6537 },
6538 {
6539 name: "MOVSDconst2",
6540 argLen: 1,
6541 asm: x86.AMOVSD,
6542 reg: regInfo{
6543 inputs: []inputInfo{
6544 {0, 239},
6545 },
6546 outputs: []outputInfo{
6547 {0, 65280},
6548 },
6549 },
6550 },
6551
6552 {
6553 name: "ADDSS",
6554 argLen: 2,
6555 commutative: true,
6556 resultInArg0: true,
6557 asm: x86.AADDSS,
6558 reg: regInfo{
6559 inputs: []inputInfo{
6560 {0, 2147418112},
6561 {1, 2147418112},
6562 },
6563 outputs: []outputInfo{
6564 {0, 2147418112},
6565 },
6566 },
6567 },
6568 {
6569 name: "ADDSD",
6570 argLen: 2,
6571 commutative: true,
6572 resultInArg0: true,
6573 asm: x86.AADDSD,
6574 reg: regInfo{
6575 inputs: []inputInfo{
6576 {0, 2147418112},
6577 {1, 2147418112},
6578 },
6579 outputs: []outputInfo{
6580 {0, 2147418112},
6581 },
6582 },
6583 },
6584 {
6585 name: "SUBSS",
6586 argLen: 2,
6587 resultInArg0: true,
6588 asm: x86.ASUBSS,
6589 reg: regInfo{
6590 inputs: []inputInfo{
6591 {0, 2147418112},
6592 {1, 2147418112},
6593 },
6594 outputs: []outputInfo{
6595 {0, 2147418112},
6596 },
6597 },
6598 },
6599 {
6600 name: "SUBSD",
6601 argLen: 2,
6602 resultInArg0: true,
6603 asm: x86.ASUBSD,
6604 reg: regInfo{
6605 inputs: []inputInfo{
6606 {0, 2147418112},
6607 {1, 2147418112},
6608 },
6609 outputs: []outputInfo{
6610 {0, 2147418112},
6611 },
6612 },
6613 },
6614 {
6615 name: "MULSS",
6616 argLen: 2,
6617 commutative: true,
6618 resultInArg0: true,
6619 asm: x86.AMULSS,
6620 reg: regInfo{
6621 inputs: []inputInfo{
6622 {0, 2147418112},
6623 {1, 2147418112},
6624 },
6625 outputs: []outputInfo{
6626 {0, 2147418112},
6627 },
6628 },
6629 },
6630 {
6631 name: "MULSD",
6632 argLen: 2,
6633 commutative: true,
6634 resultInArg0: true,
6635 asm: x86.AMULSD,
6636 reg: regInfo{
6637 inputs: []inputInfo{
6638 {0, 2147418112},
6639 {1, 2147418112},
6640 },
6641 outputs: []outputInfo{
6642 {0, 2147418112},
6643 },
6644 },
6645 },
6646 {
6647 name: "DIVSS",
6648 argLen: 2,
6649 resultInArg0: true,
6650 asm: x86.ADIVSS,
6651 reg: regInfo{
6652 inputs: []inputInfo{
6653 {0, 2147418112},
6654 {1, 2147418112},
6655 },
6656 outputs: []outputInfo{
6657 {0, 2147418112},
6658 },
6659 },
6660 },
6661 {
6662 name: "DIVSD",
6663 argLen: 2,
6664 resultInArg0: true,
6665 asm: x86.ADIVSD,
6666 reg: regInfo{
6667 inputs: []inputInfo{
6668 {0, 2147418112},
6669 {1, 2147418112},
6670 },
6671 outputs: []outputInfo{
6672 {0, 2147418112},
6673 },
6674 },
6675 },
6676 {
6677 name: "MOVSSload",
6678 auxType: auxSymOff,
6679 argLen: 2,
6680 faultOnNilArg0: true,
6681 symEffect: SymRead,
6682 asm: x86.AMOVSS,
6683 reg: regInfo{
6684 inputs: []inputInfo{
6685 {0, 4295016447},
6686 },
6687 outputs: []outputInfo{
6688 {0, 2147418112},
6689 },
6690 },
6691 },
6692 {
6693 name: "MOVSDload",
6694 auxType: auxSymOff,
6695 argLen: 2,
6696 faultOnNilArg0: true,
6697 symEffect: SymRead,
6698 asm: x86.AMOVSD,
6699 reg: regInfo{
6700 inputs: []inputInfo{
6701 {0, 4295016447},
6702 },
6703 outputs: []outputInfo{
6704 {0, 2147418112},
6705 },
6706 },
6707 },
6708 {
6709 name: "MOVSSconst",
6710 auxType: auxFloat32,
6711 argLen: 0,
6712 rematerializeable: true,
6713 asm: x86.AMOVSS,
6714 reg: regInfo{
6715 outputs: []outputInfo{
6716 {0, 2147418112},
6717 },
6718 },
6719 },
6720 {
6721 name: "MOVSDconst",
6722 auxType: auxFloat64,
6723 argLen: 0,
6724 rematerializeable: true,
6725 asm: x86.AMOVSD,
6726 reg: regInfo{
6727 outputs: []outputInfo{
6728 {0, 2147418112},
6729 },
6730 },
6731 },
6732 {
6733 name: "MOVSSloadidx1",
6734 auxType: auxSymOff,
6735 argLen: 3,
6736 symEffect: SymRead,
6737 asm: x86.AMOVSS,
6738 scale: 1,
6739 reg: regInfo{
6740 inputs: []inputInfo{
6741 {1, 49151},
6742 {0, 4295016447},
6743 },
6744 outputs: []outputInfo{
6745 {0, 2147418112},
6746 },
6747 },
6748 },
6749 {
6750 name: "MOVSSloadidx4",
6751 auxType: auxSymOff,
6752 argLen: 3,
6753 symEffect: SymRead,
6754 asm: x86.AMOVSS,
6755 scale: 4,
6756 reg: regInfo{
6757 inputs: []inputInfo{
6758 {1, 49151},
6759 {0, 4295016447},
6760 },
6761 outputs: []outputInfo{
6762 {0, 2147418112},
6763 },
6764 },
6765 },
6766 {
6767 name: "MOVSDloadidx1",
6768 auxType: auxSymOff,
6769 argLen: 3,
6770 symEffect: SymRead,
6771 asm: x86.AMOVSD,
6772 scale: 1,
6773 reg: regInfo{
6774 inputs: []inputInfo{
6775 {1, 49151},
6776 {0, 4295016447},
6777 },
6778 outputs: []outputInfo{
6779 {0, 2147418112},
6780 },
6781 },
6782 },
6783 {
6784 name: "MOVSDloadidx8",
6785 auxType: auxSymOff,
6786 argLen: 3,
6787 symEffect: SymRead,
6788 asm: x86.AMOVSD,
6789 scale: 8,
6790 reg: regInfo{
6791 inputs: []inputInfo{
6792 {1, 49151},
6793 {0, 4295016447},
6794 },
6795 outputs: []outputInfo{
6796 {0, 2147418112},
6797 },
6798 },
6799 },
6800 {
6801 name: "MOVSSstore",
6802 auxType: auxSymOff,
6803 argLen: 3,
6804 faultOnNilArg0: true,
6805 symEffect: SymWrite,
6806 asm: x86.AMOVSS,
6807 reg: regInfo{
6808 inputs: []inputInfo{
6809 {1, 2147418112},
6810 {0, 4295016447},
6811 },
6812 },
6813 },
6814 {
6815 name: "MOVSDstore",
6816 auxType: auxSymOff,
6817 argLen: 3,
6818 faultOnNilArg0: true,
6819 symEffect: SymWrite,
6820 asm: x86.AMOVSD,
6821 reg: regInfo{
6822 inputs: []inputInfo{
6823 {1, 2147418112},
6824 {0, 4295016447},
6825 },
6826 },
6827 },
6828 {
6829 name: "MOVSSstoreidx1",
6830 auxType: auxSymOff,
6831 argLen: 4,
6832 symEffect: SymWrite,
6833 asm: x86.AMOVSS,
6834 scale: 1,
6835 reg: regInfo{
6836 inputs: []inputInfo{
6837 {1, 49151},
6838 {2, 2147418112},
6839 {0, 4295016447},
6840 },
6841 },
6842 },
6843 {
6844 name: "MOVSSstoreidx4",
6845 auxType: auxSymOff,
6846 argLen: 4,
6847 symEffect: SymWrite,
6848 asm: x86.AMOVSS,
6849 scale: 4,
6850 reg: regInfo{
6851 inputs: []inputInfo{
6852 {1, 49151},
6853 {2, 2147418112},
6854 {0, 4295016447},
6855 },
6856 },
6857 },
6858 {
6859 name: "MOVSDstoreidx1",
6860 auxType: auxSymOff,
6861 argLen: 4,
6862 symEffect: SymWrite,
6863 asm: x86.AMOVSD,
6864 scale: 1,
6865 reg: regInfo{
6866 inputs: []inputInfo{
6867 {1, 49151},
6868 {2, 2147418112},
6869 {0, 4295016447},
6870 },
6871 },
6872 },
6873 {
6874 name: "MOVSDstoreidx8",
6875 auxType: auxSymOff,
6876 argLen: 4,
6877 symEffect: SymWrite,
6878 asm: x86.AMOVSD,
6879 scale: 8,
6880 reg: regInfo{
6881 inputs: []inputInfo{
6882 {1, 49151},
6883 {2, 2147418112},
6884 {0, 4295016447},
6885 },
6886 },
6887 },
6888 {
6889 name: "ADDSSload",
6890 auxType: auxSymOff,
6891 argLen: 3,
6892 resultInArg0: true,
6893 faultOnNilArg1: true,
6894 symEffect: SymRead,
6895 asm: x86.AADDSS,
6896 reg: regInfo{
6897 inputs: []inputInfo{
6898 {0, 2147418112},
6899 {1, 4295032831},
6900 },
6901 outputs: []outputInfo{
6902 {0, 2147418112},
6903 },
6904 },
6905 },
6906 {
6907 name: "ADDSDload",
6908 auxType: auxSymOff,
6909 argLen: 3,
6910 resultInArg0: true,
6911 faultOnNilArg1: true,
6912 symEffect: SymRead,
6913 asm: x86.AADDSD,
6914 reg: regInfo{
6915 inputs: []inputInfo{
6916 {0, 2147418112},
6917 {1, 4295032831},
6918 },
6919 outputs: []outputInfo{
6920 {0, 2147418112},
6921 },
6922 },
6923 },
6924 {
6925 name: "SUBSSload",
6926 auxType: auxSymOff,
6927 argLen: 3,
6928 resultInArg0: true,
6929 faultOnNilArg1: true,
6930 symEffect: SymRead,
6931 asm: x86.ASUBSS,
6932 reg: regInfo{
6933 inputs: []inputInfo{
6934 {0, 2147418112},
6935 {1, 4295032831},
6936 },
6937 outputs: []outputInfo{
6938 {0, 2147418112},
6939 },
6940 },
6941 },
6942 {
6943 name: "SUBSDload",
6944 auxType: auxSymOff,
6945 argLen: 3,
6946 resultInArg0: true,
6947 faultOnNilArg1: true,
6948 symEffect: SymRead,
6949 asm: x86.ASUBSD,
6950 reg: regInfo{
6951 inputs: []inputInfo{
6952 {0, 2147418112},
6953 {1, 4295032831},
6954 },
6955 outputs: []outputInfo{
6956 {0, 2147418112},
6957 },
6958 },
6959 },
6960 {
6961 name: "MULSSload",
6962 auxType: auxSymOff,
6963 argLen: 3,
6964 resultInArg0: true,
6965 faultOnNilArg1: true,
6966 symEffect: SymRead,
6967 asm: x86.AMULSS,
6968 reg: regInfo{
6969 inputs: []inputInfo{
6970 {0, 2147418112},
6971 {1, 4295032831},
6972 },
6973 outputs: []outputInfo{
6974 {0, 2147418112},
6975 },
6976 },
6977 },
6978 {
6979 name: "MULSDload",
6980 auxType: auxSymOff,
6981 argLen: 3,
6982 resultInArg0: true,
6983 faultOnNilArg1: true,
6984 symEffect: SymRead,
6985 asm: x86.AMULSD,
6986 reg: regInfo{
6987 inputs: []inputInfo{
6988 {0, 2147418112},
6989 {1, 4295032831},
6990 },
6991 outputs: []outputInfo{
6992 {0, 2147418112},
6993 },
6994 },
6995 },
6996 {
6997 name: "DIVSSload",
6998 auxType: auxSymOff,
6999 argLen: 3,
7000 resultInArg0: true,
7001 faultOnNilArg1: true,
7002 symEffect: SymRead,
7003 asm: x86.ADIVSS,
7004 reg: regInfo{
7005 inputs: []inputInfo{
7006 {0, 2147418112},
7007 {1, 4295032831},
7008 },
7009 outputs: []outputInfo{
7010 {0, 2147418112},
7011 },
7012 },
7013 },
7014 {
7015 name: "DIVSDload",
7016 auxType: auxSymOff,
7017 argLen: 3,
7018 resultInArg0: true,
7019 faultOnNilArg1: true,
7020 symEffect: SymRead,
7021 asm: x86.ADIVSD,
7022 reg: regInfo{
7023 inputs: []inputInfo{
7024 {0, 2147418112},
7025 {1, 4295032831},
7026 },
7027 outputs: []outputInfo{
7028 {0, 2147418112},
7029 },
7030 },
7031 },
7032 {
7033 name: "ADDSSloadidx1",
7034 auxType: auxSymOff,
7035 argLen: 4,
7036 resultInArg0: true,
7037 symEffect: SymRead,
7038 asm: x86.AADDSS,
7039 scale: 1,
7040 reg: regInfo{
7041 inputs: []inputInfo{
7042 {0, 2147418112},
7043 {2, 4295016447},
7044 {1, 4295032831},
7045 },
7046 outputs: []outputInfo{
7047 {0, 2147418112},
7048 },
7049 },
7050 },
7051 {
7052 name: "ADDSSloadidx4",
7053 auxType: auxSymOff,
7054 argLen: 4,
7055 resultInArg0: true,
7056 symEffect: SymRead,
7057 asm: x86.AADDSS,
7058 scale: 4,
7059 reg: regInfo{
7060 inputs: []inputInfo{
7061 {0, 2147418112},
7062 {2, 4295016447},
7063 {1, 4295032831},
7064 },
7065 outputs: []outputInfo{
7066 {0, 2147418112},
7067 },
7068 },
7069 },
7070 {
7071 name: "ADDSDloadidx1",
7072 auxType: auxSymOff,
7073 argLen: 4,
7074 resultInArg0: true,
7075 symEffect: SymRead,
7076 asm: x86.AADDSD,
7077 scale: 1,
7078 reg: regInfo{
7079 inputs: []inputInfo{
7080 {0, 2147418112},
7081 {2, 4295016447},
7082 {1, 4295032831},
7083 },
7084 outputs: []outputInfo{
7085 {0, 2147418112},
7086 },
7087 },
7088 },
7089 {
7090 name: "ADDSDloadidx8",
7091 auxType: auxSymOff,
7092 argLen: 4,
7093 resultInArg0: true,
7094 symEffect: SymRead,
7095 asm: x86.AADDSD,
7096 scale: 8,
7097 reg: regInfo{
7098 inputs: []inputInfo{
7099 {0, 2147418112},
7100 {2, 4295016447},
7101 {1, 4295032831},
7102 },
7103 outputs: []outputInfo{
7104 {0, 2147418112},
7105 },
7106 },
7107 },
7108 {
7109 name: "SUBSSloadidx1",
7110 auxType: auxSymOff,
7111 argLen: 4,
7112 resultInArg0: true,
7113 symEffect: SymRead,
7114 asm: x86.ASUBSS,
7115 scale: 1,
7116 reg: regInfo{
7117 inputs: []inputInfo{
7118 {0, 2147418112},
7119 {2, 4295016447},
7120 {1, 4295032831},
7121 },
7122 outputs: []outputInfo{
7123 {0, 2147418112},
7124 },
7125 },
7126 },
7127 {
7128 name: "SUBSSloadidx4",
7129 auxType: auxSymOff,
7130 argLen: 4,
7131 resultInArg0: true,
7132 symEffect: SymRead,
7133 asm: x86.ASUBSS,
7134 scale: 4,
7135 reg: regInfo{
7136 inputs: []inputInfo{
7137 {0, 2147418112},
7138 {2, 4295016447},
7139 {1, 4295032831},
7140 },
7141 outputs: []outputInfo{
7142 {0, 2147418112},
7143 },
7144 },
7145 },
7146 {
7147 name: "SUBSDloadidx1",
7148 auxType: auxSymOff,
7149 argLen: 4,
7150 resultInArg0: true,
7151 symEffect: SymRead,
7152 asm: x86.ASUBSD,
7153 scale: 1,
7154 reg: regInfo{
7155 inputs: []inputInfo{
7156 {0, 2147418112},
7157 {2, 4295016447},
7158 {1, 4295032831},
7159 },
7160 outputs: []outputInfo{
7161 {0, 2147418112},
7162 },
7163 },
7164 },
7165 {
7166 name: "SUBSDloadidx8",
7167 auxType: auxSymOff,
7168 argLen: 4,
7169 resultInArg0: true,
7170 symEffect: SymRead,
7171 asm: x86.ASUBSD,
7172 scale: 8,
7173 reg: regInfo{
7174 inputs: []inputInfo{
7175 {0, 2147418112},
7176 {2, 4295016447},
7177 {1, 4295032831},
7178 },
7179 outputs: []outputInfo{
7180 {0, 2147418112},
7181 },
7182 },
7183 },
7184 {
7185 name: "MULSSloadidx1",
7186 auxType: auxSymOff,
7187 argLen: 4,
7188 resultInArg0: true,
7189 symEffect: SymRead,
7190 asm: x86.AMULSS,
7191 scale: 1,
7192 reg: regInfo{
7193 inputs: []inputInfo{
7194 {0, 2147418112},
7195 {2, 4295016447},
7196 {1, 4295032831},
7197 },
7198 outputs: []outputInfo{
7199 {0, 2147418112},
7200 },
7201 },
7202 },
7203 {
7204 name: "MULSSloadidx4",
7205 auxType: auxSymOff,
7206 argLen: 4,
7207 resultInArg0: true,
7208 symEffect: SymRead,
7209 asm: x86.AMULSS,
7210 scale: 4,
7211 reg: regInfo{
7212 inputs: []inputInfo{
7213 {0, 2147418112},
7214 {2, 4295016447},
7215 {1, 4295032831},
7216 },
7217 outputs: []outputInfo{
7218 {0, 2147418112},
7219 },
7220 },
7221 },
7222 {
7223 name: "MULSDloadidx1",
7224 auxType: auxSymOff,
7225 argLen: 4,
7226 resultInArg0: true,
7227 symEffect: SymRead,
7228 asm: x86.AMULSD,
7229 scale: 1,
7230 reg: regInfo{
7231 inputs: []inputInfo{
7232 {0, 2147418112},
7233 {2, 4295016447},
7234 {1, 4295032831},
7235 },
7236 outputs: []outputInfo{
7237 {0, 2147418112},
7238 },
7239 },
7240 },
7241 {
7242 name: "MULSDloadidx8",
7243 auxType: auxSymOff,
7244 argLen: 4,
7245 resultInArg0: true,
7246 symEffect: SymRead,
7247 asm: x86.AMULSD,
7248 scale: 8,
7249 reg: regInfo{
7250 inputs: []inputInfo{
7251 {0, 2147418112},
7252 {2, 4295016447},
7253 {1, 4295032831},
7254 },
7255 outputs: []outputInfo{
7256 {0, 2147418112},
7257 },
7258 },
7259 },
7260 {
7261 name: "DIVSSloadidx1",
7262 auxType: auxSymOff,
7263 argLen: 4,
7264 resultInArg0: true,
7265 symEffect: SymRead,
7266 asm: x86.ADIVSS,
7267 scale: 1,
7268 reg: regInfo{
7269 inputs: []inputInfo{
7270 {0, 2147418112},
7271 {2, 4295016447},
7272 {1, 4295032831},
7273 },
7274 outputs: []outputInfo{
7275 {0, 2147418112},
7276 },
7277 },
7278 },
7279 {
7280 name: "DIVSSloadidx4",
7281 auxType: auxSymOff,
7282 argLen: 4,
7283 resultInArg0: true,
7284 symEffect: SymRead,
7285 asm: x86.ADIVSS,
7286 scale: 4,
7287 reg: regInfo{
7288 inputs: []inputInfo{
7289 {0, 2147418112},
7290 {2, 4295016447},
7291 {1, 4295032831},
7292 },
7293 outputs: []outputInfo{
7294 {0, 2147418112},
7295 },
7296 },
7297 },
7298 {
7299 name: "DIVSDloadidx1",
7300 auxType: auxSymOff,
7301 argLen: 4,
7302 resultInArg0: true,
7303 symEffect: SymRead,
7304 asm: x86.ADIVSD,
7305 scale: 1,
7306 reg: regInfo{
7307 inputs: []inputInfo{
7308 {0, 2147418112},
7309 {2, 4295016447},
7310 {1, 4295032831},
7311 },
7312 outputs: []outputInfo{
7313 {0, 2147418112},
7314 },
7315 },
7316 },
7317 {
7318 name: "DIVSDloadidx8",
7319 auxType: auxSymOff,
7320 argLen: 4,
7321 resultInArg0: true,
7322 symEffect: SymRead,
7323 asm: x86.ADIVSD,
7324 scale: 8,
7325 reg: regInfo{
7326 inputs: []inputInfo{
7327 {0, 2147418112},
7328 {2, 4295016447},
7329 {1, 4295032831},
7330 },
7331 outputs: []outputInfo{
7332 {0, 2147418112},
7333 },
7334 },
7335 },
7336 {
7337 name: "ADDQ",
7338 argLen: 2,
7339 commutative: true,
7340 clobberFlags: true,
7341 asm: x86.AADDQ,
7342 reg: regInfo{
7343 inputs: []inputInfo{
7344 {1, 49135},
7345 {0, 49151},
7346 },
7347 outputs: []outputInfo{
7348 {0, 49135},
7349 },
7350 },
7351 },
7352 {
7353 name: "ADDL",
7354 argLen: 2,
7355 commutative: true,
7356 clobberFlags: true,
7357 asm: x86.AADDL,
7358 reg: regInfo{
7359 inputs: []inputInfo{
7360 {1, 49135},
7361 {0, 49151},
7362 },
7363 outputs: []outputInfo{
7364 {0, 49135},
7365 },
7366 },
7367 },
7368 {
7369 name: "ADDQconst",
7370 auxType: auxInt32,
7371 argLen: 1,
7372 clobberFlags: true,
7373 asm: x86.AADDQ,
7374 reg: regInfo{
7375 inputs: []inputInfo{
7376 {0, 49151},
7377 },
7378 outputs: []outputInfo{
7379 {0, 49135},
7380 },
7381 },
7382 },
7383 {
7384 name: "ADDLconst",
7385 auxType: auxInt32,
7386 argLen: 1,
7387 clobberFlags: true,
7388 asm: x86.AADDL,
7389 reg: regInfo{
7390 inputs: []inputInfo{
7391 {0, 49151},
7392 },
7393 outputs: []outputInfo{
7394 {0, 49135},
7395 },
7396 },
7397 },
7398 {
7399 name: "ADDQconstmodify",
7400 auxType: auxSymValAndOff,
7401 argLen: 2,
7402 clobberFlags: true,
7403 faultOnNilArg0: true,
7404 symEffect: SymRead | SymWrite,
7405 asm: x86.AADDQ,
7406 reg: regInfo{
7407 inputs: []inputInfo{
7408 {0, 4295032831},
7409 },
7410 },
7411 },
7412 {
7413 name: "ADDLconstmodify",
7414 auxType: auxSymValAndOff,
7415 argLen: 2,
7416 clobberFlags: true,
7417 faultOnNilArg0: true,
7418 symEffect: SymRead | SymWrite,
7419 asm: x86.AADDL,
7420 reg: regInfo{
7421 inputs: []inputInfo{
7422 {0, 4295032831},
7423 },
7424 },
7425 },
7426 {
7427 name: "SUBQ",
7428 argLen: 2,
7429 resultInArg0: true,
7430 clobberFlags: true,
7431 asm: x86.ASUBQ,
7432 reg: regInfo{
7433 inputs: []inputInfo{
7434 {0, 49135},
7435 {1, 49135},
7436 },
7437 outputs: []outputInfo{
7438 {0, 49135},
7439 },
7440 },
7441 },
7442 {
7443 name: "SUBL",
7444 argLen: 2,
7445 resultInArg0: true,
7446 clobberFlags: true,
7447 asm: x86.ASUBL,
7448 reg: regInfo{
7449 inputs: []inputInfo{
7450 {0, 49135},
7451 {1, 49135},
7452 },
7453 outputs: []outputInfo{
7454 {0, 49135},
7455 },
7456 },
7457 },
7458 {
7459 name: "SUBQconst",
7460 auxType: auxInt32,
7461 argLen: 1,
7462 resultInArg0: true,
7463 clobberFlags: true,
7464 asm: x86.ASUBQ,
7465 reg: regInfo{
7466 inputs: []inputInfo{
7467 {0, 49135},
7468 },
7469 outputs: []outputInfo{
7470 {0, 49135},
7471 },
7472 },
7473 },
7474 {
7475 name: "SUBLconst",
7476 auxType: auxInt32,
7477 argLen: 1,
7478 resultInArg0: true,
7479 clobberFlags: true,
7480 asm: x86.ASUBL,
7481 reg: regInfo{
7482 inputs: []inputInfo{
7483 {0, 49135},
7484 },
7485 outputs: []outputInfo{
7486 {0, 49135},
7487 },
7488 },
7489 },
7490 {
7491 name: "MULQ",
7492 argLen: 2,
7493 commutative: true,
7494 resultInArg0: true,
7495 clobberFlags: true,
7496 asm: x86.AIMULQ,
7497 reg: regInfo{
7498 inputs: []inputInfo{
7499 {0, 49135},
7500 {1, 49135},
7501 },
7502 outputs: []outputInfo{
7503 {0, 49135},
7504 },
7505 },
7506 },
7507 {
7508 name: "MULL",
7509 argLen: 2,
7510 commutative: true,
7511 resultInArg0: true,
7512 clobberFlags: true,
7513 asm: x86.AIMULL,
7514 reg: regInfo{
7515 inputs: []inputInfo{
7516 {0, 49135},
7517 {1, 49135},
7518 },
7519 outputs: []outputInfo{
7520 {0, 49135},
7521 },
7522 },
7523 },
7524 {
7525 name: "MULQconst",
7526 auxType: auxInt32,
7527 argLen: 1,
7528 clobberFlags: true,
7529 asm: x86.AIMUL3Q,
7530 reg: regInfo{
7531 inputs: []inputInfo{
7532 {0, 49135},
7533 },
7534 outputs: []outputInfo{
7535 {0, 49135},
7536 },
7537 },
7538 },
7539 {
7540 name: "MULLconst",
7541 auxType: auxInt32,
7542 argLen: 1,
7543 clobberFlags: true,
7544 asm: x86.AIMUL3L,
7545 reg: regInfo{
7546 inputs: []inputInfo{
7547 {0, 49135},
7548 },
7549 outputs: []outputInfo{
7550 {0, 49135},
7551 },
7552 },
7553 },
7554 {
7555 name: "MULLU",
7556 argLen: 2,
7557 commutative: true,
7558 clobberFlags: true,
7559 asm: x86.AMULL,
7560 reg: regInfo{
7561 inputs: []inputInfo{
7562 {0, 1},
7563 {1, 49151},
7564 },
7565 clobbers: 4,
7566 outputs: []outputInfo{
7567 {1, 0},
7568 {0, 1},
7569 },
7570 },
7571 },
7572 {
7573 name: "MULQU",
7574 argLen: 2,
7575 commutative: true,
7576 clobberFlags: true,
7577 asm: x86.AMULQ,
7578 reg: regInfo{
7579 inputs: []inputInfo{
7580 {0, 1},
7581 {1, 49151},
7582 },
7583 clobbers: 4,
7584 outputs: []outputInfo{
7585 {1, 0},
7586 {0, 1},
7587 },
7588 },
7589 },
7590 {
7591 name: "HMULQ",
7592 argLen: 2,
7593 clobberFlags: true,
7594 asm: x86.AIMULQ,
7595 reg: regInfo{
7596 inputs: []inputInfo{
7597 {0, 1},
7598 {1, 49151},
7599 },
7600 clobbers: 1,
7601 outputs: []outputInfo{
7602 {0, 4},
7603 },
7604 },
7605 },
7606 {
7607 name: "HMULL",
7608 argLen: 2,
7609 clobberFlags: true,
7610 asm: x86.AIMULL,
7611 reg: regInfo{
7612 inputs: []inputInfo{
7613 {0, 1},
7614 {1, 49151},
7615 },
7616 clobbers: 1,
7617 outputs: []outputInfo{
7618 {0, 4},
7619 },
7620 },
7621 },
7622 {
7623 name: "HMULQU",
7624 argLen: 2,
7625 clobberFlags: true,
7626 asm: x86.AMULQ,
7627 reg: regInfo{
7628 inputs: []inputInfo{
7629 {0, 1},
7630 {1, 49151},
7631 },
7632 clobbers: 1,
7633 outputs: []outputInfo{
7634 {0, 4},
7635 },
7636 },
7637 },
7638 {
7639 name: "HMULLU",
7640 argLen: 2,
7641 clobberFlags: true,
7642 asm: x86.AMULL,
7643 reg: regInfo{
7644 inputs: []inputInfo{
7645 {0, 1},
7646 {1, 49151},
7647 },
7648 clobbers: 1,
7649 outputs: []outputInfo{
7650 {0, 4},
7651 },
7652 },
7653 },
7654 {
7655 name: "AVGQU",
7656 argLen: 2,
7657 commutative: true,
7658 resultInArg0: true,
7659 clobberFlags: true,
7660 reg: regInfo{
7661 inputs: []inputInfo{
7662 {0, 49135},
7663 {1, 49135},
7664 },
7665 outputs: []outputInfo{
7666 {0, 49135},
7667 },
7668 },
7669 },
7670 {
7671 name: "DIVQ",
7672 auxType: auxBool,
7673 argLen: 2,
7674 clobberFlags: true,
7675 asm: x86.AIDIVQ,
7676 reg: regInfo{
7677 inputs: []inputInfo{
7678 {0, 1},
7679 {1, 49147},
7680 },
7681 outputs: []outputInfo{
7682 {0, 1},
7683 {1, 4},
7684 },
7685 },
7686 },
7687 {
7688 name: "DIVL",
7689 auxType: auxBool,
7690 argLen: 2,
7691 clobberFlags: true,
7692 asm: x86.AIDIVL,
7693 reg: regInfo{
7694 inputs: []inputInfo{
7695 {0, 1},
7696 {1, 49147},
7697 },
7698 outputs: []outputInfo{
7699 {0, 1},
7700 {1, 4},
7701 },
7702 },
7703 },
7704 {
7705 name: "DIVW",
7706 auxType: auxBool,
7707 argLen: 2,
7708 clobberFlags: true,
7709 asm: x86.AIDIVW,
7710 reg: regInfo{
7711 inputs: []inputInfo{
7712 {0, 1},
7713 {1, 49147},
7714 },
7715 outputs: []outputInfo{
7716 {0, 1},
7717 {1, 4},
7718 },
7719 },
7720 },
7721 {
7722 name: "DIVQU",
7723 argLen: 2,
7724 clobberFlags: true,
7725 asm: x86.ADIVQ,
7726 reg: regInfo{
7727 inputs: []inputInfo{
7728 {0, 1},
7729 {1, 49147},
7730 },
7731 outputs: []outputInfo{
7732 {0, 1},
7733 {1, 4},
7734 },
7735 },
7736 },
7737 {
7738 name: "DIVLU",
7739 argLen: 2,
7740 clobberFlags: true,
7741 asm: x86.ADIVL,
7742 reg: regInfo{
7743 inputs: []inputInfo{
7744 {0, 1},
7745 {1, 49147},
7746 },
7747 outputs: []outputInfo{
7748 {0, 1},
7749 {1, 4},
7750 },
7751 },
7752 },
7753 {
7754 name: "DIVWU",
7755 argLen: 2,
7756 clobberFlags: true,
7757 asm: x86.ADIVW,
7758 reg: regInfo{
7759 inputs: []inputInfo{
7760 {0, 1},
7761 {1, 49147},
7762 },
7763 outputs: []outputInfo{
7764 {0, 1},
7765 {1, 4},
7766 },
7767 },
7768 },
7769 {
7770 name: "NEGLflags",
7771 argLen: 1,
7772 resultInArg0: true,
7773 asm: x86.ANEGL,
7774 reg: regInfo{
7775 inputs: []inputInfo{
7776 {0, 49135},
7777 },
7778 outputs: []outputInfo{
7779 {1, 0},
7780 {0, 49135},
7781 },
7782 },
7783 },
7784 {
7785 name: "ADDQcarry",
7786 argLen: 2,
7787 commutative: true,
7788 resultInArg0: true,
7789 asm: x86.AADDQ,
7790 reg: regInfo{
7791 inputs: []inputInfo{
7792 {0, 49135},
7793 {1, 49135},
7794 },
7795 outputs: []outputInfo{
7796 {1, 0},
7797 {0, 49135},
7798 },
7799 },
7800 },
7801 {
7802 name: "ADCQ",
7803 argLen: 3,
7804 commutative: true,
7805 resultInArg0: true,
7806 asm: x86.AADCQ,
7807 reg: regInfo{
7808 inputs: []inputInfo{
7809 {0, 49135},
7810 {1, 49135},
7811 },
7812 outputs: []outputInfo{
7813 {1, 0},
7814 {0, 49135},
7815 },
7816 },
7817 },
7818 {
7819 name: "ADDQconstcarry",
7820 auxType: auxInt32,
7821 argLen: 1,
7822 resultInArg0: true,
7823 asm: x86.AADDQ,
7824 reg: regInfo{
7825 inputs: []inputInfo{
7826 {0, 49135},
7827 },
7828 outputs: []outputInfo{
7829 {1, 0},
7830 {0, 49135},
7831 },
7832 },
7833 },
7834 {
7835 name: "ADCQconst",
7836 auxType: auxInt32,
7837 argLen: 2,
7838 resultInArg0: true,
7839 asm: x86.AADCQ,
7840 reg: regInfo{
7841 inputs: []inputInfo{
7842 {0, 49135},
7843 },
7844 outputs: []outputInfo{
7845 {1, 0},
7846 {0, 49135},
7847 },
7848 },
7849 },
7850 {
7851 name: "SUBQborrow",
7852 argLen: 2,
7853 resultInArg0: true,
7854 asm: x86.ASUBQ,
7855 reg: regInfo{
7856 inputs: []inputInfo{
7857 {0, 49135},
7858 {1, 49135},
7859 },
7860 outputs: []outputInfo{
7861 {1, 0},
7862 {0, 49135},
7863 },
7864 },
7865 },
7866 {
7867 name: "SBBQ",
7868 argLen: 3,
7869 resultInArg0: true,
7870 asm: x86.ASBBQ,
7871 reg: regInfo{
7872 inputs: []inputInfo{
7873 {0, 49135},
7874 {1, 49135},
7875 },
7876 outputs: []outputInfo{
7877 {1, 0},
7878 {0, 49135},
7879 },
7880 },
7881 },
7882 {
7883 name: "SUBQconstborrow",
7884 auxType: auxInt32,
7885 argLen: 1,
7886 resultInArg0: true,
7887 asm: x86.ASUBQ,
7888 reg: regInfo{
7889 inputs: []inputInfo{
7890 {0, 49135},
7891 },
7892 outputs: []outputInfo{
7893 {1, 0},
7894 {0, 49135},
7895 },
7896 },
7897 },
7898 {
7899 name: "SBBQconst",
7900 auxType: auxInt32,
7901 argLen: 2,
7902 resultInArg0: true,
7903 asm: x86.ASBBQ,
7904 reg: regInfo{
7905 inputs: []inputInfo{
7906 {0, 49135},
7907 },
7908 outputs: []outputInfo{
7909 {1, 0},
7910 {0, 49135},
7911 },
7912 },
7913 },
7914 {
7915 name: "MULQU2",
7916 argLen: 2,
7917 commutative: true,
7918 clobberFlags: true,
7919 asm: x86.AMULQ,
7920 reg: regInfo{
7921 inputs: []inputInfo{
7922 {0, 1},
7923 {1, 49151},
7924 },
7925 outputs: []outputInfo{
7926 {0, 4},
7927 {1, 1},
7928 },
7929 },
7930 },
7931 {
7932 name: "DIVQU2",
7933 argLen: 3,
7934 clobberFlags: true,
7935 asm: x86.ADIVQ,
7936 reg: regInfo{
7937 inputs: []inputInfo{
7938 {0, 4},
7939 {1, 1},
7940 {2, 49151},
7941 },
7942 outputs: []outputInfo{
7943 {0, 1},
7944 {1, 4},
7945 },
7946 },
7947 },
7948 {
7949 name: "ANDQ",
7950 argLen: 2,
7951 commutative: true,
7952 resultInArg0: true,
7953 clobberFlags: true,
7954 asm: x86.AANDQ,
7955 reg: regInfo{
7956 inputs: []inputInfo{
7957 {0, 49135},
7958 {1, 49135},
7959 },
7960 outputs: []outputInfo{
7961 {0, 49135},
7962 },
7963 },
7964 },
7965 {
7966 name: "ANDL",
7967 argLen: 2,
7968 commutative: true,
7969 resultInArg0: true,
7970 clobberFlags: true,
7971 asm: x86.AANDL,
7972 reg: regInfo{
7973 inputs: []inputInfo{
7974 {0, 49135},
7975 {1, 49135},
7976 },
7977 outputs: []outputInfo{
7978 {0, 49135},
7979 },
7980 },
7981 },
7982 {
7983 name: "ANDQconst",
7984 auxType: auxInt32,
7985 argLen: 1,
7986 resultInArg0: true,
7987 clobberFlags: true,
7988 asm: x86.AANDQ,
7989 reg: regInfo{
7990 inputs: []inputInfo{
7991 {0, 49135},
7992 },
7993 outputs: []outputInfo{
7994 {0, 49135},
7995 },
7996 },
7997 },
7998 {
7999 name: "ANDLconst",
8000 auxType: auxInt32,
8001 argLen: 1,
8002 resultInArg0: true,
8003 clobberFlags: true,
8004 asm: x86.AANDL,
8005 reg: regInfo{
8006 inputs: []inputInfo{
8007 {0, 49135},
8008 },
8009 outputs: []outputInfo{
8010 {0, 49135},
8011 },
8012 },
8013 },
8014 {
8015 name: "ANDQconstmodify",
8016 auxType: auxSymValAndOff,
8017 argLen: 2,
8018 clobberFlags: true,
8019 faultOnNilArg0: true,
8020 symEffect: SymRead | SymWrite,
8021 asm: x86.AANDQ,
8022 reg: regInfo{
8023 inputs: []inputInfo{
8024 {0, 4295032831},
8025 },
8026 },
8027 },
8028 {
8029 name: "ANDLconstmodify",
8030 auxType: auxSymValAndOff,
8031 argLen: 2,
8032 clobberFlags: true,
8033 faultOnNilArg0: true,
8034 symEffect: SymRead | SymWrite,
8035 asm: x86.AANDL,
8036 reg: regInfo{
8037 inputs: []inputInfo{
8038 {0, 4295032831},
8039 },
8040 },
8041 },
8042 {
8043 name: "ORQ",
8044 argLen: 2,
8045 commutative: true,
8046 resultInArg0: true,
8047 clobberFlags: true,
8048 asm: x86.AORQ,
8049 reg: regInfo{
8050 inputs: []inputInfo{
8051 {0, 49135},
8052 {1, 49135},
8053 },
8054 outputs: []outputInfo{
8055 {0, 49135},
8056 },
8057 },
8058 },
8059 {
8060 name: "ORL",
8061 argLen: 2,
8062 commutative: true,
8063 resultInArg0: true,
8064 clobberFlags: true,
8065 asm: x86.AORL,
8066 reg: regInfo{
8067 inputs: []inputInfo{
8068 {0, 49135},
8069 {1, 49135},
8070 },
8071 outputs: []outputInfo{
8072 {0, 49135},
8073 },
8074 },
8075 },
8076 {
8077 name: "ORQconst",
8078 auxType: auxInt32,
8079 argLen: 1,
8080 resultInArg0: true,
8081 clobberFlags: true,
8082 asm: x86.AORQ,
8083 reg: regInfo{
8084 inputs: []inputInfo{
8085 {0, 49135},
8086 },
8087 outputs: []outputInfo{
8088 {0, 49135},
8089 },
8090 },
8091 },
8092 {
8093 name: "ORLconst",
8094 auxType: auxInt32,
8095 argLen: 1,
8096 resultInArg0: true,
8097 clobberFlags: true,
8098 asm: x86.AORL,
8099 reg: regInfo{
8100 inputs: []inputInfo{
8101 {0, 49135},
8102 },
8103 outputs: []outputInfo{
8104 {0, 49135},
8105 },
8106 },
8107 },
8108 {
8109 name: "ORQconstmodify",
8110 auxType: auxSymValAndOff,
8111 argLen: 2,
8112 clobberFlags: true,
8113 faultOnNilArg0: true,
8114 symEffect: SymRead | SymWrite,
8115 asm: x86.AORQ,
8116 reg: regInfo{
8117 inputs: []inputInfo{
8118 {0, 4295032831},
8119 },
8120 },
8121 },
8122 {
8123 name: "ORLconstmodify",
8124 auxType: auxSymValAndOff,
8125 argLen: 2,
8126 clobberFlags: true,
8127 faultOnNilArg0: true,
8128 symEffect: SymRead | SymWrite,
8129 asm: x86.AORL,
8130 reg: regInfo{
8131 inputs: []inputInfo{
8132 {0, 4295032831},
8133 },
8134 },
8135 },
8136 {
8137 name: "XORQ",
8138 argLen: 2,
8139 commutative: true,
8140 resultInArg0: true,
8141 clobberFlags: true,
8142 asm: x86.AXORQ,
8143 reg: regInfo{
8144 inputs: []inputInfo{
8145 {0, 49135},
8146 {1, 49135},
8147 },
8148 outputs: []outputInfo{
8149 {0, 49135},
8150 },
8151 },
8152 },
8153 {
8154 name: "XORL",
8155 argLen: 2,
8156 commutative: true,
8157 resultInArg0: true,
8158 clobberFlags: true,
8159 asm: x86.AXORL,
8160 reg: regInfo{
8161 inputs: []inputInfo{
8162 {0, 49135},
8163 {1, 49135},
8164 },
8165 outputs: []outputInfo{
8166 {0, 49135},
8167 },
8168 },
8169 },
8170 {
8171 name: "XORQconst",
8172 auxType: auxInt32,
8173 argLen: 1,
8174 resultInArg0: true,
8175 clobberFlags: true,
8176 asm: x86.AXORQ,
8177 reg: regInfo{
8178 inputs: []inputInfo{
8179 {0, 49135},
8180 },
8181 outputs: []outputInfo{
8182 {0, 49135},
8183 },
8184 },
8185 },
8186 {
8187 name: "XORLconst",
8188 auxType: auxInt32,
8189 argLen: 1,
8190 resultInArg0: true,
8191 clobberFlags: true,
8192 asm: x86.AXORL,
8193 reg: regInfo{
8194 inputs: []inputInfo{
8195 {0, 49135},
8196 },
8197 outputs: []outputInfo{
8198 {0, 49135},
8199 },
8200 },
8201 },
8202 {
8203 name: "XORQconstmodify",
8204 auxType: auxSymValAndOff,
8205 argLen: 2,
8206 clobberFlags: true,
8207 faultOnNilArg0: true,
8208 symEffect: SymRead | SymWrite,
8209 asm: x86.AXORQ,
8210 reg: regInfo{
8211 inputs: []inputInfo{
8212 {0, 4295032831},
8213 },
8214 },
8215 },
8216 {
8217 name: "XORLconstmodify",
8218 auxType: auxSymValAndOff,
8219 argLen: 2,
8220 clobberFlags: true,
8221 faultOnNilArg0: true,
8222 symEffect: SymRead | SymWrite,
8223 asm: x86.AXORL,
8224 reg: regInfo{
8225 inputs: []inputInfo{
8226 {0, 4295032831},
8227 },
8228 },
8229 },
8230 {
8231 name: "CMPQ",
8232 argLen: 2,
8233 asm: x86.ACMPQ,
8234 reg: regInfo{
8235 inputs: []inputInfo{
8236 {0, 49151},
8237 {1, 49151},
8238 },
8239 },
8240 },
8241 {
8242 name: "CMPL",
8243 argLen: 2,
8244 asm: x86.ACMPL,
8245 reg: regInfo{
8246 inputs: []inputInfo{
8247 {0, 49151},
8248 {1, 49151},
8249 },
8250 },
8251 },
8252 {
8253 name: "CMPW",
8254 argLen: 2,
8255 asm: x86.ACMPW,
8256 reg: regInfo{
8257 inputs: []inputInfo{
8258 {0, 49151},
8259 {1, 49151},
8260 },
8261 },
8262 },
8263 {
8264 name: "CMPB",
8265 argLen: 2,
8266 asm: x86.ACMPB,
8267 reg: regInfo{
8268 inputs: []inputInfo{
8269 {0, 49151},
8270 {1, 49151},
8271 },
8272 },
8273 },
8274 {
8275 name: "CMPQconst",
8276 auxType: auxInt32,
8277 argLen: 1,
8278 asm: x86.ACMPQ,
8279 reg: regInfo{
8280 inputs: []inputInfo{
8281 {0, 49151},
8282 },
8283 },
8284 },
8285 {
8286 name: "CMPLconst",
8287 auxType: auxInt32,
8288 argLen: 1,
8289 asm: x86.ACMPL,
8290 reg: regInfo{
8291 inputs: []inputInfo{
8292 {0, 49151},
8293 },
8294 },
8295 },
8296 {
8297 name: "CMPWconst",
8298 auxType: auxInt16,
8299 argLen: 1,
8300 asm: x86.ACMPW,
8301 reg: regInfo{
8302 inputs: []inputInfo{
8303 {0, 49151},
8304 },
8305 },
8306 },
8307 {
8308 name: "CMPBconst",
8309 auxType: auxInt8,
8310 argLen: 1,
8311 asm: x86.ACMPB,
8312 reg: regInfo{
8313 inputs: []inputInfo{
8314 {0, 49151},
8315 },
8316 },
8317 },
8318 {
8319 name: "CMPQload",
8320 auxType: auxSymOff,
8321 argLen: 3,
8322 faultOnNilArg0: true,
8323 symEffect: SymRead,
8324 asm: x86.ACMPQ,
8325 reg: regInfo{
8326 inputs: []inputInfo{
8327 {1, 49151},
8328 {0, 4295032831},
8329 },
8330 },
8331 },
8332 {
8333 name: "CMPLload",
8334 auxType: auxSymOff,
8335 argLen: 3,
8336 faultOnNilArg0: true,
8337 symEffect: SymRead,
8338 asm: x86.ACMPL,
8339 reg: regInfo{
8340 inputs: []inputInfo{
8341 {1, 49151},
8342 {0, 4295032831},
8343 },
8344 },
8345 },
8346 {
8347 name: "CMPWload",
8348 auxType: auxSymOff,
8349 argLen: 3,
8350 faultOnNilArg0: true,
8351 symEffect: SymRead,
8352 asm: x86.ACMPW,
8353 reg: regInfo{
8354 inputs: []inputInfo{
8355 {1, 49151},
8356 {0, 4295032831},
8357 },
8358 },
8359 },
8360 {
8361 name: "CMPBload",
8362 auxType: auxSymOff,
8363 argLen: 3,
8364 faultOnNilArg0: true,
8365 symEffect: SymRead,
8366 asm: x86.ACMPB,
8367 reg: regInfo{
8368 inputs: []inputInfo{
8369 {1, 49151},
8370 {0, 4295032831},
8371 },
8372 },
8373 },
8374 {
8375 name: "CMPQconstload",
8376 auxType: auxSymValAndOff,
8377 argLen: 2,
8378 faultOnNilArg0: true,
8379 symEffect: SymRead,
8380 asm: x86.ACMPQ,
8381 reg: regInfo{
8382 inputs: []inputInfo{
8383 {0, 4295032831},
8384 },
8385 },
8386 },
8387 {
8388 name: "CMPLconstload",
8389 auxType: auxSymValAndOff,
8390 argLen: 2,
8391 faultOnNilArg0: true,
8392 symEffect: SymRead,
8393 asm: x86.ACMPL,
8394 reg: regInfo{
8395 inputs: []inputInfo{
8396 {0, 4295032831},
8397 },
8398 },
8399 },
8400 {
8401 name: "CMPWconstload",
8402 auxType: auxSymValAndOff,
8403 argLen: 2,
8404 faultOnNilArg0: true,
8405 symEffect: SymRead,
8406 asm: x86.ACMPW,
8407 reg: regInfo{
8408 inputs: []inputInfo{
8409 {0, 4295032831},
8410 },
8411 },
8412 },
8413 {
8414 name: "CMPBconstload",
8415 auxType: auxSymValAndOff,
8416 argLen: 2,
8417 faultOnNilArg0: true,
8418 symEffect: SymRead,
8419 asm: x86.ACMPB,
8420 reg: regInfo{
8421 inputs: []inputInfo{
8422 {0, 4295032831},
8423 },
8424 },
8425 },
8426 {
8427 name: "CMPQloadidx8",
8428 auxType: auxSymOff,
8429 argLen: 4,
8430 symEffect: SymRead,
8431 asm: x86.ACMPQ,
8432 scale: 8,
8433 reg: regInfo{
8434 inputs: []inputInfo{
8435 {1, 49151},
8436 {2, 49151},
8437 {0, 4295032831},
8438 },
8439 },
8440 },
8441 {
8442 name: "CMPQloadidx1",
8443 auxType: auxSymOff,
8444 argLen: 4,
8445 commutative: true,
8446 symEffect: SymRead,
8447 asm: x86.ACMPQ,
8448 scale: 1,
8449 reg: regInfo{
8450 inputs: []inputInfo{
8451 {1, 49151},
8452 {2, 49151},
8453 {0, 4295032831},
8454 },
8455 },
8456 },
8457 {
8458 name: "CMPLloadidx4",
8459 auxType: auxSymOff,
8460 argLen: 4,
8461 symEffect: SymRead,
8462 asm: x86.ACMPL,
8463 scale: 4,
8464 reg: regInfo{
8465 inputs: []inputInfo{
8466 {1, 49151},
8467 {2, 49151},
8468 {0, 4295032831},
8469 },
8470 },
8471 },
8472 {
8473 name: "CMPLloadidx1",
8474 auxType: auxSymOff,
8475 argLen: 4,
8476 commutative: true,
8477 symEffect: SymRead,
8478 asm: x86.ACMPL,
8479 scale: 1,
8480 reg: regInfo{
8481 inputs: []inputInfo{
8482 {1, 49151},
8483 {2, 49151},
8484 {0, 4295032831},
8485 },
8486 },
8487 },
8488 {
8489 name: "CMPWloadidx2",
8490 auxType: auxSymOff,
8491 argLen: 4,
8492 symEffect: SymRead,
8493 asm: x86.ACMPW,
8494 scale: 2,
8495 reg: regInfo{
8496 inputs: []inputInfo{
8497 {1, 49151},
8498 {2, 49151},
8499 {0, 4295032831},
8500 },
8501 },
8502 },
8503 {
8504 name: "CMPWloadidx1",
8505 auxType: auxSymOff,
8506 argLen: 4,
8507 commutative: true,
8508 symEffect: SymRead,
8509 asm: x86.ACMPW,
8510 scale: 1,
8511 reg: regInfo{
8512 inputs: []inputInfo{
8513 {1, 49151},
8514 {2, 49151},
8515 {0, 4295032831},
8516 },
8517 },
8518 },
8519 {
8520 name: "CMPBloadidx1",
8521 auxType: auxSymOff,
8522 argLen: 4,
8523 commutative: true,
8524 symEffect: SymRead,
8525 asm: x86.ACMPB,
8526 scale: 1,
8527 reg: regInfo{
8528 inputs: []inputInfo{
8529 {1, 49151},
8530 {2, 49151},
8531 {0, 4295032831},
8532 },
8533 },
8534 },
8535 {
8536 name: "CMPQconstloadidx8",
8537 auxType: auxSymValAndOff,
8538 argLen: 3,
8539 symEffect: SymRead,
8540 asm: x86.ACMPQ,
8541 scale: 8,
8542 reg: regInfo{
8543 inputs: []inputInfo{
8544 {1, 49151},
8545 {0, 4295032831},
8546 },
8547 },
8548 },
8549 {
8550 name: "CMPQconstloadidx1",
8551 auxType: auxSymValAndOff,
8552 argLen: 3,
8553 commutative: true,
8554 symEffect: SymRead,
8555 asm: x86.ACMPQ,
8556 scale: 1,
8557 reg: regInfo{
8558 inputs: []inputInfo{
8559 {1, 49151},
8560 {0, 4295032831},
8561 },
8562 },
8563 },
8564 {
8565 name: "CMPLconstloadidx4",
8566 auxType: auxSymValAndOff,
8567 argLen: 3,
8568 symEffect: SymRead,
8569 asm: x86.ACMPL,
8570 scale: 4,
8571 reg: regInfo{
8572 inputs: []inputInfo{
8573 {1, 49151},
8574 {0, 4295032831},
8575 },
8576 },
8577 },
8578 {
8579 name: "CMPLconstloadidx1",
8580 auxType: auxSymValAndOff,
8581 argLen: 3,
8582 commutative: true,
8583 symEffect: SymRead,
8584 asm: x86.ACMPL,
8585 scale: 1,
8586 reg: regInfo{
8587 inputs: []inputInfo{
8588 {1, 49151},
8589 {0, 4295032831},
8590 },
8591 },
8592 },
8593 {
8594 name: "CMPWconstloadidx2",
8595 auxType: auxSymValAndOff,
8596 argLen: 3,
8597 symEffect: SymRead,
8598 asm: x86.ACMPW,
8599 scale: 2,
8600 reg: regInfo{
8601 inputs: []inputInfo{
8602 {1, 49151},
8603 {0, 4295032831},
8604 },
8605 },
8606 },
8607 {
8608 name: "CMPWconstloadidx1",
8609 auxType: auxSymValAndOff,
8610 argLen: 3,
8611 commutative: true,
8612 symEffect: SymRead,
8613 asm: x86.ACMPW,
8614 scale: 1,
8615 reg: regInfo{
8616 inputs: []inputInfo{
8617 {1, 49151},
8618 {0, 4295032831},
8619 },
8620 },
8621 },
8622 {
8623 name: "CMPBconstloadidx1",
8624 auxType: auxSymValAndOff,
8625 argLen: 3,
8626 commutative: true,
8627 symEffect: SymRead,
8628 asm: x86.ACMPB,
8629 scale: 1,
8630 reg: regInfo{
8631 inputs: []inputInfo{
8632 {1, 49151},
8633 {0, 4295032831},
8634 },
8635 },
8636 },
8637 {
8638 name: "UCOMISS",
8639 argLen: 2,
8640 asm: x86.AUCOMISS,
8641 reg: regInfo{
8642 inputs: []inputInfo{
8643 {0, 2147418112},
8644 {1, 2147418112},
8645 },
8646 },
8647 },
8648 {
8649 name: "UCOMISD",
8650 argLen: 2,
8651 asm: x86.AUCOMISD,
8652 reg: regInfo{
8653 inputs: []inputInfo{
8654 {0, 2147418112},
8655 {1, 2147418112},
8656 },
8657 },
8658 },
8659 {
8660 name: "BTL",
8661 argLen: 2,
8662 asm: x86.ABTL,
8663 reg: regInfo{
8664 inputs: []inputInfo{
8665 {0, 49151},
8666 {1, 49151},
8667 },
8668 },
8669 },
8670 {
8671 name: "BTQ",
8672 argLen: 2,
8673 asm: x86.ABTQ,
8674 reg: regInfo{
8675 inputs: []inputInfo{
8676 {0, 49151},
8677 {1, 49151},
8678 },
8679 },
8680 },
8681 {
8682 name: "BTCL",
8683 argLen: 2,
8684 resultInArg0: true,
8685 clobberFlags: true,
8686 asm: x86.ABTCL,
8687 reg: regInfo{
8688 inputs: []inputInfo{
8689 {0, 49135},
8690 {1, 49135},
8691 },
8692 outputs: []outputInfo{
8693 {0, 49135},
8694 },
8695 },
8696 },
8697 {
8698 name: "BTCQ",
8699 argLen: 2,
8700 resultInArg0: true,
8701 clobberFlags: true,
8702 asm: x86.ABTCQ,
8703 reg: regInfo{
8704 inputs: []inputInfo{
8705 {0, 49135},
8706 {1, 49135},
8707 },
8708 outputs: []outputInfo{
8709 {0, 49135},
8710 },
8711 },
8712 },
8713 {
8714 name: "BTRL",
8715 argLen: 2,
8716 resultInArg0: true,
8717 clobberFlags: true,
8718 asm: x86.ABTRL,
8719 reg: regInfo{
8720 inputs: []inputInfo{
8721 {0, 49135},
8722 {1, 49135},
8723 },
8724 outputs: []outputInfo{
8725 {0, 49135},
8726 },
8727 },
8728 },
8729 {
8730 name: "BTRQ",
8731 argLen: 2,
8732 resultInArg0: true,
8733 clobberFlags: true,
8734 asm: x86.ABTRQ,
8735 reg: regInfo{
8736 inputs: []inputInfo{
8737 {0, 49135},
8738 {1, 49135},
8739 },
8740 outputs: []outputInfo{
8741 {0, 49135},
8742 },
8743 },
8744 },
8745 {
8746 name: "BTSL",
8747 argLen: 2,
8748 resultInArg0: true,
8749 clobberFlags: true,
8750 asm: x86.ABTSL,
8751 reg: regInfo{
8752 inputs: []inputInfo{
8753 {0, 49135},
8754 {1, 49135},
8755 },
8756 outputs: []outputInfo{
8757 {0, 49135},
8758 },
8759 },
8760 },
8761 {
8762 name: "BTSQ",
8763 argLen: 2,
8764 resultInArg0: true,
8765 clobberFlags: true,
8766 asm: x86.ABTSQ,
8767 reg: regInfo{
8768 inputs: []inputInfo{
8769 {0, 49135},
8770 {1, 49135},
8771 },
8772 outputs: []outputInfo{
8773 {0, 49135},
8774 },
8775 },
8776 },
8777 {
8778 name: "BTLconst",
8779 auxType: auxInt8,
8780 argLen: 1,
8781 asm: x86.ABTL,
8782 reg: regInfo{
8783 inputs: []inputInfo{
8784 {0, 49151},
8785 },
8786 },
8787 },
8788 {
8789 name: "BTQconst",
8790 auxType: auxInt8,
8791 argLen: 1,
8792 asm: x86.ABTQ,
8793 reg: regInfo{
8794 inputs: []inputInfo{
8795 {0, 49151},
8796 },
8797 },
8798 },
8799 {
8800 name: "BTCQconst",
8801 auxType: auxInt8,
8802 argLen: 1,
8803 resultInArg0: true,
8804 clobberFlags: true,
8805 asm: x86.ABTCQ,
8806 reg: regInfo{
8807 inputs: []inputInfo{
8808 {0, 49135},
8809 },
8810 outputs: []outputInfo{
8811 {0, 49135},
8812 },
8813 },
8814 },
8815 {
8816 name: "BTRQconst",
8817 auxType: auxInt8,
8818 argLen: 1,
8819 resultInArg0: true,
8820 clobberFlags: true,
8821 asm: x86.ABTRQ,
8822 reg: regInfo{
8823 inputs: []inputInfo{
8824 {0, 49135},
8825 },
8826 outputs: []outputInfo{
8827 {0, 49135},
8828 },
8829 },
8830 },
8831 {
8832 name: "BTSQconst",
8833 auxType: auxInt8,
8834 argLen: 1,
8835 resultInArg0: true,
8836 clobberFlags: true,
8837 asm: x86.ABTSQ,
8838 reg: regInfo{
8839 inputs: []inputInfo{
8840 {0, 49135},
8841 },
8842 outputs: []outputInfo{
8843 {0, 49135},
8844 },
8845 },
8846 },
8847 {
8848 name: "BTSQconstmodify",
8849 auxType: auxSymValAndOff,
8850 argLen: 2,
8851 clobberFlags: true,
8852 faultOnNilArg0: true,
8853 symEffect: SymRead | SymWrite,
8854 asm: x86.ABTSQ,
8855 reg: regInfo{
8856 inputs: []inputInfo{
8857 {0, 4295032831},
8858 },
8859 },
8860 },
8861 {
8862 name: "BTRQconstmodify",
8863 auxType: auxSymValAndOff,
8864 argLen: 2,
8865 clobberFlags: true,
8866 faultOnNilArg0: true,
8867 symEffect: SymRead | SymWrite,
8868 asm: x86.ABTRQ,
8869 reg: regInfo{
8870 inputs: []inputInfo{
8871 {0, 4295032831},
8872 },
8873 },
8874 },
8875 {
8876 name: "BTCQconstmodify",
8877 auxType: auxSymValAndOff,
8878 argLen: 2,
8879 clobberFlags: true,
8880 faultOnNilArg0: true,
8881 symEffect: SymRead | SymWrite,
8882 asm: x86.ABTCQ,
8883 reg: regInfo{
8884 inputs: []inputInfo{
8885 {0, 4295032831},
8886 },
8887 },
8888 },
8889 {
8890 name: "TESTQ",
8891 argLen: 2,
8892 commutative: true,
8893 asm: x86.ATESTQ,
8894 reg: regInfo{
8895 inputs: []inputInfo{
8896 {0, 49151},
8897 {1, 49151},
8898 },
8899 },
8900 },
8901 {
8902 name: "TESTL",
8903 argLen: 2,
8904 commutative: true,
8905 asm: x86.ATESTL,
8906 reg: regInfo{
8907 inputs: []inputInfo{
8908 {0, 49151},
8909 {1, 49151},
8910 },
8911 },
8912 },
8913 {
8914 name: "TESTW",
8915 argLen: 2,
8916 commutative: true,
8917 asm: x86.ATESTW,
8918 reg: regInfo{
8919 inputs: []inputInfo{
8920 {0, 49151},
8921 {1, 49151},
8922 },
8923 },
8924 },
8925 {
8926 name: "TESTB",
8927 argLen: 2,
8928 commutative: true,
8929 asm: x86.ATESTB,
8930 reg: regInfo{
8931 inputs: []inputInfo{
8932 {0, 49151},
8933 {1, 49151},
8934 },
8935 },
8936 },
8937 {
8938 name: "TESTQconst",
8939 auxType: auxInt32,
8940 argLen: 1,
8941 asm: x86.ATESTQ,
8942 reg: regInfo{
8943 inputs: []inputInfo{
8944 {0, 49151},
8945 },
8946 },
8947 },
8948 {
8949 name: "TESTLconst",
8950 auxType: auxInt32,
8951 argLen: 1,
8952 asm: x86.ATESTL,
8953 reg: regInfo{
8954 inputs: []inputInfo{
8955 {0, 49151},
8956 },
8957 },
8958 },
8959 {
8960 name: "TESTWconst",
8961 auxType: auxInt16,
8962 argLen: 1,
8963 asm: x86.ATESTW,
8964 reg: regInfo{
8965 inputs: []inputInfo{
8966 {0, 49151},
8967 },
8968 },
8969 },
8970 {
8971 name: "TESTBconst",
8972 auxType: auxInt8,
8973 argLen: 1,
8974 asm: x86.ATESTB,
8975 reg: regInfo{
8976 inputs: []inputInfo{
8977 {0, 49151},
8978 },
8979 },
8980 },
8981 {
8982 name: "SHLQ",
8983 argLen: 2,
8984 resultInArg0: true,
8985 clobberFlags: true,
8986 asm: x86.ASHLQ,
8987 reg: regInfo{
8988 inputs: []inputInfo{
8989 {1, 2},
8990 {0, 49135},
8991 },
8992 outputs: []outputInfo{
8993 {0, 49135},
8994 },
8995 },
8996 },
8997 {
8998 name: "SHLL",
8999 argLen: 2,
9000 resultInArg0: true,
9001 clobberFlags: true,
9002 asm: x86.ASHLL,
9003 reg: regInfo{
9004 inputs: []inputInfo{
9005 {1, 2},
9006 {0, 49135},
9007 },
9008 outputs: []outputInfo{
9009 {0, 49135},
9010 },
9011 },
9012 },
9013 {
9014 name: "SHLQconst",
9015 auxType: auxInt8,
9016 argLen: 1,
9017 resultInArg0: true,
9018 clobberFlags: true,
9019 asm: x86.ASHLQ,
9020 reg: regInfo{
9021 inputs: []inputInfo{
9022 {0, 49135},
9023 },
9024 outputs: []outputInfo{
9025 {0, 49135},
9026 },
9027 },
9028 },
9029 {
9030 name: "SHLLconst",
9031 auxType: auxInt8,
9032 argLen: 1,
9033 resultInArg0: true,
9034 clobberFlags: true,
9035 asm: x86.ASHLL,
9036 reg: regInfo{
9037 inputs: []inputInfo{
9038 {0, 49135},
9039 },
9040 outputs: []outputInfo{
9041 {0, 49135},
9042 },
9043 },
9044 },
9045 {
9046 name: "SHRQ",
9047 argLen: 2,
9048 resultInArg0: true,
9049 clobberFlags: true,
9050 asm: x86.ASHRQ,
9051 reg: regInfo{
9052 inputs: []inputInfo{
9053 {1, 2},
9054 {0, 49135},
9055 },
9056 outputs: []outputInfo{
9057 {0, 49135},
9058 },
9059 },
9060 },
9061 {
9062 name: "SHRL",
9063 argLen: 2,
9064 resultInArg0: true,
9065 clobberFlags: true,
9066 asm: x86.ASHRL,
9067 reg: regInfo{
9068 inputs: []inputInfo{
9069 {1, 2},
9070 {0, 49135},
9071 },
9072 outputs: []outputInfo{
9073 {0, 49135},
9074 },
9075 },
9076 },
9077 {
9078 name: "SHRW",
9079 argLen: 2,
9080 resultInArg0: true,
9081 clobberFlags: true,
9082 asm: x86.ASHRW,
9083 reg: regInfo{
9084 inputs: []inputInfo{
9085 {1, 2},
9086 {0, 49135},
9087 },
9088 outputs: []outputInfo{
9089 {0, 49135},
9090 },
9091 },
9092 },
9093 {
9094 name: "SHRB",
9095 argLen: 2,
9096 resultInArg0: true,
9097 clobberFlags: true,
9098 asm: x86.ASHRB,
9099 reg: regInfo{
9100 inputs: []inputInfo{
9101 {1, 2},
9102 {0, 49135},
9103 },
9104 outputs: []outputInfo{
9105 {0, 49135},
9106 },
9107 },
9108 },
9109 {
9110 name: "SHRQconst",
9111 auxType: auxInt8,
9112 argLen: 1,
9113 resultInArg0: true,
9114 clobberFlags: true,
9115 asm: x86.ASHRQ,
9116 reg: regInfo{
9117 inputs: []inputInfo{
9118 {0, 49135},
9119 },
9120 outputs: []outputInfo{
9121 {0, 49135},
9122 },
9123 },
9124 },
9125 {
9126 name: "SHRLconst",
9127 auxType: auxInt8,
9128 argLen: 1,
9129 resultInArg0: true,
9130 clobberFlags: true,
9131 asm: x86.ASHRL,
9132 reg: regInfo{
9133 inputs: []inputInfo{
9134 {0, 49135},
9135 },
9136 outputs: []outputInfo{
9137 {0, 49135},
9138 },
9139 },
9140 },
9141 {
9142 name: "SHRWconst",
9143 auxType: auxInt8,
9144 argLen: 1,
9145 resultInArg0: true,
9146 clobberFlags: true,
9147 asm: x86.ASHRW,
9148 reg: regInfo{
9149 inputs: []inputInfo{
9150 {0, 49135},
9151 },
9152 outputs: []outputInfo{
9153 {0, 49135},
9154 },
9155 },
9156 },
9157 {
9158 name: "SHRBconst",
9159 auxType: auxInt8,
9160 argLen: 1,
9161 resultInArg0: true,
9162 clobberFlags: true,
9163 asm: x86.ASHRB,
9164 reg: regInfo{
9165 inputs: []inputInfo{
9166 {0, 49135},
9167 },
9168 outputs: []outputInfo{
9169 {0, 49135},
9170 },
9171 },
9172 },
9173 {
9174 name: "SARQ",
9175 argLen: 2,
9176 resultInArg0: true,
9177 clobberFlags: true,
9178 asm: x86.ASARQ,
9179 reg: regInfo{
9180 inputs: []inputInfo{
9181 {1, 2},
9182 {0, 49135},
9183 },
9184 outputs: []outputInfo{
9185 {0, 49135},
9186 },
9187 },
9188 },
9189 {
9190 name: "SARL",
9191 argLen: 2,
9192 resultInArg0: true,
9193 clobberFlags: true,
9194 asm: x86.ASARL,
9195 reg: regInfo{
9196 inputs: []inputInfo{
9197 {1, 2},
9198 {0, 49135},
9199 },
9200 outputs: []outputInfo{
9201 {0, 49135},
9202 },
9203 },
9204 },
9205 {
9206 name: "SARW",
9207 argLen: 2,
9208 resultInArg0: true,
9209 clobberFlags: true,
9210 asm: x86.ASARW,
9211 reg: regInfo{
9212 inputs: []inputInfo{
9213 {1, 2},
9214 {0, 49135},
9215 },
9216 outputs: []outputInfo{
9217 {0, 49135},
9218 },
9219 },
9220 },
9221 {
9222 name: "SARB",
9223 argLen: 2,
9224 resultInArg0: true,
9225 clobberFlags: true,
9226 asm: x86.ASARB,
9227 reg: regInfo{
9228 inputs: []inputInfo{
9229 {1, 2},
9230 {0, 49135},
9231 },
9232 outputs: []outputInfo{
9233 {0, 49135},
9234 },
9235 },
9236 },
9237 {
9238 name: "SARQconst",
9239 auxType: auxInt8,
9240 argLen: 1,
9241 resultInArg0: true,
9242 clobberFlags: true,
9243 asm: x86.ASARQ,
9244 reg: regInfo{
9245 inputs: []inputInfo{
9246 {0, 49135},
9247 },
9248 outputs: []outputInfo{
9249 {0, 49135},
9250 },
9251 },
9252 },
9253 {
9254 name: "SARLconst",
9255 auxType: auxInt8,
9256 argLen: 1,
9257 resultInArg0: true,
9258 clobberFlags: true,
9259 asm: x86.ASARL,
9260 reg: regInfo{
9261 inputs: []inputInfo{
9262 {0, 49135},
9263 },
9264 outputs: []outputInfo{
9265 {0, 49135},
9266 },
9267 },
9268 },
9269 {
9270 name: "SARWconst",
9271 auxType: auxInt8,
9272 argLen: 1,
9273 resultInArg0: true,
9274 clobberFlags: true,
9275 asm: x86.ASARW,
9276 reg: regInfo{
9277 inputs: []inputInfo{
9278 {0, 49135},
9279 },
9280 outputs: []outputInfo{
9281 {0, 49135},
9282 },
9283 },
9284 },
9285 {
9286 name: "SARBconst",
9287 auxType: auxInt8,
9288 argLen: 1,
9289 resultInArg0: true,
9290 clobberFlags: true,
9291 asm: x86.ASARB,
9292 reg: regInfo{
9293 inputs: []inputInfo{
9294 {0, 49135},
9295 },
9296 outputs: []outputInfo{
9297 {0, 49135},
9298 },
9299 },
9300 },
9301 {
9302 name: "SHRDQ",
9303 argLen: 3,
9304 resultInArg0: true,
9305 clobberFlags: true,
9306 asm: x86.ASHRQ,
9307 reg: regInfo{
9308 inputs: []inputInfo{
9309 {2, 2},
9310 {0, 49135},
9311 {1, 49135},
9312 },
9313 outputs: []outputInfo{
9314 {0, 49135},
9315 },
9316 },
9317 },
9318 {
9319 name: "SHLDQ",
9320 argLen: 3,
9321 resultInArg0: true,
9322 clobberFlags: true,
9323 asm: x86.ASHLQ,
9324 reg: regInfo{
9325 inputs: []inputInfo{
9326 {2, 2},
9327 {0, 49135},
9328 {1, 49135},
9329 },
9330 outputs: []outputInfo{
9331 {0, 49135},
9332 },
9333 },
9334 },
9335 {
9336 name: "ROLQ",
9337 argLen: 2,
9338 resultInArg0: true,
9339 clobberFlags: true,
9340 asm: x86.AROLQ,
9341 reg: regInfo{
9342 inputs: []inputInfo{
9343 {1, 2},
9344 {0, 49135},
9345 },
9346 outputs: []outputInfo{
9347 {0, 49135},
9348 },
9349 },
9350 },
9351 {
9352 name: "ROLL",
9353 argLen: 2,
9354 resultInArg0: true,
9355 clobberFlags: true,
9356 asm: x86.AROLL,
9357 reg: regInfo{
9358 inputs: []inputInfo{
9359 {1, 2},
9360 {0, 49135},
9361 },
9362 outputs: []outputInfo{
9363 {0, 49135},
9364 },
9365 },
9366 },
9367 {
9368 name: "ROLW",
9369 argLen: 2,
9370 resultInArg0: true,
9371 clobberFlags: true,
9372 asm: x86.AROLW,
9373 reg: regInfo{
9374 inputs: []inputInfo{
9375 {1, 2},
9376 {0, 49135},
9377 },
9378 outputs: []outputInfo{
9379 {0, 49135},
9380 },
9381 },
9382 },
9383 {
9384 name: "ROLB",
9385 argLen: 2,
9386 resultInArg0: true,
9387 clobberFlags: true,
9388 asm: x86.AROLB,
9389 reg: regInfo{
9390 inputs: []inputInfo{
9391 {1, 2},
9392 {0, 49135},
9393 },
9394 outputs: []outputInfo{
9395 {0, 49135},
9396 },
9397 },
9398 },
9399 {
9400 name: "RORQ",
9401 argLen: 2,
9402 resultInArg0: true,
9403 clobberFlags: true,
9404 asm: x86.ARORQ,
9405 reg: regInfo{
9406 inputs: []inputInfo{
9407 {1, 2},
9408 {0, 49135},
9409 },
9410 outputs: []outputInfo{
9411 {0, 49135},
9412 },
9413 },
9414 },
9415 {
9416 name: "RORL",
9417 argLen: 2,
9418 resultInArg0: true,
9419 clobberFlags: true,
9420 asm: x86.ARORL,
9421 reg: regInfo{
9422 inputs: []inputInfo{
9423 {1, 2},
9424 {0, 49135},
9425 },
9426 outputs: []outputInfo{
9427 {0, 49135},
9428 },
9429 },
9430 },
9431 {
9432 name: "RORW",
9433 argLen: 2,
9434 resultInArg0: true,
9435 clobberFlags: true,
9436 asm: x86.ARORW,
9437 reg: regInfo{
9438 inputs: []inputInfo{
9439 {1, 2},
9440 {0, 49135},
9441 },
9442 outputs: []outputInfo{
9443 {0, 49135},
9444 },
9445 },
9446 },
9447 {
9448 name: "RORB",
9449 argLen: 2,
9450 resultInArg0: true,
9451 clobberFlags: true,
9452 asm: x86.ARORB,
9453 reg: regInfo{
9454 inputs: []inputInfo{
9455 {1, 2},
9456 {0, 49135},
9457 },
9458 outputs: []outputInfo{
9459 {0, 49135},
9460 },
9461 },
9462 },
9463 {
9464 name: "ROLQconst",
9465 auxType: auxInt8,
9466 argLen: 1,
9467 resultInArg0: true,
9468 clobberFlags: true,
9469 asm: x86.AROLQ,
9470 reg: regInfo{
9471 inputs: []inputInfo{
9472 {0, 49135},
9473 },
9474 outputs: []outputInfo{
9475 {0, 49135},
9476 },
9477 },
9478 },
9479 {
9480 name: "ROLLconst",
9481 auxType: auxInt8,
9482 argLen: 1,
9483 resultInArg0: true,
9484 clobberFlags: true,
9485 asm: x86.AROLL,
9486 reg: regInfo{
9487 inputs: []inputInfo{
9488 {0, 49135},
9489 },
9490 outputs: []outputInfo{
9491 {0, 49135},
9492 },
9493 },
9494 },
9495 {
9496 name: "ROLWconst",
9497 auxType: auxInt8,
9498 argLen: 1,
9499 resultInArg0: true,
9500 clobberFlags: true,
9501 asm: x86.AROLW,
9502 reg: regInfo{
9503 inputs: []inputInfo{
9504 {0, 49135},
9505 },
9506 outputs: []outputInfo{
9507 {0, 49135},
9508 },
9509 },
9510 },
9511 {
9512 name: "ROLBconst",
9513 auxType: auxInt8,
9514 argLen: 1,
9515 resultInArg0: true,
9516 clobberFlags: true,
9517 asm: x86.AROLB,
9518 reg: regInfo{
9519 inputs: []inputInfo{
9520 {0, 49135},
9521 },
9522 outputs: []outputInfo{
9523 {0, 49135},
9524 },
9525 },
9526 },
9527 {
9528 name: "ADDLload",
9529 auxType: auxSymOff,
9530 argLen: 3,
9531 resultInArg0: true,
9532 clobberFlags: true,
9533 faultOnNilArg1: true,
9534 symEffect: SymRead,
9535 asm: x86.AADDL,
9536 reg: regInfo{
9537 inputs: []inputInfo{
9538 {0, 49135},
9539 {1, 4295032831},
9540 },
9541 outputs: []outputInfo{
9542 {0, 49135},
9543 },
9544 },
9545 },
9546 {
9547 name: "ADDQload",
9548 auxType: auxSymOff,
9549 argLen: 3,
9550 resultInArg0: true,
9551 clobberFlags: true,
9552 faultOnNilArg1: true,
9553 symEffect: SymRead,
9554 asm: x86.AADDQ,
9555 reg: regInfo{
9556 inputs: []inputInfo{
9557 {0, 49135},
9558 {1, 4295032831},
9559 },
9560 outputs: []outputInfo{
9561 {0, 49135},
9562 },
9563 },
9564 },
9565 {
9566 name: "SUBQload",
9567 auxType: auxSymOff,
9568 argLen: 3,
9569 resultInArg0: true,
9570 clobberFlags: true,
9571 faultOnNilArg1: true,
9572 symEffect: SymRead,
9573 asm: x86.ASUBQ,
9574 reg: regInfo{
9575 inputs: []inputInfo{
9576 {0, 49135},
9577 {1, 4295032831},
9578 },
9579 outputs: []outputInfo{
9580 {0, 49135},
9581 },
9582 },
9583 },
9584 {
9585 name: "SUBLload",
9586 auxType: auxSymOff,
9587 argLen: 3,
9588 resultInArg0: true,
9589 clobberFlags: true,
9590 faultOnNilArg1: true,
9591 symEffect: SymRead,
9592 asm: x86.ASUBL,
9593 reg: regInfo{
9594 inputs: []inputInfo{
9595 {0, 49135},
9596 {1, 4295032831},
9597 },
9598 outputs: []outputInfo{
9599 {0, 49135},
9600 },
9601 },
9602 },
9603 {
9604 name: "ANDLload",
9605 auxType: auxSymOff,
9606 argLen: 3,
9607 resultInArg0: true,
9608 clobberFlags: true,
9609 faultOnNilArg1: true,
9610 symEffect: SymRead,
9611 asm: x86.AANDL,
9612 reg: regInfo{
9613 inputs: []inputInfo{
9614 {0, 49135},
9615 {1, 4295032831},
9616 },
9617 outputs: []outputInfo{
9618 {0, 49135},
9619 },
9620 },
9621 },
9622 {
9623 name: "ANDQload",
9624 auxType: auxSymOff,
9625 argLen: 3,
9626 resultInArg0: true,
9627 clobberFlags: true,
9628 faultOnNilArg1: true,
9629 symEffect: SymRead,
9630 asm: x86.AANDQ,
9631 reg: regInfo{
9632 inputs: []inputInfo{
9633 {0, 49135},
9634 {1, 4295032831},
9635 },
9636 outputs: []outputInfo{
9637 {0, 49135},
9638 },
9639 },
9640 },
9641 {
9642 name: "ORQload",
9643 auxType: auxSymOff,
9644 argLen: 3,
9645 resultInArg0: true,
9646 clobberFlags: true,
9647 faultOnNilArg1: true,
9648 symEffect: SymRead,
9649 asm: x86.AORQ,
9650 reg: regInfo{
9651 inputs: []inputInfo{
9652 {0, 49135},
9653 {1, 4295032831},
9654 },
9655 outputs: []outputInfo{
9656 {0, 49135},
9657 },
9658 },
9659 },
9660 {
9661 name: "ORLload",
9662 auxType: auxSymOff,
9663 argLen: 3,
9664 resultInArg0: true,
9665 clobberFlags: true,
9666 faultOnNilArg1: true,
9667 symEffect: SymRead,
9668 asm: x86.AORL,
9669 reg: regInfo{
9670 inputs: []inputInfo{
9671 {0, 49135},
9672 {1, 4295032831},
9673 },
9674 outputs: []outputInfo{
9675 {0, 49135},
9676 },
9677 },
9678 },
9679 {
9680 name: "XORQload",
9681 auxType: auxSymOff,
9682 argLen: 3,
9683 resultInArg0: true,
9684 clobberFlags: true,
9685 faultOnNilArg1: true,
9686 symEffect: SymRead,
9687 asm: x86.AXORQ,
9688 reg: regInfo{
9689 inputs: []inputInfo{
9690 {0, 49135},
9691 {1, 4295032831},
9692 },
9693 outputs: []outputInfo{
9694 {0, 49135},
9695 },
9696 },
9697 },
9698 {
9699 name: "XORLload",
9700 auxType: auxSymOff,
9701 argLen: 3,
9702 resultInArg0: true,
9703 clobberFlags: true,
9704 faultOnNilArg1: true,
9705 symEffect: SymRead,
9706 asm: x86.AXORL,
9707 reg: regInfo{
9708 inputs: []inputInfo{
9709 {0, 49135},
9710 {1, 4295032831},
9711 },
9712 outputs: []outputInfo{
9713 {0, 49135},
9714 },
9715 },
9716 },
9717 {
9718 name: "ADDLloadidx1",
9719 auxType: auxSymOff,
9720 argLen: 4,
9721 resultInArg0: true,
9722 clobberFlags: true,
9723 symEffect: SymRead,
9724 asm: x86.AADDL,
9725 scale: 1,
9726 reg: regInfo{
9727 inputs: []inputInfo{
9728 {0, 49135},
9729 {2, 49151},
9730 {1, 4295032831},
9731 },
9732 outputs: []outputInfo{
9733 {0, 49135},
9734 },
9735 },
9736 },
9737 {
9738 name: "ADDLloadidx4",
9739 auxType: auxSymOff,
9740 argLen: 4,
9741 resultInArg0: true,
9742 clobberFlags: true,
9743 symEffect: SymRead,
9744 asm: x86.AADDL,
9745 scale: 4,
9746 reg: regInfo{
9747 inputs: []inputInfo{
9748 {0, 49135},
9749 {2, 49151},
9750 {1, 4295032831},
9751 },
9752 outputs: []outputInfo{
9753 {0, 49135},
9754 },
9755 },
9756 },
9757 {
9758 name: "ADDLloadidx8",
9759 auxType: auxSymOff,
9760 argLen: 4,
9761 resultInArg0: true,
9762 clobberFlags: true,
9763 symEffect: SymRead,
9764 asm: x86.AADDL,
9765 scale: 8,
9766 reg: regInfo{
9767 inputs: []inputInfo{
9768 {0, 49135},
9769 {2, 49151},
9770 {1, 4295032831},
9771 },
9772 outputs: []outputInfo{
9773 {0, 49135},
9774 },
9775 },
9776 },
9777 {
9778 name: "ADDQloadidx1",
9779 auxType: auxSymOff,
9780 argLen: 4,
9781 resultInArg0: true,
9782 clobberFlags: true,
9783 symEffect: SymRead,
9784 asm: x86.AADDQ,
9785 scale: 1,
9786 reg: regInfo{
9787 inputs: []inputInfo{
9788 {0, 49135},
9789 {2, 49151},
9790 {1, 4295032831},
9791 },
9792 outputs: []outputInfo{
9793 {0, 49135},
9794 },
9795 },
9796 },
9797 {
9798 name: "ADDQloadidx8",
9799 auxType: auxSymOff,
9800 argLen: 4,
9801 resultInArg0: true,
9802 clobberFlags: true,
9803 symEffect: SymRead,
9804 asm: x86.AADDQ,
9805 scale: 8,
9806 reg: regInfo{
9807 inputs: []inputInfo{
9808 {0, 49135},
9809 {2, 49151},
9810 {1, 4295032831},
9811 },
9812 outputs: []outputInfo{
9813 {0, 49135},
9814 },
9815 },
9816 },
9817 {
9818 name: "SUBLloadidx1",
9819 auxType: auxSymOff,
9820 argLen: 4,
9821 resultInArg0: true,
9822 clobberFlags: true,
9823 symEffect: SymRead,
9824 asm: x86.ASUBL,
9825 scale: 1,
9826 reg: regInfo{
9827 inputs: []inputInfo{
9828 {0, 49135},
9829 {2, 49151},
9830 {1, 4295032831},
9831 },
9832 outputs: []outputInfo{
9833 {0, 49135},
9834 },
9835 },
9836 },
9837 {
9838 name: "SUBLloadidx4",
9839 auxType: auxSymOff,
9840 argLen: 4,
9841 resultInArg0: true,
9842 clobberFlags: true,
9843 symEffect: SymRead,
9844 asm: x86.ASUBL,
9845 scale: 4,
9846 reg: regInfo{
9847 inputs: []inputInfo{
9848 {0, 49135},
9849 {2, 49151},
9850 {1, 4295032831},
9851 },
9852 outputs: []outputInfo{
9853 {0, 49135},
9854 },
9855 },
9856 },
9857 {
9858 name: "SUBLloadidx8",
9859 auxType: auxSymOff,
9860 argLen: 4,
9861 resultInArg0: true,
9862 clobberFlags: true,
9863 symEffect: SymRead,
9864 asm: x86.ASUBL,
9865 scale: 8,
9866 reg: regInfo{
9867 inputs: []inputInfo{
9868 {0, 49135},
9869 {2, 49151},
9870 {1, 4295032831},
9871 },
9872 outputs: []outputInfo{
9873 {0, 49135},
9874 },
9875 },
9876 },
9877 {
9878 name: "SUBQloadidx1",
9879 auxType: auxSymOff,
9880 argLen: 4,
9881 resultInArg0: true,
9882 clobberFlags: true,
9883 symEffect: SymRead,
9884 asm: x86.ASUBQ,
9885 scale: 1,
9886 reg: regInfo{
9887 inputs: []inputInfo{
9888 {0, 49135},
9889 {2, 49151},
9890 {1, 4295032831},
9891 },
9892 outputs: []outputInfo{
9893 {0, 49135},
9894 },
9895 },
9896 },
9897 {
9898 name: "SUBQloadidx8",
9899 auxType: auxSymOff,
9900 argLen: 4,
9901 resultInArg0: true,
9902 clobberFlags: true,
9903 symEffect: SymRead,
9904 asm: x86.ASUBQ,
9905 scale: 8,
9906 reg: regInfo{
9907 inputs: []inputInfo{
9908 {0, 49135},
9909 {2, 49151},
9910 {1, 4295032831},
9911 },
9912 outputs: []outputInfo{
9913 {0, 49135},
9914 },
9915 },
9916 },
9917 {
9918 name: "ANDLloadidx1",
9919 auxType: auxSymOff,
9920 argLen: 4,
9921 resultInArg0: true,
9922 clobberFlags: true,
9923 symEffect: SymRead,
9924 asm: x86.AANDL,
9925 scale: 1,
9926 reg: regInfo{
9927 inputs: []inputInfo{
9928 {0, 49135},
9929 {2, 49151},
9930 {1, 4295032831},
9931 },
9932 outputs: []outputInfo{
9933 {0, 49135},
9934 },
9935 },
9936 },
9937 {
9938 name: "ANDLloadidx4",
9939 auxType: auxSymOff,
9940 argLen: 4,
9941 resultInArg0: true,
9942 clobberFlags: true,
9943 symEffect: SymRead,
9944 asm: x86.AANDL,
9945 scale: 4,
9946 reg: regInfo{
9947 inputs: []inputInfo{
9948 {0, 49135},
9949 {2, 49151},
9950 {1, 4295032831},
9951 },
9952 outputs: []outputInfo{
9953 {0, 49135},
9954 },
9955 },
9956 },
9957 {
9958 name: "ANDLloadidx8",
9959 auxType: auxSymOff,
9960 argLen: 4,
9961 resultInArg0: true,
9962 clobberFlags: true,
9963 symEffect: SymRead,
9964 asm: x86.AANDL,
9965 scale: 8,
9966 reg: regInfo{
9967 inputs: []inputInfo{
9968 {0, 49135},
9969 {2, 49151},
9970 {1, 4295032831},
9971 },
9972 outputs: []outputInfo{
9973 {0, 49135},
9974 },
9975 },
9976 },
9977 {
9978 name: "ANDQloadidx1",
9979 auxType: auxSymOff,
9980 argLen: 4,
9981 resultInArg0: true,
9982 clobberFlags: true,
9983 symEffect: SymRead,
9984 asm: x86.AANDQ,
9985 scale: 1,
9986 reg: regInfo{
9987 inputs: []inputInfo{
9988 {0, 49135},
9989 {2, 49151},
9990 {1, 4295032831},
9991 },
9992 outputs: []outputInfo{
9993 {0, 49135},
9994 },
9995 },
9996 },
9997 {
9998 name: "ANDQloadidx8",
9999 auxType: auxSymOff,
10000 argLen: 4,
10001 resultInArg0: true,
10002 clobberFlags: true,
10003 symEffect: SymRead,
10004 asm: x86.AANDQ,
10005 scale: 8,
10006 reg: regInfo{
10007 inputs: []inputInfo{
10008 {0, 49135},
10009 {2, 49151},
10010 {1, 4295032831},
10011 },
10012 outputs: []outputInfo{
10013 {0, 49135},
10014 },
10015 },
10016 },
10017 {
10018 name: "ORLloadidx1",
10019 auxType: auxSymOff,
10020 argLen: 4,
10021 resultInArg0: true,
10022 clobberFlags: true,
10023 symEffect: SymRead,
10024 asm: x86.AORL,
10025 scale: 1,
10026 reg: regInfo{
10027 inputs: []inputInfo{
10028 {0, 49135},
10029 {2, 49151},
10030 {1, 4295032831},
10031 },
10032 outputs: []outputInfo{
10033 {0, 49135},
10034 },
10035 },
10036 },
10037 {
10038 name: "ORLloadidx4",
10039 auxType: auxSymOff,
10040 argLen: 4,
10041 resultInArg0: true,
10042 clobberFlags: true,
10043 symEffect: SymRead,
10044 asm: x86.AORL,
10045 scale: 4,
10046 reg: regInfo{
10047 inputs: []inputInfo{
10048 {0, 49135},
10049 {2, 49151},
10050 {1, 4295032831},
10051 },
10052 outputs: []outputInfo{
10053 {0, 49135},
10054 },
10055 },
10056 },
10057 {
10058 name: "ORLloadidx8",
10059 auxType: auxSymOff,
10060 argLen: 4,
10061 resultInArg0: true,
10062 clobberFlags: true,
10063 symEffect: SymRead,
10064 asm: x86.AORL,
10065 scale: 8,
10066 reg: regInfo{
10067 inputs: []inputInfo{
10068 {0, 49135},
10069 {2, 49151},
10070 {1, 4295032831},
10071 },
10072 outputs: []outputInfo{
10073 {0, 49135},
10074 },
10075 },
10076 },
10077 {
10078 name: "ORQloadidx1",
10079 auxType: auxSymOff,
10080 argLen: 4,
10081 resultInArg0: true,
10082 clobberFlags: true,
10083 symEffect: SymRead,
10084 asm: x86.AORQ,
10085 scale: 1,
10086 reg: regInfo{
10087 inputs: []inputInfo{
10088 {0, 49135},
10089 {2, 49151},
10090 {1, 4295032831},
10091 },
10092 outputs: []outputInfo{
10093 {0, 49135},
10094 },
10095 },
10096 },
10097 {
10098 name: "ORQloadidx8",
10099 auxType: auxSymOff,
10100 argLen: 4,
10101 resultInArg0: true,
10102 clobberFlags: true,
10103 symEffect: SymRead,
10104 asm: x86.AORQ,
10105 scale: 8,
10106 reg: regInfo{
10107 inputs: []inputInfo{
10108 {0, 49135},
10109 {2, 49151},
10110 {1, 4295032831},
10111 },
10112 outputs: []outputInfo{
10113 {0, 49135},
10114 },
10115 },
10116 },
10117 {
10118 name: "XORLloadidx1",
10119 auxType: auxSymOff,
10120 argLen: 4,
10121 resultInArg0: true,
10122 clobberFlags: true,
10123 symEffect: SymRead,
10124 asm: x86.AXORL,
10125 scale: 1,
10126 reg: regInfo{
10127 inputs: []inputInfo{
10128 {0, 49135},
10129 {2, 49151},
10130 {1, 4295032831},
10131 },
10132 outputs: []outputInfo{
10133 {0, 49135},
10134 },
10135 },
10136 },
10137 {
10138 name: "XORLloadidx4",
10139 auxType: auxSymOff,
10140 argLen: 4,
10141 resultInArg0: true,
10142 clobberFlags: true,
10143 symEffect: SymRead,
10144 asm: x86.AXORL,
10145 scale: 4,
10146 reg: regInfo{
10147 inputs: []inputInfo{
10148 {0, 49135},
10149 {2, 49151},
10150 {1, 4295032831},
10151 },
10152 outputs: []outputInfo{
10153 {0, 49135},
10154 },
10155 },
10156 },
10157 {
10158 name: "XORLloadidx8",
10159 auxType: auxSymOff,
10160 argLen: 4,
10161 resultInArg0: true,
10162 clobberFlags: true,
10163 symEffect: SymRead,
10164 asm: x86.AXORL,
10165 scale: 8,
10166 reg: regInfo{
10167 inputs: []inputInfo{
10168 {0, 49135},
10169 {2, 49151},
10170 {1, 4295032831},
10171 },
10172 outputs: []outputInfo{
10173 {0, 49135},
10174 },
10175 },
10176 },
10177 {
10178 name: "XORQloadidx1",
10179 auxType: auxSymOff,
10180 argLen: 4,
10181 resultInArg0: true,
10182 clobberFlags: true,
10183 symEffect: SymRead,
10184 asm: x86.AXORQ,
10185 scale: 1,
10186 reg: regInfo{
10187 inputs: []inputInfo{
10188 {0, 49135},
10189 {2, 49151},
10190 {1, 4295032831},
10191 },
10192 outputs: []outputInfo{
10193 {0, 49135},
10194 },
10195 },
10196 },
10197 {
10198 name: "XORQloadidx8",
10199 auxType: auxSymOff,
10200 argLen: 4,
10201 resultInArg0: true,
10202 clobberFlags: true,
10203 symEffect: SymRead,
10204 asm: x86.AXORQ,
10205 scale: 8,
10206 reg: regInfo{
10207 inputs: []inputInfo{
10208 {0, 49135},
10209 {2, 49151},
10210 {1, 4295032831},
10211 },
10212 outputs: []outputInfo{
10213 {0, 49135},
10214 },
10215 },
10216 },
10217 {
10218 name: "ADDQmodify",
10219 auxType: auxSymOff,
10220 argLen: 3,
10221 clobberFlags: true,
10222 faultOnNilArg0: true,
10223 symEffect: SymRead | SymWrite,
10224 asm: x86.AADDQ,
10225 reg: regInfo{
10226 inputs: []inputInfo{
10227 {1, 49151},
10228 {0, 4295032831},
10229 },
10230 },
10231 },
10232 {
10233 name: "SUBQmodify",
10234 auxType: auxSymOff,
10235 argLen: 3,
10236 clobberFlags: true,
10237 faultOnNilArg0: true,
10238 symEffect: SymRead | SymWrite,
10239 asm: x86.ASUBQ,
10240 reg: regInfo{
10241 inputs: []inputInfo{
10242 {1, 49151},
10243 {0, 4295032831},
10244 },
10245 },
10246 },
10247 {
10248 name: "ANDQmodify",
10249 auxType: auxSymOff,
10250 argLen: 3,
10251 clobberFlags: true,
10252 faultOnNilArg0: true,
10253 symEffect: SymRead | SymWrite,
10254 asm: x86.AANDQ,
10255 reg: regInfo{
10256 inputs: []inputInfo{
10257 {1, 49151},
10258 {0, 4295032831},
10259 },
10260 },
10261 },
10262 {
10263 name: "ORQmodify",
10264 auxType: auxSymOff,
10265 argLen: 3,
10266 clobberFlags: true,
10267 faultOnNilArg0: true,
10268 symEffect: SymRead | SymWrite,
10269 asm: x86.AORQ,
10270 reg: regInfo{
10271 inputs: []inputInfo{
10272 {1, 49151},
10273 {0, 4295032831},
10274 },
10275 },
10276 },
10277 {
10278 name: "XORQmodify",
10279 auxType: auxSymOff,
10280 argLen: 3,
10281 clobberFlags: true,
10282 faultOnNilArg0: true,
10283 symEffect: SymRead | SymWrite,
10284 asm: x86.AXORQ,
10285 reg: regInfo{
10286 inputs: []inputInfo{
10287 {1, 49151},
10288 {0, 4295032831},
10289 },
10290 },
10291 },
10292 {
10293 name: "ADDLmodify",
10294 auxType: auxSymOff,
10295 argLen: 3,
10296 clobberFlags: true,
10297 faultOnNilArg0: true,
10298 symEffect: SymRead | SymWrite,
10299 asm: x86.AADDL,
10300 reg: regInfo{
10301 inputs: []inputInfo{
10302 {1, 49151},
10303 {0, 4295032831},
10304 },
10305 },
10306 },
10307 {
10308 name: "SUBLmodify",
10309 auxType: auxSymOff,
10310 argLen: 3,
10311 clobberFlags: true,
10312 faultOnNilArg0: true,
10313 symEffect: SymRead | SymWrite,
10314 asm: x86.ASUBL,
10315 reg: regInfo{
10316 inputs: []inputInfo{
10317 {1, 49151},
10318 {0, 4295032831},
10319 },
10320 },
10321 },
10322 {
10323 name: "ANDLmodify",
10324 auxType: auxSymOff,
10325 argLen: 3,
10326 clobberFlags: true,
10327 faultOnNilArg0: true,
10328 symEffect: SymRead | SymWrite,
10329 asm: x86.AANDL,
10330 reg: regInfo{
10331 inputs: []inputInfo{
10332 {1, 49151},
10333 {0, 4295032831},
10334 },
10335 },
10336 },
10337 {
10338 name: "ORLmodify",
10339 auxType: auxSymOff,
10340 argLen: 3,
10341 clobberFlags: true,
10342 faultOnNilArg0: true,
10343 symEffect: SymRead | SymWrite,
10344 asm: x86.AORL,
10345 reg: regInfo{
10346 inputs: []inputInfo{
10347 {1, 49151},
10348 {0, 4295032831},
10349 },
10350 },
10351 },
10352 {
10353 name: "XORLmodify",
10354 auxType: auxSymOff,
10355 argLen: 3,
10356 clobberFlags: true,
10357 faultOnNilArg0: true,
10358 symEffect: SymRead | SymWrite,
10359 asm: x86.AXORL,
10360 reg: regInfo{
10361 inputs: []inputInfo{
10362 {1, 49151},
10363 {0, 4295032831},
10364 },
10365 },
10366 },
10367 {
10368 name: "ADDQmodifyidx1",
10369 auxType: auxSymOff,
10370 argLen: 4,
10371 clobberFlags: true,
10372 symEffect: SymRead | SymWrite,
10373 asm: x86.AADDQ,
10374 scale: 1,
10375 reg: regInfo{
10376 inputs: []inputInfo{
10377 {1, 49151},
10378 {2, 49151},
10379 {0, 4295032831},
10380 },
10381 },
10382 },
10383 {
10384 name: "ADDQmodifyidx8",
10385 auxType: auxSymOff,
10386 argLen: 4,
10387 clobberFlags: true,
10388 symEffect: SymRead | SymWrite,
10389 asm: x86.AADDQ,
10390 scale: 8,
10391 reg: regInfo{
10392 inputs: []inputInfo{
10393 {1, 49151},
10394 {2, 49151},
10395 {0, 4295032831},
10396 },
10397 },
10398 },
10399 {
10400 name: "SUBQmodifyidx1",
10401 auxType: auxSymOff,
10402 argLen: 4,
10403 clobberFlags: true,
10404 symEffect: SymRead | SymWrite,
10405 asm: x86.ASUBQ,
10406 scale: 1,
10407 reg: regInfo{
10408 inputs: []inputInfo{
10409 {1, 49151},
10410 {2, 49151},
10411 {0, 4295032831},
10412 },
10413 },
10414 },
10415 {
10416 name: "SUBQmodifyidx8",
10417 auxType: auxSymOff,
10418 argLen: 4,
10419 clobberFlags: true,
10420 symEffect: SymRead | SymWrite,
10421 asm: x86.ASUBQ,
10422 scale: 8,
10423 reg: regInfo{
10424 inputs: []inputInfo{
10425 {1, 49151},
10426 {2, 49151},
10427 {0, 4295032831},
10428 },
10429 },
10430 },
10431 {
10432 name: "ANDQmodifyidx1",
10433 auxType: auxSymOff,
10434 argLen: 4,
10435 clobberFlags: true,
10436 symEffect: SymRead | SymWrite,
10437 asm: x86.AANDQ,
10438 scale: 1,
10439 reg: regInfo{
10440 inputs: []inputInfo{
10441 {1, 49151},
10442 {2, 49151},
10443 {0, 4295032831},
10444 },
10445 },
10446 },
10447 {
10448 name: "ANDQmodifyidx8",
10449 auxType: auxSymOff,
10450 argLen: 4,
10451 clobberFlags: true,
10452 symEffect: SymRead | SymWrite,
10453 asm: x86.AANDQ,
10454 scale: 8,
10455 reg: regInfo{
10456 inputs: []inputInfo{
10457 {1, 49151},
10458 {2, 49151},
10459 {0, 4295032831},
10460 },
10461 },
10462 },
10463 {
10464 name: "ORQmodifyidx1",
10465 auxType: auxSymOff,
10466 argLen: 4,
10467 clobberFlags: true,
10468 symEffect: SymRead | SymWrite,
10469 asm: x86.AORQ,
10470 scale: 1,
10471 reg: regInfo{
10472 inputs: []inputInfo{
10473 {1, 49151},
10474 {2, 49151},
10475 {0, 4295032831},
10476 },
10477 },
10478 },
10479 {
10480 name: "ORQmodifyidx8",
10481 auxType: auxSymOff,
10482 argLen: 4,
10483 clobberFlags: true,
10484 symEffect: SymRead | SymWrite,
10485 asm: x86.AORQ,
10486 scale: 8,
10487 reg: regInfo{
10488 inputs: []inputInfo{
10489 {1, 49151},
10490 {2, 49151},
10491 {0, 4295032831},
10492 },
10493 },
10494 },
10495 {
10496 name: "XORQmodifyidx1",
10497 auxType: auxSymOff,
10498 argLen: 4,
10499 clobberFlags: true,
10500 symEffect: SymRead | SymWrite,
10501 asm: x86.AXORQ,
10502 scale: 1,
10503 reg: regInfo{
10504 inputs: []inputInfo{
10505 {1, 49151},
10506 {2, 49151},
10507 {0, 4295032831},
10508 },
10509 },
10510 },
10511 {
10512 name: "XORQmodifyidx8",
10513 auxType: auxSymOff,
10514 argLen: 4,
10515 clobberFlags: true,
10516 symEffect: SymRead | SymWrite,
10517 asm: x86.AXORQ,
10518 scale: 8,
10519 reg: regInfo{
10520 inputs: []inputInfo{
10521 {1, 49151},
10522 {2, 49151},
10523 {0, 4295032831},
10524 },
10525 },
10526 },
10527 {
10528 name: "ADDLmodifyidx1",
10529 auxType: auxSymOff,
10530 argLen: 4,
10531 clobberFlags: true,
10532 symEffect: SymRead | SymWrite,
10533 asm: x86.AADDL,
10534 scale: 1,
10535 reg: regInfo{
10536 inputs: []inputInfo{
10537 {1, 49151},
10538 {2, 49151},
10539 {0, 4295032831},
10540 },
10541 },
10542 },
10543 {
10544 name: "ADDLmodifyidx4",
10545 auxType: auxSymOff,
10546 argLen: 4,
10547 clobberFlags: true,
10548 symEffect: SymRead | SymWrite,
10549 asm: x86.AADDL,
10550 scale: 4,
10551 reg: regInfo{
10552 inputs: []inputInfo{
10553 {1, 49151},
10554 {2, 49151},
10555 {0, 4295032831},
10556 },
10557 },
10558 },
10559 {
10560 name: "ADDLmodifyidx8",
10561 auxType: auxSymOff,
10562 argLen: 4,
10563 clobberFlags: true,
10564 symEffect: SymRead | SymWrite,
10565 asm: x86.AADDL,
10566 scale: 8,
10567 reg: regInfo{
10568 inputs: []inputInfo{
10569 {1, 49151},
10570 {2, 49151},
10571 {0, 4295032831},
10572 },
10573 },
10574 },
10575 {
10576 name: "SUBLmodifyidx1",
10577 auxType: auxSymOff,
10578 argLen: 4,
10579 clobberFlags: true,
10580 symEffect: SymRead | SymWrite,
10581 asm: x86.ASUBL,
10582 scale: 1,
10583 reg: regInfo{
10584 inputs: []inputInfo{
10585 {1, 49151},
10586 {2, 49151},
10587 {0, 4295032831},
10588 },
10589 },
10590 },
10591 {
10592 name: "SUBLmodifyidx4",
10593 auxType: auxSymOff,
10594 argLen: 4,
10595 clobberFlags: true,
10596 symEffect: SymRead | SymWrite,
10597 asm: x86.ASUBL,
10598 scale: 4,
10599 reg: regInfo{
10600 inputs: []inputInfo{
10601 {1, 49151},
10602 {2, 49151},
10603 {0, 4295032831},
10604 },
10605 },
10606 },
10607 {
10608 name: "SUBLmodifyidx8",
10609 auxType: auxSymOff,
10610 argLen: 4,
10611 clobberFlags: true,
10612 symEffect: SymRead | SymWrite,
10613 asm: x86.ASUBL,
10614 scale: 8,
10615 reg: regInfo{
10616 inputs: []inputInfo{
10617 {1, 49151},
10618 {2, 49151},
10619 {0, 4295032831},
10620 },
10621 },
10622 },
10623 {
10624 name: "ANDLmodifyidx1",
10625 auxType: auxSymOff,
10626 argLen: 4,
10627 clobberFlags: true,
10628 symEffect: SymRead | SymWrite,
10629 asm: x86.AANDL,
10630 scale: 1,
10631 reg: regInfo{
10632 inputs: []inputInfo{
10633 {1, 49151},
10634 {2, 49151},
10635 {0, 4295032831},
10636 },
10637 },
10638 },
10639 {
10640 name: "ANDLmodifyidx4",
10641 auxType: auxSymOff,
10642 argLen: 4,
10643 clobberFlags: true,
10644 symEffect: SymRead | SymWrite,
10645 asm: x86.AANDL,
10646 scale: 4,
10647 reg: regInfo{
10648 inputs: []inputInfo{
10649 {1, 49151},
10650 {2, 49151},
10651 {0, 4295032831},
10652 },
10653 },
10654 },
10655 {
10656 name: "ANDLmodifyidx8",
10657 auxType: auxSymOff,
10658 argLen: 4,
10659 clobberFlags: true,
10660 symEffect: SymRead | SymWrite,
10661 asm: x86.AANDL,
10662 scale: 8,
10663 reg: regInfo{
10664 inputs: []inputInfo{
10665 {1, 49151},
10666 {2, 49151},
10667 {0, 4295032831},
10668 },
10669 },
10670 },
10671 {
10672 name: "ORLmodifyidx1",
10673 auxType: auxSymOff,
10674 argLen: 4,
10675 clobberFlags: true,
10676 symEffect: SymRead | SymWrite,
10677 asm: x86.AORL,
10678 scale: 1,
10679 reg: regInfo{
10680 inputs: []inputInfo{
10681 {1, 49151},
10682 {2, 49151},
10683 {0, 4295032831},
10684 },
10685 },
10686 },
10687 {
10688 name: "ORLmodifyidx4",
10689 auxType: auxSymOff,
10690 argLen: 4,
10691 clobberFlags: true,
10692 symEffect: SymRead | SymWrite,
10693 asm: x86.AORL,
10694 scale: 4,
10695 reg: regInfo{
10696 inputs: []inputInfo{
10697 {1, 49151},
10698 {2, 49151},
10699 {0, 4295032831},
10700 },
10701 },
10702 },
10703 {
10704 name: "ORLmodifyidx8",
10705 auxType: auxSymOff,
10706 argLen: 4,
10707 clobberFlags: true,
10708 symEffect: SymRead | SymWrite,
10709 asm: x86.AORL,
10710 scale: 8,
10711 reg: regInfo{
10712 inputs: []inputInfo{
10713 {1, 49151},
10714 {2, 49151},
10715 {0, 4295032831},
10716 },
10717 },
10718 },
10719 {
10720 name: "XORLmodifyidx1",
10721 auxType: auxSymOff,
10722 argLen: 4,
10723 clobberFlags: true,
10724 symEffect: SymRead | SymWrite,
10725 asm: x86.AXORL,
10726 scale: 1,
10727 reg: regInfo{
10728 inputs: []inputInfo{
10729 {1, 49151},
10730 {2, 49151},
10731 {0, 4295032831},
10732 },
10733 },
10734 },
10735 {
10736 name: "XORLmodifyidx4",
10737 auxType: auxSymOff,
10738 argLen: 4,
10739 clobberFlags: true,
10740 symEffect: SymRead | SymWrite,
10741 asm: x86.AXORL,
10742 scale: 4,
10743 reg: regInfo{
10744 inputs: []inputInfo{
10745 {1, 49151},
10746 {2, 49151},
10747 {0, 4295032831},
10748 },
10749 },
10750 },
10751 {
10752 name: "XORLmodifyidx8",
10753 auxType: auxSymOff,
10754 argLen: 4,
10755 clobberFlags: true,
10756 symEffect: SymRead | SymWrite,
10757 asm: x86.AXORL,
10758 scale: 8,
10759 reg: regInfo{
10760 inputs: []inputInfo{
10761 {1, 49151},
10762 {2, 49151},
10763 {0, 4295032831},
10764 },
10765 },
10766 },
10767 {
10768 name: "ADDQconstmodifyidx1",
10769 auxType: auxSymValAndOff,
10770 argLen: 3,
10771 clobberFlags: true,
10772 symEffect: SymRead | SymWrite,
10773 asm: x86.AADDQ,
10774 scale: 1,
10775 reg: regInfo{
10776 inputs: []inputInfo{
10777 {1, 49151},
10778 {0, 4295032831},
10779 },
10780 },
10781 },
10782 {
10783 name: "ADDQconstmodifyidx8",
10784 auxType: auxSymValAndOff,
10785 argLen: 3,
10786 clobberFlags: true,
10787 symEffect: SymRead | SymWrite,
10788 asm: x86.AADDQ,
10789 scale: 8,
10790 reg: regInfo{
10791 inputs: []inputInfo{
10792 {1, 49151},
10793 {0, 4295032831},
10794 },
10795 },
10796 },
10797 {
10798 name: "ANDQconstmodifyidx1",
10799 auxType: auxSymValAndOff,
10800 argLen: 3,
10801 clobberFlags: true,
10802 symEffect: SymRead | SymWrite,
10803 asm: x86.AANDQ,
10804 scale: 1,
10805 reg: regInfo{
10806 inputs: []inputInfo{
10807 {1, 49151},
10808 {0, 4295032831},
10809 },
10810 },
10811 },
10812 {
10813 name: "ANDQconstmodifyidx8",
10814 auxType: auxSymValAndOff,
10815 argLen: 3,
10816 clobberFlags: true,
10817 symEffect: SymRead | SymWrite,
10818 asm: x86.AANDQ,
10819 scale: 8,
10820 reg: regInfo{
10821 inputs: []inputInfo{
10822 {1, 49151},
10823 {0, 4295032831},
10824 },
10825 },
10826 },
10827 {
10828 name: "ORQconstmodifyidx1",
10829 auxType: auxSymValAndOff,
10830 argLen: 3,
10831 clobberFlags: true,
10832 symEffect: SymRead | SymWrite,
10833 asm: x86.AORQ,
10834 scale: 1,
10835 reg: regInfo{
10836 inputs: []inputInfo{
10837 {1, 49151},
10838 {0, 4295032831},
10839 },
10840 },
10841 },
10842 {
10843 name: "ORQconstmodifyidx8",
10844 auxType: auxSymValAndOff,
10845 argLen: 3,
10846 clobberFlags: true,
10847 symEffect: SymRead | SymWrite,
10848 asm: x86.AORQ,
10849 scale: 8,
10850 reg: regInfo{
10851 inputs: []inputInfo{
10852 {1, 49151},
10853 {0, 4295032831},
10854 },
10855 },
10856 },
10857 {
10858 name: "XORQconstmodifyidx1",
10859 auxType: auxSymValAndOff,
10860 argLen: 3,
10861 clobberFlags: true,
10862 symEffect: SymRead | SymWrite,
10863 asm: x86.AXORQ,
10864 scale: 1,
10865 reg: regInfo{
10866 inputs: []inputInfo{
10867 {1, 49151},
10868 {0, 4295032831},
10869 },
10870 },
10871 },
10872 {
10873 name: "XORQconstmodifyidx8",
10874 auxType: auxSymValAndOff,
10875 argLen: 3,
10876 clobberFlags: true,
10877 symEffect: SymRead | SymWrite,
10878 asm: x86.AXORQ,
10879 scale: 8,
10880 reg: regInfo{
10881 inputs: []inputInfo{
10882 {1, 49151},
10883 {0, 4295032831},
10884 },
10885 },
10886 },
10887 {
10888 name: "ADDLconstmodifyidx1",
10889 auxType: auxSymValAndOff,
10890 argLen: 3,
10891 clobberFlags: true,
10892 symEffect: SymRead | SymWrite,
10893 asm: x86.AADDL,
10894 scale: 1,
10895 reg: regInfo{
10896 inputs: []inputInfo{
10897 {1, 49151},
10898 {0, 4295032831},
10899 },
10900 },
10901 },
10902 {
10903 name: "ADDLconstmodifyidx4",
10904 auxType: auxSymValAndOff,
10905 argLen: 3,
10906 clobberFlags: true,
10907 symEffect: SymRead | SymWrite,
10908 asm: x86.AADDL,
10909 scale: 4,
10910 reg: regInfo{
10911 inputs: []inputInfo{
10912 {1, 49151},
10913 {0, 4295032831},
10914 },
10915 },
10916 },
10917 {
10918 name: "ADDLconstmodifyidx8",
10919 auxType: auxSymValAndOff,
10920 argLen: 3,
10921 clobberFlags: true,
10922 symEffect: SymRead | SymWrite,
10923 asm: x86.AADDL,
10924 scale: 8,
10925 reg: regInfo{
10926 inputs: []inputInfo{
10927 {1, 49151},
10928 {0, 4295032831},
10929 },
10930 },
10931 },
10932 {
10933 name: "ANDLconstmodifyidx1",
10934 auxType: auxSymValAndOff,
10935 argLen: 3,
10936 clobberFlags: true,
10937 symEffect: SymRead | SymWrite,
10938 asm: x86.AANDL,
10939 scale: 1,
10940 reg: regInfo{
10941 inputs: []inputInfo{
10942 {1, 49151},
10943 {0, 4295032831},
10944 },
10945 },
10946 },
10947 {
10948 name: "ANDLconstmodifyidx4",
10949 auxType: auxSymValAndOff,
10950 argLen: 3,
10951 clobberFlags: true,
10952 symEffect: SymRead | SymWrite,
10953 asm: x86.AANDL,
10954 scale: 4,
10955 reg: regInfo{
10956 inputs: []inputInfo{
10957 {1, 49151},
10958 {0, 4295032831},
10959 },
10960 },
10961 },
10962 {
10963 name: "ANDLconstmodifyidx8",
10964 auxType: auxSymValAndOff,
10965 argLen: 3,
10966 clobberFlags: true,
10967 symEffect: SymRead | SymWrite,
10968 asm: x86.AANDL,
10969 scale: 8,
10970 reg: regInfo{
10971 inputs: []inputInfo{
10972 {1, 49151},
10973 {0, 4295032831},
10974 },
10975 },
10976 },
10977 {
10978 name: "ORLconstmodifyidx1",
10979 auxType: auxSymValAndOff,
10980 argLen: 3,
10981 clobberFlags: true,
10982 symEffect: SymRead | SymWrite,
10983 asm: x86.AORL,
10984 scale: 1,
10985 reg: regInfo{
10986 inputs: []inputInfo{
10987 {1, 49151},
10988 {0, 4295032831},
10989 },
10990 },
10991 },
10992 {
10993 name: "ORLconstmodifyidx4",
10994 auxType: auxSymValAndOff,
10995 argLen: 3,
10996 clobberFlags: true,
10997 symEffect: SymRead | SymWrite,
10998 asm: x86.AORL,
10999 scale: 4,
11000 reg: regInfo{
11001 inputs: []inputInfo{
11002 {1, 49151},
11003 {0, 4295032831},
11004 },
11005 },
11006 },
11007 {
11008 name: "ORLconstmodifyidx8",
11009 auxType: auxSymValAndOff,
11010 argLen: 3,
11011 clobberFlags: true,
11012 symEffect: SymRead | SymWrite,
11013 asm: x86.AORL,
11014 scale: 8,
11015 reg: regInfo{
11016 inputs: []inputInfo{
11017 {1, 49151},
11018 {0, 4295032831},
11019 },
11020 },
11021 },
11022 {
11023 name: "XORLconstmodifyidx1",
11024 auxType: auxSymValAndOff,
11025 argLen: 3,
11026 clobberFlags: true,
11027 symEffect: SymRead | SymWrite,
11028 asm: x86.AXORL,
11029 scale: 1,
11030 reg: regInfo{
11031 inputs: []inputInfo{
11032 {1, 49151},
11033 {0, 4295032831},
11034 },
11035 },
11036 },
11037 {
11038 name: "XORLconstmodifyidx4",
11039 auxType: auxSymValAndOff,
11040 argLen: 3,
11041 clobberFlags: true,
11042 symEffect: SymRead | SymWrite,
11043 asm: x86.AXORL,
11044 scale: 4,
11045 reg: regInfo{
11046 inputs: []inputInfo{
11047 {1, 49151},
11048 {0, 4295032831},
11049 },
11050 },
11051 },
11052 {
11053 name: "XORLconstmodifyidx8",
11054 auxType: auxSymValAndOff,
11055 argLen: 3,
11056 clobberFlags: true,
11057 symEffect: SymRead | SymWrite,
11058 asm: x86.AXORL,
11059 scale: 8,
11060 reg: regInfo{
11061 inputs: []inputInfo{
11062 {1, 49151},
11063 {0, 4295032831},
11064 },
11065 },
11066 },
11067 {
11068 name: "NEGQ",
11069 argLen: 1,
11070 resultInArg0: true,
11071 clobberFlags: true,
11072 asm: x86.ANEGQ,
11073 reg: regInfo{
11074 inputs: []inputInfo{
11075 {0, 49135},
11076 },
11077 outputs: []outputInfo{
11078 {0, 49135},
11079 },
11080 },
11081 },
11082 {
11083 name: "NEGL",
11084 argLen: 1,
11085 resultInArg0: true,
11086 clobberFlags: true,
11087 asm: x86.ANEGL,
11088 reg: regInfo{
11089 inputs: []inputInfo{
11090 {0, 49135},
11091 },
11092 outputs: []outputInfo{
11093 {0, 49135},
11094 },
11095 },
11096 },
11097 {
11098 name: "NOTQ",
11099 argLen: 1,
11100 resultInArg0: true,
11101 asm: x86.ANOTQ,
11102 reg: regInfo{
11103 inputs: []inputInfo{
11104 {0, 49135},
11105 },
11106 outputs: []outputInfo{
11107 {0, 49135},
11108 },
11109 },
11110 },
11111 {
11112 name: "NOTL",
11113 argLen: 1,
11114 resultInArg0: true,
11115 asm: x86.ANOTL,
11116 reg: regInfo{
11117 inputs: []inputInfo{
11118 {0, 49135},
11119 },
11120 outputs: []outputInfo{
11121 {0, 49135},
11122 },
11123 },
11124 },
11125 {
11126 name: "BSFQ",
11127 argLen: 1,
11128 asm: x86.ABSFQ,
11129 reg: regInfo{
11130 inputs: []inputInfo{
11131 {0, 49135},
11132 },
11133 outputs: []outputInfo{
11134 {1, 0},
11135 {0, 49135},
11136 },
11137 },
11138 },
11139 {
11140 name: "BSFL",
11141 argLen: 1,
11142 clobberFlags: true,
11143 asm: x86.ABSFL,
11144 reg: regInfo{
11145 inputs: []inputInfo{
11146 {0, 49135},
11147 },
11148 outputs: []outputInfo{
11149 {0, 49135},
11150 },
11151 },
11152 },
11153 {
11154 name: "BSRQ",
11155 argLen: 1,
11156 asm: x86.ABSRQ,
11157 reg: regInfo{
11158 inputs: []inputInfo{
11159 {0, 49135},
11160 },
11161 outputs: []outputInfo{
11162 {1, 0},
11163 {0, 49135},
11164 },
11165 },
11166 },
11167 {
11168 name: "BSRL",
11169 argLen: 1,
11170 clobberFlags: true,
11171 asm: x86.ABSRL,
11172 reg: regInfo{
11173 inputs: []inputInfo{
11174 {0, 49135},
11175 },
11176 outputs: []outputInfo{
11177 {0, 49135},
11178 },
11179 },
11180 },
11181 {
11182 name: "CMOVQEQ",
11183 argLen: 3,
11184 resultInArg0: true,
11185 asm: x86.ACMOVQEQ,
11186 reg: regInfo{
11187 inputs: []inputInfo{
11188 {0, 49135},
11189 {1, 49135},
11190 },
11191 outputs: []outputInfo{
11192 {0, 49135},
11193 },
11194 },
11195 },
11196 {
11197 name: "CMOVQNE",
11198 argLen: 3,
11199 resultInArg0: true,
11200 asm: x86.ACMOVQNE,
11201 reg: regInfo{
11202 inputs: []inputInfo{
11203 {0, 49135},
11204 {1, 49135},
11205 },
11206 outputs: []outputInfo{
11207 {0, 49135},
11208 },
11209 },
11210 },
11211 {
11212 name: "CMOVQLT",
11213 argLen: 3,
11214 resultInArg0: true,
11215 asm: x86.ACMOVQLT,
11216 reg: regInfo{
11217 inputs: []inputInfo{
11218 {0, 49135},
11219 {1, 49135},
11220 },
11221 outputs: []outputInfo{
11222 {0, 49135},
11223 },
11224 },
11225 },
11226 {
11227 name: "CMOVQGT",
11228 argLen: 3,
11229 resultInArg0: true,
11230 asm: x86.ACMOVQGT,
11231 reg: regInfo{
11232 inputs: []inputInfo{
11233 {0, 49135},
11234 {1, 49135},
11235 },
11236 outputs: []outputInfo{
11237 {0, 49135},
11238 },
11239 },
11240 },
11241 {
11242 name: "CMOVQLE",
11243 argLen: 3,
11244 resultInArg0: true,
11245 asm: x86.ACMOVQLE,
11246 reg: regInfo{
11247 inputs: []inputInfo{
11248 {0, 49135},
11249 {1, 49135},
11250 },
11251 outputs: []outputInfo{
11252 {0, 49135},
11253 },
11254 },
11255 },
11256 {
11257 name: "CMOVQGE",
11258 argLen: 3,
11259 resultInArg0: true,
11260 asm: x86.ACMOVQGE,
11261 reg: regInfo{
11262 inputs: []inputInfo{
11263 {0, 49135},
11264 {1, 49135},
11265 },
11266 outputs: []outputInfo{
11267 {0, 49135},
11268 },
11269 },
11270 },
11271 {
11272 name: "CMOVQLS",
11273 argLen: 3,
11274 resultInArg0: true,
11275 asm: x86.ACMOVQLS,
11276 reg: regInfo{
11277 inputs: []inputInfo{
11278 {0, 49135},
11279 {1, 49135},
11280 },
11281 outputs: []outputInfo{
11282 {0, 49135},
11283 },
11284 },
11285 },
11286 {
11287 name: "CMOVQHI",
11288 argLen: 3,
11289 resultInArg0: true,
11290 asm: x86.ACMOVQHI,
11291 reg: regInfo{
11292 inputs: []inputInfo{
11293 {0, 49135},
11294 {1, 49135},
11295 },
11296 outputs: []outputInfo{
11297 {0, 49135},
11298 },
11299 },
11300 },
11301 {
11302 name: "CMOVQCC",
11303 argLen: 3,
11304 resultInArg0: true,
11305 asm: x86.ACMOVQCC,
11306 reg: regInfo{
11307 inputs: []inputInfo{
11308 {0, 49135},
11309 {1, 49135},
11310 },
11311 outputs: []outputInfo{
11312 {0, 49135},
11313 },
11314 },
11315 },
11316 {
11317 name: "CMOVQCS",
11318 argLen: 3,
11319 resultInArg0: true,
11320 asm: x86.ACMOVQCS,
11321 reg: regInfo{
11322 inputs: []inputInfo{
11323 {0, 49135},
11324 {1, 49135},
11325 },
11326 outputs: []outputInfo{
11327 {0, 49135},
11328 },
11329 },
11330 },
11331 {
11332 name: "CMOVLEQ",
11333 argLen: 3,
11334 resultInArg0: true,
11335 asm: x86.ACMOVLEQ,
11336 reg: regInfo{
11337 inputs: []inputInfo{
11338 {0, 49135},
11339 {1, 49135},
11340 },
11341 outputs: []outputInfo{
11342 {0, 49135},
11343 },
11344 },
11345 },
11346 {
11347 name: "CMOVLNE",
11348 argLen: 3,
11349 resultInArg0: true,
11350 asm: x86.ACMOVLNE,
11351 reg: regInfo{
11352 inputs: []inputInfo{
11353 {0, 49135},
11354 {1, 49135},
11355 },
11356 outputs: []outputInfo{
11357 {0, 49135},
11358 },
11359 },
11360 },
11361 {
11362 name: "CMOVLLT",
11363 argLen: 3,
11364 resultInArg0: true,
11365 asm: x86.ACMOVLLT,
11366 reg: regInfo{
11367 inputs: []inputInfo{
11368 {0, 49135},
11369 {1, 49135},
11370 },
11371 outputs: []outputInfo{
11372 {0, 49135},
11373 },
11374 },
11375 },
11376 {
11377 name: "CMOVLGT",
11378 argLen: 3,
11379 resultInArg0: true,
11380 asm: x86.ACMOVLGT,
11381 reg: regInfo{
11382 inputs: []inputInfo{
11383 {0, 49135},
11384 {1, 49135},
11385 },
11386 outputs: []outputInfo{
11387 {0, 49135},
11388 },
11389 },
11390 },
11391 {
11392 name: "CMOVLLE",
11393 argLen: 3,
11394 resultInArg0: true,
11395 asm: x86.ACMOVLLE,
11396 reg: regInfo{
11397 inputs: []inputInfo{
11398 {0, 49135},
11399 {1, 49135},
11400 },
11401 outputs: []outputInfo{
11402 {0, 49135},
11403 },
11404 },
11405 },
11406 {
11407 name: "CMOVLGE",
11408 argLen: 3,
11409 resultInArg0: true,
11410 asm: x86.ACMOVLGE,
11411 reg: regInfo{
11412 inputs: []inputInfo{
11413 {0, 49135},
11414 {1, 49135},
11415 },
11416 outputs: []outputInfo{
11417 {0, 49135},
11418 },
11419 },
11420 },
11421 {
11422 name: "CMOVLLS",
11423 argLen: 3,
11424 resultInArg0: true,
11425 asm: x86.ACMOVLLS,
11426 reg: regInfo{
11427 inputs: []inputInfo{
11428 {0, 49135},
11429 {1, 49135},
11430 },
11431 outputs: []outputInfo{
11432 {0, 49135},
11433 },
11434 },
11435 },
11436 {
11437 name: "CMOVLHI",
11438 argLen: 3,
11439 resultInArg0: true,
11440 asm: x86.ACMOVLHI,
11441 reg: regInfo{
11442 inputs: []inputInfo{
11443 {0, 49135},
11444 {1, 49135},
11445 },
11446 outputs: []outputInfo{
11447 {0, 49135},
11448 },
11449 },
11450 },
11451 {
11452 name: "CMOVLCC",
11453 argLen: 3,
11454 resultInArg0: true,
11455 asm: x86.ACMOVLCC,
11456 reg: regInfo{
11457 inputs: []inputInfo{
11458 {0, 49135},
11459 {1, 49135},
11460 },
11461 outputs: []outputInfo{
11462 {0, 49135},
11463 },
11464 },
11465 },
11466 {
11467 name: "CMOVLCS",
11468 argLen: 3,
11469 resultInArg0: true,
11470 asm: x86.ACMOVLCS,
11471 reg: regInfo{
11472 inputs: []inputInfo{
11473 {0, 49135},
11474 {1, 49135},
11475 },
11476 outputs: []outputInfo{
11477 {0, 49135},
11478 },
11479 },
11480 },
11481 {
11482 name: "CMOVWEQ",
11483 argLen: 3,
11484 resultInArg0: true,
11485 asm: x86.ACMOVWEQ,
11486 reg: regInfo{
11487 inputs: []inputInfo{
11488 {0, 49135},
11489 {1, 49135},
11490 },
11491 outputs: []outputInfo{
11492 {0, 49135},
11493 },
11494 },
11495 },
11496 {
11497 name: "CMOVWNE",
11498 argLen: 3,
11499 resultInArg0: true,
11500 asm: x86.ACMOVWNE,
11501 reg: regInfo{
11502 inputs: []inputInfo{
11503 {0, 49135},
11504 {1, 49135},
11505 },
11506 outputs: []outputInfo{
11507 {0, 49135},
11508 },
11509 },
11510 },
11511 {
11512 name: "CMOVWLT",
11513 argLen: 3,
11514 resultInArg0: true,
11515 asm: x86.ACMOVWLT,
11516 reg: regInfo{
11517 inputs: []inputInfo{
11518 {0, 49135},
11519 {1, 49135},
11520 },
11521 outputs: []outputInfo{
11522 {0, 49135},
11523 },
11524 },
11525 },
11526 {
11527 name: "CMOVWGT",
11528 argLen: 3,
11529 resultInArg0: true,
11530 asm: x86.ACMOVWGT,
11531 reg: regInfo{
11532 inputs: []inputInfo{
11533 {0, 49135},
11534 {1, 49135},
11535 },
11536 outputs: []outputInfo{
11537 {0, 49135},
11538 },
11539 },
11540 },
11541 {
11542 name: "CMOVWLE",
11543 argLen: 3,
11544 resultInArg0: true,
11545 asm: x86.ACMOVWLE,
11546 reg: regInfo{
11547 inputs: []inputInfo{
11548 {0, 49135},
11549 {1, 49135},
11550 },
11551 outputs: []outputInfo{
11552 {0, 49135},
11553 },
11554 },
11555 },
11556 {
11557 name: "CMOVWGE",
11558 argLen: 3,
11559 resultInArg0: true,
11560 asm: x86.ACMOVWGE,
11561 reg: regInfo{
11562 inputs: []inputInfo{
11563 {0, 49135},
11564 {1, 49135},
11565 },
11566 outputs: []outputInfo{
11567 {0, 49135},
11568 },
11569 },
11570 },
11571 {
11572 name: "CMOVWLS",
11573 argLen: 3,
11574 resultInArg0: true,
11575 asm: x86.ACMOVWLS,
11576 reg: regInfo{
11577 inputs: []inputInfo{
11578 {0, 49135},
11579 {1, 49135},
11580 },
11581 outputs: []outputInfo{
11582 {0, 49135},
11583 },
11584 },
11585 },
11586 {
11587 name: "CMOVWHI",
11588 argLen: 3,
11589 resultInArg0: true,
11590 asm: x86.ACMOVWHI,
11591 reg: regInfo{
11592 inputs: []inputInfo{
11593 {0, 49135},
11594 {1, 49135},
11595 },
11596 outputs: []outputInfo{
11597 {0, 49135},
11598 },
11599 },
11600 },
11601 {
11602 name: "CMOVWCC",
11603 argLen: 3,
11604 resultInArg0: true,
11605 asm: x86.ACMOVWCC,
11606 reg: regInfo{
11607 inputs: []inputInfo{
11608 {0, 49135},
11609 {1, 49135},
11610 },
11611 outputs: []outputInfo{
11612 {0, 49135},
11613 },
11614 },
11615 },
11616 {
11617 name: "CMOVWCS",
11618 argLen: 3,
11619 resultInArg0: true,
11620 asm: x86.ACMOVWCS,
11621 reg: regInfo{
11622 inputs: []inputInfo{
11623 {0, 49135},
11624 {1, 49135},
11625 },
11626 outputs: []outputInfo{
11627 {0, 49135},
11628 },
11629 },
11630 },
11631 {
11632 name: "CMOVQEQF",
11633 argLen: 3,
11634 resultInArg0: true,
11635 needIntTemp: true,
11636 asm: x86.ACMOVQNE,
11637 reg: regInfo{
11638 inputs: []inputInfo{
11639 {0, 49135},
11640 {1, 49135},
11641 },
11642 outputs: []outputInfo{
11643 {0, 49135},
11644 },
11645 },
11646 },
11647 {
11648 name: "CMOVQNEF",
11649 argLen: 3,
11650 resultInArg0: true,
11651 asm: x86.ACMOVQNE,
11652 reg: regInfo{
11653 inputs: []inputInfo{
11654 {0, 49135},
11655 {1, 49135},
11656 },
11657 outputs: []outputInfo{
11658 {0, 49135},
11659 },
11660 },
11661 },
11662 {
11663 name: "CMOVQGTF",
11664 argLen: 3,
11665 resultInArg0: true,
11666 asm: x86.ACMOVQHI,
11667 reg: regInfo{
11668 inputs: []inputInfo{
11669 {0, 49135},
11670 {1, 49135},
11671 },
11672 outputs: []outputInfo{
11673 {0, 49135},
11674 },
11675 },
11676 },
11677 {
11678 name: "CMOVQGEF",
11679 argLen: 3,
11680 resultInArg0: true,
11681 asm: x86.ACMOVQCC,
11682 reg: regInfo{
11683 inputs: []inputInfo{
11684 {0, 49135},
11685 {1, 49135},
11686 },
11687 outputs: []outputInfo{
11688 {0, 49135},
11689 },
11690 },
11691 },
11692 {
11693 name: "CMOVLEQF",
11694 argLen: 3,
11695 resultInArg0: true,
11696 needIntTemp: true,
11697 asm: x86.ACMOVLNE,
11698 reg: regInfo{
11699 inputs: []inputInfo{
11700 {0, 49135},
11701 {1, 49135},
11702 },
11703 outputs: []outputInfo{
11704 {0, 49135},
11705 },
11706 },
11707 },
11708 {
11709 name: "CMOVLNEF",
11710 argLen: 3,
11711 resultInArg0: true,
11712 asm: x86.ACMOVLNE,
11713 reg: regInfo{
11714 inputs: []inputInfo{
11715 {0, 49135},
11716 {1, 49135},
11717 },
11718 outputs: []outputInfo{
11719 {0, 49135},
11720 },
11721 },
11722 },
11723 {
11724 name: "CMOVLGTF",
11725 argLen: 3,
11726 resultInArg0: true,
11727 asm: x86.ACMOVLHI,
11728 reg: regInfo{
11729 inputs: []inputInfo{
11730 {0, 49135},
11731 {1, 49135},
11732 },
11733 outputs: []outputInfo{
11734 {0, 49135},
11735 },
11736 },
11737 },
11738 {
11739 name: "CMOVLGEF",
11740 argLen: 3,
11741 resultInArg0: true,
11742 asm: x86.ACMOVLCC,
11743 reg: regInfo{
11744 inputs: []inputInfo{
11745 {0, 49135},
11746 {1, 49135},
11747 },
11748 outputs: []outputInfo{
11749 {0, 49135},
11750 },
11751 },
11752 },
11753 {
11754 name: "CMOVWEQF",
11755 argLen: 3,
11756 resultInArg0: true,
11757 needIntTemp: true,
11758 asm: x86.ACMOVWNE,
11759 reg: regInfo{
11760 inputs: []inputInfo{
11761 {0, 49135},
11762 {1, 49135},
11763 },
11764 outputs: []outputInfo{
11765 {0, 49135},
11766 },
11767 },
11768 },
11769 {
11770 name: "CMOVWNEF",
11771 argLen: 3,
11772 resultInArg0: true,
11773 asm: x86.ACMOVWNE,
11774 reg: regInfo{
11775 inputs: []inputInfo{
11776 {0, 49135},
11777 {1, 49135},
11778 },
11779 outputs: []outputInfo{
11780 {0, 49135},
11781 },
11782 },
11783 },
11784 {
11785 name: "CMOVWGTF",
11786 argLen: 3,
11787 resultInArg0: true,
11788 asm: x86.ACMOVWHI,
11789 reg: regInfo{
11790 inputs: []inputInfo{
11791 {0, 49135},
11792 {1, 49135},
11793 },
11794 outputs: []outputInfo{
11795 {0, 49135},
11796 },
11797 },
11798 },
11799 {
11800 name: "CMOVWGEF",
11801 argLen: 3,
11802 resultInArg0: true,
11803 asm: x86.ACMOVWCC,
11804 reg: regInfo{
11805 inputs: []inputInfo{
11806 {0, 49135},
11807 {1, 49135},
11808 },
11809 outputs: []outputInfo{
11810 {0, 49135},
11811 },
11812 },
11813 },
11814 {
11815 name: "BSWAPQ",
11816 argLen: 1,
11817 resultInArg0: true,
11818 asm: x86.ABSWAPQ,
11819 reg: regInfo{
11820 inputs: []inputInfo{
11821 {0, 49135},
11822 },
11823 outputs: []outputInfo{
11824 {0, 49135},
11825 },
11826 },
11827 },
11828 {
11829 name: "BSWAPL",
11830 argLen: 1,
11831 resultInArg0: true,
11832 asm: x86.ABSWAPL,
11833 reg: regInfo{
11834 inputs: []inputInfo{
11835 {0, 49135},
11836 },
11837 outputs: []outputInfo{
11838 {0, 49135},
11839 },
11840 },
11841 },
11842 {
11843 name: "POPCNTQ",
11844 argLen: 1,
11845 clobberFlags: true,
11846 asm: x86.APOPCNTQ,
11847 reg: regInfo{
11848 inputs: []inputInfo{
11849 {0, 49135},
11850 },
11851 outputs: []outputInfo{
11852 {0, 49135},
11853 },
11854 },
11855 },
11856 {
11857 name: "POPCNTL",
11858 argLen: 1,
11859 clobberFlags: true,
11860 asm: x86.APOPCNTL,
11861 reg: regInfo{
11862 inputs: []inputInfo{
11863 {0, 49135},
11864 },
11865 outputs: []outputInfo{
11866 {0, 49135},
11867 },
11868 },
11869 },
11870 {
11871 name: "SQRTSD",
11872 argLen: 1,
11873 asm: x86.ASQRTSD,
11874 reg: regInfo{
11875 inputs: []inputInfo{
11876 {0, 2147418112},
11877 },
11878 outputs: []outputInfo{
11879 {0, 2147418112},
11880 },
11881 },
11882 },
11883 {
11884 name: "SQRTSS",
11885 argLen: 1,
11886 asm: x86.ASQRTSS,
11887 reg: regInfo{
11888 inputs: []inputInfo{
11889 {0, 2147418112},
11890 },
11891 outputs: []outputInfo{
11892 {0, 2147418112},
11893 },
11894 },
11895 },
11896 {
11897 name: "ROUNDSD",
11898 auxType: auxInt8,
11899 argLen: 1,
11900 asm: x86.AROUNDSD,
11901 reg: regInfo{
11902 inputs: []inputInfo{
11903 {0, 2147418112},
11904 },
11905 outputs: []outputInfo{
11906 {0, 2147418112},
11907 },
11908 },
11909 },
11910 {
11911 name: "VFMADD231SD",
11912 argLen: 3,
11913 resultInArg0: true,
11914 asm: x86.AVFMADD231SD,
11915 reg: regInfo{
11916 inputs: []inputInfo{
11917 {0, 2147418112},
11918 {1, 2147418112},
11919 {2, 2147418112},
11920 },
11921 outputs: []outputInfo{
11922 {0, 2147418112},
11923 },
11924 },
11925 },
11926 {
11927 name: "MINSD",
11928 argLen: 2,
11929 resultInArg0: true,
11930 asm: x86.AMINSD,
11931 reg: regInfo{
11932 inputs: []inputInfo{
11933 {0, 2147418112},
11934 {1, 2147418112},
11935 },
11936 outputs: []outputInfo{
11937 {0, 2147418112},
11938 },
11939 },
11940 },
11941 {
11942 name: "MINSS",
11943 argLen: 2,
11944 resultInArg0: true,
11945 asm: x86.AMINSS,
11946 reg: regInfo{
11947 inputs: []inputInfo{
11948 {0, 2147418112},
11949 {1, 2147418112},
11950 },
11951 outputs: []outputInfo{
11952 {0, 2147418112},
11953 },
11954 },
11955 },
11956 {
11957 name: "SBBQcarrymask",
11958 argLen: 1,
11959 asm: x86.ASBBQ,
11960 reg: regInfo{
11961 outputs: []outputInfo{
11962 {0, 49135},
11963 },
11964 },
11965 },
11966 {
11967 name: "SBBLcarrymask",
11968 argLen: 1,
11969 asm: x86.ASBBL,
11970 reg: regInfo{
11971 outputs: []outputInfo{
11972 {0, 49135},
11973 },
11974 },
11975 },
11976 {
11977 name: "SETEQ",
11978 argLen: 1,
11979 asm: x86.ASETEQ,
11980 reg: regInfo{
11981 outputs: []outputInfo{
11982 {0, 49135},
11983 },
11984 },
11985 },
11986 {
11987 name: "SETNE",
11988 argLen: 1,
11989 asm: x86.ASETNE,
11990 reg: regInfo{
11991 outputs: []outputInfo{
11992 {0, 49135},
11993 },
11994 },
11995 },
11996 {
11997 name: "SETL",
11998 argLen: 1,
11999 asm: x86.ASETLT,
12000 reg: regInfo{
12001 outputs: []outputInfo{
12002 {0, 49135},
12003 },
12004 },
12005 },
12006 {
12007 name: "SETLE",
12008 argLen: 1,
12009 asm: x86.ASETLE,
12010 reg: regInfo{
12011 outputs: []outputInfo{
12012 {0, 49135},
12013 },
12014 },
12015 },
12016 {
12017 name: "SETG",
12018 argLen: 1,
12019 asm: x86.ASETGT,
12020 reg: regInfo{
12021 outputs: []outputInfo{
12022 {0, 49135},
12023 },
12024 },
12025 },
12026 {
12027 name: "SETGE",
12028 argLen: 1,
12029 asm: x86.ASETGE,
12030 reg: regInfo{
12031 outputs: []outputInfo{
12032 {0, 49135},
12033 },
12034 },
12035 },
12036 {
12037 name: "SETB",
12038 argLen: 1,
12039 asm: x86.ASETCS,
12040 reg: regInfo{
12041 outputs: []outputInfo{
12042 {0, 49135},
12043 },
12044 },
12045 },
12046 {
12047 name: "SETBE",
12048 argLen: 1,
12049 asm: x86.ASETLS,
12050 reg: regInfo{
12051 outputs: []outputInfo{
12052 {0, 49135},
12053 },
12054 },
12055 },
12056 {
12057 name: "SETA",
12058 argLen: 1,
12059 asm: x86.ASETHI,
12060 reg: regInfo{
12061 outputs: []outputInfo{
12062 {0, 49135},
12063 },
12064 },
12065 },
12066 {
12067 name: "SETAE",
12068 argLen: 1,
12069 asm: x86.ASETCC,
12070 reg: regInfo{
12071 outputs: []outputInfo{
12072 {0, 49135},
12073 },
12074 },
12075 },
12076 {
12077 name: "SETO",
12078 argLen: 1,
12079 asm: x86.ASETOS,
12080 reg: regInfo{
12081 outputs: []outputInfo{
12082 {0, 49135},
12083 },
12084 },
12085 },
12086 {
12087 name: "SETEQstore",
12088 auxType: auxSymOff,
12089 argLen: 3,
12090 faultOnNilArg0: true,
12091 symEffect: SymWrite,
12092 asm: x86.ASETEQ,
12093 reg: regInfo{
12094 inputs: []inputInfo{
12095 {0, 4295032831},
12096 },
12097 },
12098 },
12099 {
12100 name: "SETNEstore",
12101 auxType: auxSymOff,
12102 argLen: 3,
12103 faultOnNilArg0: true,
12104 symEffect: SymWrite,
12105 asm: x86.ASETNE,
12106 reg: regInfo{
12107 inputs: []inputInfo{
12108 {0, 4295032831},
12109 },
12110 },
12111 },
12112 {
12113 name: "SETLstore",
12114 auxType: auxSymOff,
12115 argLen: 3,
12116 faultOnNilArg0: true,
12117 symEffect: SymWrite,
12118 asm: x86.ASETLT,
12119 reg: regInfo{
12120 inputs: []inputInfo{
12121 {0, 4295032831},
12122 },
12123 },
12124 },
12125 {
12126 name: "SETLEstore",
12127 auxType: auxSymOff,
12128 argLen: 3,
12129 faultOnNilArg0: true,
12130 symEffect: SymWrite,
12131 asm: x86.ASETLE,
12132 reg: regInfo{
12133 inputs: []inputInfo{
12134 {0, 4295032831},
12135 },
12136 },
12137 },
12138 {
12139 name: "SETGstore",
12140 auxType: auxSymOff,
12141 argLen: 3,
12142 faultOnNilArg0: true,
12143 symEffect: SymWrite,
12144 asm: x86.ASETGT,
12145 reg: regInfo{
12146 inputs: []inputInfo{
12147 {0, 4295032831},
12148 },
12149 },
12150 },
12151 {
12152 name: "SETGEstore",
12153 auxType: auxSymOff,
12154 argLen: 3,
12155 faultOnNilArg0: true,
12156 symEffect: SymWrite,
12157 asm: x86.ASETGE,
12158 reg: regInfo{
12159 inputs: []inputInfo{
12160 {0, 4295032831},
12161 },
12162 },
12163 },
12164 {
12165 name: "SETBstore",
12166 auxType: auxSymOff,
12167 argLen: 3,
12168 faultOnNilArg0: true,
12169 symEffect: SymWrite,
12170 asm: x86.ASETCS,
12171 reg: regInfo{
12172 inputs: []inputInfo{
12173 {0, 4295032831},
12174 },
12175 },
12176 },
12177 {
12178 name: "SETBEstore",
12179 auxType: auxSymOff,
12180 argLen: 3,
12181 faultOnNilArg0: true,
12182 symEffect: SymWrite,
12183 asm: x86.ASETLS,
12184 reg: regInfo{
12185 inputs: []inputInfo{
12186 {0, 4295032831},
12187 },
12188 },
12189 },
12190 {
12191 name: "SETAstore",
12192 auxType: auxSymOff,
12193 argLen: 3,
12194 faultOnNilArg0: true,
12195 symEffect: SymWrite,
12196 asm: x86.ASETHI,
12197 reg: regInfo{
12198 inputs: []inputInfo{
12199 {0, 4295032831},
12200 },
12201 },
12202 },
12203 {
12204 name: "SETAEstore",
12205 auxType: auxSymOff,
12206 argLen: 3,
12207 faultOnNilArg0: true,
12208 symEffect: SymWrite,
12209 asm: x86.ASETCC,
12210 reg: regInfo{
12211 inputs: []inputInfo{
12212 {0, 4295032831},
12213 },
12214 },
12215 },
12216 {
12217 name: "SETEQstoreidx1",
12218 auxType: auxSymOff,
12219 argLen: 4,
12220 commutative: true,
12221 symEffect: SymWrite,
12222 asm: x86.ASETEQ,
12223 scale: 1,
12224 reg: regInfo{
12225 inputs: []inputInfo{
12226 {1, 49151},
12227 {0, 4295032831},
12228 },
12229 },
12230 },
12231 {
12232 name: "SETNEstoreidx1",
12233 auxType: auxSymOff,
12234 argLen: 4,
12235 commutative: true,
12236 symEffect: SymWrite,
12237 asm: x86.ASETNE,
12238 scale: 1,
12239 reg: regInfo{
12240 inputs: []inputInfo{
12241 {1, 49151},
12242 {0, 4295032831},
12243 },
12244 },
12245 },
12246 {
12247 name: "SETLstoreidx1",
12248 auxType: auxSymOff,
12249 argLen: 4,
12250 commutative: true,
12251 symEffect: SymWrite,
12252 asm: x86.ASETLT,
12253 scale: 1,
12254 reg: regInfo{
12255 inputs: []inputInfo{
12256 {1, 49151},
12257 {0, 4295032831},
12258 },
12259 },
12260 },
12261 {
12262 name: "SETLEstoreidx1",
12263 auxType: auxSymOff,
12264 argLen: 4,
12265 commutative: true,
12266 symEffect: SymWrite,
12267 asm: x86.ASETLE,
12268 scale: 1,
12269 reg: regInfo{
12270 inputs: []inputInfo{
12271 {1, 49151},
12272 {0, 4295032831},
12273 },
12274 },
12275 },
12276 {
12277 name: "SETGstoreidx1",
12278 auxType: auxSymOff,
12279 argLen: 4,
12280 commutative: true,
12281 symEffect: SymWrite,
12282 asm: x86.ASETGT,
12283 scale: 1,
12284 reg: regInfo{
12285 inputs: []inputInfo{
12286 {1, 49151},
12287 {0, 4295032831},
12288 },
12289 },
12290 },
12291 {
12292 name: "SETGEstoreidx1",
12293 auxType: auxSymOff,
12294 argLen: 4,
12295 commutative: true,
12296 symEffect: SymWrite,
12297 asm: x86.ASETGE,
12298 scale: 1,
12299 reg: regInfo{
12300 inputs: []inputInfo{
12301 {1, 49151},
12302 {0, 4295032831},
12303 },
12304 },
12305 },
12306 {
12307 name: "SETBstoreidx1",
12308 auxType: auxSymOff,
12309 argLen: 4,
12310 commutative: true,
12311 symEffect: SymWrite,
12312 asm: x86.ASETCS,
12313 scale: 1,
12314 reg: regInfo{
12315 inputs: []inputInfo{
12316 {1, 49151},
12317 {0, 4295032831},
12318 },
12319 },
12320 },
12321 {
12322 name: "SETBEstoreidx1",
12323 auxType: auxSymOff,
12324 argLen: 4,
12325 commutative: true,
12326 symEffect: SymWrite,
12327 asm: x86.ASETLS,
12328 scale: 1,
12329 reg: regInfo{
12330 inputs: []inputInfo{
12331 {1, 49151},
12332 {0, 4295032831},
12333 },
12334 },
12335 },
12336 {
12337 name: "SETAstoreidx1",
12338 auxType: auxSymOff,
12339 argLen: 4,
12340 commutative: true,
12341 symEffect: SymWrite,
12342 asm: x86.ASETHI,
12343 scale: 1,
12344 reg: regInfo{
12345 inputs: []inputInfo{
12346 {1, 49151},
12347 {0, 4295032831},
12348 },
12349 },
12350 },
12351 {
12352 name: "SETAEstoreidx1",
12353 auxType: auxSymOff,
12354 argLen: 4,
12355 commutative: true,
12356 symEffect: SymWrite,
12357 asm: x86.ASETCC,
12358 scale: 1,
12359 reg: regInfo{
12360 inputs: []inputInfo{
12361 {1, 49151},
12362 {0, 4295032831},
12363 },
12364 },
12365 },
12366 {
12367 name: "SETEQF",
12368 argLen: 1,
12369 clobberFlags: true,
12370 needIntTemp: true,
12371 asm: x86.ASETEQ,
12372 reg: regInfo{
12373 outputs: []outputInfo{
12374 {0, 49135},
12375 },
12376 },
12377 },
12378 {
12379 name: "SETNEF",
12380 argLen: 1,
12381 clobberFlags: true,
12382 needIntTemp: true,
12383 asm: x86.ASETNE,
12384 reg: regInfo{
12385 outputs: []outputInfo{
12386 {0, 49135},
12387 },
12388 },
12389 },
12390 {
12391 name: "SETORD",
12392 argLen: 1,
12393 asm: x86.ASETPC,
12394 reg: regInfo{
12395 outputs: []outputInfo{
12396 {0, 49135},
12397 },
12398 },
12399 },
12400 {
12401 name: "SETNAN",
12402 argLen: 1,
12403 asm: x86.ASETPS,
12404 reg: regInfo{
12405 outputs: []outputInfo{
12406 {0, 49135},
12407 },
12408 },
12409 },
12410 {
12411 name: "SETGF",
12412 argLen: 1,
12413 asm: x86.ASETHI,
12414 reg: regInfo{
12415 outputs: []outputInfo{
12416 {0, 49135},
12417 },
12418 },
12419 },
12420 {
12421 name: "SETGEF",
12422 argLen: 1,
12423 asm: x86.ASETCC,
12424 reg: regInfo{
12425 outputs: []outputInfo{
12426 {0, 49135},
12427 },
12428 },
12429 },
12430 {
12431 name: "MOVBQSX",
12432 argLen: 1,
12433 asm: x86.AMOVBQSX,
12434 reg: regInfo{
12435 inputs: []inputInfo{
12436 {0, 49135},
12437 },
12438 outputs: []outputInfo{
12439 {0, 49135},
12440 },
12441 },
12442 },
12443 {
12444 name: "MOVBQZX",
12445 argLen: 1,
12446 asm: x86.AMOVBLZX,
12447 reg: regInfo{
12448 inputs: []inputInfo{
12449 {0, 49135},
12450 },
12451 outputs: []outputInfo{
12452 {0, 49135},
12453 },
12454 },
12455 },
12456 {
12457 name: "MOVWQSX",
12458 argLen: 1,
12459 asm: x86.AMOVWQSX,
12460 reg: regInfo{
12461 inputs: []inputInfo{
12462 {0, 49135},
12463 },
12464 outputs: []outputInfo{
12465 {0, 49135},
12466 },
12467 },
12468 },
12469 {
12470 name: "MOVWQZX",
12471 argLen: 1,
12472 asm: x86.AMOVWLZX,
12473 reg: regInfo{
12474 inputs: []inputInfo{
12475 {0, 49135},
12476 },
12477 outputs: []outputInfo{
12478 {0, 49135},
12479 },
12480 },
12481 },
12482 {
12483 name: "MOVLQSX",
12484 argLen: 1,
12485 asm: x86.AMOVLQSX,
12486 reg: regInfo{
12487 inputs: []inputInfo{
12488 {0, 49135},
12489 },
12490 outputs: []outputInfo{
12491 {0, 49135},
12492 },
12493 },
12494 },
12495 {
12496 name: "MOVLQZX",
12497 argLen: 1,
12498 asm: x86.AMOVL,
12499 reg: regInfo{
12500 inputs: []inputInfo{
12501 {0, 49135},
12502 },
12503 outputs: []outputInfo{
12504 {0, 49135},
12505 },
12506 },
12507 },
12508 {
12509 name: "MOVLconst",
12510 auxType: auxInt32,
12511 argLen: 0,
12512 rematerializeable: true,
12513 asm: x86.AMOVL,
12514 reg: regInfo{
12515 outputs: []outputInfo{
12516 {0, 49135},
12517 },
12518 },
12519 },
12520 {
12521 name: "MOVQconst",
12522 auxType: auxInt64,
12523 argLen: 0,
12524 rematerializeable: true,
12525 asm: x86.AMOVQ,
12526 reg: regInfo{
12527 outputs: []outputInfo{
12528 {0, 49135},
12529 },
12530 },
12531 },
12532 {
12533 name: "CVTTSD2SL",
12534 argLen: 1,
12535 asm: x86.ACVTTSD2SL,
12536 reg: regInfo{
12537 inputs: []inputInfo{
12538 {0, 2147418112},
12539 },
12540 outputs: []outputInfo{
12541 {0, 49135},
12542 },
12543 },
12544 },
12545 {
12546 name: "CVTTSD2SQ",
12547 argLen: 1,
12548 asm: x86.ACVTTSD2SQ,
12549 reg: regInfo{
12550 inputs: []inputInfo{
12551 {0, 2147418112},
12552 },
12553 outputs: []outputInfo{
12554 {0, 49135},
12555 },
12556 },
12557 },
12558 {
12559 name: "CVTTSS2SL",
12560 argLen: 1,
12561 asm: x86.ACVTTSS2SL,
12562 reg: regInfo{
12563 inputs: []inputInfo{
12564 {0, 2147418112},
12565 },
12566 outputs: []outputInfo{
12567 {0, 49135},
12568 },
12569 },
12570 },
12571 {
12572 name: "CVTTSS2SQ",
12573 argLen: 1,
12574 asm: x86.ACVTTSS2SQ,
12575 reg: regInfo{
12576 inputs: []inputInfo{
12577 {0, 2147418112},
12578 },
12579 outputs: []outputInfo{
12580 {0, 49135},
12581 },
12582 },
12583 },
12584 {
12585 name: "CVTSL2SS",
12586 argLen: 1,
12587 asm: x86.ACVTSL2SS,
12588 reg: regInfo{
12589 inputs: []inputInfo{
12590 {0, 49135},
12591 },
12592 outputs: []outputInfo{
12593 {0, 2147418112},
12594 },
12595 },
12596 },
12597 {
12598 name: "CVTSL2SD",
12599 argLen: 1,
12600 asm: x86.ACVTSL2SD,
12601 reg: regInfo{
12602 inputs: []inputInfo{
12603 {0, 49135},
12604 },
12605 outputs: []outputInfo{
12606 {0, 2147418112},
12607 },
12608 },
12609 },
12610 {
12611 name: "CVTSQ2SS",
12612 argLen: 1,
12613 asm: x86.ACVTSQ2SS,
12614 reg: regInfo{
12615 inputs: []inputInfo{
12616 {0, 49135},
12617 },
12618 outputs: []outputInfo{
12619 {0, 2147418112},
12620 },
12621 },
12622 },
12623 {
12624 name: "CVTSQ2SD",
12625 argLen: 1,
12626 asm: x86.ACVTSQ2SD,
12627 reg: regInfo{
12628 inputs: []inputInfo{
12629 {0, 49135},
12630 },
12631 outputs: []outputInfo{
12632 {0, 2147418112},
12633 },
12634 },
12635 },
12636 {
12637 name: "CVTSD2SS",
12638 argLen: 1,
12639 asm: x86.ACVTSD2SS,
12640 reg: regInfo{
12641 inputs: []inputInfo{
12642 {0, 2147418112},
12643 },
12644 outputs: []outputInfo{
12645 {0, 2147418112},
12646 },
12647 },
12648 },
12649 {
12650 name: "CVTSS2SD",
12651 argLen: 1,
12652 asm: x86.ACVTSS2SD,
12653 reg: regInfo{
12654 inputs: []inputInfo{
12655 {0, 2147418112},
12656 },
12657 outputs: []outputInfo{
12658 {0, 2147418112},
12659 },
12660 },
12661 },
12662 {
12663 name: "MOVQi2f",
12664 argLen: 1,
12665 reg: regInfo{
12666 inputs: []inputInfo{
12667 {0, 49135},
12668 },
12669 outputs: []outputInfo{
12670 {0, 2147418112},
12671 },
12672 },
12673 },
12674 {
12675 name: "MOVQf2i",
12676 argLen: 1,
12677 reg: regInfo{
12678 inputs: []inputInfo{
12679 {0, 2147418112},
12680 },
12681 outputs: []outputInfo{
12682 {0, 49135},
12683 },
12684 },
12685 },
12686 {
12687 name: "MOVLi2f",
12688 argLen: 1,
12689 reg: regInfo{
12690 inputs: []inputInfo{
12691 {0, 49135},
12692 },
12693 outputs: []outputInfo{
12694 {0, 2147418112},
12695 },
12696 },
12697 },
12698 {
12699 name: "MOVLf2i",
12700 argLen: 1,
12701 reg: regInfo{
12702 inputs: []inputInfo{
12703 {0, 2147418112},
12704 },
12705 outputs: []outputInfo{
12706 {0, 49135},
12707 },
12708 },
12709 },
12710 {
12711 name: "PXOR",
12712 argLen: 2,
12713 commutative: true,
12714 resultInArg0: true,
12715 asm: x86.APXOR,
12716 reg: regInfo{
12717 inputs: []inputInfo{
12718 {0, 2147418112},
12719 {1, 2147418112},
12720 },
12721 outputs: []outputInfo{
12722 {0, 2147418112},
12723 },
12724 },
12725 },
12726 {
12727 name: "POR",
12728 argLen: 2,
12729 commutative: true,
12730 resultInArg0: true,
12731 asm: x86.APOR,
12732 reg: regInfo{
12733 inputs: []inputInfo{
12734 {0, 2147418112},
12735 {1, 2147418112},
12736 },
12737 outputs: []outputInfo{
12738 {0, 2147418112},
12739 },
12740 },
12741 },
12742 {
12743 name: "LEAQ",
12744 auxType: auxSymOff,
12745 argLen: 1,
12746 rematerializeable: true,
12747 symEffect: SymAddr,
12748 asm: x86.ALEAQ,
12749 reg: regInfo{
12750 inputs: []inputInfo{
12751 {0, 4295032831},
12752 },
12753 outputs: []outputInfo{
12754 {0, 49135},
12755 },
12756 },
12757 },
12758 {
12759 name: "LEAL",
12760 auxType: auxSymOff,
12761 argLen: 1,
12762 rematerializeable: true,
12763 symEffect: SymAddr,
12764 asm: x86.ALEAL,
12765 reg: regInfo{
12766 inputs: []inputInfo{
12767 {0, 4295032831},
12768 },
12769 outputs: []outputInfo{
12770 {0, 49135},
12771 },
12772 },
12773 },
12774 {
12775 name: "LEAW",
12776 auxType: auxSymOff,
12777 argLen: 1,
12778 rematerializeable: true,
12779 symEffect: SymAddr,
12780 asm: x86.ALEAW,
12781 reg: regInfo{
12782 inputs: []inputInfo{
12783 {0, 4295032831},
12784 },
12785 outputs: []outputInfo{
12786 {0, 49135},
12787 },
12788 },
12789 },
12790 {
12791 name: "LEAQ1",
12792 auxType: auxSymOff,
12793 argLen: 2,
12794 commutative: true,
12795 symEffect: SymAddr,
12796 asm: x86.ALEAQ,
12797 scale: 1,
12798 reg: regInfo{
12799 inputs: []inputInfo{
12800 {1, 49151},
12801 {0, 4295032831},
12802 },
12803 outputs: []outputInfo{
12804 {0, 49135},
12805 },
12806 },
12807 },
12808 {
12809 name: "LEAL1",
12810 auxType: auxSymOff,
12811 argLen: 2,
12812 commutative: true,
12813 symEffect: SymAddr,
12814 asm: x86.ALEAL,
12815 scale: 1,
12816 reg: regInfo{
12817 inputs: []inputInfo{
12818 {1, 49151},
12819 {0, 4295032831},
12820 },
12821 outputs: []outputInfo{
12822 {0, 49135},
12823 },
12824 },
12825 },
12826 {
12827 name: "LEAW1",
12828 auxType: auxSymOff,
12829 argLen: 2,
12830 commutative: true,
12831 symEffect: SymAddr,
12832 asm: x86.ALEAW,
12833 scale: 1,
12834 reg: regInfo{
12835 inputs: []inputInfo{
12836 {1, 49151},
12837 {0, 4295032831},
12838 },
12839 outputs: []outputInfo{
12840 {0, 49135},
12841 },
12842 },
12843 },
12844 {
12845 name: "LEAQ2",
12846 auxType: auxSymOff,
12847 argLen: 2,
12848 symEffect: SymAddr,
12849 asm: x86.ALEAQ,
12850 scale: 2,
12851 reg: regInfo{
12852 inputs: []inputInfo{
12853 {1, 49151},
12854 {0, 4295032831},
12855 },
12856 outputs: []outputInfo{
12857 {0, 49135},
12858 },
12859 },
12860 },
12861 {
12862 name: "LEAL2",
12863 auxType: auxSymOff,
12864 argLen: 2,
12865 symEffect: SymAddr,
12866 asm: x86.ALEAL,
12867 scale: 2,
12868 reg: regInfo{
12869 inputs: []inputInfo{
12870 {1, 49151},
12871 {0, 4295032831},
12872 },
12873 outputs: []outputInfo{
12874 {0, 49135},
12875 },
12876 },
12877 },
12878 {
12879 name: "LEAW2",
12880 auxType: auxSymOff,
12881 argLen: 2,
12882 symEffect: SymAddr,
12883 asm: x86.ALEAW,
12884 scale: 2,
12885 reg: regInfo{
12886 inputs: []inputInfo{
12887 {1, 49151},
12888 {0, 4295032831},
12889 },
12890 outputs: []outputInfo{
12891 {0, 49135},
12892 },
12893 },
12894 },
12895 {
12896 name: "LEAQ4",
12897 auxType: auxSymOff,
12898 argLen: 2,
12899 symEffect: SymAddr,
12900 asm: x86.ALEAQ,
12901 scale: 4,
12902 reg: regInfo{
12903 inputs: []inputInfo{
12904 {1, 49151},
12905 {0, 4295032831},
12906 },
12907 outputs: []outputInfo{
12908 {0, 49135},
12909 },
12910 },
12911 },
12912 {
12913 name: "LEAL4",
12914 auxType: auxSymOff,
12915 argLen: 2,
12916 symEffect: SymAddr,
12917 asm: x86.ALEAL,
12918 scale: 4,
12919 reg: regInfo{
12920 inputs: []inputInfo{
12921 {1, 49151},
12922 {0, 4295032831},
12923 },
12924 outputs: []outputInfo{
12925 {0, 49135},
12926 },
12927 },
12928 },
12929 {
12930 name: "LEAW4",
12931 auxType: auxSymOff,
12932 argLen: 2,
12933 symEffect: SymAddr,
12934 asm: x86.ALEAW,
12935 scale: 4,
12936 reg: regInfo{
12937 inputs: []inputInfo{
12938 {1, 49151},
12939 {0, 4295032831},
12940 },
12941 outputs: []outputInfo{
12942 {0, 49135},
12943 },
12944 },
12945 },
12946 {
12947 name: "LEAQ8",
12948 auxType: auxSymOff,
12949 argLen: 2,
12950 symEffect: SymAddr,
12951 asm: x86.ALEAQ,
12952 scale: 8,
12953 reg: regInfo{
12954 inputs: []inputInfo{
12955 {1, 49151},
12956 {0, 4295032831},
12957 },
12958 outputs: []outputInfo{
12959 {0, 49135},
12960 },
12961 },
12962 },
12963 {
12964 name: "LEAL8",
12965 auxType: auxSymOff,
12966 argLen: 2,
12967 symEffect: SymAddr,
12968 asm: x86.ALEAL,
12969 scale: 8,
12970 reg: regInfo{
12971 inputs: []inputInfo{
12972 {1, 49151},
12973 {0, 4295032831},
12974 },
12975 outputs: []outputInfo{
12976 {0, 49135},
12977 },
12978 },
12979 },
12980 {
12981 name: "LEAW8",
12982 auxType: auxSymOff,
12983 argLen: 2,
12984 symEffect: SymAddr,
12985 asm: x86.ALEAW,
12986 scale: 8,
12987 reg: regInfo{
12988 inputs: []inputInfo{
12989 {1, 49151},
12990 {0, 4295032831},
12991 },
12992 outputs: []outputInfo{
12993 {0, 49135},
12994 },
12995 },
12996 },
12997 {
12998 name: "MOVBload",
12999 auxType: auxSymOff,
13000 argLen: 2,
13001 faultOnNilArg0: true,
13002 symEffect: SymRead,
13003 asm: x86.AMOVBLZX,
13004 reg: regInfo{
13005 inputs: []inputInfo{
13006 {0, 4295032831},
13007 },
13008 outputs: []outputInfo{
13009 {0, 49135},
13010 },
13011 },
13012 },
13013 {
13014 name: "MOVBQSXload",
13015 auxType: auxSymOff,
13016 argLen: 2,
13017 faultOnNilArg0: true,
13018 symEffect: SymRead,
13019 asm: x86.AMOVBQSX,
13020 reg: regInfo{
13021 inputs: []inputInfo{
13022 {0, 4295032831},
13023 },
13024 outputs: []outputInfo{
13025 {0, 49135},
13026 },
13027 },
13028 },
13029 {
13030 name: "MOVWload",
13031 auxType: auxSymOff,
13032 argLen: 2,
13033 faultOnNilArg0: true,
13034 symEffect: SymRead,
13035 asm: x86.AMOVWLZX,
13036 reg: regInfo{
13037 inputs: []inputInfo{
13038 {0, 4295032831},
13039 },
13040 outputs: []outputInfo{
13041 {0, 49135},
13042 },
13043 },
13044 },
13045 {
13046 name: "MOVWQSXload",
13047 auxType: auxSymOff,
13048 argLen: 2,
13049 faultOnNilArg0: true,
13050 symEffect: SymRead,
13051 asm: x86.AMOVWQSX,
13052 reg: regInfo{
13053 inputs: []inputInfo{
13054 {0, 4295032831},
13055 },
13056 outputs: []outputInfo{
13057 {0, 49135},
13058 },
13059 },
13060 },
13061 {
13062 name: "MOVLload",
13063 auxType: auxSymOff,
13064 argLen: 2,
13065 faultOnNilArg0: true,
13066 symEffect: SymRead,
13067 asm: x86.AMOVL,
13068 reg: regInfo{
13069 inputs: []inputInfo{
13070 {0, 4295032831},
13071 },
13072 outputs: []outputInfo{
13073 {0, 49135},
13074 },
13075 },
13076 },
13077 {
13078 name: "MOVLQSXload",
13079 auxType: auxSymOff,
13080 argLen: 2,
13081 faultOnNilArg0: true,
13082 symEffect: SymRead,
13083 asm: x86.AMOVLQSX,
13084 reg: regInfo{
13085 inputs: []inputInfo{
13086 {0, 4295032831},
13087 },
13088 outputs: []outputInfo{
13089 {0, 49135},
13090 },
13091 },
13092 },
13093 {
13094 name: "MOVQload",
13095 auxType: auxSymOff,
13096 argLen: 2,
13097 faultOnNilArg0: true,
13098 symEffect: SymRead,
13099 asm: x86.AMOVQ,
13100 reg: regInfo{
13101 inputs: []inputInfo{
13102 {0, 4295032831},
13103 },
13104 outputs: []outputInfo{
13105 {0, 49135},
13106 },
13107 },
13108 },
13109 {
13110 name: "MOVBstore",
13111 auxType: auxSymOff,
13112 argLen: 3,
13113 faultOnNilArg0: true,
13114 symEffect: SymWrite,
13115 asm: x86.AMOVB,
13116 reg: regInfo{
13117 inputs: []inputInfo{
13118 {1, 49151},
13119 {0, 4295032831},
13120 },
13121 },
13122 },
13123 {
13124 name: "MOVWstore",
13125 auxType: auxSymOff,
13126 argLen: 3,
13127 faultOnNilArg0: true,
13128 symEffect: SymWrite,
13129 asm: x86.AMOVW,
13130 reg: regInfo{
13131 inputs: []inputInfo{
13132 {1, 49151},
13133 {0, 4295032831},
13134 },
13135 },
13136 },
13137 {
13138 name: "MOVLstore",
13139 auxType: auxSymOff,
13140 argLen: 3,
13141 faultOnNilArg0: true,
13142 symEffect: SymWrite,
13143 asm: x86.AMOVL,
13144 reg: regInfo{
13145 inputs: []inputInfo{
13146 {1, 49151},
13147 {0, 4295032831},
13148 },
13149 },
13150 },
13151 {
13152 name: "MOVQstore",
13153 auxType: auxSymOff,
13154 argLen: 3,
13155 faultOnNilArg0: true,
13156 symEffect: SymWrite,
13157 asm: x86.AMOVQ,
13158 reg: regInfo{
13159 inputs: []inputInfo{
13160 {1, 49151},
13161 {0, 4295032831},
13162 },
13163 },
13164 },
13165 {
13166 name: "MOVOload",
13167 auxType: auxSymOff,
13168 argLen: 2,
13169 faultOnNilArg0: true,
13170 symEffect: SymRead,
13171 asm: x86.AMOVUPS,
13172 reg: regInfo{
13173 inputs: []inputInfo{
13174 {0, 4295016447},
13175 },
13176 outputs: []outputInfo{
13177 {0, 2147418112},
13178 },
13179 },
13180 },
13181 {
13182 name: "MOVOstore",
13183 auxType: auxSymOff,
13184 argLen: 3,
13185 faultOnNilArg0: true,
13186 symEffect: SymWrite,
13187 asm: x86.AMOVUPS,
13188 reg: regInfo{
13189 inputs: []inputInfo{
13190 {1, 2147418112},
13191 {0, 4295016447},
13192 },
13193 },
13194 },
13195 {
13196 name: "MOVBloadidx1",
13197 auxType: auxSymOff,
13198 argLen: 3,
13199 commutative: true,
13200 symEffect: SymRead,
13201 asm: x86.AMOVBLZX,
13202 scale: 1,
13203 reg: regInfo{
13204 inputs: []inputInfo{
13205 {1, 49151},
13206 {0, 4295032831},
13207 },
13208 outputs: []outputInfo{
13209 {0, 49135},
13210 },
13211 },
13212 },
13213 {
13214 name: "MOVWloadidx1",
13215 auxType: auxSymOff,
13216 argLen: 3,
13217 commutative: true,
13218 symEffect: SymRead,
13219 asm: x86.AMOVWLZX,
13220 scale: 1,
13221 reg: regInfo{
13222 inputs: []inputInfo{
13223 {1, 49151},
13224 {0, 4295032831},
13225 },
13226 outputs: []outputInfo{
13227 {0, 49135},
13228 },
13229 },
13230 },
13231 {
13232 name: "MOVWloadidx2",
13233 auxType: auxSymOff,
13234 argLen: 3,
13235 symEffect: SymRead,
13236 asm: x86.AMOVWLZX,
13237 scale: 2,
13238 reg: regInfo{
13239 inputs: []inputInfo{
13240 {1, 49151},
13241 {0, 4295032831},
13242 },
13243 outputs: []outputInfo{
13244 {0, 49135},
13245 },
13246 },
13247 },
13248 {
13249 name: "MOVLloadidx1",
13250 auxType: auxSymOff,
13251 argLen: 3,
13252 commutative: true,
13253 symEffect: SymRead,
13254 asm: x86.AMOVL,
13255 scale: 1,
13256 reg: regInfo{
13257 inputs: []inputInfo{
13258 {1, 49151},
13259 {0, 4295032831},
13260 },
13261 outputs: []outputInfo{
13262 {0, 49135},
13263 },
13264 },
13265 },
13266 {
13267 name: "MOVLloadidx4",
13268 auxType: auxSymOff,
13269 argLen: 3,
13270 symEffect: SymRead,
13271 asm: x86.AMOVL,
13272 scale: 4,
13273 reg: regInfo{
13274 inputs: []inputInfo{
13275 {1, 49151},
13276 {0, 4295032831},
13277 },
13278 outputs: []outputInfo{
13279 {0, 49135},
13280 },
13281 },
13282 },
13283 {
13284 name: "MOVLloadidx8",
13285 auxType: auxSymOff,
13286 argLen: 3,
13287 symEffect: SymRead,
13288 asm: x86.AMOVL,
13289 scale: 8,
13290 reg: regInfo{
13291 inputs: []inputInfo{
13292 {1, 49151},
13293 {0, 4295032831},
13294 },
13295 outputs: []outputInfo{
13296 {0, 49135},
13297 },
13298 },
13299 },
13300 {
13301 name: "MOVQloadidx1",
13302 auxType: auxSymOff,
13303 argLen: 3,
13304 commutative: true,
13305 symEffect: SymRead,
13306 asm: x86.AMOVQ,
13307 scale: 1,
13308 reg: regInfo{
13309 inputs: []inputInfo{
13310 {1, 49151},
13311 {0, 4295032831},
13312 },
13313 outputs: []outputInfo{
13314 {0, 49135},
13315 },
13316 },
13317 },
13318 {
13319 name: "MOVQloadidx8",
13320 auxType: auxSymOff,
13321 argLen: 3,
13322 symEffect: SymRead,
13323 asm: x86.AMOVQ,
13324 scale: 8,
13325 reg: regInfo{
13326 inputs: []inputInfo{
13327 {1, 49151},
13328 {0, 4295032831},
13329 },
13330 outputs: []outputInfo{
13331 {0, 49135},
13332 },
13333 },
13334 },
13335 {
13336 name: "MOVBstoreidx1",
13337 auxType: auxSymOff,
13338 argLen: 4,
13339 commutative: true,
13340 symEffect: SymWrite,
13341 asm: x86.AMOVB,
13342 scale: 1,
13343 reg: regInfo{
13344 inputs: []inputInfo{
13345 {1, 49151},
13346 {2, 49151},
13347 {0, 4295032831},
13348 },
13349 },
13350 },
13351 {
13352 name: "MOVWstoreidx1",
13353 auxType: auxSymOff,
13354 argLen: 4,
13355 commutative: true,
13356 symEffect: SymWrite,
13357 asm: x86.AMOVW,
13358 scale: 1,
13359 reg: regInfo{
13360 inputs: []inputInfo{
13361 {1, 49151},
13362 {2, 49151},
13363 {0, 4295032831},
13364 },
13365 },
13366 },
13367 {
13368 name: "MOVWstoreidx2",
13369 auxType: auxSymOff,
13370 argLen: 4,
13371 symEffect: SymWrite,
13372 asm: x86.AMOVW,
13373 scale: 2,
13374 reg: regInfo{
13375 inputs: []inputInfo{
13376 {1, 49151},
13377 {2, 49151},
13378 {0, 4295032831},
13379 },
13380 },
13381 },
13382 {
13383 name: "MOVLstoreidx1",
13384 auxType: auxSymOff,
13385 argLen: 4,
13386 commutative: true,
13387 symEffect: SymWrite,
13388 asm: x86.AMOVL,
13389 scale: 1,
13390 reg: regInfo{
13391 inputs: []inputInfo{
13392 {1, 49151},
13393 {2, 49151},
13394 {0, 4295032831},
13395 },
13396 },
13397 },
13398 {
13399 name: "MOVLstoreidx4",
13400 auxType: auxSymOff,
13401 argLen: 4,
13402 symEffect: SymWrite,
13403 asm: x86.AMOVL,
13404 scale: 4,
13405 reg: regInfo{
13406 inputs: []inputInfo{
13407 {1, 49151},
13408 {2, 49151},
13409 {0, 4295032831},
13410 },
13411 },
13412 },
13413 {
13414 name: "MOVLstoreidx8",
13415 auxType: auxSymOff,
13416 argLen: 4,
13417 symEffect: SymWrite,
13418 asm: x86.AMOVL,
13419 scale: 8,
13420 reg: regInfo{
13421 inputs: []inputInfo{
13422 {1, 49151},
13423 {2, 49151},
13424 {0, 4295032831},
13425 },
13426 },
13427 },
13428 {
13429 name: "MOVQstoreidx1",
13430 auxType: auxSymOff,
13431 argLen: 4,
13432 commutative: true,
13433 symEffect: SymWrite,
13434 asm: x86.AMOVQ,
13435 scale: 1,
13436 reg: regInfo{
13437 inputs: []inputInfo{
13438 {1, 49151},
13439 {2, 49151},
13440 {0, 4295032831},
13441 },
13442 },
13443 },
13444 {
13445 name: "MOVQstoreidx8",
13446 auxType: auxSymOff,
13447 argLen: 4,
13448 symEffect: SymWrite,
13449 asm: x86.AMOVQ,
13450 scale: 8,
13451 reg: regInfo{
13452 inputs: []inputInfo{
13453 {1, 49151},
13454 {2, 49151},
13455 {0, 4295032831},
13456 },
13457 },
13458 },
13459 {
13460 name: "MOVBstoreconst",
13461 auxType: auxSymValAndOff,
13462 argLen: 2,
13463 faultOnNilArg0: true,
13464 symEffect: SymWrite,
13465 asm: x86.AMOVB,
13466 reg: regInfo{
13467 inputs: []inputInfo{
13468 {0, 4295032831},
13469 },
13470 },
13471 },
13472 {
13473 name: "MOVWstoreconst",
13474 auxType: auxSymValAndOff,
13475 argLen: 2,
13476 faultOnNilArg0: true,
13477 symEffect: SymWrite,
13478 asm: x86.AMOVW,
13479 reg: regInfo{
13480 inputs: []inputInfo{
13481 {0, 4295032831},
13482 },
13483 },
13484 },
13485 {
13486 name: "MOVLstoreconst",
13487 auxType: auxSymValAndOff,
13488 argLen: 2,
13489 faultOnNilArg0: true,
13490 symEffect: SymWrite,
13491 asm: x86.AMOVL,
13492 reg: regInfo{
13493 inputs: []inputInfo{
13494 {0, 4295032831},
13495 },
13496 },
13497 },
13498 {
13499 name: "MOVQstoreconst",
13500 auxType: auxSymValAndOff,
13501 argLen: 2,
13502 faultOnNilArg0: true,
13503 symEffect: SymWrite,
13504 asm: x86.AMOVQ,
13505 reg: regInfo{
13506 inputs: []inputInfo{
13507 {0, 4295032831},
13508 },
13509 },
13510 },
13511 {
13512 name: "MOVOstoreconst",
13513 auxType: auxSymValAndOff,
13514 argLen: 2,
13515 faultOnNilArg0: true,
13516 symEffect: SymWrite,
13517 asm: x86.AMOVUPS,
13518 reg: regInfo{
13519 inputs: []inputInfo{
13520 {0, 4295032831},
13521 },
13522 },
13523 },
13524 {
13525 name: "MOVBstoreconstidx1",
13526 auxType: auxSymValAndOff,
13527 argLen: 3,
13528 commutative: true,
13529 symEffect: SymWrite,
13530 asm: x86.AMOVB,
13531 scale: 1,
13532 reg: regInfo{
13533 inputs: []inputInfo{
13534 {1, 49151},
13535 {0, 4295032831},
13536 },
13537 },
13538 },
13539 {
13540 name: "MOVWstoreconstidx1",
13541 auxType: auxSymValAndOff,
13542 argLen: 3,
13543 commutative: true,
13544 symEffect: SymWrite,
13545 asm: x86.AMOVW,
13546 scale: 1,
13547 reg: regInfo{
13548 inputs: []inputInfo{
13549 {1, 49151},
13550 {0, 4295032831},
13551 },
13552 },
13553 },
13554 {
13555 name: "MOVWstoreconstidx2",
13556 auxType: auxSymValAndOff,
13557 argLen: 3,
13558 symEffect: SymWrite,
13559 asm: x86.AMOVW,
13560 scale: 2,
13561 reg: regInfo{
13562 inputs: []inputInfo{
13563 {1, 49151},
13564 {0, 4295032831},
13565 },
13566 },
13567 },
13568 {
13569 name: "MOVLstoreconstidx1",
13570 auxType: auxSymValAndOff,
13571 argLen: 3,
13572 commutative: true,
13573 symEffect: SymWrite,
13574 asm: x86.AMOVL,
13575 scale: 1,
13576 reg: regInfo{
13577 inputs: []inputInfo{
13578 {1, 49151},
13579 {0, 4295032831},
13580 },
13581 },
13582 },
13583 {
13584 name: "MOVLstoreconstidx4",
13585 auxType: auxSymValAndOff,
13586 argLen: 3,
13587 symEffect: SymWrite,
13588 asm: x86.AMOVL,
13589 scale: 4,
13590 reg: regInfo{
13591 inputs: []inputInfo{
13592 {1, 49151},
13593 {0, 4295032831},
13594 },
13595 },
13596 },
13597 {
13598 name: "MOVQstoreconstidx1",
13599 auxType: auxSymValAndOff,
13600 argLen: 3,
13601 commutative: true,
13602 symEffect: SymWrite,
13603 asm: x86.AMOVQ,
13604 scale: 1,
13605 reg: regInfo{
13606 inputs: []inputInfo{
13607 {1, 49151},
13608 {0, 4295032831},
13609 },
13610 },
13611 },
13612 {
13613 name: "MOVQstoreconstidx8",
13614 auxType: auxSymValAndOff,
13615 argLen: 3,
13616 symEffect: SymWrite,
13617 asm: x86.AMOVQ,
13618 scale: 8,
13619 reg: regInfo{
13620 inputs: []inputInfo{
13621 {1, 49151},
13622 {0, 4295032831},
13623 },
13624 },
13625 },
13626 {
13627 name: "DUFFZERO",
13628 auxType: auxInt64,
13629 argLen: 2,
13630 faultOnNilArg0: true,
13631 unsafePoint: true,
13632 reg: regInfo{
13633 inputs: []inputInfo{
13634 {0, 128},
13635 },
13636 clobbers: 128,
13637 },
13638 },
13639 {
13640 name: "REPSTOSQ",
13641 argLen: 4,
13642 faultOnNilArg0: true,
13643 reg: regInfo{
13644 inputs: []inputInfo{
13645 {0, 128},
13646 {1, 2},
13647 {2, 1},
13648 },
13649 clobbers: 130,
13650 },
13651 },
13652 {
13653 name: "CALLstatic",
13654 auxType: auxCallOff,
13655 argLen: -1,
13656 clobberFlags: true,
13657 call: true,
13658 reg: regInfo{
13659 clobbers: 2147483631,
13660 },
13661 },
13662 {
13663 name: "CALLtail",
13664 auxType: auxCallOff,
13665 argLen: -1,
13666 clobberFlags: true,
13667 call: true,
13668 tailCall: true,
13669 reg: regInfo{
13670 clobbers: 2147483631,
13671 },
13672 },
13673 {
13674 name: "CALLclosure",
13675 auxType: auxCallOff,
13676 argLen: -1,
13677 clobberFlags: true,
13678 call: true,
13679 reg: regInfo{
13680 inputs: []inputInfo{
13681 {1, 4},
13682 {0, 49151},
13683 },
13684 clobbers: 2147483631,
13685 },
13686 },
13687 {
13688 name: "CALLinter",
13689 auxType: auxCallOff,
13690 argLen: -1,
13691 clobberFlags: true,
13692 call: true,
13693 reg: regInfo{
13694 inputs: []inputInfo{
13695 {0, 49135},
13696 },
13697 clobbers: 2147483631,
13698 },
13699 },
13700 {
13701 name: "DUFFCOPY",
13702 auxType: auxInt64,
13703 argLen: 3,
13704 clobberFlags: true,
13705 faultOnNilArg0: true,
13706 faultOnNilArg1: true,
13707 unsafePoint: true,
13708 reg: regInfo{
13709 inputs: []inputInfo{
13710 {0, 128},
13711 {1, 64},
13712 },
13713 clobbers: 65728,
13714 },
13715 },
13716 {
13717 name: "REPMOVSQ",
13718 argLen: 4,
13719 faultOnNilArg0: true,
13720 faultOnNilArg1: true,
13721 reg: regInfo{
13722 inputs: []inputInfo{
13723 {0, 128},
13724 {1, 64},
13725 {2, 2},
13726 },
13727 clobbers: 194,
13728 },
13729 },
13730 {
13731 name: "InvertFlags",
13732 argLen: 1,
13733 reg: regInfo{},
13734 },
13735 {
13736 name: "LoweredGetG",
13737 argLen: 1,
13738 reg: regInfo{
13739 outputs: []outputInfo{
13740 {0, 49135},
13741 },
13742 },
13743 },
13744 {
13745 name: "LoweredGetClosurePtr",
13746 argLen: 0,
13747 zeroWidth: true,
13748 reg: regInfo{
13749 outputs: []outputInfo{
13750 {0, 4},
13751 },
13752 },
13753 },
13754 {
13755 name: "LoweredGetCallerPC",
13756 argLen: 0,
13757 rematerializeable: true,
13758 reg: regInfo{
13759 outputs: []outputInfo{
13760 {0, 49135},
13761 },
13762 },
13763 },
13764 {
13765 name: "LoweredGetCallerSP",
13766 argLen: 1,
13767 rematerializeable: true,
13768 reg: regInfo{
13769 outputs: []outputInfo{
13770 {0, 49135},
13771 },
13772 },
13773 },
13774 {
13775 name: "LoweredNilCheck",
13776 argLen: 2,
13777 clobberFlags: true,
13778 nilCheck: true,
13779 faultOnNilArg0: true,
13780 reg: regInfo{
13781 inputs: []inputInfo{
13782 {0, 49151},
13783 },
13784 },
13785 },
13786 {
13787 name: "LoweredWB",
13788 auxType: auxInt64,
13789 argLen: 1,
13790 clobberFlags: true,
13791 reg: regInfo{
13792 clobbers: 2147418112,
13793 outputs: []outputInfo{
13794 {0, 2048},
13795 },
13796 },
13797 },
13798 {
13799 name: "LoweredHasCPUFeature",
13800 auxType: auxSym,
13801 argLen: 0,
13802 rematerializeable: true,
13803 symEffect: SymNone,
13804 reg: regInfo{
13805 outputs: []outputInfo{
13806 {0, 49135},
13807 },
13808 },
13809 },
13810 {
13811 name: "LoweredPanicBoundsA",
13812 auxType: auxInt64,
13813 argLen: 3,
13814 call: true,
13815 reg: regInfo{
13816 inputs: []inputInfo{
13817 {0, 4},
13818 {1, 8},
13819 },
13820 },
13821 },
13822 {
13823 name: "LoweredPanicBoundsB",
13824 auxType: auxInt64,
13825 argLen: 3,
13826 call: true,
13827 reg: regInfo{
13828 inputs: []inputInfo{
13829 {0, 2},
13830 {1, 4},
13831 },
13832 },
13833 },
13834 {
13835 name: "LoweredPanicBoundsC",
13836 auxType: auxInt64,
13837 argLen: 3,
13838 call: true,
13839 reg: regInfo{
13840 inputs: []inputInfo{
13841 {0, 1},
13842 {1, 2},
13843 },
13844 },
13845 },
13846 {
13847 name: "FlagEQ",
13848 argLen: 0,
13849 reg: regInfo{},
13850 },
13851 {
13852 name: "FlagLT_ULT",
13853 argLen: 0,
13854 reg: regInfo{},
13855 },
13856 {
13857 name: "FlagLT_UGT",
13858 argLen: 0,
13859 reg: regInfo{},
13860 },
13861 {
13862 name: "FlagGT_UGT",
13863 argLen: 0,
13864 reg: regInfo{},
13865 },
13866 {
13867 name: "FlagGT_ULT",
13868 argLen: 0,
13869 reg: regInfo{},
13870 },
13871 {
13872 name: "MOVBatomicload",
13873 auxType: auxSymOff,
13874 argLen: 2,
13875 faultOnNilArg0: true,
13876 symEffect: SymRead,
13877 asm: x86.AMOVB,
13878 reg: regInfo{
13879 inputs: []inputInfo{
13880 {0, 4295032831},
13881 },
13882 outputs: []outputInfo{
13883 {0, 49135},
13884 },
13885 },
13886 },
13887 {
13888 name: "MOVLatomicload",
13889 auxType: auxSymOff,
13890 argLen: 2,
13891 faultOnNilArg0: true,
13892 symEffect: SymRead,
13893 asm: x86.AMOVL,
13894 reg: regInfo{
13895 inputs: []inputInfo{
13896 {0, 4295032831},
13897 },
13898 outputs: []outputInfo{
13899 {0, 49135},
13900 },
13901 },
13902 },
13903 {
13904 name: "MOVQatomicload",
13905 auxType: auxSymOff,
13906 argLen: 2,
13907 faultOnNilArg0: true,
13908 symEffect: SymRead,
13909 asm: x86.AMOVQ,
13910 reg: regInfo{
13911 inputs: []inputInfo{
13912 {0, 4295032831},
13913 },
13914 outputs: []outputInfo{
13915 {0, 49135},
13916 },
13917 },
13918 },
13919 {
13920 name: "XCHGB",
13921 auxType: auxSymOff,
13922 argLen: 3,
13923 resultInArg0: true,
13924 faultOnNilArg1: true,
13925 hasSideEffects: true,
13926 symEffect: SymRdWr,
13927 asm: x86.AXCHGB,
13928 reg: regInfo{
13929 inputs: []inputInfo{
13930 {0, 49135},
13931 {1, 4295032831},
13932 },
13933 outputs: []outputInfo{
13934 {0, 49135},
13935 },
13936 },
13937 },
13938 {
13939 name: "XCHGL",
13940 auxType: auxSymOff,
13941 argLen: 3,
13942 resultInArg0: true,
13943 faultOnNilArg1: true,
13944 hasSideEffects: true,
13945 symEffect: SymRdWr,
13946 asm: x86.AXCHGL,
13947 reg: regInfo{
13948 inputs: []inputInfo{
13949 {0, 49135},
13950 {1, 4295032831},
13951 },
13952 outputs: []outputInfo{
13953 {0, 49135},
13954 },
13955 },
13956 },
13957 {
13958 name: "XCHGQ",
13959 auxType: auxSymOff,
13960 argLen: 3,
13961 resultInArg0: true,
13962 faultOnNilArg1: true,
13963 hasSideEffects: true,
13964 symEffect: SymRdWr,
13965 asm: x86.AXCHGQ,
13966 reg: regInfo{
13967 inputs: []inputInfo{
13968 {0, 49135},
13969 {1, 4295032831},
13970 },
13971 outputs: []outputInfo{
13972 {0, 49135},
13973 },
13974 },
13975 },
13976 {
13977 name: "XADDLlock",
13978 auxType: auxSymOff,
13979 argLen: 3,
13980 resultInArg0: true,
13981 clobberFlags: true,
13982 faultOnNilArg1: true,
13983 hasSideEffects: true,
13984 symEffect: SymRdWr,
13985 asm: x86.AXADDL,
13986 reg: regInfo{
13987 inputs: []inputInfo{
13988 {0, 49135},
13989 {1, 4295032831},
13990 },
13991 outputs: []outputInfo{
13992 {0, 49135},
13993 },
13994 },
13995 },
13996 {
13997 name: "XADDQlock",
13998 auxType: auxSymOff,
13999 argLen: 3,
14000 resultInArg0: true,
14001 clobberFlags: true,
14002 faultOnNilArg1: true,
14003 hasSideEffects: true,
14004 symEffect: SymRdWr,
14005 asm: x86.AXADDQ,
14006 reg: regInfo{
14007 inputs: []inputInfo{
14008 {0, 49135},
14009 {1, 4295032831},
14010 },
14011 outputs: []outputInfo{
14012 {0, 49135},
14013 },
14014 },
14015 },
14016 {
14017 name: "AddTupleFirst32",
14018 argLen: 2,
14019 reg: regInfo{},
14020 },
14021 {
14022 name: "AddTupleFirst64",
14023 argLen: 2,
14024 reg: regInfo{},
14025 },
14026 {
14027 name: "CMPXCHGLlock",
14028 auxType: auxSymOff,
14029 argLen: 4,
14030 clobberFlags: true,
14031 faultOnNilArg0: true,
14032 hasSideEffects: true,
14033 symEffect: SymRdWr,
14034 asm: x86.ACMPXCHGL,
14035 reg: regInfo{
14036 inputs: []inputInfo{
14037 {1, 1},
14038 {0, 49135},
14039 {2, 49135},
14040 },
14041 clobbers: 1,
14042 outputs: []outputInfo{
14043 {1, 0},
14044 {0, 49135},
14045 },
14046 },
14047 },
14048 {
14049 name: "CMPXCHGQlock",
14050 auxType: auxSymOff,
14051 argLen: 4,
14052 clobberFlags: true,
14053 faultOnNilArg0: true,
14054 hasSideEffects: true,
14055 symEffect: SymRdWr,
14056 asm: x86.ACMPXCHGQ,
14057 reg: regInfo{
14058 inputs: []inputInfo{
14059 {1, 1},
14060 {0, 49135},
14061 {2, 49135},
14062 },
14063 clobbers: 1,
14064 outputs: []outputInfo{
14065 {1, 0},
14066 {0, 49135},
14067 },
14068 },
14069 },
14070 {
14071 name: "ANDBlock",
14072 auxType: auxSymOff,
14073 argLen: 3,
14074 clobberFlags: true,
14075 faultOnNilArg0: true,
14076 hasSideEffects: true,
14077 symEffect: SymRdWr,
14078 asm: x86.AANDB,
14079 reg: regInfo{
14080 inputs: []inputInfo{
14081 {1, 49151},
14082 {0, 4295032831},
14083 },
14084 },
14085 },
14086 {
14087 name: "ANDLlock",
14088 auxType: auxSymOff,
14089 argLen: 3,
14090 clobberFlags: true,
14091 faultOnNilArg0: true,
14092 hasSideEffects: true,
14093 symEffect: SymRdWr,
14094 asm: x86.AANDL,
14095 reg: regInfo{
14096 inputs: []inputInfo{
14097 {1, 49151},
14098 {0, 4295032831},
14099 },
14100 },
14101 },
14102 {
14103 name: "ORBlock",
14104 auxType: auxSymOff,
14105 argLen: 3,
14106 clobberFlags: true,
14107 faultOnNilArg0: true,
14108 hasSideEffects: true,
14109 symEffect: SymRdWr,
14110 asm: x86.AORB,
14111 reg: regInfo{
14112 inputs: []inputInfo{
14113 {1, 49151},
14114 {0, 4295032831},
14115 },
14116 },
14117 },
14118 {
14119 name: "ORLlock",
14120 auxType: auxSymOff,
14121 argLen: 3,
14122 clobberFlags: true,
14123 faultOnNilArg0: true,
14124 hasSideEffects: true,
14125 symEffect: SymRdWr,
14126 asm: x86.AORL,
14127 reg: regInfo{
14128 inputs: []inputInfo{
14129 {1, 49151},
14130 {0, 4295032831},
14131 },
14132 },
14133 },
14134 {
14135 name: "PrefetchT0",
14136 argLen: 2,
14137 hasSideEffects: true,
14138 asm: x86.APREFETCHT0,
14139 reg: regInfo{
14140 inputs: []inputInfo{
14141 {0, 4295032831},
14142 },
14143 },
14144 },
14145 {
14146 name: "PrefetchNTA",
14147 argLen: 2,
14148 hasSideEffects: true,
14149 asm: x86.APREFETCHNTA,
14150 reg: regInfo{
14151 inputs: []inputInfo{
14152 {0, 4295032831},
14153 },
14154 },
14155 },
14156 {
14157 name: "ANDNQ",
14158 argLen: 2,
14159 clobberFlags: true,
14160 asm: x86.AANDNQ,
14161 reg: regInfo{
14162 inputs: []inputInfo{
14163 {0, 49135},
14164 {1, 49135},
14165 },
14166 outputs: []outputInfo{
14167 {0, 49135},
14168 },
14169 },
14170 },
14171 {
14172 name: "ANDNL",
14173 argLen: 2,
14174 clobberFlags: true,
14175 asm: x86.AANDNL,
14176 reg: regInfo{
14177 inputs: []inputInfo{
14178 {0, 49135},
14179 {1, 49135},
14180 },
14181 outputs: []outputInfo{
14182 {0, 49135},
14183 },
14184 },
14185 },
14186 {
14187 name: "BLSIQ",
14188 argLen: 1,
14189 clobberFlags: true,
14190 asm: x86.ABLSIQ,
14191 reg: regInfo{
14192 inputs: []inputInfo{
14193 {0, 49135},
14194 },
14195 outputs: []outputInfo{
14196 {0, 49135},
14197 },
14198 },
14199 },
14200 {
14201 name: "BLSIL",
14202 argLen: 1,
14203 clobberFlags: true,
14204 asm: x86.ABLSIL,
14205 reg: regInfo{
14206 inputs: []inputInfo{
14207 {0, 49135},
14208 },
14209 outputs: []outputInfo{
14210 {0, 49135},
14211 },
14212 },
14213 },
14214 {
14215 name: "BLSMSKQ",
14216 argLen: 1,
14217 clobberFlags: true,
14218 asm: x86.ABLSMSKQ,
14219 reg: regInfo{
14220 inputs: []inputInfo{
14221 {0, 49135},
14222 },
14223 outputs: []outputInfo{
14224 {0, 49135},
14225 },
14226 },
14227 },
14228 {
14229 name: "BLSMSKL",
14230 argLen: 1,
14231 clobberFlags: true,
14232 asm: x86.ABLSMSKL,
14233 reg: regInfo{
14234 inputs: []inputInfo{
14235 {0, 49135},
14236 },
14237 outputs: []outputInfo{
14238 {0, 49135},
14239 },
14240 },
14241 },
14242 {
14243 name: "BLSRQ",
14244 argLen: 1,
14245 asm: x86.ABLSRQ,
14246 reg: regInfo{
14247 inputs: []inputInfo{
14248 {0, 49135},
14249 },
14250 outputs: []outputInfo{
14251 {1, 0},
14252 {0, 49135},
14253 },
14254 },
14255 },
14256 {
14257 name: "BLSRL",
14258 argLen: 1,
14259 asm: x86.ABLSRL,
14260 reg: regInfo{
14261 inputs: []inputInfo{
14262 {0, 49135},
14263 },
14264 outputs: []outputInfo{
14265 {1, 0},
14266 {0, 49135},
14267 },
14268 },
14269 },
14270 {
14271 name: "TZCNTQ",
14272 argLen: 1,
14273 clobberFlags: true,
14274 asm: x86.ATZCNTQ,
14275 reg: regInfo{
14276 inputs: []inputInfo{
14277 {0, 49135},
14278 },
14279 outputs: []outputInfo{
14280 {0, 49135},
14281 },
14282 },
14283 },
14284 {
14285 name: "TZCNTL",
14286 argLen: 1,
14287 clobberFlags: true,
14288 asm: x86.ATZCNTL,
14289 reg: regInfo{
14290 inputs: []inputInfo{
14291 {0, 49135},
14292 },
14293 outputs: []outputInfo{
14294 {0, 49135},
14295 },
14296 },
14297 },
14298 {
14299 name: "LZCNTQ",
14300 argLen: 1,
14301 clobberFlags: true,
14302 asm: x86.ALZCNTQ,
14303 reg: regInfo{
14304 inputs: []inputInfo{
14305 {0, 49135},
14306 },
14307 outputs: []outputInfo{
14308 {0, 49135},
14309 },
14310 },
14311 },
14312 {
14313 name: "LZCNTL",
14314 argLen: 1,
14315 clobberFlags: true,
14316 asm: x86.ALZCNTL,
14317 reg: regInfo{
14318 inputs: []inputInfo{
14319 {0, 49135},
14320 },
14321 outputs: []outputInfo{
14322 {0, 49135},
14323 },
14324 },
14325 },
14326 {
14327 name: "MOVBEWstore",
14328 auxType: auxSymOff,
14329 argLen: 3,
14330 faultOnNilArg0: true,
14331 symEffect: SymWrite,
14332 asm: x86.AMOVBEW,
14333 reg: regInfo{
14334 inputs: []inputInfo{
14335 {1, 49151},
14336 {0, 4295032831},
14337 },
14338 },
14339 },
14340 {
14341 name: "MOVBELload",
14342 auxType: auxSymOff,
14343 argLen: 2,
14344 faultOnNilArg0: true,
14345 symEffect: SymRead,
14346 asm: x86.AMOVBEL,
14347 reg: regInfo{
14348 inputs: []inputInfo{
14349 {0, 4295032831},
14350 },
14351 outputs: []outputInfo{
14352 {0, 49135},
14353 },
14354 },
14355 },
14356 {
14357 name: "MOVBELstore",
14358 auxType: auxSymOff,
14359 argLen: 3,
14360 faultOnNilArg0: true,
14361 symEffect: SymWrite,
14362 asm: x86.AMOVBEL,
14363 reg: regInfo{
14364 inputs: []inputInfo{
14365 {1, 49151},
14366 {0, 4295032831},
14367 },
14368 },
14369 },
14370 {
14371 name: "MOVBEQload",
14372 auxType: auxSymOff,
14373 argLen: 2,
14374 faultOnNilArg0: true,
14375 symEffect: SymRead,
14376 asm: x86.AMOVBEQ,
14377 reg: regInfo{
14378 inputs: []inputInfo{
14379 {0, 4295032831},
14380 },
14381 outputs: []outputInfo{
14382 {0, 49135},
14383 },
14384 },
14385 },
14386 {
14387 name: "MOVBEQstore",
14388 auxType: auxSymOff,
14389 argLen: 3,
14390 faultOnNilArg0: true,
14391 symEffect: SymWrite,
14392 asm: x86.AMOVBEQ,
14393 reg: regInfo{
14394 inputs: []inputInfo{
14395 {1, 49151},
14396 {0, 4295032831},
14397 },
14398 },
14399 },
14400 {
14401 name: "MOVBELloadidx1",
14402 auxType: auxSymOff,
14403 argLen: 3,
14404 commutative: true,
14405 symEffect: SymRead,
14406 asm: x86.AMOVBEL,
14407 scale: 1,
14408 reg: regInfo{
14409 inputs: []inputInfo{
14410 {1, 49151},
14411 {0, 4295032831},
14412 },
14413 outputs: []outputInfo{
14414 {0, 49135},
14415 },
14416 },
14417 },
14418 {
14419 name: "MOVBELloadidx4",
14420 auxType: auxSymOff,
14421 argLen: 3,
14422 symEffect: SymRead,
14423 asm: x86.AMOVBEL,
14424 scale: 4,
14425 reg: regInfo{
14426 inputs: []inputInfo{
14427 {1, 49151},
14428 {0, 4295032831},
14429 },
14430 outputs: []outputInfo{
14431 {0, 49135},
14432 },
14433 },
14434 },
14435 {
14436 name: "MOVBELloadidx8",
14437 auxType: auxSymOff,
14438 argLen: 3,
14439 symEffect: SymRead,
14440 asm: x86.AMOVBEL,
14441 scale: 8,
14442 reg: regInfo{
14443 inputs: []inputInfo{
14444 {1, 49151},
14445 {0, 4295032831},
14446 },
14447 outputs: []outputInfo{
14448 {0, 49135},
14449 },
14450 },
14451 },
14452 {
14453 name: "MOVBEQloadidx1",
14454 auxType: auxSymOff,
14455 argLen: 3,
14456 commutative: true,
14457 symEffect: SymRead,
14458 asm: x86.AMOVBEQ,
14459 scale: 1,
14460 reg: regInfo{
14461 inputs: []inputInfo{
14462 {1, 49151},
14463 {0, 4295032831},
14464 },
14465 outputs: []outputInfo{
14466 {0, 49135},
14467 },
14468 },
14469 },
14470 {
14471 name: "MOVBEQloadidx8",
14472 auxType: auxSymOff,
14473 argLen: 3,
14474 symEffect: SymRead,
14475 asm: x86.AMOVBEQ,
14476 scale: 8,
14477 reg: regInfo{
14478 inputs: []inputInfo{
14479 {1, 49151},
14480 {0, 4295032831},
14481 },
14482 outputs: []outputInfo{
14483 {0, 49135},
14484 },
14485 },
14486 },
14487 {
14488 name: "MOVBEWstoreidx1",
14489 auxType: auxSymOff,
14490 argLen: 4,
14491 commutative: true,
14492 symEffect: SymWrite,
14493 asm: x86.AMOVBEW,
14494 scale: 1,
14495 reg: regInfo{
14496 inputs: []inputInfo{
14497 {1, 49151},
14498 {2, 49151},
14499 {0, 4295032831},
14500 },
14501 },
14502 },
14503 {
14504 name: "MOVBEWstoreidx2",
14505 auxType: auxSymOff,
14506 argLen: 4,
14507 symEffect: SymWrite,
14508 asm: x86.AMOVBEW,
14509 scale: 2,
14510 reg: regInfo{
14511 inputs: []inputInfo{
14512 {1, 49151},
14513 {2, 49151},
14514 {0, 4295032831},
14515 },
14516 },
14517 },
14518 {
14519 name: "MOVBELstoreidx1",
14520 auxType: auxSymOff,
14521 argLen: 4,
14522 commutative: true,
14523 symEffect: SymWrite,
14524 asm: x86.AMOVBEL,
14525 scale: 1,
14526 reg: regInfo{
14527 inputs: []inputInfo{
14528 {1, 49151},
14529 {2, 49151},
14530 {0, 4295032831},
14531 },
14532 },
14533 },
14534 {
14535 name: "MOVBELstoreidx4",
14536 auxType: auxSymOff,
14537 argLen: 4,
14538 symEffect: SymWrite,
14539 asm: x86.AMOVBEL,
14540 scale: 4,
14541 reg: regInfo{
14542 inputs: []inputInfo{
14543 {1, 49151},
14544 {2, 49151},
14545 {0, 4295032831},
14546 },
14547 },
14548 },
14549 {
14550 name: "MOVBELstoreidx8",
14551 auxType: auxSymOff,
14552 argLen: 4,
14553 symEffect: SymWrite,
14554 asm: x86.AMOVBEL,
14555 scale: 8,
14556 reg: regInfo{
14557 inputs: []inputInfo{
14558 {1, 49151},
14559 {2, 49151},
14560 {0, 4295032831},
14561 },
14562 },
14563 },
14564 {
14565 name: "MOVBEQstoreidx1",
14566 auxType: auxSymOff,
14567 argLen: 4,
14568 commutative: true,
14569 symEffect: SymWrite,
14570 asm: x86.AMOVBEQ,
14571 scale: 1,
14572 reg: regInfo{
14573 inputs: []inputInfo{
14574 {1, 49151},
14575 {2, 49151},
14576 {0, 4295032831},
14577 },
14578 },
14579 },
14580 {
14581 name: "MOVBEQstoreidx8",
14582 auxType: auxSymOff,
14583 argLen: 4,
14584 symEffect: SymWrite,
14585 asm: x86.AMOVBEQ,
14586 scale: 8,
14587 reg: regInfo{
14588 inputs: []inputInfo{
14589 {1, 49151},
14590 {2, 49151},
14591 {0, 4295032831},
14592 },
14593 },
14594 },
14595 {
14596 name: "SARXQ",
14597 argLen: 2,
14598 asm: x86.ASARXQ,
14599 reg: regInfo{
14600 inputs: []inputInfo{
14601 {0, 49135},
14602 {1, 49135},
14603 },
14604 outputs: []outputInfo{
14605 {0, 49135},
14606 },
14607 },
14608 },
14609 {
14610 name: "SARXL",
14611 argLen: 2,
14612 asm: x86.ASARXL,
14613 reg: regInfo{
14614 inputs: []inputInfo{
14615 {0, 49135},
14616 {1, 49135},
14617 },
14618 outputs: []outputInfo{
14619 {0, 49135},
14620 },
14621 },
14622 },
14623 {
14624 name: "SHLXQ",
14625 argLen: 2,
14626 asm: x86.ASHLXQ,
14627 reg: regInfo{
14628 inputs: []inputInfo{
14629 {0, 49135},
14630 {1, 49135},
14631 },
14632 outputs: []outputInfo{
14633 {0, 49135},
14634 },
14635 },
14636 },
14637 {
14638 name: "SHLXL",
14639 argLen: 2,
14640 asm: x86.ASHLXL,
14641 reg: regInfo{
14642 inputs: []inputInfo{
14643 {0, 49135},
14644 {1, 49135},
14645 },
14646 outputs: []outputInfo{
14647 {0, 49135},
14648 },
14649 },
14650 },
14651 {
14652 name: "SHRXQ",
14653 argLen: 2,
14654 asm: x86.ASHRXQ,
14655 reg: regInfo{
14656 inputs: []inputInfo{
14657 {0, 49135},
14658 {1, 49135},
14659 },
14660 outputs: []outputInfo{
14661 {0, 49135},
14662 },
14663 },
14664 },
14665 {
14666 name: "SHRXL",
14667 argLen: 2,
14668 asm: x86.ASHRXL,
14669 reg: regInfo{
14670 inputs: []inputInfo{
14671 {0, 49135},
14672 {1, 49135},
14673 },
14674 outputs: []outputInfo{
14675 {0, 49135},
14676 },
14677 },
14678 },
14679 {
14680 name: "SARXLload",
14681 auxType: auxSymOff,
14682 argLen: 3,
14683 faultOnNilArg0: true,
14684 symEffect: SymRead,
14685 asm: x86.ASARXL,
14686 reg: regInfo{
14687 inputs: []inputInfo{
14688 {1, 49135},
14689 {0, 4295032831},
14690 },
14691 outputs: []outputInfo{
14692 {0, 49135},
14693 },
14694 },
14695 },
14696 {
14697 name: "SARXQload",
14698 auxType: auxSymOff,
14699 argLen: 3,
14700 faultOnNilArg0: true,
14701 symEffect: SymRead,
14702 asm: x86.ASARXQ,
14703 reg: regInfo{
14704 inputs: []inputInfo{
14705 {1, 49135},
14706 {0, 4295032831},
14707 },
14708 outputs: []outputInfo{
14709 {0, 49135},
14710 },
14711 },
14712 },
14713 {
14714 name: "SHLXLload",
14715 auxType: auxSymOff,
14716 argLen: 3,
14717 faultOnNilArg0: true,
14718 symEffect: SymRead,
14719 asm: x86.ASHLXL,
14720 reg: regInfo{
14721 inputs: []inputInfo{
14722 {1, 49135},
14723 {0, 4295032831},
14724 },
14725 outputs: []outputInfo{
14726 {0, 49135},
14727 },
14728 },
14729 },
14730 {
14731 name: "SHLXQload",
14732 auxType: auxSymOff,
14733 argLen: 3,
14734 faultOnNilArg0: true,
14735 symEffect: SymRead,
14736 asm: x86.ASHLXQ,
14737 reg: regInfo{
14738 inputs: []inputInfo{
14739 {1, 49135},
14740 {0, 4295032831},
14741 },
14742 outputs: []outputInfo{
14743 {0, 49135},
14744 },
14745 },
14746 },
14747 {
14748 name: "SHRXLload",
14749 auxType: auxSymOff,
14750 argLen: 3,
14751 faultOnNilArg0: true,
14752 symEffect: SymRead,
14753 asm: x86.ASHRXL,
14754 reg: regInfo{
14755 inputs: []inputInfo{
14756 {1, 49135},
14757 {0, 4295032831},
14758 },
14759 outputs: []outputInfo{
14760 {0, 49135},
14761 },
14762 },
14763 },
14764 {
14765 name: "SHRXQload",
14766 auxType: auxSymOff,
14767 argLen: 3,
14768 faultOnNilArg0: true,
14769 symEffect: SymRead,
14770 asm: x86.ASHRXQ,
14771 reg: regInfo{
14772 inputs: []inputInfo{
14773 {1, 49135},
14774 {0, 4295032831},
14775 },
14776 outputs: []outputInfo{
14777 {0, 49135},
14778 },
14779 },
14780 },
14781 {
14782 name: "SARXLloadidx1",
14783 auxType: auxSymOff,
14784 argLen: 4,
14785 faultOnNilArg0: true,
14786 symEffect: SymRead,
14787 asm: x86.ASARXL,
14788 scale: 1,
14789 reg: regInfo{
14790 inputs: []inputInfo{
14791 {2, 49135},
14792 {1, 49151},
14793 {0, 4295032831},
14794 },
14795 outputs: []outputInfo{
14796 {0, 49135},
14797 },
14798 },
14799 },
14800 {
14801 name: "SARXLloadidx4",
14802 auxType: auxSymOff,
14803 argLen: 4,
14804 faultOnNilArg0: true,
14805 symEffect: SymRead,
14806 asm: x86.ASARXL,
14807 scale: 4,
14808 reg: regInfo{
14809 inputs: []inputInfo{
14810 {2, 49135},
14811 {1, 49151},
14812 {0, 4295032831},
14813 },
14814 outputs: []outputInfo{
14815 {0, 49135},
14816 },
14817 },
14818 },
14819 {
14820 name: "SARXLloadidx8",
14821 auxType: auxSymOff,
14822 argLen: 4,
14823 faultOnNilArg0: true,
14824 symEffect: SymRead,
14825 asm: x86.ASARXL,
14826 scale: 8,
14827 reg: regInfo{
14828 inputs: []inputInfo{
14829 {2, 49135},
14830 {1, 49151},
14831 {0, 4295032831},
14832 },
14833 outputs: []outputInfo{
14834 {0, 49135},
14835 },
14836 },
14837 },
14838 {
14839 name: "SARXQloadidx1",
14840 auxType: auxSymOff,
14841 argLen: 4,
14842 faultOnNilArg0: true,
14843 symEffect: SymRead,
14844 asm: x86.ASARXQ,
14845 scale: 1,
14846 reg: regInfo{
14847 inputs: []inputInfo{
14848 {2, 49135},
14849 {1, 49151},
14850 {0, 4295032831},
14851 },
14852 outputs: []outputInfo{
14853 {0, 49135},
14854 },
14855 },
14856 },
14857 {
14858 name: "SARXQloadidx8",
14859 auxType: auxSymOff,
14860 argLen: 4,
14861 faultOnNilArg0: true,
14862 symEffect: SymRead,
14863 asm: x86.ASARXQ,
14864 scale: 8,
14865 reg: regInfo{
14866 inputs: []inputInfo{
14867 {2, 49135},
14868 {1, 49151},
14869 {0, 4295032831},
14870 },
14871 outputs: []outputInfo{
14872 {0, 49135},
14873 },
14874 },
14875 },
14876 {
14877 name: "SHLXLloadidx1",
14878 auxType: auxSymOff,
14879 argLen: 4,
14880 faultOnNilArg0: true,
14881 symEffect: SymRead,
14882 asm: x86.ASHLXL,
14883 scale: 1,
14884 reg: regInfo{
14885 inputs: []inputInfo{
14886 {2, 49135},
14887 {1, 49151},
14888 {0, 4295032831},
14889 },
14890 outputs: []outputInfo{
14891 {0, 49135},
14892 },
14893 },
14894 },
14895 {
14896 name: "SHLXLloadidx4",
14897 auxType: auxSymOff,
14898 argLen: 4,
14899 faultOnNilArg0: true,
14900 symEffect: SymRead,
14901 asm: x86.ASHLXL,
14902 scale: 4,
14903 reg: regInfo{
14904 inputs: []inputInfo{
14905 {2, 49135},
14906 {1, 49151},
14907 {0, 4295032831},
14908 },
14909 outputs: []outputInfo{
14910 {0, 49135},
14911 },
14912 },
14913 },
14914 {
14915 name: "SHLXLloadidx8",
14916 auxType: auxSymOff,
14917 argLen: 4,
14918 faultOnNilArg0: true,
14919 symEffect: SymRead,
14920 asm: x86.ASHLXL,
14921 scale: 8,
14922 reg: regInfo{
14923 inputs: []inputInfo{
14924 {2, 49135},
14925 {1, 49151},
14926 {0, 4295032831},
14927 },
14928 outputs: []outputInfo{
14929 {0, 49135},
14930 },
14931 },
14932 },
14933 {
14934 name: "SHLXQloadidx1",
14935 auxType: auxSymOff,
14936 argLen: 4,
14937 faultOnNilArg0: true,
14938 symEffect: SymRead,
14939 asm: x86.ASHLXQ,
14940 scale: 1,
14941 reg: regInfo{
14942 inputs: []inputInfo{
14943 {2, 49135},
14944 {1, 49151},
14945 {0, 4295032831},
14946 },
14947 outputs: []outputInfo{
14948 {0, 49135},
14949 },
14950 },
14951 },
14952 {
14953 name: "SHLXQloadidx8",
14954 auxType: auxSymOff,
14955 argLen: 4,
14956 faultOnNilArg0: true,
14957 symEffect: SymRead,
14958 asm: x86.ASHLXQ,
14959 scale: 8,
14960 reg: regInfo{
14961 inputs: []inputInfo{
14962 {2, 49135},
14963 {1, 49151},
14964 {0, 4295032831},
14965 },
14966 outputs: []outputInfo{
14967 {0, 49135},
14968 },
14969 },
14970 },
14971 {
14972 name: "SHRXLloadidx1",
14973 auxType: auxSymOff,
14974 argLen: 4,
14975 faultOnNilArg0: true,
14976 symEffect: SymRead,
14977 asm: x86.ASHRXL,
14978 scale: 1,
14979 reg: regInfo{
14980 inputs: []inputInfo{
14981 {2, 49135},
14982 {1, 49151},
14983 {0, 4295032831},
14984 },
14985 outputs: []outputInfo{
14986 {0, 49135},
14987 },
14988 },
14989 },
14990 {
14991 name: "SHRXLloadidx4",
14992 auxType: auxSymOff,
14993 argLen: 4,
14994 faultOnNilArg0: true,
14995 symEffect: SymRead,
14996 asm: x86.ASHRXL,
14997 scale: 4,
14998 reg: regInfo{
14999 inputs: []inputInfo{
15000 {2, 49135},
15001 {1, 49151},
15002 {0, 4295032831},
15003 },
15004 outputs: []outputInfo{
15005 {0, 49135},
15006 },
15007 },
15008 },
15009 {
15010 name: "SHRXLloadidx8",
15011 auxType: auxSymOff,
15012 argLen: 4,
15013 faultOnNilArg0: true,
15014 symEffect: SymRead,
15015 asm: x86.ASHRXL,
15016 scale: 8,
15017 reg: regInfo{
15018 inputs: []inputInfo{
15019 {2, 49135},
15020 {1, 49151},
15021 {0, 4295032831},
15022 },
15023 outputs: []outputInfo{
15024 {0, 49135},
15025 },
15026 },
15027 },
15028 {
15029 name: "SHRXQloadidx1",
15030 auxType: auxSymOff,
15031 argLen: 4,
15032 faultOnNilArg0: true,
15033 symEffect: SymRead,
15034 asm: x86.ASHRXQ,
15035 scale: 1,
15036 reg: regInfo{
15037 inputs: []inputInfo{
15038 {2, 49135},
15039 {1, 49151},
15040 {0, 4295032831},
15041 },
15042 outputs: []outputInfo{
15043 {0, 49135},
15044 },
15045 },
15046 },
15047 {
15048 name: "SHRXQloadidx8",
15049 auxType: auxSymOff,
15050 argLen: 4,
15051 faultOnNilArg0: true,
15052 symEffect: SymRead,
15053 asm: x86.ASHRXQ,
15054 scale: 8,
15055 reg: regInfo{
15056 inputs: []inputInfo{
15057 {2, 49135},
15058 {1, 49151},
15059 {0, 4295032831},
15060 },
15061 outputs: []outputInfo{
15062 {0, 49135},
15063 },
15064 },
15065 },
15066
15067 {
15068 name: "ADD",
15069 argLen: 2,
15070 commutative: true,
15071 asm: arm.AADD,
15072 reg: regInfo{
15073 inputs: []inputInfo{
15074 {0, 22527},
15075 {1, 22527},
15076 },
15077 outputs: []outputInfo{
15078 {0, 21503},
15079 },
15080 },
15081 },
15082 {
15083 name: "ADDconst",
15084 auxType: auxInt32,
15085 argLen: 1,
15086 asm: arm.AADD,
15087 reg: regInfo{
15088 inputs: []inputInfo{
15089 {0, 30719},
15090 },
15091 outputs: []outputInfo{
15092 {0, 21503},
15093 },
15094 },
15095 },
15096 {
15097 name: "SUB",
15098 argLen: 2,
15099 asm: arm.ASUB,
15100 reg: regInfo{
15101 inputs: []inputInfo{
15102 {0, 22527},
15103 {1, 22527},
15104 },
15105 outputs: []outputInfo{
15106 {0, 21503},
15107 },
15108 },
15109 },
15110 {
15111 name: "SUBconst",
15112 auxType: auxInt32,
15113 argLen: 1,
15114 asm: arm.ASUB,
15115 reg: regInfo{
15116 inputs: []inputInfo{
15117 {0, 22527},
15118 },
15119 outputs: []outputInfo{
15120 {0, 21503},
15121 },
15122 },
15123 },
15124 {
15125 name: "RSB",
15126 argLen: 2,
15127 asm: arm.ARSB,
15128 reg: regInfo{
15129 inputs: []inputInfo{
15130 {0, 22527},
15131 {1, 22527},
15132 },
15133 outputs: []outputInfo{
15134 {0, 21503},
15135 },
15136 },
15137 },
15138 {
15139 name: "RSBconst",
15140 auxType: auxInt32,
15141 argLen: 1,
15142 asm: arm.ARSB,
15143 reg: regInfo{
15144 inputs: []inputInfo{
15145 {0, 22527},
15146 },
15147 outputs: []outputInfo{
15148 {0, 21503},
15149 },
15150 },
15151 },
15152 {
15153 name: "MUL",
15154 argLen: 2,
15155 commutative: true,
15156 asm: arm.AMUL,
15157 reg: regInfo{
15158 inputs: []inputInfo{
15159 {0, 22527},
15160 {1, 22527},
15161 },
15162 outputs: []outputInfo{
15163 {0, 21503},
15164 },
15165 },
15166 },
15167 {
15168 name: "HMUL",
15169 argLen: 2,
15170 commutative: true,
15171 asm: arm.AMULL,
15172 reg: regInfo{
15173 inputs: []inputInfo{
15174 {0, 22527},
15175 {1, 22527},
15176 },
15177 outputs: []outputInfo{
15178 {0, 21503},
15179 },
15180 },
15181 },
15182 {
15183 name: "HMULU",
15184 argLen: 2,
15185 commutative: true,
15186 asm: arm.AMULLU,
15187 reg: regInfo{
15188 inputs: []inputInfo{
15189 {0, 22527},
15190 {1, 22527},
15191 },
15192 outputs: []outputInfo{
15193 {0, 21503},
15194 },
15195 },
15196 },
15197 {
15198 name: "CALLudiv",
15199 argLen: 2,
15200 clobberFlags: true,
15201 reg: regInfo{
15202 inputs: []inputInfo{
15203 {0, 2},
15204 {1, 1},
15205 },
15206 clobbers: 20492,
15207 outputs: []outputInfo{
15208 {0, 1},
15209 {1, 2},
15210 },
15211 },
15212 },
15213 {
15214 name: "ADDS",
15215 argLen: 2,
15216 commutative: true,
15217 asm: arm.AADD,
15218 reg: regInfo{
15219 inputs: []inputInfo{
15220 {0, 22527},
15221 {1, 22527},
15222 },
15223 outputs: []outputInfo{
15224 {1, 0},
15225 {0, 21503},
15226 },
15227 },
15228 },
15229 {
15230 name: "ADDSconst",
15231 auxType: auxInt32,
15232 argLen: 1,
15233 asm: arm.AADD,
15234 reg: regInfo{
15235 inputs: []inputInfo{
15236 {0, 22527},
15237 },
15238 outputs: []outputInfo{
15239 {1, 0},
15240 {0, 21503},
15241 },
15242 },
15243 },
15244 {
15245 name: "ADC",
15246 argLen: 3,
15247 commutative: true,
15248 asm: arm.AADC,
15249 reg: regInfo{
15250 inputs: []inputInfo{
15251 {0, 21503},
15252 {1, 21503},
15253 },
15254 outputs: []outputInfo{
15255 {0, 21503},
15256 },
15257 },
15258 },
15259 {
15260 name: "ADCconst",
15261 auxType: auxInt32,
15262 argLen: 2,
15263 asm: arm.AADC,
15264 reg: regInfo{
15265 inputs: []inputInfo{
15266 {0, 21503},
15267 },
15268 outputs: []outputInfo{
15269 {0, 21503},
15270 },
15271 },
15272 },
15273 {
15274 name: "SUBS",
15275 argLen: 2,
15276 asm: arm.ASUB,
15277 reg: regInfo{
15278 inputs: []inputInfo{
15279 {0, 22527},
15280 {1, 22527},
15281 },
15282 outputs: []outputInfo{
15283 {1, 0},
15284 {0, 21503},
15285 },
15286 },
15287 },
15288 {
15289 name: "SUBSconst",
15290 auxType: auxInt32,
15291 argLen: 1,
15292 asm: arm.ASUB,
15293 reg: regInfo{
15294 inputs: []inputInfo{
15295 {0, 22527},
15296 },
15297 outputs: []outputInfo{
15298 {1, 0},
15299 {0, 21503},
15300 },
15301 },
15302 },
15303 {
15304 name: "RSBSconst",
15305 auxType: auxInt32,
15306 argLen: 1,
15307 asm: arm.ARSB,
15308 reg: regInfo{
15309 inputs: []inputInfo{
15310 {0, 22527},
15311 },
15312 outputs: []outputInfo{
15313 {1, 0},
15314 {0, 21503},
15315 },
15316 },
15317 },
15318 {
15319 name: "SBC",
15320 argLen: 3,
15321 asm: arm.ASBC,
15322 reg: regInfo{
15323 inputs: []inputInfo{
15324 {0, 21503},
15325 {1, 21503},
15326 },
15327 outputs: []outputInfo{
15328 {0, 21503},
15329 },
15330 },
15331 },
15332 {
15333 name: "SBCconst",
15334 auxType: auxInt32,
15335 argLen: 2,
15336 asm: arm.ASBC,
15337 reg: regInfo{
15338 inputs: []inputInfo{
15339 {0, 21503},
15340 },
15341 outputs: []outputInfo{
15342 {0, 21503},
15343 },
15344 },
15345 },
15346 {
15347 name: "RSCconst",
15348 auxType: auxInt32,
15349 argLen: 2,
15350 asm: arm.ARSC,
15351 reg: regInfo{
15352 inputs: []inputInfo{
15353 {0, 21503},
15354 },
15355 outputs: []outputInfo{
15356 {0, 21503},
15357 },
15358 },
15359 },
15360 {
15361 name: "MULLU",
15362 argLen: 2,
15363 commutative: true,
15364 asm: arm.AMULLU,
15365 reg: regInfo{
15366 inputs: []inputInfo{
15367 {0, 22527},
15368 {1, 22527},
15369 },
15370 outputs: []outputInfo{
15371 {0, 21503},
15372 {1, 21503},
15373 },
15374 },
15375 },
15376 {
15377 name: "MULA",
15378 argLen: 3,
15379 asm: arm.AMULA,
15380 reg: regInfo{
15381 inputs: []inputInfo{
15382 {0, 21503},
15383 {1, 21503},
15384 {2, 21503},
15385 },
15386 outputs: []outputInfo{
15387 {0, 21503},
15388 },
15389 },
15390 },
15391 {
15392 name: "MULS",
15393 argLen: 3,
15394 asm: arm.AMULS,
15395 reg: regInfo{
15396 inputs: []inputInfo{
15397 {0, 21503},
15398 {1, 21503},
15399 {2, 21503},
15400 },
15401 outputs: []outputInfo{
15402 {0, 21503},
15403 },
15404 },
15405 },
15406 {
15407 name: "ADDF",
15408 argLen: 2,
15409 commutative: true,
15410 asm: arm.AADDF,
15411 reg: regInfo{
15412 inputs: []inputInfo{
15413 {0, 4294901760},
15414 {1, 4294901760},
15415 },
15416 outputs: []outputInfo{
15417 {0, 4294901760},
15418 },
15419 },
15420 },
15421 {
15422 name: "ADDD",
15423 argLen: 2,
15424 commutative: true,
15425 asm: arm.AADDD,
15426 reg: regInfo{
15427 inputs: []inputInfo{
15428 {0, 4294901760},
15429 {1, 4294901760},
15430 },
15431 outputs: []outputInfo{
15432 {0, 4294901760},
15433 },
15434 },
15435 },
15436 {
15437 name: "SUBF",
15438 argLen: 2,
15439 asm: arm.ASUBF,
15440 reg: regInfo{
15441 inputs: []inputInfo{
15442 {0, 4294901760},
15443 {1, 4294901760},
15444 },
15445 outputs: []outputInfo{
15446 {0, 4294901760},
15447 },
15448 },
15449 },
15450 {
15451 name: "SUBD",
15452 argLen: 2,
15453 asm: arm.ASUBD,
15454 reg: regInfo{
15455 inputs: []inputInfo{
15456 {0, 4294901760},
15457 {1, 4294901760},
15458 },
15459 outputs: []outputInfo{
15460 {0, 4294901760},
15461 },
15462 },
15463 },
15464 {
15465 name: "MULF",
15466 argLen: 2,
15467 commutative: true,
15468 asm: arm.AMULF,
15469 reg: regInfo{
15470 inputs: []inputInfo{
15471 {0, 4294901760},
15472 {1, 4294901760},
15473 },
15474 outputs: []outputInfo{
15475 {0, 4294901760},
15476 },
15477 },
15478 },
15479 {
15480 name: "MULD",
15481 argLen: 2,
15482 commutative: true,
15483 asm: arm.AMULD,
15484 reg: regInfo{
15485 inputs: []inputInfo{
15486 {0, 4294901760},
15487 {1, 4294901760},
15488 },
15489 outputs: []outputInfo{
15490 {0, 4294901760},
15491 },
15492 },
15493 },
15494 {
15495 name: "NMULF",
15496 argLen: 2,
15497 commutative: true,
15498 asm: arm.ANMULF,
15499 reg: regInfo{
15500 inputs: []inputInfo{
15501 {0, 4294901760},
15502 {1, 4294901760},
15503 },
15504 outputs: []outputInfo{
15505 {0, 4294901760},
15506 },
15507 },
15508 },
15509 {
15510 name: "NMULD",
15511 argLen: 2,
15512 commutative: true,
15513 asm: arm.ANMULD,
15514 reg: regInfo{
15515 inputs: []inputInfo{
15516 {0, 4294901760},
15517 {1, 4294901760},
15518 },
15519 outputs: []outputInfo{
15520 {0, 4294901760},
15521 },
15522 },
15523 },
15524 {
15525 name: "DIVF",
15526 argLen: 2,
15527 asm: arm.ADIVF,
15528 reg: regInfo{
15529 inputs: []inputInfo{
15530 {0, 4294901760},
15531 {1, 4294901760},
15532 },
15533 outputs: []outputInfo{
15534 {0, 4294901760},
15535 },
15536 },
15537 },
15538 {
15539 name: "DIVD",
15540 argLen: 2,
15541 asm: arm.ADIVD,
15542 reg: regInfo{
15543 inputs: []inputInfo{
15544 {0, 4294901760},
15545 {1, 4294901760},
15546 },
15547 outputs: []outputInfo{
15548 {0, 4294901760},
15549 },
15550 },
15551 },
15552 {
15553 name: "MULAF",
15554 argLen: 3,
15555 resultInArg0: true,
15556 asm: arm.AMULAF,
15557 reg: regInfo{
15558 inputs: []inputInfo{
15559 {0, 4294901760},
15560 {1, 4294901760},
15561 {2, 4294901760},
15562 },
15563 outputs: []outputInfo{
15564 {0, 4294901760},
15565 },
15566 },
15567 },
15568 {
15569 name: "MULAD",
15570 argLen: 3,
15571 resultInArg0: true,
15572 asm: arm.AMULAD,
15573 reg: regInfo{
15574 inputs: []inputInfo{
15575 {0, 4294901760},
15576 {1, 4294901760},
15577 {2, 4294901760},
15578 },
15579 outputs: []outputInfo{
15580 {0, 4294901760},
15581 },
15582 },
15583 },
15584 {
15585 name: "MULSF",
15586 argLen: 3,
15587 resultInArg0: true,
15588 asm: arm.AMULSF,
15589 reg: regInfo{
15590 inputs: []inputInfo{
15591 {0, 4294901760},
15592 {1, 4294901760},
15593 {2, 4294901760},
15594 },
15595 outputs: []outputInfo{
15596 {0, 4294901760},
15597 },
15598 },
15599 },
15600 {
15601 name: "MULSD",
15602 argLen: 3,
15603 resultInArg0: true,
15604 asm: arm.AMULSD,
15605 reg: regInfo{
15606 inputs: []inputInfo{
15607 {0, 4294901760},
15608 {1, 4294901760},
15609 {2, 4294901760},
15610 },
15611 outputs: []outputInfo{
15612 {0, 4294901760},
15613 },
15614 },
15615 },
15616 {
15617 name: "FMULAD",
15618 argLen: 3,
15619 resultInArg0: true,
15620 asm: arm.AFMULAD,
15621 reg: regInfo{
15622 inputs: []inputInfo{
15623 {0, 4294901760},
15624 {1, 4294901760},
15625 {2, 4294901760},
15626 },
15627 outputs: []outputInfo{
15628 {0, 4294901760},
15629 },
15630 },
15631 },
15632 {
15633 name: "AND",
15634 argLen: 2,
15635 commutative: true,
15636 asm: arm.AAND,
15637 reg: regInfo{
15638 inputs: []inputInfo{
15639 {0, 22527},
15640 {1, 22527},
15641 },
15642 outputs: []outputInfo{
15643 {0, 21503},
15644 },
15645 },
15646 },
15647 {
15648 name: "ANDconst",
15649 auxType: auxInt32,
15650 argLen: 1,
15651 asm: arm.AAND,
15652 reg: regInfo{
15653 inputs: []inputInfo{
15654 {0, 22527},
15655 },
15656 outputs: []outputInfo{
15657 {0, 21503},
15658 },
15659 },
15660 },
15661 {
15662 name: "OR",
15663 argLen: 2,
15664 commutative: true,
15665 asm: arm.AORR,
15666 reg: regInfo{
15667 inputs: []inputInfo{
15668 {0, 22527},
15669 {1, 22527},
15670 },
15671 outputs: []outputInfo{
15672 {0, 21503},
15673 },
15674 },
15675 },
15676 {
15677 name: "ORconst",
15678 auxType: auxInt32,
15679 argLen: 1,
15680 asm: arm.AORR,
15681 reg: regInfo{
15682 inputs: []inputInfo{
15683 {0, 22527},
15684 },
15685 outputs: []outputInfo{
15686 {0, 21503},
15687 },
15688 },
15689 },
15690 {
15691 name: "XOR",
15692 argLen: 2,
15693 commutative: true,
15694 asm: arm.AEOR,
15695 reg: regInfo{
15696 inputs: []inputInfo{
15697 {0, 22527},
15698 {1, 22527},
15699 },
15700 outputs: []outputInfo{
15701 {0, 21503},
15702 },
15703 },
15704 },
15705 {
15706 name: "XORconst",
15707 auxType: auxInt32,
15708 argLen: 1,
15709 asm: arm.AEOR,
15710 reg: regInfo{
15711 inputs: []inputInfo{
15712 {0, 22527},
15713 },
15714 outputs: []outputInfo{
15715 {0, 21503},
15716 },
15717 },
15718 },
15719 {
15720 name: "BIC",
15721 argLen: 2,
15722 asm: arm.ABIC,
15723 reg: regInfo{
15724 inputs: []inputInfo{
15725 {0, 22527},
15726 {1, 22527},
15727 },
15728 outputs: []outputInfo{
15729 {0, 21503},
15730 },
15731 },
15732 },
15733 {
15734 name: "BICconst",
15735 auxType: auxInt32,
15736 argLen: 1,
15737 asm: arm.ABIC,
15738 reg: regInfo{
15739 inputs: []inputInfo{
15740 {0, 22527},
15741 },
15742 outputs: []outputInfo{
15743 {0, 21503},
15744 },
15745 },
15746 },
15747 {
15748 name: "BFX",
15749 auxType: auxInt32,
15750 argLen: 1,
15751 asm: arm.ABFX,
15752 reg: regInfo{
15753 inputs: []inputInfo{
15754 {0, 22527},
15755 },
15756 outputs: []outputInfo{
15757 {0, 21503},
15758 },
15759 },
15760 },
15761 {
15762 name: "BFXU",
15763 auxType: auxInt32,
15764 argLen: 1,
15765 asm: arm.ABFXU,
15766 reg: regInfo{
15767 inputs: []inputInfo{
15768 {0, 22527},
15769 },
15770 outputs: []outputInfo{
15771 {0, 21503},
15772 },
15773 },
15774 },
15775 {
15776 name: "MVN",
15777 argLen: 1,
15778 asm: arm.AMVN,
15779 reg: regInfo{
15780 inputs: []inputInfo{
15781 {0, 22527},
15782 },
15783 outputs: []outputInfo{
15784 {0, 21503},
15785 },
15786 },
15787 },
15788 {
15789 name: "NEGF",
15790 argLen: 1,
15791 asm: arm.ANEGF,
15792 reg: regInfo{
15793 inputs: []inputInfo{
15794 {0, 4294901760},
15795 },
15796 outputs: []outputInfo{
15797 {0, 4294901760},
15798 },
15799 },
15800 },
15801 {
15802 name: "NEGD",
15803 argLen: 1,
15804 asm: arm.ANEGD,
15805 reg: regInfo{
15806 inputs: []inputInfo{
15807 {0, 4294901760},
15808 },
15809 outputs: []outputInfo{
15810 {0, 4294901760},
15811 },
15812 },
15813 },
15814 {
15815 name: "SQRTD",
15816 argLen: 1,
15817 asm: arm.ASQRTD,
15818 reg: regInfo{
15819 inputs: []inputInfo{
15820 {0, 4294901760},
15821 },
15822 outputs: []outputInfo{
15823 {0, 4294901760},
15824 },
15825 },
15826 },
15827 {
15828 name: "SQRTF",
15829 argLen: 1,
15830 asm: arm.ASQRTF,
15831 reg: regInfo{
15832 inputs: []inputInfo{
15833 {0, 4294901760},
15834 },
15835 outputs: []outputInfo{
15836 {0, 4294901760},
15837 },
15838 },
15839 },
15840 {
15841 name: "ABSD",
15842 argLen: 1,
15843 asm: arm.AABSD,
15844 reg: regInfo{
15845 inputs: []inputInfo{
15846 {0, 4294901760},
15847 },
15848 outputs: []outputInfo{
15849 {0, 4294901760},
15850 },
15851 },
15852 },
15853 {
15854 name: "CLZ",
15855 argLen: 1,
15856 asm: arm.ACLZ,
15857 reg: regInfo{
15858 inputs: []inputInfo{
15859 {0, 22527},
15860 },
15861 outputs: []outputInfo{
15862 {0, 21503},
15863 },
15864 },
15865 },
15866 {
15867 name: "REV",
15868 argLen: 1,
15869 asm: arm.AREV,
15870 reg: regInfo{
15871 inputs: []inputInfo{
15872 {0, 22527},
15873 },
15874 outputs: []outputInfo{
15875 {0, 21503},
15876 },
15877 },
15878 },
15879 {
15880 name: "REV16",
15881 argLen: 1,
15882 asm: arm.AREV16,
15883 reg: regInfo{
15884 inputs: []inputInfo{
15885 {0, 22527},
15886 },
15887 outputs: []outputInfo{
15888 {0, 21503},
15889 },
15890 },
15891 },
15892 {
15893 name: "RBIT",
15894 argLen: 1,
15895 asm: arm.ARBIT,
15896 reg: regInfo{
15897 inputs: []inputInfo{
15898 {0, 22527},
15899 },
15900 outputs: []outputInfo{
15901 {0, 21503},
15902 },
15903 },
15904 },
15905 {
15906 name: "SLL",
15907 argLen: 2,
15908 asm: arm.ASLL,
15909 reg: regInfo{
15910 inputs: []inputInfo{
15911 {0, 22527},
15912 {1, 22527},
15913 },
15914 outputs: []outputInfo{
15915 {0, 21503},
15916 },
15917 },
15918 },
15919 {
15920 name: "SLLconst",
15921 auxType: auxInt32,
15922 argLen: 1,
15923 asm: arm.ASLL,
15924 reg: regInfo{
15925 inputs: []inputInfo{
15926 {0, 22527},
15927 },
15928 outputs: []outputInfo{
15929 {0, 21503},
15930 },
15931 },
15932 },
15933 {
15934 name: "SRL",
15935 argLen: 2,
15936 asm: arm.ASRL,
15937 reg: regInfo{
15938 inputs: []inputInfo{
15939 {0, 22527},
15940 {1, 22527},
15941 },
15942 outputs: []outputInfo{
15943 {0, 21503},
15944 },
15945 },
15946 },
15947 {
15948 name: "SRLconst",
15949 auxType: auxInt32,
15950 argLen: 1,
15951 asm: arm.ASRL,
15952 reg: regInfo{
15953 inputs: []inputInfo{
15954 {0, 22527},
15955 },
15956 outputs: []outputInfo{
15957 {0, 21503},
15958 },
15959 },
15960 },
15961 {
15962 name: "SRA",
15963 argLen: 2,
15964 asm: arm.ASRA,
15965 reg: regInfo{
15966 inputs: []inputInfo{
15967 {0, 22527},
15968 {1, 22527},
15969 },
15970 outputs: []outputInfo{
15971 {0, 21503},
15972 },
15973 },
15974 },
15975 {
15976 name: "SRAconst",
15977 auxType: auxInt32,
15978 argLen: 1,
15979 asm: arm.ASRA,
15980 reg: regInfo{
15981 inputs: []inputInfo{
15982 {0, 22527},
15983 },
15984 outputs: []outputInfo{
15985 {0, 21503},
15986 },
15987 },
15988 },
15989 {
15990 name: "SRR",
15991 argLen: 2,
15992 reg: regInfo{
15993 inputs: []inputInfo{
15994 {0, 22527},
15995 {1, 22527},
15996 },
15997 outputs: []outputInfo{
15998 {0, 21503},
15999 },
16000 },
16001 },
16002 {
16003 name: "SRRconst",
16004 auxType: auxInt32,
16005 argLen: 1,
16006 reg: regInfo{
16007 inputs: []inputInfo{
16008 {0, 22527},
16009 },
16010 outputs: []outputInfo{
16011 {0, 21503},
16012 },
16013 },
16014 },
16015 {
16016 name: "ADDshiftLL",
16017 auxType: auxInt32,
16018 argLen: 2,
16019 asm: arm.AADD,
16020 reg: regInfo{
16021 inputs: []inputInfo{
16022 {0, 22527},
16023 {1, 22527},
16024 },
16025 outputs: []outputInfo{
16026 {0, 21503},
16027 },
16028 },
16029 },
16030 {
16031 name: "ADDshiftRL",
16032 auxType: auxInt32,
16033 argLen: 2,
16034 asm: arm.AADD,
16035 reg: regInfo{
16036 inputs: []inputInfo{
16037 {0, 22527},
16038 {1, 22527},
16039 },
16040 outputs: []outputInfo{
16041 {0, 21503},
16042 },
16043 },
16044 },
16045 {
16046 name: "ADDshiftRA",
16047 auxType: auxInt32,
16048 argLen: 2,
16049 asm: arm.AADD,
16050 reg: regInfo{
16051 inputs: []inputInfo{
16052 {0, 22527},
16053 {1, 22527},
16054 },
16055 outputs: []outputInfo{
16056 {0, 21503},
16057 },
16058 },
16059 },
16060 {
16061 name: "SUBshiftLL",
16062 auxType: auxInt32,
16063 argLen: 2,
16064 asm: arm.ASUB,
16065 reg: regInfo{
16066 inputs: []inputInfo{
16067 {0, 22527},
16068 {1, 22527},
16069 },
16070 outputs: []outputInfo{
16071 {0, 21503},
16072 },
16073 },
16074 },
16075 {
16076 name: "SUBshiftRL",
16077 auxType: auxInt32,
16078 argLen: 2,
16079 asm: arm.ASUB,
16080 reg: regInfo{
16081 inputs: []inputInfo{
16082 {0, 22527},
16083 {1, 22527},
16084 },
16085 outputs: []outputInfo{
16086 {0, 21503},
16087 },
16088 },
16089 },
16090 {
16091 name: "SUBshiftRA",
16092 auxType: auxInt32,
16093 argLen: 2,
16094 asm: arm.ASUB,
16095 reg: regInfo{
16096 inputs: []inputInfo{
16097 {0, 22527},
16098 {1, 22527},
16099 },
16100 outputs: []outputInfo{
16101 {0, 21503},
16102 },
16103 },
16104 },
16105 {
16106 name: "RSBshiftLL",
16107 auxType: auxInt32,
16108 argLen: 2,
16109 asm: arm.ARSB,
16110 reg: regInfo{
16111 inputs: []inputInfo{
16112 {0, 22527},
16113 {1, 22527},
16114 },
16115 outputs: []outputInfo{
16116 {0, 21503},
16117 },
16118 },
16119 },
16120 {
16121 name: "RSBshiftRL",
16122 auxType: auxInt32,
16123 argLen: 2,
16124 asm: arm.ARSB,
16125 reg: regInfo{
16126 inputs: []inputInfo{
16127 {0, 22527},
16128 {1, 22527},
16129 },
16130 outputs: []outputInfo{
16131 {0, 21503},
16132 },
16133 },
16134 },
16135 {
16136 name: "RSBshiftRA",
16137 auxType: auxInt32,
16138 argLen: 2,
16139 asm: arm.ARSB,
16140 reg: regInfo{
16141 inputs: []inputInfo{
16142 {0, 22527},
16143 {1, 22527},
16144 },
16145 outputs: []outputInfo{
16146 {0, 21503},
16147 },
16148 },
16149 },
16150 {
16151 name: "ANDshiftLL",
16152 auxType: auxInt32,
16153 argLen: 2,
16154 asm: arm.AAND,
16155 reg: regInfo{
16156 inputs: []inputInfo{
16157 {0, 22527},
16158 {1, 22527},
16159 },
16160 outputs: []outputInfo{
16161 {0, 21503},
16162 },
16163 },
16164 },
16165 {
16166 name: "ANDshiftRL",
16167 auxType: auxInt32,
16168 argLen: 2,
16169 asm: arm.AAND,
16170 reg: regInfo{
16171 inputs: []inputInfo{
16172 {0, 22527},
16173 {1, 22527},
16174 },
16175 outputs: []outputInfo{
16176 {0, 21503},
16177 },
16178 },
16179 },
16180 {
16181 name: "ANDshiftRA",
16182 auxType: auxInt32,
16183 argLen: 2,
16184 asm: arm.AAND,
16185 reg: regInfo{
16186 inputs: []inputInfo{
16187 {0, 22527},
16188 {1, 22527},
16189 },
16190 outputs: []outputInfo{
16191 {0, 21503},
16192 },
16193 },
16194 },
16195 {
16196 name: "ORshiftLL",
16197 auxType: auxInt32,
16198 argLen: 2,
16199 asm: arm.AORR,
16200 reg: regInfo{
16201 inputs: []inputInfo{
16202 {0, 22527},
16203 {1, 22527},
16204 },
16205 outputs: []outputInfo{
16206 {0, 21503},
16207 },
16208 },
16209 },
16210 {
16211 name: "ORshiftRL",
16212 auxType: auxInt32,
16213 argLen: 2,
16214 asm: arm.AORR,
16215 reg: regInfo{
16216 inputs: []inputInfo{
16217 {0, 22527},
16218 {1, 22527},
16219 },
16220 outputs: []outputInfo{
16221 {0, 21503},
16222 },
16223 },
16224 },
16225 {
16226 name: "ORshiftRA",
16227 auxType: auxInt32,
16228 argLen: 2,
16229 asm: arm.AORR,
16230 reg: regInfo{
16231 inputs: []inputInfo{
16232 {0, 22527},
16233 {1, 22527},
16234 },
16235 outputs: []outputInfo{
16236 {0, 21503},
16237 },
16238 },
16239 },
16240 {
16241 name: "XORshiftLL",
16242 auxType: auxInt32,
16243 argLen: 2,
16244 asm: arm.AEOR,
16245 reg: regInfo{
16246 inputs: []inputInfo{
16247 {0, 22527},
16248 {1, 22527},
16249 },
16250 outputs: []outputInfo{
16251 {0, 21503},
16252 },
16253 },
16254 },
16255 {
16256 name: "XORshiftRL",
16257 auxType: auxInt32,
16258 argLen: 2,
16259 asm: arm.AEOR,
16260 reg: regInfo{
16261 inputs: []inputInfo{
16262 {0, 22527},
16263 {1, 22527},
16264 },
16265 outputs: []outputInfo{
16266 {0, 21503},
16267 },
16268 },
16269 },
16270 {
16271 name: "XORshiftRA",
16272 auxType: auxInt32,
16273 argLen: 2,
16274 asm: arm.AEOR,
16275 reg: regInfo{
16276 inputs: []inputInfo{
16277 {0, 22527},
16278 {1, 22527},
16279 },
16280 outputs: []outputInfo{
16281 {0, 21503},
16282 },
16283 },
16284 },
16285 {
16286 name: "XORshiftRR",
16287 auxType: auxInt32,
16288 argLen: 2,
16289 asm: arm.AEOR,
16290 reg: regInfo{
16291 inputs: []inputInfo{
16292 {0, 22527},
16293 {1, 22527},
16294 },
16295 outputs: []outputInfo{
16296 {0, 21503},
16297 },
16298 },
16299 },
16300 {
16301 name: "BICshiftLL",
16302 auxType: auxInt32,
16303 argLen: 2,
16304 asm: arm.ABIC,
16305 reg: regInfo{
16306 inputs: []inputInfo{
16307 {0, 22527},
16308 {1, 22527},
16309 },
16310 outputs: []outputInfo{
16311 {0, 21503},
16312 },
16313 },
16314 },
16315 {
16316 name: "BICshiftRL",
16317 auxType: auxInt32,
16318 argLen: 2,
16319 asm: arm.ABIC,
16320 reg: regInfo{
16321 inputs: []inputInfo{
16322 {0, 22527},
16323 {1, 22527},
16324 },
16325 outputs: []outputInfo{
16326 {0, 21503},
16327 },
16328 },
16329 },
16330 {
16331 name: "BICshiftRA",
16332 auxType: auxInt32,
16333 argLen: 2,
16334 asm: arm.ABIC,
16335 reg: regInfo{
16336 inputs: []inputInfo{
16337 {0, 22527},
16338 {1, 22527},
16339 },
16340 outputs: []outputInfo{
16341 {0, 21503},
16342 },
16343 },
16344 },
16345 {
16346 name: "MVNshiftLL",
16347 auxType: auxInt32,
16348 argLen: 1,
16349 asm: arm.AMVN,
16350 reg: regInfo{
16351 inputs: []inputInfo{
16352 {0, 22527},
16353 },
16354 outputs: []outputInfo{
16355 {0, 21503},
16356 },
16357 },
16358 },
16359 {
16360 name: "MVNshiftRL",
16361 auxType: auxInt32,
16362 argLen: 1,
16363 asm: arm.AMVN,
16364 reg: regInfo{
16365 inputs: []inputInfo{
16366 {0, 22527},
16367 },
16368 outputs: []outputInfo{
16369 {0, 21503},
16370 },
16371 },
16372 },
16373 {
16374 name: "MVNshiftRA",
16375 auxType: auxInt32,
16376 argLen: 1,
16377 asm: arm.AMVN,
16378 reg: regInfo{
16379 inputs: []inputInfo{
16380 {0, 22527},
16381 },
16382 outputs: []outputInfo{
16383 {0, 21503},
16384 },
16385 },
16386 },
16387 {
16388 name: "ADCshiftLL",
16389 auxType: auxInt32,
16390 argLen: 3,
16391 asm: arm.AADC,
16392 reg: regInfo{
16393 inputs: []inputInfo{
16394 {0, 21503},
16395 {1, 21503},
16396 },
16397 outputs: []outputInfo{
16398 {0, 21503},
16399 },
16400 },
16401 },
16402 {
16403 name: "ADCshiftRL",
16404 auxType: auxInt32,
16405 argLen: 3,
16406 asm: arm.AADC,
16407 reg: regInfo{
16408 inputs: []inputInfo{
16409 {0, 21503},
16410 {1, 21503},
16411 },
16412 outputs: []outputInfo{
16413 {0, 21503},
16414 },
16415 },
16416 },
16417 {
16418 name: "ADCshiftRA",
16419 auxType: auxInt32,
16420 argLen: 3,
16421 asm: arm.AADC,
16422 reg: regInfo{
16423 inputs: []inputInfo{
16424 {0, 21503},
16425 {1, 21503},
16426 },
16427 outputs: []outputInfo{
16428 {0, 21503},
16429 },
16430 },
16431 },
16432 {
16433 name: "SBCshiftLL",
16434 auxType: auxInt32,
16435 argLen: 3,
16436 asm: arm.ASBC,
16437 reg: regInfo{
16438 inputs: []inputInfo{
16439 {0, 21503},
16440 {1, 21503},
16441 },
16442 outputs: []outputInfo{
16443 {0, 21503},
16444 },
16445 },
16446 },
16447 {
16448 name: "SBCshiftRL",
16449 auxType: auxInt32,
16450 argLen: 3,
16451 asm: arm.ASBC,
16452 reg: regInfo{
16453 inputs: []inputInfo{
16454 {0, 21503},
16455 {1, 21503},
16456 },
16457 outputs: []outputInfo{
16458 {0, 21503},
16459 },
16460 },
16461 },
16462 {
16463 name: "SBCshiftRA",
16464 auxType: auxInt32,
16465 argLen: 3,
16466 asm: arm.ASBC,
16467 reg: regInfo{
16468 inputs: []inputInfo{
16469 {0, 21503},
16470 {1, 21503},
16471 },
16472 outputs: []outputInfo{
16473 {0, 21503},
16474 },
16475 },
16476 },
16477 {
16478 name: "RSCshiftLL",
16479 auxType: auxInt32,
16480 argLen: 3,
16481 asm: arm.ARSC,
16482 reg: regInfo{
16483 inputs: []inputInfo{
16484 {0, 21503},
16485 {1, 21503},
16486 },
16487 outputs: []outputInfo{
16488 {0, 21503},
16489 },
16490 },
16491 },
16492 {
16493 name: "RSCshiftRL",
16494 auxType: auxInt32,
16495 argLen: 3,
16496 asm: arm.ARSC,
16497 reg: regInfo{
16498 inputs: []inputInfo{
16499 {0, 21503},
16500 {1, 21503},
16501 },
16502 outputs: []outputInfo{
16503 {0, 21503},
16504 },
16505 },
16506 },
16507 {
16508 name: "RSCshiftRA",
16509 auxType: auxInt32,
16510 argLen: 3,
16511 asm: arm.ARSC,
16512 reg: regInfo{
16513 inputs: []inputInfo{
16514 {0, 21503},
16515 {1, 21503},
16516 },
16517 outputs: []outputInfo{
16518 {0, 21503},
16519 },
16520 },
16521 },
16522 {
16523 name: "ADDSshiftLL",
16524 auxType: auxInt32,
16525 argLen: 2,
16526 asm: arm.AADD,
16527 reg: regInfo{
16528 inputs: []inputInfo{
16529 {0, 22527},
16530 {1, 22527},
16531 },
16532 outputs: []outputInfo{
16533 {1, 0},
16534 {0, 21503},
16535 },
16536 },
16537 },
16538 {
16539 name: "ADDSshiftRL",
16540 auxType: auxInt32,
16541 argLen: 2,
16542 asm: arm.AADD,
16543 reg: regInfo{
16544 inputs: []inputInfo{
16545 {0, 22527},
16546 {1, 22527},
16547 },
16548 outputs: []outputInfo{
16549 {1, 0},
16550 {0, 21503},
16551 },
16552 },
16553 },
16554 {
16555 name: "ADDSshiftRA",
16556 auxType: auxInt32,
16557 argLen: 2,
16558 asm: arm.AADD,
16559 reg: regInfo{
16560 inputs: []inputInfo{
16561 {0, 22527},
16562 {1, 22527},
16563 },
16564 outputs: []outputInfo{
16565 {1, 0},
16566 {0, 21503},
16567 },
16568 },
16569 },
16570 {
16571 name: "SUBSshiftLL",
16572 auxType: auxInt32,
16573 argLen: 2,
16574 asm: arm.ASUB,
16575 reg: regInfo{
16576 inputs: []inputInfo{
16577 {0, 22527},
16578 {1, 22527},
16579 },
16580 outputs: []outputInfo{
16581 {1, 0},
16582 {0, 21503},
16583 },
16584 },
16585 },
16586 {
16587 name: "SUBSshiftRL",
16588 auxType: auxInt32,
16589 argLen: 2,
16590 asm: arm.ASUB,
16591 reg: regInfo{
16592 inputs: []inputInfo{
16593 {0, 22527},
16594 {1, 22527},
16595 },
16596 outputs: []outputInfo{
16597 {1, 0},
16598 {0, 21503},
16599 },
16600 },
16601 },
16602 {
16603 name: "SUBSshiftRA",
16604 auxType: auxInt32,
16605 argLen: 2,
16606 asm: arm.ASUB,
16607 reg: regInfo{
16608 inputs: []inputInfo{
16609 {0, 22527},
16610 {1, 22527},
16611 },
16612 outputs: []outputInfo{
16613 {1, 0},
16614 {0, 21503},
16615 },
16616 },
16617 },
16618 {
16619 name: "RSBSshiftLL",
16620 auxType: auxInt32,
16621 argLen: 2,
16622 asm: arm.ARSB,
16623 reg: regInfo{
16624 inputs: []inputInfo{
16625 {0, 22527},
16626 {1, 22527},
16627 },
16628 outputs: []outputInfo{
16629 {1, 0},
16630 {0, 21503},
16631 },
16632 },
16633 },
16634 {
16635 name: "RSBSshiftRL",
16636 auxType: auxInt32,
16637 argLen: 2,
16638 asm: arm.ARSB,
16639 reg: regInfo{
16640 inputs: []inputInfo{
16641 {0, 22527},
16642 {1, 22527},
16643 },
16644 outputs: []outputInfo{
16645 {1, 0},
16646 {0, 21503},
16647 },
16648 },
16649 },
16650 {
16651 name: "RSBSshiftRA",
16652 auxType: auxInt32,
16653 argLen: 2,
16654 asm: arm.ARSB,
16655 reg: regInfo{
16656 inputs: []inputInfo{
16657 {0, 22527},
16658 {1, 22527},
16659 },
16660 outputs: []outputInfo{
16661 {1, 0},
16662 {0, 21503},
16663 },
16664 },
16665 },
16666 {
16667 name: "ADDshiftLLreg",
16668 argLen: 3,
16669 asm: arm.AADD,
16670 reg: regInfo{
16671 inputs: []inputInfo{
16672 {0, 21503},
16673 {1, 21503},
16674 {2, 21503},
16675 },
16676 outputs: []outputInfo{
16677 {0, 21503},
16678 },
16679 },
16680 },
16681 {
16682 name: "ADDshiftRLreg",
16683 argLen: 3,
16684 asm: arm.AADD,
16685 reg: regInfo{
16686 inputs: []inputInfo{
16687 {0, 21503},
16688 {1, 21503},
16689 {2, 21503},
16690 },
16691 outputs: []outputInfo{
16692 {0, 21503},
16693 },
16694 },
16695 },
16696 {
16697 name: "ADDshiftRAreg",
16698 argLen: 3,
16699 asm: arm.AADD,
16700 reg: regInfo{
16701 inputs: []inputInfo{
16702 {0, 21503},
16703 {1, 21503},
16704 {2, 21503},
16705 },
16706 outputs: []outputInfo{
16707 {0, 21503},
16708 },
16709 },
16710 },
16711 {
16712 name: "SUBshiftLLreg",
16713 argLen: 3,
16714 asm: arm.ASUB,
16715 reg: regInfo{
16716 inputs: []inputInfo{
16717 {0, 21503},
16718 {1, 21503},
16719 {2, 21503},
16720 },
16721 outputs: []outputInfo{
16722 {0, 21503},
16723 },
16724 },
16725 },
16726 {
16727 name: "SUBshiftRLreg",
16728 argLen: 3,
16729 asm: arm.ASUB,
16730 reg: regInfo{
16731 inputs: []inputInfo{
16732 {0, 21503},
16733 {1, 21503},
16734 {2, 21503},
16735 },
16736 outputs: []outputInfo{
16737 {0, 21503},
16738 },
16739 },
16740 },
16741 {
16742 name: "SUBshiftRAreg",
16743 argLen: 3,
16744 asm: arm.ASUB,
16745 reg: regInfo{
16746 inputs: []inputInfo{
16747 {0, 21503},
16748 {1, 21503},
16749 {2, 21503},
16750 },
16751 outputs: []outputInfo{
16752 {0, 21503},
16753 },
16754 },
16755 },
16756 {
16757 name: "RSBshiftLLreg",
16758 argLen: 3,
16759 asm: arm.ARSB,
16760 reg: regInfo{
16761 inputs: []inputInfo{
16762 {0, 21503},
16763 {1, 21503},
16764 {2, 21503},
16765 },
16766 outputs: []outputInfo{
16767 {0, 21503},
16768 },
16769 },
16770 },
16771 {
16772 name: "RSBshiftRLreg",
16773 argLen: 3,
16774 asm: arm.ARSB,
16775 reg: regInfo{
16776 inputs: []inputInfo{
16777 {0, 21503},
16778 {1, 21503},
16779 {2, 21503},
16780 },
16781 outputs: []outputInfo{
16782 {0, 21503},
16783 },
16784 },
16785 },
16786 {
16787 name: "RSBshiftRAreg",
16788 argLen: 3,
16789 asm: arm.ARSB,
16790 reg: regInfo{
16791 inputs: []inputInfo{
16792 {0, 21503},
16793 {1, 21503},
16794 {2, 21503},
16795 },
16796 outputs: []outputInfo{
16797 {0, 21503},
16798 },
16799 },
16800 },
16801 {
16802 name: "ANDshiftLLreg",
16803 argLen: 3,
16804 asm: arm.AAND,
16805 reg: regInfo{
16806 inputs: []inputInfo{
16807 {0, 21503},
16808 {1, 21503},
16809 {2, 21503},
16810 },
16811 outputs: []outputInfo{
16812 {0, 21503},
16813 },
16814 },
16815 },
16816 {
16817 name: "ANDshiftRLreg",
16818 argLen: 3,
16819 asm: arm.AAND,
16820 reg: regInfo{
16821 inputs: []inputInfo{
16822 {0, 21503},
16823 {1, 21503},
16824 {2, 21503},
16825 },
16826 outputs: []outputInfo{
16827 {0, 21503},
16828 },
16829 },
16830 },
16831 {
16832 name: "ANDshiftRAreg",
16833 argLen: 3,
16834 asm: arm.AAND,
16835 reg: regInfo{
16836 inputs: []inputInfo{
16837 {0, 21503},
16838 {1, 21503},
16839 {2, 21503},
16840 },
16841 outputs: []outputInfo{
16842 {0, 21503},
16843 },
16844 },
16845 },
16846 {
16847 name: "ORshiftLLreg",
16848 argLen: 3,
16849 asm: arm.AORR,
16850 reg: regInfo{
16851 inputs: []inputInfo{
16852 {0, 21503},
16853 {1, 21503},
16854 {2, 21503},
16855 },
16856 outputs: []outputInfo{
16857 {0, 21503},
16858 },
16859 },
16860 },
16861 {
16862 name: "ORshiftRLreg",
16863 argLen: 3,
16864 asm: arm.AORR,
16865 reg: regInfo{
16866 inputs: []inputInfo{
16867 {0, 21503},
16868 {1, 21503},
16869 {2, 21503},
16870 },
16871 outputs: []outputInfo{
16872 {0, 21503},
16873 },
16874 },
16875 },
16876 {
16877 name: "ORshiftRAreg",
16878 argLen: 3,
16879 asm: arm.AORR,
16880 reg: regInfo{
16881 inputs: []inputInfo{
16882 {0, 21503},
16883 {1, 21503},
16884 {2, 21503},
16885 },
16886 outputs: []outputInfo{
16887 {0, 21503},
16888 },
16889 },
16890 },
16891 {
16892 name: "XORshiftLLreg",
16893 argLen: 3,
16894 asm: arm.AEOR,
16895 reg: regInfo{
16896 inputs: []inputInfo{
16897 {0, 21503},
16898 {1, 21503},
16899 {2, 21503},
16900 },
16901 outputs: []outputInfo{
16902 {0, 21503},
16903 },
16904 },
16905 },
16906 {
16907 name: "XORshiftRLreg",
16908 argLen: 3,
16909 asm: arm.AEOR,
16910 reg: regInfo{
16911 inputs: []inputInfo{
16912 {0, 21503},
16913 {1, 21503},
16914 {2, 21503},
16915 },
16916 outputs: []outputInfo{
16917 {0, 21503},
16918 },
16919 },
16920 },
16921 {
16922 name: "XORshiftRAreg",
16923 argLen: 3,
16924 asm: arm.AEOR,
16925 reg: regInfo{
16926 inputs: []inputInfo{
16927 {0, 21503},
16928 {1, 21503},
16929 {2, 21503},
16930 },
16931 outputs: []outputInfo{
16932 {0, 21503},
16933 },
16934 },
16935 },
16936 {
16937 name: "BICshiftLLreg",
16938 argLen: 3,
16939 asm: arm.ABIC,
16940 reg: regInfo{
16941 inputs: []inputInfo{
16942 {0, 21503},
16943 {1, 21503},
16944 {2, 21503},
16945 },
16946 outputs: []outputInfo{
16947 {0, 21503},
16948 },
16949 },
16950 },
16951 {
16952 name: "BICshiftRLreg",
16953 argLen: 3,
16954 asm: arm.ABIC,
16955 reg: regInfo{
16956 inputs: []inputInfo{
16957 {0, 21503},
16958 {1, 21503},
16959 {2, 21503},
16960 },
16961 outputs: []outputInfo{
16962 {0, 21503},
16963 },
16964 },
16965 },
16966 {
16967 name: "BICshiftRAreg",
16968 argLen: 3,
16969 asm: arm.ABIC,
16970 reg: regInfo{
16971 inputs: []inputInfo{
16972 {0, 21503},
16973 {1, 21503},
16974 {2, 21503},
16975 },
16976 outputs: []outputInfo{
16977 {0, 21503},
16978 },
16979 },
16980 },
16981 {
16982 name: "MVNshiftLLreg",
16983 argLen: 2,
16984 asm: arm.AMVN,
16985 reg: regInfo{
16986 inputs: []inputInfo{
16987 {0, 22527},
16988 {1, 22527},
16989 },
16990 outputs: []outputInfo{
16991 {0, 21503},
16992 },
16993 },
16994 },
16995 {
16996 name: "MVNshiftRLreg",
16997 argLen: 2,
16998 asm: arm.AMVN,
16999 reg: regInfo{
17000 inputs: []inputInfo{
17001 {0, 22527},
17002 {1, 22527},
17003 },
17004 outputs: []outputInfo{
17005 {0, 21503},
17006 },
17007 },
17008 },
17009 {
17010 name: "MVNshiftRAreg",
17011 argLen: 2,
17012 asm: arm.AMVN,
17013 reg: regInfo{
17014 inputs: []inputInfo{
17015 {0, 22527},
17016 {1, 22527},
17017 },
17018 outputs: []outputInfo{
17019 {0, 21503},
17020 },
17021 },
17022 },
17023 {
17024 name: "ADCshiftLLreg",
17025 argLen: 4,
17026 asm: arm.AADC,
17027 reg: regInfo{
17028 inputs: []inputInfo{
17029 {0, 21503},
17030 {1, 21503},
17031 {2, 21503},
17032 },
17033 outputs: []outputInfo{
17034 {0, 21503},
17035 },
17036 },
17037 },
17038 {
17039 name: "ADCshiftRLreg",
17040 argLen: 4,
17041 asm: arm.AADC,
17042 reg: regInfo{
17043 inputs: []inputInfo{
17044 {0, 21503},
17045 {1, 21503},
17046 {2, 21503},
17047 },
17048 outputs: []outputInfo{
17049 {0, 21503},
17050 },
17051 },
17052 },
17053 {
17054 name: "ADCshiftRAreg",
17055 argLen: 4,
17056 asm: arm.AADC,
17057 reg: regInfo{
17058 inputs: []inputInfo{
17059 {0, 21503},
17060 {1, 21503},
17061 {2, 21503},
17062 },
17063 outputs: []outputInfo{
17064 {0, 21503},
17065 },
17066 },
17067 },
17068 {
17069 name: "SBCshiftLLreg",
17070 argLen: 4,
17071 asm: arm.ASBC,
17072 reg: regInfo{
17073 inputs: []inputInfo{
17074 {0, 21503},
17075 {1, 21503},
17076 {2, 21503},
17077 },
17078 outputs: []outputInfo{
17079 {0, 21503},
17080 },
17081 },
17082 },
17083 {
17084 name: "SBCshiftRLreg",
17085 argLen: 4,
17086 asm: arm.ASBC,
17087 reg: regInfo{
17088 inputs: []inputInfo{
17089 {0, 21503},
17090 {1, 21503},
17091 {2, 21503},
17092 },
17093 outputs: []outputInfo{
17094 {0, 21503},
17095 },
17096 },
17097 },
17098 {
17099 name: "SBCshiftRAreg",
17100 argLen: 4,
17101 asm: arm.ASBC,
17102 reg: regInfo{
17103 inputs: []inputInfo{
17104 {0, 21503},
17105 {1, 21503},
17106 {2, 21503},
17107 },
17108 outputs: []outputInfo{
17109 {0, 21503},
17110 },
17111 },
17112 },
17113 {
17114 name: "RSCshiftLLreg",
17115 argLen: 4,
17116 asm: arm.ARSC,
17117 reg: regInfo{
17118 inputs: []inputInfo{
17119 {0, 21503},
17120 {1, 21503},
17121 {2, 21503},
17122 },
17123 outputs: []outputInfo{
17124 {0, 21503},
17125 },
17126 },
17127 },
17128 {
17129 name: "RSCshiftRLreg",
17130 argLen: 4,
17131 asm: arm.ARSC,
17132 reg: regInfo{
17133 inputs: []inputInfo{
17134 {0, 21503},
17135 {1, 21503},
17136 {2, 21503},
17137 },
17138 outputs: []outputInfo{
17139 {0, 21503},
17140 },
17141 },
17142 },
17143 {
17144 name: "RSCshiftRAreg",
17145 argLen: 4,
17146 asm: arm.ARSC,
17147 reg: regInfo{
17148 inputs: []inputInfo{
17149 {0, 21503},
17150 {1, 21503},
17151 {2, 21503},
17152 },
17153 outputs: []outputInfo{
17154 {0, 21503},
17155 },
17156 },
17157 },
17158 {
17159 name: "ADDSshiftLLreg",
17160 argLen: 3,
17161 asm: arm.AADD,
17162 reg: regInfo{
17163 inputs: []inputInfo{
17164 {0, 21503},
17165 {1, 21503},
17166 {2, 21503},
17167 },
17168 outputs: []outputInfo{
17169 {1, 0},
17170 {0, 21503},
17171 },
17172 },
17173 },
17174 {
17175 name: "ADDSshiftRLreg",
17176 argLen: 3,
17177 asm: arm.AADD,
17178 reg: regInfo{
17179 inputs: []inputInfo{
17180 {0, 21503},
17181 {1, 21503},
17182 {2, 21503},
17183 },
17184 outputs: []outputInfo{
17185 {1, 0},
17186 {0, 21503},
17187 },
17188 },
17189 },
17190 {
17191 name: "ADDSshiftRAreg",
17192 argLen: 3,
17193 asm: arm.AADD,
17194 reg: regInfo{
17195 inputs: []inputInfo{
17196 {0, 21503},
17197 {1, 21503},
17198 {2, 21503},
17199 },
17200 outputs: []outputInfo{
17201 {1, 0},
17202 {0, 21503},
17203 },
17204 },
17205 },
17206 {
17207 name: "SUBSshiftLLreg",
17208 argLen: 3,
17209 asm: arm.ASUB,
17210 reg: regInfo{
17211 inputs: []inputInfo{
17212 {0, 21503},
17213 {1, 21503},
17214 {2, 21503},
17215 },
17216 outputs: []outputInfo{
17217 {1, 0},
17218 {0, 21503},
17219 },
17220 },
17221 },
17222 {
17223 name: "SUBSshiftRLreg",
17224 argLen: 3,
17225 asm: arm.ASUB,
17226 reg: regInfo{
17227 inputs: []inputInfo{
17228 {0, 21503},
17229 {1, 21503},
17230 {2, 21503},
17231 },
17232 outputs: []outputInfo{
17233 {1, 0},
17234 {0, 21503},
17235 },
17236 },
17237 },
17238 {
17239 name: "SUBSshiftRAreg",
17240 argLen: 3,
17241 asm: arm.ASUB,
17242 reg: regInfo{
17243 inputs: []inputInfo{
17244 {0, 21503},
17245 {1, 21503},
17246 {2, 21503},
17247 },
17248 outputs: []outputInfo{
17249 {1, 0},
17250 {0, 21503},
17251 },
17252 },
17253 },
17254 {
17255 name: "RSBSshiftLLreg",
17256 argLen: 3,
17257 asm: arm.ARSB,
17258 reg: regInfo{
17259 inputs: []inputInfo{
17260 {0, 21503},
17261 {1, 21503},
17262 {2, 21503},
17263 },
17264 outputs: []outputInfo{
17265 {1, 0},
17266 {0, 21503},
17267 },
17268 },
17269 },
17270 {
17271 name: "RSBSshiftRLreg",
17272 argLen: 3,
17273 asm: arm.ARSB,
17274 reg: regInfo{
17275 inputs: []inputInfo{
17276 {0, 21503},
17277 {1, 21503},
17278 {2, 21503},
17279 },
17280 outputs: []outputInfo{
17281 {1, 0},
17282 {0, 21503},
17283 },
17284 },
17285 },
17286 {
17287 name: "RSBSshiftRAreg",
17288 argLen: 3,
17289 asm: arm.ARSB,
17290 reg: regInfo{
17291 inputs: []inputInfo{
17292 {0, 21503},
17293 {1, 21503},
17294 {2, 21503},
17295 },
17296 outputs: []outputInfo{
17297 {1, 0},
17298 {0, 21503},
17299 },
17300 },
17301 },
17302 {
17303 name: "CMP",
17304 argLen: 2,
17305 asm: arm.ACMP,
17306 reg: regInfo{
17307 inputs: []inputInfo{
17308 {0, 22527},
17309 {1, 22527},
17310 },
17311 },
17312 },
17313 {
17314 name: "CMPconst",
17315 auxType: auxInt32,
17316 argLen: 1,
17317 asm: arm.ACMP,
17318 reg: regInfo{
17319 inputs: []inputInfo{
17320 {0, 22527},
17321 },
17322 },
17323 },
17324 {
17325 name: "CMN",
17326 argLen: 2,
17327 commutative: true,
17328 asm: arm.ACMN,
17329 reg: regInfo{
17330 inputs: []inputInfo{
17331 {0, 22527},
17332 {1, 22527},
17333 },
17334 },
17335 },
17336 {
17337 name: "CMNconst",
17338 auxType: auxInt32,
17339 argLen: 1,
17340 asm: arm.ACMN,
17341 reg: regInfo{
17342 inputs: []inputInfo{
17343 {0, 22527},
17344 },
17345 },
17346 },
17347 {
17348 name: "TST",
17349 argLen: 2,
17350 commutative: true,
17351 asm: arm.ATST,
17352 reg: regInfo{
17353 inputs: []inputInfo{
17354 {0, 22527},
17355 {1, 22527},
17356 },
17357 },
17358 },
17359 {
17360 name: "TSTconst",
17361 auxType: auxInt32,
17362 argLen: 1,
17363 asm: arm.ATST,
17364 reg: regInfo{
17365 inputs: []inputInfo{
17366 {0, 22527},
17367 },
17368 },
17369 },
17370 {
17371 name: "TEQ",
17372 argLen: 2,
17373 commutative: true,
17374 asm: arm.ATEQ,
17375 reg: regInfo{
17376 inputs: []inputInfo{
17377 {0, 22527},
17378 {1, 22527},
17379 },
17380 },
17381 },
17382 {
17383 name: "TEQconst",
17384 auxType: auxInt32,
17385 argLen: 1,
17386 asm: arm.ATEQ,
17387 reg: regInfo{
17388 inputs: []inputInfo{
17389 {0, 22527},
17390 },
17391 },
17392 },
17393 {
17394 name: "CMPF",
17395 argLen: 2,
17396 asm: arm.ACMPF,
17397 reg: regInfo{
17398 inputs: []inputInfo{
17399 {0, 4294901760},
17400 {1, 4294901760},
17401 },
17402 },
17403 },
17404 {
17405 name: "CMPD",
17406 argLen: 2,
17407 asm: arm.ACMPD,
17408 reg: regInfo{
17409 inputs: []inputInfo{
17410 {0, 4294901760},
17411 {1, 4294901760},
17412 },
17413 },
17414 },
17415 {
17416 name: "CMPshiftLL",
17417 auxType: auxInt32,
17418 argLen: 2,
17419 asm: arm.ACMP,
17420 reg: regInfo{
17421 inputs: []inputInfo{
17422 {0, 22527},
17423 {1, 22527},
17424 },
17425 },
17426 },
17427 {
17428 name: "CMPshiftRL",
17429 auxType: auxInt32,
17430 argLen: 2,
17431 asm: arm.ACMP,
17432 reg: regInfo{
17433 inputs: []inputInfo{
17434 {0, 22527},
17435 {1, 22527},
17436 },
17437 },
17438 },
17439 {
17440 name: "CMPshiftRA",
17441 auxType: auxInt32,
17442 argLen: 2,
17443 asm: arm.ACMP,
17444 reg: regInfo{
17445 inputs: []inputInfo{
17446 {0, 22527},
17447 {1, 22527},
17448 },
17449 },
17450 },
17451 {
17452 name: "CMNshiftLL",
17453 auxType: auxInt32,
17454 argLen: 2,
17455 asm: arm.ACMN,
17456 reg: regInfo{
17457 inputs: []inputInfo{
17458 {0, 22527},
17459 {1, 22527},
17460 },
17461 },
17462 },
17463 {
17464 name: "CMNshiftRL",
17465 auxType: auxInt32,
17466 argLen: 2,
17467 asm: arm.ACMN,
17468 reg: regInfo{
17469 inputs: []inputInfo{
17470 {0, 22527},
17471 {1, 22527},
17472 },
17473 },
17474 },
17475 {
17476 name: "CMNshiftRA",
17477 auxType: auxInt32,
17478 argLen: 2,
17479 asm: arm.ACMN,
17480 reg: regInfo{
17481 inputs: []inputInfo{
17482 {0, 22527},
17483 {1, 22527},
17484 },
17485 },
17486 },
17487 {
17488 name: "TSTshiftLL",
17489 auxType: auxInt32,
17490 argLen: 2,
17491 asm: arm.ATST,
17492 reg: regInfo{
17493 inputs: []inputInfo{
17494 {0, 22527},
17495 {1, 22527},
17496 },
17497 },
17498 },
17499 {
17500 name: "TSTshiftRL",
17501 auxType: auxInt32,
17502 argLen: 2,
17503 asm: arm.ATST,
17504 reg: regInfo{
17505 inputs: []inputInfo{
17506 {0, 22527},
17507 {1, 22527},
17508 },
17509 },
17510 },
17511 {
17512 name: "TSTshiftRA",
17513 auxType: auxInt32,
17514 argLen: 2,
17515 asm: arm.ATST,
17516 reg: regInfo{
17517 inputs: []inputInfo{
17518 {0, 22527},
17519 {1, 22527},
17520 },
17521 },
17522 },
17523 {
17524 name: "TEQshiftLL",
17525 auxType: auxInt32,
17526 argLen: 2,
17527 asm: arm.ATEQ,
17528 reg: regInfo{
17529 inputs: []inputInfo{
17530 {0, 22527},
17531 {1, 22527},
17532 },
17533 },
17534 },
17535 {
17536 name: "TEQshiftRL",
17537 auxType: auxInt32,
17538 argLen: 2,
17539 asm: arm.ATEQ,
17540 reg: regInfo{
17541 inputs: []inputInfo{
17542 {0, 22527},
17543 {1, 22527},
17544 },
17545 },
17546 },
17547 {
17548 name: "TEQshiftRA",
17549 auxType: auxInt32,
17550 argLen: 2,
17551 asm: arm.ATEQ,
17552 reg: regInfo{
17553 inputs: []inputInfo{
17554 {0, 22527},
17555 {1, 22527},
17556 },
17557 },
17558 },
17559 {
17560 name: "CMPshiftLLreg",
17561 argLen: 3,
17562 asm: arm.ACMP,
17563 reg: regInfo{
17564 inputs: []inputInfo{
17565 {0, 21503},
17566 {1, 21503},
17567 {2, 21503},
17568 },
17569 },
17570 },
17571 {
17572 name: "CMPshiftRLreg",
17573 argLen: 3,
17574 asm: arm.ACMP,
17575 reg: regInfo{
17576 inputs: []inputInfo{
17577 {0, 21503},
17578 {1, 21503},
17579 {2, 21503},
17580 },
17581 },
17582 },
17583 {
17584 name: "CMPshiftRAreg",
17585 argLen: 3,
17586 asm: arm.ACMP,
17587 reg: regInfo{
17588 inputs: []inputInfo{
17589 {0, 21503},
17590 {1, 21503},
17591 {2, 21503},
17592 },
17593 },
17594 },
17595 {
17596 name: "CMNshiftLLreg",
17597 argLen: 3,
17598 asm: arm.ACMN,
17599 reg: regInfo{
17600 inputs: []inputInfo{
17601 {0, 21503},
17602 {1, 21503},
17603 {2, 21503},
17604 },
17605 },
17606 },
17607 {
17608 name: "CMNshiftRLreg",
17609 argLen: 3,
17610 asm: arm.ACMN,
17611 reg: regInfo{
17612 inputs: []inputInfo{
17613 {0, 21503},
17614 {1, 21503},
17615 {2, 21503},
17616 },
17617 },
17618 },
17619 {
17620 name: "CMNshiftRAreg",
17621 argLen: 3,
17622 asm: arm.ACMN,
17623 reg: regInfo{
17624 inputs: []inputInfo{
17625 {0, 21503},
17626 {1, 21503},
17627 {2, 21503},
17628 },
17629 },
17630 },
17631 {
17632 name: "TSTshiftLLreg",
17633 argLen: 3,
17634 asm: arm.ATST,
17635 reg: regInfo{
17636 inputs: []inputInfo{
17637 {0, 21503},
17638 {1, 21503},
17639 {2, 21503},
17640 },
17641 },
17642 },
17643 {
17644 name: "TSTshiftRLreg",
17645 argLen: 3,
17646 asm: arm.ATST,
17647 reg: regInfo{
17648 inputs: []inputInfo{
17649 {0, 21503},
17650 {1, 21503},
17651 {2, 21503},
17652 },
17653 },
17654 },
17655 {
17656 name: "TSTshiftRAreg",
17657 argLen: 3,
17658 asm: arm.ATST,
17659 reg: regInfo{
17660 inputs: []inputInfo{
17661 {0, 21503},
17662 {1, 21503},
17663 {2, 21503},
17664 },
17665 },
17666 },
17667 {
17668 name: "TEQshiftLLreg",
17669 argLen: 3,
17670 asm: arm.ATEQ,
17671 reg: regInfo{
17672 inputs: []inputInfo{
17673 {0, 21503},
17674 {1, 21503},
17675 {2, 21503},
17676 },
17677 },
17678 },
17679 {
17680 name: "TEQshiftRLreg",
17681 argLen: 3,
17682 asm: arm.ATEQ,
17683 reg: regInfo{
17684 inputs: []inputInfo{
17685 {0, 21503},
17686 {1, 21503},
17687 {2, 21503},
17688 },
17689 },
17690 },
17691 {
17692 name: "TEQshiftRAreg",
17693 argLen: 3,
17694 asm: arm.ATEQ,
17695 reg: regInfo{
17696 inputs: []inputInfo{
17697 {0, 21503},
17698 {1, 21503},
17699 {2, 21503},
17700 },
17701 },
17702 },
17703 {
17704 name: "CMPF0",
17705 argLen: 1,
17706 asm: arm.ACMPF,
17707 reg: regInfo{
17708 inputs: []inputInfo{
17709 {0, 4294901760},
17710 },
17711 },
17712 },
17713 {
17714 name: "CMPD0",
17715 argLen: 1,
17716 asm: arm.ACMPD,
17717 reg: regInfo{
17718 inputs: []inputInfo{
17719 {0, 4294901760},
17720 },
17721 },
17722 },
17723 {
17724 name: "MOVWconst",
17725 auxType: auxInt32,
17726 argLen: 0,
17727 rematerializeable: true,
17728 asm: arm.AMOVW,
17729 reg: regInfo{
17730 outputs: []outputInfo{
17731 {0, 21503},
17732 },
17733 },
17734 },
17735 {
17736 name: "MOVFconst",
17737 auxType: auxFloat64,
17738 argLen: 0,
17739 rematerializeable: true,
17740 asm: arm.AMOVF,
17741 reg: regInfo{
17742 outputs: []outputInfo{
17743 {0, 4294901760},
17744 },
17745 },
17746 },
17747 {
17748 name: "MOVDconst",
17749 auxType: auxFloat64,
17750 argLen: 0,
17751 rematerializeable: true,
17752 asm: arm.AMOVD,
17753 reg: regInfo{
17754 outputs: []outputInfo{
17755 {0, 4294901760},
17756 },
17757 },
17758 },
17759 {
17760 name: "MOVWaddr",
17761 auxType: auxSymOff,
17762 argLen: 1,
17763 rematerializeable: true,
17764 symEffect: SymAddr,
17765 asm: arm.AMOVW,
17766 reg: regInfo{
17767 inputs: []inputInfo{
17768 {0, 4294975488},
17769 },
17770 outputs: []outputInfo{
17771 {0, 21503},
17772 },
17773 },
17774 },
17775 {
17776 name: "MOVBload",
17777 auxType: auxSymOff,
17778 argLen: 2,
17779 faultOnNilArg0: true,
17780 symEffect: SymRead,
17781 asm: arm.AMOVB,
17782 reg: regInfo{
17783 inputs: []inputInfo{
17784 {0, 4294998015},
17785 },
17786 outputs: []outputInfo{
17787 {0, 21503},
17788 },
17789 },
17790 },
17791 {
17792 name: "MOVBUload",
17793 auxType: auxSymOff,
17794 argLen: 2,
17795 faultOnNilArg0: true,
17796 symEffect: SymRead,
17797 asm: arm.AMOVBU,
17798 reg: regInfo{
17799 inputs: []inputInfo{
17800 {0, 4294998015},
17801 },
17802 outputs: []outputInfo{
17803 {0, 21503},
17804 },
17805 },
17806 },
17807 {
17808 name: "MOVHload",
17809 auxType: auxSymOff,
17810 argLen: 2,
17811 faultOnNilArg0: true,
17812 symEffect: SymRead,
17813 asm: arm.AMOVH,
17814 reg: regInfo{
17815 inputs: []inputInfo{
17816 {0, 4294998015},
17817 },
17818 outputs: []outputInfo{
17819 {0, 21503},
17820 },
17821 },
17822 },
17823 {
17824 name: "MOVHUload",
17825 auxType: auxSymOff,
17826 argLen: 2,
17827 faultOnNilArg0: true,
17828 symEffect: SymRead,
17829 asm: arm.AMOVHU,
17830 reg: regInfo{
17831 inputs: []inputInfo{
17832 {0, 4294998015},
17833 },
17834 outputs: []outputInfo{
17835 {0, 21503},
17836 },
17837 },
17838 },
17839 {
17840 name: "MOVWload",
17841 auxType: auxSymOff,
17842 argLen: 2,
17843 faultOnNilArg0: true,
17844 symEffect: SymRead,
17845 asm: arm.AMOVW,
17846 reg: regInfo{
17847 inputs: []inputInfo{
17848 {0, 4294998015},
17849 },
17850 outputs: []outputInfo{
17851 {0, 21503},
17852 },
17853 },
17854 },
17855 {
17856 name: "MOVFload",
17857 auxType: auxSymOff,
17858 argLen: 2,
17859 faultOnNilArg0: true,
17860 symEffect: SymRead,
17861 asm: arm.AMOVF,
17862 reg: regInfo{
17863 inputs: []inputInfo{
17864 {0, 4294998015},
17865 },
17866 outputs: []outputInfo{
17867 {0, 4294901760},
17868 },
17869 },
17870 },
17871 {
17872 name: "MOVDload",
17873 auxType: auxSymOff,
17874 argLen: 2,
17875 faultOnNilArg0: true,
17876 symEffect: SymRead,
17877 asm: arm.AMOVD,
17878 reg: regInfo{
17879 inputs: []inputInfo{
17880 {0, 4294998015},
17881 },
17882 outputs: []outputInfo{
17883 {0, 4294901760},
17884 },
17885 },
17886 },
17887 {
17888 name: "MOVBstore",
17889 auxType: auxSymOff,
17890 argLen: 3,
17891 faultOnNilArg0: true,
17892 symEffect: SymWrite,
17893 asm: arm.AMOVB,
17894 reg: regInfo{
17895 inputs: []inputInfo{
17896 {1, 22527},
17897 {0, 4294998015},
17898 },
17899 },
17900 },
17901 {
17902 name: "MOVHstore",
17903 auxType: auxSymOff,
17904 argLen: 3,
17905 faultOnNilArg0: true,
17906 symEffect: SymWrite,
17907 asm: arm.AMOVH,
17908 reg: regInfo{
17909 inputs: []inputInfo{
17910 {1, 22527},
17911 {0, 4294998015},
17912 },
17913 },
17914 },
17915 {
17916 name: "MOVWstore",
17917 auxType: auxSymOff,
17918 argLen: 3,
17919 faultOnNilArg0: true,
17920 symEffect: SymWrite,
17921 asm: arm.AMOVW,
17922 reg: regInfo{
17923 inputs: []inputInfo{
17924 {1, 22527},
17925 {0, 4294998015},
17926 },
17927 },
17928 },
17929 {
17930 name: "MOVFstore",
17931 auxType: auxSymOff,
17932 argLen: 3,
17933 faultOnNilArg0: true,
17934 symEffect: SymWrite,
17935 asm: arm.AMOVF,
17936 reg: regInfo{
17937 inputs: []inputInfo{
17938 {0, 4294998015},
17939 {1, 4294901760},
17940 },
17941 },
17942 },
17943 {
17944 name: "MOVDstore",
17945 auxType: auxSymOff,
17946 argLen: 3,
17947 faultOnNilArg0: true,
17948 symEffect: SymWrite,
17949 asm: arm.AMOVD,
17950 reg: regInfo{
17951 inputs: []inputInfo{
17952 {0, 4294998015},
17953 {1, 4294901760},
17954 },
17955 },
17956 },
17957 {
17958 name: "MOVWloadidx",
17959 argLen: 3,
17960 asm: arm.AMOVW,
17961 reg: regInfo{
17962 inputs: []inputInfo{
17963 {1, 22527},
17964 {0, 4294998015},
17965 },
17966 outputs: []outputInfo{
17967 {0, 21503},
17968 },
17969 },
17970 },
17971 {
17972 name: "MOVWloadshiftLL",
17973 auxType: auxInt32,
17974 argLen: 3,
17975 asm: arm.AMOVW,
17976 reg: regInfo{
17977 inputs: []inputInfo{
17978 {1, 22527},
17979 {0, 4294998015},
17980 },
17981 outputs: []outputInfo{
17982 {0, 21503},
17983 },
17984 },
17985 },
17986 {
17987 name: "MOVWloadshiftRL",
17988 auxType: auxInt32,
17989 argLen: 3,
17990 asm: arm.AMOVW,
17991 reg: regInfo{
17992 inputs: []inputInfo{
17993 {1, 22527},
17994 {0, 4294998015},
17995 },
17996 outputs: []outputInfo{
17997 {0, 21503},
17998 },
17999 },
18000 },
18001 {
18002 name: "MOVWloadshiftRA",
18003 auxType: auxInt32,
18004 argLen: 3,
18005 asm: arm.AMOVW,
18006 reg: regInfo{
18007 inputs: []inputInfo{
18008 {1, 22527},
18009 {0, 4294998015},
18010 },
18011 outputs: []outputInfo{
18012 {0, 21503},
18013 },
18014 },
18015 },
18016 {
18017 name: "MOVBUloadidx",
18018 argLen: 3,
18019 asm: arm.AMOVBU,
18020 reg: regInfo{
18021 inputs: []inputInfo{
18022 {1, 22527},
18023 {0, 4294998015},
18024 },
18025 outputs: []outputInfo{
18026 {0, 21503},
18027 },
18028 },
18029 },
18030 {
18031 name: "MOVBloadidx",
18032 argLen: 3,
18033 asm: arm.AMOVB,
18034 reg: regInfo{
18035 inputs: []inputInfo{
18036 {1, 22527},
18037 {0, 4294998015},
18038 },
18039 outputs: []outputInfo{
18040 {0, 21503},
18041 },
18042 },
18043 },
18044 {
18045 name: "MOVHUloadidx",
18046 argLen: 3,
18047 asm: arm.AMOVHU,
18048 reg: regInfo{
18049 inputs: []inputInfo{
18050 {1, 22527},
18051 {0, 4294998015},
18052 },
18053 outputs: []outputInfo{
18054 {0, 21503},
18055 },
18056 },
18057 },
18058 {
18059 name: "MOVHloadidx",
18060 argLen: 3,
18061 asm: arm.AMOVH,
18062 reg: regInfo{
18063 inputs: []inputInfo{
18064 {1, 22527},
18065 {0, 4294998015},
18066 },
18067 outputs: []outputInfo{
18068 {0, 21503},
18069 },
18070 },
18071 },
18072 {
18073 name: "MOVWstoreidx",
18074 argLen: 4,
18075 asm: arm.AMOVW,
18076 reg: regInfo{
18077 inputs: []inputInfo{
18078 {1, 22527},
18079 {2, 22527},
18080 {0, 4294998015},
18081 },
18082 },
18083 },
18084 {
18085 name: "MOVWstoreshiftLL",
18086 auxType: auxInt32,
18087 argLen: 4,
18088 asm: arm.AMOVW,
18089 reg: regInfo{
18090 inputs: []inputInfo{
18091 {1, 22527},
18092 {2, 22527},
18093 {0, 4294998015},
18094 },
18095 },
18096 },
18097 {
18098 name: "MOVWstoreshiftRL",
18099 auxType: auxInt32,
18100 argLen: 4,
18101 asm: arm.AMOVW,
18102 reg: regInfo{
18103 inputs: []inputInfo{
18104 {1, 22527},
18105 {2, 22527},
18106 {0, 4294998015},
18107 },
18108 },
18109 },
18110 {
18111 name: "MOVWstoreshiftRA",
18112 auxType: auxInt32,
18113 argLen: 4,
18114 asm: arm.AMOVW,
18115 reg: regInfo{
18116 inputs: []inputInfo{
18117 {1, 22527},
18118 {2, 22527},
18119 {0, 4294998015},
18120 },
18121 },
18122 },
18123 {
18124 name: "MOVBstoreidx",
18125 argLen: 4,
18126 asm: arm.AMOVB,
18127 reg: regInfo{
18128 inputs: []inputInfo{
18129 {1, 22527},
18130 {2, 22527},
18131 {0, 4294998015},
18132 },
18133 },
18134 },
18135 {
18136 name: "MOVHstoreidx",
18137 argLen: 4,
18138 asm: arm.AMOVH,
18139 reg: regInfo{
18140 inputs: []inputInfo{
18141 {1, 22527},
18142 {2, 22527},
18143 {0, 4294998015},
18144 },
18145 },
18146 },
18147 {
18148 name: "MOVBreg",
18149 argLen: 1,
18150 asm: arm.AMOVBS,
18151 reg: regInfo{
18152 inputs: []inputInfo{
18153 {0, 22527},
18154 },
18155 outputs: []outputInfo{
18156 {0, 21503},
18157 },
18158 },
18159 },
18160 {
18161 name: "MOVBUreg",
18162 argLen: 1,
18163 asm: arm.AMOVBU,
18164 reg: regInfo{
18165 inputs: []inputInfo{
18166 {0, 22527},
18167 },
18168 outputs: []outputInfo{
18169 {0, 21503},
18170 },
18171 },
18172 },
18173 {
18174 name: "MOVHreg",
18175 argLen: 1,
18176 asm: arm.AMOVHS,
18177 reg: regInfo{
18178 inputs: []inputInfo{
18179 {0, 22527},
18180 },
18181 outputs: []outputInfo{
18182 {0, 21503},
18183 },
18184 },
18185 },
18186 {
18187 name: "MOVHUreg",
18188 argLen: 1,
18189 asm: arm.AMOVHU,
18190 reg: regInfo{
18191 inputs: []inputInfo{
18192 {0, 22527},
18193 },
18194 outputs: []outputInfo{
18195 {0, 21503},
18196 },
18197 },
18198 },
18199 {
18200 name: "MOVWreg",
18201 argLen: 1,
18202 asm: arm.AMOVW,
18203 reg: regInfo{
18204 inputs: []inputInfo{
18205 {0, 22527},
18206 },
18207 outputs: []outputInfo{
18208 {0, 21503},
18209 },
18210 },
18211 },
18212 {
18213 name: "MOVWnop",
18214 argLen: 1,
18215 resultInArg0: true,
18216 reg: regInfo{
18217 inputs: []inputInfo{
18218 {0, 21503},
18219 },
18220 outputs: []outputInfo{
18221 {0, 21503},
18222 },
18223 },
18224 },
18225 {
18226 name: "MOVWF",
18227 argLen: 1,
18228 asm: arm.AMOVWF,
18229 reg: regInfo{
18230 inputs: []inputInfo{
18231 {0, 21503},
18232 },
18233 clobbers: 2147483648,
18234 outputs: []outputInfo{
18235 {0, 4294901760},
18236 },
18237 },
18238 },
18239 {
18240 name: "MOVWD",
18241 argLen: 1,
18242 asm: arm.AMOVWD,
18243 reg: regInfo{
18244 inputs: []inputInfo{
18245 {0, 21503},
18246 },
18247 clobbers: 2147483648,
18248 outputs: []outputInfo{
18249 {0, 4294901760},
18250 },
18251 },
18252 },
18253 {
18254 name: "MOVWUF",
18255 argLen: 1,
18256 asm: arm.AMOVWF,
18257 reg: regInfo{
18258 inputs: []inputInfo{
18259 {0, 21503},
18260 },
18261 clobbers: 2147483648,
18262 outputs: []outputInfo{
18263 {0, 4294901760},
18264 },
18265 },
18266 },
18267 {
18268 name: "MOVWUD",
18269 argLen: 1,
18270 asm: arm.AMOVWD,
18271 reg: regInfo{
18272 inputs: []inputInfo{
18273 {0, 21503},
18274 },
18275 clobbers: 2147483648,
18276 outputs: []outputInfo{
18277 {0, 4294901760},
18278 },
18279 },
18280 },
18281 {
18282 name: "MOVFW",
18283 argLen: 1,
18284 asm: arm.AMOVFW,
18285 reg: regInfo{
18286 inputs: []inputInfo{
18287 {0, 4294901760},
18288 },
18289 clobbers: 2147483648,
18290 outputs: []outputInfo{
18291 {0, 21503},
18292 },
18293 },
18294 },
18295 {
18296 name: "MOVDW",
18297 argLen: 1,
18298 asm: arm.AMOVDW,
18299 reg: regInfo{
18300 inputs: []inputInfo{
18301 {0, 4294901760},
18302 },
18303 clobbers: 2147483648,
18304 outputs: []outputInfo{
18305 {0, 21503},
18306 },
18307 },
18308 },
18309 {
18310 name: "MOVFWU",
18311 argLen: 1,
18312 asm: arm.AMOVFW,
18313 reg: regInfo{
18314 inputs: []inputInfo{
18315 {0, 4294901760},
18316 },
18317 clobbers: 2147483648,
18318 outputs: []outputInfo{
18319 {0, 21503},
18320 },
18321 },
18322 },
18323 {
18324 name: "MOVDWU",
18325 argLen: 1,
18326 asm: arm.AMOVDW,
18327 reg: regInfo{
18328 inputs: []inputInfo{
18329 {0, 4294901760},
18330 },
18331 clobbers: 2147483648,
18332 outputs: []outputInfo{
18333 {0, 21503},
18334 },
18335 },
18336 },
18337 {
18338 name: "MOVFD",
18339 argLen: 1,
18340 asm: arm.AMOVFD,
18341 reg: regInfo{
18342 inputs: []inputInfo{
18343 {0, 4294901760},
18344 },
18345 outputs: []outputInfo{
18346 {0, 4294901760},
18347 },
18348 },
18349 },
18350 {
18351 name: "MOVDF",
18352 argLen: 1,
18353 asm: arm.AMOVDF,
18354 reg: regInfo{
18355 inputs: []inputInfo{
18356 {0, 4294901760},
18357 },
18358 outputs: []outputInfo{
18359 {0, 4294901760},
18360 },
18361 },
18362 },
18363 {
18364 name: "CMOVWHSconst",
18365 auxType: auxInt32,
18366 argLen: 2,
18367 resultInArg0: true,
18368 asm: arm.AMOVW,
18369 reg: regInfo{
18370 inputs: []inputInfo{
18371 {0, 21503},
18372 },
18373 outputs: []outputInfo{
18374 {0, 21503},
18375 },
18376 },
18377 },
18378 {
18379 name: "CMOVWLSconst",
18380 auxType: auxInt32,
18381 argLen: 2,
18382 resultInArg0: true,
18383 asm: arm.AMOVW,
18384 reg: regInfo{
18385 inputs: []inputInfo{
18386 {0, 21503},
18387 },
18388 outputs: []outputInfo{
18389 {0, 21503},
18390 },
18391 },
18392 },
18393 {
18394 name: "SRAcond",
18395 argLen: 3,
18396 asm: arm.ASRA,
18397 reg: regInfo{
18398 inputs: []inputInfo{
18399 {0, 21503},
18400 {1, 21503},
18401 },
18402 outputs: []outputInfo{
18403 {0, 21503},
18404 },
18405 },
18406 },
18407 {
18408 name: "CALLstatic",
18409 auxType: auxCallOff,
18410 argLen: 1,
18411 clobberFlags: true,
18412 call: true,
18413 reg: regInfo{
18414 clobbers: 4294924287,
18415 },
18416 },
18417 {
18418 name: "CALLtail",
18419 auxType: auxCallOff,
18420 argLen: 1,
18421 clobberFlags: true,
18422 call: true,
18423 tailCall: true,
18424 reg: regInfo{
18425 clobbers: 4294924287,
18426 },
18427 },
18428 {
18429 name: "CALLclosure",
18430 auxType: auxCallOff,
18431 argLen: 3,
18432 clobberFlags: true,
18433 call: true,
18434 reg: regInfo{
18435 inputs: []inputInfo{
18436 {1, 128},
18437 {0, 29695},
18438 },
18439 clobbers: 4294924287,
18440 },
18441 },
18442 {
18443 name: "CALLinter",
18444 auxType: auxCallOff,
18445 argLen: 2,
18446 clobberFlags: true,
18447 call: true,
18448 reg: regInfo{
18449 inputs: []inputInfo{
18450 {0, 21503},
18451 },
18452 clobbers: 4294924287,
18453 },
18454 },
18455 {
18456 name: "LoweredNilCheck",
18457 argLen: 2,
18458 nilCheck: true,
18459 faultOnNilArg0: true,
18460 reg: regInfo{
18461 inputs: []inputInfo{
18462 {0, 22527},
18463 },
18464 },
18465 },
18466 {
18467 name: "Equal",
18468 argLen: 1,
18469 reg: regInfo{
18470 outputs: []outputInfo{
18471 {0, 21503},
18472 },
18473 },
18474 },
18475 {
18476 name: "NotEqual",
18477 argLen: 1,
18478 reg: regInfo{
18479 outputs: []outputInfo{
18480 {0, 21503},
18481 },
18482 },
18483 },
18484 {
18485 name: "LessThan",
18486 argLen: 1,
18487 reg: regInfo{
18488 outputs: []outputInfo{
18489 {0, 21503},
18490 },
18491 },
18492 },
18493 {
18494 name: "LessEqual",
18495 argLen: 1,
18496 reg: regInfo{
18497 outputs: []outputInfo{
18498 {0, 21503},
18499 },
18500 },
18501 },
18502 {
18503 name: "GreaterThan",
18504 argLen: 1,
18505 reg: regInfo{
18506 outputs: []outputInfo{
18507 {0, 21503},
18508 },
18509 },
18510 },
18511 {
18512 name: "GreaterEqual",
18513 argLen: 1,
18514 reg: regInfo{
18515 outputs: []outputInfo{
18516 {0, 21503},
18517 },
18518 },
18519 },
18520 {
18521 name: "LessThanU",
18522 argLen: 1,
18523 reg: regInfo{
18524 outputs: []outputInfo{
18525 {0, 21503},
18526 },
18527 },
18528 },
18529 {
18530 name: "LessEqualU",
18531 argLen: 1,
18532 reg: regInfo{
18533 outputs: []outputInfo{
18534 {0, 21503},
18535 },
18536 },
18537 },
18538 {
18539 name: "GreaterThanU",
18540 argLen: 1,
18541 reg: regInfo{
18542 outputs: []outputInfo{
18543 {0, 21503},
18544 },
18545 },
18546 },
18547 {
18548 name: "GreaterEqualU",
18549 argLen: 1,
18550 reg: regInfo{
18551 outputs: []outputInfo{
18552 {0, 21503},
18553 },
18554 },
18555 },
18556 {
18557 name: "DUFFZERO",
18558 auxType: auxInt64,
18559 argLen: 3,
18560 faultOnNilArg0: true,
18561 reg: regInfo{
18562 inputs: []inputInfo{
18563 {0, 2},
18564 {1, 1},
18565 },
18566 clobbers: 20482,
18567 },
18568 },
18569 {
18570 name: "DUFFCOPY",
18571 auxType: auxInt64,
18572 argLen: 3,
18573 faultOnNilArg0: true,
18574 faultOnNilArg1: true,
18575 reg: regInfo{
18576 inputs: []inputInfo{
18577 {0, 4},
18578 {1, 2},
18579 },
18580 clobbers: 20487,
18581 },
18582 },
18583 {
18584 name: "LoweredZero",
18585 auxType: auxInt64,
18586 argLen: 4,
18587 clobberFlags: true,
18588 faultOnNilArg0: true,
18589 reg: regInfo{
18590 inputs: []inputInfo{
18591 {0, 2},
18592 {1, 21503},
18593 {2, 21503},
18594 },
18595 clobbers: 2,
18596 },
18597 },
18598 {
18599 name: "LoweredMove",
18600 auxType: auxInt64,
18601 argLen: 4,
18602 clobberFlags: true,
18603 faultOnNilArg0: true,
18604 faultOnNilArg1: true,
18605 reg: regInfo{
18606 inputs: []inputInfo{
18607 {0, 4},
18608 {1, 2},
18609 {2, 21503},
18610 },
18611 clobbers: 6,
18612 },
18613 },
18614 {
18615 name: "LoweredGetClosurePtr",
18616 argLen: 0,
18617 zeroWidth: true,
18618 reg: regInfo{
18619 outputs: []outputInfo{
18620 {0, 128},
18621 },
18622 },
18623 },
18624 {
18625 name: "LoweredGetCallerSP",
18626 argLen: 1,
18627 rematerializeable: true,
18628 reg: regInfo{
18629 outputs: []outputInfo{
18630 {0, 21503},
18631 },
18632 },
18633 },
18634 {
18635 name: "LoweredGetCallerPC",
18636 argLen: 0,
18637 rematerializeable: true,
18638 reg: regInfo{
18639 outputs: []outputInfo{
18640 {0, 21503},
18641 },
18642 },
18643 },
18644 {
18645 name: "LoweredPanicBoundsA",
18646 auxType: auxInt64,
18647 argLen: 3,
18648 call: true,
18649 reg: regInfo{
18650 inputs: []inputInfo{
18651 {0, 4},
18652 {1, 8},
18653 },
18654 },
18655 },
18656 {
18657 name: "LoweredPanicBoundsB",
18658 auxType: auxInt64,
18659 argLen: 3,
18660 call: true,
18661 reg: regInfo{
18662 inputs: []inputInfo{
18663 {0, 2},
18664 {1, 4},
18665 },
18666 },
18667 },
18668 {
18669 name: "LoweredPanicBoundsC",
18670 auxType: auxInt64,
18671 argLen: 3,
18672 call: true,
18673 reg: regInfo{
18674 inputs: []inputInfo{
18675 {0, 1},
18676 {1, 2},
18677 },
18678 },
18679 },
18680 {
18681 name: "LoweredPanicExtendA",
18682 auxType: auxInt64,
18683 argLen: 4,
18684 call: true,
18685 reg: regInfo{
18686 inputs: []inputInfo{
18687 {0, 16},
18688 {1, 4},
18689 {2, 8},
18690 },
18691 },
18692 },
18693 {
18694 name: "LoweredPanicExtendB",
18695 auxType: auxInt64,
18696 argLen: 4,
18697 call: true,
18698 reg: regInfo{
18699 inputs: []inputInfo{
18700 {0, 16},
18701 {1, 2},
18702 {2, 4},
18703 },
18704 },
18705 },
18706 {
18707 name: "LoweredPanicExtendC",
18708 auxType: auxInt64,
18709 argLen: 4,
18710 call: true,
18711 reg: regInfo{
18712 inputs: []inputInfo{
18713 {0, 16},
18714 {1, 1},
18715 {2, 2},
18716 },
18717 },
18718 },
18719 {
18720 name: "FlagConstant",
18721 auxType: auxFlagConstant,
18722 argLen: 0,
18723 reg: regInfo{},
18724 },
18725 {
18726 name: "InvertFlags",
18727 argLen: 1,
18728 reg: regInfo{},
18729 },
18730 {
18731 name: "LoweredWB",
18732 auxType: auxInt64,
18733 argLen: 1,
18734 clobberFlags: true,
18735 reg: regInfo{
18736 clobbers: 4294922240,
18737 outputs: []outputInfo{
18738 {0, 256},
18739 },
18740 },
18741 },
18742
18743 {
18744 name: "ADCSflags",
18745 argLen: 3,
18746 commutative: true,
18747 asm: arm64.AADCS,
18748 reg: regInfo{
18749 inputs: []inputInfo{
18750 {0, 670826495},
18751 {1, 670826495},
18752 },
18753 outputs: []outputInfo{
18754 {1, 0},
18755 {0, 670826495},
18756 },
18757 },
18758 },
18759 {
18760 name: "ADCzerocarry",
18761 argLen: 1,
18762 asm: arm64.AADC,
18763 reg: regInfo{
18764 outputs: []outputInfo{
18765 {0, 670826495},
18766 },
18767 },
18768 },
18769 {
18770 name: "ADD",
18771 argLen: 2,
18772 commutative: true,
18773 asm: arm64.AADD,
18774 reg: regInfo{
18775 inputs: []inputInfo{
18776 {0, 805044223},
18777 {1, 805044223},
18778 },
18779 outputs: []outputInfo{
18780 {0, 670826495},
18781 },
18782 },
18783 },
18784 {
18785 name: "ADDconst",
18786 auxType: auxInt64,
18787 argLen: 1,
18788 asm: arm64.AADD,
18789 reg: regInfo{
18790 inputs: []inputInfo{
18791 {0, 1878786047},
18792 },
18793 outputs: []outputInfo{
18794 {0, 670826495},
18795 },
18796 },
18797 },
18798 {
18799 name: "ADDSconstflags",
18800 auxType: auxInt64,
18801 argLen: 1,
18802 asm: arm64.AADDS,
18803 reg: regInfo{
18804 inputs: []inputInfo{
18805 {0, 805044223},
18806 },
18807 outputs: []outputInfo{
18808 {1, 0},
18809 {0, 670826495},
18810 },
18811 },
18812 },
18813 {
18814 name: "ADDSflags",
18815 argLen: 2,
18816 commutative: true,
18817 asm: arm64.AADDS,
18818 reg: regInfo{
18819 inputs: []inputInfo{
18820 {0, 670826495},
18821 {1, 670826495},
18822 },
18823 outputs: []outputInfo{
18824 {1, 0},
18825 {0, 670826495},
18826 },
18827 },
18828 },
18829 {
18830 name: "SUB",
18831 argLen: 2,
18832 asm: arm64.ASUB,
18833 reg: regInfo{
18834 inputs: []inputInfo{
18835 {0, 805044223},
18836 {1, 805044223},
18837 },
18838 outputs: []outputInfo{
18839 {0, 670826495},
18840 },
18841 },
18842 },
18843 {
18844 name: "SUBconst",
18845 auxType: auxInt64,
18846 argLen: 1,
18847 asm: arm64.ASUB,
18848 reg: regInfo{
18849 inputs: []inputInfo{
18850 {0, 805044223},
18851 },
18852 outputs: []outputInfo{
18853 {0, 670826495},
18854 },
18855 },
18856 },
18857 {
18858 name: "SBCSflags",
18859 argLen: 3,
18860 asm: arm64.ASBCS,
18861 reg: regInfo{
18862 inputs: []inputInfo{
18863 {0, 670826495},
18864 {1, 670826495},
18865 },
18866 outputs: []outputInfo{
18867 {1, 0},
18868 {0, 670826495},
18869 },
18870 },
18871 },
18872 {
18873 name: "SUBSflags",
18874 argLen: 2,
18875 asm: arm64.ASUBS,
18876 reg: regInfo{
18877 inputs: []inputInfo{
18878 {0, 670826495},
18879 {1, 670826495},
18880 },
18881 outputs: []outputInfo{
18882 {1, 0},
18883 {0, 670826495},
18884 },
18885 },
18886 },
18887 {
18888 name: "MUL",
18889 argLen: 2,
18890 commutative: true,
18891 asm: arm64.AMUL,
18892 reg: regInfo{
18893 inputs: []inputInfo{
18894 {0, 805044223},
18895 {1, 805044223},
18896 },
18897 outputs: []outputInfo{
18898 {0, 670826495},
18899 },
18900 },
18901 },
18902 {
18903 name: "MULW",
18904 argLen: 2,
18905 commutative: true,
18906 asm: arm64.AMULW,
18907 reg: regInfo{
18908 inputs: []inputInfo{
18909 {0, 805044223},
18910 {1, 805044223},
18911 },
18912 outputs: []outputInfo{
18913 {0, 670826495},
18914 },
18915 },
18916 },
18917 {
18918 name: "MNEG",
18919 argLen: 2,
18920 commutative: true,
18921 asm: arm64.AMNEG,
18922 reg: regInfo{
18923 inputs: []inputInfo{
18924 {0, 805044223},
18925 {1, 805044223},
18926 },
18927 outputs: []outputInfo{
18928 {0, 670826495},
18929 },
18930 },
18931 },
18932 {
18933 name: "MNEGW",
18934 argLen: 2,
18935 commutative: true,
18936 asm: arm64.AMNEGW,
18937 reg: regInfo{
18938 inputs: []inputInfo{
18939 {0, 805044223},
18940 {1, 805044223},
18941 },
18942 outputs: []outputInfo{
18943 {0, 670826495},
18944 },
18945 },
18946 },
18947 {
18948 name: "MULH",
18949 argLen: 2,
18950 commutative: true,
18951 asm: arm64.ASMULH,
18952 reg: regInfo{
18953 inputs: []inputInfo{
18954 {0, 805044223},
18955 {1, 805044223},
18956 },
18957 outputs: []outputInfo{
18958 {0, 670826495},
18959 },
18960 },
18961 },
18962 {
18963 name: "UMULH",
18964 argLen: 2,
18965 commutative: true,
18966 asm: arm64.AUMULH,
18967 reg: regInfo{
18968 inputs: []inputInfo{
18969 {0, 805044223},
18970 {1, 805044223},
18971 },
18972 outputs: []outputInfo{
18973 {0, 670826495},
18974 },
18975 },
18976 },
18977 {
18978 name: "MULL",
18979 argLen: 2,
18980 commutative: true,
18981 asm: arm64.ASMULL,
18982 reg: regInfo{
18983 inputs: []inputInfo{
18984 {0, 805044223},
18985 {1, 805044223},
18986 },
18987 outputs: []outputInfo{
18988 {0, 670826495},
18989 },
18990 },
18991 },
18992 {
18993 name: "UMULL",
18994 argLen: 2,
18995 commutative: true,
18996 asm: arm64.AUMULL,
18997 reg: regInfo{
18998 inputs: []inputInfo{
18999 {0, 805044223},
19000 {1, 805044223},
19001 },
19002 outputs: []outputInfo{
19003 {0, 670826495},
19004 },
19005 },
19006 },
19007 {
19008 name: "DIV",
19009 argLen: 2,
19010 asm: arm64.ASDIV,
19011 reg: regInfo{
19012 inputs: []inputInfo{
19013 {0, 805044223},
19014 {1, 805044223},
19015 },
19016 outputs: []outputInfo{
19017 {0, 670826495},
19018 },
19019 },
19020 },
19021 {
19022 name: "UDIV",
19023 argLen: 2,
19024 asm: arm64.AUDIV,
19025 reg: regInfo{
19026 inputs: []inputInfo{
19027 {0, 805044223},
19028 {1, 805044223},
19029 },
19030 outputs: []outputInfo{
19031 {0, 670826495},
19032 },
19033 },
19034 },
19035 {
19036 name: "DIVW",
19037 argLen: 2,
19038 asm: arm64.ASDIVW,
19039 reg: regInfo{
19040 inputs: []inputInfo{
19041 {0, 805044223},
19042 {1, 805044223},
19043 },
19044 outputs: []outputInfo{
19045 {0, 670826495},
19046 },
19047 },
19048 },
19049 {
19050 name: "UDIVW",
19051 argLen: 2,
19052 asm: arm64.AUDIVW,
19053 reg: regInfo{
19054 inputs: []inputInfo{
19055 {0, 805044223},
19056 {1, 805044223},
19057 },
19058 outputs: []outputInfo{
19059 {0, 670826495},
19060 },
19061 },
19062 },
19063 {
19064 name: "MOD",
19065 argLen: 2,
19066 asm: arm64.AREM,
19067 reg: regInfo{
19068 inputs: []inputInfo{
19069 {0, 805044223},
19070 {1, 805044223},
19071 },
19072 outputs: []outputInfo{
19073 {0, 670826495},
19074 },
19075 },
19076 },
19077 {
19078 name: "UMOD",
19079 argLen: 2,
19080 asm: arm64.AUREM,
19081 reg: regInfo{
19082 inputs: []inputInfo{
19083 {0, 805044223},
19084 {1, 805044223},
19085 },
19086 outputs: []outputInfo{
19087 {0, 670826495},
19088 },
19089 },
19090 },
19091 {
19092 name: "MODW",
19093 argLen: 2,
19094 asm: arm64.AREMW,
19095 reg: regInfo{
19096 inputs: []inputInfo{
19097 {0, 805044223},
19098 {1, 805044223},
19099 },
19100 outputs: []outputInfo{
19101 {0, 670826495},
19102 },
19103 },
19104 },
19105 {
19106 name: "UMODW",
19107 argLen: 2,
19108 asm: arm64.AUREMW,
19109 reg: regInfo{
19110 inputs: []inputInfo{
19111 {0, 805044223},
19112 {1, 805044223},
19113 },
19114 outputs: []outputInfo{
19115 {0, 670826495},
19116 },
19117 },
19118 },
19119 {
19120 name: "FADDS",
19121 argLen: 2,
19122 commutative: true,
19123 asm: arm64.AFADDS,
19124 reg: regInfo{
19125 inputs: []inputInfo{
19126 {0, 9223372034707292160},
19127 {1, 9223372034707292160},
19128 },
19129 outputs: []outputInfo{
19130 {0, 9223372034707292160},
19131 },
19132 },
19133 },
19134 {
19135 name: "FADDD",
19136 argLen: 2,
19137 commutative: true,
19138 asm: arm64.AFADDD,
19139 reg: regInfo{
19140 inputs: []inputInfo{
19141 {0, 9223372034707292160},
19142 {1, 9223372034707292160},
19143 },
19144 outputs: []outputInfo{
19145 {0, 9223372034707292160},
19146 },
19147 },
19148 },
19149 {
19150 name: "FSUBS",
19151 argLen: 2,
19152 asm: arm64.AFSUBS,
19153 reg: regInfo{
19154 inputs: []inputInfo{
19155 {0, 9223372034707292160},
19156 {1, 9223372034707292160},
19157 },
19158 outputs: []outputInfo{
19159 {0, 9223372034707292160},
19160 },
19161 },
19162 },
19163 {
19164 name: "FSUBD",
19165 argLen: 2,
19166 asm: arm64.AFSUBD,
19167 reg: regInfo{
19168 inputs: []inputInfo{
19169 {0, 9223372034707292160},
19170 {1, 9223372034707292160},
19171 },
19172 outputs: []outputInfo{
19173 {0, 9223372034707292160},
19174 },
19175 },
19176 },
19177 {
19178 name: "FMULS",
19179 argLen: 2,
19180 commutative: true,
19181 asm: arm64.AFMULS,
19182 reg: regInfo{
19183 inputs: []inputInfo{
19184 {0, 9223372034707292160},
19185 {1, 9223372034707292160},
19186 },
19187 outputs: []outputInfo{
19188 {0, 9223372034707292160},
19189 },
19190 },
19191 },
19192 {
19193 name: "FMULD",
19194 argLen: 2,
19195 commutative: true,
19196 asm: arm64.AFMULD,
19197 reg: regInfo{
19198 inputs: []inputInfo{
19199 {0, 9223372034707292160},
19200 {1, 9223372034707292160},
19201 },
19202 outputs: []outputInfo{
19203 {0, 9223372034707292160},
19204 },
19205 },
19206 },
19207 {
19208 name: "FNMULS",
19209 argLen: 2,
19210 commutative: true,
19211 asm: arm64.AFNMULS,
19212 reg: regInfo{
19213 inputs: []inputInfo{
19214 {0, 9223372034707292160},
19215 {1, 9223372034707292160},
19216 },
19217 outputs: []outputInfo{
19218 {0, 9223372034707292160},
19219 },
19220 },
19221 },
19222 {
19223 name: "FNMULD",
19224 argLen: 2,
19225 commutative: true,
19226 asm: arm64.AFNMULD,
19227 reg: regInfo{
19228 inputs: []inputInfo{
19229 {0, 9223372034707292160},
19230 {1, 9223372034707292160},
19231 },
19232 outputs: []outputInfo{
19233 {0, 9223372034707292160},
19234 },
19235 },
19236 },
19237 {
19238 name: "FDIVS",
19239 argLen: 2,
19240 asm: arm64.AFDIVS,
19241 reg: regInfo{
19242 inputs: []inputInfo{
19243 {0, 9223372034707292160},
19244 {1, 9223372034707292160},
19245 },
19246 outputs: []outputInfo{
19247 {0, 9223372034707292160},
19248 },
19249 },
19250 },
19251 {
19252 name: "FDIVD",
19253 argLen: 2,
19254 asm: arm64.AFDIVD,
19255 reg: regInfo{
19256 inputs: []inputInfo{
19257 {0, 9223372034707292160},
19258 {1, 9223372034707292160},
19259 },
19260 outputs: []outputInfo{
19261 {0, 9223372034707292160},
19262 },
19263 },
19264 },
19265 {
19266 name: "AND",
19267 argLen: 2,
19268 commutative: true,
19269 asm: arm64.AAND,
19270 reg: regInfo{
19271 inputs: []inputInfo{
19272 {0, 805044223},
19273 {1, 805044223},
19274 },
19275 outputs: []outputInfo{
19276 {0, 670826495},
19277 },
19278 },
19279 },
19280 {
19281 name: "ANDconst",
19282 auxType: auxInt64,
19283 argLen: 1,
19284 asm: arm64.AAND,
19285 reg: regInfo{
19286 inputs: []inputInfo{
19287 {0, 805044223},
19288 },
19289 outputs: []outputInfo{
19290 {0, 670826495},
19291 },
19292 },
19293 },
19294 {
19295 name: "OR",
19296 argLen: 2,
19297 commutative: true,
19298 asm: arm64.AORR,
19299 reg: regInfo{
19300 inputs: []inputInfo{
19301 {0, 805044223},
19302 {1, 805044223},
19303 },
19304 outputs: []outputInfo{
19305 {0, 670826495},
19306 },
19307 },
19308 },
19309 {
19310 name: "ORconst",
19311 auxType: auxInt64,
19312 argLen: 1,
19313 asm: arm64.AORR,
19314 reg: regInfo{
19315 inputs: []inputInfo{
19316 {0, 805044223},
19317 },
19318 outputs: []outputInfo{
19319 {0, 670826495},
19320 },
19321 },
19322 },
19323 {
19324 name: "XOR",
19325 argLen: 2,
19326 commutative: true,
19327 asm: arm64.AEOR,
19328 reg: regInfo{
19329 inputs: []inputInfo{
19330 {0, 805044223},
19331 {1, 805044223},
19332 },
19333 outputs: []outputInfo{
19334 {0, 670826495},
19335 },
19336 },
19337 },
19338 {
19339 name: "XORconst",
19340 auxType: auxInt64,
19341 argLen: 1,
19342 asm: arm64.AEOR,
19343 reg: regInfo{
19344 inputs: []inputInfo{
19345 {0, 805044223},
19346 },
19347 outputs: []outputInfo{
19348 {0, 670826495},
19349 },
19350 },
19351 },
19352 {
19353 name: "BIC",
19354 argLen: 2,
19355 asm: arm64.ABIC,
19356 reg: regInfo{
19357 inputs: []inputInfo{
19358 {0, 805044223},
19359 {1, 805044223},
19360 },
19361 outputs: []outputInfo{
19362 {0, 670826495},
19363 },
19364 },
19365 },
19366 {
19367 name: "EON",
19368 argLen: 2,
19369 asm: arm64.AEON,
19370 reg: regInfo{
19371 inputs: []inputInfo{
19372 {0, 805044223},
19373 {1, 805044223},
19374 },
19375 outputs: []outputInfo{
19376 {0, 670826495},
19377 },
19378 },
19379 },
19380 {
19381 name: "ORN",
19382 argLen: 2,
19383 asm: arm64.AORN,
19384 reg: regInfo{
19385 inputs: []inputInfo{
19386 {0, 805044223},
19387 {1, 805044223},
19388 },
19389 outputs: []outputInfo{
19390 {0, 670826495},
19391 },
19392 },
19393 },
19394 {
19395 name: "MVN",
19396 argLen: 1,
19397 asm: arm64.AMVN,
19398 reg: regInfo{
19399 inputs: []inputInfo{
19400 {0, 805044223},
19401 },
19402 outputs: []outputInfo{
19403 {0, 670826495},
19404 },
19405 },
19406 },
19407 {
19408 name: "NEG",
19409 argLen: 1,
19410 asm: arm64.ANEG,
19411 reg: regInfo{
19412 inputs: []inputInfo{
19413 {0, 805044223},
19414 },
19415 outputs: []outputInfo{
19416 {0, 670826495},
19417 },
19418 },
19419 },
19420 {
19421 name: "NEGSflags",
19422 argLen: 1,
19423 asm: arm64.ANEGS,
19424 reg: regInfo{
19425 inputs: []inputInfo{
19426 {0, 805044223},
19427 },
19428 outputs: []outputInfo{
19429 {1, 0},
19430 {0, 670826495},
19431 },
19432 },
19433 },
19434 {
19435 name: "NGCzerocarry",
19436 argLen: 1,
19437 asm: arm64.ANGC,
19438 reg: regInfo{
19439 outputs: []outputInfo{
19440 {0, 670826495},
19441 },
19442 },
19443 },
19444 {
19445 name: "FABSD",
19446 argLen: 1,
19447 asm: arm64.AFABSD,
19448 reg: regInfo{
19449 inputs: []inputInfo{
19450 {0, 9223372034707292160},
19451 },
19452 outputs: []outputInfo{
19453 {0, 9223372034707292160},
19454 },
19455 },
19456 },
19457 {
19458 name: "FNEGS",
19459 argLen: 1,
19460 asm: arm64.AFNEGS,
19461 reg: regInfo{
19462 inputs: []inputInfo{
19463 {0, 9223372034707292160},
19464 },
19465 outputs: []outputInfo{
19466 {0, 9223372034707292160},
19467 },
19468 },
19469 },
19470 {
19471 name: "FNEGD",
19472 argLen: 1,
19473 asm: arm64.AFNEGD,
19474 reg: regInfo{
19475 inputs: []inputInfo{
19476 {0, 9223372034707292160},
19477 },
19478 outputs: []outputInfo{
19479 {0, 9223372034707292160},
19480 },
19481 },
19482 },
19483 {
19484 name: "FSQRTD",
19485 argLen: 1,
19486 asm: arm64.AFSQRTD,
19487 reg: regInfo{
19488 inputs: []inputInfo{
19489 {0, 9223372034707292160},
19490 },
19491 outputs: []outputInfo{
19492 {0, 9223372034707292160},
19493 },
19494 },
19495 },
19496 {
19497 name: "FSQRTS",
19498 argLen: 1,
19499 asm: arm64.AFSQRTS,
19500 reg: regInfo{
19501 inputs: []inputInfo{
19502 {0, 9223372034707292160},
19503 },
19504 outputs: []outputInfo{
19505 {0, 9223372034707292160},
19506 },
19507 },
19508 },
19509 {
19510 name: "FMIND",
19511 argLen: 2,
19512 asm: arm64.AFMIND,
19513 reg: regInfo{
19514 inputs: []inputInfo{
19515 {0, 9223372034707292160},
19516 {1, 9223372034707292160},
19517 },
19518 outputs: []outputInfo{
19519 {0, 9223372034707292160},
19520 },
19521 },
19522 },
19523 {
19524 name: "FMINS",
19525 argLen: 2,
19526 asm: arm64.AFMINS,
19527 reg: regInfo{
19528 inputs: []inputInfo{
19529 {0, 9223372034707292160},
19530 {1, 9223372034707292160},
19531 },
19532 outputs: []outputInfo{
19533 {0, 9223372034707292160},
19534 },
19535 },
19536 },
19537 {
19538 name: "FMAXD",
19539 argLen: 2,
19540 asm: arm64.AFMAXD,
19541 reg: regInfo{
19542 inputs: []inputInfo{
19543 {0, 9223372034707292160},
19544 {1, 9223372034707292160},
19545 },
19546 outputs: []outputInfo{
19547 {0, 9223372034707292160},
19548 },
19549 },
19550 },
19551 {
19552 name: "FMAXS",
19553 argLen: 2,
19554 asm: arm64.AFMAXS,
19555 reg: regInfo{
19556 inputs: []inputInfo{
19557 {0, 9223372034707292160},
19558 {1, 9223372034707292160},
19559 },
19560 outputs: []outputInfo{
19561 {0, 9223372034707292160},
19562 },
19563 },
19564 },
19565 {
19566 name: "REV",
19567 argLen: 1,
19568 asm: arm64.AREV,
19569 reg: regInfo{
19570 inputs: []inputInfo{
19571 {0, 805044223},
19572 },
19573 outputs: []outputInfo{
19574 {0, 670826495},
19575 },
19576 },
19577 },
19578 {
19579 name: "REVW",
19580 argLen: 1,
19581 asm: arm64.AREVW,
19582 reg: regInfo{
19583 inputs: []inputInfo{
19584 {0, 805044223},
19585 },
19586 outputs: []outputInfo{
19587 {0, 670826495},
19588 },
19589 },
19590 },
19591 {
19592 name: "REV16",
19593 argLen: 1,
19594 asm: arm64.AREV16,
19595 reg: regInfo{
19596 inputs: []inputInfo{
19597 {0, 805044223},
19598 },
19599 outputs: []outputInfo{
19600 {0, 670826495},
19601 },
19602 },
19603 },
19604 {
19605 name: "REV16W",
19606 argLen: 1,
19607 asm: arm64.AREV16W,
19608 reg: regInfo{
19609 inputs: []inputInfo{
19610 {0, 805044223},
19611 },
19612 outputs: []outputInfo{
19613 {0, 670826495},
19614 },
19615 },
19616 },
19617 {
19618 name: "RBIT",
19619 argLen: 1,
19620 asm: arm64.ARBIT,
19621 reg: regInfo{
19622 inputs: []inputInfo{
19623 {0, 805044223},
19624 },
19625 outputs: []outputInfo{
19626 {0, 670826495},
19627 },
19628 },
19629 },
19630 {
19631 name: "RBITW",
19632 argLen: 1,
19633 asm: arm64.ARBITW,
19634 reg: regInfo{
19635 inputs: []inputInfo{
19636 {0, 805044223},
19637 },
19638 outputs: []outputInfo{
19639 {0, 670826495},
19640 },
19641 },
19642 },
19643 {
19644 name: "CLZ",
19645 argLen: 1,
19646 asm: arm64.ACLZ,
19647 reg: regInfo{
19648 inputs: []inputInfo{
19649 {0, 805044223},
19650 },
19651 outputs: []outputInfo{
19652 {0, 670826495},
19653 },
19654 },
19655 },
19656 {
19657 name: "CLZW",
19658 argLen: 1,
19659 asm: arm64.ACLZW,
19660 reg: regInfo{
19661 inputs: []inputInfo{
19662 {0, 805044223},
19663 },
19664 outputs: []outputInfo{
19665 {0, 670826495},
19666 },
19667 },
19668 },
19669 {
19670 name: "VCNT",
19671 argLen: 1,
19672 asm: arm64.AVCNT,
19673 reg: regInfo{
19674 inputs: []inputInfo{
19675 {0, 9223372034707292160},
19676 },
19677 outputs: []outputInfo{
19678 {0, 9223372034707292160},
19679 },
19680 },
19681 },
19682 {
19683 name: "VUADDLV",
19684 argLen: 1,
19685 asm: arm64.AVUADDLV,
19686 reg: regInfo{
19687 inputs: []inputInfo{
19688 {0, 9223372034707292160},
19689 },
19690 outputs: []outputInfo{
19691 {0, 9223372034707292160},
19692 },
19693 },
19694 },
19695 {
19696 name: "LoweredRound32F",
19697 argLen: 1,
19698 resultInArg0: true,
19699 zeroWidth: true,
19700 reg: regInfo{
19701 inputs: []inputInfo{
19702 {0, 9223372034707292160},
19703 },
19704 outputs: []outputInfo{
19705 {0, 9223372034707292160},
19706 },
19707 },
19708 },
19709 {
19710 name: "LoweredRound64F",
19711 argLen: 1,
19712 resultInArg0: true,
19713 zeroWidth: true,
19714 reg: regInfo{
19715 inputs: []inputInfo{
19716 {0, 9223372034707292160},
19717 },
19718 outputs: []outputInfo{
19719 {0, 9223372034707292160},
19720 },
19721 },
19722 },
19723 {
19724 name: "FMADDS",
19725 argLen: 3,
19726 asm: arm64.AFMADDS,
19727 reg: regInfo{
19728 inputs: []inputInfo{
19729 {0, 9223372034707292160},
19730 {1, 9223372034707292160},
19731 {2, 9223372034707292160},
19732 },
19733 outputs: []outputInfo{
19734 {0, 9223372034707292160},
19735 },
19736 },
19737 },
19738 {
19739 name: "FMADDD",
19740 argLen: 3,
19741 asm: arm64.AFMADDD,
19742 reg: regInfo{
19743 inputs: []inputInfo{
19744 {0, 9223372034707292160},
19745 {1, 9223372034707292160},
19746 {2, 9223372034707292160},
19747 },
19748 outputs: []outputInfo{
19749 {0, 9223372034707292160},
19750 },
19751 },
19752 },
19753 {
19754 name: "FNMADDS",
19755 argLen: 3,
19756 asm: arm64.AFNMADDS,
19757 reg: regInfo{
19758 inputs: []inputInfo{
19759 {0, 9223372034707292160},
19760 {1, 9223372034707292160},
19761 {2, 9223372034707292160},
19762 },
19763 outputs: []outputInfo{
19764 {0, 9223372034707292160},
19765 },
19766 },
19767 },
19768 {
19769 name: "FNMADDD",
19770 argLen: 3,
19771 asm: arm64.AFNMADDD,
19772 reg: regInfo{
19773 inputs: []inputInfo{
19774 {0, 9223372034707292160},
19775 {1, 9223372034707292160},
19776 {2, 9223372034707292160},
19777 },
19778 outputs: []outputInfo{
19779 {0, 9223372034707292160},
19780 },
19781 },
19782 },
19783 {
19784 name: "FMSUBS",
19785 argLen: 3,
19786 asm: arm64.AFMSUBS,
19787 reg: regInfo{
19788 inputs: []inputInfo{
19789 {0, 9223372034707292160},
19790 {1, 9223372034707292160},
19791 {2, 9223372034707292160},
19792 },
19793 outputs: []outputInfo{
19794 {0, 9223372034707292160},
19795 },
19796 },
19797 },
19798 {
19799 name: "FMSUBD",
19800 argLen: 3,
19801 asm: arm64.AFMSUBD,
19802 reg: regInfo{
19803 inputs: []inputInfo{
19804 {0, 9223372034707292160},
19805 {1, 9223372034707292160},
19806 {2, 9223372034707292160},
19807 },
19808 outputs: []outputInfo{
19809 {0, 9223372034707292160},
19810 },
19811 },
19812 },
19813 {
19814 name: "FNMSUBS",
19815 argLen: 3,
19816 asm: arm64.AFNMSUBS,
19817 reg: regInfo{
19818 inputs: []inputInfo{
19819 {0, 9223372034707292160},
19820 {1, 9223372034707292160},
19821 {2, 9223372034707292160},
19822 },
19823 outputs: []outputInfo{
19824 {0, 9223372034707292160},
19825 },
19826 },
19827 },
19828 {
19829 name: "FNMSUBD",
19830 argLen: 3,
19831 asm: arm64.AFNMSUBD,
19832 reg: regInfo{
19833 inputs: []inputInfo{
19834 {0, 9223372034707292160},
19835 {1, 9223372034707292160},
19836 {2, 9223372034707292160},
19837 },
19838 outputs: []outputInfo{
19839 {0, 9223372034707292160},
19840 },
19841 },
19842 },
19843 {
19844 name: "MADD",
19845 argLen: 3,
19846 asm: arm64.AMADD,
19847 reg: regInfo{
19848 inputs: []inputInfo{
19849 {0, 805044223},
19850 {1, 805044223},
19851 {2, 805044223},
19852 },
19853 outputs: []outputInfo{
19854 {0, 670826495},
19855 },
19856 },
19857 },
19858 {
19859 name: "MADDW",
19860 argLen: 3,
19861 asm: arm64.AMADDW,
19862 reg: regInfo{
19863 inputs: []inputInfo{
19864 {0, 805044223},
19865 {1, 805044223},
19866 {2, 805044223},
19867 },
19868 outputs: []outputInfo{
19869 {0, 670826495},
19870 },
19871 },
19872 },
19873 {
19874 name: "MSUB",
19875 argLen: 3,
19876 asm: arm64.AMSUB,
19877 reg: regInfo{
19878 inputs: []inputInfo{
19879 {0, 805044223},
19880 {1, 805044223},
19881 {2, 805044223},
19882 },
19883 outputs: []outputInfo{
19884 {0, 670826495},
19885 },
19886 },
19887 },
19888 {
19889 name: "MSUBW",
19890 argLen: 3,
19891 asm: arm64.AMSUBW,
19892 reg: regInfo{
19893 inputs: []inputInfo{
19894 {0, 805044223},
19895 {1, 805044223},
19896 {2, 805044223},
19897 },
19898 outputs: []outputInfo{
19899 {0, 670826495},
19900 },
19901 },
19902 },
19903 {
19904 name: "SLL",
19905 argLen: 2,
19906 asm: arm64.ALSL,
19907 reg: regInfo{
19908 inputs: []inputInfo{
19909 {0, 805044223},
19910 {1, 805044223},
19911 },
19912 outputs: []outputInfo{
19913 {0, 670826495},
19914 },
19915 },
19916 },
19917 {
19918 name: "SLLconst",
19919 auxType: auxInt64,
19920 argLen: 1,
19921 asm: arm64.ALSL,
19922 reg: regInfo{
19923 inputs: []inputInfo{
19924 {0, 805044223},
19925 },
19926 outputs: []outputInfo{
19927 {0, 670826495},
19928 },
19929 },
19930 },
19931 {
19932 name: "SRL",
19933 argLen: 2,
19934 asm: arm64.ALSR,
19935 reg: regInfo{
19936 inputs: []inputInfo{
19937 {0, 805044223},
19938 {1, 805044223},
19939 },
19940 outputs: []outputInfo{
19941 {0, 670826495},
19942 },
19943 },
19944 },
19945 {
19946 name: "SRLconst",
19947 auxType: auxInt64,
19948 argLen: 1,
19949 asm: arm64.ALSR,
19950 reg: regInfo{
19951 inputs: []inputInfo{
19952 {0, 805044223},
19953 },
19954 outputs: []outputInfo{
19955 {0, 670826495},
19956 },
19957 },
19958 },
19959 {
19960 name: "SRA",
19961 argLen: 2,
19962 asm: arm64.AASR,
19963 reg: regInfo{
19964 inputs: []inputInfo{
19965 {0, 805044223},
19966 {1, 805044223},
19967 },
19968 outputs: []outputInfo{
19969 {0, 670826495},
19970 },
19971 },
19972 },
19973 {
19974 name: "SRAconst",
19975 auxType: auxInt64,
19976 argLen: 1,
19977 asm: arm64.AASR,
19978 reg: regInfo{
19979 inputs: []inputInfo{
19980 {0, 805044223},
19981 },
19982 outputs: []outputInfo{
19983 {0, 670826495},
19984 },
19985 },
19986 },
19987 {
19988 name: "ROR",
19989 argLen: 2,
19990 asm: arm64.AROR,
19991 reg: regInfo{
19992 inputs: []inputInfo{
19993 {0, 805044223},
19994 {1, 805044223},
19995 },
19996 outputs: []outputInfo{
19997 {0, 670826495},
19998 },
19999 },
20000 },
20001 {
20002 name: "RORW",
20003 argLen: 2,
20004 asm: arm64.ARORW,
20005 reg: regInfo{
20006 inputs: []inputInfo{
20007 {0, 805044223},
20008 {1, 805044223},
20009 },
20010 outputs: []outputInfo{
20011 {0, 670826495},
20012 },
20013 },
20014 },
20015 {
20016 name: "RORconst",
20017 auxType: auxInt64,
20018 argLen: 1,
20019 asm: arm64.AROR,
20020 reg: regInfo{
20021 inputs: []inputInfo{
20022 {0, 805044223},
20023 },
20024 outputs: []outputInfo{
20025 {0, 670826495},
20026 },
20027 },
20028 },
20029 {
20030 name: "RORWconst",
20031 auxType: auxInt64,
20032 argLen: 1,
20033 asm: arm64.ARORW,
20034 reg: regInfo{
20035 inputs: []inputInfo{
20036 {0, 805044223},
20037 },
20038 outputs: []outputInfo{
20039 {0, 670826495},
20040 },
20041 },
20042 },
20043 {
20044 name: "EXTRconst",
20045 auxType: auxInt64,
20046 argLen: 2,
20047 asm: arm64.AEXTR,
20048 reg: regInfo{
20049 inputs: []inputInfo{
20050 {0, 805044223},
20051 {1, 805044223},
20052 },
20053 outputs: []outputInfo{
20054 {0, 670826495},
20055 },
20056 },
20057 },
20058 {
20059 name: "EXTRWconst",
20060 auxType: auxInt64,
20061 argLen: 2,
20062 asm: arm64.AEXTRW,
20063 reg: regInfo{
20064 inputs: []inputInfo{
20065 {0, 805044223},
20066 {1, 805044223},
20067 },
20068 outputs: []outputInfo{
20069 {0, 670826495},
20070 },
20071 },
20072 },
20073 {
20074 name: "CMP",
20075 argLen: 2,
20076 asm: arm64.ACMP,
20077 reg: regInfo{
20078 inputs: []inputInfo{
20079 {0, 805044223},
20080 {1, 805044223},
20081 },
20082 },
20083 },
20084 {
20085 name: "CMPconst",
20086 auxType: auxInt64,
20087 argLen: 1,
20088 asm: arm64.ACMP,
20089 reg: regInfo{
20090 inputs: []inputInfo{
20091 {0, 805044223},
20092 },
20093 },
20094 },
20095 {
20096 name: "CMPW",
20097 argLen: 2,
20098 asm: arm64.ACMPW,
20099 reg: regInfo{
20100 inputs: []inputInfo{
20101 {0, 805044223},
20102 {1, 805044223},
20103 },
20104 },
20105 },
20106 {
20107 name: "CMPWconst",
20108 auxType: auxInt32,
20109 argLen: 1,
20110 asm: arm64.ACMPW,
20111 reg: regInfo{
20112 inputs: []inputInfo{
20113 {0, 805044223},
20114 },
20115 },
20116 },
20117 {
20118 name: "CMN",
20119 argLen: 2,
20120 commutative: true,
20121 asm: arm64.ACMN,
20122 reg: regInfo{
20123 inputs: []inputInfo{
20124 {0, 805044223},
20125 {1, 805044223},
20126 },
20127 },
20128 },
20129 {
20130 name: "CMNconst",
20131 auxType: auxInt64,
20132 argLen: 1,
20133 asm: arm64.ACMN,
20134 reg: regInfo{
20135 inputs: []inputInfo{
20136 {0, 805044223},
20137 },
20138 },
20139 },
20140 {
20141 name: "CMNW",
20142 argLen: 2,
20143 commutative: true,
20144 asm: arm64.ACMNW,
20145 reg: regInfo{
20146 inputs: []inputInfo{
20147 {0, 805044223},
20148 {1, 805044223},
20149 },
20150 },
20151 },
20152 {
20153 name: "CMNWconst",
20154 auxType: auxInt32,
20155 argLen: 1,
20156 asm: arm64.ACMNW,
20157 reg: regInfo{
20158 inputs: []inputInfo{
20159 {0, 805044223},
20160 },
20161 },
20162 },
20163 {
20164 name: "TST",
20165 argLen: 2,
20166 commutative: true,
20167 asm: arm64.ATST,
20168 reg: regInfo{
20169 inputs: []inputInfo{
20170 {0, 805044223},
20171 {1, 805044223},
20172 },
20173 },
20174 },
20175 {
20176 name: "TSTconst",
20177 auxType: auxInt64,
20178 argLen: 1,
20179 asm: arm64.ATST,
20180 reg: regInfo{
20181 inputs: []inputInfo{
20182 {0, 805044223},
20183 },
20184 },
20185 },
20186 {
20187 name: "TSTW",
20188 argLen: 2,
20189 commutative: true,
20190 asm: arm64.ATSTW,
20191 reg: regInfo{
20192 inputs: []inputInfo{
20193 {0, 805044223},
20194 {1, 805044223},
20195 },
20196 },
20197 },
20198 {
20199 name: "TSTWconst",
20200 auxType: auxInt32,
20201 argLen: 1,
20202 asm: arm64.ATSTW,
20203 reg: regInfo{
20204 inputs: []inputInfo{
20205 {0, 805044223},
20206 },
20207 },
20208 },
20209 {
20210 name: "FCMPS",
20211 argLen: 2,
20212 asm: arm64.AFCMPS,
20213 reg: regInfo{
20214 inputs: []inputInfo{
20215 {0, 9223372034707292160},
20216 {1, 9223372034707292160},
20217 },
20218 },
20219 },
20220 {
20221 name: "FCMPD",
20222 argLen: 2,
20223 asm: arm64.AFCMPD,
20224 reg: regInfo{
20225 inputs: []inputInfo{
20226 {0, 9223372034707292160},
20227 {1, 9223372034707292160},
20228 },
20229 },
20230 },
20231 {
20232 name: "FCMPS0",
20233 argLen: 1,
20234 asm: arm64.AFCMPS,
20235 reg: regInfo{
20236 inputs: []inputInfo{
20237 {0, 9223372034707292160},
20238 },
20239 },
20240 },
20241 {
20242 name: "FCMPD0",
20243 argLen: 1,
20244 asm: arm64.AFCMPD,
20245 reg: regInfo{
20246 inputs: []inputInfo{
20247 {0, 9223372034707292160},
20248 },
20249 },
20250 },
20251 {
20252 name: "MVNshiftLL",
20253 auxType: auxInt64,
20254 argLen: 1,
20255 asm: arm64.AMVN,
20256 reg: regInfo{
20257 inputs: []inputInfo{
20258 {0, 805044223},
20259 },
20260 outputs: []outputInfo{
20261 {0, 670826495},
20262 },
20263 },
20264 },
20265 {
20266 name: "MVNshiftRL",
20267 auxType: auxInt64,
20268 argLen: 1,
20269 asm: arm64.AMVN,
20270 reg: regInfo{
20271 inputs: []inputInfo{
20272 {0, 805044223},
20273 },
20274 outputs: []outputInfo{
20275 {0, 670826495},
20276 },
20277 },
20278 },
20279 {
20280 name: "MVNshiftRA",
20281 auxType: auxInt64,
20282 argLen: 1,
20283 asm: arm64.AMVN,
20284 reg: regInfo{
20285 inputs: []inputInfo{
20286 {0, 805044223},
20287 },
20288 outputs: []outputInfo{
20289 {0, 670826495},
20290 },
20291 },
20292 },
20293 {
20294 name: "MVNshiftRO",
20295 auxType: auxInt64,
20296 argLen: 1,
20297 asm: arm64.AMVN,
20298 reg: regInfo{
20299 inputs: []inputInfo{
20300 {0, 805044223},
20301 },
20302 outputs: []outputInfo{
20303 {0, 670826495},
20304 },
20305 },
20306 },
20307 {
20308 name: "NEGshiftLL",
20309 auxType: auxInt64,
20310 argLen: 1,
20311 asm: arm64.ANEG,
20312 reg: regInfo{
20313 inputs: []inputInfo{
20314 {0, 805044223},
20315 },
20316 outputs: []outputInfo{
20317 {0, 670826495},
20318 },
20319 },
20320 },
20321 {
20322 name: "NEGshiftRL",
20323 auxType: auxInt64,
20324 argLen: 1,
20325 asm: arm64.ANEG,
20326 reg: regInfo{
20327 inputs: []inputInfo{
20328 {0, 805044223},
20329 },
20330 outputs: []outputInfo{
20331 {0, 670826495},
20332 },
20333 },
20334 },
20335 {
20336 name: "NEGshiftRA",
20337 auxType: auxInt64,
20338 argLen: 1,
20339 asm: arm64.ANEG,
20340 reg: regInfo{
20341 inputs: []inputInfo{
20342 {0, 805044223},
20343 },
20344 outputs: []outputInfo{
20345 {0, 670826495},
20346 },
20347 },
20348 },
20349 {
20350 name: "ADDshiftLL",
20351 auxType: auxInt64,
20352 argLen: 2,
20353 asm: arm64.AADD,
20354 reg: regInfo{
20355 inputs: []inputInfo{
20356 {0, 805044223},
20357 {1, 805044223},
20358 },
20359 outputs: []outputInfo{
20360 {0, 670826495},
20361 },
20362 },
20363 },
20364 {
20365 name: "ADDshiftRL",
20366 auxType: auxInt64,
20367 argLen: 2,
20368 asm: arm64.AADD,
20369 reg: regInfo{
20370 inputs: []inputInfo{
20371 {0, 805044223},
20372 {1, 805044223},
20373 },
20374 outputs: []outputInfo{
20375 {0, 670826495},
20376 },
20377 },
20378 },
20379 {
20380 name: "ADDshiftRA",
20381 auxType: auxInt64,
20382 argLen: 2,
20383 asm: arm64.AADD,
20384 reg: regInfo{
20385 inputs: []inputInfo{
20386 {0, 805044223},
20387 {1, 805044223},
20388 },
20389 outputs: []outputInfo{
20390 {0, 670826495},
20391 },
20392 },
20393 },
20394 {
20395 name: "SUBshiftLL",
20396 auxType: auxInt64,
20397 argLen: 2,
20398 asm: arm64.ASUB,
20399 reg: regInfo{
20400 inputs: []inputInfo{
20401 {0, 805044223},
20402 {1, 805044223},
20403 },
20404 outputs: []outputInfo{
20405 {0, 670826495},
20406 },
20407 },
20408 },
20409 {
20410 name: "SUBshiftRL",
20411 auxType: auxInt64,
20412 argLen: 2,
20413 asm: arm64.ASUB,
20414 reg: regInfo{
20415 inputs: []inputInfo{
20416 {0, 805044223},
20417 {1, 805044223},
20418 },
20419 outputs: []outputInfo{
20420 {0, 670826495},
20421 },
20422 },
20423 },
20424 {
20425 name: "SUBshiftRA",
20426 auxType: auxInt64,
20427 argLen: 2,
20428 asm: arm64.ASUB,
20429 reg: regInfo{
20430 inputs: []inputInfo{
20431 {0, 805044223},
20432 {1, 805044223},
20433 },
20434 outputs: []outputInfo{
20435 {0, 670826495},
20436 },
20437 },
20438 },
20439 {
20440 name: "ANDshiftLL",
20441 auxType: auxInt64,
20442 argLen: 2,
20443 asm: arm64.AAND,
20444 reg: regInfo{
20445 inputs: []inputInfo{
20446 {0, 805044223},
20447 {1, 805044223},
20448 },
20449 outputs: []outputInfo{
20450 {0, 670826495},
20451 },
20452 },
20453 },
20454 {
20455 name: "ANDshiftRL",
20456 auxType: auxInt64,
20457 argLen: 2,
20458 asm: arm64.AAND,
20459 reg: regInfo{
20460 inputs: []inputInfo{
20461 {0, 805044223},
20462 {1, 805044223},
20463 },
20464 outputs: []outputInfo{
20465 {0, 670826495},
20466 },
20467 },
20468 },
20469 {
20470 name: "ANDshiftRA",
20471 auxType: auxInt64,
20472 argLen: 2,
20473 asm: arm64.AAND,
20474 reg: regInfo{
20475 inputs: []inputInfo{
20476 {0, 805044223},
20477 {1, 805044223},
20478 },
20479 outputs: []outputInfo{
20480 {0, 670826495},
20481 },
20482 },
20483 },
20484 {
20485 name: "ANDshiftRO",
20486 auxType: auxInt64,
20487 argLen: 2,
20488 asm: arm64.AAND,
20489 reg: regInfo{
20490 inputs: []inputInfo{
20491 {0, 805044223},
20492 {1, 805044223},
20493 },
20494 outputs: []outputInfo{
20495 {0, 670826495},
20496 },
20497 },
20498 },
20499 {
20500 name: "ORshiftLL",
20501 auxType: auxInt64,
20502 argLen: 2,
20503 asm: arm64.AORR,
20504 reg: regInfo{
20505 inputs: []inputInfo{
20506 {0, 805044223},
20507 {1, 805044223},
20508 },
20509 outputs: []outputInfo{
20510 {0, 670826495},
20511 },
20512 },
20513 },
20514 {
20515 name: "ORshiftRL",
20516 auxType: auxInt64,
20517 argLen: 2,
20518 asm: arm64.AORR,
20519 reg: regInfo{
20520 inputs: []inputInfo{
20521 {0, 805044223},
20522 {1, 805044223},
20523 },
20524 outputs: []outputInfo{
20525 {0, 670826495},
20526 },
20527 },
20528 },
20529 {
20530 name: "ORshiftRA",
20531 auxType: auxInt64,
20532 argLen: 2,
20533 asm: arm64.AORR,
20534 reg: regInfo{
20535 inputs: []inputInfo{
20536 {0, 805044223},
20537 {1, 805044223},
20538 },
20539 outputs: []outputInfo{
20540 {0, 670826495},
20541 },
20542 },
20543 },
20544 {
20545 name: "ORshiftRO",
20546 auxType: auxInt64,
20547 argLen: 2,
20548 asm: arm64.AORR,
20549 reg: regInfo{
20550 inputs: []inputInfo{
20551 {0, 805044223},
20552 {1, 805044223},
20553 },
20554 outputs: []outputInfo{
20555 {0, 670826495},
20556 },
20557 },
20558 },
20559 {
20560 name: "XORshiftLL",
20561 auxType: auxInt64,
20562 argLen: 2,
20563 asm: arm64.AEOR,
20564 reg: regInfo{
20565 inputs: []inputInfo{
20566 {0, 805044223},
20567 {1, 805044223},
20568 },
20569 outputs: []outputInfo{
20570 {0, 670826495},
20571 },
20572 },
20573 },
20574 {
20575 name: "XORshiftRL",
20576 auxType: auxInt64,
20577 argLen: 2,
20578 asm: arm64.AEOR,
20579 reg: regInfo{
20580 inputs: []inputInfo{
20581 {0, 805044223},
20582 {1, 805044223},
20583 },
20584 outputs: []outputInfo{
20585 {0, 670826495},
20586 },
20587 },
20588 },
20589 {
20590 name: "XORshiftRA",
20591 auxType: auxInt64,
20592 argLen: 2,
20593 asm: arm64.AEOR,
20594 reg: regInfo{
20595 inputs: []inputInfo{
20596 {0, 805044223},
20597 {1, 805044223},
20598 },
20599 outputs: []outputInfo{
20600 {0, 670826495},
20601 },
20602 },
20603 },
20604 {
20605 name: "XORshiftRO",
20606 auxType: auxInt64,
20607 argLen: 2,
20608 asm: arm64.AEOR,
20609 reg: regInfo{
20610 inputs: []inputInfo{
20611 {0, 805044223},
20612 {1, 805044223},
20613 },
20614 outputs: []outputInfo{
20615 {0, 670826495},
20616 },
20617 },
20618 },
20619 {
20620 name: "BICshiftLL",
20621 auxType: auxInt64,
20622 argLen: 2,
20623 asm: arm64.ABIC,
20624 reg: regInfo{
20625 inputs: []inputInfo{
20626 {0, 805044223},
20627 {1, 805044223},
20628 },
20629 outputs: []outputInfo{
20630 {0, 670826495},
20631 },
20632 },
20633 },
20634 {
20635 name: "BICshiftRL",
20636 auxType: auxInt64,
20637 argLen: 2,
20638 asm: arm64.ABIC,
20639 reg: regInfo{
20640 inputs: []inputInfo{
20641 {0, 805044223},
20642 {1, 805044223},
20643 },
20644 outputs: []outputInfo{
20645 {0, 670826495},
20646 },
20647 },
20648 },
20649 {
20650 name: "BICshiftRA",
20651 auxType: auxInt64,
20652 argLen: 2,
20653 asm: arm64.ABIC,
20654 reg: regInfo{
20655 inputs: []inputInfo{
20656 {0, 805044223},
20657 {1, 805044223},
20658 },
20659 outputs: []outputInfo{
20660 {0, 670826495},
20661 },
20662 },
20663 },
20664 {
20665 name: "BICshiftRO",
20666 auxType: auxInt64,
20667 argLen: 2,
20668 asm: arm64.ABIC,
20669 reg: regInfo{
20670 inputs: []inputInfo{
20671 {0, 805044223},
20672 {1, 805044223},
20673 },
20674 outputs: []outputInfo{
20675 {0, 670826495},
20676 },
20677 },
20678 },
20679 {
20680 name: "EONshiftLL",
20681 auxType: auxInt64,
20682 argLen: 2,
20683 asm: arm64.AEON,
20684 reg: regInfo{
20685 inputs: []inputInfo{
20686 {0, 805044223},
20687 {1, 805044223},
20688 },
20689 outputs: []outputInfo{
20690 {0, 670826495},
20691 },
20692 },
20693 },
20694 {
20695 name: "EONshiftRL",
20696 auxType: auxInt64,
20697 argLen: 2,
20698 asm: arm64.AEON,
20699 reg: regInfo{
20700 inputs: []inputInfo{
20701 {0, 805044223},
20702 {1, 805044223},
20703 },
20704 outputs: []outputInfo{
20705 {0, 670826495},
20706 },
20707 },
20708 },
20709 {
20710 name: "EONshiftRA",
20711 auxType: auxInt64,
20712 argLen: 2,
20713 asm: arm64.AEON,
20714 reg: regInfo{
20715 inputs: []inputInfo{
20716 {0, 805044223},
20717 {1, 805044223},
20718 },
20719 outputs: []outputInfo{
20720 {0, 670826495},
20721 },
20722 },
20723 },
20724 {
20725 name: "EONshiftRO",
20726 auxType: auxInt64,
20727 argLen: 2,
20728 asm: arm64.AEON,
20729 reg: regInfo{
20730 inputs: []inputInfo{
20731 {0, 805044223},
20732 {1, 805044223},
20733 },
20734 outputs: []outputInfo{
20735 {0, 670826495},
20736 },
20737 },
20738 },
20739 {
20740 name: "ORNshiftLL",
20741 auxType: auxInt64,
20742 argLen: 2,
20743 asm: arm64.AORN,
20744 reg: regInfo{
20745 inputs: []inputInfo{
20746 {0, 805044223},
20747 {1, 805044223},
20748 },
20749 outputs: []outputInfo{
20750 {0, 670826495},
20751 },
20752 },
20753 },
20754 {
20755 name: "ORNshiftRL",
20756 auxType: auxInt64,
20757 argLen: 2,
20758 asm: arm64.AORN,
20759 reg: regInfo{
20760 inputs: []inputInfo{
20761 {0, 805044223},
20762 {1, 805044223},
20763 },
20764 outputs: []outputInfo{
20765 {0, 670826495},
20766 },
20767 },
20768 },
20769 {
20770 name: "ORNshiftRA",
20771 auxType: auxInt64,
20772 argLen: 2,
20773 asm: arm64.AORN,
20774 reg: regInfo{
20775 inputs: []inputInfo{
20776 {0, 805044223},
20777 {1, 805044223},
20778 },
20779 outputs: []outputInfo{
20780 {0, 670826495},
20781 },
20782 },
20783 },
20784 {
20785 name: "ORNshiftRO",
20786 auxType: auxInt64,
20787 argLen: 2,
20788 asm: arm64.AORN,
20789 reg: regInfo{
20790 inputs: []inputInfo{
20791 {0, 805044223},
20792 {1, 805044223},
20793 },
20794 outputs: []outputInfo{
20795 {0, 670826495},
20796 },
20797 },
20798 },
20799 {
20800 name: "CMPshiftLL",
20801 auxType: auxInt64,
20802 argLen: 2,
20803 asm: arm64.ACMP,
20804 reg: regInfo{
20805 inputs: []inputInfo{
20806 {0, 805044223},
20807 {1, 805044223},
20808 },
20809 },
20810 },
20811 {
20812 name: "CMPshiftRL",
20813 auxType: auxInt64,
20814 argLen: 2,
20815 asm: arm64.ACMP,
20816 reg: regInfo{
20817 inputs: []inputInfo{
20818 {0, 805044223},
20819 {1, 805044223},
20820 },
20821 },
20822 },
20823 {
20824 name: "CMPshiftRA",
20825 auxType: auxInt64,
20826 argLen: 2,
20827 asm: arm64.ACMP,
20828 reg: regInfo{
20829 inputs: []inputInfo{
20830 {0, 805044223},
20831 {1, 805044223},
20832 },
20833 },
20834 },
20835 {
20836 name: "CMNshiftLL",
20837 auxType: auxInt64,
20838 argLen: 2,
20839 asm: arm64.ACMN,
20840 reg: regInfo{
20841 inputs: []inputInfo{
20842 {0, 805044223},
20843 {1, 805044223},
20844 },
20845 },
20846 },
20847 {
20848 name: "CMNshiftRL",
20849 auxType: auxInt64,
20850 argLen: 2,
20851 asm: arm64.ACMN,
20852 reg: regInfo{
20853 inputs: []inputInfo{
20854 {0, 805044223},
20855 {1, 805044223},
20856 },
20857 },
20858 },
20859 {
20860 name: "CMNshiftRA",
20861 auxType: auxInt64,
20862 argLen: 2,
20863 asm: arm64.ACMN,
20864 reg: regInfo{
20865 inputs: []inputInfo{
20866 {0, 805044223},
20867 {1, 805044223},
20868 },
20869 },
20870 },
20871 {
20872 name: "TSTshiftLL",
20873 auxType: auxInt64,
20874 argLen: 2,
20875 asm: arm64.ATST,
20876 reg: regInfo{
20877 inputs: []inputInfo{
20878 {0, 805044223},
20879 {1, 805044223},
20880 },
20881 },
20882 },
20883 {
20884 name: "TSTshiftRL",
20885 auxType: auxInt64,
20886 argLen: 2,
20887 asm: arm64.ATST,
20888 reg: regInfo{
20889 inputs: []inputInfo{
20890 {0, 805044223},
20891 {1, 805044223},
20892 },
20893 },
20894 },
20895 {
20896 name: "TSTshiftRA",
20897 auxType: auxInt64,
20898 argLen: 2,
20899 asm: arm64.ATST,
20900 reg: regInfo{
20901 inputs: []inputInfo{
20902 {0, 805044223},
20903 {1, 805044223},
20904 },
20905 },
20906 },
20907 {
20908 name: "TSTshiftRO",
20909 auxType: auxInt64,
20910 argLen: 2,
20911 asm: arm64.ATST,
20912 reg: regInfo{
20913 inputs: []inputInfo{
20914 {0, 805044223},
20915 {1, 805044223},
20916 },
20917 },
20918 },
20919 {
20920 name: "BFI",
20921 auxType: auxARM64BitField,
20922 argLen: 2,
20923 resultInArg0: true,
20924 asm: arm64.ABFI,
20925 reg: regInfo{
20926 inputs: []inputInfo{
20927 {0, 670826495},
20928 {1, 670826495},
20929 },
20930 outputs: []outputInfo{
20931 {0, 670826495},
20932 },
20933 },
20934 },
20935 {
20936 name: "BFXIL",
20937 auxType: auxARM64BitField,
20938 argLen: 2,
20939 resultInArg0: true,
20940 asm: arm64.ABFXIL,
20941 reg: regInfo{
20942 inputs: []inputInfo{
20943 {0, 670826495},
20944 {1, 670826495},
20945 },
20946 outputs: []outputInfo{
20947 {0, 670826495},
20948 },
20949 },
20950 },
20951 {
20952 name: "SBFIZ",
20953 auxType: auxARM64BitField,
20954 argLen: 1,
20955 asm: arm64.ASBFIZ,
20956 reg: regInfo{
20957 inputs: []inputInfo{
20958 {0, 805044223},
20959 },
20960 outputs: []outputInfo{
20961 {0, 670826495},
20962 },
20963 },
20964 },
20965 {
20966 name: "SBFX",
20967 auxType: auxARM64BitField,
20968 argLen: 1,
20969 asm: arm64.ASBFX,
20970 reg: regInfo{
20971 inputs: []inputInfo{
20972 {0, 805044223},
20973 },
20974 outputs: []outputInfo{
20975 {0, 670826495},
20976 },
20977 },
20978 },
20979 {
20980 name: "UBFIZ",
20981 auxType: auxARM64BitField,
20982 argLen: 1,
20983 asm: arm64.AUBFIZ,
20984 reg: regInfo{
20985 inputs: []inputInfo{
20986 {0, 805044223},
20987 },
20988 outputs: []outputInfo{
20989 {0, 670826495},
20990 },
20991 },
20992 },
20993 {
20994 name: "UBFX",
20995 auxType: auxARM64BitField,
20996 argLen: 1,
20997 asm: arm64.AUBFX,
20998 reg: regInfo{
20999 inputs: []inputInfo{
21000 {0, 805044223},
21001 },
21002 outputs: []outputInfo{
21003 {0, 670826495},
21004 },
21005 },
21006 },
21007 {
21008 name: "MOVDconst",
21009 auxType: auxInt64,
21010 argLen: 0,
21011 rematerializeable: true,
21012 asm: arm64.AMOVD,
21013 reg: regInfo{
21014 outputs: []outputInfo{
21015 {0, 670826495},
21016 },
21017 },
21018 },
21019 {
21020 name: "FMOVSconst",
21021 auxType: auxFloat64,
21022 argLen: 0,
21023 rematerializeable: true,
21024 asm: arm64.AFMOVS,
21025 reg: regInfo{
21026 outputs: []outputInfo{
21027 {0, 9223372034707292160},
21028 },
21029 },
21030 },
21031 {
21032 name: "FMOVDconst",
21033 auxType: auxFloat64,
21034 argLen: 0,
21035 rematerializeable: true,
21036 asm: arm64.AFMOVD,
21037 reg: regInfo{
21038 outputs: []outputInfo{
21039 {0, 9223372034707292160},
21040 },
21041 },
21042 },
21043 {
21044 name: "MOVDaddr",
21045 auxType: auxSymOff,
21046 argLen: 1,
21047 rematerializeable: true,
21048 symEffect: SymAddr,
21049 asm: arm64.AMOVD,
21050 reg: regInfo{
21051 inputs: []inputInfo{
21052 {0, 9223372037928517632},
21053 },
21054 outputs: []outputInfo{
21055 {0, 670826495},
21056 },
21057 },
21058 },
21059 {
21060 name: "MOVBload",
21061 auxType: auxSymOff,
21062 argLen: 2,
21063 faultOnNilArg0: true,
21064 symEffect: SymRead,
21065 asm: arm64.AMOVB,
21066 reg: regInfo{
21067 inputs: []inputInfo{
21068 {0, 9223372038733561855},
21069 },
21070 outputs: []outputInfo{
21071 {0, 670826495},
21072 },
21073 },
21074 },
21075 {
21076 name: "MOVBUload",
21077 auxType: auxSymOff,
21078 argLen: 2,
21079 faultOnNilArg0: true,
21080 symEffect: SymRead,
21081 asm: arm64.AMOVBU,
21082 reg: regInfo{
21083 inputs: []inputInfo{
21084 {0, 9223372038733561855},
21085 },
21086 outputs: []outputInfo{
21087 {0, 670826495},
21088 },
21089 },
21090 },
21091 {
21092 name: "MOVHload",
21093 auxType: auxSymOff,
21094 argLen: 2,
21095 faultOnNilArg0: true,
21096 symEffect: SymRead,
21097 asm: arm64.AMOVH,
21098 reg: regInfo{
21099 inputs: []inputInfo{
21100 {0, 9223372038733561855},
21101 },
21102 outputs: []outputInfo{
21103 {0, 670826495},
21104 },
21105 },
21106 },
21107 {
21108 name: "MOVHUload",
21109 auxType: auxSymOff,
21110 argLen: 2,
21111 faultOnNilArg0: true,
21112 symEffect: SymRead,
21113 asm: arm64.AMOVHU,
21114 reg: regInfo{
21115 inputs: []inputInfo{
21116 {0, 9223372038733561855},
21117 },
21118 outputs: []outputInfo{
21119 {0, 670826495},
21120 },
21121 },
21122 },
21123 {
21124 name: "MOVWload",
21125 auxType: auxSymOff,
21126 argLen: 2,
21127 faultOnNilArg0: true,
21128 symEffect: SymRead,
21129 asm: arm64.AMOVW,
21130 reg: regInfo{
21131 inputs: []inputInfo{
21132 {0, 9223372038733561855},
21133 },
21134 outputs: []outputInfo{
21135 {0, 670826495},
21136 },
21137 },
21138 },
21139 {
21140 name: "MOVWUload",
21141 auxType: auxSymOff,
21142 argLen: 2,
21143 faultOnNilArg0: true,
21144 symEffect: SymRead,
21145 asm: arm64.AMOVWU,
21146 reg: regInfo{
21147 inputs: []inputInfo{
21148 {0, 9223372038733561855},
21149 },
21150 outputs: []outputInfo{
21151 {0, 670826495},
21152 },
21153 },
21154 },
21155 {
21156 name: "MOVDload",
21157 auxType: auxSymOff,
21158 argLen: 2,
21159 faultOnNilArg0: true,
21160 symEffect: SymRead,
21161 asm: arm64.AMOVD,
21162 reg: regInfo{
21163 inputs: []inputInfo{
21164 {0, 9223372038733561855},
21165 },
21166 outputs: []outputInfo{
21167 {0, 670826495},
21168 },
21169 },
21170 },
21171 {
21172 name: "LDP",
21173 auxType: auxSymOff,
21174 argLen: 2,
21175 faultOnNilArg0: true,
21176 symEffect: SymRead,
21177 asm: arm64.ALDP,
21178 reg: regInfo{
21179 inputs: []inputInfo{
21180 {0, 9223372038733561855},
21181 },
21182 outputs: []outputInfo{
21183 {0, 805044223},
21184 {1, 805044223},
21185 },
21186 },
21187 },
21188 {
21189 name: "FMOVSload",
21190 auxType: auxSymOff,
21191 argLen: 2,
21192 faultOnNilArg0: true,
21193 symEffect: SymRead,
21194 asm: arm64.AFMOVS,
21195 reg: regInfo{
21196 inputs: []inputInfo{
21197 {0, 9223372038733561855},
21198 },
21199 outputs: []outputInfo{
21200 {0, 9223372034707292160},
21201 },
21202 },
21203 },
21204 {
21205 name: "FMOVDload",
21206 auxType: auxSymOff,
21207 argLen: 2,
21208 faultOnNilArg0: true,
21209 symEffect: SymRead,
21210 asm: arm64.AFMOVD,
21211 reg: regInfo{
21212 inputs: []inputInfo{
21213 {0, 9223372038733561855},
21214 },
21215 outputs: []outputInfo{
21216 {0, 9223372034707292160},
21217 },
21218 },
21219 },
21220 {
21221 name: "MOVDloadidx",
21222 argLen: 3,
21223 asm: arm64.AMOVD,
21224 reg: regInfo{
21225 inputs: []inputInfo{
21226 {1, 805044223},
21227 {0, 9223372038733561855},
21228 },
21229 outputs: []outputInfo{
21230 {0, 670826495},
21231 },
21232 },
21233 },
21234 {
21235 name: "MOVWloadidx",
21236 argLen: 3,
21237 asm: arm64.AMOVW,
21238 reg: regInfo{
21239 inputs: []inputInfo{
21240 {1, 805044223},
21241 {0, 9223372038733561855},
21242 },
21243 outputs: []outputInfo{
21244 {0, 670826495},
21245 },
21246 },
21247 },
21248 {
21249 name: "MOVWUloadidx",
21250 argLen: 3,
21251 asm: arm64.AMOVWU,
21252 reg: regInfo{
21253 inputs: []inputInfo{
21254 {1, 805044223},
21255 {0, 9223372038733561855},
21256 },
21257 outputs: []outputInfo{
21258 {0, 670826495},
21259 },
21260 },
21261 },
21262 {
21263 name: "MOVHloadidx",
21264 argLen: 3,
21265 asm: arm64.AMOVH,
21266 reg: regInfo{
21267 inputs: []inputInfo{
21268 {1, 805044223},
21269 {0, 9223372038733561855},
21270 },
21271 outputs: []outputInfo{
21272 {0, 670826495},
21273 },
21274 },
21275 },
21276 {
21277 name: "MOVHUloadidx",
21278 argLen: 3,
21279 asm: arm64.AMOVHU,
21280 reg: regInfo{
21281 inputs: []inputInfo{
21282 {1, 805044223},
21283 {0, 9223372038733561855},
21284 },
21285 outputs: []outputInfo{
21286 {0, 670826495},
21287 },
21288 },
21289 },
21290 {
21291 name: "MOVBloadidx",
21292 argLen: 3,
21293 asm: arm64.AMOVB,
21294 reg: regInfo{
21295 inputs: []inputInfo{
21296 {1, 805044223},
21297 {0, 9223372038733561855},
21298 },
21299 outputs: []outputInfo{
21300 {0, 670826495},
21301 },
21302 },
21303 },
21304 {
21305 name: "MOVBUloadidx",
21306 argLen: 3,
21307 asm: arm64.AMOVBU,
21308 reg: regInfo{
21309 inputs: []inputInfo{
21310 {1, 805044223},
21311 {0, 9223372038733561855},
21312 },
21313 outputs: []outputInfo{
21314 {0, 670826495},
21315 },
21316 },
21317 },
21318 {
21319 name: "FMOVSloadidx",
21320 argLen: 3,
21321 asm: arm64.AFMOVS,
21322 reg: regInfo{
21323 inputs: []inputInfo{
21324 {1, 805044223},
21325 {0, 9223372038733561855},
21326 },
21327 outputs: []outputInfo{
21328 {0, 9223372034707292160},
21329 },
21330 },
21331 },
21332 {
21333 name: "FMOVDloadidx",
21334 argLen: 3,
21335 asm: arm64.AFMOVD,
21336 reg: regInfo{
21337 inputs: []inputInfo{
21338 {1, 805044223},
21339 {0, 9223372038733561855},
21340 },
21341 outputs: []outputInfo{
21342 {0, 9223372034707292160},
21343 },
21344 },
21345 },
21346 {
21347 name: "MOVHloadidx2",
21348 argLen: 3,
21349 asm: arm64.AMOVH,
21350 reg: regInfo{
21351 inputs: []inputInfo{
21352 {1, 805044223},
21353 {0, 9223372038733561855},
21354 },
21355 outputs: []outputInfo{
21356 {0, 670826495},
21357 },
21358 },
21359 },
21360 {
21361 name: "MOVHUloadidx2",
21362 argLen: 3,
21363 asm: arm64.AMOVHU,
21364 reg: regInfo{
21365 inputs: []inputInfo{
21366 {1, 805044223},
21367 {0, 9223372038733561855},
21368 },
21369 outputs: []outputInfo{
21370 {0, 670826495},
21371 },
21372 },
21373 },
21374 {
21375 name: "MOVWloadidx4",
21376 argLen: 3,
21377 asm: arm64.AMOVW,
21378 reg: regInfo{
21379 inputs: []inputInfo{
21380 {1, 805044223},
21381 {0, 9223372038733561855},
21382 },
21383 outputs: []outputInfo{
21384 {0, 670826495},
21385 },
21386 },
21387 },
21388 {
21389 name: "MOVWUloadidx4",
21390 argLen: 3,
21391 asm: arm64.AMOVWU,
21392 reg: regInfo{
21393 inputs: []inputInfo{
21394 {1, 805044223},
21395 {0, 9223372038733561855},
21396 },
21397 outputs: []outputInfo{
21398 {0, 670826495},
21399 },
21400 },
21401 },
21402 {
21403 name: "MOVDloadidx8",
21404 argLen: 3,
21405 asm: arm64.AMOVD,
21406 reg: regInfo{
21407 inputs: []inputInfo{
21408 {1, 805044223},
21409 {0, 9223372038733561855},
21410 },
21411 outputs: []outputInfo{
21412 {0, 670826495},
21413 },
21414 },
21415 },
21416 {
21417 name: "FMOVSloadidx4",
21418 argLen: 3,
21419 asm: arm64.AFMOVS,
21420 reg: regInfo{
21421 inputs: []inputInfo{
21422 {1, 805044223},
21423 {0, 9223372038733561855},
21424 },
21425 outputs: []outputInfo{
21426 {0, 9223372034707292160},
21427 },
21428 },
21429 },
21430 {
21431 name: "FMOVDloadidx8",
21432 argLen: 3,
21433 asm: arm64.AFMOVD,
21434 reg: regInfo{
21435 inputs: []inputInfo{
21436 {1, 805044223},
21437 {0, 9223372038733561855},
21438 },
21439 outputs: []outputInfo{
21440 {0, 9223372034707292160},
21441 },
21442 },
21443 },
21444 {
21445 name: "MOVBstore",
21446 auxType: auxSymOff,
21447 argLen: 3,
21448 faultOnNilArg0: true,
21449 symEffect: SymWrite,
21450 asm: arm64.AMOVB,
21451 reg: regInfo{
21452 inputs: []inputInfo{
21453 {1, 805044223},
21454 {0, 9223372038733561855},
21455 },
21456 },
21457 },
21458 {
21459 name: "MOVHstore",
21460 auxType: auxSymOff,
21461 argLen: 3,
21462 faultOnNilArg0: true,
21463 symEffect: SymWrite,
21464 asm: arm64.AMOVH,
21465 reg: regInfo{
21466 inputs: []inputInfo{
21467 {1, 805044223},
21468 {0, 9223372038733561855},
21469 },
21470 },
21471 },
21472 {
21473 name: "MOVWstore",
21474 auxType: auxSymOff,
21475 argLen: 3,
21476 faultOnNilArg0: true,
21477 symEffect: SymWrite,
21478 asm: arm64.AMOVW,
21479 reg: regInfo{
21480 inputs: []inputInfo{
21481 {1, 805044223},
21482 {0, 9223372038733561855},
21483 },
21484 },
21485 },
21486 {
21487 name: "MOVDstore",
21488 auxType: auxSymOff,
21489 argLen: 3,
21490 faultOnNilArg0: true,
21491 symEffect: SymWrite,
21492 asm: arm64.AMOVD,
21493 reg: regInfo{
21494 inputs: []inputInfo{
21495 {1, 805044223},
21496 {0, 9223372038733561855},
21497 },
21498 },
21499 },
21500 {
21501 name: "STP",
21502 auxType: auxSymOff,
21503 argLen: 4,
21504 faultOnNilArg0: true,
21505 symEffect: SymWrite,
21506 asm: arm64.ASTP,
21507 reg: regInfo{
21508 inputs: []inputInfo{
21509 {1, 805044223},
21510 {2, 805044223},
21511 {0, 9223372038733561855},
21512 },
21513 },
21514 },
21515 {
21516 name: "FMOVSstore",
21517 auxType: auxSymOff,
21518 argLen: 3,
21519 faultOnNilArg0: true,
21520 symEffect: SymWrite,
21521 asm: arm64.AFMOVS,
21522 reg: regInfo{
21523 inputs: []inputInfo{
21524 {0, 9223372038733561855},
21525 {1, 9223372034707292160},
21526 },
21527 },
21528 },
21529 {
21530 name: "FMOVDstore",
21531 auxType: auxSymOff,
21532 argLen: 3,
21533 faultOnNilArg0: true,
21534 symEffect: SymWrite,
21535 asm: arm64.AFMOVD,
21536 reg: regInfo{
21537 inputs: []inputInfo{
21538 {0, 9223372038733561855},
21539 {1, 9223372034707292160},
21540 },
21541 },
21542 },
21543 {
21544 name: "MOVBstoreidx",
21545 argLen: 4,
21546 asm: arm64.AMOVB,
21547 reg: regInfo{
21548 inputs: []inputInfo{
21549 {1, 805044223},
21550 {2, 805044223},
21551 {0, 9223372038733561855},
21552 },
21553 },
21554 },
21555 {
21556 name: "MOVHstoreidx",
21557 argLen: 4,
21558 asm: arm64.AMOVH,
21559 reg: regInfo{
21560 inputs: []inputInfo{
21561 {1, 805044223},
21562 {2, 805044223},
21563 {0, 9223372038733561855},
21564 },
21565 },
21566 },
21567 {
21568 name: "MOVWstoreidx",
21569 argLen: 4,
21570 asm: arm64.AMOVW,
21571 reg: regInfo{
21572 inputs: []inputInfo{
21573 {1, 805044223},
21574 {2, 805044223},
21575 {0, 9223372038733561855},
21576 },
21577 },
21578 },
21579 {
21580 name: "MOVDstoreidx",
21581 argLen: 4,
21582 asm: arm64.AMOVD,
21583 reg: regInfo{
21584 inputs: []inputInfo{
21585 {1, 805044223},
21586 {2, 805044223},
21587 {0, 9223372038733561855},
21588 },
21589 },
21590 },
21591 {
21592 name: "FMOVSstoreidx",
21593 argLen: 4,
21594 asm: arm64.AFMOVS,
21595 reg: regInfo{
21596 inputs: []inputInfo{
21597 {1, 805044223},
21598 {0, 9223372038733561855},
21599 {2, 9223372034707292160},
21600 },
21601 },
21602 },
21603 {
21604 name: "FMOVDstoreidx",
21605 argLen: 4,
21606 asm: arm64.AFMOVD,
21607 reg: regInfo{
21608 inputs: []inputInfo{
21609 {1, 805044223},
21610 {0, 9223372038733561855},
21611 {2, 9223372034707292160},
21612 },
21613 },
21614 },
21615 {
21616 name: "MOVHstoreidx2",
21617 argLen: 4,
21618 asm: arm64.AMOVH,
21619 reg: regInfo{
21620 inputs: []inputInfo{
21621 {1, 805044223},
21622 {2, 805044223},
21623 {0, 9223372038733561855},
21624 },
21625 },
21626 },
21627 {
21628 name: "MOVWstoreidx4",
21629 argLen: 4,
21630 asm: arm64.AMOVW,
21631 reg: regInfo{
21632 inputs: []inputInfo{
21633 {1, 805044223},
21634 {2, 805044223},
21635 {0, 9223372038733561855},
21636 },
21637 },
21638 },
21639 {
21640 name: "MOVDstoreidx8",
21641 argLen: 4,
21642 asm: arm64.AMOVD,
21643 reg: regInfo{
21644 inputs: []inputInfo{
21645 {1, 805044223},
21646 {2, 805044223},
21647 {0, 9223372038733561855},
21648 },
21649 },
21650 },
21651 {
21652 name: "FMOVSstoreidx4",
21653 argLen: 4,
21654 asm: arm64.AFMOVS,
21655 reg: regInfo{
21656 inputs: []inputInfo{
21657 {1, 805044223},
21658 {0, 9223372038733561855},
21659 {2, 9223372034707292160},
21660 },
21661 },
21662 },
21663 {
21664 name: "FMOVDstoreidx8",
21665 argLen: 4,
21666 asm: arm64.AFMOVD,
21667 reg: regInfo{
21668 inputs: []inputInfo{
21669 {1, 805044223},
21670 {0, 9223372038733561855},
21671 {2, 9223372034707292160},
21672 },
21673 },
21674 },
21675 {
21676 name: "MOVBstorezero",
21677 auxType: auxSymOff,
21678 argLen: 2,
21679 faultOnNilArg0: true,
21680 symEffect: SymWrite,
21681 asm: arm64.AMOVB,
21682 reg: regInfo{
21683 inputs: []inputInfo{
21684 {0, 9223372038733561855},
21685 },
21686 },
21687 },
21688 {
21689 name: "MOVHstorezero",
21690 auxType: auxSymOff,
21691 argLen: 2,
21692 faultOnNilArg0: true,
21693 symEffect: SymWrite,
21694 asm: arm64.AMOVH,
21695 reg: regInfo{
21696 inputs: []inputInfo{
21697 {0, 9223372038733561855},
21698 },
21699 },
21700 },
21701 {
21702 name: "MOVWstorezero",
21703 auxType: auxSymOff,
21704 argLen: 2,
21705 faultOnNilArg0: true,
21706 symEffect: SymWrite,
21707 asm: arm64.AMOVW,
21708 reg: regInfo{
21709 inputs: []inputInfo{
21710 {0, 9223372038733561855},
21711 },
21712 },
21713 },
21714 {
21715 name: "MOVDstorezero",
21716 auxType: auxSymOff,
21717 argLen: 2,
21718 faultOnNilArg0: true,
21719 symEffect: SymWrite,
21720 asm: arm64.AMOVD,
21721 reg: regInfo{
21722 inputs: []inputInfo{
21723 {0, 9223372038733561855},
21724 },
21725 },
21726 },
21727 {
21728 name: "MOVQstorezero",
21729 auxType: auxSymOff,
21730 argLen: 2,
21731 faultOnNilArg0: true,
21732 symEffect: SymWrite,
21733 asm: arm64.ASTP,
21734 reg: regInfo{
21735 inputs: []inputInfo{
21736 {0, 9223372038733561855},
21737 },
21738 },
21739 },
21740 {
21741 name: "MOVBstorezeroidx",
21742 argLen: 3,
21743 asm: arm64.AMOVB,
21744 reg: regInfo{
21745 inputs: []inputInfo{
21746 {1, 805044223},
21747 {0, 9223372038733561855},
21748 },
21749 },
21750 },
21751 {
21752 name: "MOVHstorezeroidx",
21753 argLen: 3,
21754 asm: arm64.AMOVH,
21755 reg: regInfo{
21756 inputs: []inputInfo{
21757 {1, 805044223},
21758 {0, 9223372038733561855},
21759 },
21760 },
21761 },
21762 {
21763 name: "MOVWstorezeroidx",
21764 argLen: 3,
21765 asm: arm64.AMOVW,
21766 reg: regInfo{
21767 inputs: []inputInfo{
21768 {1, 805044223},
21769 {0, 9223372038733561855},
21770 },
21771 },
21772 },
21773 {
21774 name: "MOVDstorezeroidx",
21775 argLen: 3,
21776 asm: arm64.AMOVD,
21777 reg: regInfo{
21778 inputs: []inputInfo{
21779 {1, 805044223},
21780 {0, 9223372038733561855},
21781 },
21782 },
21783 },
21784 {
21785 name: "MOVHstorezeroidx2",
21786 argLen: 3,
21787 asm: arm64.AMOVH,
21788 reg: regInfo{
21789 inputs: []inputInfo{
21790 {1, 805044223},
21791 {0, 9223372038733561855},
21792 },
21793 },
21794 },
21795 {
21796 name: "MOVWstorezeroidx4",
21797 argLen: 3,
21798 asm: arm64.AMOVW,
21799 reg: regInfo{
21800 inputs: []inputInfo{
21801 {1, 805044223},
21802 {0, 9223372038733561855},
21803 },
21804 },
21805 },
21806 {
21807 name: "MOVDstorezeroidx8",
21808 argLen: 3,
21809 asm: arm64.AMOVD,
21810 reg: regInfo{
21811 inputs: []inputInfo{
21812 {1, 805044223},
21813 {0, 9223372038733561855},
21814 },
21815 },
21816 },
21817 {
21818 name: "FMOVDgpfp",
21819 argLen: 1,
21820 asm: arm64.AFMOVD,
21821 reg: regInfo{
21822 inputs: []inputInfo{
21823 {0, 670826495},
21824 },
21825 outputs: []outputInfo{
21826 {0, 9223372034707292160},
21827 },
21828 },
21829 },
21830 {
21831 name: "FMOVDfpgp",
21832 argLen: 1,
21833 asm: arm64.AFMOVD,
21834 reg: regInfo{
21835 inputs: []inputInfo{
21836 {0, 9223372034707292160},
21837 },
21838 outputs: []outputInfo{
21839 {0, 670826495},
21840 },
21841 },
21842 },
21843 {
21844 name: "FMOVSgpfp",
21845 argLen: 1,
21846 asm: arm64.AFMOVS,
21847 reg: regInfo{
21848 inputs: []inputInfo{
21849 {0, 670826495},
21850 },
21851 outputs: []outputInfo{
21852 {0, 9223372034707292160},
21853 },
21854 },
21855 },
21856 {
21857 name: "FMOVSfpgp",
21858 argLen: 1,
21859 asm: arm64.AFMOVS,
21860 reg: regInfo{
21861 inputs: []inputInfo{
21862 {0, 9223372034707292160},
21863 },
21864 outputs: []outputInfo{
21865 {0, 670826495},
21866 },
21867 },
21868 },
21869 {
21870 name: "MOVBreg",
21871 argLen: 1,
21872 asm: arm64.AMOVB,
21873 reg: regInfo{
21874 inputs: []inputInfo{
21875 {0, 805044223},
21876 },
21877 outputs: []outputInfo{
21878 {0, 670826495},
21879 },
21880 },
21881 },
21882 {
21883 name: "MOVBUreg",
21884 argLen: 1,
21885 asm: arm64.AMOVBU,
21886 reg: regInfo{
21887 inputs: []inputInfo{
21888 {0, 805044223},
21889 },
21890 outputs: []outputInfo{
21891 {0, 670826495},
21892 },
21893 },
21894 },
21895 {
21896 name: "MOVHreg",
21897 argLen: 1,
21898 asm: arm64.AMOVH,
21899 reg: regInfo{
21900 inputs: []inputInfo{
21901 {0, 805044223},
21902 },
21903 outputs: []outputInfo{
21904 {0, 670826495},
21905 },
21906 },
21907 },
21908 {
21909 name: "MOVHUreg",
21910 argLen: 1,
21911 asm: arm64.AMOVHU,
21912 reg: regInfo{
21913 inputs: []inputInfo{
21914 {0, 805044223},
21915 },
21916 outputs: []outputInfo{
21917 {0, 670826495},
21918 },
21919 },
21920 },
21921 {
21922 name: "MOVWreg",
21923 argLen: 1,
21924 asm: arm64.AMOVW,
21925 reg: regInfo{
21926 inputs: []inputInfo{
21927 {0, 805044223},
21928 },
21929 outputs: []outputInfo{
21930 {0, 670826495},
21931 },
21932 },
21933 },
21934 {
21935 name: "MOVWUreg",
21936 argLen: 1,
21937 asm: arm64.AMOVWU,
21938 reg: regInfo{
21939 inputs: []inputInfo{
21940 {0, 805044223},
21941 },
21942 outputs: []outputInfo{
21943 {0, 670826495},
21944 },
21945 },
21946 },
21947 {
21948 name: "MOVDreg",
21949 argLen: 1,
21950 asm: arm64.AMOVD,
21951 reg: regInfo{
21952 inputs: []inputInfo{
21953 {0, 805044223},
21954 },
21955 outputs: []outputInfo{
21956 {0, 670826495},
21957 },
21958 },
21959 },
21960 {
21961 name: "MOVDnop",
21962 argLen: 1,
21963 resultInArg0: true,
21964 reg: regInfo{
21965 inputs: []inputInfo{
21966 {0, 670826495},
21967 },
21968 outputs: []outputInfo{
21969 {0, 670826495},
21970 },
21971 },
21972 },
21973 {
21974 name: "SCVTFWS",
21975 argLen: 1,
21976 asm: arm64.ASCVTFWS,
21977 reg: regInfo{
21978 inputs: []inputInfo{
21979 {0, 670826495},
21980 },
21981 outputs: []outputInfo{
21982 {0, 9223372034707292160},
21983 },
21984 },
21985 },
21986 {
21987 name: "SCVTFWD",
21988 argLen: 1,
21989 asm: arm64.ASCVTFWD,
21990 reg: regInfo{
21991 inputs: []inputInfo{
21992 {0, 670826495},
21993 },
21994 outputs: []outputInfo{
21995 {0, 9223372034707292160},
21996 },
21997 },
21998 },
21999 {
22000 name: "UCVTFWS",
22001 argLen: 1,
22002 asm: arm64.AUCVTFWS,
22003 reg: regInfo{
22004 inputs: []inputInfo{
22005 {0, 670826495},
22006 },
22007 outputs: []outputInfo{
22008 {0, 9223372034707292160},
22009 },
22010 },
22011 },
22012 {
22013 name: "UCVTFWD",
22014 argLen: 1,
22015 asm: arm64.AUCVTFWD,
22016 reg: regInfo{
22017 inputs: []inputInfo{
22018 {0, 670826495},
22019 },
22020 outputs: []outputInfo{
22021 {0, 9223372034707292160},
22022 },
22023 },
22024 },
22025 {
22026 name: "SCVTFS",
22027 argLen: 1,
22028 asm: arm64.ASCVTFS,
22029 reg: regInfo{
22030 inputs: []inputInfo{
22031 {0, 670826495},
22032 },
22033 outputs: []outputInfo{
22034 {0, 9223372034707292160},
22035 },
22036 },
22037 },
22038 {
22039 name: "SCVTFD",
22040 argLen: 1,
22041 asm: arm64.ASCVTFD,
22042 reg: regInfo{
22043 inputs: []inputInfo{
22044 {0, 670826495},
22045 },
22046 outputs: []outputInfo{
22047 {0, 9223372034707292160},
22048 },
22049 },
22050 },
22051 {
22052 name: "UCVTFS",
22053 argLen: 1,
22054 asm: arm64.AUCVTFS,
22055 reg: regInfo{
22056 inputs: []inputInfo{
22057 {0, 670826495},
22058 },
22059 outputs: []outputInfo{
22060 {0, 9223372034707292160},
22061 },
22062 },
22063 },
22064 {
22065 name: "UCVTFD",
22066 argLen: 1,
22067 asm: arm64.AUCVTFD,
22068 reg: regInfo{
22069 inputs: []inputInfo{
22070 {0, 670826495},
22071 },
22072 outputs: []outputInfo{
22073 {0, 9223372034707292160},
22074 },
22075 },
22076 },
22077 {
22078 name: "FCVTZSSW",
22079 argLen: 1,
22080 asm: arm64.AFCVTZSSW,
22081 reg: regInfo{
22082 inputs: []inputInfo{
22083 {0, 9223372034707292160},
22084 },
22085 outputs: []outputInfo{
22086 {0, 670826495},
22087 },
22088 },
22089 },
22090 {
22091 name: "FCVTZSDW",
22092 argLen: 1,
22093 asm: arm64.AFCVTZSDW,
22094 reg: regInfo{
22095 inputs: []inputInfo{
22096 {0, 9223372034707292160},
22097 },
22098 outputs: []outputInfo{
22099 {0, 670826495},
22100 },
22101 },
22102 },
22103 {
22104 name: "FCVTZUSW",
22105 argLen: 1,
22106 asm: arm64.AFCVTZUSW,
22107 reg: regInfo{
22108 inputs: []inputInfo{
22109 {0, 9223372034707292160},
22110 },
22111 outputs: []outputInfo{
22112 {0, 670826495},
22113 },
22114 },
22115 },
22116 {
22117 name: "FCVTZUDW",
22118 argLen: 1,
22119 asm: arm64.AFCVTZUDW,
22120 reg: regInfo{
22121 inputs: []inputInfo{
22122 {0, 9223372034707292160},
22123 },
22124 outputs: []outputInfo{
22125 {0, 670826495},
22126 },
22127 },
22128 },
22129 {
22130 name: "FCVTZSS",
22131 argLen: 1,
22132 asm: arm64.AFCVTZSS,
22133 reg: regInfo{
22134 inputs: []inputInfo{
22135 {0, 9223372034707292160},
22136 },
22137 outputs: []outputInfo{
22138 {0, 670826495},
22139 },
22140 },
22141 },
22142 {
22143 name: "FCVTZSD",
22144 argLen: 1,
22145 asm: arm64.AFCVTZSD,
22146 reg: regInfo{
22147 inputs: []inputInfo{
22148 {0, 9223372034707292160},
22149 },
22150 outputs: []outputInfo{
22151 {0, 670826495},
22152 },
22153 },
22154 },
22155 {
22156 name: "FCVTZUS",
22157 argLen: 1,
22158 asm: arm64.AFCVTZUS,
22159 reg: regInfo{
22160 inputs: []inputInfo{
22161 {0, 9223372034707292160},
22162 },
22163 outputs: []outputInfo{
22164 {0, 670826495},
22165 },
22166 },
22167 },
22168 {
22169 name: "FCVTZUD",
22170 argLen: 1,
22171 asm: arm64.AFCVTZUD,
22172 reg: regInfo{
22173 inputs: []inputInfo{
22174 {0, 9223372034707292160},
22175 },
22176 outputs: []outputInfo{
22177 {0, 670826495},
22178 },
22179 },
22180 },
22181 {
22182 name: "FCVTSD",
22183 argLen: 1,
22184 asm: arm64.AFCVTSD,
22185 reg: regInfo{
22186 inputs: []inputInfo{
22187 {0, 9223372034707292160},
22188 },
22189 outputs: []outputInfo{
22190 {0, 9223372034707292160},
22191 },
22192 },
22193 },
22194 {
22195 name: "FCVTDS",
22196 argLen: 1,
22197 asm: arm64.AFCVTDS,
22198 reg: regInfo{
22199 inputs: []inputInfo{
22200 {0, 9223372034707292160},
22201 },
22202 outputs: []outputInfo{
22203 {0, 9223372034707292160},
22204 },
22205 },
22206 },
22207 {
22208 name: "FRINTAD",
22209 argLen: 1,
22210 asm: arm64.AFRINTAD,
22211 reg: regInfo{
22212 inputs: []inputInfo{
22213 {0, 9223372034707292160},
22214 },
22215 outputs: []outputInfo{
22216 {0, 9223372034707292160},
22217 },
22218 },
22219 },
22220 {
22221 name: "FRINTMD",
22222 argLen: 1,
22223 asm: arm64.AFRINTMD,
22224 reg: regInfo{
22225 inputs: []inputInfo{
22226 {0, 9223372034707292160},
22227 },
22228 outputs: []outputInfo{
22229 {0, 9223372034707292160},
22230 },
22231 },
22232 },
22233 {
22234 name: "FRINTND",
22235 argLen: 1,
22236 asm: arm64.AFRINTND,
22237 reg: regInfo{
22238 inputs: []inputInfo{
22239 {0, 9223372034707292160},
22240 },
22241 outputs: []outputInfo{
22242 {0, 9223372034707292160},
22243 },
22244 },
22245 },
22246 {
22247 name: "FRINTPD",
22248 argLen: 1,
22249 asm: arm64.AFRINTPD,
22250 reg: regInfo{
22251 inputs: []inputInfo{
22252 {0, 9223372034707292160},
22253 },
22254 outputs: []outputInfo{
22255 {0, 9223372034707292160},
22256 },
22257 },
22258 },
22259 {
22260 name: "FRINTZD",
22261 argLen: 1,
22262 asm: arm64.AFRINTZD,
22263 reg: regInfo{
22264 inputs: []inputInfo{
22265 {0, 9223372034707292160},
22266 },
22267 outputs: []outputInfo{
22268 {0, 9223372034707292160},
22269 },
22270 },
22271 },
22272 {
22273 name: "CSEL",
22274 auxType: auxCCop,
22275 argLen: 3,
22276 asm: arm64.ACSEL,
22277 reg: regInfo{
22278 inputs: []inputInfo{
22279 {0, 670826495},
22280 {1, 670826495},
22281 },
22282 outputs: []outputInfo{
22283 {0, 670826495},
22284 },
22285 },
22286 },
22287 {
22288 name: "CSEL0",
22289 auxType: auxCCop,
22290 argLen: 2,
22291 asm: arm64.ACSEL,
22292 reg: regInfo{
22293 inputs: []inputInfo{
22294 {0, 805044223},
22295 },
22296 outputs: []outputInfo{
22297 {0, 670826495},
22298 },
22299 },
22300 },
22301 {
22302 name: "CSINC",
22303 auxType: auxCCop,
22304 argLen: 3,
22305 asm: arm64.ACSINC,
22306 reg: regInfo{
22307 inputs: []inputInfo{
22308 {0, 670826495},
22309 {1, 670826495},
22310 },
22311 outputs: []outputInfo{
22312 {0, 670826495},
22313 },
22314 },
22315 },
22316 {
22317 name: "CSINV",
22318 auxType: auxCCop,
22319 argLen: 3,
22320 asm: arm64.ACSINV,
22321 reg: regInfo{
22322 inputs: []inputInfo{
22323 {0, 670826495},
22324 {1, 670826495},
22325 },
22326 outputs: []outputInfo{
22327 {0, 670826495},
22328 },
22329 },
22330 },
22331 {
22332 name: "CSNEG",
22333 auxType: auxCCop,
22334 argLen: 3,
22335 asm: arm64.ACSNEG,
22336 reg: regInfo{
22337 inputs: []inputInfo{
22338 {0, 670826495},
22339 {1, 670826495},
22340 },
22341 outputs: []outputInfo{
22342 {0, 670826495},
22343 },
22344 },
22345 },
22346 {
22347 name: "CSETM",
22348 auxType: auxCCop,
22349 argLen: 1,
22350 asm: arm64.ACSETM,
22351 reg: regInfo{
22352 outputs: []outputInfo{
22353 {0, 670826495},
22354 },
22355 },
22356 },
22357 {
22358 name: "CALLstatic",
22359 auxType: auxCallOff,
22360 argLen: -1,
22361 clobberFlags: true,
22362 call: true,
22363 reg: regInfo{
22364 clobbers: 9223372035512336383,
22365 },
22366 },
22367 {
22368 name: "CALLtail",
22369 auxType: auxCallOff,
22370 argLen: -1,
22371 clobberFlags: true,
22372 call: true,
22373 tailCall: true,
22374 reg: regInfo{
22375 clobbers: 9223372035512336383,
22376 },
22377 },
22378 {
22379 name: "CALLclosure",
22380 auxType: auxCallOff,
22381 argLen: -1,
22382 clobberFlags: true,
22383 call: true,
22384 reg: regInfo{
22385 inputs: []inputInfo{
22386 {1, 67108864},
22387 {0, 1744568319},
22388 },
22389 clobbers: 9223372035512336383,
22390 },
22391 },
22392 {
22393 name: "CALLinter",
22394 auxType: auxCallOff,
22395 argLen: -1,
22396 clobberFlags: true,
22397 call: true,
22398 reg: regInfo{
22399 inputs: []inputInfo{
22400 {0, 670826495},
22401 },
22402 clobbers: 9223372035512336383,
22403 },
22404 },
22405 {
22406 name: "LoweredNilCheck",
22407 argLen: 2,
22408 nilCheck: true,
22409 faultOnNilArg0: true,
22410 reg: regInfo{
22411 inputs: []inputInfo{
22412 {0, 805044223},
22413 },
22414 },
22415 },
22416 {
22417 name: "Equal",
22418 argLen: 1,
22419 reg: regInfo{
22420 outputs: []outputInfo{
22421 {0, 670826495},
22422 },
22423 },
22424 },
22425 {
22426 name: "NotEqual",
22427 argLen: 1,
22428 reg: regInfo{
22429 outputs: []outputInfo{
22430 {0, 670826495},
22431 },
22432 },
22433 },
22434 {
22435 name: "LessThan",
22436 argLen: 1,
22437 reg: regInfo{
22438 outputs: []outputInfo{
22439 {0, 670826495},
22440 },
22441 },
22442 },
22443 {
22444 name: "LessEqual",
22445 argLen: 1,
22446 reg: regInfo{
22447 outputs: []outputInfo{
22448 {0, 670826495},
22449 },
22450 },
22451 },
22452 {
22453 name: "GreaterThan",
22454 argLen: 1,
22455 reg: regInfo{
22456 outputs: []outputInfo{
22457 {0, 670826495},
22458 },
22459 },
22460 },
22461 {
22462 name: "GreaterEqual",
22463 argLen: 1,
22464 reg: regInfo{
22465 outputs: []outputInfo{
22466 {0, 670826495},
22467 },
22468 },
22469 },
22470 {
22471 name: "LessThanU",
22472 argLen: 1,
22473 reg: regInfo{
22474 outputs: []outputInfo{
22475 {0, 670826495},
22476 },
22477 },
22478 },
22479 {
22480 name: "LessEqualU",
22481 argLen: 1,
22482 reg: regInfo{
22483 outputs: []outputInfo{
22484 {0, 670826495},
22485 },
22486 },
22487 },
22488 {
22489 name: "GreaterThanU",
22490 argLen: 1,
22491 reg: regInfo{
22492 outputs: []outputInfo{
22493 {0, 670826495},
22494 },
22495 },
22496 },
22497 {
22498 name: "GreaterEqualU",
22499 argLen: 1,
22500 reg: regInfo{
22501 outputs: []outputInfo{
22502 {0, 670826495},
22503 },
22504 },
22505 },
22506 {
22507 name: "LessThanF",
22508 argLen: 1,
22509 reg: regInfo{
22510 outputs: []outputInfo{
22511 {0, 670826495},
22512 },
22513 },
22514 },
22515 {
22516 name: "LessEqualF",
22517 argLen: 1,
22518 reg: regInfo{
22519 outputs: []outputInfo{
22520 {0, 670826495},
22521 },
22522 },
22523 },
22524 {
22525 name: "GreaterThanF",
22526 argLen: 1,
22527 reg: regInfo{
22528 outputs: []outputInfo{
22529 {0, 670826495},
22530 },
22531 },
22532 },
22533 {
22534 name: "GreaterEqualF",
22535 argLen: 1,
22536 reg: regInfo{
22537 outputs: []outputInfo{
22538 {0, 670826495},
22539 },
22540 },
22541 },
22542 {
22543 name: "NotLessThanF",
22544 argLen: 1,
22545 reg: regInfo{
22546 outputs: []outputInfo{
22547 {0, 670826495},
22548 },
22549 },
22550 },
22551 {
22552 name: "NotLessEqualF",
22553 argLen: 1,
22554 reg: regInfo{
22555 outputs: []outputInfo{
22556 {0, 670826495},
22557 },
22558 },
22559 },
22560 {
22561 name: "NotGreaterThanF",
22562 argLen: 1,
22563 reg: regInfo{
22564 outputs: []outputInfo{
22565 {0, 670826495},
22566 },
22567 },
22568 },
22569 {
22570 name: "NotGreaterEqualF",
22571 argLen: 1,
22572 reg: regInfo{
22573 outputs: []outputInfo{
22574 {0, 670826495},
22575 },
22576 },
22577 },
22578 {
22579 name: "LessThanNoov",
22580 argLen: 1,
22581 reg: regInfo{
22582 outputs: []outputInfo{
22583 {0, 670826495},
22584 },
22585 },
22586 },
22587 {
22588 name: "GreaterEqualNoov",
22589 argLen: 1,
22590 reg: regInfo{
22591 outputs: []outputInfo{
22592 {0, 670826495},
22593 },
22594 },
22595 },
22596 {
22597 name: "DUFFZERO",
22598 auxType: auxInt64,
22599 argLen: 2,
22600 faultOnNilArg0: true,
22601 unsafePoint: true,
22602 reg: regInfo{
22603 inputs: []inputInfo{
22604 {0, 1048576},
22605 },
22606 clobbers: 538116096,
22607 },
22608 },
22609 {
22610 name: "LoweredZero",
22611 argLen: 3,
22612 clobberFlags: true,
22613 faultOnNilArg0: true,
22614 reg: regInfo{
22615 inputs: []inputInfo{
22616 {0, 65536},
22617 {1, 670826495},
22618 },
22619 clobbers: 65536,
22620 },
22621 },
22622 {
22623 name: "DUFFCOPY",
22624 auxType: auxInt64,
22625 argLen: 3,
22626 faultOnNilArg0: true,
22627 faultOnNilArg1: true,
22628 unsafePoint: true,
22629 reg: regInfo{
22630 inputs: []inputInfo{
22631 {0, 2097152},
22632 {1, 1048576},
22633 },
22634 clobbers: 607322112,
22635 },
22636 },
22637 {
22638 name: "LoweredMove",
22639 argLen: 4,
22640 clobberFlags: true,
22641 faultOnNilArg0: true,
22642 faultOnNilArg1: true,
22643 reg: regInfo{
22644 inputs: []inputInfo{
22645 {0, 131072},
22646 {1, 65536},
22647 {2, 637272063},
22648 },
22649 clobbers: 33751040,
22650 },
22651 },
22652 {
22653 name: "LoweredGetClosurePtr",
22654 argLen: 0,
22655 zeroWidth: true,
22656 reg: regInfo{
22657 outputs: []outputInfo{
22658 {0, 67108864},
22659 },
22660 },
22661 },
22662 {
22663 name: "LoweredGetCallerSP",
22664 argLen: 1,
22665 rematerializeable: true,
22666 reg: regInfo{
22667 outputs: []outputInfo{
22668 {0, 670826495},
22669 },
22670 },
22671 },
22672 {
22673 name: "LoweredGetCallerPC",
22674 argLen: 0,
22675 rematerializeable: true,
22676 reg: regInfo{
22677 outputs: []outputInfo{
22678 {0, 670826495},
22679 },
22680 },
22681 },
22682 {
22683 name: "FlagConstant",
22684 auxType: auxFlagConstant,
22685 argLen: 0,
22686 reg: regInfo{},
22687 },
22688 {
22689 name: "InvertFlags",
22690 argLen: 1,
22691 reg: regInfo{},
22692 },
22693 {
22694 name: "LDAR",
22695 argLen: 2,
22696 faultOnNilArg0: true,
22697 asm: arm64.ALDAR,
22698 reg: regInfo{
22699 inputs: []inputInfo{
22700 {0, 9223372038733561855},
22701 },
22702 outputs: []outputInfo{
22703 {0, 670826495},
22704 },
22705 },
22706 },
22707 {
22708 name: "LDARB",
22709 argLen: 2,
22710 faultOnNilArg0: true,
22711 asm: arm64.ALDARB,
22712 reg: regInfo{
22713 inputs: []inputInfo{
22714 {0, 9223372038733561855},
22715 },
22716 outputs: []outputInfo{
22717 {0, 670826495},
22718 },
22719 },
22720 },
22721 {
22722 name: "LDARW",
22723 argLen: 2,
22724 faultOnNilArg0: true,
22725 asm: arm64.ALDARW,
22726 reg: regInfo{
22727 inputs: []inputInfo{
22728 {0, 9223372038733561855},
22729 },
22730 outputs: []outputInfo{
22731 {0, 670826495},
22732 },
22733 },
22734 },
22735 {
22736 name: "STLRB",
22737 argLen: 3,
22738 faultOnNilArg0: true,
22739 hasSideEffects: true,
22740 asm: arm64.ASTLRB,
22741 reg: regInfo{
22742 inputs: []inputInfo{
22743 {1, 805044223},
22744 {0, 9223372038733561855},
22745 },
22746 },
22747 },
22748 {
22749 name: "STLR",
22750 argLen: 3,
22751 faultOnNilArg0: true,
22752 hasSideEffects: true,
22753 asm: arm64.ASTLR,
22754 reg: regInfo{
22755 inputs: []inputInfo{
22756 {1, 805044223},
22757 {0, 9223372038733561855},
22758 },
22759 },
22760 },
22761 {
22762 name: "STLRW",
22763 argLen: 3,
22764 faultOnNilArg0: true,
22765 hasSideEffects: true,
22766 asm: arm64.ASTLRW,
22767 reg: regInfo{
22768 inputs: []inputInfo{
22769 {1, 805044223},
22770 {0, 9223372038733561855},
22771 },
22772 },
22773 },
22774 {
22775 name: "LoweredAtomicExchange64",
22776 argLen: 3,
22777 resultNotInArgs: true,
22778 faultOnNilArg0: true,
22779 hasSideEffects: true,
22780 unsafePoint: true,
22781 reg: regInfo{
22782 inputs: []inputInfo{
22783 {1, 805044223},
22784 {0, 9223372038733561855},
22785 },
22786 outputs: []outputInfo{
22787 {0, 670826495},
22788 },
22789 },
22790 },
22791 {
22792 name: "LoweredAtomicExchange32",
22793 argLen: 3,
22794 resultNotInArgs: true,
22795 faultOnNilArg0: true,
22796 hasSideEffects: true,
22797 unsafePoint: true,
22798 reg: regInfo{
22799 inputs: []inputInfo{
22800 {1, 805044223},
22801 {0, 9223372038733561855},
22802 },
22803 outputs: []outputInfo{
22804 {0, 670826495},
22805 },
22806 },
22807 },
22808 {
22809 name: "LoweredAtomicExchange64Variant",
22810 argLen: 3,
22811 resultNotInArgs: true,
22812 faultOnNilArg0: true,
22813 hasSideEffects: true,
22814 reg: regInfo{
22815 inputs: []inputInfo{
22816 {1, 805044223},
22817 {0, 9223372038733561855},
22818 },
22819 outputs: []outputInfo{
22820 {0, 670826495},
22821 },
22822 },
22823 },
22824 {
22825 name: "LoweredAtomicExchange32Variant",
22826 argLen: 3,
22827 resultNotInArgs: true,
22828 faultOnNilArg0: true,
22829 hasSideEffects: true,
22830 reg: regInfo{
22831 inputs: []inputInfo{
22832 {1, 805044223},
22833 {0, 9223372038733561855},
22834 },
22835 outputs: []outputInfo{
22836 {0, 670826495},
22837 },
22838 },
22839 },
22840 {
22841 name: "LoweredAtomicAdd64",
22842 argLen: 3,
22843 resultNotInArgs: true,
22844 faultOnNilArg0: true,
22845 hasSideEffects: true,
22846 unsafePoint: true,
22847 reg: regInfo{
22848 inputs: []inputInfo{
22849 {1, 805044223},
22850 {0, 9223372038733561855},
22851 },
22852 outputs: []outputInfo{
22853 {0, 670826495},
22854 },
22855 },
22856 },
22857 {
22858 name: "LoweredAtomicAdd32",
22859 argLen: 3,
22860 resultNotInArgs: true,
22861 faultOnNilArg0: true,
22862 hasSideEffects: true,
22863 unsafePoint: true,
22864 reg: regInfo{
22865 inputs: []inputInfo{
22866 {1, 805044223},
22867 {0, 9223372038733561855},
22868 },
22869 outputs: []outputInfo{
22870 {0, 670826495},
22871 },
22872 },
22873 },
22874 {
22875 name: "LoweredAtomicAdd64Variant",
22876 argLen: 3,
22877 resultNotInArgs: true,
22878 faultOnNilArg0: true,
22879 hasSideEffects: true,
22880 reg: regInfo{
22881 inputs: []inputInfo{
22882 {1, 805044223},
22883 {0, 9223372038733561855},
22884 },
22885 outputs: []outputInfo{
22886 {0, 670826495},
22887 },
22888 },
22889 },
22890 {
22891 name: "LoweredAtomicAdd32Variant",
22892 argLen: 3,
22893 resultNotInArgs: true,
22894 faultOnNilArg0: true,
22895 hasSideEffects: true,
22896 reg: regInfo{
22897 inputs: []inputInfo{
22898 {1, 805044223},
22899 {0, 9223372038733561855},
22900 },
22901 outputs: []outputInfo{
22902 {0, 670826495},
22903 },
22904 },
22905 },
22906 {
22907 name: "LoweredAtomicCas64",
22908 argLen: 4,
22909 resultNotInArgs: true,
22910 clobberFlags: true,
22911 faultOnNilArg0: true,
22912 hasSideEffects: true,
22913 unsafePoint: true,
22914 reg: regInfo{
22915 inputs: []inputInfo{
22916 {1, 805044223},
22917 {2, 805044223},
22918 {0, 9223372038733561855},
22919 },
22920 outputs: []outputInfo{
22921 {0, 670826495},
22922 },
22923 },
22924 },
22925 {
22926 name: "LoweredAtomicCas32",
22927 argLen: 4,
22928 resultNotInArgs: true,
22929 clobberFlags: true,
22930 faultOnNilArg0: true,
22931 hasSideEffects: true,
22932 unsafePoint: true,
22933 reg: regInfo{
22934 inputs: []inputInfo{
22935 {1, 805044223},
22936 {2, 805044223},
22937 {0, 9223372038733561855},
22938 },
22939 outputs: []outputInfo{
22940 {0, 670826495},
22941 },
22942 },
22943 },
22944 {
22945 name: "LoweredAtomicCas64Variant",
22946 argLen: 4,
22947 resultNotInArgs: true,
22948 clobberFlags: true,
22949 faultOnNilArg0: true,
22950 hasSideEffects: true,
22951 unsafePoint: true,
22952 reg: regInfo{
22953 inputs: []inputInfo{
22954 {1, 805044223},
22955 {2, 805044223},
22956 {0, 9223372038733561855},
22957 },
22958 outputs: []outputInfo{
22959 {0, 670826495},
22960 },
22961 },
22962 },
22963 {
22964 name: "LoweredAtomicCas32Variant",
22965 argLen: 4,
22966 resultNotInArgs: true,
22967 clobberFlags: true,
22968 faultOnNilArg0: true,
22969 hasSideEffects: true,
22970 unsafePoint: true,
22971 reg: regInfo{
22972 inputs: []inputInfo{
22973 {1, 805044223},
22974 {2, 805044223},
22975 {0, 9223372038733561855},
22976 },
22977 outputs: []outputInfo{
22978 {0, 670826495},
22979 },
22980 },
22981 },
22982 {
22983 name: "LoweredAtomicAnd8",
22984 argLen: 3,
22985 resultNotInArgs: true,
22986 faultOnNilArg0: true,
22987 hasSideEffects: true,
22988 unsafePoint: true,
22989 asm: arm64.AAND,
22990 reg: regInfo{
22991 inputs: []inputInfo{
22992 {1, 805044223},
22993 {0, 9223372038733561855},
22994 },
22995 outputs: []outputInfo{
22996 {0, 670826495},
22997 },
22998 },
22999 },
23000 {
23001 name: "LoweredAtomicAnd32",
23002 argLen: 3,
23003 resultNotInArgs: true,
23004 faultOnNilArg0: true,
23005 hasSideEffects: true,
23006 unsafePoint: true,
23007 asm: arm64.AAND,
23008 reg: regInfo{
23009 inputs: []inputInfo{
23010 {1, 805044223},
23011 {0, 9223372038733561855},
23012 },
23013 outputs: []outputInfo{
23014 {0, 670826495},
23015 },
23016 },
23017 },
23018 {
23019 name: "LoweredAtomicOr8",
23020 argLen: 3,
23021 resultNotInArgs: true,
23022 faultOnNilArg0: true,
23023 hasSideEffects: true,
23024 unsafePoint: true,
23025 asm: arm64.AORR,
23026 reg: regInfo{
23027 inputs: []inputInfo{
23028 {1, 805044223},
23029 {0, 9223372038733561855},
23030 },
23031 outputs: []outputInfo{
23032 {0, 670826495},
23033 },
23034 },
23035 },
23036 {
23037 name: "LoweredAtomicOr32",
23038 argLen: 3,
23039 resultNotInArgs: true,
23040 faultOnNilArg0: true,
23041 hasSideEffects: true,
23042 unsafePoint: true,
23043 asm: arm64.AORR,
23044 reg: regInfo{
23045 inputs: []inputInfo{
23046 {1, 805044223},
23047 {0, 9223372038733561855},
23048 },
23049 outputs: []outputInfo{
23050 {0, 670826495},
23051 },
23052 },
23053 },
23054 {
23055 name: "LoweredAtomicAnd8Variant",
23056 argLen: 3,
23057 resultNotInArgs: true,
23058 faultOnNilArg0: true,
23059 hasSideEffects: true,
23060 unsafePoint: true,
23061 reg: regInfo{
23062 inputs: []inputInfo{
23063 {1, 805044223},
23064 {0, 9223372038733561855},
23065 },
23066 outputs: []outputInfo{
23067 {0, 670826495},
23068 },
23069 },
23070 },
23071 {
23072 name: "LoweredAtomicAnd32Variant",
23073 argLen: 3,
23074 resultNotInArgs: true,
23075 faultOnNilArg0: true,
23076 hasSideEffects: true,
23077 unsafePoint: true,
23078 reg: regInfo{
23079 inputs: []inputInfo{
23080 {1, 805044223},
23081 {0, 9223372038733561855},
23082 },
23083 outputs: []outputInfo{
23084 {0, 670826495},
23085 },
23086 },
23087 },
23088 {
23089 name: "LoweredAtomicOr8Variant",
23090 argLen: 3,
23091 resultNotInArgs: true,
23092 faultOnNilArg0: true,
23093 hasSideEffects: true,
23094 reg: regInfo{
23095 inputs: []inputInfo{
23096 {1, 805044223},
23097 {0, 9223372038733561855},
23098 },
23099 outputs: []outputInfo{
23100 {0, 670826495},
23101 },
23102 },
23103 },
23104 {
23105 name: "LoweredAtomicOr32Variant",
23106 argLen: 3,
23107 resultNotInArgs: true,
23108 faultOnNilArg0: true,
23109 hasSideEffects: true,
23110 reg: regInfo{
23111 inputs: []inputInfo{
23112 {1, 805044223},
23113 {0, 9223372038733561855},
23114 },
23115 outputs: []outputInfo{
23116 {0, 670826495},
23117 },
23118 },
23119 },
23120 {
23121 name: "LoweredWB",
23122 auxType: auxInt64,
23123 argLen: 1,
23124 clobberFlags: true,
23125 reg: regInfo{
23126 clobbers: 9223372035244359680,
23127 outputs: []outputInfo{
23128 {0, 33554432},
23129 },
23130 },
23131 },
23132 {
23133 name: "LoweredPanicBoundsA",
23134 auxType: auxInt64,
23135 argLen: 3,
23136 call: true,
23137 reg: regInfo{
23138 inputs: []inputInfo{
23139 {0, 4},
23140 {1, 8},
23141 },
23142 },
23143 },
23144 {
23145 name: "LoweredPanicBoundsB",
23146 auxType: auxInt64,
23147 argLen: 3,
23148 call: true,
23149 reg: regInfo{
23150 inputs: []inputInfo{
23151 {0, 2},
23152 {1, 4},
23153 },
23154 },
23155 },
23156 {
23157 name: "LoweredPanicBoundsC",
23158 auxType: auxInt64,
23159 argLen: 3,
23160 call: true,
23161 reg: regInfo{
23162 inputs: []inputInfo{
23163 {0, 1},
23164 {1, 2},
23165 },
23166 },
23167 },
23168 {
23169 name: "PRFM",
23170 auxType: auxInt64,
23171 argLen: 2,
23172 hasSideEffects: true,
23173 asm: arm64.APRFM,
23174 reg: regInfo{
23175 inputs: []inputInfo{
23176 {0, 9223372038733561855},
23177 },
23178 },
23179 },
23180 {
23181 name: "DMB",
23182 auxType: auxInt64,
23183 argLen: 1,
23184 hasSideEffects: true,
23185 asm: arm64.ADMB,
23186 reg: regInfo{},
23187 },
23188
23189 {
23190 name: "ADDV",
23191 argLen: 2,
23192 commutative: true,
23193 asm: loong64.AADDVU,
23194 reg: regInfo{
23195 inputs: []inputInfo{
23196 {0, 1073741816},
23197 {1, 1073741816},
23198 },
23199 outputs: []outputInfo{
23200 {0, 1071644664},
23201 },
23202 },
23203 },
23204 {
23205 name: "ADDVconst",
23206 auxType: auxInt64,
23207 argLen: 1,
23208 asm: loong64.AADDVU,
23209 reg: regInfo{
23210 inputs: []inputInfo{
23211 {0, 1073741820},
23212 },
23213 outputs: []outputInfo{
23214 {0, 1071644664},
23215 },
23216 },
23217 },
23218 {
23219 name: "SUBV",
23220 argLen: 2,
23221 asm: loong64.ASUBVU,
23222 reg: regInfo{
23223 inputs: []inputInfo{
23224 {0, 1073741816},
23225 {1, 1073741816},
23226 },
23227 outputs: []outputInfo{
23228 {0, 1071644664},
23229 },
23230 },
23231 },
23232 {
23233 name: "SUBVconst",
23234 auxType: auxInt64,
23235 argLen: 1,
23236 asm: loong64.ASUBVU,
23237 reg: regInfo{
23238 inputs: []inputInfo{
23239 {0, 1073741816},
23240 },
23241 outputs: []outputInfo{
23242 {0, 1071644664},
23243 },
23244 },
23245 },
23246 {
23247 name: "MULV",
23248 argLen: 2,
23249 commutative: true,
23250 asm: loong64.AMULV,
23251 reg: regInfo{
23252 inputs: []inputInfo{
23253 {0, 1073741816},
23254 {1, 1073741816},
23255 },
23256 outputs: []outputInfo{
23257 {0, 1071644664},
23258 },
23259 },
23260 },
23261 {
23262 name: "MULHV",
23263 argLen: 2,
23264 commutative: true,
23265 asm: loong64.AMULHV,
23266 reg: regInfo{
23267 inputs: []inputInfo{
23268 {0, 1073741816},
23269 {1, 1073741816},
23270 },
23271 outputs: []outputInfo{
23272 {0, 1071644664},
23273 },
23274 },
23275 },
23276 {
23277 name: "MULHVU",
23278 argLen: 2,
23279 commutative: true,
23280 asm: loong64.AMULHVU,
23281 reg: regInfo{
23282 inputs: []inputInfo{
23283 {0, 1073741816},
23284 {1, 1073741816},
23285 },
23286 outputs: []outputInfo{
23287 {0, 1071644664},
23288 },
23289 },
23290 },
23291 {
23292 name: "DIVV",
23293 argLen: 2,
23294 asm: loong64.ADIVV,
23295 reg: regInfo{
23296 inputs: []inputInfo{
23297 {0, 1073741816},
23298 {1, 1073741816},
23299 },
23300 outputs: []outputInfo{
23301 {0, 1071644664},
23302 },
23303 },
23304 },
23305 {
23306 name: "DIVVU",
23307 argLen: 2,
23308 asm: loong64.ADIVVU,
23309 reg: regInfo{
23310 inputs: []inputInfo{
23311 {0, 1073741816},
23312 {1, 1073741816},
23313 },
23314 outputs: []outputInfo{
23315 {0, 1071644664},
23316 },
23317 },
23318 },
23319 {
23320 name: "REMV",
23321 argLen: 2,
23322 asm: loong64.AREMV,
23323 reg: regInfo{
23324 inputs: []inputInfo{
23325 {0, 1073741816},
23326 {1, 1073741816},
23327 },
23328 outputs: []outputInfo{
23329 {0, 1071644664},
23330 },
23331 },
23332 },
23333 {
23334 name: "REMVU",
23335 argLen: 2,
23336 asm: loong64.AREMVU,
23337 reg: regInfo{
23338 inputs: []inputInfo{
23339 {0, 1073741816},
23340 {1, 1073741816},
23341 },
23342 outputs: []outputInfo{
23343 {0, 1071644664},
23344 },
23345 },
23346 },
23347 {
23348 name: "ADDF",
23349 argLen: 2,
23350 commutative: true,
23351 asm: loong64.AADDF,
23352 reg: regInfo{
23353 inputs: []inputInfo{
23354 {0, 4611686017353646080},
23355 {1, 4611686017353646080},
23356 },
23357 outputs: []outputInfo{
23358 {0, 4611686017353646080},
23359 },
23360 },
23361 },
23362 {
23363 name: "ADDD",
23364 argLen: 2,
23365 commutative: true,
23366 asm: loong64.AADDD,
23367 reg: regInfo{
23368 inputs: []inputInfo{
23369 {0, 4611686017353646080},
23370 {1, 4611686017353646080},
23371 },
23372 outputs: []outputInfo{
23373 {0, 4611686017353646080},
23374 },
23375 },
23376 },
23377 {
23378 name: "SUBF",
23379 argLen: 2,
23380 asm: loong64.ASUBF,
23381 reg: regInfo{
23382 inputs: []inputInfo{
23383 {0, 4611686017353646080},
23384 {1, 4611686017353646080},
23385 },
23386 outputs: []outputInfo{
23387 {0, 4611686017353646080},
23388 },
23389 },
23390 },
23391 {
23392 name: "SUBD",
23393 argLen: 2,
23394 asm: loong64.ASUBD,
23395 reg: regInfo{
23396 inputs: []inputInfo{
23397 {0, 4611686017353646080},
23398 {1, 4611686017353646080},
23399 },
23400 outputs: []outputInfo{
23401 {0, 4611686017353646080},
23402 },
23403 },
23404 },
23405 {
23406 name: "MULF",
23407 argLen: 2,
23408 commutative: true,
23409 asm: loong64.AMULF,
23410 reg: regInfo{
23411 inputs: []inputInfo{
23412 {0, 4611686017353646080},
23413 {1, 4611686017353646080},
23414 },
23415 outputs: []outputInfo{
23416 {0, 4611686017353646080},
23417 },
23418 },
23419 },
23420 {
23421 name: "MULD",
23422 argLen: 2,
23423 commutative: true,
23424 asm: loong64.AMULD,
23425 reg: regInfo{
23426 inputs: []inputInfo{
23427 {0, 4611686017353646080},
23428 {1, 4611686017353646080},
23429 },
23430 outputs: []outputInfo{
23431 {0, 4611686017353646080},
23432 },
23433 },
23434 },
23435 {
23436 name: "DIVF",
23437 argLen: 2,
23438 asm: loong64.ADIVF,
23439 reg: regInfo{
23440 inputs: []inputInfo{
23441 {0, 4611686017353646080},
23442 {1, 4611686017353646080},
23443 },
23444 outputs: []outputInfo{
23445 {0, 4611686017353646080},
23446 },
23447 },
23448 },
23449 {
23450 name: "DIVD",
23451 argLen: 2,
23452 asm: loong64.ADIVD,
23453 reg: regInfo{
23454 inputs: []inputInfo{
23455 {0, 4611686017353646080},
23456 {1, 4611686017353646080},
23457 },
23458 outputs: []outputInfo{
23459 {0, 4611686017353646080},
23460 },
23461 },
23462 },
23463 {
23464 name: "AND",
23465 argLen: 2,
23466 commutative: true,
23467 asm: loong64.AAND,
23468 reg: regInfo{
23469 inputs: []inputInfo{
23470 {0, 1073741816},
23471 {1, 1073741816},
23472 },
23473 outputs: []outputInfo{
23474 {0, 1071644664},
23475 },
23476 },
23477 },
23478 {
23479 name: "ANDconst",
23480 auxType: auxInt64,
23481 argLen: 1,
23482 asm: loong64.AAND,
23483 reg: regInfo{
23484 inputs: []inputInfo{
23485 {0, 1073741816},
23486 },
23487 outputs: []outputInfo{
23488 {0, 1071644664},
23489 },
23490 },
23491 },
23492 {
23493 name: "OR",
23494 argLen: 2,
23495 commutative: true,
23496 asm: loong64.AOR,
23497 reg: regInfo{
23498 inputs: []inputInfo{
23499 {0, 1073741816},
23500 {1, 1073741816},
23501 },
23502 outputs: []outputInfo{
23503 {0, 1071644664},
23504 },
23505 },
23506 },
23507 {
23508 name: "ORconst",
23509 auxType: auxInt64,
23510 argLen: 1,
23511 asm: loong64.AOR,
23512 reg: regInfo{
23513 inputs: []inputInfo{
23514 {0, 1073741816},
23515 },
23516 outputs: []outputInfo{
23517 {0, 1071644664},
23518 },
23519 },
23520 },
23521 {
23522 name: "XOR",
23523 argLen: 2,
23524 commutative: true,
23525 asm: loong64.AXOR,
23526 reg: regInfo{
23527 inputs: []inputInfo{
23528 {0, 1073741816},
23529 {1, 1073741816},
23530 },
23531 outputs: []outputInfo{
23532 {0, 1071644664},
23533 },
23534 },
23535 },
23536 {
23537 name: "XORconst",
23538 auxType: auxInt64,
23539 argLen: 1,
23540 asm: loong64.AXOR,
23541 reg: regInfo{
23542 inputs: []inputInfo{
23543 {0, 1073741816},
23544 },
23545 outputs: []outputInfo{
23546 {0, 1071644664},
23547 },
23548 },
23549 },
23550 {
23551 name: "NOR",
23552 argLen: 2,
23553 commutative: true,
23554 asm: loong64.ANOR,
23555 reg: regInfo{
23556 inputs: []inputInfo{
23557 {0, 1073741816},
23558 {1, 1073741816},
23559 },
23560 outputs: []outputInfo{
23561 {0, 1071644664},
23562 },
23563 },
23564 },
23565 {
23566 name: "NORconst",
23567 auxType: auxInt64,
23568 argLen: 1,
23569 asm: loong64.ANOR,
23570 reg: regInfo{
23571 inputs: []inputInfo{
23572 {0, 1073741816},
23573 },
23574 outputs: []outputInfo{
23575 {0, 1071644664},
23576 },
23577 },
23578 },
23579 {
23580 name: "NEGV",
23581 argLen: 1,
23582 reg: regInfo{
23583 inputs: []inputInfo{
23584 {0, 1073741816},
23585 },
23586 outputs: []outputInfo{
23587 {0, 1071644664},
23588 },
23589 },
23590 },
23591 {
23592 name: "NEGF",
23593 argLen: 1,
23594 asm: loong64.ANEGF,
23595 reg: regInfo{
23596 inputs: []inputInfo{
23597 {0, 4611686017353646080},
23598 },
23599 outputs: []outputInfo{
23600 {0, 4611686017353646080},
23601 },
23602 },
23603 },
23604 {
23605 name: "NEGD",
23606 argLen: 1,
23607 asm: loong64.ANEGD,
23608 reg: regInfo{
23609 inputs: []inputInfo{
23610 {0, 4611686017353646080},
23611 },
23612 outputs: []outputInfo{
23613 {0, 4611686017353646080},
23614 },
23615 },
23616 },
23617 {
23618 name: "SQRTD",
23619 argLen: 1,
23620 asm: loong64.ASQRTD,
23621 reg: regInfo{
23622 inputs: []inputInfo{
23623 {0, 4611686017353646080},
23624 },
23625 outputs: []outputInfo{
23626 {0, 4611686017353646080},
23627 },
23628 },
23629 },
23630 {
23631 name: "SQRTF",
23632 argLen: 1,
23633 asm: loong64.ASQRTF,
23634 reg: regInfo{
23635 inputs: []inputInfo{
23636 {0, 4611686017353646080},
23637 },
23638 outputs: []outputInfo{
23639 {0, 4611686017353646080},
23640 },
23641 },
23642 },
23643 {
23644 name: "MASKEQZ",
23645 argLen: 2,
23646 asm: loong64.AMASKEQZ,
23647 reg: regInfo{
23648 inputs: []inputInfo{
23649 {0, 1073741816},
23650 {1, 1073741816},
23651 },
23652 outputs: []outputInfo{
23653 {0, 1071644664},
23654 },
23655 },
23656 },
23657 {
23658 name: "MASKNEZ",
23659 argLen: 2,
23660 asm: loong64.AMASKNEZ,
23661 reg: regInfo{
23662 inputs: []inputInfo{
23663 {0, 1073741816},
23664 {1, 1073741816},
23665 },
23666 outputs: []outputInfo{
23667 {0, 1071644664},
23668 },
23669 },
23670 },
23671 {
23672 name: "SLLV",
23673 argLen: 2,
23674 asm: loong64.ASLLV,
23675 reg: regInfo{
23676 inputs: []inputInfo{
23677 {0, 1073741816},
23678 {1, 1073741816},
23679 },
23680 outputs: []outputInfo{
23681 {0, 1071644664},
23682 },
23683 },
23684 },
23685 {
23686 name: "SLLVconst",
23687 auxType: auxInt64,
23688 argLen: 1,
23689 asm: loong64.ASLLV,
23690 reg: regInfo{
23691 inputs: []inputInfo{
23692 {0, 1073741816},
23693 },
23694 outputs: []outputInfo{
23695 {0, 1071644664},
23696 },
23697 },
23698 },
23699 {
23700 name: "SRLV",
23701 argLen: 2,
23702 asm: loong64.ASRLV,
23703 reg: regInfo{
23704 inputs: []inputInfo{
23705 {0, 1073741816},
23706 {1, 1073741816},
23707 },
23708 outputs: []outputInfo{
23709 {0, 1071644664},
23710 },
23711 },
23712 },
23713 {
23714 name: "SRLVconst",
23715 auxType: auxInt64,
23716 argLen: 1,
23717 asm: loong64.ASRLV,
23718 reg: regInfo{
23719 inputs: []inputInfo{
23720 {0, 1073741816},
23721 },
23722 outputs: []outputInfo{
23723 {0, 1071644664},
23724 },
23725 },
23726 },
23727 {
23728 name: "SRAV",
23729 argLen: 2,
23730 asm: loong64.ASRAV,
23731 reg: regInfo{
23732 inputs: []inputInfo{
23733 {0, 1073741816},
23734 {1, 1073741816},
23735 },
23736 outputs: []outputInfo{
23737 {0, 1071644664},
23738 },
23739 },
23740 },
23741 {
23742 name: "SRAVconst",
23743 auxType: auxInt64,
23744 argLen: 1,
23745 asm: loong64.ASRAV,
23746 reg: regInfo{
23747 inputs: []inputInfo{
23748 {0, 1073741816},
23749 },
23750 outputs: []outputInfo{
23751 {0, 1071644664},
23752 },
23753 },
23754 },
23755 {
23756 name: "ROTR",
23757 argLen: 2,
23758 asm: loong64.AROTR,
23759 reg: regInfo{
23760 inputs: []inputInfo{
23761 {0, 1073741816},
23762 {1, 1073741816},
23763 },
23764 outputs: []outputInfo{
23765 {0, 1071644664},
23766 },
23767 },
23768 },
23769 {
23770 name: "ROTRV",
23771 argLen: 2,
23772 asm: loong64.AROTRV,
23773 reg: regInfo{
23774 inputs: []inputInfo{
23775 {0, 1073741816},
23776 {1, 1073741816},
23777 },
23778 outputs: []outputInfo{
23779 {0, 1071644664},
23780 },
23781 },
23782 },
23783 {
23784 name: "ROTRconst",
23785 auxType: auxInt64,
23786 argLen: 1,
23787 asm: loong64.AROTR,
23788 reg: regInfo{
23789 inputs: []inputInfo{
23790 {0, 1073741816},
23791 },
23792 outputs: []outputInfo{
23793 {0, 1071644664},
23794 },
23795 },
23796 },
23797 {
23798 name: "ROTRVconst",
23799 auxType: auxInt64,
23800 argLen: 1,
23801 asm: loong64.AROTRV,
23802 reg: regInfo{
23803 inputs: []inputInfo{
23804 {0, 1073741816},
23805 },
23806 outputs: []outputInfo{
23807 {0, 1071644664},
23808 },
23809 },
23810 },
23811 {
23812 name: "SGT",
23813 argLen: 2,
23814 asm: loong64.ASGT,
23815 reg: regInfo{
23816 inputs: []inputInfo{
23817 {0, 1073741816},
23818 {1, 1073741816},
23819 },
23820 outputs: []outputInfo{
23821 {0, 1071644664},
23822 },
23823 },
23824 },
23825 {
23826 name: "SGTconst",
23827 auxType: auxInt64,
23828 argLen: 1,
23829 asm: loong64.ASGT,
23830 reg: regInfo{
23831 inputs: []inputInfo{
23832 {0, 1073741816},
23833 },
23834 outputs: []outputInfo{
23835 {0, 1071644664},
23836 },
23837 },
23838 },
23839 {
23840 name: "SGTU",
23841 argLen: 2,
23842 asm: loong64.ASGTU,
23843 reg: regInfo{
23844 inputs: []inputInfo{
23845 {0, 1073741816},
23846 {1, 1073741816},
23847 },
23848 outputs: []outputInfo{
23849 {0, 1071644664},
23850 },
23851 },
23852 },
23853 {
23854 name: "SGTUconst",
23855 auxType: auxInt64,
23856 argLen: 1,
23857 asm: loong64.ASGTU,
23858 reg: regInfo{
23859 inputs: []inputInfo{
23860 {0, 1073741816},
23861 },
23862 outputs: []outputInfo{
23863 {0, 1071644664},
23864 },
23865 },
23866 },
23867 {
23868 name: "CMPEQF",
23869 argLen: 2,
23870 asm: loong64.ACMPEQF,
23871 reg: regInfo{
23872 inputs: []inputInfo{
23873 {0, 4611686017353646080},
23874 {1, 4611686017353646080},
23875 },
23876 },
23877 },
23878 {
23879 name: "CMPEQD",
23880 argLen: 2,
23881 asm: loong64.ACMPEQD,
23882 reg: regInfo{
23883 inputs: []inputInfo{
23884 {0, 4611686017353646080},
23885 {1, 4611686017353646080},
23886 },
23887 },
23888 },
23889 {
23890 name: "CMPGEF",
23891 argLen: 2,
23892 asm: loong64.ACMPGEF,
23893 reg: regInfo{
23894 inputs: []inputInfo{
23895 {0, 4611686017353646080},
23896 {1, 4611686017353646080},
23897 },
23898 },
23899 },
23900 {
23901 name: "CMPGED",
23902 argLen: 2,
23903 asm: loong64.ACMPGED,
23904 reg: regInfo{
23905 inputs: []inputInfo{
23906 {0, 4611686017353646080},
23907 {1, 4611686017353646080},
23908 },
23909 },
23910 },
23911 {
23912 name: "CMPGTF",
23913 argLen: 2,
23914 asm: loong64.ACMPGTF,
23915 reg: regInfo{
23916 inputs: []inputInfo{
23917 {0, 4611686017353646080},
23918 {1, 4611686017353646080},
23919 },
23920 },
23921 },
23922 {
23923 name: "CMPGTD",
23924 argLen: 2,
23925 asm: loong64.ACMPGTD,
23926 reg: regInfo{
23927 inputs: []inputInfo{
23928 {0, 4611686017353646080},
23929 {1, 4611686017353646080},
23930 },
23931 },
23932 },
23933 {
23934 name: "MOVVconst",
23935 auxType: auxInt64,
23936 argLen: 0,
23937 rematerializeable: true,
23938 asm: loong64.AMOVV,
23939 reg: regInfo{
23940 outputs: []outputInfo{
23941 {0, 1071644664},
23942 },
23943 },
23944 },
23945 {
23946 name: "MOVFconst",
23947 auxType: auxFloat64,
23948 argLen: 0,
23949 rematerializeable: true,
23950 asm: loong64.AMOVF,
23951 reg: regInfo{
23952 outputs: []outputInfo{
23953 {0, 4611686017353646080},
23954 },
23955 },
23956 },
23957 {
23958 name: "MOVDconst",
23959 auxType: auxFloat64,
23960 argLen: 0,
23961 rematerializeable: true,
23962 asm: loong64.AMOVD,
23963 reg: regInfo{
23964 outputs: []outputInfo{
23965 {0, 4611686017353646080},
23966 },
23967 },
23968 },
23969 {
23970 name: "MOVVaddr",
23971 auxType: auxSymOff,
23972 argLen: 1,
23973 rematerializeable: true,
23974 symEffect: SymAddr,
23975 asm: loong64.AMOVV,
23976 reg: regInfo{
23977 inputs: []inputInfo{
23978 {0, 4611686018427387908},
23979 },
23980 outputs: []outputInfo{
23981 {0, 1071644664},
23982 },
23983 },
23984 },
23985 {
23986 name: "MOVBload",
23987 auxType: auxSymOff,
23988 argLen: 2,
23989 faultOnNilArg0: true,
23990 symEffect: SymRead,
23991 asm: loong64.AMOVB,
23992 reg: regInfo{
23993 inputs: []inputInfo{
23994 {0, 4611686019501129724},
23995 },
23996 outputs: []outputInfo{
23997 {0, 1071644664},
23998 },
23999 },
24000 },
24001 {
24002 name: "MOVBUload",
24003 auxType: auxSymOff,
24004 argLen: 2,
24005 faultOnNilArg0: true,
24006 symEffect: SymRead,
24007 asm: loong64.AMOVBU,
24008 reg: regInfo{
24009 inputs: []inputInfo{
24010 {0, 4611686019501129724},
24011 },
24012 outputs: []outputInfo{
24013 {0, 1071644664},
24014 },
24015 },
24016 },
24017 {
24018 name: "MOVHload",
24019 auxType: auxSymOff,
24020 argLen: 2,
24021 faultOnNilArg0: true,
24022 symEffect: SymRead,
24023 asm: loong64.AMOVH,
24024 reg: regInfo{
24025 inputs: []inputInfo{
24026 {0, 4611686019501129724},
24027 },
24028 outputs: []outputInfo{
24029 {0, 1071644664},
24030 },
24031 },
24032 },
24033 {
24034 name: "MOVHUload",
24035 auxType: auxSymOff,
24036 argLen: 2,
24037 faultOnNilArg0: true,
24038 symEffect: SymRead,
24039 asm: loong64.AMOVHU,
24040 reg: regInfo{
24041 inputs: []inputInfo{
24042 {0, 4611686019501129724},
24043 },
24044 outputs: []outputInfo{
24045 {0, 1071644664},
24046 },
24047 },
24048 },
24049 {
24050 name: "MOVWload",
24051 auxType: auxSymOff,
24052 argLen: 2,
24053 faultOnNilArg0: true,
24054 symEffect: SymRead,
24055 asm: loong64.AMOVW,
24056 reg: regInfo{
24057 inputs: []inputInfo{
24058 {0, 4611686019501129724},
24059 },
24060 outputs: []outputInfo{
24061 {0, 1071644664},
24062 },
24063 },
24064 },
24065 {
24066 name: "MOVWUload",
24067 auxType: auxSymOff,
24068 argLen: 2,
24069 faultOnNilArg0: true,
24070 symEffect: SymRead,
24071 asm: loong64.AMOVWU,
24072 reg: regInfo{
24073 inputs: []inputInfo{
24074 {0, 4611686019501129724},
24075 },
24076 outputs: []outputInfo{
24077 {0, 1071644664},
24078 },
24079 },
24080 },
24081 {
24082 name: "MOVVload",
24083 auxType: auxSymOff,
24084 argLen: 2,
24085 faultOnNilArg0: true,
24086 symEffect: SymRead,
24087 asm: loong64.AMOVV,
24088 reg: regInfo{
24089 inputs: []inputInfo{
24090 {0, 4611686019501129724},
24091 },
24092 outputs: []outputInfo{
24093 {0, 1071644664},
24094 },
24095 },
24096 },
24097 {
24098 name: "MOVFload",
24099 auxType: auxSymOff,
24100 argLen: 2,
24101 faultOnNilArg0: true,
24102 symEffect: SymRead,
24103 asm: loong64.AMOVF,
24104 reg: regInfo{
24105 inputs: []inputInfo{
24106 {0, 4611686019501129724},
24107 },
24108 outputs: []outputInfo{
24109 {0, 4611686017353646080},
24110 },
24111 },
24112 },
24113 {
24114 name: "MOVDload",
24115 auxType: auxSymOff,
24116 argLen: 2,
24117 faultOnNilArg0: true,
24118 symEffect: SymRead,
24119 asm: loong64.AMOVD,
24120 reg: regInfo{
24121 inputs: []inputInfo{
24122 {0, 4611686019501129724},
24123 },
24124 outputs: []outputInfo{
24125 {0, 4611686017353646080},
24126 },
24127 },
24128 },
24129 {
24130 name: "MOVBstore",
24131 auxType: auxSymOff,
24132 argLen: 3,
24133 faultOnNilArg0: true,
24134 symEffect: SymWrite,
24135 asm: loong64.AMOVB,
24136 reg: regInfo{
24137 inputs: []inputInfo{
24138 {1, 1073741816},
24139 {0, 4611686019501129724},
24140 },
24141 },
24142 },
24143 {
24144 name: "MOVHstore",
24145 auxType: auxSymOff,
24146 argLen: 3,
24147 faultOnNilArg0: true,
24148 symEffect: SymWrite,
24149 asm: loong64.AMOVH,
24150 reg: regInfo{
24151 inputs: []inputInfo{
24152 {1, 1073741816},
24153 {0, 4611686019501129724},
24154 },
24155 },
24156 },
24157 {
24158 name: "MOVWstore",
24159 auxType: auxSymOff,
24160 argLen: 3,
24161 faultOnNilArg0: true,
24162 symEffect: SymWrite,
24163 asm: loong64.AMOVW,
24164 reg: regInfo{
24165 inputs: []inputInfo{
24166 {1, 1073741816},
24167 {0, 4611686019501129724},
24168 },
24169 },
24170 },
24171 {
24172 name: "MOVVstore",
24173 auxType: auxSymOff,
24174 argLen: 3,
24175 faultOnNilArg0: true,
24176 symEffect: SymWrite,
24177 asm: loong64.AMOVV,
24178 reg: regInfo{
24179 inputs: []inputInfo{
24180 {1, 1073741816},
24181 {0, 4611686019501129724},
24182 },
24183 },
24184 },
24185 {
24186 name: "MOVFstore",
24187 auxType: auxSymOff,
24188 argLen: 3,
24189 faultOnNilArg0: true,
24190 symEffect: SymWrite,
24191 asm: loong64.AMOVF,
24192 reg: regInfo{
24193 inputs: []inputInfo{
24194 {0, 4611686019501129724},
24195 {1, 4611686017353646080},
24196 },
24197 },
24198 },
24199 {
24200 name: "MOVDstore",
24201 auxType: auxSymOff,
24202 argLen: 3,
24203 faultOnNilArg0: true,
24204 symEffect: SymWrite,
24205 asm: loong64.AMOVD,
24206 reg: regInfo{
24207 inputs: []inputInfo{
24208 {0, 4611686019501129724},
24209 {1, 4611686017353646080},
24210 },
24211 },
24212 },
24213 {
24214 name: "MOVBstorezero",
24215 auxType: auxSymOff,
24216 argLen: 2,
24217 faultOnNilArg0: true,
24218 symEffect: SymWrite,
24219 asm: loong64.AMOVB,
24220 reg: regInfo{
24221 inputs: []inputInfo{
24222 {0, 4611686019501129724},
24223 },
24224 },
24225 },
24226 {
24227 name: "MOVHstorezero",
24228 auxType: auxSymOff,
24229 argLen: 2,
24230 faultOnNilArg0: true,
24231 symEffect: SymWrite,
24232 asm: loong64.AMOVH,
24233 reg: regInfo{
24234 inputs: []inputInfo{
24235 {0, 4611686019501129724},
24236 },
24237 },
24238 },
24239 {
24240 name: "MOVWstorezero",
24241 auxType: auxSymOff,
24242 argLen: 2,
24243 faultOnNilArg0: true,
24244 symEffect: SymWrite,
24245 asm: loong64.AMOVW,
24246 reg: regInfo{
24247 inputs: []inputInfo{
24248 {0, 4611686019501129724},
24249 },
24250 },
24251 },
24252 {
24253 name: "MOVVstorezero",
24254 auxType: auxSymOff,
24255 argLen: 2,
24256 faultOnNilArg0: true,
24257 symEffect: SymWrite,
24258 asm: loong64.AMOVV,
24259 reg: regInfo{
24260 inputs: []inputInfo{
24261 {0, 4611686019501129724},
24262 },
24263 },
24264 },
24265 {
24266 name: "MOVBreg",
24267 argLen: 1,
24268 asm: loong64.AMOVB,
24269 reg: regInfo{
24270 inputs: []inputInfo{
24271 {0, 1073741816},
24272 },
24273 outputs: []outputInfo{
24274 {0, 1071644664},
24275 },
24276 },
24277 },
24278 {
24279 name: "MOVBUreg",
24280 argLen: 1,
24281 asm: loong64.AMOVBU,
24282 reg: regInfo{
24283 inputs: []inputInfo{
24284 {0, 1073741816},
24285 },
24286 outputs: []outputInfo{
24287 {0, 1071644664},
24288 },
24289 },
24290 },
24291 {
24292 name: "MOVHreg",
24293 argLen: 1,
24294 asm: loong64.AMOVH,
24295 reg: regInfo{
24296 inputs: []inputInfo{
24297 {0, 1073741816},
24298 },
24299 outputs: []outputInfo{
24300 {0, 1071644664},
24301 },
24302 },
24303 },
24304 {
24305 name: "MOVHUreg",
24306 argLen: 1,
24307 asm: loong64.AMOVHU,
24308 reg: regInfo{
24309 inputs: []inputInfo{
24310 {0, 1073741816},
24311 },
24312 outputs: []outputInfo{
24313 {0, 1071644664},
24314 },
24315 },
24316 },
24317 {
24318 name: "MOVWreg",
24319 argLen: 1,
24320 asm: loong64.AMOVW,
24321 reg: regInfo{
24322 inputs: []inputInfo{
24323 {0, 1073741816},
24324 },
24325 outputs: []outputInfo{
24326 {0, 1071644664},
24327 },
24328 },
24329 },
24330 {
24331 name: "MOVWUreg",
24332 argLen: 1,
24333 asm: loong64.AMOVWU,
24334 reg: regInfo{
24335 inputs: []inputInfo{
24336 {0, 1073741816},
24337 },
24338 outputs: []outputInfo{
24339 {0, 1071644664},
24340 },
24341 },
24342 },
24343 {
24344 name: "MOVVreg",
24345 argLen: 1,
24346 asm: loong64.AMOVV,
24347 reg: regInfo{
24348 inputs: []inputInfo{
24349 {0, 1073741816},
24350 },
24351 outputs: []outputInfo{
24352 {0, 1071644664},
24353 },
24354 },
24355 },
24356 {
24357 name: "MOVVnop",
24358 argLen: 1,
24359 resultInArg0: true,
24360 reg: regInfo{
24361 inputs: []inputInfo{
24362 {0, 1071644664},
24363 },
24364 outputs: []outputInfo{
24365 {0, 1071644664},
24366 },
24367 },
24368 },
24369 {
24370 name: "MOVWF",
24371 argLen: 1,
24372 asm: loong64.AMOVWF,
24373 reg: regInfo{
24374 inputs: []inputInfo{
24375 {0, 4611686017353646080},
24376 },
24377 outputs: []outputInfo{
24378 {0, 4611686017353646080},
24379 },
24380 },
24381 },
24382 {
24383 name: "MOVWD",
24384 argLen: 1,
24385 asm: loong64.AMOVWD,
24386 reg: regInfo{
24387 inputs: []inputInfo{
24388 {0, 4611686017353646080},
24389 },
24390 outputs: []outputInfo{
24391 {0, 4611686017353646080},
24392 },
24393 },
24394 },
24395 {
24396 name: "MOVVF",
24397 argLen: 1,
24398 asm: loong64.AMOVVF,
24399 reg: regInfo{
24400 inputs: []inputInfo{
24401 {0, 4611686017353646080},
24402 },
24403 outputs: []outputInfo{
24404 {0, 4611686017353646080},
24405 },
24406 },
24407 },
24408 {
24409 name: "MOVVD",
24410 argLen: 1,
24411 asm: loong64.AMOVVD,
24412 reg: regInfo{
24413 inputs: []inputInfo{
24414 {0, 4611686017353646080},
24415 },
24416 outputs: []outputInfo{
24417 {0, 4611686017353646080},
24418 },
24419 },
24420 },
24421 {
24422 name: "TRUNCFW",
24423 argLen: 1,
24424 asm: loong64.ATRUNCFW,
24425 reg: regInfo{
24426 inputs: []inputInfo{
24427 {0, 4611686017353646080},
24428 },
24429 outputs: []outputInfo{
24430 {0, 4611686017353646080},
24431 },
24432 },
24433 },
24434 {
24435 name: "TRUNCDW",
24436 argLen: 1,
24437 asm: loong64.ATRUNCDW,
24438 reg: regInfo{
24439 inputs: []inputInfo{
24440 {0, 4611686017353646080},
24441 },
24442 outputs: []outputInfo{
24443 {0, 4611686017353646080},
24444 },
24445 },
24446 },
24447 {
24448 name: "TRUNCFV",
24449 argLen: 1,
24450 asm: loong64.ATRUNCFV,
24451 reg: regInfo{
24452 inputs: []inputInfo{
24453 {0, 4611686017353646080},
24454 },
24455 outputs: []outputInfo{
24456 {0, 4611686017353646080},
24457 },
24458 },
24459 },
24460 {
24461 name: "TRUNCDV",
24462 argLen: 1,
24463 asm: loong64.ATRUNCDV,
24464 reg: regInfo{
24465 inputs: []inputInfo{
24466 {0, 4611686017353646080},
24467 },
24468 outputs: []outputInfo{
24469 {0, 4611686017353646080},
24470 },
24471 },
24472 },
24473 {
24474 name: "MOVFD",
24475 argLen: 1,
24476 asm: loong64.AMOVFD,
24477 reg: regInfo{
24478 inputs: []inputInfo{
24479 {0, 4611686017353646080},
24480 },
24481 outputs: []outputInfo{
24482 {0, 4611686017353646080},
24483 },
24484 },
24485 },
24486 {
24487 name: "MOVDF",
24488 argLen: 1,
24489 asm: loong64.AMOVDF,
24490 reg: regInfo{
24491 inputs: []inputInfo{
24492 {0, 4611686017353646080},
24493 },
24494 outputs: []outputInfo{
24495 {0, 4611686017353646080},
24496 },
24497 },
24498 },
24499 {
24500 name: "CALLstatic",
24501 auxType: auxCallOff,
24502 argLen: -1,
24503 clobberFlags: true,
24504 call: true,
24505 reg: regInfo{
24506 clobbers: 4611686018427387896,
24507 },
24508 },
24509 {
24510 name: "CALLtail",
24511 auxType: auxCallOff,
24512 argLen: -1,
24513 clobberFlags: true,
24514 call: true,
24515 tailCall: true,
24516 reg: regInfo{
24517 clobbers: 4611686018427387896,
24518 },
24519 },
24520 {
24521 name: "CALLclosure",
24522 auxType: auxCallOff,
24523 argLen: -1,
24524 clobberFlags: true,
24525 call: true,
24526 reg: regInfo{
24527 inputs: []inputInfo{
24528 {1, 268435456},
24529 {0, 1071644668},
24530 },
24531 clobbers: 4611686018427387896,
24532 },
24533 },
24534 {
24535 name: "CALLinter",
24536 auxType: auxCallOff,
24537 argLen: -1,
24538 clobberFlags: true,
24539 call: true,
24540 reg: regInfo{
24541 inputs: []inputInfo{
24542 {0, 1071644664},
24543 },
24544 clobbers: 4611686018427387896,
24545 },
24546 },
24547 {
24548 name: "DUFFZERO",
24549 auxType: auxInt64,
24550 argLen: 2,
24551 faultOnNilArg0: true,
24552 reg: regInfo{
24553 inputs: []inputInfo{
24554 {0, 524288},
24555 },
24556 clobbers: 524290,
24557 },
24558 },
24559 {
24560 name: "DUFFCOPY",
24561 auxType: auxInt64,
24562 argLen: 3,
24563 faultOnNilArg0: true,
24564 faultOnNilArg1: true,
24565 reg: regInfo{
24566 inputs: []inputInfo{
24567 {0, 1048576},
24568 {1, 524288},
24569 },
24570 clobbers: 1572866,
24571 },
24572 },
24573 {
24574 name: "LoweredZero",
24575 auxType: auxInt64,
24576 argLen: 3,
24577 faultOnNilArg0: true,
24578 reg: regInfo{
24579 inputs: []inputInfo{
24580 {0, 524288},
24581 {1, 1071644664},
24582 },
24583 clobbers: 524288,
24584 },
24585 },
24586 {
24587 name: "LoweredMove",
24588 auxType: auxInt64,
24589 argLen: 4,
24590 faultOnNilArg0: true,
24591 faultOnNilArg1: true,
24592 reg: regInfo{
24593 inputs: []inputInfo{
24594 {0, 1048576},
24595 {1, 524288},
24596 {2, 1071644664},
24597 },
24598 clobbers: 1572864,
24599 },
24600 },
24601 {
24602 name: "LoweredAtomicLoad8",
24603 argLen: 2,
24604 faultOnNilArg0: true,
24605 reg: regInfo{
24606 inputs: []inputInfo{
24607 {0, 4611686019501129724},
24608 },
24609 outputs: []outputInfo{
24610 {0, 1071644664},
24611 },
24612 },
24613 },
24614 {
24615 name: "LoweredAtomicLoad32",
24616 argLen: 2,
24617 faultOnNilArg0: true,
24618 reg: regInfo{
24619 inputs: []inputInfo{
24620 {0, 4611686019501129724},
24621 },
24622 outputs: []outputInfo{
24623 {0, 1071644664},
24624 },
24625 },
24626 },
24627 {
24628 name: "LoweredAtomicLoad64",
24629 argLen: 2,
24630 faultOnNilArg0: true,
24631 reg: regInfo{
24632 inputs: []inputInfo{
24633 {0, 4611686019501129724},
24634 },
24635 outputs: []outputInfo{
24636 {0, 1071644664},
24637 },
24638 },
24639 },
24640 {
24641 name: "LoweredAtomicStore8",
24642 argLen: 3,
24643 faultOnNilArg0: true,
24644 hasSideEffects: true,
24645 reg: regInfo{
24646 inputs: []inputInfo{
24647 {1, 1073741816},
24648 {0, 4611686019501129724},
24649 },
24650 },
24651 },
24652 {
24653 name: "LoweredAtomicStore32",
24654 argLen: 3,
24655 faultOnNilArg0: true,
24656 hasSideEffects: true,
24657 reg: regInfo{
24658 inputs: []inputInfo{
24659 {1, 1073741816},
24660 {0, 4611686019501129724},
24661 },
24662 },
24663 },
24664 {
24665 name: "LoweredAtomicStore64",
24666 argLen: 3,
24667 faultOnNilArg0: true,
24668 hasSideEffects: true,
24669 reg: regInfo{
24670 inputs: []inputInfo{
24671 {1, 1073741816},
24672 {0, 4611686019501129724},
24673 },
24674 },
24675 },
24676 {
24677 name: "LoweredAtomicStorezero32",
24678 argLen: 2,
24679 faultOnNilArg0: true,
24680 hasSideEffects: true,
24681 reg: regInfo{
24682 inputs: []inputInfo{
24683 {0, 4611686019501129724},
24684 },
24685 },
24686 },
24687 {
24688 name: "LoweredAtomicStorezero64",
24689 argLen: 2,
24690 faultOnNilArg0: true,
24691 hasSideEffects: true,
24692 reg: regInfo{
24693 inputs: []inputInfo{
24694 {0, 4611686019501129724},
24695 },
24696 },
24697 },
24698 {
24699 name: "LoweredAtomicExchange32",
24700 argLen: 3,
24701 resultNotInArgs: true,
24702 faultOnNilArg0: true,
24703 hasSideEffects: true,
24704 unsafePoint: true,
24705 reg: regInfo{
24706 inputs: []inputInfo{
24707 {1, 1073741816},
24708 {0, 4611686019501129724},
24709 },
24710 outputs: []outputInfo{
24711 {0, 1071644664},
24712 },
24713 },
24714 },
24715 {
24716 name: "LoweredAtomicExchange64",
24717 argLen: 3,
24718 resultNotInArgs: true,
24719 faultOnNilArg0: true,
24720 hasSideEffects: true,
24721 unsafePoint: true,
24722 reg: regInfo{
24723 inputs: []inputInfo{
24724 {1, 1073741816},
24725 {0, 4611686019501129724},
24726 },
24727 outputs: []outputInfo{
24728 {0, 1071644664},
24729 },
24730 },
24731 },
24732 {
24733 name: "LoweredAtomicAdd32",
24734 argLen: 3,
24735 resultNotInArgs: true,
24736 faultOnNilArg0: true,
24737 hasSideEffects: true,
24738 unsafePoint: true,
24739 reg: regInfo{
24740 inputs: []inputInfo{
24741 {1, 1073741816},
24742 {0, 4611686019501129724},
24743 },
24744 outputs: []outputInfo{
24745 {0, 1071644664},
24746 },
24747 },
24748 },
24749 {
24750 name: "LoweredAtomicAdd64",
24751 argLen: 3,
24752 resultNotInArgs: true,
24753 faultOnNilArg0: true,
24754 hasSideEffects: true,
24755 unsafePoint: true,
24756 reg: regInfo{
24757 inputs: []inputInfo{
24758 {1, 1073741816},
24759 {0, 4611686019501129724},
24760 },
24761 outputs: []outputInfo{
24762 {0, 1071644664},
24763 },
24764 },
24765 },
24766 {
24767 name: "LoweredAtomicAddconst32",
24768 auxType: auxInt32,
24769 argLen: 2,
24770 resultNotInArgs: true,
24771 faultOnNilArg0: true,
24772 hasSideEffects: true,
24773 unsafePoint: true,
24774 reg: regInfo{
24775 inputs: []inputInfo{
24776 {0, 4611686019501129724},
24777 },
24778 outputs: []outputInfo{
24779 {0, 1071644664},
24780 },
24781 },
24782 },
24783 {
24784 name: "LoweredAtomicAddconst64",
24785 auxType: auxInt64,
24786 argLen: 2,
24787 resultNotInArgs: true,
24788 faultOnNilArg0: true,
24789 hasSideEffects: true,
24790 unsafePoint: true,
24791 reg: regInfo{
24792 inputs: []inputInfo{
24793 {0, 4611686019501129724},
24794 },
24795 outputs: []outputInfo{
24796 {0, 1071644664},
24797 },
24798 },
24799 },
24800 {
24801 name: "LoweredAtomicCas32",
24802 argLen: 4,
24803 resultNotInArgs: true,
24804 faultOnNilArg0: true,
24805 hasSideEffects: true,
24806 unsafePoint: true,
24807 reg: regInfo{
24808 inputs: []inputInfo{
24809 {1, 1073741816},
24810 {2, 1073741816},
24811 {0, 4611686019501129724},
24812 },
24813 outputs: []outputInfo{
24814 {0, 1071644664},
24815 },
24816 },
24817 },
24818 {
24819 name: "LoweredAtomicCas64",
24820 argLen: 4,
24821 resultNotInArgs: true,
24822 faultOnNilArg0: true,
24823 hasSideEffects: true,
24824 unsafePoint: true,
24825 reg: regInfo{
24826 inputs: []inputInfo{
24827 {1, 1073741816},
24828 {2, 1073741816},
24829 {0, 4611686019501129724},
24830 },
24831 outputs: []outputInfo{
24832 {0, 1071644664},
24833 },
24834 },
24835 },
24836 {
24837 name: "LoweredNilCheck",
24838 argLen: 2,
24839 nilCheck: true,
24840 faultOnNilArg0: true,
24841 reg: regInfo{
24842 inputs: []inputInfo{
24843 {0, 1073741816},
24844 },
24845 },
24846 },
24847 {
24848 name: "FPFlagTrue",
24849 argLen: 1,
24850 reg: regInfo{
24851 outputs: []outputInfo{
24852 {0, 1071644664},
24853 },
24854 },
24855 },
24856 {
24857 name: "FPFlagFalse",
24858 argLen: 1,
24859 reg: regInfo{
24860 outputs: []outputInfo{
24861 {0, 1071644664},
24862 },
24863 },
24864 },
24865 {
24866 name: "LoweredGetClosurePtr",
24867 argLen: 0,
24868 zeroWidth: true,
24869 reg: regInfo{
24870 outputs: []outputInfo{
24871 {0, 268435456},
24872 },
24873 },
24874 },
24875 {
24876 name: "LoweredGetCallerSP",
24877 argLen: 1,
24878 rematerializeable: true,
24879 reg: regInfo{
24880 outputs: []outputInfo{
24881 {0, 1071644664},
24882 },
24883 },
24884 },
24885 {
24886 name: "LoweredGetCallerPC",
24887 argLen: 0,
24888 rematerializeable: true,
24889 reg: regInfo{
24890 outputs: []outputInfo{
24891 {0, 1071644664},
24892 },
24893 },
24894 },
24895 {
24896 name: "LoweredWB",
24897 auxType: auxInt64,
24898 argLen: 1,
24899 clobberFlags: true,
24900 reg: regInfo{
24901 clobbers: 4611686017353646082,
24902 outputs: []outputInfo{
24903 {0, 268435456},
24904 },
24905 },
24906 },
24907 {
24908 name: "LoweredPanicBoundsA",
24909 auxType: auxInt64,
24910 argLen: 3,
24911 call: true,
24912 reg: regInfo{
24913 inputs: []inputInfo{
24914 {0, 4194304},
24915 {1, 8388608},
24916 },
24917 },
24918 },
24919 {
24920 name: "LoweredPanicBoundsB",
24921 auxType: auxInt64,
24922 argLen: 3,
24923 call: true,
24924 reg: regInfo{
24925 inputs: []inputInfo{
24926 {0, 1048576},
24927 {1, 4194304},
24928 },
24929 },
24930 },
24931 {
24932 name: "LoweredPanicBoundsC",
24933 auxType: auxInt64,
24934 argLen: 3,
24935 call: true,
24936 reg: regInfo{
24937 inputs: []inputInfo{
24938 {0, 524288},
24939 {1, 1048576},
24940 },
24941 },
24942 },
24943
24944 {
24945 name: "ADD",
24946 argLen: 2,
24947 commutative: true,
24948 asm: mips.AADDU,
24949 reg: regInfo{
24950 inputs: []inputInfo{
24951 {0, 469762046},
24952 {1, 469762046},
24953 },
24954 outputs: []outputInfo{
24955 {0, 335544318},
24956 },
24957 },
24958 },
24959 {
24960 name: "ADDconst",
24961 auxType: auxInt32,
24962 argLen: 1,
24963 asm: mips.AADDU,
24964 reg: regInfo{
24965 inputs: []inputInfo{
24966 {0, 536870910},
24967 },
24968 outputs: []outputInfo{
24969 {0, 335544318},
24970 },
24971 },
24972 },
24973 {
24974 name: "SUB",
24975 argLen: 2,
24976 asm: mips.ASUBU,
24977 reg: regInfo{
24978 inputs: []inputInfo{
24979 {0, 469762046},
24980 {1, 469762046},
24981 },
24982 outputs: []outputInfo{
24983 {0, 335544318},
24984 },
24985 },
24986 },
24987 {
24988 name: "SUBconst",
24989 auxType: auxInt32,
24990 argLen: 1,
24991 asm: mips.ASUBU,
24992 reg: regInfo{
24993 inputs: []inputInfo{
24994 {0, 469762046},
24995 },
24996 outputs: []outputInfo{
24997 {0, 335544318},
24998 },
24999 },
25000 },
25001 {
25002 name: "MUL",
25003 argLen: 2,
25004 commutative: true,
25005 asm: mips.AMUL,
25006 reg: regInfo{
25007 inputs: []inputInfo{
25008 {0, 469762046},
25009 {1, 469762046},
25010 },
25011 clobbers: 105553116266496,
25012 outputs: []outputInfo{
25013 {0, 335544318},
25014 },
25015 },
25016 },
25017 {
25018 name: "MULT",
25019 argLen: 2,
25020 commutative: true,
25021 asm: mips.AMUL,
25022 reg: regInfo{
25023 inputs: []inputInfo{
25024 {0, 469762046},
25025 {1, 469762046},
25026 },
25027 outputs: []outputInfo{
25028 {0, 35184372088832},
25029 {1, 70368744177664},
25030 },
25031 },
25032 },
25033 {
25034 name: "MULTU",
25035 argLen: 2,
25036 commutative: true,
25037 asm: mips.AMULU,
25038 reg: regInfo{
25039 inputs: []inputInfo{
25040 {0, 469762046},
25041 {1, 469762046},
25042 },
25043 outputs: []outputInfo{
25044 {0, 35184372088832},
25045 {1, 70368744177664},
25046 },
25047 },
25048 },
25049 {
25050 name: "DIV",
25051 argLen: 2,
25052 asm: mips.ADIV,
25053 reg: regInfo{
25054 inputs: []inputInfo{
25055 {0, 469762046},
25056 {1, 469762046},
25057 },
25058 outputs: []outputInfo{
25059 {0, 35184372088832},
25060 {1, 70368744177664},
25061 },
25062 },
25063 },
25064 {
25065 name: "DIVU",
25066 argLen: 2,
25067 asm: mips.ADIVU,
25068 reg: regInfo{
25069 inputs: []inputInfo{
25070 {0, 469762046},
25071 {1, 469762046},
25072 },
25073 outputs: []outputInfo{
25074 {0, 35184372088832},
25075 {1, 70368744177664},
25076 },
25077 },
25078 },
25079 {
25080 name: "ADDF",
25081 argLen: 2,
25082 commutative: true,
25083 asm: mips.AADDF,
25084 reg: regInfo{
25085 inputs: []inputInfo{
25086 {0, 35183835217920},
25087 {1, 35183835217920},
25088 },
25089 outputs: []outputInfo{
25090 {0, 35183835217920},
25091 },
25092 },
25093 },
25094 {
25095 name: "ADDD",
25096 argLen: 2,
25097 commutative: true,
25098 asm: mips.AADDD,
25099 reg: regInfo{
25100 inputs: []inputInfo{
25101 {0, 35183835217920},
25102 {1, 35183835217920},
25103 },
25104 outputs: []outputInfo{
25105 {0, 35183835217920},
25106 },
25107 },
25108 },
25109 {
25110 name: "SUBF",
25111 argLen: 2,
25112 asm: mips.ASUBF,
25113 reg: regInfo{
25114 inputs: []inputInfo{
25115 {0, 35183835217920},
25116 {1, 35183835217920},
25117 },
25118 outputs: []outputInfo{
25119 {0, 35183835217920},
25120 },
25121 },
25122 },
25123 {
25124 name: "SUBD",
25125 argLen: 2,
25126 asm: mips.ASUBD,
25127 reg: regInfo{
25128 inputs: []inputInfo{
25129 {0, 35183835217920},
25130 {1, 35183835217920},
25131 },
25132 outputs: []outputInfo{
25133 {0, 35183835217920},
25134 },
25135 },
25136 },
25137 {
25138 name: "MULF",
25139 argLen: 2,
25140 commutative: true,
25141 asm: mips.AMULF,
25142 reg: regInfo{
25143 inputs: []inputInfo{
25144 {0, 35183835217920},
25145 {1, 35183835217920},
25146 },
25147 outputs: []outputInfo{
25148 {0, 35183835217920},
25149 },
25150 },
25151 },
25152 {
25153 name: "MULD",
25154 argLen: 2,
25155 commutative: true,
25156 asm: mips.AMULD,
25157 reg: regInfo{
25158 inputs: []inputInfo{
25159 {0, 35183835217920},
25160 {1, 35183835217920},
25161 },
25162 outputs: []outputInfo{
25163 {0, 35183835217920},
25164 },
25165 },
25166 },
25167 {
25168 name: "DIVF",
25169 argLen: 2,
25170 asm: mips.ADIVF,
25171 reg: regInfo{
25172 inputs: []inputInfo{
25173 {0, 35183835217920},
25174 {1, 35183835217920},
25175 },
25176 outputs: []outputInfo{
25177 {0, 35183835217920},
25178 },
25179 },
25180 },
25181 {
25182 name: "DIVD",
25183 argLen: 2,
25184 asm: mips.ADIVD,
25185 reg: regInfo{
25186 inputs: []inputInfo{
25187 {0, 35183835217920},
25188 {1, 35183835217920},
25189 },
25190 outputs: []outputInfo{
25191 {0, 35183835217920},
25192 },
25193 },
25194 },
25195 {
25196 name: "AND",
25197 argLen: 2,
25198 commutative: true,
25199 asm: mips.AAND,
25200 reg: regInfo{
25201 inputs: []inputInfo{
25202 {0, 469762046},
25203 {1, 469762046},
25204 },
25205 outputs: []outputInfo{
25206 {0, 335544318},
25207 },
25208 },
25209 },
25210 {
25211 name: "ANDconst",
25212 auxType: auxInt32,
25213 argLen: 1,
25214 asm: mips.AAND,
25215 reg: regInfo{
25216 inputs: []inputInfo{
25217 {0, 469762046},
25218 },
25219 outputs: []outputInfo{
25220 {0, 335544318},
25221 },
25222 },
25223 },
25224 {
25225 name: "OR",
25226 argLen: 2,
25227 commutative: true,
25228 asm: mips.AOR,
25229 reg: regInfo{
25230 inputs: []inputInfo{
25231 {0, 469762046},
25232 {1, 469762046},
25233 },
25234 outputs: []outputInfo{
25235 {0, 335544318},
25236 },
25237 },
25238 },
25239 {
25240 name: "ORconst",
25241 auxType: auxInt32,
25242 argLen: 1,
25243 asm: mips.AOR,
25244 reg: regInfo{
25245 inputs: []inputInfo{
25246 {0, 469762046},
25247 },
25248 outputs: []outputInfo{
25249 {0, 335544318},
25250 },
25251 },
25252 },
25253 {
25254 name: "XOR",
25255 argLen: 2,
25256 commutative: true,
25257 asm: mips.AXOR,
25258 reg: regInfo{
25259 inputs: []inputInfo{
25260 {0, 469762046},
25261 {1, 469762046},
25262 },
25263 outputs: []outputInfo{
25264 {0, 335544318},
25265 },
25266 },
25267 },
25268 {
25269 name: "XORconst",
25270 auxType: auxInt32,
25271 argLen: 1,
25272 asm: mips.AXOR,
25273 reg: regInfo{
25274 inputs: []inputInfo{
25275 {0, 469762046},
25276 },
25277 outputs: []outputInfo{
25278 {0, 335544318},
25279 },
25280 },
25281 },
25282 {
25283 name: "NOR",
25284 argLen: 2,
25285 commutative: true,
25286 asm: mips.ANOR,
25287 reg: regInfo{
25288 inputs: []inputInfo{
25289 {0, 469762046},
25290 {1, 469762046},
25291 },
25292 outputs: []outputInfo{
25293 {0, 335544318},
25294 },
25295 },
25296 },
25297 {
25298 name: "NORconst",
25299 auxType: auxInt32,
25300 argLen: 1,
25301 asm: mips.ANOR,
25302 reg: regInfo{
25303 inputs: []inputInfo{
25304 {0, 469762046},
25305 },
25306 outputs: []outputInfo{
25307 {0, 335544318},
25308 },
25309 },
25310 },
25311 {
25312 name: "NEG",
25313 argLen: 1,
25314 reg: regInfo{
25315 inputs: []inputInfo{
25316 {0, 469762046},
25317 },
25318 outputs: []outputInfo{
25319 {0, 335544318},
25320 },
25321 },
25322 },
25323 {
25324 name: "NEGF",
25325 argLen: 1,
25326 asm: mips.ANEGF,
25327 reg: regInfo{
25328 inputs: []inputInfo{
25329 {0, 35183835217920},
25330 },
25331 outputs: []outputInfo{
25332 {0, 35183835217920},
25333 },
25334 },
25335 },
25336 {
25337 name: "NEGD",
25338 argLen: 1,
25339 asm: mips.ANEGD,
25340 reg: regInfo{
25341 inputs: []inputInfo{
25342 {0, 35183835217920},
25343 },
25344 outputs: []outputInfo{
25345 {0, 35183835217920},
25346 },
25347 },
25348 },
25349 {
25350 name: "ABSD",
25351 argLen: 1,
25352 asm: mips.AABSD,
25353 reg: regInfo{
25354 inputs: []inputInfo{
25355 {0, 35183835217920},
25356 },
25357 outputs: []outputInfo{
25358 {0, 35183835217920},
25359 },
25360 },
25361 },
25362 {
25363 name: "SQRTD",
25364 argLen: 1,
25365 asm: mips.ASQRTD,
25366 reg: regInfo{
25367 inputs: []inputInfo{
25368 {0, 35183835217920},
25369 },
25370 outputs: []outputInfo{
25371 {0, 35183835217920},
25372 },
25373 },
25374 },
25375 {
25376 name: "SQRTF",
25377 argLen: 1,
25378 asm: mips.ASQRTF,
25379 reg: regInfo{
25380 inputs: []inputInfo{
25381 {0, 35183835217920},
25382 },
25383 outputs: []outputInfo{
25384 {0, 35183835217920},
25385 },
25386 },
25387 },
25388 {
25389 name: "SLL",
25390 argLen: 2,
25391 asm: mips.ASLL,
25392 reg: regInfo{
25393 inputs: []inputInfo{
25394 {0, 469762046},
25395 {1, 469762046},
25396 },
25397 outputs: []outputInfo{
25398 {0, 335544318},
25399 },
25400 },
25401 },
25402 {
25403 name: "SLLconst",
25404 auxType: auxInt32,
25405 argLen: 1,
25406 asm: mips.ASLL,
25407 reg: regInfo{
25408 inputs: []inputInfo{
25409 {0, 469762046},
25410 },
25411 outputs: []outputInfo{
25412 {0, 335544318},
25413 },
25414 },
25415 },
25416 {
25417 name: "SRL",
25418 argLen: 2,
25419 asm: mips.ASRL,
25420 reg: regInfo{
25421 inputs: []inputInfo{
25422 {0, 469762046},
25423 {1, 469762046},
25424 },
25425 outputs: []outputInfo{
25426 {0, 335544318},
25427 },
25428 },
25429 },
25430 {
25431 name: "SRLconst",
25432 auxType: auxInt32,
25433 argLen: 1,
25434 asm: mips.ASRL,
25435 reg: regInfo{
25436 inputs: []inputInfo{
25437 {0, 469762046},
25438 },
25439 outputs: []outputInfo{
25440 {0, 335544318},
25441 },
25442 },
25443 },
25444 {
25445 name: "SRA",
25446 argLen: 2,
25447 asm: mips.ASRA,
25448 reg: regInfo{
25449 inputs: []inputInfo{
25450 {0, 469762046},
25451 {1, 469762046},
25452 },
25453 outputs: []outputInfo{
25454 {0, 335544318},
25455 },
25456 },
25457 },
25458 {
25459 name: "SRAconst",
25460 auxType: auxInt32,
25461 argLen: 1,
25462 asm: mips.ASRA,
25463 reg: regInfo{
25464 inputs: []inputInfo{
25465 {0, 469762046},
25466 },
25467 outputs: []outputInfo{
25468 {0, 335544318},
25469 },
25470 },
25471 },
25472 {
25473 name: "CLZ",
25474 argLen: 1,
25475 asm: mips.ACLZ,
25476 reg: regInfo{
25477 inputs: []inputInfo{
25478 {0, 469762046},
25479 },
25480 outputs: []outputInfo{
25481 {0, 335544318},
25482 },
25483 },
25484 },
25485 {
25486 name: "SGT",
25487 argLen: 2,
25488 asm: mips.ASGT,
25489 reg: regInfo{
25490 inputs: []inputInfo{
25491 {0, 469762046},
25492 {1, 469762046},
25493 },
25494 outputs: []outputInfo{
25495 {0, 335544318},
25496 },
25497 },
25498 },
25499 {
25500 name: "SGTconst",
25501 auxType: auxInt32,
25502 argLen: 1,
25503 asm: mips.ASGT,
25504 reg: regInfo{
25505 inputs: []inputInfo{
25506 {0, 469762046},
25507 },
25508 outputs: []outputInfo{
25509 {0, 335544318},
25510 },
25511 },
25512 },
25513 {
25514 name: "SGTzero",
25515 argLen: 1,
25516 asm: mips.ASGT,
25517 reg: regInfo{
25518 inputs: []inputInfo{
25519 {0, 469762046},
25520 },
25521 outputs: []outputInfo{
25522 {0, 335544318},
25523 },
25524 },
25525 },
25526 {
25527 name: "SGTU",
25528 argLen: 2,
25529 asm: mips.ASGTU,
25530 reg: regInfo{
25531 inputs: []inputInfo{
25532 {0, 469762046},
25533 {1, 469762046},
25534 },
25535 outputs: []outputInfo{
25536 {0, 335544318},
25537 },
25538 },
25539 },
25540 {
25541 name: "SGTUconst",
25542 auxType: auxInt32,
25543 argLen: 1,
25544 asm: mips.ASGTU,
25545 reg: regInfo{
25546 inputs: []inputInfo{
25547 {0, 469762046},
25548 },
25549 outputs: []outputInfo{
25550 {0, 335544318},
25551 },
25552 },
25553 },
25554 {
25555 name: "SGTUzero",
25556 argLen: 1,
25557 asm: mips.ASGTU,
25558 reg: regInfo{
25559 inputs: []inputInfo{
25560 {0, 469762046},
25561 },
25562 outputs: []outputInfo{
25563 {0, 335544318},
25564 },
25565 },
25566 },
25567 {
25568 name: "CMPEQF",
25569 argLen: 2,
25570 asm: mips.ACMPEQF,
25571 reg: regInfo{
25572 inputs: []inputInfo{
25573 {0, 35183835217920},
25574 {1, 35183835217920},
25575 },
25576 },
25577 },
25578 {
25579 name: "CMPEQD",
25580 argLen: 2,
25581 asm: mips.ACMPEQD,
25582 reg: regInfo{
25583 inputs: []inputInfo{
25584 {0, 35183835217920},
25585 {1, 35183835217920},
25586 },
25587 },
25588 },
25589 {
25590 name: "CMPGEF",
25591 argLen: 2,
25592 asm: mips.ACMPGEF,
25593 reg: regInfo{
25594 inputs: []inputInfo{
25595 {0, 35183835217920},
25596 {1, 35183835217920},
25597 },
25598 },
25599 },
25600 {
25601 name: "CMPGED",
25602 argLen: 2,
25603 asm: mips.ACMPGED,
25604 reg: regInfo{
25605 inputs: []inputInfo{
25606 {0, 35183835217920},
25607 {1, 35183835217920},
25608 },
25609 },
25610 },
25611 {
25612 name: "CMPGTF",
25613 argLen: 2,
25614 asm: mips.ACMPGTF,
25615 reg: regInfo{
25616 inputs: []inputInfo{
25617 {0, 35183835217920},
25618 {1, 35183835217920},
25619 },
25620 },
25621 },
25622 {
25623 name: "CMPGTD",
25624 argLen: 2,
25625 asm: mips.ACMPGTD,
25626 reg: regInfo{
25627 inputs: []inputInfo{
25628 {0, 35183835217920},
25629 {1, 35183835217920},
25630 },
25631 },
25632 },
25633 {
25634 name: "MOVWconst",
25635 auxType: auxInt32,
25636 argLen: 0,
25637 rematerializeable: true,
25638 asm: mips.AMOVW,
25639 reg: regInfo{
25640 outputs: []outputInfo{
25641 {0, 335544318},
25642 },
25643 },
25644 },
25645 {
25646 name: "MOVFconst",
25647 auxType: auxFloat32,
25648 argLen: 0,
25649 rematerializeable: true,
25650 asm: mips.AMOVF,
25651 reg: regInfo{
25652 outputs: []outputInfo{
25653 {0, 35183835217920},
25654 },
25655 },
25656 },
25657 {
25658 name: "MOVDconst",
25659 auxType: auxFloat64,
25660 argLen: 0,
25661 rematerializeable: true,
25662 asm: mips.AMOVD,
25663 reg: regInfo{
25664 outputs: []outputInfo{
25665 {0, 35183835217920},
25666 },
25667 },
25668 },
25669 {
25670 name: "MOVWaddr",
25671 auxType: auxSymOff,
25672 argLen: 1,
25673 rematerializeable: true,
25674 symEffect: SymAddr,
25675 asm: mips.AMOVW,
25676 reg: regInfo{
25677 inputs: []inputInfo{
25678 {0, 140737555464192},
25679 },
25680 outputs: []outputInfo{
25681 {0, 335544318},
25682 },
25683 },
25684 },
25685 {
25686 name: "MOVBload",
25687 auxType: auxSymOff,
25688 argLen: 2,
25689 faultOnNilArg0: true,
25690 symEffect: SymRead,
25691 asm: mips.AMOVB,
25692 reg: regInfo{
25693 inputs: []inputInfo{
25694 {0, 140738025226238},
25695 },
25696 outputs: []outputInfo{
25697 {0, 335544318},
25698 },
25699 },
25700 },
25701 {
25702 name: "MOVBUload",
25703 auxType: auxSymOff,
25704 argLen: 2,
25705 faultOnNilArg0: true,
25706 symEffect: SymRead,
25707 asm: mips.AMOVBU,
25708 reg: regInfo{
25709 inputs: []inputInfo{
25710 {0, 140738025226238},
25711 },
25712 outputs: []outputInfo{
25713 {0, 335544318},
25714 },
25715 },
25716 },
25717 {
25718 name: "MOVHload",
25719 auxType: auxSymOff,
25720 argLen: 2,
25721 faultOnNilArg0: true,
25722 symEffect: SymRead,
25723 asm: mips.AMOVH,
25724 reg: regInfo{
25725 inputs: []inputInfo{
25726 {0, 140738025226238},
25727 },
25728 outputs: []outputInfo{
25729 {0, 335544318},
25730 },
25731 },
25732 },
25733 {
25734 name: "MOVHUload",
25735 auxType: auxSymOff,
25736 argLen: 2,
25737 faultOnNilArg0: true,
25738 symEffect: SymRead,
25739 asm: mips.AMOVHU,
25740 reg: regInfo{
25741 inputs: []inputInfo{
25742 {0, 140738025226238},
25743 },
25744 outputs: []outputInfo{
25745 {0, 335544318},
25746 },
25747 },
25748 },
25749 {
25750 name: "MOVWload",
25751 auxType: auxSymOff,
25752 argLen: 2,
25753 faultOnNilArg0: true,
25754 symEffect: SymRead,
25755 asm: mips.AMOVW,
25756 reg: regInfo{
25757 inputs: []inputInfo{
25758 {0, 140738025226238},
25759 },
25760 outputs: []outputInfo{
25761 {0, 335544318},
25762 },
25763 },
25764 },
25765 {
25766 name: "MOVFload",
25767 auxType: auxSymOff,
25768 argLen: 2,
25769 faultOnNilArg0: true,
25770 symEffect: SymRead,
25771 asm: mips.AMOVF,
25772 reg: regInfo{
25773 inputs: []inputInfo{
25774 {0, 140738025226238},
25775 },
25776 outputs: []outputInfo{
25777 {0, 35183835217920},
25778 },
25779 },
25780 },
25781 {
25782 name: "MOVDload",
25783 auxType: auxSymOff,
25784 argLen: 2,
25785 faultOnNilArg0: true,
25786 symEffect: SymRead,
25787 asm: mips.AMOVD,
25788 reg: regInfo{
25789 inputs: []inputInfo{
25790 {0, 140738025226238},
25791 },
25792 outputs: []outputInfo{
25793 {0, 35183835217920},
25794 },
25795 },
25796 },
25797 {
25798 name: "MOVBstore",
25799 auxType: auxSymOff,
25800 argLen: 3,
25801 faultOnNilArg0: true,
25802 symEffect: SymWrite,
25803 asm: mips.AMOVB,
25804 reg: regInfo{
25805 inputs: []inputInfo{
25806 {1, 469762046},
25807 {0, 140738025226238},
25808 },
25809 },
25810 },
25811 {
25812 name: "MOVHstore",
25813 auxType: auxSymOff,
25814 argLen: 3,
25815 faultOnNilArg0: true,
25816 symEffect: SymWrite,
25817 asm: mips.AMOVH,
25818 reg: regInfo{
25819 inputs: []inputInfo{
25820 {1, 469762046},
25821 {0, 140738025226238},
25822 },
25823 },
25824 },
25825 {
25826 name: "MOVWstore",
25827 auxType: auxSymOff,
25828 argLen: 3,
25829 faultOnNilArg0: true,
25830 symEffect: SymWrite,
25831 asm: mips.AMOVW,
25832 reg: regInfo{
25833 inputs: []inputInfo{
25834 {1, 469762046},
25835 {0, 140738025226238},
25836 },
25837 },
25838 },
25839 {
25840 name: "MOVFstore",
25841 auxType: auxSymOff,
25842 argLen: 3,
25843 faultOnNilArg0: true,
25844 symEffect: SymWrite,
25845 asm: mips.AMOVF,
25846 reg: regInfo{
25847 inputs: []inputInfo{
25848 {1, 35183835217920},
25849 {0, 140738025226238},
25850 },
25851 },
25852 },
25853 {
25854 name: "MOVDstore",
25855 auxType: auxSymOff,
25856 argLen: 3,
25857 faultOnNilArg0: true,
25858 symEffect: SymWrite,
25859 asm: mips.AMOVD,
25860 reg: regInfo{
25861 inputs: []inputInfo{
25862 {1, 35183835217920},
25863 {0, 140738025226238},
25864 },
25865 },
25866 },
25867 {
25868 name: "MOVBstorezero",
25869 auxType: auxSymOff,
25870 argLen: 2,
25871 faultOnNilArg0: true,
25872 symEffect: SymWrite,
25873 asm: mips.AMOVB,
25874 reg: regInfo{
25875 inputs: []inputInfo{
25876 {0, 140738025226238},
25877 },
25878 },
25879 },
25880 {
25881 name: "MOVHstorezero",
25882 auxType: auxSymOff,
25883 argLen: 2,
25884 faultOnNilArg0: true,
25885 symEffect: SymWrite,
25886 asm: mips.AMOVH,
25887 reg: regInfo{
25888 inputs: []inputInfo{
25889 {0, 140738025226238},
25890 },
25891 },
25892 },
25893 {
25894 name: "MOVWstorezero",
25895 auxType: auxSymOff,
25896 argLen: 2,
25897 faultOnNilArg0: true,
25898 symEffect: SymWrite,
25899 asm: mips.AMOVW,
25900 reg: regInfo{
25901 inputs: []inputInfo{
25902 {0, 140738025226238},
25903 },
25904 },
25905 },
25906 {
25907 name: "MOVWfpgp",
25908 argLen: 1,
25909 asm: mips.AMOVW,
25910 reg: regInfo{
25911 inputs: []inputInfo{
25912 {0, 35183835217920},
25913 },
25914 outputs: []outputInfo{
25915 {0, 335544318},
25916 },
25917 },
25918 },
25919 {
25920 name: "MOVWgpfp",
25921 argLen: 1,
25922 asm: mips.AMOVW,
25923 reg: regInfo{
25924 inputs: []inputInfo{
25925 {0, 335544318},
25926 },
25927 outputs: []outputInfo{
25928 {0, 35183835217920},
25929 },
25930 },
25931 },
25932 {
25933 name: "MOVBreg",
25934 argLen: 1,
25935 asm: mips.AMOVB,
25936 reg: regInfo{
25937 inputs: []inputInfo{
25938 {0, 469762046},
25939 },
25940 outputs: []outputInfo{
25941 {0, 335544318},
25942 },
25943 },
25944 },
25945 {
25946 name: "MOVBUreg",
25947 argLen: 1,
25948 asm: mips.AMOVBU,
25949 reg: regInfo{
25950 inputs: []inputInfo{
25951 {0, 469762046},
25952 },
25953 outputs: []outputInfo{
25954 {0, 335544318},
25955 },
25956 },
25957 },
25958 {
25959 name: "MOVHreg",
25960 argLen: 1,
25961 asm: mips.AMOVH,
25962 reg: regInfo{
25963 inputs: []inputInfo{
25964 {0, 469762046},
25965 },
25966 outputs: []outputInfo{
25967 {0, 335544318},
25968 },
25969 },
25970 },
25971 {
25972 name: "MOVHUreg",
25973 argLen: 1,
25974 asm: mips.AMOVHU,
25975 reg: regInfo{
25976 inputs: []inputInfo{
25977 {0, 469762046},
25978 },
25979 outputs: []outputInfo{
25980 {0, 335544318},
25981 },
25982 },
25983 },
25984 {
25985 name: "MOVWreg",
25986 argLen: 1,
25987 asm: mips.AMOVW,
25988 reg: regInfo{
25989 inputs: []inputInfo{
25990 {0, 469762046},
25991 },
25992 outputs: []outputInfo{
25993 {0, 335544318},
25994 },
25995 },
25996 },
25997 {
25998 name: "MOVWnop",
25999 argLen: 1,
26000 resultInArg0: true,
26001 reg: regInfo{
26002 inputs: []inputInfo{
26003 {0, 335544318},
26004 },
26005 outputs: []outputInfo{
26006 {0, 335544318},
26007 },
26008 },
26009 },
26010 {
26011 name: "CMOVZ",
26012 argLen: 3,
26013 resultInArg0: true,
26014 asm: mips.ACMOVZ,
26015 reg: regInfo{
26016 inputs: []inputInfo{
26017 {0, 335544318},
26018 {1, 335544318},
26019 {2, 335544318},
26020 },
26021 outputs: []outputInfo{
26022 {0, 335544318},
26023 },
26024 },
26025 },
26026 {
26027 name: "CMOVZzero",
26028 argLen: 2,
26029 resultInArg0: true,
26030 asm: mips.ACMOVZ,
26031 reg: regInfo{
26032 inputs: []inputInfo{
26033 {0, 335544318},
26034 {1, 469762046},
26035 },
26036 outputs: []outputInfo{
26037 {0, 335544318},
26038 },
26039 },
26040 },
26041 {
26042 name: "MOVWF",
26043 argLen: 1,
26044 asm: mips.AMOVWF,
26045 reg: regInfo{
26046 inputs: []inputInfo{
26047 {0, 35183835217920},
26048 },
26049 outputs: []outputInfo{
26050 {0, 35183835217920},
26051 },
26052 },
26053 },
26054 {
26055 name: "MOVWD",
26056 argLen: 1,
26057 asm: mips.AMOVWD,
26058 reg: regInfo{
26059 inputs: []inputInfo{
26060 {0, 35183835217920},
26061 },
26062 outputs: []outputInfo{
26063 {0, 35183835217920},
26064 },
26065 },
26066 },
26067 {
26068 name: "TRUNCFW",
26069 argLen: 1,
26070 asm: mips.ATRUNCFW,
26071 reg: regInfo{
26072 inputs: []inputInfo{
26073 {0, 35183835217920},
26074 },
26075 outputs: []outputInfo{
26076 {0, 35183835217920},
26077 },
26078 },
26079 },
26080 {
26081 name: "TRUNCDW",
26082 argLen: 1,
26083 asm: mips.ATRUNCDW,
26084 reg: regInfo{
26085 inputs: []inputInfo{
26086 {0, 35183835217920},
26087 },
26088 outputs: []outputInfo{
26089 {0, 35183835217920},
26090 },
26091 },
26092 },
26093 {
26094 name: "MOVFD",
26095 argLen: 1,
26096 asm: mips.AMOVFD,
26097 reg: regInfo{
26098 inputs: []inputInfo{
26099 {0, 35183835217920},
26100 },
26101 outputs: []outputInfo{
26102 {0, 35183835217920},
26103 },
26104 },
26105 },
26106 {
26107 name: "MOVDF",
26108 argLen: 1,
26109 asm: mips.AMOVDF,
26110 reg: regInfo{
26111 inputs: []inputInfo{
26112 {0, 35183835217920},
26113 },
26114 outputs: []outputInfo{
26115 {0, 35183835217920},
26116 },
26117 },
26118 },
26119 {
26120 name: "CALLstatic",
26121 auxType: auxCallOff,
26122 argLen: 1,
26123 clobberFlags: true,
26124 call: true,
26125 reg: regInfo{
26126 clobbers: 140737421246462,
26127 },
26128 },
26129 {
26130 name: "CALLtail",
26131 auxType: auxCallOff,
26132 argLen: 1,
26133 clobberFlags: true,
26134 call: true,
26135 tailCall: true,
26136 reg: regInfo{
26137 clobbers: 140737421246462,
26138 },
26139 },
26140 {
26141 name: "CALLclosure",
26142 auxType: auxCallOff,
26143 argLen: 3,
26144 clobberFlags: true,
26145 call: true,
26146 reg: regInfo{
26147 inputs: []inputInfo{
26148 {1, 4194304},
26149 {0, 402653182},
26150 },
26151 clobbers: 140737421246462,
26152 },
26153 },
26154 {
26155 name: "CALLinter",
26156 auxType: auxCallOff,
26157 argLen: 2,
26158 clobberFlags: true,
26159 call: true,
26160 reg: regInfo{
26161 inputs: []inputInfo{
26162 {0, 335544318},
26163 },
26164 clobbers: 140737421246462,
26165 },
26166 },
26167 {
26168 name: "LoweredAtomicLoad8",
26169 argLen: 2,
26170 faultOnNilArg0: true,
26171 reg: regInfo{
26172 inputs: []inputInfo{
26173 {0, 140738025226238},
26174 },
26175 outputs: []outputInfo{
26176 {0, 335544318},
26177 },
26178 },
26179 },
26180 {
26181 name: "LoweredAtomicLoad32",
26182 argLen: 2,
26183 faultOnNilArg0: true,
26184 reg: regInfo{
26185 inputs: []inputInfo{
26186 {0, 140738025226238},
26187 },
26188 outputs: []outputInfo{
26189 {0, 335544318},
26190 },
26191 },
26192 },
26193 {
26194 name: "LoweredAtomicStore8",
26195 argLen: 3,
26196 faultOnNilArg0: true,
26197 hasSideEffects: true,
26198 reg: regInfo{
26199 inputs: []inputInfo{
26200 {1, 469762046},
26201 {0, 140738025226238},
26202 },
26203 },
26204 },
26205 {
26206 name: "LoweredAtomicStore32",
26207 argLen: 3,
26208 faultOnNilArg0: true,
26209 hasSideEffects: true,
26210 reg: regInfo{
26211 inputs: []inputInfo{
26212 {1, 469762046},
26213 {0, 140738025226238},
26214 },
26215 },
26216 },
26217 {
26218 name: "LoweredAtomicStorezero",
26219 argLen: 2,
26220 faultOnNilArg0: true,
26221 hasSideEffects: true,
26222 reg: regInfo{
26223 inputs: []inputInfo{
26224 {0, 140738025226238},
26225 },
26226 },
26227 },
26228 {
26229 name: "LoweredAtomicExchange",
26230 argLen: 3,
26231 resultNotInArgs: true,
26232 faultOnNilArg0: true,
26233 hasSideEffects: true,
26234 unsafePoint: true,
26235 reg: regInfo{
26236 inputs: []inputInfo{
26237 {1, 469762046},
26238 {0, 140738025226238},
26239 },
26240 outputs: []outputInfo{
26241 {0, 335544318},
26242 },
26243 },
26244 },
26245 {
26246 name: "LoweredAtomicAdd",
26247 argLen: 3,
26248 resultNotInArgs: true,
26249 faultOnNilArg0: true,
26250 hasSideEffects: true,
26251 unsafePoint: true,
26252 reg: regInfo{
26253 inputs: []inputInfo{
26254 {1, 469762046},
26255 {0, 140738025226238},
26256 },
26257 outputs: []outputInfo{
26258 {0, 335544318},
26259 },
26260 },
26261 },
26262 {
26263 name: "LoweredAtomicAddconst",
26264 auxType: auxInt32,
26265 argLen: 2,
26266 resultNotInArgs: true,
26267 faultOnNilArg0: true,
26268 hasSideEffects: true,
26269 unsafePoint: true,
26270 reg: regInfo{
26271 inputs: []inputInfo{
26272 {0, 140738025226238},
26273 },
26274 outputs: []outputInfo{
26275 {0, 335544318},
26276 },
26277 },
26278 },
26279 {
26280 name: "LoweredAtomicCas",
26281 argLen: 4,
26282 resultNotInArgs: true,
26283 faultOnNilArg0: true,
26284 hasSideEffects: true,
26285 unsafePoint: true,
26286 reg: regInfo{
26287 inputs: []inputInfo{
26288 {1, 469762046},
26289 {2, 469762046},
26290 {0, 140738025226238},
26291 },
26292 outputs: []outputInfo{
26293 {0, 335544318},
26294 },
26295 },
26296 },
26297 {
26298 name: "LoweredAtomicAnd",
26299 argLen: 3,
26300 faultOnNilArg0: true,
26301 hasSideEffects: true,
26302 unsafePoint: true,
26303 asm: mips.AAND,
26304 reg: regInfo{
26305 inputs: []inputInfo{
26306 {1, 469762046},
26307 {0, 140738025226238},
26308 },
26309 },
26310 },
26311 {
26312 name: "LoweredAtomicOr",
26313 argLen: 3,
26314 faultOnNilArg0: true,
26315 hasSideEffects: true,
26316 unsafePoint: true,
26317 asm: mips.AOR,
26318 reg: regInfo{
26319 inputs: []inputInfo{
26320 {1, 469762046},
26321 {0, 140738025226238},
26322 },
26323 },
26324 },
26325 {
26326 name: "LoweredZero",
26327 auxType: auxInt32,
26328 argLen: 3,
26329 faultOnNilArg0: true,
26330 reg: regInfo{
26331 inputs: []inputInfo{
26332 {0, 2},
26333 {1, 335544318},
26334 },
26335 clobbers: 2,
26336 },
26337 },
26338 {
26339 name: "LoweredMove",
26340 auxType: auxInt32,
26341 argLen: 4,
26342 faultOnNilArg0: true,
26343 faultOnNilArg1: true,
26344 reg: regInfo{
26345 inputs: []inputInfo{
26346 {0, 4},
26347 {1, 2},
26348 {2, 335544318},
26349 },
26350 clobbers: 6,
26351 },
26352 },
26353 {
26354 name: "LoweredNilCheck",
26355 argLen: 2,
26356 nilCheck: true,
26357 faultOnNilArg0: true,
26358 reg: regInfo{
26359 inputs: []inputInfo{
26360 {0, 469762046},
26361 },
26362 },
26363 },
26364 {
26365 name: "FPFlagTrue",
26366 argLen: 1,
26367 reg: regInfo{
26368 outputs: []outputInfo{
26369 {0, 335544318},
26370 },
26371 },
26372 },
26373 {
26374 name: "FPFlagFalse",
26375 argLen: 1,
26376 reg: regInfo{
26377 outputs: []outputInfo{
26378 {0, 335544318},
26379 },
26380 },
26381 },
26382 {
26383 name: "LoweredGetClosurePtr",
26384 argLen: 0,
26385 zeroWidth: true,
26386 reg: regInfo{
26387 outputs: []outputInfo{
26388 {0, 4194304},
26389 },
26390 },
26391 },
26392 {
26393 name: "LoweredGetCallerSP",
26394 argLen: 1,
26395 rematerializeable: true,
26396 reg: regInfo{
26397 outputs: []outputInfo{
26398 {0, 335544318},
26399 },
26400 },
26401 },
26402 {
26403 name: "LoweredGetCallerPC",
26404 argLen: 0,
26405 rematerializeable: true,
26406 reg: regInfo{
26407 outputs: []outputInfo{
26408 {0, 335544318},
26409 },
26410 },
26411 },
26412 {
26413 name: "LoweredWB",
26414 auxType: auxInt64,
26415 argLen: 1,
26416 clobberFlags: true,
26417 reg: regInfo{
26418 clobbers: 140737219919872,
26419 outputs: []outputInfo{
26420 {0, 16777216},
26421 },
26422 },
26423 },
26424 {
26425 name: "LoweredPanicBoundsA",
26426 auxType: auxInt64,
26427 argLen: 3,
26428 call: true,
26429 reg: regInfo{
26430 inputs: []inputInfo{
26431 {0, 8},
26432 {1, 16},
26433 },
26434 },
26435 },
26436 {
26437 name: "LoweredPanicBoundsB",
26438 auxType: auxInt64,
26439 argLen: 3,
26440 call: true,
26441 reg: regInfo{
26442 inputs: []inputInfo{
26443 {0, 4},
26444 {1, 8},
26445 },
26446 },
26447 },
26448 {
26449 name: "LoweredPanicBoundsC",
26450 auxType: auxInt64,
26451 argLen: 3,
26452 call: true,
26453 reg: regInfo{
26454 inputs: []inputInfo{
26455 {0, 2},
26456 {1, 4},
26457 },
26458 },
26459 },
26460 {
26461 name: "LoweredPanicExtendA",
26462 auxType: auxInt64,
26463 argLen: 4,
26464 call: true,
26465 reg: regInfo{
26466 inputs: []inputInfo{
26467 {0, 32},
26468 {1, 8},
26469 {2, 16},
26470 },
26471 },
26472 },
26473 {
26474 name: "LoweredPanicExtendB",
26475 auxType: auxInt64,
26476 argLen: 4,
26477 call: true,
26478 reg: regInfo{
26479 inputs: []inputInfo{
26480 {0, 32},
26481 {1, 4},
26482 {2, 8},
26483 },
26484 },
26485 },
26486 {
26487 name: "LoweredPanicExtendC",
26488 auxType: auxInt64,
26489 argLen: 4,
26490 call: true,
26491 reg: regInfo{
26492 inputs: []inputInfo{
26493 {0, 32},
26494 {1, 2},
26495 {2, 4},
26496 },
26497 },
26498 },
26499
26500 {
26501 name: "ADDV",
26502 argLen: 2,
26503 commutative: true,
26504 asm: mips.AADDVU,
26505 reg: regInfo{
26506 inputs: []inputInfo{
26507 {0, 234881022},
26508 {1, 234881022},
26509 },
26510 outputs: []outputInfo{
26511 {0, 167772158},
26512 },
26513 },
26514 },
26515 {
26516 name: "ADDVconst",
26517 auxType: auxInt64,
26518 argLen: 1,
26519 asm: mips.AADDVU,
26520 reg: regInfo{
26521 inputs: []inputInfo{
26522 {0, 268435454},
26523 },
26524 outputs: []outputInfo{
26525 {0, 167772158},
26526 },
26527 },
26528 },
26529 {
26530 name: "SUBV",
26531 argLen: 2,
26532 asm: mips.ASUBVU,
26533 reg: regInfo{
26534 inputs: []inputInfo{
26535 {0, 234881022},
26536 {1, 234881022},
26537 },
26538 outputs: []outputInfo{
26539 {0, 167772158},
26540 },
26541 },
26542 },
26543 {
26544 name: "SUBVconst",
26545 auxType: auxInt64,
26546 argLen: 1,
26547 asm: mips.ASUBVU,
26548 reg: regInfo{
26549 inputs: []inputInfo{
26550 {0, 234881022},
26551 },
26552 outputs: []outputInfo{
26553 {0, 167772158},
26554 },
26555 },
26556 },
26557 {
26558 name: "MULV",
26559 argLen: 2,
26560 commutative: true,
26561 asm: mips.AMULV,
26562 reg: regInfo{
26563 inputs: []inputInfo{
26564 {0, 234881022},
26565 {1, 234881022},
26566 },
26567 outputs: []outputInfo{
26568 {0, 1152921504606846976},
26569 {1, 2305843009213693952},
26570 },
26571 },
26572 },
26573 {
26574 name: "MULVU",
26575 argLen: 2,
26576 commutative: true,
26577 asm: mips.AMULVU,
26578 reg: regInfo{
26579 inputs: []inputInfo{
26580 {0, 234881022},
26581 {1, 234881022},
26582 },
26583 outputs: []outputInfo{
26584 {0, 1152921504606846976},
26585 {1, 2305843009213693952},
26586 },
26587 },
26588 },
26589 {
26590 name: "DIVV",
26591 argLen: 2,
26592 asm: mips.ADIVV,
26593 reg: regInfo{
26594 inputs: []inputInfo{
26595 {0, 234881022},
26596 {1, 234881022},
26597 },
26598 outputs: []outputInfo{
26599 {0, 1152921504606846976},
26600 {1, 2305843009213693952},
26601 },
26602 },
26603 },
26604 {
26605 name: "DIVVU",
26606 argLen: 2,
26607 asm: mips.ADIVVU,
26608 reg: regInfo{
26609 inputs: []inputInfo{
26610 {0, 234881022},
26611 {1, 234881022},
26612 },
26613 outputs: []outputInfo{
26614 {0, 1152921504606846976},
26615 {1, 2305843009213693952},
26616 },
26617 },
26618 },
26619 {
26620 name: "ADDF",
26621 argLen: 2,
26622 commutative: true,
26623 asm: mips.AADDF,
26624 reg: regInfo{
26625 inputs: []inputInfo{
26626 {0, 1152921504338411520},
26627 {1, 1152921504338411520},
26628 },
26629 outputs: []outputInfo{
26630 {0, 1152921504338411520},
26631 },
26632 },
26633 },
26634 {
26635 name: "ADDD",
26636 argLen: 2,
26637 commutative: true,
26638 asm: mips.AADDD,
26639 reg: regInfo{
26640 inputs: []inputInfo{
26641 {0, 1152921504338411520},
26642 {1, 1152921504338411520},
26643 },
26644 outputs: []outputInfo{
26645 {0, 1152921504338411520},
26646 },
26647 },
26648 },
26649 {
26650 name: "SUBF",
26651 argLen: 2,
26652 asm: mips.ASUBF,
26653 reg: regInfo{
26654 inputs: []inputInfo{
26655 {0, 1152921504338411520},
26656 {1, 1152921504338411520},
26657 },
26658 outputs: []outputInfo{
26659 {0, 1152921504338411520},
26660 },
26661 },
26662 },
26663 {
26664 name: "SUBD",
26665 argLen: 2,
26666 asm: mips.ASUBD,
26667 reg: regInfo{
26668 inputs: []inputInfo{
26669 {0, 1152921504338411520},
26670 {1, 1152921504338411520},
26671 },
26672 outputs: []outputInfo{
26673 {0, 1152921504338411520},
26674 },
26675 },
26676 },
26677 {
26678 name: "MULF",
26679 argLen: 2,
26680 commutative: true,
26681 asm: mips.AMULF,
26682 reg: regInfo{
26683 inputs: []inputInfo{
26684 {0, 1152921504338411520},
26685 {1, 1152921504338411520},
26686 },
26687 outputs: []outputInfo{
26688 {0, 1152921504338411520},
26689 },
26690 },
26691 },
26692 {
26693 name: "MULD",
26694 argLen: 2,
26695 commutative: true,
26696 asm: mips.AMULD,
26697 reg: regInfo{
26698 inputs: []inputInfo{
26699 {0, 1152921504338411520},
26700 {1, 1152921504338411520},
26701 },
26702 outputs: []outputInfo{
26703 {0, 1152921504338411520},
26704 },
26705 },
26706 },
26707 {
26708 name: "DIVF",
26709 argLen: 2,
26710 asm: mips.ADIVF,
26711 reg: regInfo{
26712 inputs: []inputInfo{
26713 {0, 1152921504338411520},
26714 {1, 1152921504338411520},
26715 },
26716 outputs: []outputInfo{
26717 {0, 1152921504338411520},
26718 },
26719 },
26720 },
26721 {
26722 name: "DIVD",
26723 argLen: 2,
26724 asm: mips.ADIVD,
26725 reg: regInfo{
26726 inputs: []inputInfo{
26727 {0, 1152921504338411520},
26728 {1, 1152921504338411520},
26729 },
26730 outputs: []outputInfo{
26731 {0, 1152921504338411520},
26732 },
26733 },
26734 },
26735 {
26736 name: "AND",
26737 argLen: 2,
26738 commutative: true,
26739 asm: mips.AAND,
26740 reg: regInfo{
26741 inputs: []inputInfo{
26742 {0, 234881022},
26743 {1, 234881022},
26744 },
26745 outputs: []outputInfo{
26746 {0, 167772158},
26747 },
26748 },
26749 },
26750 {
26751 name: "ANDconst",
26752 auxType: auxInt64,
26753 argLen: 1,
26754 asm: mips.AAND,
26755 reg: regInfo{
26756 inputs: []inputInfo{
26757 {0, 234881022},
26758 },
26759 outputs: []outputInfo{
26760 {0, 167772158},
26761 },
26762 },
26763 },
26764 {
26765 name: "OR",
26766 argLen: 2,
26767 commutative: true,
26768 asm: mips.AOR,
26769 reg: regInfo{
26770 inputs: []inputInfo{
26771 {0, 234881022},
26772 {1, 234881022},
26773 },
26774 outputs: []outputInfo{
26775 {0, 167772158},
26776 },
26777 },
26778 },
26779 {
26780 name: "ORconst",
26781 auxType: auxInt64,
26782 argLen: 1,
26783 asm: mips.AOR,
26784 reg: regInfo{
26785 inputs: []inputInfo{
26786 {0, 234881022},
26787 },
26788 outputs: []outputInfo{
26789 {0, 167772158},
26790 },
26791 },
26792 },
26793 {
26794 name: "XOR",
26795 argLen: 2,
26796 commutative: true,
26797 asm: mips.AXOR,
26798 reg: regInfo{
26799 inputs: []inputInfo{
26800 {0, 234881022},
26801 {1, 234881022},
26802 },
26803 outputs: []outputInfo{
26804 {0, 167772158},
26805 },
26806 },
26807 },
26808 {
26809 name: "XORconst",
26810 auxType: auxInt64,
26811 argLen: 1,
26812 asm: mips.AXOR,
26813 reg: regInfo{
26814 inputs: []inputInfo{
26815 {0, 234881022},
26816 },
26817 outputs: []outputInfo{
26818 {0, 167772158},
26819 },
26820 },
26821 },
26822 {
26823 name: "NOR",
26824 argLen: 2,
26825 commutative: true,
26826 asm: mips.ANOR,
26827 reg: regInfo{
26828 inputs: []inputInfo{
26829 {0, 234881022},
26830 {1, 234881022},
26831 },
26832 outputs: []outputInfo{
26833 {0, 167772158},
26834 },
26835 },
26836 },
26837 {
26838 name: "NORconst",
26839 auxType: auxInt64,
26840 argLen: 1,
26841 asm: mips.ANOR,
26842 reg: regInfo{
26843 inputs: []inputInfo{
26844 {0, 234881022},
26845 },
26846 outputs: []outputInfo{
26847 {0, 167772158},
26848 },
26849 },
26850 },
26851 {
26852 name: "NEGV",
26853 argLen: 1,
26854 reg: regInfo{
26855 inputs: []inputInfo{
26856 {0, 234881022},
26857 },
26858 outputs: []outputInfo{
26859 {0, 167772158},
26860 },
26861 },
26862 },
26863 {
26864 name: "NEGF",
26865 argLen: 1,
26866 asm: mips.ANEGF,
26867 reg: regInfo{
26868 inputs: []inputInfo{
26869 {0, 1152921504338411520},
26870 },
26871 outputs: []outputInfo{
26872 {0, 1152921504338411520},
26873 },
26874 },
26875 },
26876 {
26877 name: "NEGD",
26878 argLen: 1,
26879 asm: mips.ANEGD,
26880 reg: regInfo{
26881 inputs: []inputInfo{
26882 {0, 1152921504338411520},
26883 },
26884 outputs: []outputInfo{
26885 {0, 1152921504338411520},
26886 },
26887 },
26888 },
26889 {
26890 name: "ABSD",
26891 argLen: 1,
26892 asm: mips.AABSD,
26893 reg: regInfo{
26894 inputs: []inputInfo{
26895 {0, 1152921504338411520},
26896 },
26897 outputs: []outputInfo{
26898 {0, 1152921504338411520},
26899 },
26900 },
26901 },
26902 {
26903 name: "SQRTD",
26904 argLen: 1,
26905 asm: mips.ASQRTD,
26906 reg: regInfo{
26907 inputs: []inputInfo{
26908 {0, 1152921504338411520},
26909 },
26910 outputs: []outputInfo{
26911 {0, 1152921504338411520},
26912 },
26913 },
26914 },
26915 {
26916 name: "SQRTF",
26917 argLen: 1,
26918 asm: mips.ASQRTF,
26919 reg: regInfo{
26920 inputs: []inputInfo{
26921 {0, 1152921504338411520},
26922 },
26923 outputs: []outputInfo{
26924 {0, 1152921504338411520},
26925 },
26926 },
26927 },
26928 {
26929 name: "SLLV",
26930 argLen: 2,
26931 asm: mips.ASLLV,
26932 reg: regInfo{
26933 inputs: []inputInfo{
26934 {0, 234881022},
26935 {1, 234881022},
26936 },
26937 outputs: []outputInfo{
26938 {0, 167772158},
26939 },
26940 },
26941 },
26942 {
26943 name: "SLLVconst",
26944 auxType: auxInt64,
26945 argLen: 1,
26946 asm: mips.ASLLV,
26947 reg: regInfo{
26948 inputs: []inputInfo{
26949 {0, 234881022},
26950 },
26951 outputs: []outputInfo{
26952 {0, 167772158},
26953 },
26954 },
26955 },
26956 {
26957 name: "SRLV",
26958 argLen: 2,
26959 asm: mips.ASRLV,
26960 reg: regInfo{
26961 inputs: []inputInfo{
26962 {0, 234881022},
26963 {1, 234881022},
26964 },
26965 outputs: []outputInfo{
26966 {0, 167772158},
26967 },
26968 },
26969 },
26970 {
26971 name: "SRLVconst",
26972 auxType: auxInt64,
26973 argLen: 1,
26974 asm: mips.ASRLV,
26975 reg: regInfo{
26976 inputs: []inputInfo{
26977 {0, 234881022},
26978 },
26979 outputs: []outputInfo{
26980 {0, 167772158},
26981 },
26982 },
26983 },
26984 {
26985 name: "SRAV",
26986 argLen: 2,
26987 asm: mips.ASRAV,
26988 reg: regInfo{
26989 inputs: []inputInfo{
26990 {0, 234881022},
26991 {1, 234881022},
26992 },
26993 outputs: []outputInfo{
26994 {0, 167772158},
26995 },
26996 },
26997 },
26998 {
26999 name: "SRAVconst",
27000 auxType: auxInt64,
27001 argLen: 1,
27002 asm: mips.ASRAV,
27003 reg: regInfo{
27004 inputs: []inputInfo{
27005 {0, 234881022},
27006 },
27007 outputs: []outputInfo{
27008 {0, 167772158},
27009 },
27010 },
27011 },
27012 {
27013 name: "SGT",
27014 argLen: 2,
27015 asm: mips.ASGT,
27016 reg: regInfo{
27017 inputs: []inputInfo{
27018 {0, 234881022},
27019 {1, 234881022},
27020 },
27021 outputs: []outputInfo{
27022 {0, 167772158},
27023 },
27024 },
27025 },
27026 {
27027 name: "SGTconst",
27028 auxType: auxInt64,
27029 argLen: 1,
27030 asm: mips.ASGT,
27031 reg: regInfo{
27032 inputs: []inputInfo{
27033 {0, 234881022},
27034 },
27035 outputs: []outputInfo{
27036 {0, 167772158},
27037 },
27038 },
27039 },
27040 {
27041 name: "SGTU",
27042 argLen: 2,
27043 asm: mips.ASGTU,
27044 reg: regInfo{
27045 inputs: []inputInfo{
27046 {0, 234881022},
27047 {1, 234881022},
27048 },
27049 outputs: []outputInfo{
27050 {0, 167772158},
27051 },
27052 },
27053 },
27054 {
27055 name: "SGTUconst",
27056 auxType: auxInt64,
27057 argLen: 1,
27058 asm: mips.ASGTU,
27059 reg: regInfo{
27060 inputs: []inputInfo{
27061 {0, 234881022},
27062 },
27063 outputs: []outputInfo{
27064 {0, 167772158},
27065 },
27066 },
27067 },
27068 {
27069 name: "CMPEQF",
27070 argLen: 2,
27071 asm: mips.ACMPEQF,
27072 reg: regInfo{
27073 inputs: []inputInfo{
27074 {0, 1152921504338411520},
27075 {1, 1152921504338411520},
27076 },
27077 },
27078 },
27079 {
27080 name: "CMPEQD",
27081 argLen: 2,
27082 asm: mips.ACMPEQD,
27083 reg: regInfo{
27084 inputs: []inputInfo{
27085 {0, 1152921504338411520},
27086 {1, 1152921504338411520},
27087 },
27088 },
27089 },
27090 {
27091 name: "CMPGEF",
27092 argLen: 2,
27093 asm: mips.ACMPGEF,
27094 reg: regInfo{
27095 inputs: []inputInfo{
27096 {0, 1152921504338411520},
27097 {1, 1152921504338411520},
27098 },
27099 },
27100 },
27101 {
27102 name: "CMPGED",
27103 argLen: 2,
27104 asm: mips.ACMPGED,
27105 reg: regInfo{
27106 inputs: []inputInfo{
27107 {0, 1152921504338411520},
27108 {1, 1152921504338411520},
27109 },
27110 },
27111 },
27112 {
27113 name: "CMPGTF",
27114 argLen: 2,
27115 asm: mips.ACMPGTF,
27116 reg: regInfo{
27117 inputs: []inputInfo{
27118 {0, 1152921504338411520},
27119 {1, 1152921504338411520},
27120 },
27121 },
27122 },
27123 {
27124 name: "CMPGTD",
27125 argLen: 2,
27126 asm: mips.ACMPGTD,
27127 reg: regInfo{
27128 inputs: []inputInfo{
27129 {0, 1152921504338411520},
27130 {1, 1152921504338411520},
27131 },
27132 },
27133 },
27134 {
27135 name: "MOVVconst",
27136 auxType: auxInt64,
27137 argLen: 0,
27138 rematerializeable: true,
27139 asm: mips.AMOVV,
27140 reg: regInfo{
27141 outputs: []outputInfo{
27142 {0, 167772158},
27143 },
27144 },
27145 },
27146 {
27147 name: "MOVFconst",
27148 auxType: auxFloat64,
27149 argLen: 0,
27150 rematerializeable: true,
27151 asm: mips.AMOVF,
27152 reg: regInfo{
27153 outputs: []outputInfo{
27154 {0, 1152921504338411520},
27155 },
27156 },
27157 },
27158 {
27159 name: "MOVDconst",
27160 auxType: auxFloat64,
27161 argLen: 0,
27162 rematerializeable: true,
27163 asm: mips.AMOVD,
27164 reg: regInfo{
27165 outputs: []outputInfo{
27166 {0, 1152921504338411520},
27167 },
27168 },
27169 },
27170 {
27171 name: "MOVVaddr",
27172 auxType: auxSymOff,
27173 argLen: 1,
27174 rematerializeable: true,
27175 symEffect: SymAddr,
27176 asm: mips.AMOVV,
27177 reg: regInfo{
27178 inputs: []inputInfo{
27179 {0, 4611686018460942336},
27180 },
27181 outputs: []outputInfo{
27182 {0, 167772158},
27183 },
27184 },
27185 },
27186 {
27187 name: "MOVBload",
27188 auxType: auxSymOff,
27189 argLen: 2,
27190 faultOnNilArg0: true,
27191 symEffect: SymRead,
27192 asm: mips.AMOVB,
27193 reg: regInfo{
27194 inputs: []inputInfo{
27195 {0, 4611686018695823358},
27196 },
27197 outputs: []outputInfo{
27198 {0, 167772158},
27199 },
27200 },
27201 },
27202 {
27203 name: "MOVBUload",
27204 auxType: auxSymOff,
27205 argLen: 2,
27206 faultOnNilArg0: true,
27207 symEffect: SymRead,
27208 asm: mips.AMOVBU,
27209 reg: regInfo{
27210 inputs: []inputInfo{
27211 {0, 4611686018695823358},
27212 },
27213 outputs: []outputInfo{
27214 {0, 167772158},
27215 },
27216 },
27217 },
27218 {
27219 name: "MOVHload",
27220 auxType: auxSymOff,
27221 argLen: 2,
27222 faultOnNilArg0: true,
27223 symEffect: SymRead,
27224 asm: mips.AMOVH,
27225 reg: regInfo{
27226 inputs: []inputInfo{
27227 {0, 4611686018695823358},
27228 },
27229 outputs: []outputInfo{
27230 {0, 167772158},
27231 },
27232 },
27233 },
27234 {
27235 name: "MOVHUload",
27236 auxType: auxSymOff,
27237 argLen: 2,
27238 faultOnNilArg0: true,
27239 symEffect: SymRead,
27240 asm: mips.AMOVHU,
27241 reg: regInfo{
27242 inputs: []inputInfo{
27243 {0, 4611686018695823358},
27244 },
27245 outputs: []outputInfo{
27246 {0, 167772158},
27247 },
27248 },
27249 },
27250 {
27251 name: "MOVWload",
27252 auxType: auxSymOff,
27253 argLen: 2,
27254 faultOnNilArg0: true,
27255 symEffect: SymRead,
27256 asm: mips.AMOVW,
27257 reg: regInfo{
27258 inputs: []inputInfo{
27259 {0, 4611686018695823358},
27260 },
27261 outputs: []outputInfo{
27262 {0, 167772158},
27263 },
27264 },
27265 },
27266 {
27267 name: "MOVWUload",
27268 auxType: auxSymOff,
27269 argLen: 2,
27270 faultOnNilArg0: true,
27271 symEffect: SymRead,
27272 asm: mips.AMOVWU,
27273 reg: regInfo{
27274 inputs: []inputInfo{
27275 {0, 4611686018695823358},
27276 },
27277 outputs: []outputInfo{
27278 {0, 167772158},
27279 },
27280 },
27281 },
27282 {
27283 name: "MOVVload",
27284 auxType: auxSymOff,
27285 argLen: 2,
27286 faultOnNilArg0: true,
27287 symEffect: SymRead,
27288 asm: mips.AMOVV,
27289 reg: regInfo{
27290 inputs: []inputInfo{
27291 {0, 4611686018695823358},
27292 },
27293 outputs: []outputInfo{
27294 {0, 167772158},
27295 },
27296 },
27297 },
27298 {
27299 name: "MOVFload",
27300 auxType: auxSymOff,
27301 argLen: 2,
27302 faultOnNilArg0: true,
27303 symEffect: SymRead,
27304 asm: mips.AMOVF,
27305 reg: regInfo{
27306 inputs: []inputInfo{
27307 {0, 4611686018695823358},
27308 },
27309 outputs: []outputInfo{
27310 {0, 1152921504338411520},
27311 },
27312 },
27313 },
27314 {
27315 name: "MOVDload",
27316 auxType: auxSymOff,
27317 argLen: 2,
27318 faultOnNilArg0: true,
27319 symEffect: SymRead,
27320 asm: mips.AMOVD,
27321 reg: regInfo{
27322 inputs: []inputInfo{
27323 {0, 4611686018695823358},
27324 },
27325 outputs: []outputInfo{
27326 {0, 1152921504338411520},
27327 },
27328 },
27329 },
27330 {
27331 name: "MOVBstore",
27332 auxType: auxSymOff,
27333 argLen: 3,
27334 faultOnNilArg0: true,
27335 symEffect: SymWrite,
27336 asm: mips.AMOVB,
27337 reg: regInfo{
27338 inputs: []inputInfo{
27339 {1, 234881022},
27340 {0, 4611686018695823358},
27341 },
27342 },
27343 },
27344 {
27345 name: "MOVHstore",
27346 auxType: auxSymOff,
27347 argLen: 3,
27348 faultOnNilArg0: true,
27349 symEffect: SymWrite,
27350 asm: mips.AMOVH,
27351 reg: regInfo{
27352 inputs: []inputInfo{
27353 {1, 234881022},
27354 {0, 4611686018695823358},
27355 },
27356 },
27357 },
27358 {
27359 name: "MOVWstore",
27360 auxType: auxSymOff,
27361 argLen: 3,
27362 faultOnNilArg0: true,
27363 symEffect: SymWrite,
27364 asm: mips.AMOVW,
27365 reg: regInfo{
27366 inputs: []inputInfo{
27367 {1, 234881022},
27368 {0, 4611686018695823358},
27369 },
27370 },
27371 },
27372 {
27373 name: "MOVVstore",
27374 auxType: auxSymOff,
27375 argLen: 3,
27376 faultOnNilArg0: true,
27377 symEffect: SymWrite,
27378 asm: mips.AMOVV,
27379 reg: regInfo{
27380 inputs: []inputInfo{
27381 {1, 234881022},
27382 {0, 4611686018695823358},
27383 },
27384 },
27385 },
27386 {
27387 name: "MOVFstore",
27388 auxType: auxSymOff,
27389 argLen: 3,
27390 faultOnNilArg0: true,
27391 symEffect: SymWrite,
27392 asm: mips.AMOVF,
27393 reg: regInfo{
27394 inputs: []inputInfo{
27395 {0, 4611686018695823358},
27396 {1, 1152921504338411520},
27397 },
27398 },
27399 },
27400 {
27401 name: "MOVDstore",
27402 auxType: auxSymOff,
27403 argLen: 3,
27404 faultOnNilArg0: true,
27405 symEffect: SymWrite,
27406 asm: mips.AMOVD,
27407 reg: regInfo{
27408 inputs: []inputInfo{
27409 {0, 4611686018695823358},
27410 {1, 1152921504338411520},
27411 },
27412 },
27413 },
27414 {
27415 name: "MOVBstorezero",
27416 auxType: auxSymOff,
27417 argLen: 2,
27418 faultOnNilArg0: true,
27419 symEffect: SymWrite,
27420 asm: mips.AMOVB,
27421 reg: regInfo{
27422 inputs: []inputInfo{
27423 {0, 4611686018695823358},
27424 },
27425 },
27426 },
27427 {
27428 name: "MOVHstorezero",
27429 auxType: auxSymOff,
27430 argLen: 2,
27431 faultOnNilArg0: true,
27432 symEffect: SymWrite,
27433 asm: mips.AMOVH,
27434 reg: regInfo{
27435 inputs: []inputInfo{
27436 {0, 4611686018695823358},
27437 },
27438 },
27439 },
27440 {
27441 name: "MOVWstorezero",
27442 auxType: auxSymOff,
27443 argLen: 2,
27444 faultOnNilArg0: true,
27445 symEffect: SymWrite,
27446 asm: mips.AMOVW,
27447 reg: regInfo{
27448 inputs: []inputInfo{
27449 {0, 4611686018695823358},
27450 },
27451 },
27452 },
27453 {
27454 name: "MOVVstorezero",
27455 auxType: auxSymOff,
27456 argLen: 2,
27457 faultOnNilArg0: true,
27458 symEffect: SymWrite,
27459 asm: mips.AMOVV,
27460 reg: regInfo{
27461 inputs: []inputInfo{
27462 {0, 4611686018695823358},
27463 },
27464 },
27465 },
27466 {
27467 name: "MOVWfpgp",
27468 argLen: 1,
27469 asm: mips.AMOVW,
27470 reg: regInfo{
27471 inputs: []inputInfo{
27472 {0, 1152921504338411520},
27473 },
27474 outputs: []outputInfo{
27475 {0, 167772158},
27476 },
27477 },
27478 },
27479 {
27480 name: "MOVWgpfp",
27481 argLen: 1,
27482 asm: mips.AMOVW,
27483 reg: regInfo{
27484 inputs: []inputInfo{
27485 {0, 167772158},
27486 },
27487 outputs: []outputInfo{
27488 {0, 1152921504338411520},
27489 },
27490 },
27491 },
27492 {
27493 name: "MOVVfpgp",
27494 argLen: 1,
27495 asm: mips.AMOVV,
27496 reg: regInfo{
27497 inputs: []inputInfo{
27498 {0, 1152921504338411520},
27499 },
27500 outputs: []outputInfo{
27501 {0, 167772158},
27502 },
27503 },
27504 },
27505 {
27506 name: "MOVVgpfp",
27507 argLen: 1,
27508 asm: mips.AMOVV,
27509 reg: regInfo{
27510 inputs: []inputInfo{
27511 {0, 167772158},
27512 },
27513 outputs: []outputInfo{
27514 {0, 1152921504338411520},
27515 },
27516 },
27517 },
27518 {
27519 name: "MOVBreg",
27520 argLen: 1,
27521 asm: mips.AMOVB,
27522 reg: regInfo{
27523 inputs: []inputInfo{
27524 {0, 234881022},
27525 },
27526 outputs: []outputInfo{
27527 {0, 167772158},
27528 },
27529 },
27530 },
27531 {
27532 name: "MOVBUreg",
27533 argLen: 1,
27534 asm: mips.AMOVBU,
27535 reg: regInfo{
27536 inputs: []inputInfo{
27537 {0, 234881022},
27538 },
27539 outputs: []outputInfo{
27540 {0, 167772158},
27541 },
27542 },
27543 },
27544 {
27545 name: "MOVHreg",
27546 argLen: 1,
27547 asm: mips.AMOVH,
27548 reg: regInfo{
27549 inputs: []inputInfo{
27550 {0, 234881022},
27551 },
27552 outputs: []outputInfo{
27553 {0, 167772158},
27554 },
27555 },
27556 },
27557 {
27558 name: "MOVHUreg",
27559 argLen: 1,
27560 asm: mips.AMOVHU,
27561 reg: regInfo{
27562 inputs: []inputInfo{
27563 {0, 234881022},
27564 },
27565 outputs: []outputInfo{
27566 {0, 167772158},
27567 },
27568 },
27569 },
27570 {
27571 name: "MOVWreg",
27572 argLen: 1,
27573 asm: mips.AMOVW,
27574 reg: regInfo{
27575 inputs: []inputInfo{
27576 {0, 234881022},
27577 },
27578 outputs: []outputInfo{
27579 {0, 167772158},
27580 },
27581 },
27582 },
27583 {
27584 name: "MOVWUreg",
27585 argLen: 1,
27586 asm: mips.AMOVWU,
27587 reg: regInfo{
27588 inputs: []inputInfo{
27589 {0, 234881022},
27590 },
27591 outputs: []outputInfo{
27592 {0, 167772158},
27593 },
27594 },
27595 },
27596 {
27597 name: "MOVVreg",
27598 argLen: 1,
27599 asm: mips.AMOVV,
27600 reg: regInfo{
27601 inputs: []inputInfo{
27602 {0, 234881022},
27603 },
27604 outputs: []outputInfo{
27605 {0, 167772158},
27606 },
27607 },
27608 },
27609 {
27610 name: "MOVVnop",
27611 argLen: 1,
27612 resultInArg0: true,
27613 reg: regInfo{
27614 inputs: []inputInfo{
27615 {0, 167772158},
27616 },
27617 outputs: []outputInfo{
27618 {0, 167772158},
27619 },
27620 },
27621 },
27622 {
27623 name: "MOVWF",
27624 argLen: 1,
27625 asm: mips.AMOVWF,
27626 reg: regInfo{
27627 inputs: []inputInfo{
27628 {0, 1152921504338411520},
27629 },
27630 outputs: []outputInfo{
27631 {0, 1152921504338411520},
27632 },
27633 },
27634 },
27635 {
27636 name: "MOVWD",
27637 argLen: 1,
27638 asm: mips.AMOVWD,
27639 reg: regInfo{
27640 inputs: []inputInfo{
27641 {0, 1152921504338411520},
27642 },
27643 outputs: []outputInfo{
27644 {0, 1152921504338411520},
27645 },
27646 },
27647 },
27648 {
27649 name: "MOVVF",
27650 argLen: 1,
27651 asm: mips.AMOVVF,
27652 reg: regInfo{
27653 inputs: []inputInfo{
27654 {0, 1152921504338411520},
27655 },
27656 outputs: []outputInfo{
27657 {0, 1152921504338411520},
27658 },
27659 },
27660 },
27661 {
27662 name: "MOVVD",
27663 argLen: 1,
27664 asm: mips.AMOVVD,
27665 reg: regInfo{
27666 inputs: []inputInfo{
27667 {0, 1152921504338411520},
27668 },
27669 outputs: []outputInfo{
27670 {0, 1152921504338411520},
27671 },
27672 },
27673 },
27674 {
27675 name: "TRUNCFW",
27676 argLen: 1,
27677 asm: mips.ATRUNCFW,
27678 reg: regInfo{
27679 inputs: []inputInfo{
27680 {0, 1152921504338411520},
27681 },
27682 outputs: []outputInfo{
27683 {0, 1152921504338411520},
27684 },
27685 },
27686 },
27687 {
27688 name: "TRUNCDW",
27689 argLen: 1,
27690 asm: mips.ATRUNCDW,
27691 reg: regInfo{
27692 inputs: []inputInfo{
27693 {0, 1152921504338411520},
27694 },
27695 outputs: []outputInfo{
27696 {0, 1152921504338411520},
27697 },
27698 },
27699 },
27700 {
27701 name: "TRUNCFV",
27702 argLen: 1,
27703 asm: mips.ATRUNCFV,
27704 reg: regInfo{
27705 inputs: []inputInfo{
27706 {0, 1152921504338411520},
27707 },
27708 outputs: []outputInfo{
27709 {0, 1152921504338411520},
27710 },
27711 },
27712 },
27713 {
27714 name: "TRUNCDV",
27715 argLen: 1,
27716 asm: mips.ATRUNCDV,
27717 reg: regInfo{
27718 inputs: []inputInfo{
27719 {0, 1152921504338411520},
27720 },
27721 outputs: []outputInfo{
27722 {0, 1152921504338411520},
27723 },
27724 },
27725 },
27726 {
27727 name: "MOVFD",
27728 argLen: 1,
27729 asm: mips.AMOVFD,
27730 reg: regInfo{
27731 inputs: []inputInfo{
27732 {0, 1152921504338411520},
27733 },
27734 outputs: []outputInfo{
27735 {0, 1152921504338411520},
27736 },
27737 },
27738 },
27739 {
27740 name: "MOVDF",
27741 argLen: 1,
27742 asm: mips.AMOVDF,
27743 reg: regInfo{
27744 inputs: []inputInfo{
27745 {0, 1152921504338411520},
27746 },
27747 outputs: []outputInfo{
27748 {0, 1152921504338411520},
27749 },
27750 },
27751 },
27752 {
27753 name: "CALLstatic",
27754 auxType: auxCallOff,
27755 argLen: 1,
27756 clobberFlags: true,
27757 call: true,
27758 reg: regInfo{
27759 clobbers: 4611686018393833470,
27760 },
27761 },
27762 {
27763 name: "CALLtail",
27764 auxType: auxCallOff,
27765 argLen: 1,
27766 clobberFlags: true,
27767 call: true,
27768 tailCall: true,
27769 reg: regInfo{
27770 clobbers: 4611686018393833470,
27771 },
27772 },
27773 {
27774 name: "CALLclosure",
27775 auxType: auxCallOff,
27776 argLen: 3,
27777 clobberFlags: true,
27778 call: true,
27779 reg: regInfo{
27780 inputs: []inputInfo{
27781 {1, 4194304},
27782 {0, 201326590},
27783 },
27784 clobbers: 4611686018393833470,
27785 },
27786 },
27787 {
27788 name: "CALLinter",
27789 auxType: auxCallOff,
27790 argLen: 2,
27791 clobberFlags: true,
27792 call: true,
27793 reg: regInfo{
27794 inputs: []inputInfo{
27795 {0, 167772158},
27796 },
27797 clobbers: 4611686018393833470,
27798 },
27799 },
27800 {
27801 name: "DUFFZERO",
27802 auxType: auxInt64,
27803 argLen: 2,
27804 faultOnNilArg0: true,
27805 reg: regInfo{
27806 inputs: []inputInfo{
27807 {0, 167772158},
27808 },
27809 clobbers: 134217730,
27810 },
27811 },
27812 {
27813 name: "DUFFCOPY",
27814 auxType: auxInt64,
27815 argLen: 3,
27816 faultOnNilArg0: true,
27817 faultOnNilArg1: true,
27818 reg: regInfo{
27819 inputs: []inputInfo{
27820 {0, 4},
27821 {1, 2},
27822 },
27823 clobbers: 134217734,
27824 },
27825 },
27826 {
27827 name: "LoweredZero",
27828 auxType: auxInt64,
27829 argLen: 3,
27830 clobberFlags: true,
27831 faultOnNilArg0: true,
27832 reg: regInfo{
27833 inputs: []inputInfo{
27834 {0, 2},
27835 {1, 167772158},
27836 },
27837 clobbers: 2,
27838 },
27839 },
27840 {
27841 name: "LoweredMove",
27842 auxType: auxInt64,
27843 argLen: 4,
27844 clobberFlags: true,
27845 faultOnNilArg0: true,
27846 faultOnNilArg1: true,
27847 reg: regInfo{
27848 inputs: []inputInfo{
27849 {0, 4},
27850 {1, 2},
27851 {2, 167772158},
27852 },
27853 clobbers: 6,
27854 },
27855 },
27856 {
27857 name: "LoweredAtomicAnd32",
27858 argLen: 3,
27859 faultOnNilArg0: true,
27860 hasSideEffects: true,
27861 unsafePoint: true,
27862 asm: mips.AAND,
27863 reg: regInfo{
27864 inputs: []inputInfo{
27865 {1, 234881022},
27866 {0, 4611686018695823358},
27867 },
27868 },
27869 },
27870 {
27871 name: "LoweredAtomicOr32",
27872 argLen: 3,
27873 faultOnNilArg0: true,
27874 hasSideEffects: true,
27875 unsafePoint: true,
27876 asm: mips.AOR,
27877 reg: regInfo{
27878 inputs: []inputInfo{
27879 {1, 234881022},
27880 {0, 4611686018695823358},
27881 },
27882 },
27883 },
27884 {
27885 name: "LoweredAtomicLoad8",
27886 argLen: 2,
27887 faultOnNilArg0: true,
27888 reg: regInfo{
27889 inputs: []inputInfo{
27890 {0, 4611686018695823358},
27891 },
27892 outputs: []outputInfo{
27893 {0, 167772158},
27894 },
27895 },
27896 },
27897 {
27898 name: "LoweredAtomicLoad32",
27899 argLen: 2,
27900 faultOnNilArg0: true,
27901 reg: regInfo{
27902 inputs: []inputInfo{
27903 {0, 4611686018695823358},
27904 },
27905 outputs: []outputInfo{
27906 {0, 167772158},
27907 },
27908 },
27909 },
27910 {
27911 name: "LoweredAtomicLoad64",
27912 argLen: 2,
27913 faultOnNilArg0: true,
27914 reg: regInfo{
27915 inputs: []inputInfo{
27916 {0, 4611686018695823358},
27917 },
27918 outputs: []outputInfo{
27919 {0, 167772158},
27920 },
27921 },
27922 },
27923 {
27924 name: "LoweredAtomicStore8",
27925 argLen: 3,
27926 faultOnNilArg0: true,
27927 hasSideEffects: true,
27928 reg: regInfo{
27929 inputs: []inputInfo{
27930 {1, 234881022},
27931 {0, 4611686018695823358},
27932 },
27933 },
27934 },
27935 {
27936 name: "LoweredAtomicStore32",
27937 argLen: 3,
27938 faultOnNilArg0: true,
27939 hasSideEffects: true,
27940 reg: regInfo{
27941 inputs: []inputInfo{
27942 {1, 234881022},
27943 {0, 4611686018695823358},
27944 },
27945 },
27946 },
27947 {
27948 name: "LoweredAtomicStore64",
27949 argLen: 3,
27950 faultOnNilArg0: true,
27951 hasSideEffects: true,
27952 reg: regInfo{
27953 inputs: []inputInfo{
27954 {1, 234881022},
27955 {0, 4611686018695823358},
27956 },
27957 },
27958 },
27959 {
27960 name: "LoweredAtomicStorezero32",
27961 argLen: 2,
27962 faultOnNilArg0: true,
27963 hasSideEffects: true,
27964 reg: regInfo{
27965 inputs: []inputInfo{
27966 {0, 4611686018695823358},
27967 },
27968 },
27969 },
27970 {
27971 name: "LoweredAtomicStorezero64",
27972 argLen: 2,
27973 faultOnNilArg0: true,
27974 hasSideEffects: true,
27975 reg: regInfo{
27976 inputs: []inputInfo{
27977 {0, 4611686018695823358},
27978 },
27979 },
27980 },
27981 {
27982 name: "LoweredAtomicExchange32",
27983 argLen: 3,
27984 resultNotInArgs: true,
27985 faultOnNilArg0: true,
27986 hasSideEffects: true,
27987 unsafePoint: true,
27988 reg: regInfo{
27989 inputs: []inputInfo{
27990 {1, 234881022},
27991 {0, 4611686018695823358},
27992 },
27993 outputs: []outputInfo{
27994 {0, 167772158},
27995 },
27996 },
27997 },
27998 {
27999 name: "LoweredAtomicExchange64",
28000 argLen: 3,
28001 resultNotInArgs: true,
28002 faultOnNilArg0: true,
28003 hasSideEffects: true,
28004 unsafePoint: true,
28005 reg: regInfo{
28006 inputs: []inputInfo{
28007 {1, 234881022},
28008 {0, 4611686018695823358},
28009 },
28010 outputs: []outputInfo{
28011 {0, 167772158},
28012 },
28013 },
28014 },
28015 {
28016 name: "LoweredAtomicAdd32",
28017 argLen: 3,
28018 resultNotInArgs: true,
28019 faultOnNilArg0: true,
28020 hasSideEffects: true,
28021 unsafePoint: true,
28022 reg: regInfo{
28023 inputs: []inputInfo{
28024 {1, 234881022},
28025 {0, 4611686018695823358},
28026 },
28027 outputs: []outputInfo{
28028 {0, 167772158},
28029 },
28030 },
28031 },
28032 {
28033 name: "LoweredAtomicAdd64",
28034 argLen: 3,
28035 resultNotInArgs: true,
28036 faultOnNilArg0: true,
28037 hasSideEffects: true,
28038 unsafePoint: true,
28039 reg: regInfo{
28040 inputs: []inputInfo{
28041 {1, 234881022},
28042 {0, 4611686018695823358},
28043 },
28044 outputs: []outputInfo{
28045 {0, 167772158},
28046 },
28047 },
28048 },
28049 {
28050 name: "LoweredAtomicAddconst32",
28051 auxType: auxInt32,
28052 argLen: 2,
28053 resultNotInArgs: true,
28054 faultOnNilArg0: true,
28055 hasSideEffects: true,
28056 unsafePoint: true,
28057 reg: regInfo{
28058 inputs: []inputInfo{
28059 {0, 4611686018695823358},
28060 },
28061 outputs: []outputInfo{
28062 {0, 167772158},
28063 },
28064 },
28065 },
28066 {
28067 name: "LoweredAtomicAddconst64",
28068 auxType: auxInt64,
28069 argLen: 2,
28070 resultNotInArgs: true,
28071 faultOnNilArg0: true,
28072 hasSideEffects: true,
28073 unsafePoint: true,
28074 reg: regInfo{
28075 inputs: []inputInfo{
28076 {0, 4611686018695823358},
28077 },
28078 outputs: []outputInfo{
28079 {0, 167772158},
28080 },
28081 },
28082 },
28083 {
28084 name: "LoweredAtomicCas32",
28085 argLen: 4,
28086 resultNotInArgs: true,
28087 faultOnNilArg0: true,
28088 hasSideEffects: true,
28089 unsafePoint: true,
28090 reg: regInfo{
28091 inputs: []inputInfo{
28092 {1, 234881022},
28093 {2, 234881022},
28094 {0, 4611686018695823358},
28095 },
28096 outputs: []outputInfo{
28097 {0, 167772158},
28098 },
28099 },
28100 },
28101 {
28102 name: "LoweredAtomicCas64",
28103 argLen: 4,
28104 resultNotInArgs: true,
28105 faultOnNilArg0: true,
28106 hasSideEffects: true,
28107 unsafePoint: true,
28108 reg: regInfo{
28109 inputs: []inputInfo{
28110 {1, 234881022},
28111 {2, 234881022},
28112 {0, 4611686018695823358},
28113 },
28114 outputs: []outputInfo{
28115 {0, 167772158},
28116 },
28117 },
28118 },
28119 {
28120 name: "LoweredNilCheck",
28121 argLen: 2,
28122 nilCheck: true,
28123 faultOnNilArg0: true,
28124 reg: regInfo{
28125 inputs: []inputInfo{
28126 {0, 234881022},
28127 },
28128 },
28129 },
28130 {
28131 name: "FPFlagTrue",
28132 argLen: 1,
28133 reg: regInfo{
28134 outputs: []outputInfo{
28135 {0, 167772158},
28136 },
28137 },
28138 },
28139 {
28140 name: "FPFlagFalse",
28141 argLen: 1,
28142 reg: regInfo{
28143 outputs: []outputInfo{
28144 {0, 167772158},
28145 },
28146 },
28147 },
28148 {
28149 name: "LoweredGetClosurePtr",
28150 argLen: 0,
28151 zeroWidth: true,
28152 reg: regInfo{
28153 outputs: []outputInfo{
28154 {0, 4194304},
28155 },
28156 },
28157 },
28158 {
28159 name: "LoweredGetCallerSP",
28160 argLen: 1,
28161 rematerializeable: true,
28162 reg: regInfo{
28163 outputs: []outputInfo{
28164 {0, 167772158},
28165 },
28166 },
28167 },
28168 {
28169 name: "LoweredGetCallerPC",
28170 argLen: 0,
28171 rematerializeable: true,
28172 reg: regInfo{
28173 outputs: []outputInfo{
28174 {0, 167772158},
28175 },
28176 },
28177 },
28178 {
28179 name: "LoweredWB",
28180 auxType: auxInt64,
28181 argLen: 1,
28182 clobberFlags: true,
28183 reg: regInfo{
28184 clobbers: 4611686018293170176,
28185 outputs: []outputInfo{
28186 {0, 16777216},
28187 },
28188 },
28189 },
28190 {
28191 name: "LoweredPanicBoundsA",
28192 auxType: auxInt64,
28193 argLen: 3,
28194 call: true,
28195 reg: regInfo{
28196 inputs: []inputInfo{
28197 {0, 8},
28198 {1, 16},
28199 },
28200 },
28201 },
28202 {
28203 name: "LoweredPanicBoundsB",
28204 auxType: auxInt64,
28205 argLen: 3,
28206 call: true,
28207 reg: regInfo{
28208 inputs: []inputInfo{
28209 {0, 4},
28210 {1, 8},
28211 },
28212 },
28213 },
28214 {
28215 name: "LoweredPanicBoundsC",
28216 auxType: auxInt64,
28217 argLen: 3,
28218 call: true,
28219 reg: regInfo{
28220 inputs: []inputInfo{
28221 {0, 2},
28222 {1, 4},
28223 },
28224 },
28225 },
28226
28227 {
28228 name: "ADD",
28229 argLen: 2,
28230 commutative: true,
28231 asm: ppc64.AADD,
28232 reg: regInfo{
28233 inputs: []inputInfo{
28234 {0, 1073733630},
28235 {1, 1073733630},
28236 },
28237 outputs: []outputInfo{
28238 {0, 1073733624},
28239 },
28240 },
28241 },
28242 {
28243 name: "ADDCC",
28244 argLen: 2,
28245 commutative: true,
28246 asm: ppc64.AADDCC,
28247 reg: regInfo{
28248 inputs: []inputInfo{
28249 {0, 1073733630},
28250 {1, 1073733630},
28251 },
28252 outputs: []outputInfo{
28253 {0, 1073733624},
28254 },
28255 },
28256 },
28257 {
28258 name: "ADDconst",
28259 auxType: auxInt64,
28260 argLen: 1,
28261 asm: ppc64.AADD,
28262 reg: regInfo{
28263 inputs: []inputInfo{
28264 {0, 1073733630},
28265 },
28266 outputs: []outputInfo{
28267 {0, 1073733624},
28268 },
28269 },
28270 },
28271 {
28272 name: "ADDCCconst",
28273 auxType: auxInt64,
28274 argLen: 1,
28275 asm: ppc64.AADDCCC,
28276 reg: regInfo{
28277 inputs: []inputInfo{
28278 {0, 1073733630},
28279 },
28280 clobbers: 9223372036854775808,
28281 outputs: []outputInfo{
28282 {0, 1073733624},
28283 },
28284 },
28285 },
28286 {
28287 name: "FADD",
28288 argLen: 2,
28289 commutative: true,
28290 asm: ppc64.AFADD,
28291 reg: regInfo{
28292 inputs: []inputInfo{
28293 {0, 9223372032559808512},
28294 {1, 9223372032559808512},
28295 },
28296 outputs: []outputInfo{
28297 {0, 9223372032559808512},
28298 },
28299 },
28300 },
28301 {
28302 name: "FADDS",
28303 argLen: 2,
28304 commutative: true,
28305 asm: ppc64.AFADDS,
28306 reg: regInfo{
28307 inputs: []inputInfo{
28308 {0, 9223372032559808512},
28309 {1, 9223372032559808512},
28310 },
28311 outputs: []outputInfo{
28312 {0, 9223372032559808512},
28313 },
28314 },
28315 },
28316 {
28317 name: "SUB",
28318 argLen: 2,
28319 asm: ppc64.ASUB,
28320 reg: regInfo{
28321 inputs: []inputInfo{
28322 {0, 1073733630},
28323 {1, 1073733630},
28324 },
28325 outputs: []outputInfo{
28326 {0, 1073733624},
28327 },
28328 },
28329 },
28330 {
28331 name: "SUBCC",
28332 argLen: 2,
28333 asm: ppc64.ASUBCC,
28334 reg: regInfo{
28335 inputs: []inputInfo{
28336 {0, 1073733630},
28337 {1, 1073733630},
28338 },
28339 outputs: []outputInfo{
28340 {0, 1073733624},
28341 },
28342 },
28343 },
28344 {
28345 name: "SUBFCconst",
28346 auxType: auxInt64,
28347 argLen: 1,
28348 asm: ppc64.ASUBC,
28349 reg: regInfo{
28350 inputs: []inputInfo{
28351 {0, 1073733630},
28352 },
28353 clobbers: 9223372036854775808,
28354 outputs: []outputInfo{
28355 {0, 1073733624},
28356 },
28357 },
28358 },
28359 {
28360 name: "FSUB",
28361 argLen: 2,
28362 asm: ppc64.AFSUB,
28363 reg: regInfo{
28364 inputs: []inputInfo{
28365 {0, 9223372032559808512},
28366 {1, 9223372032559808512},
28367 },
28368 outputs: []outputInfo{
28369 {0, 9223372032559808512},
28370 },
28371 },
28372 },
28373 {
28374 name: "FSUBS",
28375 argLen: 2,
28376 asm: ppc64.AFSUBS,
28377 reg: regInfo{
28378 inputs: []inputInfo{
28379 {0, 9223372032559808512},
28380 {1, 9223372032559808512},
28381 },
28382 outputs: []outputInfo{
28383 {0, 9223372032559808512},
28384 },
28385 },
28386 },
28387 {
28388 name: "MULLD",
28389 argLen: 2,
28390 commutative: true,
28391 asm: ppc64.AMULLD,
28392 reg: regInfo{
28393 inputs: []inputInfo{
28394 {0, 1073733630},
28395 {1, 1073733630},
28396 },
28397 outputs: []outputInfo{
28398 {0, 1073733624},
28399 },
28400 },
28401 },
28402 {
28403 name: "MULLW",
28404 argLen: 2,
28405 commutative: true,
28406 asm: ppc64.AMULLW,
28407 reg: regInfo{
28408 inputs: []inputInfo{
28409 {0, 1073733630},
28410 {1, 1073733630},
28411 },
28412 outputs: []outputInfo{
28413 {0, 1073733624},
28414 },
28415 },
28416 },
28417 {
28418 name: "MULLDconst",
28419 auxType: auxInt32,
28420 argLen: 1,
28421 asm: ppc64.AMULLD,
28422 reg: regInfo{
28423 inputs: []inputInfo{
28424 {0, 1073733630},
28425 },
28426 outputs: []outputInfo{
28427 {0, 1073733624},
28428 },
28429 },
28430 },
28431 {
28432 name: "MULLWconst",
28433 auxType: auxInt32,
28434 argLen: 1,
28435 asm: ppc64.AMULLW,
28436 reg: regInfo{
28437 inputs: []inputInfo{
28438 {0, 1073733630},
28439 },
28440 outputs: []outputInfo{
28441 {0, 1073733624},
28442 },
28443 },
28444 },
28445 {
28446 name: "MADDLD",
28447 argLen: 3,
28448 asm: ppc64.AMADDLD,
28449 reg: regInfo{
28450 inputs: []inputInfo{
28451 {0, 1073733630},
28452 {1, 1073733630},
28453 {2, 1073733630},
28454 },
28455 outputs: []outputInfo{
28456 {0, 1073733624},
28457 },
28458 },
28459 },
28460 {
28461 name: "MULHD",
28462 argLen: 2,
28463 commutative: true,
28464 asm: ppc64.AMULHD,
28465 reg: regInfo{
28466 inputs: []inputInfo{
28467 {0, 1073733630},
28468 {1, 1073733630},
28469 },
28470 outputs: []outputInfo{
28471 {0, 1073733624},
28472 },
28473 },
28474 },
28475 {
28476 name: "MULHW",
28477 argLen: 2,
28478 commutative: true,
28479 asm: ppc64.AMULHW,
28480 reg: regInfo{
28481 inputs: []inputInfo{
28482 {0, 1073733630},
28483 {1, 1073733630},
28484 },
28485 outputs: []outputInfo{
28486 {0, 1073733624},
28487 },
28488 },
28489 },
28490 {
28491 name: "MULHDU",
28492 argLen: 2,
28493 commutative: true,
28494 asm: ppc64.AMULHDU,
28495 reg: regInfo{
28496 inputs: []inputInfo{
28497 {0, 1073733630},
28498 {1, 1073733630},
28499 },
28500 outputs: []outputInfo{
28501 {0, 1073733624},
28502 },
28503 },
28504 },
28505 {
28506 name: "MULHWU",
28507 argLen: 2,
28508 commutative: true,
28509 asm: ppc64.AMULHWU,
28510 reg: regInfo{
28511 inputs: []inputInfo{
28512 {0, 1073733630},
28513 {1, 1073733630},
28514 },
28515 outputs: []outputInfo{
28516 {0, 1073733624},
28517 },
28518 },
28519 },
28520 {
28521 name: "FMUL",
28522 argLen: 2,
28523 commutative: true,
28524 asm: ppc64.AFMUL,
28525 reg: regInfo{
28526 inputs: []inputInfo{
28527 {0, 9223372032559808512},
28528 {1, 9223372032559808512},
28529 },
28530 outputs: []outputInfo{
28531 {0, 9223372032559808512},
28532 },
28533 },
28534 },
28535 {
28536 name: "FMULS",
28537 argLen: 2,
28538 commutative: true,
28539 asm: ppc64.AFMULS,
28540 reg: regInfo{
28541 inputs: []inputInfo{
28542 {0, 9223372032559808512},
28543 {1, 9223372032559808512},
28544 },
28545 outputs: []outputInfo{
28546 {0, 9223372032559808512},
28547 },
28548 },
28549 },
28550 {
28551 name: "FMADD",
28552 argLen: 3,
28553 asm: ppc64.AFMADD,
28554 reg: regInfo{
28555 inputs: []inputInfo{
28556 {0, 9223372032559808512},
28557 {1, 9223372032559808512},
28558 {2, 9223372032559808512},
28559 },
28560 outputs: []outputInfo{
28561 {0, 9223372032559808512},
28562 },
28563 },
28564 },
28565 {
28566 name: "FMADDS",
28567 argLen: 3,
28568 asm: ppc64.AFMADDS,
28569 reg: regInfo{
28570 inputs: []inputInfo{
28571 {0, 9223372032559808512},
28572 {1, 9223372032559808512},
28573 {2, 9223372032559808512},
28574 },
28575 outputs: []outputInfo{
28576 {0, 9223372032559808512},
28577 },
28578 },
28579 },
28580 {
28581 name: "FMSUB",
28582 argLen: 3,
28583 asm: ppc64.AFMSUB,
28584 reg: regInfo{
28585 inputs: []inputInfo{
28586 {0, 9223372032559808512},
28587 {1, 9223372032559808512},
28588 {2, 9223372032559808512},
28589 },
28590 outputs: []outputInfo{
28591 {0, 9223372032559808512},
28592 },
28593 },
28594 },
28595 {
28596 name: "FMSUBS",
28597 argLen: 3,
28598 asm: ppc64.AFMSUBS,
28599 reg: regInfo{
28600 inputs: []inputInfo{
28601 {0, 9223372032559808512},
28602 {1, 9223372032559808512},
28603 {2, 9223372032559808512},
28604 },
28605 outputs: []outputInfo{
28606 {0, 9223372032559808512},
28607 },
28608 },
28609 },
28610 {
28611 name: "SRAD",
28612 argLen: 2,
28613 asm: ppc64.ASRAD,
28614 reg: regInfo{
28615 inputs: []inputInfo{
28616 {0, 1073733630},
28617 {1, 1073733630},
28618 },
28619 clobbers: 9223372036854775808,
28620 outputs: []outputInfo{
28621 {0, 1073733624},
28622 },
28623 },
28624 },
28625 {
28626 name: "SRAW",
28627 argLen: 2,
28628 asm: ppc64.ASRAW,
28629 reg: regInfo{
28630 inputs: []inputInfo{
28631 {0, 1073733630},
28632 {1, 1073733630},
28633 },
28634 clobbers: 9223372036854775808,
28635 outputs: []outputInfo{
28636 {0, 1073733624},
28637 },
28638 },
28639 },
28640 {
28641 name: "SRD",
28642 argLen: 2,
28643 asm: ppc64.ASRD,
28644 reg: regInfo{
28645 inputs: []inputInfo{
28646 {0, 1073733630},
28647 {1, 1073733630},
28648 },
28649 outputs: []outputInfo{
28650 {0, 1073733624},
28651 },
28652 },
28653 },
28654 {
28655 name: "SRW",
28656 argLen: 2,
28657 asm: ppc64.ASRW,
28658 reg: regInfo{
28659 inputs: []inputInfo{
28660 {0, 1073733630},
28661 {1, 1073733630},
28662 },
28663 outputs: []outputInfo{
28664 {0, 1073733624},
28665 },
28666 },
28667 },
28668 {
28669 name: "SLD",
28670 argLen: 2,
28671 asm: ppc64.ASLD,
28672 reg: regInfo{
28673 inputs: []inputInfo{
28674 {0, 1073733630},
28675 {1, 1073733630},
28676 },
28677 outputs: []outputInfo{
28678 {0, 1073733624},
28679 },
28680 },
28681 },
28682 {
28683 name: "SLW",
28684 argLen: 2,
28685 asm: ppc64.ASLW,
28686 reg: regInfo{
28687 inputs: []inputInfo{
28688 {0, 1073733630},
28689 {1, 1073733630},
28690 },
28691 outputs: []outputInfo{
28692 {0, 1073733624},
28693 },
28694 },
28695 },
28696 {
28697 name: "ROTL",
28698 argLen: 2,
28699 asm: ppc64.AROTL,
28700 reg: regInfo{
28701 inputs: []inputInfo{
28702 {0, 1073733630},
28703 {1, 1073733630},
28704 },
28705 outputs: []outputInfo{
28706 {0, 1073733624},
28707 },
28708 },
28709 },
28710 {
28711 name: "ROTLW",
28712 argLen: 2,
28713 asm: ppc64.AROTLW,
28714 reg: regInfo{
28715 inputs: []inputInfo{
28716 {0, 1073733630},
28717 {1, 1073733630},
28718 },
28719 outputs: []outputInfo{
28720 {0, 1073733624},
28721 },
28722 },
28723 },
28724 {
28725 name: "CLRLSLWI",
28726 auxType: auxInt32,
28727 argLen: 1,
28728 asm: ppc64.ACLRLSLWI,
28729 reg: regInfo{
28730 inputs: []inputInfo{
28731 {0, 1073733630},
28732 },
28733 outputs: []outputInfo{
28734 {0, 1073733624},
28735 },
28736 },
28737 },
28738 {
28739 name: "CLRLSLDI",
28740 auxType: auxInt32,
28741 argLen: 1,
28742 asm: ppc64.ACLRLSLDI,
28743 reg: regInfo{
28744 inputs: []inputInfo{
28745 {0, 1073733630},
28746 },
28747 outputs: []outputInfo{
28748 {0, 1073733624},
28749 },
28750 },
28751 },
28752 {
28753 name: "ADDC",
28754 argLen: 2,
28755 commutative: true,
28756 asm: ppc64.AADDC,
28757 reg: regInfo{
28758 inputs: []inputInfo{
28759 {0, 1073733630},
28760 {1, 1073733630},
28761 },
28762 clobbers: 9223372036854775808,
28763 outputs: []outputInfo{
28764 {1, 9223372036854775808},
28765 {0, 1073733624},
28766 },
28767 },
28768 },
28769 {
28770 name: "SUBC",
28771 argLen: 2,
28772 asm: ppc64.ASUBC,
28773 reg: regInfo{
28774 inputs: []inputInfo{
28775 {0, 1073733630},
28776 {1, 1073733630},
28777 },
28778 clobbers: 9223372036854775808,
28779 outputs: []outputInfo{
28780 {1, 9223372036854775808},
28781 {0, 1073733624},
28782 },
28783 },
28784 },
28785 {
28786 name: "ADDCconst",
28787 auxType: auxInt64,
28788 argLen: 1,
28789 asm: ppc64.AADDC,
28790 reg: regInfo{
28791 inputs: []inputInfo{
28792 {0, 1073733630},
28793 },
28794 outputs: []outputInfo{
28795 {1, 9223372036854775808},
28796 {0, 1073733624},
28797 },
28798 },
28799 },
28800 {
28801 name: "SUBCconst",
28802 auxType: auxInt64,
28803 argLen: 1,
28804 asm: ppc64.ASUBC,
28805 reg: regInfo{
28806 inputs: []inputInfo{
28807 {0, 1073733630},
28808 },
28809 outputs: []outputInfo{
28810 {1, 9223372036854775808},
28811 {0, 1073733624},
28812 },
28813 },
28814 },
28815 {
28816 name: "ADDE",
28817 argLen: 3,
28818 commutative: true,
28819 asm: ppc64.AADDE,
28820 reg: regInfo{
28821 inputs: []inputInfo{
28822 {2, 9223372036854775808},
28823 {0, 1073733630},
28824 {1, 1073733630},
28825 },
28826 clobbers: 9223372036854775808,
28827 outputs: []outputInfo{
28828 {1, 9223372036854775808},
28829 {0, 1073733624},
28830 },
28831 },
28832 },
28833 {
28834 name: "SUBE",
28835 argLen: 3,
28836 asm: ppc64.ASUBE,
28837 reg: regInfo{
28838 inputs: []inputInfo{
28839 {2, 9223372036854775808},
28840 {0, 1073733630},
28841 {1, 1073733630},
28842 },
28843 clobbers: 9223372036854775808,
28844 outputs: []outputInfo{
28845 {1, 9223372036854775808},
28846 {0, 1073733624},
28847 },
28848 },
28849 },
28850 {
28851 name: "ADDZEzero",
28852 argLen: 1,
28853 asm: ppc64.AADDZE,
28854 reg: regInfo{
28855 inputs: []inputInfo{
28856 {0, 9223372036854775808},
28857 },
28858 clobbers: 9223372036854775808,
28859 outputs: []outputInfo{
28860 {0, 1073733624},
28861 },
28862 },
28863 },
28864 {
28865 name: "SUBZEzero",
28866 argLen: 1,
28867 asm: ppc64.ASUBZE,
28868 reg: regInfo{
28869 inputs: []inputInfo{
28870 {0, 9223372036854775808},
28871 },
28872 clobbers: 9223372036854775808,
28873 outputs: []outputInfo{
28874 {0, 1073733624},
28875 },
28876 },
28877 },
28878 {
28879 name: "SRADconst",
28880 auxType: auxInt64,
28881 argLen: 1,
28882 asm: ppc64.ASRAD,
28883 reg: regInfo{
28884 inputs: []inputInfo{
28885 {0, 1073733630},
28886 },
28887 clobbers: 9223372036854775808,
28888 outputs: []outputInfo{
28889 {0, 1073733624},
28890 },
28891 },
28892 },
28893 {
28894 name: "SRAWconst",
28895 auxType: auxInt64,
28896 argLen: 1,
28897 asm: ppc64.ASRAW,
28898 reg: regInfo{
28899 inputs: []inputInfo{
28900 {0, 1073733630},
28901 },
28902 clobbers: 9223372036854775808,
28903 outputs: []outputInfo{
28904 {0, 1073733624},
28905 },
28906 },
28907 },
28908 {
28909 name: "SRDconst",
28910 auxType: auxInt64,
28911 argLen: 1,
28912 asm: ppc64.ASRD,
28913 reg: regInfo{
28914 inputs: []inputInfo{
28915 {0, 1073733630},
28916 },
28917 outputs: []outputInfo{
28918 {0, 1073733624},
28919 },
28920 },
28921 },
28922 {
28923 name: "SRWconst",
28924 auxType: auxInt64,
28925 argLen: 1,
28926 asm: ppc64.ASRW,
28927 reg: regInfo{
28928 inputs: []inputInfo{
28929 {0, 1073733630},
28930 },
28931 outputs: []outputInfo{
28932 {0, 1073733624},
28933 },
28934 },
28935 },
28936 {
28937 name: "SLDconst",
28938 auxType: auxInt64,
28939 argLen: 1,
28940 asm: ppc64.ASLD,
28941 reg: regInfo{
28942 inputs: []inputInfo{
28943 {0, 1073733630},
28944 },
28945 outputs: []outputInfo{
28946 {0, 1073733624},
28947 },
28948 },
28949 },
28950 {
28951 name: "SLWconst",
28952 auxType: auxInt64,
28953 argLen: 1,
28954 asm: ppc64.ASLW,
28955 reg: regInfo{
28956 inputs: []inputInfo{
28957 {0, 1073733630},
28958 },
28959 outputs: []outputInfo{
28960 {0, 1073733624},
28961 },
28962 },
28963 },
28964 {
28965 name: "ROTLconst",
28966 auxType: auxInt64,
28967 argLen: 1,
28968 asm: ppc64.AROTL,
28969 reg: regInfo{
28970 inputs: []inputInfo{
28971 {0, 1073733630},
28972 },
28973 outputs: []outputInfo{
28974 {0, 1073733624},
28975 },
28976 },
28977 },
28978 {
28979 name: "ROTLWconst",
28980 auxType: auxInt64,
28981 argLen: 1,
28982 asm: ppc64.AROTLW,
28983 reg: regInfo{
28984 inputs: []inputInfo{
28985 {0, 1073733630},
28986 },
28987 outputs: []outputInfo{
28988 {0, 1073733624},
28989 },
28990 },
28991 },
28992 {
28993 name: "EXTSWSLconst",
28994 auxType: auxInt64,
28995 argLen: 1,
28996 asm: ppc64.AEXTSWSLI,
28997 reg: regInfo{
28998 inputs: []inputInfo{
28999 {0, 1073733630},
29000 },
29001 outputs: []outputInfo{
29002 {0, 1073733624},
29003 },
29004 },
29005 },
29006 {
29007 name: "RLWINM",
29008 auxType: auxInt64,
29009 argLen: 1,
29010 asm: ppc64.ARLWNM,
29011 reg: regInfo{
29012 inputs: []inputInfo{
29013 {0, 1073733630},
29014 },
29015 outputs: []outputInfo{
29016 {0, 1073733624},
29017 },
29018 },
29019 },
29020 {
29021 name: "RLWNM",
29022 auxType: auxInt64,
29023 argLen: 2,
29024 asm: ppc64.ARLWNM,
29025 reg: regInfo{
29026 inputs: []inputInfo{
29027 {0, 1073733630},
29028 {1, 1073733630},
29029 },
29030 outputs: []outputInfo{
29031 {0, 1073733624},
29032 },
29033 },
29034 },
29035 {
29036 name: "RLWMI",
29037 auxType: auxInt64,
29038 argLen: 2,
29039 resultInArg0: true,
29040 asm: ppc64.ARLWMI,
29041 reg: regInfo{
29042 inputs: []inputInfo{
29043 {0, 1073733624},
29044 {1, 1073733630},
29045 },
29046 outputs: []outputInfo{
29047 {0, 1073733624},
29048 },
29049 },
29050 },
29051 {
29052 name: "RLDICL",
29053 auxType: auxInt64,
29054 argLen: 1,
29055 asm: ppc64.ARLDICL,
29056 reg: regInfo{
29057 inputs: []inputInfo{
29058 {0, 1073733630},
29059 },
29060 outputs: []outputInfo{
29061 {0, 1073733624},
29062 },
29063 },
29064 },
29065 {
29066 name: "RLDICR",
29067 auxType: auxInt64,
29068 argLen: 1,
29069 asm: ppc64.ARLDICR,
29070 reg: regInfo{
29071 inputs: []inputInfo{
29072 {0, 1073733630},
29073 },
29074 outputs: []outputInfo{
29075 {0, 1073733624},
29076 },
29077 },
29078 },
29079 {
29080 name: "CNTLZD",
29081 argLen: 1,
29082 asm: ppc64.ACNTLZD,
29083 reg: regInfo{
29084 inputs: []inputInfo{
29085 {0, 1073733630},
29086 },
29087 outputs: []outputInfo{
29088 {0, 1073733624},
29089 },
29090 },
29091 },
29092 {
29093 name: "CNTLZDCC",
29094 argLen: 1,
29095 asm: ppc64.ACNTLZDCC,
29096 reg: regInfo{
29097 inputs: []inputInfo{
29098 {0, 1073733630},
29099 },
29100 outputs: []outputInfo{
29101 {0, 1073733624},
29102 },
29103 },
29104 },
29105 {
29106 name: "CNTLZW",
29107 argLen: 1,
29108 asm: ppc64.ACNTLZW,
29109 reg: regInfo{
29110 inputs: []inputInfo{
29111 {0, 1073733630},
29112 },
29113 outputs: []outputInfo{
29114 {0, 1073733624},
29115 },
29116 },
29117 },
29118 {
29119 name: "CNTTZD",
29120 argLen: 1,
29121 asm: ppc64.ACNTTZD,
29122 reg: regInfo{
29123 inputs: []inputInfo{
29124 {0, 1073733630},
29125 },
29126 outputs: []outputInfo{
29127 {0, 1073733624},
29128 },
29129 },
29130 },
29131 {
29132 name: "CNTTZW",
29133 argLen: 1,
29134 asm: ppc64.ACNTTZW,
29135 reg: regInfo{
29136 inputs: []inputInfo{
29137 {0, 1073733630},
29138 },
29139 outputs: []outputInfo{
29140 {0, 1073733624},
29141 },
29142 },
29143 },
29144 {
29145 name: "POPCNTD",
29146 argLen: 1,
29147 asm: ppc64.APOPCNTD,
29148 reg: regInfo{
29149 inputs: []inputInfo{
29150 {0, 1073733630},
29151 },
29152 outputs: []outputInfo{
29153 {0, 1073733624},
29154 },
29155 },
29156 },
29157 {
29158 name: "POPCNTW",
29159 argLen: 1,
29160 asm: ppc64.APOPCNTW,
29161 reg: regInfo{
29162 inputs: []inputInfo{
29163 {0, 1073733630},
29164 },
29165 outputs: []outputInfo{
29166 {0, 1073733624},
29167 },
29168 },
29169 },
29170 {
29171 name: "POPCNTB",
29172 argLen: 1,
29173 asm: ppc64.APOPCNTB,
29174 reg: regInfo{
29175 inputs: []inputInfo{
29176 {0, 1073733630},
29177 },
29178 outputs: []outputInfo{
29179 {0, 1073733624},
29180 },
29181 },
29182 },
29183 {
29184 name: "FDIV",
29185 argLen: 2,
29186 asm: ppc64.AFDIV,
29187 reg: regInfo{
29188 inputs: []inputInfo{
29189 {0, 9223372032559808512},
29190 {1, 9223372032559808512},
29191 },
29192 outputs: []outputInfo{
29193 {0, 9223372032559808512},
29194 },
29195 },
29196 },
29197 {
29198 name: "FDIVS",
29199 argLen: 2,
29200 asm: ppc64.AFDIVS,
29201 reg: regInfo{
29202 inputs: []inputInfo{
29203 {0, 9223372032559808512},
29204 {1, 9223372032559808512},
29205 },
29206 outputs: []outputInfo{
29207 {0, 9223372032559808512},
29208 },
29209 },
29210 },
29211 {
29212 name: "DIVD",
29213 argLen: 2,
29214 asm: ppc64.ADIVD,
29215 reg: regInfo{
29216 inputs: []inputInfo{
29217 {0, 1073733630},
29218 {1, 1073733630},
29219 },
29220 outputs: []outputInfo{
29221 {0, 1073733624},
29222 },
29223 },
29224 },
29225 {
29226 name: "DIVW",
29227 argLen: 2,
29228 asm: ppc64.ADIVW,
29229 reg: regInfo{
29230 inputs: []inputInfo{
29231 {0, 1073733630},
29232 {1, 1073733630},
29233 },
29234 outputs: []outputInfo{
29235 {0, 1073733624},
29236 },
29237 },
29238 },
29239 {
29240 name: "DIVDU",
29241 argLen: 2,
29242 asm: ppc64.ADIVDU,
29243 reg: regInfo{
29244 inputs: []inputInfo{
29245 {0, 1073733630},
29246 {1, 1073733630},
29247 },
29248 outputs: []outputInfo{
29249 {0, 1073733624},
29250 },
29251 },
29252 },
29253 {
29254 name: "DIVWU",
29255 argLen: 2,
29256 asm: ppc64.ADIVWU,
29257 reg: regInfo{
29258 inputs: []inputInfo{
29259 {0, 1073733630},
29260 {1, 1073733630},
29261 },
29262 outputs: []outputInfo{
29263 {0, 1073733624},
29264 },
29265 },
29266 },
29267 {
29268 name: "MODUD",
29269 argLen: 2,
29270 asm: ppc64.AMODUD,
29271 reg: regInfo{
29272 inputs: []inputInfo{
29273 {0, 1073733630},
29274 {1, 1073733630},
29275 },
29276 outputs: []outputInfo{
29277 {0, 1073733624},
29278 },
29279 },
29280 },
29281 {
29282 name: "MODSD",
29283 argLen: 2,
29284 asm: ppc64.AMODSD,
29285 reg: regInfo{
29286 inputs: []inputInfo{
29287 {0, 1073733630},
29288 {1, 1073733630},
29289 },
29290 outputs: []outputInfo{
29291 {0, 1073733624},
29292 },
29293 },
29294 },
29295 {
29296 name: "MODUW",
29297 argLen: 2,
29298 asm: ppc64.AMODUW,
29299 reg: regInfo{
29300 inputs: []inputInfo{
29301 {0, 1073733630},
29302 {1, 1073733630},
29303 },
29304 outputs: []outputInfo{
29305 {0, 1073733624},
29306 },
29307 },
29308 },
29309 {
29310 name: "MODSW",
29311 argLen: 2,
29312 asm: ppc64.AMODSW,
29313 reg: regInfo{
29314 inputs: []inputInfo{
29315 {0, 1073733630},
29316 {1, 1073733630},
29317 },
29318 outputs: []outputInfo{
29319 {0, 1073733624},
29320 },
29321 },
29322 },
29323 {
29324 name: "FCTIDZ",
29325 argLen: 1,
29326 asm: ppc64.AFCTIDZ,
29327 reg: regInfo{
29328 inputs: []inputInfo{
29329 {0, 9223372032559808512},
29330 },
29331 outputs: []outputInfo{
29332 {0, 9223372032559808512},
29333 },
29334 },
29335 },
29336 {
29337 name: "FCTIWZ",
29338 argLen: 1,
29339 asm: ppc64.AFCTIWZ,
29340 reg: regInfo{
29341 inputs: []inputInfo{
29342 {0, 9223372032559808512},
29343 },
29344 outputs: []outputInfo{
29345 {0, 9223372032559808512},
29346 },
29347 },
29348 },
29349 {
29350 name: "FCFID",
29351 argLen: 1,
29352 asm: ppc64.AFCFID,
29353 reg: regInfo{
29354 inputs: []inputInfo{
29355 {0, 9223372032559808512},
29356 },
29357 outputs: []outputInfo{
29358 {0, 9223372032559808512},
29359 },
29360 },
29361 },
29362 {
29363 name: "FCFIDS",
29364 argLen: 1,
29365 asm: ppc64.AFCFIDS,
29366 reg: regInfo{
29367 inputs: []inputInfo{
29368 {0, 9223372032559808512},
29369 },
29370 outputs: []outputInfo{
29371 {0, 9223372032559808512},
29372 },
29373 },
29374 },
29375 {
29376 name: "FRSP",
29377 argLen: 1,
29378 asm: ppc64.AFRSP,
29379 reg: regInfo{
29380 inputs: []inputInfo{
29381 {0, 9223372032559808512},
29382 },
29383 outputs: []outputInfo{
29384 {0, 9223372032559808512},
29385 },
29386 },
29387 },
29388 {
29389 name: "MFVSRD",
29390 argLen: 1,
29391 asm: ppc64.AMFVSRD,
29392 reg: regInfo{
29393 inputs: []inputInfo{
29394 {0, 9223372032559808512},
29395 },
29396 outputs: []outputInfo{
29397 {0, 1073733624},
29398 },
29399 },
29400 },
29401 {
29402 name: "MTVSRD",
29403 argLen: 1,
29404 asm: ppc64.AMTVSRD,
29405 reg: regInfo{
29406 inputs: []inputInfo{
29407 {0, 1073733624},
29408 },
29409 outputs: []outputInfo{
29410 {0, 9223372032559808512},
29411 },
29412 },
29413 },
29414 {
29415 name: "AND",
29416 argLen: 2,
29417 commutative: true,
29418 asm: ppc64.AAND,
29419 reg: regInfo{
29420 inputs: []inputInfo{
29421 {0, 1073733630},
29422 {1, 1073733630},
29423 },
29424 outputs: []outputInfo{
29425 {0, 1073733624},
29426 },
29427 },
29428 },
29429 {
29430 name: "ANDN",
29431 argLen: 2,
29432 asm: ppc64.AANDN,
29433 reg: regInfo{
29434 inputs: []inputInfo{
29435 {0, 1073733630},
29436 {1, 1073733630},
29437 },
29438 outputs: []outputInfo{
29439 {0, 1073733624},
29440 },
29441 },
29442 },
29443 {
29444 name: "ANDNCC",
29445 argLen: 2,
29446 asm: ppc64.AANDNCC,
29447 reg: regInfo{
29448 inputs: []inputInfo{
29449 {0, 1073733630},
29450 {1, 1073733630},
29451 },
29452 outputs: []outputInfo{
29453 {0, 1073733624},
29454 },
29455 },
29456 },
29457 {
29458 name: "ANDCC",
29459 argLen: 2,
29460 commutative: true,
29461 asm: ppc64.AANDCC,
29462 reg: regInfo{
29463 inputs: []inputInfo{
29464 {0, 1073733630},
29465 {1, 1073733630},
29466 },
29467 outputs: []outputInfo{
29468 {0, 1073733624},
29469 },
29470 },
29471 },
29472 {
29473 name: "OR",
29474 argLen: 2,
29475 commutative: true,
29476 asm: ppc64.AOR,
29477 reg: regInfo{
29478 inputs: []inputInfo{
29479 {0, 1073733630},
29480 {1, 1073733630},
29481 },
29482 outputs: []outputInfo{
29483 {0, 1073733624},
29484 },
29485 },
29486 },
29487 {
29488 name: "ORN",
29489 argLen: 2,
29490 asm: ppc64.AORN,
29491 reg: regInfo{
29492 inputs: []inputInfo{
29493 {0, 1073733630},
29494 {1, 1073733630},
29495 },
29496 outputs: []outputInfo{
29497 {0, 1073733624},
29498 },
29499 },
29500 },
29501 {
29502 name: "ORCC",
29503 argLen: 2,
29504 commutative: true,
29505 asm: ppc64.AORCC,
29506 reg: regInfo{
29507 inputs: []inputInfo{
29508 {0, 1073733630},
29509 {1, 1073733630},
29510 },
29511 outputs: []outputInfo{
29512 {0, 1073733624},
29513 },
29514 },
29515 },
29516 {
29517 name: "NOR",
29518 argLen: 2,
29519 commutative: true,
29520 asm: ppc64.ANOR,
29521 reg: regInfo{
29522 inputs: []inputInfo{
29523 {0, 1073733630},
29524 {1, 1073733630},
29525 },
29526 outputs: []outputInfo{
29527 {0, 1073733624},
29528 },
29529 },
29530 },
29531 {
29532 name: "NORCC",
29533 argLen: 2,
29534 commutative: true,
29535 asm: ppc64.ANORCC,
29536 reg: regInfo{
29537 inputs: []inputInfo{
29538 {0, 1073733630},
29539 {1, 1073733630},
29540 },
29541 outputs: []outputInfo{
29542 {0, 1073733624},
29543 },
29544 },
29545 },
29546 {
29547 name: "XOR",
29548 argLen: 2,
29549 commutative: true,
29550 asm: ppc64.AXOR,
29551 reg: regInfo{
29552 inputs: []inputInfo{
29553 {0, 1073733630},
29554 {1, 1073733630},
29555 },
29556 outputs: []outputInfo{
29557 {0, 1073733624},
29558 },
29559 },
29560 },
29561 {
29562 name: "XORCC",
29563 argLen: 2,
29564 commutative: true,
29565 asm: ppc64.AXORCC,
29566 reg: regInfo{
29567 inputs: []inputInfo{
29568 {0, 1073733630},
29569 {1, 1073733630},
29570 },
29571 outputs: []outputInfo{
29572 {0, 1073733624},
29573 },
29574 },
29575 },
29576 {
29577 name: "EQV",
29578 argLen: 2,
29579 commutative: true,
29580 asm: ppc64.AEQV,
29581 reg: regInfo{
29582 inputs: []inputInfo{
29583 {0, 1073733630},
29584 {1, 1073733630},
29585 },
29586 outputs: []outputInfo{
29587 {0, 1073733624},
29588 },
29589 },
29590 },
29591 {
29592 name: "NEG",
29593 argLen: 1,
29594 asm: ppc64.ANEG,
29595 reg: regInfo{
29596 inputs: []inputInfo{
29597 {0, 1073733630},
29598 },
29599 outputs: []outputInfo{
29600 {0, 1073733624},
29601 },
29602 },
29603 },
29604 {
29605 name: "NEGCC",
29606 argLen: 1,
29607 asm: ppc64.ANEGCC,
29608 reg: regInfo{
29609 inputs: []inputInfo{
29610 {0, 1073733630},
29611 },
29612 outputs: []outputInfo{
29613 {0, 1073733624},
29614 },
29615 },
29616 },
29617 {
29618 name: "BRD",
29619 argLen: 1,
29620 asm: ppc64.ABRD,
29621 reg: regInfo{
29622 inputs: []inputInfo{
29623 {0, 1073733630},
29624 },
29625 outputs: []outputInfo{
29626 {0, 1073733624},
29627 },
29628 },
29629 },
29630 {
29631 name: "BRW",
29632 argLen: 1,
29633 asm: ppc64.ABRW,
29634 reg: regInfo{
29635 inputs: []inputInfo{
29636 {0, 1073733630},
29637 },
29638 outputs: []outputInfo{
29639 {0, 1073733624},
29640 },
29641 },
29642 },
29643 {
29644 name: "BRH",
29645 argLen: 1,
29646 asm: ppc64.ABRH,
29647 reg: regInfo{
29648 inputs: []inputInfo{
29649 {0, 1073733630},
29650 },
29651 outputs: []outputInfo{
29652 {0, 1073733624},
29653 },
29654 },
29655 },
29656 {
29657 name: "FNEG",
29658 argLen: 1,
29659 asm: ppc64.AFNEG,
29660 reg: regInfo{
29661 inputs: []inputInfo{
29662 {0, 9223372032559808512},
29663 },
29664 outputs: []outputInfo{
29665 {0, 9223372032559808512},
29666 },
29667 },
29668 },
29669 {
29670 name: "FSQRT",
29671 argLen: 1,
29672 asm: ppc64.AFSQRT,
29673 reg: regInfo{
29674 inputs: []inputInfo{
29675 {0, 9223372032559808512},
29676 },
29677 outputs: []outputInfo{
29678 {0, 9223372032559808512},
29679 },
29680 },
29681 },
29682 {
29683 name: "FSQRTS",
29684 argLen: 1,
29685 asm: ppc64.AFSQRTS,
29686 reg: regInfo{
29687 inputs: []inputInfo{
29688 {0, 9223372032559808512},
29689 },
29690 outputs: []outputInfo{
29691 {0, 9223372032559808512},
29692 },
29693 },
29694 },
29695 {
29696 name: "FFLOOR",
29697 argLen: 1,
29698 asm: ppc64.AFRIM,
29699 reg: regInfo{
29700 inputs: []inputInfo{
29701 {0, 9223372032559808512},
29702 },
29703 outputs: []outputInfo{
29704 {0, 9223372032559808512},
29705 },
29706 },
29707 },
29708 {
29709 name: "FCEIL",
29710 argLen: 1,
29711 asm: ppc64.AFRIP,
29712 reg: regInfo{
29713 inputs: []inputInfo{
29714 {0, 9223372032559808512},
29715 },
29716 outputs: []outputInfo{
29717 {0, 9223372032559808512},
29718 },
29719 },
29720 },
29721 {
29722 name: "FTRUNC",
29723 argLen: 1,
29724 asm: ppc64.AFRIZ,
29725 reg: regInfo{
29726 inputs: []inputInfo{
29727 {0, 9223372032559808512},
29728 },
29729 outputs: []outputInfo{
29730 {0, 9223372032559808512},
29731 },
29732 },
29733 },
29734 {
29735 name: "FROUND",
29736 argLen: 1,
29737 asm: ppc64.AFRIN,
29738 reg: regInfo{
29739 inputs: []inputInfo{
29740 {0, 9223372032559808512},
29741 },
29742 outputs: []outputInfo{
29743 {0, 9223372032559808512},
29744 },
29745 },
29746 },
29747 {
29748 name: "FABS",
29749 argLen: 1,
29750 asm: ppc64.AFABS,
29751 reg: regInfo{
29752 inputs: []inputInfo{
29753 {0, 9223372032559808512},
29754 },
29755 outputs: []outputInfo{
29756 {0, 9223372032559808512},
29757 },
29758 },
29759 },
29760 {
29761 name: "FNABS",
29762 argLen: 1,
29763 asm: ppc64.AFNABS,
29764 reg: regInfo{
29765 inputs: []inputInfo{
29766 {0, 9223372032559808512},
29767 },
29768 outputs: []outputInfo{
29769 {0, 9223372032559808512},
29770 },
29771 },
29772 },
29773 {
29774 name: "FCPSGN",
29775 argLen: 2,
29776 asm: ppc64.AFCPSGN,
29777 reg: regInfo{
29778 inputs: []inputInfo{
29779 {0, 9223372032559808512},
29780 {1, 9223372032559808512},
29781 },
29782 outputs: []outputInfo{
29783 {0, 9223372032559808512},
29784 },
29785 },
29786 },
29787 {
29788 name: "ORconst",
29789 auxType: auxInt64,
29790 argLen: 1,
29791 asm: ppc64.AOR,
29792 reg: regInfo{
29793 inputs: []inputInfo{
29794 {0, 1073733630},
29795 },
29796 outputs: []outputInfo{
29797 {0, 1073733624},
29798 },
29799 },
29800 },
29801 {
29802 name: "XORconst",
29803 auxType: auxInt64,
29804 argLen: 1,
29805 asm: ppc64.AXOR,
29806 reg: regInfo{
29807 inputs: []inputInfo{
29808 {0, 1073733630},
29809 },
29810 outputs: []outputInfo{
29811 {0, 1073733624},
29812 },
29813 },
29814 },
29815 {
29816 name: "ANDCCconst",
29817 auxType: auxInt64,
29818 argLen: 1,
29819 asm: ppc64.AANDCC,
29820 reg: regInfo{
29821 inputs: []inputInfo{
29822 {0, 1073733630},
29823 },
29824 outputs: []outputInfo{
29825 {0, 1073733624},
29826 },
29827 },
29828 },
29829 {
29830 name: "MOVBreg",
29831 argLen: 1,
29832 asm: ppc64.AMOVB,
29833 reg: regInfo{
29834 inputs: []inputInfo{
29835 {0, 1073733630},
29836 },
29837 outputs: []outputInfo{
29838 {0, 1073733624},
29839 },
29840 },
29841 },
29842 {
29843 name: "MOVBZreg",
29844 argLen: 1,
29845 asm: ppc64.AMOVBZ,
29846 reg: regInfo{
29847 inputs: []inputInfo{
29848 {0, 1073733630},
29849 },
29850 outputs: []outputInfo{
29851 {0, 1073733624},
29852 },
29853 },
29854 },
29855 {
29856 name: "MOVHreg",
29857 argLen: 1,
29858 asm: ppc64.AMOVH,
29859 reg: regInfo{
29860 inputs: []inputInfo{
29861 {0, 1073733630},
29862 },
29863 outputs: []outputInfo{
29864 {0, 1073733624},
29865 },
29866 },
29867 },
29868 {
29869 name: "MOVHZreg",
29870 argLen: 1,
29871 asm: ppc64.AMOVHZ,
29872 reg: regInfo{
29873 inputs: []inputInfo{
29874 {0, 1073733630},
29875 },
29876 outputs: []outputInfo{
29877 {0, 1073733624},
29878 },
29879 },
29880 },
29881 {
29882 name: "MOVWreg",
29883 argLen: 1,
29884 asm: ppc64.AMOVW,
29885 reg: regInfo{
29886 inputs: []inputInfo{
29887 {0, 1073733630},
29888 },
29889 outputs: []outputInfo{
29890 {0, 1073733624},
29891 },
29892 },
29893 },
29894 {
29895 name: "MOVWZreg",
29896 argLen: 1,
29897 asm: ppc64.AMOVWZ,
29898 reg: regInfo{
29899 inputs: []inputInfo{
29900 {0, 1073733630},
29901 },
29902 outputs: []outputInfo{
29903 {0, 1073733624},
29904 },
29905 },
29906 },
29907 {
29908 name: "MOVBZload",
29909 auxType: auxSymOff,
29910 argLen: 2,
29911 faultOnNilArg0: true,
29912 symEffect: SymRead,
29913 asm: ppc64.AMOVBZ,
29914 reg: regInfo{
29915 inputs: []inputInfo{
29916 {0, 1073733630},
29917 },
29918 outputs: []outputInfo{
29919 {0, 1073733624},
29920 },
29921 },
29922 },
29923 {
29924 name: "MOVHload",
29925 auxType: auxSymOff,
29926 argLen: 2,
29927 faultOnNilArg0: true,
29928 symEffect: SymRead,
29929 asm: ppc64.AMOVH,
29930 reg: regInfo{
29931 inputs: []inputInfo{
29932 {0, 1073733630},
29933 },
29934 outputs: []outputInfo{
29935 {0, 1073733624},
29936 },
29937 },
29938 },
29939 {
29940 name: "MOVHZload",
29941 auxType: auxSymOff,
29942 argLen: 2,
29943 faultOnNilArg0: true,
29944 symEffect: SymRead,
29945 asm: ppc64.AMOVHZ,
29946 reg: regInfo{
29947 inputs: []inputInfo{
29948 {0, 1073733630},
29949 },
29950 outputs: []outputInfo{
29951 {0, 1073733624},
29952 },
29953 },
29954 },
29955 {
29956 name: "MOVWload",
29957 auxType: auxSymOff,
29958 argLen: 2,
29959 faultOnNilArg0: true,
29960 symEffect: SymRead,
29961 asm: ppc64.AMOVW,
29962 reg: regInfo{
29963 inputs: []inputInfo{
29964 {0, 1073733630},
29965 },
29966 outputs: []outputInfo{
29967 {0, 1073733624},
29968 },
29969 },
29970 },
29971 {
29972 name: "MOVWZload",
29973 auxType: auxSymOff,
29974 argLen: 2,
29975 faultOnNilArg0: true,
29976 symEffect: SymRead,
29977 asm: ppc64.AMOVWZ,
29978 reg: regInfo{
29979 inputs: []inputInfo{
29980 {0, 1073733630},
29981 },
29982 outputs: []outputInfo{
29983 {0, 1073733624},
29984 },
29985 },
29986 },
29987 {
29988 name: "MOVDload",
29989 auxType: auxSymOff,
29990 argLen: 2,
29991 faultOnNilArg0: true,
29992 symEffect: SymRead,
29993 asm: ppc64.AMOVD,
29994 reg: regInfo{
29995 inputs: []inputInfo{
29996 {0, 1073733630},
29997 },
29998 outputs: []outputInfo{
29999 {0, 1073733624},
30000 },
30001 },
30002 },
30003 {
30004 name: "MOVDBRload",
30005 argLen: 2,
30006 faultOnNilArg0: true,
30007 asm: ppc64.AMOVDBR,
30008 reg: regInfo{
30009 inputs: []inputInfo{
30010 {0, 1073733630},
30011 },
30012 outputs: []outputInfo{
30013 {0, 1073733624},
30014 },
30015 },
30016 },
30017 {
30018 name: "MOVWBRload",
30019 argLen: 2,
30020 faultOnNilArg0: true,
30021 asm: ppc64.AMOVWBR,
30022 reg: regInfo{
30023 inputs: []inputInfo{
30024 {0, 1073733630},
30025 },
30026 outputs: []outputInfo{
30027 {0, 1073733624},
30028 },
30029 },
30030 },
30031 {
30032 name: "MOVHBRload",
30033 argLen: 2,
30034 faultOnNilArg0: true,
30035 asm: ppc64.AMOVHBR,
30036 reg: regInfo{
30037 inputs: []inputInfo{
30038 {0, 1073733630},
30039 },
30040 outputs: []outputInfo{
30041 {0, 1073733624},
30042 },
30043 },
30044 },
30045 {
30046 name: "MOVBZloadidx",
30047 argLen: 3,
30048 asm: ppc64.AMOVBZ,
30049 reg: regInfo{
30050 inputs: []inputInfo{
30051 {1, 1073733624},
30052 {0, 1073733630},
30053 },
30054 outputs: []outputInfo{
30055 {0, 1073733624},
30056 },
30057 },
30058 },
30059 {
30060 name: "MOVHloadidx",
30061 argLen: 3,
30062 asm: ppc64.AMOVH,
30063 reg: regInfo{
30064 inputs: []inputInfo{
30065 {1, 1073733624},
30066 {0, 1073733630},
30067 },
30068 outputs: []outputInfo{
30069 {0, 1073733624},
30070 },
30071 },
30072 },
30073 {
30074 name: "MOVHZloadidx",
30075 argLen: 3,
30076 asm: ppc64.AMOVHZ,
30077 reg: regInfo{
30078 inputs: []inputInfo{
30079 {1, 1073733624},
30080 {0, 1073733630},
30081 },
30082 outputs: []outputInfo{
30083 {0, 1073733624},
30084 },
30085 },
30086 },
30087 {
30088 name: "MOVWloadidx",
30089 argLen: 3,
30090 asm: ppc64.AMOVW,
30091 reg: regInfo{
30092 inputs: []inputInfo{
30093 {1, 1073733624},
30094 {0, 1073733630},
30095 },
30096 outputs: []outputInfo{
30097 {0, 1073733624},
30098 },
30099 },
30100 },
30101 {
30102 name: "MOVWZloadidx",
30103 argLen: 3,
30104 asm: ppc64.AMOVWZ,
30105 reg: regInfo{
30106 inputs: []inputInfo{
30107 {1, 1073733624},
30108 {0, 1073733630},
30109 },
30110 outputs: []outputInfo{
30111 {0, 1073733624},
30112 },
30113 },
30114 },
30115 {
30116 name: "MOVDloadidx",
30117 argLen: 3,
30118 asm: ppc64.AMOVD,
30119 reg: regInfo{
30120 inputs: []inputInfo{
30121 {1, 1073733624},
30122 {0, 1073733630},
30123 },
30124 outputs: []outputInfo{
30125 {0, 1073733624},
30126 },
30127 },
30128 },
30129 {
30130 name: "MOVHBRloadidx",
30131 argLen: 3,
30132 asm: ppc64.AMOVHBR,
30133 reg: regInfo{
30134 inputs: []inputInfo{
30135 {1, 1073733624},
30136 {0, 1073733630},
30137 },
30138 outputs: []outputInfo{
30139 {0, 1073733624},
30140 },
30141 },
30142 },
30143 {
30144 name: "MOVWBRloadidx",
30145 argLen: 3,
30146 asm: ppc64.AMOVWBR,
30147 reg: regInfo{
30148 inputs: []inputInfo{
30149 {1, 1073733624},
30150 {0, 1073733630},
30151 },
30152 outputs: []outputInfo{
30153 {0, 1073733624},
30154 },
30155 },
30156 },
30157 {
30158 name: "MOVDBRloadidx",
30159 argLen: 3,
30160 asm: ppc64.AMOVDBR,
30161 reg: regInfo{
30162 inputs: []inputInfo{
30163 {1, 1073733624},
30164 {0, 1073733630},
30165 },
30166 outputs: []outputInfo{
30167 {0, 1073733624},
30168 },
30169 },
30170 },
30171 {
30172 name: "FMOVDloadidx",
30173 argLen: 3,
30174 asm: ppc64.AFMOVD,
30175 reg: regInfo{
30176 inputs: []inputInfo{
30177 {0, 1073733630},
30178 {1, 1073733630},
30179 },
30180 outputs: []outputInfo{
30181 {0, 9223372032559808512},
30182 },
30183 },
30184 },
30185 {
30186 name: "FMOVSloadidx",
30187 argLen: 3,
30188 asm: ppc64.AFMOVS,
30189 reg: regInfo{
30190 inputs: []inputInfo{
30191 {0, 1073733630},
30192 {1, 1073733630},
30193 },
30194 outputs: []outputInfo{
30195 {0, 9223372032559808512},
30196 },
30197 },
30198 },
30199 {
30200 name: "DCBT",
30201 auxType: auxInt64,
30202 argLen: 2,
30203 hasSideEffects: true,
30204 asm: ppc64.ADCBT,
30205 reg: regInfo{
30206 inputs: []inputInfo{
30207 {0, 1073733630},
30208 },
30209 },
30210 },
30211 {
30212 name: "MOVDBRstore",
30213 argLen: 3,
30214 faultOnNilArg0: true,
30215 asm: ppc64.AMOVDBR,
30216 reg: regInfo{
30217 inputs: []inputInfo{
30218 {0, 1073733630},
30219 {1, 1073733630},
30220 },
30221 },
30222 },
30223 {
30224 name: "MOVWBRstore",
30225 argLen: 3,
30226 faultOnNilArg0: true,
30227 asm: ppc64.AMOVWBR,
30228 reg: regInfo{
30229 inputs: []inputInfo{
30230 {0, 1073733630},
30231 {1, 1073733630},
30232 },
30233 },
30234 },
30235 {
30236 name: "MOVHBRstore",
30237 argLen: 3,
30238 faultOnNilArg0: true,
30239 asm: ppc64.AMOVHBR,
30240 reg: regInfo{
30241 inputs: []inputInfo{
30242 {0, 1073733630},
30243 {1, 1073733630},
30244 },
30245 },
30246 },
30247 {
30248 name: "FMOVDload",
30249 auxType: auxSymOff,
30250 argLen: 2,
30251 faultOnNilArg0: true,
30252 symEffect: SymRead,
30253 asm: ppc64.AFMOVD,
30254 reg: regInfo{
30255 inputs: []inputInfo{
30256 {0, 1073733630},
30257 },
30258 outputs: []outputInfo{
30259 {0, 9223372032559808512},
30260 },
30261 },
30262 },
30263 {
30264 name: "FMOVSload",
30265 auxType: auxSymOff,
30266 argLen: 2,
30267 faultOnNilArg0: true,
30268 symEffect: SymRead,
30269 asm: ppc64.AFMOVS,
30270 reg: regInfo{
30271 inputs: []inputInfo{
30272 {0, 1073733630},
30273 },
30274 outputs: []outputInfo{
30275 {0, 9223372032559808512},
30276 },
30277 },
30278 },
30279 {
30280 name: "MOVBstore",
30281 auxType: auxSymOff,
30282 argLen: 3,
30283 faultOnNilArg0: true,
30284 symEffect: SymWrite,
30285 asm: ppc64.AMOVB,
30286 reg: regInfo{
30287 inputs: []inputInfo{
30288 {0, 1073733630},
30289 {1, 1073733630},
30290 },
30291 },
30292 },
30293 {
30294 name: "MOVHstore",
30295 auxType: auxSymOff,
30296 argLen: 3,
30297 faultOnNilArg0: true,
30298 symEffect: SymWrite,
30299 asm: ppc64.AMOVH,
30300 reg: regInfo{
30301 inputs: []inputInfo{
30302 {0, 1073733630},
30303 {1, 1073733630},
30304 },
30305 },
30306 },
30307 {
30308 name: "MOVWstore",
30309 auxType: auxSymOff,
30310 argLen: 3,
30311 faultOnNilArg0: true,
30312 symEffect: SymWrite,
30313 asm: ppc64.AMOVW,
30314 reg: regInfo{
30315 inputs: []inputInfo{
30316 {0, 1073733630},
30317 {1, 1073733630},
30318 },
30319 },
30320 },
30321 {
30322 name: "MOVDstore",
30323 auxType: auxSymOff,
30324 argLen: 3,
30325 faultOnNilArg0: true,
30326 symEffect: SymWrite,
30327 asm: ppc64.AMOVD,
30328 reg: regInfo{
30329 inputs: []inputInfo{
30330 {0, 1073733630},
30331 {1, 1073733630},
30332 },
30333 },
30334 },
30335 {
30336 name: "FMOVDstore",
30337 auxType: auxSymOff,
30338 argLen: 3,
30339 faultOnNilArg0: true,
30340 symEffect: SymWrite,
30341 asm: ppc64.AFMOVD,
30342 reg: regInfo{
30343 inputs: []inputInfo{
30344 {0, 1073733630},
30345 {1, 9223372032559808512},
30346 },
30347 },
30348 },
30349 {
30350 name: "FMOVSstore",
30351 auxType: auxSymOff,
30352 argLen: 3,
30353 faultOnNilArg0: true,
30354 symEffect: SymWrite,
30355 asm: ppc64.AFMOVS,
30356 reg: regInfo{
30357 inputs: []inputInfo{
30358 {0, 1073733630},
30359 {1, 9223372032559808512},
30360 },
30361 },
30362 },
30363 {
30364 name: "MOVBstoreidx",
30365 argLen: 4,
30366 asm: ppc64.AMOVB,
30367 reg: regInfo{
30368 inputs: []inputInfo{
30369 {0, 1073733630},
30370 {1, 1073733630},
30371 {2, 1073733630},
30372 },
30373 },
30374 },
30375 {
30376 name: "MOVHstoreidx",
30377 argLen: 4,
30378 asm: ppc64.AMOVH,
30379 reg: regInfo{
30380 inputs: []inputInfo{
30381 {0, 1073733630},
30382 {1, 1073733630},
30383 {2, 1073733630},
30384 },
30385 },
30386 },
30387 {
30388 name: "MOVWstoreidx",
30389 argLen: 4,
30390 asm: ppc64.AMOVW,
30391 reg: regInfo{
30392 inputs: []inputInfo{
30393 {0, 1073733630},
30394 {1, 1073733630},
30395 {2, 1073733630},
30396 },
30397 },
30398 },
30399 {
30400 name: "MOVDstoreidx",
30401 argLen: 4,
30402 asm: ppc64.AMOVD,
30403 reg: regInfo{
30404 inputs: []inputInfo{
30405 {0, 1073733630},
30406 {1, 1073733630},
30407 {2, 1073733630},
30408 },
30409 },
30410 },
30411 {
30412 name: "FMOVDstoreidx",
30413 argLen: 4,
30414 asm: ppc64.AFMOVD,
30415 reg: regInfo{
30416 inputs: []inputInfo{
30417 {0, 1073733630},
30418 {1, 1073733630},
30419 {2, 9223372032559808512},
30420 },
30421 },
30422 },
30423 {
30424 name: "FMOVSstoreidx",
30425 argLen: 4,
30426 asm: ppc64.AFMOVS,
30427 reg: regInfo{
30428 inputs: []inputInfo{
30429 {0, 1073733630},
30430 {1, 1073733630},
30431 {2, 9223372032559808512},
30432 },
30433 },
30434 },
30435 {
30436 name: "MOVHBRstoreidx",
30437 argLen: 4,
30438 asm: ppc64.AMOVHBR,
30439 reg: regInfo{
30440 inputs: []inputInfo{
30441 {0, 1073733630},
30442 {1, 1073733630},
30443 {2, 1073733630},
30444 },
30445 },
30446 },
30447 {
30448 name: "MOVWBRstoreidx",
30449 argLen: 4,
30450 asm: ppc64.AMOVWBR,
30451 reg: regInfo{
30452 inputs: []inputInfo{
30453 {0, 1073733630},
30454 {1, 1073733630},
30455 {2, 1073733630},
30456 },
30457 },
30458 },
30459 {
30460 name: "MOVDBRstoreidx",
30461 argLen: 4,
30462 asm: ppc64.AMOVDBR,
30463 reg: regInfo{
30464 inputs: []inputInfo{
30465 {0, 1073733630},
30466 {1, 1073733630},
30467 {2, 1073733630},
30468 },
30469 },
30470 },
30471 {
30472 name: "MOVBstorezero",
30473 auxType: auxSymOff,
30474 argLen: 2,
30475 faultOnNilArg0: true,
30476 symEffect: SymWrite,
30477 asm: ppc64.AMOVB,
30478 reg: regInfo{
30479 inputs: []inputInfo{
30480 {0, 1073733630},
30481 },
30482 },
30483 },
30484 {
30485 name: "MOVHstorezero",
30486 auxType: auxSymOff,
30487 argLen: 2,
30488 faultOnNilArg0: true,
30489 symEffect: SymWrite,
30490 asm: ppc64.AMOVH,
30491 reg: regInfo{
30492 inputs: []inputInfo{
30493 {0, 1073733630},
30494 },
30495 },
30496 },
30497 {
30498 name: "MOVWstorezero",
30499 auxType: auxSymOff,
30500 argLen: 2,
30501 faultOnNilArg0: true,
30502 symEffect: SymWrite,
30503 asm: ppc64.AMOVW,
30504 reg: regInfo{
30505 inputs: []inputInfo{
30506 {0, 1073733630},
30507 },
30508 },
30509 },
30510 {
30511 name: "MOVDstorezero",
30512 auxType: auxSymOff,
30513 argLen: 2,
30514 faultOnNilArg0: true,
30515 symEffect: SymWrite,
30516 asm: ppc64.AMOVD,
30517 reg: regInfo{
30518 inputs: []inputInfo{
30519 {0, 1073733630},
30520 },
30521 },
30522 },
30523 {
30524 name: "MOVDaddr",
30525 auxType: auxSymOff,
30526 argLen: 1,
30527 rematerializeable: true,
30528 symEffect: SymAddr,
30529 asm: ppc64.AMOVD,
30530 reg: regInfo{
30531 inputs: []inputInfo{
30532 {0, 1073733630},
30533 },
30534 outputs: []outputInfo{
30535 {0, 1073733624},
30536 },
30537 },
30538 },
30539 {
30540 name: "MOVDconst",
30541 auxType: auxInt64,
30542 argLen: 0,
30543 rematerializeable: true,
30544 asm: ppc64.AMOVD,
30545 reg: regInfo{
30546 outputs: []outputInfo{
30547 {0, 1073733624},
30548 },
30549 },
30550 },
30551 {
30552 name: "FMOVDconst",
30553 auxType: auxFloat64,
30554 argLen: 0,
30555 rematerializeable: true,
30556 asm: ppc64.AFMOVD,
30557 reg: regInfo{
30558 outputs: []outputInfo{
30559 {0, 9223372032559808512},
30560 },
30561 },
30562 },
30563 {
30564 name: "FMOVSconst",
30565 auxType: auxFloat32,
30566 argLen: 0,
30567 rematerializeable: true,
30568 asm: ppc64.AFMOVS,
30569 reg: regInfo{
30570 outputs: []outputInfo{
30571 {0, 9223372032559808512},
30572 },
30573 },
30574 },
30575 {
30576 name: "FCMPU",
30577 argLen: 2,
30578 asm: ppc64.AFCMPU,
30579 reg: regInfo{
30580 inputs: []inputInfo{
30581 {0, 9223372032559808512},
30582 {1, 9223372032559808512},
30583 },
30584 },
30585 },
30586 {
30587 name: "CMP",
30588 argLen: 2,
30589 asm: ppc64.ACMP,
30590 reg: regInfo{
30591 inputs: []inputInfo{
30592 {0, 1073733630},
30593 {1, 1073733630},
30594 },
30595 },
30596 },
30597 {
30598 name: "CMPU",
30599 argLen: 2,
30600 asm: ppc64.ACMPU,
30601 reg: regInfo{
30602 inputs: []inputInfo{
30603 {0, 1073733630},
30604 {1, 1073733630},
30605 },
30606 },
30607 },
30608 {
30609 name: "CMPW",
30610 argLen: 2,
30611 asm: ppc64.ACMPW,
30612 reg: regInfo{
30613 inputs: []inputInfo{
30614 {0, 1073733630},
30615 {1, 1073733630},
30616 },
30617 },
30618 },
30619 {
30620 name: "CMPWU",
30621 argLen: 2,
30622 asm: ppc64.ACMPWU,
30623 reg: regInfo{
30624 inputs: []inputInfo{
30625 {0, 1073733630},
30626 {1, 1073733630},
30627 },
30628 },
30629 },
30630 {
30631 name: "CMPconst",
30632 auxType: auxInt64,
30633 argLen: 1,
30634 asm: ppc64.ACMP,
30635 reg: regInfo{
30636 inputs: []inputInfo{
30637 {0, 1073733630},
30638 },
30639 },
30640 },
30641 {
30642 name: "CMPUconst",
30643 auxType: auxInt64,
30644 argLen: 1,
30645 asm: ppc64.ACMPU,
30646 reg: regInfo{
30647 inputs: []inputInfo{
30648 {0, 1073733630},
30649 },
30650 },
30651 },
30652 {
30653 name: "CMPWconst",
30654 auxType: auxInt32,
30655 argLen: 1,
30656 asm: ppc64.ACMPW,
30657 reg: regInfo{
30658 inputs: []inputInfo{
30659 {0, 1073733630},
30660 },
30661 },
30662 },
30663 {
30664 name: "CMPWUconst",
30665 auxType: auxInt32,
30666 argLen: 1,
30667 asm: ppc64.ACMPWU,
30668 reg: regInfo{
30669 inputs: []inputInfo{
30670 {0, 1073733630},
30671 },
30672 },
30673 },
30674 {
30675 name: "ISEL",
30676 auxType: auxInt32,
30677 argLen: 3,
30678 asm: ppc64.AISEL,
30679 reg: regInfo{
30680 inputs: []inputInfo{
30681 {0, 1073733624},
30682 {1, 1073733624},
30683 },
30684 outputs: []outputInfo{
30685 {0, 1073733624},
30686 },
30687 },
30688 },
30689 {
30690 name: "ISELZ",
30691 auxType: auxInt32,
30692 argLen: 2,
30693 asm: ppc64.AISEL,
30694 reg: regInfo{
30695 inputs: []inputInfo{
30696 {0, 1073733624},
30697 },
30698 outputs: []outputInfo{
30699 {0, 1073733624},
30700 },
30701 },
30702 },
30703 {
30704 name: "SETBC",
30705 auxType: auxInt32,
30706 argLen: 1,
30707 asm: ppc64.ASETBC,
30708 reg: regInfo{
30709 outputs: []outputInfo{
30710 {0, 1073733624},
30711 },
30712 },
30713 },
30714 {
30715 name: "SETBCR",
30716 auxType: auxInt32,
30717 argLen: 1,
30718 asm: ppc64.ASETBCR,
30719 reg: regInfo{
30720 outputs: []outputInfo{
30721 {0, 1073733624},
30722 },
30723 },
30724 },
30725 {
30726 name: "Equal",
30727 argLen: 1,
30728 reg: regInfo{
30729 outputs: []outputInfo{
30730 {0, 1073733624},
30731 },
30732 },
30733 },
30734 {
30735 name: "NotEqual",
30736 argLen: 1,
30737 reg: regInfo{
30738 outputs: []outputInfo{
30739 {0, 1073733624},
30740 },
30741 },
30742 },
30743 {
30744 name: "LessThan",
30745 argLen: 1,
30746 reg: regInfo{
30747 outputs: []outputInfo{
30748 {0, 1073733624},
30749 },
30750 },
30751 },
30752 {
30753 name: "FLessThan",
30754 argLen: 1,
30755 reg: regInfo{
30756 outputs: []outputInfo{
30757 {0, 1073733624},
30758 },
30759 },
30760 },
30761 {
30762 name: "LessEqual",
30763 argLen: 1,
30764 reg: regInfo{
30765 outputs: []outputInfo{
30766 {0, 1073733624},
30767 },
30768 },
30769 },
30770 {
30771 name: "FLessEqual",
30772 argLen: 1,
30773 reg: regInfo{
30774 outputs: []outputInfo{
30775 {0, 1073733624},
30776 },
30777 },
30778 },
30779 {
30780 name: "GreaterThan",
30781 argLen: 1,
30782 reg: regInfo{
30783 outputs: []outputInfo{
30784 {0, 1073733624},
30785 },
30786 },
30787 },
30788 {
30789 name: "FGreaterThan",
30790 argLen: 1,
30791 reg: regInfo{
30792 outputs: []outputInfo{
30793 {0, 1073733624},
30794 },
30795 },
30796 },
30797 {
30798 name: "GreaterEqual",
30799 argLen: 1,
30800 reg: regInfo{
30801 outputs: []outputInfo{
30802 {0, 1073733624},
30803 },
30804 },
30805 },
30806 {
30807 name: "FGreaterEqual",
30808 argLen: 1,
30809 reg: regInfo{
30810 outputs: []outputInfo{
30811 {0, 1073733624},
30812 },
30813 },
30814 },
30815 {
30816 name: "LoweredGetClosurePtr",
30817 argLen: 0,
30818 zeroWidth: true,
30819 reg: regInfo{
30820 outputs: []outputInfo{
30821 {0, 2048},
30822 },
30823 },
30824 },
30825 {
30826 name: "LoweredGetCallerSP",
30827 argLen: 1,
30828 rematerializeable: true,
30829 reg: regInfo{
30830 outputs: []outputInfo{
30831 {0, 1073733624},
30832 },
30833 },
30834 },
30835 {
30836 name: "LoweredGetCallerPC",
30837 argLen: 0,
30838 rematerializeable: true,
30839 reg: regInfo{
30840 outputs: []outputInfo{
30841 {0, 1073733624},
30842 },
30843 },
30844 },
30845 {
30846 name: "LoweredNilCheck",
30847 argLen: 2,
30848 clobberFlags: true,
30849 nilCheck: true,
30850 faultOnNilArg0: true,
30851 reg: regInfo{
30852 inputs: []inputInfo{
30853 {0, 1073733630},
30854 },
30855 clobbers: 2147483648,
30856 },
30857 },
30858 {
30859 name: "LoweredRound32F",
30860 argLen: 1,
30861 resultInArg0: true,
30862 zeroWidth: true,
30863 reg: regInfo{
30864 inputs: []inputInfo{
30865 {0, 9223372032559808512},
30866 },
30867 outputs: []outputInfo{
30868 {0, 9223372032559808512},
30869 },
30870 },
30871 },
30872 {
30873 name: "LoweredRound64F",
30874 argLen: 1,
30875 resultInArg0: true,
30876 zeroWidth: true,
30877 reg: regInfo{
30878 inputs: []inputInfo{
30879 {0, 9223372032559808512},
30880 },
30881 outputs: []outputInfo{
30882 {0, 9223372032559808512},
30883 },
30884 },
30885 },
30886 {
30887 name: "CALLstatic",
30888 auxType: auxCallOff,
30889 argLen: -1,
30890 clobberFlags: true,
30891 call: true,
30892 reg: regInfo{
30893 clobbers: 18446744071562059768,
30894 },
30895 },
30896 {
30897 name: "CALLtail",
30898 auxType: auxCallOff,
30899 argLen: -1,
30900 clobberFlags: true,
30901 call: true,
30902 tailCall: true,
30903 reg: regInfo{
30904 clobbers: 18446744071562059768,
30905 },
30906 },
30907 {
30908 name: "CALLclosure",
30909 auxType: auxCallOff,
30910 argLen: -1,
30911 clobberFlags: true,
30912 call: true,
30913 reg: regInfo{
30914 inputs: []inputInfo{
30915 {0, 4096},
30916 {1, 2048},
30917 },
30918 clobbers: 18446744071562059768,
30919 },
30920 },
30921 {
30922 name: "CALLinter",
30923 auxType: auxCallOff,
30924 argLen: -1,
30925 clobberFlags: true,
30926 call: true,
30927 reg: regInfo{
30928 inputs: []inputInfo{
30929 {0, 4096},
30930 },
30931 clobbers: 18446744071562059768,
30932 },
30933 },
30934 {
30935 name: "LoweredZero",
30936 auxType: auxInt64,
30937 argLen: 2,
30938 clobberFlags: true,
30939 faultOnNilArg0: true,
30940 unsafePoint: true,
30941 reg: regInfo{
30942 inputs: []inputInfo{
30943 {0, 1048576},
30944 },
30945 clobbers: 1048576,
30946 },
30947 },
30948 {
30949 name: "LoweredZeroShort",
30950 auxType: auxInt64,
30951 argLen: 2,
30952 faultOnNilArg0: true,
30953 unsafePoint: true,
30954 reg: regInfo{
30955 inputs: []inputInfo{
30956 {0, 1073733624},
30957 },
30958 },
30959 },
30960 {
30961 name: "LoweredQuadZeroShort",
30962 auxType: auxInt64,
30963 argLen: 2,
30964 faultOnNilArg0: true,
30965 unsafePoint: true,
30966 reg: regInfo{
30967 inputs: []inputInfo{
30968 {0, 1073733624},
30969 },
30970 },
30971 },
30972 {
30973 name: "LoweredQuadZero",
30974 auxType: auxInt64,
30975 argLen: 2,
30976 clobberFlags: true,
30977 faultOnNilArg0: true,
30978 unsafePoint: true,
30979 reg: regInfo{
30980 inputs: []inputInfo{
30981 {0, 1048576},
30982 },
30983 clobbers: 1048576,
30984 },
30985 },
30986 {
30987 name: "LoweredMove",
30988 auxType: auxInt64,
30989 argLen: 3,
30990 clobberFlags: true,
30991 faultOnNilArg0: true,
30992 faultOnNilArg1: true,
30993 unsafePoint: true,
30994 reg: regInfo{
30995 inputs: []inputInfo{
30996 {0, 1048576},
30997 {1, 2097152},
30998 },
30999 clobbers: 3145728,
31000 },
31001 },
31002 {
31003 name: "LoweredMoveShort",
31004 auxType: auxInt64,
31005 argLen: 3,
31006 faultOnNilArg0: true,
31007 faultOnNilArg1: true,
31008 unsafePoint: true,
31009 reg: regInfo{
31010 inputs: []inputInfo{
31011 {0, 1073733624},
31012 {1, 1073733624},
31013 },
31014 },
31015 },
31016 {
31017 name: "LoweredQuadMove",
31018 auxType: auxInt64,
31019 argLen: 3,
31020 clobberFlags: true,
31021 faultOnNilArg0: true,
31022 faultOnNilArg1: true,
31023 unsafePoint: true,
31024 reg: regInfo{
31025 inputs: []inputInfo{
31026 {0, 1048576},
31027 {1, 2097152},
31028 },
31029 clobbers: 3145728,
31030 },
31031 },
31032 {
31033 name: "LoweredQuadMoveShort",
31034 auxType: auxInt64,
31035 argLen: 3,
31036 faultOnNilArg0: true,
31037 faultOnNilArg1: true,
31038 unsafePoint: true,
31039 reg: regInfo{
31040 inputs: []inputInfo{
31041 {0, 1073733624},
31042 {1, 1073733624},
31043 },
31044 },
31045 },
31046 {
31047 name: "LoweredAtomicStore8",
31048 auxType: auxInt64,
31049 argLen: 3,
31050 faultOnNilArg0: true,
31051 hasSideEffects: true,
31052 reg: regInfo{
31053 inputs: []inputInfo{
31054 {0, 1073733630},
31055 {1, 1073733630},
31056 },
31057 },
31058 },
31059 {
31060 name: "LoweredAtomicStore32",
31061 auxType: auxInt64,
31062 argLen: 3,
31063 faultOnNilArg0: true,
31064 hasSideEffects: true,
31065 reg: regInfo{
31066 inputs: []inputInfo{
31067 {0, 1073733630},
31068 {1, 1073733630},
31069 },
31070 },
31071 },
31072 {
31073 name: "LoweredAtomicStore64",
31074 auxType: auxInt64,
31075 argLen: 3,
31076 faultOnNilArg0: true,
31077 hasSideEffects: true,
31078 reg: regInfo{
31079 inputs: []inputInfo{
31080 {0, 1073733630},
31081 {1, 1073733630},
31082 },
31083 },
31084 },
31085 {
31086 name: "LoweredAtomicLoad8",
31087 auxType: auxInt64,
31088 argLen: 2,
31089 clobberFlags: true,
31090 faultOnNilArg0: true,
31091 reg: regInfo{
31092 inputs: []inputInfo{
31093 {0, 1073733630},
31094 },
31095 outputs: []outputInfo{
31096 {0, 1073733624},
31097 },
31098 },
31099 },
31100 {
31101 name: "LoweredAtomicLoad32",
31102 auxType: auxInt64,
31103 argLen: 2,
31104 clobberFlags: true,
31105 faultOnNilArg0: true,
31106 reg: regInfo{
31107 inputs: []inputInfo{
31108 {0, 1073733630},
31109 },
31110 outputs: []outputInfo{
31111 {0, 1073733624},
31112 },
31113 },
31114 },
31115 {
31116 name: "LoweredAtomicLoad64",
31117 auxType: auxInt64,
31118 argLen: 2,
31119 clobberFlags: true,
31120 faultOnNilArg0: true,
31121 reg: regInfo{
31122 inputs: []inputInfo{
31123 {0, 1073733630},
31124 },
31125 outputs: []outputInfo{
31126 {0, 1073733624},
31127 },
31128 },
31129 },
31130 {
31131 name: "LoweredAtomicLoadPtr",
31132 auxType: auxInt64,
31133 argLen: 2,
31134 clobberFlags: true,
31135 faultOnNilArg0: true,
31136 reg: regInfo{
31137 inputs: []inputInfo{
31138 {0, 1073733630},
31139 },
31140 outputs: []outputInfo{
31141 {0, 1073733624},
31142 },
31143 },
31144 },
31145 {
31146 name: "LoweredAtomicAdd32",
31147 argLen: 3,
31148 resultNotInArgs: true,
31149 clobberFlags: true,
31150 faultOnNilArg0: true,
31151 hasSideEffects: true,
31152 reg: regInfo{
31153 inputs: []inputInfo{
31154 {1, 1073733624},
31155 {0, 1073733630},
31156 },
31157 outputs: []outputInfo{
31158 {0, 1073733624},
31159 },
31160 },
31161 },
31162 {
31163 name: "LoweredAtomicAdd64",
31164 argLen: 3,
31165 resultNotInArgs: true,
31166 clobberFlags: true,
31167 faultOnNilArg0: true,
31168 hasSideEffects: true,
31169 reg: regInfo{
31170 inputs: []inputInfo{
31171 {1, 1073733624},
31172 {0, 1073733630},
31173 },
31174 outputs: []outputInfo{
31175 {0, 1073733624},
31176 },
31177 },
31178 },
31179 {
31180 name: "LoweredAtomicExchange32",
31181 argLen: 3,
31182 resultNotInArgs: true,
31183 clobberFlags: true,
31184 faultOnNilArg0: true,
31185 hasSideEffects: true,
31186 reg: regInfo{
31187 inputs: []inputInfo{
31188 {1, 1073733624},
31189 {0, 1073733630},
31190 },
31191 outputs: []outputInfo{
31192 {0, 1073733624},
31193 },
31194 },
31195 },
31196 {
31197 name: "LoweredAtomicExchange64",
31198 argLen: 3,
31199 resultNotInArgs: true,
31200 clobberFlags: true,
31201 faultOnNilArg0: true,
31202 hasSideEffects: true,
31203 reg: regInfo{
31204 inputs: []inputInfo{
31205 {1, 1073733624},
31206 {0, 1073733630},
31207 },
31208 outputs: []outputInfo{
31209 {0, 1073733624},
31210 },
31211 },
31212 },
31213 {
31214 name: "LoweredAtomicCas64",
31215 auxType: auxInt64,
31216 argLen: 4,
31217 resultNotInArgs: true,
31218 clobberFlags: true,
31219 faultOnNilArg0: true,
31220 hasSideEffects: true,
31221 reg: regInfo{
31222 inputs: []inputInfo{
31223 {1, 1073733624},
31224 {2, 1073733624},
31225 {0, 1073733630},
31226 },
31227 outputs: []outputInfo{
31228 {0, 1073733624},
31229 },
31230 },
31231 },
31232 {
31233 name: "LoweredAtomicCas32",
31234 auxType: auxInt64,
31235 argLen: 4,
31236 resultNotInArgs: true,
31237 clobberFlags: true,
31238 faultOnNilArg0: true,
31239 hasSideEffects: true,
31240 reg: regInfo{
31241 inputs: []inputInfo{
31242 {1, 1073733624},
31243 {2, 1073733624},
31244 {0, 1073733630},
31245 },
31246 outputs: []outputInfo{
31247 {0, 1073733624},
31248 },
31249 },
31250 },
31251 {
31252 name: "LoweredAtomicAnd8",
31253 argLen: 3,
31254 faultOnNilArg0: true,
31255 hasSideEffects: true,
31256 asm: ppc64.AAND,
31257 reg: regInfo{
31258 inputs: []inputInfo{
31259 {0, 1073733630},
31260 {1, 1073733630},
31261 },
31262 },
31263 },
31264 {
31265 name: "LoweredAtomicAnd32",
31266 argLen: 3,
31267 faultOnNilArg0: true,
31268 hasSideEffects: true,
31269 asm: ppc64.AAND,
31270 reg: regInfo{
31271 inputs: []inputInfo{
31272 {0, 1073733630},
31273 {1, 1073733630},
31274 },
31275 },
31276 },
31277 {
31278 name: "LoweredAtomicOr8",
31279 argLen: 3,
31280 faultOnNilArg0: true,
31281 hasSideEffects: true,
31282 asm: ppc64.AOR,
31283 reg: regInfo{
31284 inputs: []inputInfo{
31285 {0, 1073733630},
31286 {1, 1073733630},
31287 },
31288 },
31289 },
31290 {
31291 name: "LoweredAtomicOr32",
31292 argLen: 3,
31293 faultOnNilArg0: true,
31294 hasSideEffects: true,
31295 asm: ppc64.AOR,
31296 reg: regInfo{
31297 inputs: []inputInfo{
31298 {0, 1073733630},
31299 {1, 1073733630},
31300 },
31301 },
31302 },
31303 {
31304 name: "LoweredWB",
31305 auxType: auxInt64,
31306 argLen: 1,
31307 clobberFlags: true,
31308 reg: regInfo{
31309 clobbers: 18446744072632408064,
31310 outputs: []outputInfo{
31311 {0, 536870912},
31312 },
31313 },
31314 },
31315 {
31316 name: "LoweredPubBarrier",
31317 argLen: 1,
31318 hasSideEffects: true,
31319 asm: ppc64.ALWSYNC,
31320 reg: regInfo{},
31321 },
31322 {
31323 name: "LoweredPanicBoundsA",
31324 auxType: auxInt64,
31325 argLen: 3,
31326 call: true,
31327 reg: regInfo{
31328 inputs: []inputInfo{
31329 {0, 32},
31330 {1, 64},
31331 },
31332 },
31333 },
31334 {
31335 name: "LoweredPanicBoundsB",
31336 auxType: auxInt64,
31337 argLen: 3,
31338 call: true,
31339 reg: regInfo{
31340 inputs: []inputInfo{
31341 {0, 16},
31342 {1, 32},
31343 },
31344 },
31345 },
31346 {
31347 name: "LoweredPanicBoundsC",
31348 auxType: auxInt64,
31349 argLen: 3,
31350 call: true,
31351 reg: regInfo{
31352 inputs: []inputInfo{
31353 {0, 8},
31354 {1, 16},
31355 },
31356 },
31357 },
31358 {
31359 name: "InvertFlags",
31360 argLen: 1,
31361 reg: regInfo{},
31362 },
31363 {
31364 name: "FlagEQ",
31365 argLen: 0,
31366 reg: regInfo{},
31367 },
31368 {
31369 name: "FlagLT",
31370 argLen: 0,
31371 reg: regInfo{},
31372 },
31373 {
31374 name: "FlagGT",
31375 argLen: 0,
31376 reg: regInfo{},
31377 },
31378
31379 {
31380 name: "ADD",
31381 argLen: 2,
31382 commutative: true,
31383 asm: riscv.AADD,
31384 reg: regInfo{
31385 inputs: []inputInfo{
31386 {0, 1006632944},
31387 {1, 1006632944},
31388 },
31389 outputs: []outputInfo{
31390 {0, 1006632944},
31391 },
31392 },
31393 },
31394 {
31395 name: "ADDI",
31396 auxType: auxInt64,
31397 argLen: 1,
31398 asm: riscv.AADDI,
31399 reg: regInfo{
31400 inputs: []inputInfo{
31401 {0, 9223372037861408754},
31402 },
31403 outputs: []outputInfo{
31404 {0, 1006632944},
31405 },
31406 },
31407 },
31408 {
31409 name: "ADDIW",
31410 auxType: auxInt64,
31411 argLen: 1,
31412 asm: riscv.AADDIW,
31413 reg: regInfo{
31414 inputs: []inputInfo{
31415 {0, 1006632944},
31416 },
31417 outputs: []outputInfo{
31418 {0, 1006632944},
31419 },
31420 },
31421 },
31422 {
31423 name: "NEG",
31424 argLen: 1,
31425 asm: riscv.ANEG,
31426 reg: regInfo{
31427 inputs: []inputInfo{
31428 {0, 1006632944},
31429 },
31430 outputs: []outputInfo{
31431 {0, 1006632944},
31432 },
31433 },
31434 },
31435 {
31436 name: "NEGW",
31437 argLen: 1,
31438 asm: riscv.ANEGW,
31439 reg: regInfo{
31440 inputs: []inputInfo{
31441 {0, 1006632944},
31442 },
31443 outputs: []outputInfo{
31444 {0, 1006632944},
31445 },
31446 },
31447 },
31448 {
31449 name: "SUB",
31450 argLen: 2,
31451 asm: riscv.ASUB,
31452 reg: regInfo{
31453 inputs: []inputInfo{
31454 {0, 1006632944},
31455 {1, 1006632944},
31456 },
31457 outputs: []outputInfo{
31458 {0, 1006632944},
31459 },
31460 },
31461 },
31462 {
31463 name: "SUBW",
31464 argLen: 2,
31465 asm: riscv.ASUBW,
31466 reg: regInfo{
31467 inputs: []inputInfo{
31468 {0, 1006632944},
31469 {1, 1006632944},
31470 },
31471 outputs: []outputInfo{
31472 {0, 1006632944},
31473 },
31474 },
31475 },
31476 {
31477 name: "MUL",
31478 argLen: 2,
31479 commutative: true,
31480 asm: riscv.AMUL,
31481 reg: regInfo{
31482 inputs: []inputInfo{
31483 {0, 1006632944},
31484 {1, 1006632944},
31485 },
31486 outputs: []outputInfo{
31487 {0, 1006632944},
31488 },
31489 },
31490 },
31491 {
31492 name: "MULW",
31493 argLen: 2,
31494 commutative: true,
31495 asm: riscv.AMULW,
31496 reg: regInfo{
31497 inputs: []inputInfo{
31498 {0, 1006632944},
31499 {1, 1006632944},
31500 },
31501 outputs: []outputInfo{
31502 {0, 1006632944},
31503 },
31504 },
31505 },
31506 {
31507 name: "MULH",
31508 argLen: 2,
31509 commutative: true,
31510 asm: riscv.AMULH,
31511 reg: regInfo{
31512 inputs: []inputInfo{
31513 {0, 1006632944},
31514 {1, 1006632944},
31515 },
31516 outputs: []outputInfo{
31517 {0, 1006632944},
31518 },
31519 },
31520 },
31521 {
31522 name: "MULHU",
31523 argLen: 2,
31524 commutative: true,
31525 asm: riscv.AMULHU,
31526 reg: regInfo{
31527 inputs: []inputInfo{
31528 {0, 1006632944},
31529 {1, 1006632944},
31530 },
31531 outputs: []outputInfo{
31532 {0, 1006632944},
31533 },
31534 },
31535 },
31536 {
31537 name: "LoweredMuluhilo",
31538 argLen: 2,
31539 resultNotInArgs: true,
31540 reg: regInfo{
31541 inputs: []inputInfo{
31542 {0, 1006632944},
31543 {1, 1006632944},
31544 },
31545 outputs: []outputInfo{
31546 {0, 1006632944},
31547 {1, 1006632944},
31548 },
31549 },
31550 },
31551 {
31552 name: "LoweredMuluover",
31553 argLen: 2,
31554 resultNotInArgs: true,
31555 reg: regInfo{
31556 inputs: []inputInfo{
31557 {0, 1006632944},
31558 {1, 1006632944},
31559 },
31560 outputs: []outputInfo{
31561 {0, 1006632944},
31562 {1, 1006632944},
31563 },
31564 },
31565 },
31566 {
31567 name: "DIV",
31568 argLen: 2,
31569 asm: riscv.ADIV,
31570 reg: regInfo{
31571 inputs: []inputInfo{
31572 {0, 1006632944},
31573 {1, 1006632944},
31574 },
31575 outputs: []outputInfo{
31576 {0, 1006632944},
31577 },
31578 },
31579 },
31580 {
31581 name: "DIVU",
31582 argLen: 2,
31583 asm: riscv.ADIVU,
31584 reg: regInfo{
31585 inputs: []inputInfo{
31586 {0, 1006632944},
31587 {1, 1006632944},
31588 },
31589 outputs: []outputInfo{
31590 {0, 1006632944},
31591 },
31592 },
31593 },
31594 {
31595 name: "DIVW",
31596 argLen: 2,
31597 asm: riscv.ADIVW,
31598 reg: regInfo{
31599 inputs: []inputInfo{
31600 {0, 1006632944},
31601 {1, 1006632944},
31602 },
31603 outputs: []outputInfo{
31604 {0, 1006632944},
31605 },
31606 },
31607 },
31608 {
31609 name: "DIVUW",
31610 argLen: 2,
31611 asm: riscv.ADIVUW,
31612 reg: regInfo{
31613 inputs: []inputInfo{
31614 {0, 1006632944},
31615 {1, 1006632944},
31616 },
31617 outputs: []outputInfo{
31618 {0, 1006632944},
31619 },
31620 },
31621 },
31622 {
31623 name: "REM",
31624 argLen: 2,
31625 asm: riscv.AREM,
31626 reg: regInfo{
31627 inputs: []inputInfo{
31628 {0, 1006632944},
31629 {1, 1006632944},
31630 },
31631 outputs: []outputInfo{
31632 {0, 1006632944},
31633 },
31634 },
31635 },
31636 {
31637 name: "REMU",
31638 argLen: 2,
31639 asm: riscv.AREMU,
31640 reg: regInfo{
31641 inputs: []inputInfo{
31642 {0, 1006632944},
31643 {1, 1006632944},
31644 },
31645 outputs: []outputInfo{
31646 {0, 1006632944},
31647 },
31648 },
31649 },
31650 {
31651 name: "REMW",
31652 argLen: 2,
31653 asm: riscv.AREMW,
31654 reg: regInfo{
31655 inputs: []inputInfo{
31656 {0, 1006632944},
31657 {1, 1006632944},
31658 },
31659 outputs: []outputInfo{
31660 {0, 1006632944},
31661 },
31662 },
31663 },
31664 {
31665 name: "REMUW",
31666 argLen: 2,
31667 asm: riscv.AREMUW,
31668 reg: regInfo{
31669 inputs: []inputInfo{
31670 {0, 1006632944},
31671 {1, 1006632944},
31672 },
31673 outputs: []outputInfo{
31674 {0, 1006632944},
31675 },
31676 },
31677 },
31678 {
31679 name: "MOVaddr",
31680 auxType: auxSymOff,
31681 argLen: 1,
31682 rematerializeable: true,
31683 symEffect: SymAddr,
31684 asm: riscv.AMOV,
31685 reg: regInfo{
31686 inputs: []inputInfo{
31687 {0, 9223372037861408754},
31688 },
31689 outputs: []outputInfo{
31690 {0, 1006632944},
31691 },
31692 },
31693 },
31694 {
31695 name: "MOVDconst",
31696 auxType: auxInt64,
31697 argLen: 0,
31698 rematerializeable: true,
31699 asm: riscv.AMOV,
31700 reg: regInfo{
31701 outputs: []outputInfo{
31702 {0, 1006632944},
31703 },
31704 },
31705 },
31706 {
31707 name: "MOVBload",
31708 auxType: auxSymOff,
31709 argLen: 2,
31710 faultOnNilArg0: true,
31711 symEffect: SymRead,
31712 asm: riscv.AMOVB,
31713 reg: regInfo{
31714 inputs: []inputInfo{
31715 {0, 9223372037861408754},
31716 },
31717 outputs: []outputInfo{
31718 {0, 1006632944},
31719 },
31720 },
31721 },
31722 {
31723 name: "MOVHload",
31724 auxType: auxSymOff,
31725 argLen: 2,
31726 faultOnNilArg0: true,
31727 symEffect: SymRead,
31728 asm: riscv.AMOVH,
31729 reg: regInfo{
31730 inputs: []inputInfo{
31731 {0, 9223372037861408754},
31732 },
31733 outputs: []outputInfo{
31734 {0, 1006632944},
31735 },
31736 },
31737 },
31738 {
31739 name: "MOVWload",
31740 auxType: auxSymOff,
31741 argLen: 2,
31742 faultOnNilArg0: true,
31743 symEffect: SymRead,
31744 asm: riscv.AMOVW,
31745 reg: regInfo{
31746 inputs: []inputInfo{
31747 {0, 9223372037861408754},
31748 },
31749 outputs: []outputInfo{
31750 {0, 1006632944},
31751 },
31752 },
31753 },
31754 {
31755 name: "MOVDload",
31756 auxType: auxSymOff,
31757 argLen: 2,
31758 faultOnNilArg0: true,
31759 symEffect: SymRead,
31760 asm: riscv.AMOV,
31761 reg: regInfo{
31762 inputs: []inputInfo{
31763 {0, 9223372037861408754},
31764 },
31765 outputs: []outputInfo{
31766 {0, 1006632944},
31767 },
31768 },
31769 },
31770 {
31771 name: "MOVBUload",
31772 auxType: auxSymOff,
31773 argLen: 2,
31774 faultOnNilArg0: true,
31775 symEffect: SymRead,
31776 asm: riscv.AMOVBU,
31777 reg: regInfo{
31778 inputs: []inputInfo{
31779 {0, 9223372037861408754},
31780 },
31781 outputs: []outputInfo{
31782 {0, 1006632944},
31783 },
31784 },
31785 },
31786 {
31787 name: "MOVHUload",
31788 auxType: auxSymOff,
31789 argLen: 2,
31790 faultOnNilArg0: true,
31791 symEffect: SymRead,
31792 asm: riscv.AMOVHU,
31793 reg: regInfo{
31794 inputs: []inputInfo{
31795 {0, 9223372037861408754},
31796 },
31797 outputs: []outputInfo{
31798 {0, 1006632944},
31799 },
31800 },
31801 },
31802 {
31803 name: "MOVWUload",
31804 auxType: auxSymOff,
31805 argLen: 2,
31806 faultOnNilArg0: true,
31807 symEffect: SymRead,
31808 asm: riscv.AMOVWU,
31809 reg: regInfo{
31810 inputs: []inputInfo{
31811 {0, 9223372037861408754},
31812 },
31813 outputs: []outputInfo{
31814 {0, 1006632944},
31815 },
31816 },
31817 },
31818 {
31819 name: "MOVBstore",
31820 auxType: auxSymOff,
31821 argLen: 3,
31822 faultOnNilArg0: true,
31823 symEffect: SymWrite,
31824 asm: riscv.AMOVB,
31825 reg: regInfo{
31826 inputs: []inputInfo{
31827 {1, 1006632946},
31828 {0, 9223372037861408754},
31829 },
31830 },
31831 },
31832 {
31833 name: "MOVHstore",
31834 auxType: auxSymOff,
31835 argLen: 3,
31836 faultOnNilArg0: true,
31837 symEffect: SymWrite,
31838 asm: riscv.AMOVH,
31839 reg: regInfo{
31840 inputs: []inputInfo{
31841 {1, 1006632946},
31842 {0, 9223372037861408754},
31843 },
31844 },
31845 },
31846 {
31847 name: "MOVWstore",
31848 auxType: auxSymOff,
31849 argLen: 3,
31850 faultOnNilArg0: true,
31851 symEffect: SymWrite,
31852 asm: riscv.AMOVW,
31853 reg: regInfo{
31854 inputs: []inputInfo{
31855 {1, 1006632946},
31856 {0, 9223372037861408754},
31857 },
31858 },
31859 },
31860 {
31861 name: "MOVDstore",
31862 auxType: auxSymOff,
31863 argLen: 3,
31864 faultOnNilArg0: true,
31865 symEffect: SymWrite,
31866 asm: riscv.AMOV,
31867 reg: regInfo{
31868 inputs: []inputInfo{
31869 {1, 1006632946},
31870 {0, 9223372037861408754},
31871 },
31872 },
31873 },
31874 {
31875 name: "MOVBstorezero",
31876 auxType: auxSymOff,
31877 argLen: 2,
31878 faultOnNilArg0: true,
31879 symEffect: SymWrite,
31880 asm: riscv.AMOVB,
31881 reg: regInfo{
31882 inputs: []inputInfo{
31883 {0, 9223372037861408754},
31884 },
31885 },
31886 },
31887 {
31888 name: "MOVHstorezero",
31889 auxType: auxSymOff,
31890 argLen: 2,
31891 faultOnNilArg0: true,
31892 symEffect: SymWrite,
31893 asm: riscv.AMOVH,
31894 reg: regInfo{
31895 inputs: []inputInfo{
31896 {0, 9223372037861408754},
31897 },
31898 },
31899 },
31900 {
31901 name: "MOVWstorezero",
31902 auxType: auxSymOff,
31903 argLen: 2,
31904 faultOnNilArg0: true,
31905 symEffect: SymWrite,
31906 asm: riscv.AMOVW,
31907 reg: regInfo{
31908 inputs: []inputInfo{
31909 {0, 9223372037861408754},
31910 },
31911 },
31912 },
31913 {
31914 name: "MOVDstorezero",
31915 auxType: auxSymOff,
31916 argLen: 2,
31917 faultOnNilArg0: true,
31918 symEffect: SymWrite,
31919 asm: riscv.AMOV,
31920 reg: regInfo{
31921 inputs: []inputInfo{
31922 {0, 9223372037861408754},
31923 },
31924 },
31925 },
31926 {
31927 name: "MOVBreg",
31928 argLen: 1,
31929 asm: riscv.AMOVB,
31930 reg: regInfo{
31931 inputs: []inputInfo{
31932 {0, 1006632944},
31933 },
31934 outputs: []outputInfo{
31935 {0, 1006632944},
31936 },
31937 },
31938 },
31939 {
31940 name: "MOVHreg",
31941 argLen: 1,
31942 asm: riscv.AMOVH,
31943 reg: regInfo{
31944 inputs: []inputInfo{
31945 {0, 1006632944},
31946 },
31947 outputs: []outputInfo{
31948 {0, 1006632944},
31949 },
31950 },
31951 },
31952 {
31953 name: "MOVWreg",
31954 argLen: 1,
31955 asm: riscv.AMOVW,
31956 reg: regInfo{
31957 inputs: []inputInfo{
31958 {0, 1006632944},
31959 },
31960 outputs: []outputInfo{
31961 {0, 1006632944},
31962 },
31963 },
31964 },
31965 {
31966 name: "MOVDreg",
31967 argLen: 1,
31968 asm: riscv.AMOV,
31969 reg: regInfo{
31970 inputs: []inputInfo{
31971 {0, 1006632944},
31972 },
31973 outputs: []outputInfo{
31974 {0, 1006632944},
31975 },
31976 },
31977 },
31978 {
31979 name: "MOVBUreg",
31980 argLen: 1,
31981 asm: riscv.AMOVBU,
31982 reg: regInfo{
31983 inputs: []inputInfo{
31984 {0, 1006632944},
31985 },
31986 outputs: []outputInfo{
31987 {0, 1006632944},
31988 },
31989 },
31990 },
31991 {
31992 name: "MOVHUreg",
31993 argLen: 1,
31994 asm: riscv.AMOVHU,
31995 reg: regInfo{
31996 inputs: []inputInfo{
31997 {0, 1006632944},
31998 },
31999 outputs: []outputInfo{
32000 {0, 1006632944},
32001 },
32002 },
32003 },
32004 {
32005 name: "MOVWUreg",
32006 argLen: 1,
32007 asm: riscv.AMOVWU,
32008 reg: regInfo{
32009 inputs: []inputInfo{
32010 {0, 1006632944},
32011 },
32012 outputs: []outputInfo{
32013 {0, 1006632944},
32014 },
32015 },
32016 },
32017 {
32018 name: "MOVDnop",
32019 argLen: 1,
32020 resultInArg0: true,
32021 reg: regInfo{
32022 inputs: []inputInfo{
32023 {0, 1006632944},
32024 },
32025 outputs: []outputInfo{
32026 {0, 1006632944},
32027 },
32028 },
32029 },
32030 {
32031 name: "SLL",
32032 argLen: 2,
32033 asm: riscv.ASLL,
32034 reg: regInfo{
32035 inputs: []inputInfo{
32036 {0, 1006632944},
32037 {1, 1006632944},
32038 },
32039 outputs: []outputInfo{
32040 {0, 1006632944},
32041 },
32042 },
32043 },
32044 {
32045 name: "SRA",
32046 argLen: 2,
32047 asm: riscv.ASRA,
32048 reg: regInfo{
32049 inputs: []inputInfo{
32050 {0, 1006632944},
32051 {1, 1006632944},
32052 },
32053 outputs: []outputInfo{
32054 {0, 1006632944},
32055 },
32056 },
32057 },
32058 {
32059 name: "SRAW",
32060 argLen: 2,
32061 asm: riscv.ASRAW,
32062 reg: regInfo{
32063 inputs: []inputInfo{
32064 {0, 1006632944},
32065 {1, 1006632944},
32066 },
32067 outputs: []outputInfo{
32068 {0, 1006632944},
32069 },
32070 },
32071 },
32072 {
32073 name: "SRL",
32074 argLen: 2,
32075 asm: riscv.ASRL,
32076 reg: regInfo{
32077 inputs: []inputInfo{
32078 {0, 1006632944},
32079 {1, 1006632944},
32080 },
32081 outputs: []outputInfo{
32082 {0, 1006632944},
32083 },
32084 },
32085 },
32086 {
32087 name: "SRLW",
32088 argLen: 2,
32089 asm: riscv.ASRLW,
32090 reg: regInfo{
32091 inputs: []inputInfo{
32092 {0, 1006632944},
32093 {1, 1006632944},
32094 },
32095 outputs: []outputInfo{
32096 {0, 1006632944},
32097 },
32098 },
32099 },
32100 {
32101 name: "SLLI",
32102 auxType: auxInt64,
32103 argLen: 1,
32104 asm: riscv.ASLLI,
32105 reg: regInfo{
32106 inputs: []inputInfo{
32107 {0, 1006632944},
32108 },
32109 outputs: []outputInfo{
32110 {0, 1006632944},
32111 },
32112 },
32113 },
32114 {
32115 name: "SRAI",
32116 auxType: auxInt64,
32117 argLen: 1,
32118 asm: riscv.ASRAI,
32119 reg: regInfo{
32120 inputs: []inputInfo{
32121 {0, 1006632944},
32122 },
32123 outputs: []outputInfo{
32124 {0, 1006632944},
32125 },
32126 },
32127 },
32128 {
32129 name: "SRAIW",
32130 auxType: auxInt64,
32131 argLen: 1,
32132 asm: riscv.ASRAIW,
32133 reg: regInfo{
32134 inputs: []inputInfo{
32135 {0, 1006632944},
32136 },
32137 outputs: []outputInfo{
32138 {0, 1006632944},
32139 },
32140 },
32141 },
32142 {
32143 name: "SRLI",
32144 auxType: auxInt64,
32145 argLen: 1,
32146 asm: riscv.ASRLI,
32147 reg: regInfo{
32148 inputs: []inputInfo{
32149 {0, 1006632944},
32150 },
32151 outputs: []outputInfo{
32152 {0, 1006632944},
32153 },
32154 },
32155 },
32156 {
32157 name: "SRLIW",
32158 auxType: auxInt64,
32159 argLen: 1,
32160 asm: riscv.ASRLIW,
32161 reg: regInfo{
32162 inputs: []inputInfo{
32163 {0, 1006632944},
32164 },
32165 outputs: []outputInfo{
32166 {0, 1006632944},
32167 },
32168 },
32169 },
32170 {
32171 name: "XOR",
32172 argLen: 2,
32173 commutative: true,
32174 asm: riscv.AXOR,
32175 reg: regInfo{
32176 inputs: []inputInfo{
32177 {0, 1006632944},
32178 {1, 1006632944},
32179 },
32180 outputs: []outputInfo{
32181 {0, 1006632944},
32182 },
32183 },
32184 },
32185 {
32186 name: "XORI",
32187 auxType: auxInt64,
32188 argLen: 1,
32189 asm: riscv.AXORI,
32190 reg: regInfo{
32191 inputs: []inputInfo{
32192 {0, 1006632944},
32193 },
32194 outputs: []outputInfo{
32195 {0, 1006632944},
32196 },
32197 },
32198 },
32199 {
32200 name: "OR",
32201 argLen: 2,
32202 commutative: true,
32203 asm: riscv.AOR,
32204 reg: regInfo{
32205 inputs: []inputInfo{
32206 {0, 1006632944},
32207 {1, 1006632944},
32208 },
32209 outputs: []outputInfo{
32210 {0, 1006632944},
32211 },
32212 },
32213 },
32214 {
32215 name: "ORI",
32216 auxType: auxInt64,
32217 argLen: 1,
32218 asm: riscv.AORI,
32219 reg: regInfo{
32220 inputs: []inputInfo{
32221 {0, 1006632944},
32222 },
32223 outputs: []outputInfo{
32224 {0, 1006632944},
32225 },
32226 },
32227 },
32228 {
32229 name: "AND",
32230 argLen: 2,
32231 commutative: true,
32232 asm: riscv.AAND,
32233 reg: regInfo{
32234 inputs: []inputInfo{
32235 {0, 1006632944},
32236 {1, 1006632944},
32237 },
32238 outputs: []outputInfo{
32239 {0, 1006632944},
32240 },
32241 },
32242 },
32243 {
32244 name: "ANDI",
32245 auxType: auxInt64,
32246 argLen: 1,
32247 asm: riscv.AANDI,
32248 reg: regInfo{
32249 inputs: []inputInfo{
32250 {0, 1006632944},
32251 },
32252 outputs: []outputInfo{
32253 {0, 1006632944},
32254 },
32255 },
32256 },
32257 {
32258 name: "NOT",
32259 argLen: 1,
32260 asm: riscv.ANOT,
32261 reg: regInfo{
32262 inputs: []inputInfo{
32263 {0, 1006632944},
32264 },
32265 outputs: []outputInfo{
32266 {0, 1006632944},
32267 },
32268 },
32269 },
32270 {
32271 name: "SEQZ",
32272 argLen: 1,
32273 asm: riscv.ASEQZ,
32274 reg: regInfo{
32275 inputs: []inputInfo{
32276 {0, 1006632944},
32277 },
32278 outputs: []outputInfo{
32279 {0, 1006632944},
32280 },
32281 },
32282 },
32283 {
32284 name: "SNEZ",
32285 argLen: 1,
32286 asm: riscv.ASNEZ,
32287 reg: regInfo{
32288 inputs: []inputInfo{
32289 {0, 1006632944},
32290 },
32291 outputs: []outputInfo{
32292 {0, 1006632944},
32293 },
32294 },
32295 },
32296 {
32297 name: "SLT",
32298 argLen: 2,
32299 asm: riscv.ASLT,
32300 reg: regInfo{
32301 inputs: []inputInfo{
32302 {0, 1006632944},
32303 {1, 1006632944},
32304 },
32305 outputs: []outputInfo{
32306 {0, 1006632944},
32307 },
32308 },
32309 },
32310 {
32311 name: "SLTI",
32312 auxType: auxInt64,
32313 argLen: 1,
32314 asm: riscv.ASLTI,
32315 reg: regInfo{
32316 inputs: []inputInfo{
32317 {0, 1006632944},
32318 },
32319 outputs: []outputInfo{
32320 {0, 1006632944},
32321 },
32322 },
32323 },
32324 {
32325 name: "SLTU",
32326 argLen: 2,
32327 asm: riscv.ASLTU,
32328 reg: regInfo{
32329 inputs: []inputInfo{
32330 {0, 1006632944},
32331 {1, 1006632944},
32332 },
32333 outputs: []outputInfo{
32334 {0, 1006632944},
32335 },
32336 },
32337 },
32338 {
32339 name: "SLTIU",
32340 auxType: auxInt64,
32341 argLen: 1,
32342 asm: riscv.ASLTIU,
32343 reg: regInfo{
32344 inputs: []inputInfo{
32345 {0, 1006632944},
32346 },
32347 outputs: []outputInfo{
32348 {0, 1006632944},
32349 },
32350 },
32351 },
32352 {
32353 name: "LoweredRound32F",
32354 argLen: 1,
32355 resultInArg0: true,
32356 reg: regInfo{
32357 inputs: []inputInfo{
32358 {0, 9223372034707292160},
32359 },
32360 outputs: []outputInfo{
32361 {0, 9223372034707292160},
32362 },
32363 },
32364 },
32365 {
32366 name: "LoweredRound64F",
32367 argLen: 1,
32368 resultInArg0: true,
32369 reg: regInfo{
32370 inputs: []inputInfo{
32371 {0, 9223372034707292160},
32372 },
32373 outputs: []outputInfo{
32374 {0, 9223372034707292160},
32375 },
32376 },
32377 },
32378 {
32379 name: "CALLstatic",
32380 auxType: auxCallOff,
32381 argLen: -1,
32382 call: true,
32383 reg: regInfo{
32384 clobbers: 9223372035781033968,
32385 },
32386 },
32387 {
32388 name: "CALLtail",
32389 auxType: auxCallOff,
32390 argLen: -1,
32391 call: true,
32392 tailCall: true,
32393 reg: regInfo{
32394 clobbers: 9223372035781033968,
32395 },
32396 },
32397 {
32398 name: "CALLclosure",
32399 auxType: auxCallOff,
32400 argLen: -1,
32401 call: true,
32402 reg: regInfo{
32403 inputs: []inputInfo{
32404 {1, 33554432},
32405 {0, 1006632946},
32406 },
32407 clobbers: 9223372035781033968,
32408 },
32409 },
32410 {
32411 name: "CALLinter",
32412 auxType: auxCallOff,
32413 argLen: -1,
32414 call: true,
32415 reg: regInfo{
32416 inputs: []inputInfo{
32417 {0, 1006632944},
32418 },
32419 clobbers: 9223372035781033968,
32420 },
32421 },
32422 {
32423 name: "DUFFZERO",
32424 auxType: auxInt64,
32425 argLen: 2,
32426 faultOnNilArg0: true,
32427 reg: regInfo{
32428 inputs: []inputInfo{
32429 {0, 16777216},
32430 },
32431 clobbers: 16777216,
32432 },
32433 },
32434 {
32435 name: "DUFFCOPY",
32436 auxType: auxInt64,
32437 argLen: 3,
32438 faultOnNilArg0: true,
32439 faultOnNilArg1: true,
32440 reg: regInfo{
32441 inputs: []inputInfo{
32442 {0, 16777216},
32443 {1, 8388608},
32444 },
32445 clobbers: 25165824,
32446 },
32447 },
32448 {
32449 name: "LoweredZero",
32450 auxType: auxInt64,
32451 argLen: 3,
32452 faultOnNilArg0: true,
32453 reg: regInfo{
32454 inputs: []inputInfo{
32455 {0, 16},
32456 {1, 1006632944},
32457 },
32458 clobbers: 16,
32459 },
32460 },
32461 {
32462 name: "LoweredMove",
32463 auxType: auxInt64,
32464 argLen: 4,
32465 faultOnNilArg0: true,
32466 faultOnNilArg1: true,
32467 reg: regInfo{
32468 inputs: []inputInfo{
32469 {0, 16},
32470 {1, 32},
32471 {2, 1006632880},
32472 },
32473 clobbers: 112,
32474 },
32475 },
32476 {
32477 name: "LoweredAtomicLoad8",
32478 argLen: 2,
32479 faultOnNilArg0: true,
32480 reg: regInfo{
32481 inputs: []inputInfo{
32482 {0, 9223372037861408754},
32483 },
32484 outputs: []outputInfo{
32485 {0, 1006632944},
32486 },
32487 },
32488 },
32489 {
32490 name: "LoweredAtomicLoad32",
32491 argLen: 2,
32492 faultOnNilArg0: true,
32493 reg: regInfo{
32494 inputs: []inputInfo{
32495 {0, 9223372037861408754},
32496 },
32497 outputs: []outputInfo{
32498 {0, 1006632944},
32499 },
32500 },
32501 },
32502 {
32503 name: "LoweredAtomicLoad64",
32504 argLen: 2,
32505 faultOnNilArg0: true,
32506 reg: regInfo{
32507 inputs: []inputInfo{
32508 {0, 9223372037861408754},
32509 },
32510 outputs: []outputInfo{
32511 {0, 1006632944},
32512 },
32513 },
32514 },
32515 {
32516 name: "LoweredAtomicStore8",
32517 argLen: 3,
32518 faultOnNilArg0: true,
32519 hasSideEffects: true,
32520 reg: regInfo{
32521 inputs: []inputInfo{
32522 {1, 1006632946},
32523 {0, 9223372037861408754},
32524 },
32525 },
32526 },
32527 {
32528 name: "LoweredAtomicStore32",
32529 argLen: 3,
32530 faultOnNilArg0: true,
32531 hasSideEffects: true,
32532 reg: regInfo{
32533 inputs: []inputInfo{
32534 {1, 1006632946},
32535 {0, 9223372037861408754},
32536 },
32537 },
32538 },
32539 {
32540 name: "LoweredAtomicStore64",
32541 argLen: 3,
32542 faultOnNilArg0: true,
32543 hasSideEffects: true,
32544 reg: regInfo{
32545 inputs: []inputInfo{
32546 {1, 1006632946},
32547 {0, 9223372037861408754},
32548 },
32549 },
32550 },
32551 {
32552 name: "LoweredAtomicExchange32",
32553 argLen: 3,
32554 resultNotInArgs: true,
32555 faultOnNilArg0: true,
32556 hasSideEffects: true,
32557 reg: regInfo{
32558 inputs: []inputInfo{
32559 {1, 1073741808},
32560 {0, 9223372037928517618},
32561 },
32562 outputs: []outputInfo{
32563 {0, 1006632944},
32564 },
32565 },
32566 },
32567 {
32568 name: "LoweredAtomicExchange64",
32569 argLen: 3,
32570 resultNotInArgs: true,
32571 faultOnNilArg0: true,
32572 hasSideEffects: true,
32573 reg: regInfo{
32574 inputs: []inputInfo{
32575 {1, 1073741808},
32576 {0, 9223372037928517618},
32577 },
32578 outputs: []outputInfo{
32579 {0, 1006632944},
32580 },
32581 },
32582 },
32583 {
32584 name: "LoweredAtomicAdd32",
32585 argLen: 3,
32586 resultNotInArgs: true,
32587 faultOnNilArg0: true,
32588 hasSideEffects: true,
32589 unsafePoint: true,
32590 reg: regInfo{
32591 inputs: []inputInfo{
32592 {1, 1073741808},
32593 {0, 9223372037928517618},
32594 },
32595 outputs: []outputInfo{
32596 {0, 1006632944},
32597 },
32598 },
32599 },
32600 {
32601 name: "LoweredAtomicAdd64",
32602 argLen: 3,
32603 resultNotInArgs: true,
32604 faultOnNilArg0: true,
32605 hasSideEffects: true,
32606 unsafePoint: true,
32607 reg: regInfo{
32608 inputs: []inputInfo{
32609 {1, 1073741808},
32610 {0, 9223372037928517618},
32611 },
32612 outputs: []outputInfo{
32613 {0, 1006632944},
32614 },
32615 },
32616 },
32617 {
32618 name: "LoweredAtomicCas32",
32619 argLen: 4,
32620 resultNotInArgs: true,
32621 faultOnNilArg0: true,
32622 hasSideEffects: true,
32623 unsafePoint: true,
32624 reg: regInfo{
32625 inputs: []inputInfo{
32626 {1, 1073741808},
32627 {2, 1073741808},
32628 {0, 9223372037928517618},
32629 },
32630 outputs: []outputInfo{
32631 {0, 1006632944},
32632 },
32633 },
32634 },
32635 {
32636 name: "LoweredAtomicCas64",
32637 argLen: 4,
32638 resultNotInArgs: true,
32639 faultOnNilArg0: true,
32640 hasSideEffects: true,
32641 unsafePoint: true,
32642 reg: regInfo{
32643 inputs: []inputInfo{
32644 {1, 1073741808},
32645 {2, 1073741808},
32646 {0, 9223372037928517618},
32647 },
32648 outputs: []outputInfo{
32649 {0, 1006632944},
32650 },
32651 },
32652 },
32653 {
32654 name: "LoweredAtomicAnd32",
32655 argLen: 3,
32656 faultOnNilArg0: true,
32657 hasSideEffects: true,
32658 asm: riscv.AAMOANDW,
32659 reg: regInfo{
32660 inputs: []inputInfo{
32661 {1, 1073741808},
32662 {0, 9223372037928517618},
32663 },
32664 },
32665 },
32666 {
32667 name: "LoweredAtomicOr32",
32668 argLen: 3,
32669 faultOnNilArg0: true,
32670 hasSideEffects: true,
32671 asm: riscv.AAMOORW,
32672 reg: regInfo{
32673 inputs: []inputInfo{
32674 {1, 1073741808},
32675 {0, 9223372037928517618},
32676 },
32677 },
32678 },
32679 {
32680 name: "LoweredNilCheck",
32681 argLen: 2,
32682 nilCheck: true,
32683 faultOnNilArg0: true,
32684 reg: regInfo{
32685 inputs: []inputInfo{
32686 {0, 1006632946},
32687 },
32688 },
32689 },
32690 {
32691 name: "LoweredGetClosurePtr",
32692 argLen: 0,
32693 reg: regInfo{
32694 outputs: []outputInfo{
32695 {0, 33554432},
32696 },
32697 },
32698 },
32699 {
32700 name: "LoweredGetCallerSP",
32701 argLen: 1,
32702 rematerializeable: true,
32703 reg: regInfo{
32704 outputs: []outputInfo{
32705 {0, 1006632944},
32706 },
32707 },
32708 },
32709 {
32710 name: "LoweredGetCallerPC",
32711 argLen: 0,
32712 rematerializeable: true,
32713 reg: regInfo{
32714 outputs: []outputInfo{
32715 {0, 1006632944},
32716 },
32717 },
32718 },
32719 {
32720 name: "LoweredWB",
32721 auxType: auxInt64,
32722 argLen: 1,
32723 clobberFlags: true,
32724 reg: regInfo{
32725 clobbers: 9223372034707292160,
32726 outputs: []outputInfo{
32727 {0, 8388608},
32728 },
32729 },
32730 },
32731 {
32732 name: "LoweredPubBarrier",
32733 argLen: 1,
32734 hasSideEffects: true,
32735 asm: riscv.AFENCE,
32736 reg: regInfo{},
32737 },
32738 {
32739 name: "LoweredPanicBoundsA",
32740 auxType: auxInt64,
32741 argLen: 3,
32742 call: true,
32743 reg: regInfo{
32744 inputs: []inputInfo{
32745 {0, 64},
32746 {1, 134217728},
32747 },
32748 },
32749 },
32750 {
32751 name: "LoweredPanicBoundsB",
32752 auxType: auxInt64,
32753 argLen: 3,
32754 call: true,
32755 reg: regInfo{
32756 inputs: []inputInfo{
32757 {0, 32},
32758 {1, 64},
32759 },
32760 },
32761 },
32762 {
32763 name: "LoweredPanicBoundsC",
32764 auxType: auxInt64,
32765 argLen: 3,
32766 call: true,
32767 reg: regInfo{
32768 inputs: []inputInfo{
32769 {0, 16},
32770 {1, 32},
32771 },
32772 },
32773 },
32774 {
32775 name: "FADDS",
32776 argLen: 2,
32777 commutative: true,
32778 asm: riscv.AFADDS,
32779 reg: regInfo{
32780 inputs: []inputInfo{
32781 {0, 9223372034707292160},
32782 {1, 9223372034707292160},
32783 },
32784 outputs: []outputInfo{
32785 {0, 9223372034707292160},
32786 },
32787 },
32788 },
32789 {
32790 name: "FSUBS",
32791 argLen: 2,
32792 asm: riscv.AFSUBS,
32793 reg: regInfo{
32794 inputs: []inputInfo{
32795 {0, 9223372034707292160},
32796 {1, 9223372034707292160},
32797 },
32798 outputs: []outputInfo{
32799 {0, 9223372034707292160},
32800 },
32801 },
32802 },
32803 {
32804 name: "FMULS",
32805 argLen: 2,
32806 commutative: true,
32807 asm: riscv.AFMULS,
32808 reg: regInfo{
32809 inputs: []inputInfo{
32810 {0, 9223372034707292160},
32811 {1, 9223372034707292160},
32812 },
32813 outputs: []outputInfo{
32814 {0, 9223372034707292160},
32815 },
32816 },
32817 },
32818 {
32819 name: "FDIVS",
32820 argLen: 2,
32821 asm: riscv.AFDIVS,
32822 reg: regInfo{
32823 inputs: []inputInfo{
32824 {0, 9223372034707292160},
32825 {1, 9223372034707292160},
32826 },
32827 outputs: []outputInfo{
32828 {0, 9223372034707292160},
32829 },
32830 },
32831 },
32832 {
32833 name: "FMADDS",
32834 argLen: 3,
32835 commutative: true,
32836 asm: riscv.AFMADDS,
32837 reg: regInfo{
32838 inputs: []inputInfo{
32839 {0, 9223372034707292160},
32840 {1, 9223372034707292160},
32841 {2, 9223372034707292160},
32842 },
32843 outputs: []outputInfo{
32844 {0, 9223372034707292160},
32845 },
32846 },
32847 },
32848 {
32849 name: "FMSUBS",
32850 argLen: 3,
32851 commutative: true,
32852 asm: riscv.AFMSUBS,
32853 reg: regInfo{
32854 inputs: []inputInfo{
32855 {0, 9223372034707292160},
32856 {1, 9223372034707292160},
32857 {2, 9223372034707292160},
32858 },
32859 outputs: []outputInfo{
32860 {0, 9223372034707292160},
32861 },
32862 },
32863 },
32864 {
32865 name: "FNMADDS",
32866 argLen: 3,
32867 commutative: true,
32868 asm: riscv.AFNMADDS,
32869 reg: regInfo{
32870 inputs: []inputInfo{
32871 {0, 9223372034707292160},
32872 {1, 9223372034707292160},
32873 {2, 9223372034707292160},
32874 },
32875 outputs: []outputInfo{
32876 {0, 9223372034707292160},
32877 },
32878 },
32879 },
32880 {
32881 name: "FNMSUBS",
32882 argLen: 3,
32883 commutative: true,
32884 asm: riscv.AFNMSUBS,
32885 reg: regInfo{
32886 inputs: []inputInfo{
32887 {0, 9223372034707292160},
32888 {1, 9223372034707292160},
32889 {2, 9223372034707292160},
32890 },
32891 outputs: []outputInfo{
32892 {0, 9223372034707292160},
32893 },
32894 },
32895 },
32896 {
32897 name: "FSQRTS",
32898 argLen: 1,
32899 asm: riscv.AFSQRTS,
32900 reg: regInfo{
32901 inputs: []inputInfo{
32902 {0, 9223372034707292160},
32903 },
32904 outputs: []outputInfo{
32905 {0, 9223372034707292160},
32906 },
32907 },
32908 },
32909 {
32910 name: "FNEGS",
32911 argLen: 1,
32912 asm: riscv.AFNEGS,
32913 reg: regInfo{
32914 inputs: []inputInfo{
32915 {0, 9223372034707292160},
32916 },
32917 outputs: []outputInfo{
32918 {0, 9223372034707292160},
32919 },
32920 },
32921 },
32922 {
32923 name: "FMVSX",
32924 argLen: 1,
32925 asm: riscv.AFMVSX,
32926 reg: regInfo{
32927 inputs: []inputInfo{
32928 {0, 1006632944},
32929 },
32930 outputs: []outputInfo{
32931 {0, 9223372034707292160},
32932 },
32933 },
32934 },
32935 {
32936 name: "FCVTSW",
32937 argLen: 1,
32938 asm: riscv.AFCVTSW,
32939 reg: regInfo{
32940 inputs: []inputInfo{
32941 {0, 1006632944},
32942 },
32943 outputs: []outputInfo{
32944 {0, 9223372034707292160},
32945 },
32946 },
32947 },
32948 {
32949 name: "FCVTSL",
32950 argLen: 1,
32951 asm: riscv.AFCVTSL,
32952 reg: regInfo{
32953 inputs: []inputInfo{
32954 {0, 1006632944},
32955 },
32956 outputs: []outputInfo{
32957 {0, 9223372034707292160},
32958 },
32959 },
32960 },
32961 {
32962 name: "FCVTWS",
32963 argLen: 1,
32964 asm: riscv.AFCVTWS,
32965 reg: regInfo{
32966 inputs: []inputInfo{
32967 {0, 9223372034707292160},
32968 },
32969 outputs: []outputInfo{
32970 {0, 1006632944},
32971 },
32972 },
32973 },
32974 {
32975 name: "FCVTLS",
32976 argLen: 1,
32977 asm: riscv.AFCVTLS,
32978 reg: regInfo{
32979 inputs: []inputInfo{
32980 {0, 9223372034707292160},
32981 },
32982 outputs: []outputInfo{
32983 {0, 1006632944},
32984 },
32985 },
32986 },
32987 {
32988 name: "FMOVWload",
32989 auxType: auxSymOff,
32990 argLen: 2,
32991 faultOnNilArg0: true,
32992 symEffect: SymRead,
32993 asm: riscv.AMOVF,
32994 reg: regInfo{
32995 inputs: []inputInfo{
32996 {0, 9223372037861408754},
32997 },
32998 outputs: []outputInfo{
32999 {0, 9223372034707292160},
33000 },
33001 },
33002 },
33003 {
33004 name: "FMOVWstore",
33005 auxType: auxSymOff,
33006 argLen: 3,
33007 faultOnNilArg0: true,
33008 symEffect: SymWrite,
33009 asm: riscv.AMOVF,
33010 reg: regInfo{
33011 inputs: []inputInfo{
33012 {0, 9223372037861408754},
33013 {1, 9223372034707292160},
33014 },
33015 },
33016 },
33017 {
33018 name: "FEQS",
33019 argLen: 2,
33020 commutative: true,
33021 asm: riscv.AFEQS,
33022 reg: regInfo{
33023 inputs: []inputInfo{
33024 {0, 9223372034707292160},
33025 {1, 9223372034707292160},
33026 },
33027 outputs: []outputInfo{
33028 {0, 1006632944},
33029 },
33030 },
33031 },
33032 {
33033 name: "FNES",
33034 argLen: 2,
33035 commutative: true,
33036 asm: riscv.AFNES,
33037 reg: regInfo{
33038 inputs: []inputInfo{
33039 {0, 9223372034707292160},
33040 {1, 9223372034707292160},
33041 },
33042 outputs: []outputInfo{
33043 {0, 1006632944},
33044 },
33045 },
33046 },
33047 {
33048 name: "FLTS",
33049 argLen: 2,
33050 asm: riscv.AFLTS,
33051 reg: regInfo{
33052 inputs: []inputInfo{
33053 {0, 9223372034707292160},
33054 {1, 9223372034707292160},
33055 },
33056 outputs: []outputInfo{
33057 {0, 1006632944},
33058 },
33059 },
33060 },
33061 {
33062 name: "FLES",
33063 argLen: 2,
33064 asm: riscv.AFLES,
33065 reg: regInfo{
33066 inputs: []inputInfo{
33067 {0, 9223372034707292160},
33068 {1, 9223372034707292160},
33069 },
33070 outputs: []outputInfo{
33071 {0, 1006632944},
33072 },
33073 },
33074 },
33075 {
33076 name: "FADDD",
33077 argLen: 2,
33078 commutative: true,
33079 asm: riscv.AFADDD,
33080 reg: regInfo{
33081 inputs: []inputInfo{
33082 {0, 9223372034707292160},
33083 {1, 9223372034707292160},
33084 },
33085 outputs: []outputInfo{
33086 {0, 9223372034707292160},
33087 },
33088 },
33089 },
33090 {
33091 name: "FSUBD",
33092 argLen: 2,
33093 asm: riscv.AFSUBD,
33094 reg: regInfo{
33095 inputs: []inputInfo{
33096 {0, 9223372034707292160},
33097 {1, 9223372034707292160},
33098 },
33099 outputs: []outputInfo{
33100 {0, 9223372034707292160},
33101 },
33102 },
33103 },
33104 {
33105 name: "FMULD",
33106 argLen: 2,
33107 commutative: true,
33108 asm: riscv.AFMULD,
33109 reg: regInfo{
33110 inputs: []inputInfo{
33111 {0, 9223372034707292160},
33112 {1, 9223372034707292160},
33113 },
33114 outputs: []outputInfo{
33115 {0, 9223372034707292160},
33116 },
33117 },
33118 },
33119 {
33120 name: "FDIVD",
33121 argLen: 2,
33122 asm: riscv.AFDIVD,
33123 reg: regInfo{
33124 inputs: []inputInfo{
33125 {0, 9223372034707292160},
33126 {1, 9223372034707292160},
33127 },
33128 outputs: []outputInfo{
33129 {0, 9223372034707292160},
33130 },
33131 },
33132 },
33133 {
33134 name: "FMADDD",
33135 argLen: 3,
33136 commutative: true,
33137 asm: riscv.AFMADDD,
33138 reg: regInfo{
33139 inputs: []inputInfo{
33140 {0, 9223372034707292160},
33141 {1, 9223372034707292160},
33142 {2, 9223372034707292160},
33143 },
33144 outputs: []outputInfo{
33145 {0, 9223372034707292160},
33146 },
33147 },
33148 },
33149 {
33150 name: "FMSUBD",
33151 argLen: 3,
33152 commutative: true,
33153 asm: riscv.AFMSUBD,
33154 reg: regInfo{
33155 inputs: []inputInfo{
33156 {0, 9223372034707292160},
33157 {1, 9223372034707292160},
33158 {2, 9223372034707292160},
33159 },
33160 outputs: []outputInfo{
33161 {0, 9223372034707292160},
33162 },
33163 },
33164 },
33165 {
33166 name: "FNMADDD",
33167 argLen: 3,
33168 commutative: true,
33169 asm: riscv.AFNMADDD,
33170 reg: regInfo{
33171 inputs: []inputInfo{
33172 {0, 9223372034707292160},
33173 {1, 9223372034707292160},
33174 {2, 9223372034707292160},
33175 },
33176 outputs: []outputInfo{
33177 {0, 9223372034707292160},
33178 },
33179 },
33180 },
33181 {
33182 name: "FNMSUBD",
33183 argLen: 3,
33184 commutative: true,
33185 asm: riscv.AFNMSUBD,
33186 reg: regInfo{
33187 inputs: []inputInfo{
33188 {0, 9223372034707292160},
33189 {1, 9223372034707292160},
33190 {2, 9223372034707292160},
33191 },
33192 outputs: []outputInfo{
33193 {0, 9223372034707292160},
33194 },
33195 },
33196 },
33197 {
33198 name: "FSQRTD",
33199 argLen: 1,
33200 asm: riscv.AFSQRTD,
33201 reg: regInfo{
33202 inputs: []inputInfo{
33203 {0, 9223372034707292160},
33204 },
33205 outputs: []outputInfo{
33206 {0, 9223372034707292160},
33207 },
33208 },
33209 },
33210 {
33211 name: "FNEGD",
33212 argLen: 1,
33213 asm: riscv.AFNEGD,
33214 reg: regInfo{
33215 inputs: []inputInfo{
33216 {0, 9223372034707292160},
33217 },
33218 outputs: []outputInfo{
33219 {0, 9223372034707292160},
33220 },
33221 },
33222 },
33223 {
33224 name: "FABSD",
33225 argLen: 1,
33226 asm: riscv.AFABSD,
33227 reg: regInfo{
33228 inputs: []inputInfo{
33229 {0, 9223372034707292160},
33230 },
33231 outputs: []outputInfo{
33232 {0, 9223372034707292160},
33233 },
33234 },
33235 },
33236 {
33237 name: "FSGNJD",
33238 argLen: 2,
33239 asm: riscv.AFSGNJD,
33240 reg: regInfo{
33241 inputs: []inputInfo{
33242 {0, 9223372034707292160},
33243 {1, 9223372034707292160},
33244 },
33245 outputs: []outputInfo{
33246 {0, 9223372034707292160},
33247 },
33248 },
33249 },
33250 {
33251 name: "FMVDX",
33252 argLen: 1,
33253 asm: riscv.AFMVDX,
33254 reg: regInfo{
33255 inputs: []inputInfo{
33256 {0, 1006632944},
33257 },
33258 outputs: []outputInfo{
33259 {0, 9223372034707292160},
33260 },
33261 },
33262 },
33263 {
33264 name: "FCVTDW",
33265 argLen: 1,
33266 asm: riscv.AFCVTDW,
33267 reg: regInfo{
33268 inputs: []inputInfo{
33269 {0, 1006632944},
33270 },
33271 outputs: []outputInfo{
33272 {0, 9223372034707292160},
33273 },
33274 },
33275 },
33276 {
33277 name: "FCVTDL",
33278 argLen: 1,
33279 asm: riscv.AFCVTDL,
33280 reg: regInfo{
33281 inputs: []inputInfo{
33282 {0, 1006632944},
33283 },
33284 outputs: []outputInfo{
33285 {0, 9223372034707292160},
33286 },
33287 },
33288 },
33289 {
33290 name: "FCVTWD",
33291 argLen: 1,
33292 asm: riscv.AFCVTWD,
33293 reg: regInfo{
33294 inputs: []inputInfo{
33295 {0, 9223372034707292160},
33296 },
33297 outputs: []outputInfo{
33298 {0, 1006632944},
33299 },
33300 },
33301 },
33302 {
33303 name: "FCVTLD",
33304 argLen: 1,
33305 asm: riscv.AFCVTLD,
33306 reg: regInfo{
33307 inputs: []inputInfo{
33308 {0, 9223372034707292160},
33309 },
33310 outputs: []outputInfo{
33311 {0, 1006632944},
33312 },
33313 },
33314 },
33315 {
33316 name: "FCVTDS",
33317 argLen: 1,
33318 asm: riscv.AFCVTDS,
33319 reg: regInfo{
33320 inputs: []inputInfo{
33321 {0, 9223372034707292160},
33322 },
33323 outputs: []outputInfo{
33324 {0, 9223372034707292160},
33325 },
33326 },
33327 },
33328 {
33329 name: "FCVTSD",
33330 argLen: 1,
33331 asm: riscv.AFCVTSD,
33332 reg: regInfo{
33333 inputs: []inputInfo{
33334 {0, 9223372034707292160},
33335 },
33336 outputs: []outputInfo{
33337 {0, 9223372034707292160},
33338 },
33339 },
33340 },
33341 {
33342 name: "FMOVDload",
33343 auxType: auxSymOff,
33344 argLen: 2,
33345 faultOnNilArg0: true,
33346 symEffect: SymRead,
33347 asm: riscv.AMOVD,
33348 reg: regInfo{
33349 inputs: []inputInfo{
33350 {0, 9223372037861408754},
33351 },
33352 outputs: []outputInfo{
33353 {0, 9223372034707292160},
33354 },
33355 },
33356 },
33357 {
33358 name: "FMOVDstore",
33359 auxType: auxSymOff,
33360 argLen: 3,
33361 faultOnNilArg0: true,
33362 symEffect: SymWrite,
33363 asm: riscv.AMOVD,
33364 reg: regInfo{
33365 inputs: []inputInfo{
33366 {0, 9223372037861408754},
33367 {1, 9223372034707292160},
33368 },
33369 },
33370 },
33371 {
33372 name: "FEQD",
33373 argLen: 2,
33374 commutative: true,
33375 asm: riscv.AFEQD,
33376 reg: regInfo{
33377 inputs: []inputInfo{
33378 {0, 9223372034707292160},
33379 {1, 9223372034707292160},
33380 },
33381 outputs: []outputInfo{
33382 {0, 1006632944},
33383 },
33384 },
33385 },
33386 {
33387 name: "FNED",
33388 argLen: 2,
33389 commutative: true,
33390 asm: riscv.AFNED,
33391 reg: regInfo{
33392 inputs: []inputInfo{
33393 {0, 9223372034707292160},
33394 {1, 9223372034707292160},
33395 },
33396 outputs: []outputInfo{
33397 {0, 1006632944},
33398 },
33399 },
33400 },
33401 {
33402 name: "FLTD",
33403 argLen: 2,
33404 asm: riscv.AFLTD,
33405 reg: regInfo{
33406 inputs: []inputInfo{
33407 {0, 9223372034707292160},
33408 {1, 9223372034707292160},
33409 },
33410 outputs: []outputInfo{
33411 {0, 1006632944},
33412 },
33413 },
33414 },
33415 {
33416 name: "FLED",
33417 argLen: 2,
33418 asm: riscv.AFLED,
33419 reg: regInfo{
33420 inputs: []inputInfo{
33421 {0, 9223372034707292160},
33422 {1, 9223372034707292160},
33423 },
33424 outputs: []outputInfo{
33425 {0, 1006632944},
33426 },
33427 },
33428 },
33429
33430 {
33431 name: "FADDS",
33432 argLen: 2,
33433 commutative: true,
33434 resultInArg0: true,
33435 asm: s390x.AFADDS,
33436 reg: regInfo{
33437 inputs: []inputInfo{
33438 {0, 4294901760},
33439 {1, 4294901760},
33440 },
33441 outputs: []outputInfo{
33442 {0, 4294901760},
33443 },
33444 },
33445 },
33446 {
33447 name: "FADD",
33448 argLen: 2,
33449 commutative: true,
33450 resultInArg0: true,
33451 asm: s390x.AFADD,
33452 reg: regInfo{
33453 inputs: []inputInfo{
33454 {0, 4294901760},
33455 {1, 4294901760},
33456 },
33457 outputs: []outputInfo{
33458 {0, 4294901760},
33459 },
33460 },
33461 },
33462 {
33463 name: "FSUBS",
33464 argLen: 2,
33465 resultInArg0: true,
33466 asm: s390x.AFSUBS,
33467 reg: regInfo{
33468 inputs: []inputInfo{
33469 {0, 4294901760},
33470 {1, 4294901760},
33471 },
33472 outputs: []outputInfo{
33473 {0, 4294901760},
33474 },
33475 },
33476 },
33477 {
33478 name: "FSUB",
33479 argLen: 2,
33480 resultInArg0: true,
33481 asm: s390x.AFSUB,
33482 reg: regInfo{
33483 inputs: []inputInfo{
33484 {0, 4294901760},
33485 {1, 4294901760},
33486 },
33487 outputs: []outputInfo{
33488 {0, 4294901760},
33489 },
33490 },
33491 },
33492 {
33493 name: "FMULS",
33494 argLen: 2,
33495 commutative: true,
33496 resultInArg0: true,
33497 asm: s390x.AFMULS,
33498 reg: regInfo{
33499 inputs: []inputInfo{
33500 {0, 4294901760},
33501 {1, 4294901760},
33502 },
33503 outputs: []outputInfo{
33504 {0, 4294901760},
33505 },
33506 },
33507 },
33508 {
33509 name: "FMUL",
33510 argLen: 2,
33511 commutative: true,
33512 resultInArg0: true,
33513 asm: s390x.AFMUL,
33514 reg: regInfo{
33515 inputs: []inputInfo{
33516 {0, 4294901760},
33517 {1, 4294901760},
33518 },
33519 outputs: []outputInfo{
33520 {0, 4294901760},
33521 },
33522 },
33523 },
33524 {
33525 name: "FDIVS",
33526 argLen: 2,
33527 resultInArg0: true,
33528 asm: s390x.AFDIVS,
33529 reg: regInfo{
33530 inputs: []inputInfo{
33531 {0, 4294901760},
33532 {1, 4294901760},
33533 },
33534 outputs: []outputInfo{
33535 {0, 4294901760},
33536 },
33537 },
33538 },
33539 {
33540 name: "FDIV",
33541 argLen: 2,
33542 resultInArg0: true,
33543 asm: s390x.AFDIV,
33544 reg: regInfo{
33545 inputs: []inputInfo{
33546 {0, 4294901760},
33547 {1, 4294901760},
33548 },
33549 outputs: []outputInfo{
33550 {0, 4294901760},
33551 },
33552 },
33553 },
33554 {
33555 name: "FNEGS",
33556 argLen: 1,
33557 clobberFlags: true,
33558 asm: s390x.AFNEGS,
33559 reg: regInfo{
33560 inputs: []inputInfo{
33561 {0, 4294901760},
33562 },
33563 outputs: []outputInfo{
33564 {0, 4294901760},
33565 },
33566 },
33567 },
33568 {
33569 name: "FNEG",
33570 argLen: 1,
33571 clobberFlags: true,
33572 asm: s390x.AFNEG,
33573 reg: regInfo{
33574 inputs: []inputInfo{
33575 {0, 4294901760},
33576 },
33577 outputs: []outputInfo{
33578 {0, 4294901760},
33579 },
33580 },
33581 },
33582 {
33583 name: "FMADDS",
33584 argLen: 3,
33585 resultInArg0: true,
33586 asm: s390x.AFMADDS,
33587 reg: regInfo{
33588 inputs: []inputInfo{
33589 {0, 4294901760},
33590 {1, 4294901760},
33591 {2, 4294901760},
33592 },
33593 outputs: []outputInfo{
33594 {0, 4294901760},
33595 },
33596 },
33597 },
33598 {
33599 name: "FMADD",
33600 argLen: 3,
33601 resultInArg0: true,
33602 asm: s390x.AFMADD,
33603 reg: regInfo{
33604 inputs: []inputInfo{
33605 {0, 4294901760},
33606 {1, 4294901760},
33607 {2, 4294901760},
33608 },
33609 outputs: []outputInfo{
33610 {0, 4294901760},
33611 },
33612 },
33613 },
33614 {
33615 name: "FMSUBS",
33616 argLen: 3,
33617 resultInArg0: true,
33618 asm: s390x.AFMSUBS,
33619 reg: regInfo{
33620 inputs: []inputInfo{
33621 {0, 4294901760},
33622 {1, 4294901760},
33623 {2, 4294901760},
33624 },
33625 outputs: []outputInfo{
33626 {0, 4294901760},
33627 },
33628 },
33629 },
33630 {
33631 name: "FMSUB",
33632 argLen: 3,
33633 resultInArg0: true,
33634 asm: s390x.AFMSUB,
33635 reg: regInfo{
33636 inputs: []inputInfo{
33637 {0, 4294901760},
33638 {1, 4294901760},
33639 {2, 4294901760},
33640 },
33641 outputs: []outputInfo{
33642 {0, 4294901760},
33643 },
33644 },
33645 },
33646 {
33647 name: "LPDFR",
33648 argLen: 1,
33649 asm: s390x.ALPDFR,
33650 reg: regInfo{
33651 inputs: []inputInfo{
33652 {0, 4294901760},
33653 },
33654 outputs: []outputInfo{
33655 {0, 4294901760},
33656 },
33657 },
33658 },
33659 {
33660 name: "LNDFR",
33661 argLen: 1,
33662 asm: s390x.ALNDFR,
33663 reg: regInfo{
33664 inputs: []inputInfo{
33665 {0, 4294901760},
33666 },
33667 outputs: []outputInfo{
33668 {0, 4294901760},
33669 },
33670 },
33671 },
33672 {
33673 name: "CPSDR",
33674 argLen: 2,
33675 asm: s390x.ACPSDR,
33676 reg: regInfo{
33677 inputs: []inputInfo{
33678 {0, 4294901760},
33679 {1, 4294901760},
33680 },
33681 outputs: []outputInfo{
33682 {0, 4294901760},
33683 },
33684 },
33685 },
33686 {
33687 name: "FIDBR",
33688 auxType: auxInt8,
33689 argLen: 1,
33690 asm: s390x.AFIDBR,
33691 reg: regInfo{
33692 inputs: []inputInfo{
33693 {0, 4294901760},
33694 },
33695 outputs: []outputInfo{
33696 {0, 4294901760},
33697 },
33698 },
33699 },
33700 {
33701 name: "FMOVSload",
33702 auxType: auxSymOff,
33703 argLen: 2,
33704 faultOnNilArg0: true,
33705 symEffect: SymRead,
33706 asm: s390x.AFMOVS,
33707 reg: regInfo{
33708 inputs: []inputInfo{
33709 {0, 4295023614},
33710 },
33711 outputs: []outputInfo{
33712 {0, 4294901760},
33713 },
33714 },
33715 },
33716 {
33717 name: "FMOVDload",
33718 auxType: auxSymOff,
33719 argLen: 2,
33720 faultOnNilArg0: true,
33721 symEffect: SymRead,
33722 asm: s390x.AFMOVD,
33723 reg: regInfo{
33724 inputs: []inputInfo{
33725 {0, 4295023614},
33726 },
33727 outputs: []outputInfo{
33728 {0, 4294901760},
33729 },
33730 },
33731 },
33732 {
33733 name: "FMOVSconst",
33734 auxType: auxFloat32,
33735 argLen: 0,
33736 rematerializeable: true,
33737 asm: s390x.AFMOVS,
33738 reg: regInfo{
33739 outputs: []outputInfo{
33740 {0, 4294901760},
33741 },
33742 },
33743 },
33744 {
33745 name: "FMOVDconst",
33746 auxType: auxFloat64,
33747 argLen: 0,
33748 rematerializeable: true,
33749 asm: s390x.AFMOVD,
33750 reg: regInfo{
33751 outputs: []outputInfo{
33752 {0, 4294901760},
33753 },
33754 },
33755 },
33756 {
33757 name: "FMOVSloadidx",
33758 auxType: auxSymOff,
33759 argLen: 3,
33760 symEffect: SymRead,
33761 asm: s390x.AFMOVS,
33762 reg: regInfo{
33763 inputs: []inputInfo{
33764 {0, 56318},
33765 {1, 56318},
33766 },
33767 outputs: []outputInfo{
33768 {0, 4294901760},
33769 },
33770 },
33771 },
33772 {
33773 name: "FMOVDloadidx",
33774 auxType: auxSymOff,
33775 argLen: 3,
33776 symEffect: SymRead,
33777 asm: s390x.AFMOVD,
33778 reg: regInfo{
33779 inputs: []inputInfo{
33780 {0, 56318},
33781 {1, 56318},
33782 },
33783 outputs: []outputInfo{
33784 {0, 4294901760},
33785 },
33786 },
33787 },
33788 {
33789 name: "FMOVSstore",
33790 auxType: auxSymOff,
33791 argLen: 3,
33792 faultOnNilArg0: true,
33793 symEffect: SymWrite,
33794 asm: s390x.AFMOVS,
33795 reg: regInfo{
33796 inputs: []inputInfo{
33797 {0, 4295023614},
33798 {1, 4294901760},
33799 },
33800 },
33801 },
33802 {
33803 name: "FMOVDstore",
33804 auxType: auxSymOff,
33805 argLen: 3,
33806 faultOnNilArg0: true,
33807 symEffect: SymWrite,
33808 asm: s390x.AFMOVD,
33809 reg: regInfo{
33810 inputs: []inputInfo{
33811 {0, 4295023614},
33812 {1, 4294901760},
33813 },
33814 },
33815 },
33816 {
33817 name: "FMOVSstoreidx",
33818 auxType: auxSymOff,
33819 argLen: 4,
33820 symEffect: SymWrite,
33821 asm: s390x.AFMOVS,
33822 reg: regInfo{
33823 inputs: []inputInfo{
33824 {0, 56318},
33825 {1, 56318},
33826 {2, 4294901760},
33827 },
33828 },
33829 },
33830 {
33831 name: "FMOVDstoreidx",
33832 auxType: auxSymOff,
33833 argLen: 4,
33834 symEffect: SymWrite,
33835 asm: s390x.AFMOVD,
33836 reg: regInfo{
33837 inputs: []inputInfo{
33838 {0, 56318},
33839 {1, 56318},
33840 {2, 4294901760},
33841 },
33842 },
33843 },
33844 {
33845 name: "ADD",
33846 argLen: 2,
33847 commutative: true,
33848 clobberFlags: true,
33849 asm: s390x.AADD,
33850 reg: regInfo{
33851 inputs: []inputInfo{
33852 {1, 23551},
33853 {0, 56319},
33854 },
33855 outputs: []outputInfo{
33856 {0, 23551},
33857 },
33858 },
33859 },
33860 {
33861 name: "ADDW",
33862 argLen: 2,
33863 commutative: true,
33864 clobberFlags: true,
33865 asm: s390x.AADDW,
33866 reg: regInfo{
33867 inputs: []inputInfo{
33868 {1, 23551},
33869 {0, 56319},
33870 },
33871 outputs: []outputInfo{
33872 {0, 23551},
33873 },
33874 },
33875 },
33876 {
33877 name: "ADDconst",
33878 auxType: auxInt32,
33879 argLen: 1,
33880 clobberFlags: true,
33881 asm: s390x.AADD,
33882 reg: regInfo{
33883 inputs: []inputInfo{
33884 {0, 56319},
33885 },
33886 outputs: []outputInfo{
33887 {0, 23551},
33888 },
33889 },
33890 },
33891 {
33892 name: "ADDWconst",
33893 auxType: auxInt32,
33894 argLen: 1,
33895 clobberFlags: true,
33896 asm: s390x.AADDW,
33897 reg: regInfo{
33898 inputs: []inputInfo{
33899 {0, 56319},
33900 },
33901 outputs: []outputInfo{
33902 {0, 23551},
33903 },
33904 },
33905 },
33906 {
33907 name: "ADDload",
33908 auxType: auxSymOff,
33909 argLen: 3,
33910 resultInArg0: true,
33911 clobberFlags: true,
33912 faultOnNilArg1: true,
33913 symEffect: SymRead,
33914 asm: s390x.AADD,
33915 reg: regInfo{
33916 inputs: []inputInfo{
33917 {0, 23551},
33918 {1, 56318},
33919 },
33920 outputs: []outputInfo{
33921 {0, 23551},
33922 },
33923 },
33924 },
33925 {
33926 name: "ADDWload",
33927 auxType: auxSymOff,
33928 argLen: 3,
33929 resultInArg0: true,
33930 clobberFlags: true,
33931 faultOnNilArg1: true,
33932 symEffect: SymRead,
33933 asm: s390x.AADDW,
33934 reg: regInfo{
33935 inputs: []inputInfo{
33936 {0, 23551},
33937 {1, 56318},
33938 },
33939 outputs: []outputInfo{
33940 {0, 23551},
33941 },
33942 },
33943 },
33944 {
33945 name: "SUB",
33946 argLen: 2,
33947 clobberFlags: true,
33948 asm: s390x.ASUB,
33949 reg: regInfo{
33950 inputs: []inputInfo{
33951 {0, 23551},
33952 {1, 23551},
33953 },
33954 outputs: []outputInfo{
33955 {0, 23551},
33956 },
33957 },
33958 },
33959 {
33960 name: "SUBW",
33961 argLen: 2,
33962 clobberFlags: true,
33963 asm: s390x.ASUBW,
33964 reg: regInfo{
33965 inputs: []inputInfo{
33966 {0, 23551},
33967 {1, 23551},
33968 },
33969 outputs: []outputInfo{
33970 {0, 23551},
33971 },
33972 },
33973 },
33974 {
33975 name: "SUBconst",
33976 auxType: auxInt32,
33977 argLen: 1,
33978 resultInArg0: true,
33979 clobberFlags: true,
33980 asm: s390x.ASUB,
33981 reg: regInfo{
33982 inputs: []inputInfo{
33983 {0, 23551},
33984 },
33985 outputs: []outputInfo{
33986 {0, 23551},
33987 },
33988 },
33989 },
33990 {
33991 name: "SUBWconst",
33992 auxType: auxInt32,
33993 argLen: 1,
33994 resultInArg0: true,
33995 clobberFlags: true,
33996 asm: s390x.ASUBW,
33997 reg: regInfo{
33998 inputs: []inputInfo{
33999 {0, 23551},
34000 },
34001 outputs: []outputInfo{
34002 {0, 23551},
34003 },
34004 },
34005 },
34006 {
34007 name: "SUBload",
34008 auxType: auxSymOff,
34009 argLen: 3,
34010 resultInArg0: true,
34011 clobberFlags: true,
34012 faultOnNilArg1: true,
34013 symEffect: SymRead,
34014 asm: s390x.ASUB,
34015 reg: regInfo{
34016 inputs: []inputInfo{
34017 {0, 23551},
34018 {1, 56318},
34019 },
34020 outputs: []outputInfo{
34021 {0, 23551},
34022 },
34023 },
34024 },
34025 {
34026 name: "SUBWload",
34027 auxType: auxSymOff,
34028 argLen: 3,
34029 resultInArg0: true,
34030 clobberFlags: true,
34031 faultOnNilArg1: true,
34032 symEffect: SymRead,
34033 asm: s390x.ASUBW,
34034 reg: regInfo{
34035 inputs: []inputInfo{
34036 {0, 23551},
34037 {1, 56318},
34038 },
34039 outputs: []outputInfo{
34040 {0, 23551},
34041 },
34042 },
34043 },
34044 {
34045 name: "MULLD",
34046 argLen: 2,
34047 commutative: true,
34048 resultInArg0: true,
34049 clobberFlags: true,
34050 asm: s390x.AMULLD,
34051 reg: regInfo{
34052 inputs: []inputInfo{
34053 {0, 23551},
34054 {1, 23551},
34055 },
34056 outputs: []outputInfo{
34057 {0, 23551},
34058 },
34059 },
34060 },
34061 {
34062 name: "MULLW",
34063 argLen: 2,
34064 commutative: true,
34065 resultInArg0: true,
34066 clobberFlags: true,
34067 asm: s390x.AMULLW,
34068 reg: regInfo{
34069 inputs: []inputInfo{
34070 {0, 23551},
34071 {1, 23551},
34072 },
34073 outputs: []outputInfo{
34074 {0, 23551},
34075 },
34076 },
34077 },
34078 {
34079 name: "MULLDconst",
34080 auxType: auxInt32,
34081 argLen: 1,
34082 resultInArg0: true,
34083 clobberFlags: true,
34084 asm: s390x.AMULLD,
34085 reg: regInfo{
34086 inputs: []inputInfo{
34087 {0, 23551},
34088 },
34089 outputs: []outputInfo{
34090 {0, 23551},
34091 },
34092 },
34093 },
34094 {
34095 name: "MULLWconst",
34096 auxType: auxInt32,
34097 argLen: 1,
34098 resultInArg0: true,
34099 clobberFlags: true,
34100 asm: s390x.AMULLW,
34101 reg: regInfo{
34102 inputs: []inputInfo{
34103 {0, 23551},
34104 },
34105 outputs: []outputInfo{
34106 {0, 23551},
34107 },
34108 },
34109 },
34110 {
34111 name: "MULLDload",
34112 auxType: auxSymOff,
34113 argLen: 3,
34114 resultInArg0: true,
34115 clobberFlags: true,
34116 faultOnNilArg1: true,
34117 symEffect: SymRead,
34118 asm: s390x.AMULLD,
34119 reg: regInfo{
34120 inputs: []inputInfo{
34121 {0, 23551},
34122 {1, 56318},
34123 },
34124 outputs: []outputInfo{
34125 {0, 23551},
34126 },
34127 },
34128 },
34129 {
34130 name: "MULLWload",
34131 auxType: auxSymOff,
34132 argLen: 3,
34133 resultInArg0: true,
34134 clobberFlags: true,
34135 faultOnNilArg1: true,
34136 symEffect: SymRead,
34137 asm: s390x.AMULLW,
34138 reg: regInfo{
34139 inputs: []inputInfo{
34140 {0, 23551},
34141 {1, 56318},
34142 },
34143 outputs: []outputInfo{
34144 {0, 23551},
34145 },
34146 },
34147 },
34148 {
34149 name: "MULHD",
34150 argLen: 2,
34151 commutative: true,
34152 resultInArg0: true,
34153 clobberFlags: true,
34154 asm: s390x.AMULHD,
34155 reg: regInfo{
34156 inputs: []inputInfo{
34157 {0, 21503},
34158 {1, 21503},
34159 },
34160 clobbers: 2048,
34161 outputs: []outputInfo{
34162 {0, 21503},
34163 },
34164 },
34165 },
34166 {
34167 name: "MULHDU",
34168 argLen: 2,
34169 commutative: true,
34170 resultInArg0: true,
34171 clobberFlags: true,
34172 asm: s390x.AMULHDU,
34173 reg: regInfo{
34174 inputs: []inputInfo{
34175 {0, 21503},
34176 {1, 21503},
34177 },
34178 clobbers: 2048,
34179 outputs: []outputInfo{
34180 {0, 21503},
34181 },
34182 },
34183 },
34184 {
34185 name: "DIVD",
34186 argLen: 2,
34187 resultInArg0: true,
34188 clobberFlags: true,
34189 asm: s390x.ADIVD,
34190 reg: regInfo{
34191 inputs: []inputInfo{
34192 {0, 21503},
34193 {1, 21503},
34194 },
34195 clobbers: 2048,
34196 outputs: []outputInfo{
34197 {0, 21503},
34198 },
34199 },
34200 },
34201 {
34202 name: "DIVW",
34203 argLen: 2,
34204 resultInArg0: true,
34205 clobberFlags: true,
34206 asm: s390x.ADIVW,
34207 reg: regInfo{
34208 inputs: []inputInfo{
34209 {0, 21503},
34210 {1, 21503},
34211 },
34212 clobbers: 2048,
34213 outputs: []outputInfo{
34214 {0, 21503},
34215 },
34216 },
34217 },
34218 {
34219 name: "DIVDU",
34220 argLen: 2,
34221 resultInArg0: true,
34222 clobberFlags: true,
34223 asm: s390x.ADIVDU,
34224 reg: regInfo{
34225 inputs: []inputInfo{
34226 {0, 21503},
34227 {1, 21503},
34228 },
34229 clobbers: 2048,
34230 outputs: []outputInfo{
34231 {0, 21503},
34232 },
34233 },
34234 },
34235 {
34236 name: "DIVWU",
34237 argLen: 2,
34238 resultInArg0: true,
34239 clobberFlags: true,
34240 asm: s390x.ADIVWU,
34241 reg: regInfo{
34242 inputs: []inputInfo{
34243 {0, 21503},
34244 {1, 21503},
34245 },
34246 clobbers: 2048,
34247 outputs: []outputInfo{
34248 {0, 21503},
34249 },
34250 },
34251 },
34252 {
34253 name: "MODD",
34254 argLen: 2,
34255 resultInArg0: true,
34256 clobberFlags: true,
34257 asm: s390x.AMODD,
34258 reg: regInfo{
34259 inputs: []inputInfo{
34260 {0, 21503},
34261 {1, 21503},
34262 },
34263 clobbers: 2048,
34264 outputs: []outputInfo{
34265 {0, 21503},
34266 },
34267 },
34268 },
34269 {
34270 name: "MODW",
34271 argLen: 2,
34272 resultInArg0: true,
34273 clobberFlags: true,
34274 asm: s390x.AMODW,
34275 reg: regInfo{
34276 inputs: []inputInfo{
34277 {0, 21503},
34278 {1, 21503},
34279 },
34280 clobbers: 2048,
34281 outputs: []outputInfo{
34282 {0, 21503},
34283 },
34284 },
34285 },
34286 {
34287 name: "MODDU",
34288 argLen: 2,
34289 resultInArg0: true,
34290 clobberFlags: true,
34291 asm: s390x.AMODDU,
34292 reg: regInfo{
34293 inputs: []inputInfo{
34294 {0, 21503},
34295 {1, 21503},
34296 },
34297 clobbers: 2048,
34298 outputs: []outputInfo{
34299 {0, 21503},
34300 },
34301 },
34302 },
34303 {
34304 name: "MODWU",
34305 argLen: 2,
34306 resultInArg0: true,
34307 clobberFlags: true,
34308 asm: s390x.AMODWU,
34309 reg: regInfo{
34310 inputs: []inputInfo{
34311 {0, 21503},
34312 {1, 21503},
34313 },
34314 clobbers: 2048,
34315 outputs: []outputInfo{
34316 {0, 21503},
34317 },
34318 },
34319 },
34320 {
34321 name: "AND",
34322 argLen: 2,
34323 commutative: true,
34324 clobberFlags: true,
34325 asm: s390x.AAND,
34326 reg: regInfo{
34327 inputs: []inputInfo{
34328 {0, 23551},
34329 {1, 23551},
34330 },
34331 outputs: []outputInfo{
34332 {0, 23551},
34333 },
34334 },
34335 },
34336 {
34337 name: "ANDW",
34338 argLen: 2,
34339 commutative: true,
34340 clobberFlags: true,
34341 asm: s390x.AANDW,
34342 reg: regInfo{
34343 inputs: []inputInfo{
34344 {0, 23551},
34345 {1, 23551},
34346 },
34347 outputs: []outputInfo{
34348 {0, 23551},
34349 },
34350 },
34351 },
34352 {
34353 name: "ANDconst",
34354 auxType: auxInt64,
34355 argLen: 1,
34356 resultInArg0: true,
34357 clobberFlags: true,
34358 asm: s390x.AAND,
34359 reg: regInfo{
34360 inputs: []inputInfo{
34361 {0, 23551},
34362 },
34363 outputs: []outputInfo{
34364 {0, 23551},
34365 },
34366 },
34367 },
34368 {
34369 name: "ANDWconst",
34370 auxType: auxInt32,
34371 argLen: 1,
34372 resultInArg0: true,
34373 clobberFlags: true,
34374 asm: s390x.AANDW,
34375 reg: regInfo{
34376 inputs: []inputInfo{
34377 {0, 23551},
34378 },
34379 outputs: []outputInfo{
34380 {0, 23551},
34381 },
34382 },
34383 },
34384 {
34385 name: "ANDload",
34386 auxType: auxSymOff,
34387 argLen: 3,
34388 resultInArg0: true,
34389 clobberFlags: true,
34390 faultOnNilArg1: true,
34391 symEffect: SymRead,
34392 asm: s390x.AAND,
34393 reg: regInfo{
34394 inputs: []inputInfo{
34395 {0, 23551},
34396 {1, 56318},
34397 },
34398 outputs: []outputInfo{
34399 {0, 23551},
34400 },
34401 },
34402 },
34403 {
34404 name: "ANDWload",
34405 auxType: auxSymOff,
34406 argLen: 3,
34407 resultInArg0: true,
34408 clobberFlags: true,
34409 faultOnNilArg1: true,
34410 symEffect: SymRead,
34411 asm: s390x.AANDW,
34412 reg: regInfo{
34413 inputs: []inputInfo{
34414 {0, 23551},
34415 {1, 56318},
34416 },
34417 outputs: []outputInfo{
34418 {0, 23551},
34419 },
34420 },
34421 },
34422 {
34423 name: "OR",
34424 argLen: 2,
34425 commutative: true,
34426 clobberFlags: true,
34427 asm: s390x.AOR,
34428 reg: regInfo{
34429 inputs: []inputInfo{
34430 {0, 23551},
34431 {1, 23551},
34432 },
34433 outputs: []outputInfo{
34434 {0, 23551},
34435 },
34436 },
34437 },
34438 {
34439 name: "ORW",
34440 argLen: 2,
34441 commutative: true,
34442 clobberFlags: true,
34443 asm: s390x.AORW,
34444 reg: regInfo{
34445 inputs: []inputInfo{
34446 {0, 23551},
34447 {1, 23551},
34448 },
34449 outputs: []outputInfo{
34450 {0, 23551},
34451 },
34452 },
34453 },
34454 {
34455 name: "ORconst",
34456 auxType: auxInt64,
34457 argLen: 1,
34458 resultInArg0: true,
34459 clobberFlags: true,
34460 asm: s390x.AOR,
34461 reg: regInfo{
34462 inputs: []inputInfo{
34463 {0, 23551},
34464 },
34465 outputs: []outputInfo{
34466 {0, 23551},
34467 },
34468 },
34469 },
34470 {
34471 name: "ORWconst",
34472 auxType: auxInt32,
34473 argLen: 1,
34474 resultInArg0: true,
34475 clobberFlags: true,
34476 asm: s390x.AORW,
34477 reg: regInfo{
34478 inputs: []inputInfo{
34479 {0, 23551},
34480 },
34481 outputs: []outputInfo{
34482 {0, 23551},
34483 },
34484 },
34485 },
34486 {
34487 name: "ORload",
34488 auxType: auxSymOff,
34489 argLen: 3,
34490 resultInArg0: true,
34491 clobberFlags: true,
34492 faultOnNilArg1: true,
34493 symEffect: SymRead,
34494 asm: s390x.AOR,
34495 reg: regInfo{
34496 inputs: []inputInfo{
34497 {0, 23551},
34498 {1, 56318},
34499 },
34500 outputs: []outputInfo{
34501 {0, 23551},
34502 },
34503 },
34504 },
34505 {
34506 name: "ORWload",
34507 auxType: auxSymOff,
34508 argLen: 3,
34509 resultInArg0: true,
34510 clobberFlags: true,
34511 faultOnNilArg1: true,
34512 symEffect: SymRead,
34513 asm: s390x.AORW,
34514 reg: regInfo{
34515 inputs: []inputInfo{
34516 {0, 23551},
34517 {1, 56318},
34518 },
34519 outputs: []outputInfo{
34520 {0, 23551},
34521 },
34522 },
34523 },
34524 {
34525 name: "XOR",
34526 argLen: 2,
34527 commutative: true,
34528 clobberFlags: true,
34529 asm: s390x.AXOR,
34530 reg: regInfo{
34531 inputs: []inputInfo{
34532 {0, 23551},
34533 {1, 23551},
34534 },
34535 outputs: []outputInfo{
34536 {0, 23551},
34537 },
34538 },
34539 },
34540 {
34541 name: "XORW",
34542 argLen: 2,
34543 commutative: true,
34544 clobberFlags: true,
34545 asm: s390x.AXORW,
34546 reg: regInfo{
34547 inputs: []inputInfo{
34548 {0, 23551},
34549 {1, 23551},
34550 },
34551 outputs: []outputInfo{
34552 {0, 23551},
34553 },
34554 },
34555 },
34556 {
34557 name: "XORconst",
34558 auxType: auxInt64,
34559 argLen: 1,
34560 resultInArg0: true,
34561 clobberFlags: true,
34562 asm: s390x.AXOR,
34563 reg: regInfo{
34564 inputs: []inputInfo{
34565 {0, 23551},
34566 },
34567 outputs: []outputInfo{
34568 {0, 23551},
34569 },
34570 },
34571 },
34572 {
34573 name: "XORWconst",
34574 auxType: auxInt32,
34575 argLen: 1,
34576 resultInArg0: true,
34577 clobberFlags: true,
34578 asm: s390x.AXORW,
34579 reg: regInfo{
34580 inputs: []inputInfo{
34581 {0, 23551},
34582 },
34583 outputs: []outputInfo{
34584 {0, 23551},
34585 },
34586 },
34587 },
34588 {
34589 name: "XORload",
34590 auxType: auxSymOff,
34591 argLen: 3,
34592 resultInArg0: true,
34593 clobberFlags: true,
34594 faultOnNilArg1: true,
34595 symEffect: SymRead,
34596 asm: s390x.AXOR,
34597 reg: regInfo{
34598 inputs: []inputInfo{
34599 {0, 23551},
34600 {1, 56318},
34601 },
34602 outputs: []outputInfo{
34603 {0, 23551},
34604 },
34605 },
34606 },
34607 {
34608 name: "XORWload",
34609 auxType: auxSymOff,
34610 argLen: 3,
34611 resultInArg0: true,
34612 clobberFlags: true,
34613 faultOnNilArg1: true,
34614 symEffect: SymRead,
34615 asm: s390x.AXORW,
34616 reg: regInfo{
34617 inputs: []inputInfo{
34618 {0, 23551},
34619 {1, 56318},
34620 },
34621 outputs: []outputInfo{
34622 {0, 23551},
34623 },
34624 },
34625 },
34626 {
34627 name: "ADDC",
34628 argLen: 2,
34629 commutative: true,
34630 asm: s390x.AADDC,
34631 reg: regInfo{
34632 inputs: []inputInfo{
34633 {0, 23551},
34634 {1, 23551},
34635 },
34636 outputs: []outputInfo{
34637 {0, 23551},
34638 },
34639 },
34640 },
34641 {
34642 name: "ADDCconst",
34643 auxType: auxInt16,
34644 argLen: 1,
34645 asm: s390x.AADDC,
34646 reg: regInfo{
34647 inputs: []inputInfo{
34648 {0, 23551},
34649 },
34650 outputs: []outputInfo{
34651 {0, 23551},
34652 },
34653 },
34654 },
34655 {
34656 name: "ADDE",
34657 argLen: 3,
34658 commutative: true,
34659 resultInArg0: true,
34660 asm: s390x.AADDE,
34661 reg: regInfo{
34662 inputs: []inputInfo{
34663 {0, 23551},
34664 {1, 23551},
34665 },
34666 outputs: []outputInfo{
34667 {0, 23551},
34668 },
34669 },
34670 },
34671 {
34672 name: "SUBC",
34673 argLen: 2,
34674 asm: s390x.ASUBC,
34675 reg: regInfo{
34676 inputs: []inputInfo{
34677 {0, 23551},
34678 {1, 23551},
34679 },
34680 outputs: []outputInfo{
34681 {0, 23551},
34682 },
34683 },
34684 },
34685 {
34686 name: "SUBE",
34687 argLen: 3,
34688 resultInArg0: true,
34689 asm: s390x.ASUBE,
34690 reg: regInfo{
34691 inputs: []inputInfo{
34692 {0, 23551},
34693 {1, 23551},
34694 },
34695 outputs: []outputInfo{
34696 {0, 23551},
34697 },
34698 },
34699 },
34700 {
34701 name: "CMP",
34702 argLen: 2,
34703 asm: s390x.ACMP,
34704 reg: regInfo{
34705 inputs: []inputInfo{
34706 {0, 56319},
34707 {1, 56319},
34708 },
34709 },
34710 },
34711 {
34712 name: "CMPW",
34713 argLen: 2,
34714 asm: s390x.ACMPW,
34715 reg: regInfo{
34716 inputs: []inputInfo{
34717 {0, 56319},
34718 {1, 56319},
34719 },
34720 },
34721 },
34722 {
34723 name: "CMPU",
34724 argLen: 2,
34725 asm: s390x.ACMPU,
34726 reg: regInfo{
34727 inputs: []inputInfo{
34728 {0, 56319},
34729 {1, 56319},
34730 },
34731 },
34732 },
34733 {
34734 name: "CMPWU",
34735 argLen: 2,
34736 asm: s390x.ACMPWU,
34737 reg: regInfo{
34738 inputs: []inputInfo{
34739 {0, 56319},
34740 {1, 56319},
34741 },
34742 },
34743 },
34744 {
34745 name: "CMPconst",
34746 auxType: auxInt32,
34747 argLen: 1,
34748 asm: s390x.ACMP,
34749 reg: regInfo{
34750 inputs: []inputInfo{
34751 {0, 56319},
34752 },
34753 },
34754 },
34755 {
34756 name: "CMPWconst",
34757 auxType: auxInt32,
34758 argLen: 1,
34759 asm: s390x.ACMPW,
34760 reg: regInfo{
34761 inputs: []inputInfo{
34762 {0, 56319},
34763 },
34764 },
34765 },
34766 {
34767 name: "CMPUconst",
34768 auxType: auxInt32,
34769 argLen: 1,
34770 asm: s390x.ACMPU,
34771 reg: regInfo{
34772 inputs: []inputInfo{
34773 {0, 56319},
34774 },
34775 },
34776 },
34777 {
34778 name: "CMPWUconst",
34779 auxType: auxInt32,
34780 argLen: 1,
34781 asm: s390x.ACMPWU,
34782 reg: regInfo{
34783 inputs: []inputInfo{
34784 {0, 56319},
34785 },
34786 },
34787 },
34788 {
34789 name: "FCMPS",
34790 argLen: 2,
34791 asm: s390x.ACEBR,
34792 reg: regInfo{
34793 inputs: []inputInfo{
34794 {0, 4294901760},
34795 {1, 4294901760},
34796 },
34797 },
34798 },
34799 {
34800 name: "FCMP",
34801 argLen: 2,
34802 asm: s390x.AFCMPU,
34803 reg: regInfo{
34804 inputs: []inputInfo{
34805 {0, 4294901760},
34806 {1, 4294901760},
34807 },
34808 },
34809 },
34810 {
34811 name: "LTDBR",
34812 argLen: 1,
34813 asm: s390x.ALTDBR,
34814 reg: regInfo{
34815 inputs: []inputInfo{
34816 {0, 4294901760},
34817 },
34818 },
34819 },
34820 {
34821 name: "LTEBR",
34822 argLen: 1,
34823 asm: s390x.ALTEBR,
34824 reg: regInfo{
34825 inputs: []inputInfo{
34826 {0, 4294901760},
34827 },
34828 },
34829 },
34830 {
34831 name: "SLD",
34832 argLen: 2,
34833 asm: s390x.ASLD,
34834 reg: regInfo{
34835 inputs: []inputInfo{
34836 {1, 23550},
34837 {0, 23551},
34838 },
34839 outputs: []outputInfo{
34840 {0, 23551},
34841 },
34842 },
34843 },
34844 {
34845 name: "SLW",
34846 argLen: 2,
34847 asm: s390x.ASLW,
34848 reg: regInfo{
34849 inputs: []inputInfo{
34850 {1, 23550},
34851 {0, 23551},
34852 },
34853 outputs: []outputInfo{
34854 {0, 23551},
34855 },
34856 },
34857 },
34858 {
34859 name: "SLDconst",
34860 auxType: auxUInt8,
34861 argLen: 1,
34862 asm: s390x.ASLD,
34863 reg: regInfo{
34864 inputs: []inputInfo{
34865 {0, 23551},
34866 },
34867 outputs: []outputInfo{
34868 {0, 23551},
34869 },
34870 },
34871 },
34872 {
34873 name: "SLWconst",
34874 auxType: auxUInt8,
34875 argLen: 1,
34876 asm: s390x.ASLW,
34877 reg: regInfo{
34878 inputs: []inputInfo{
34879 {0, 23551},
34880 },
34881 outputs: []outputInfo{
34882 {0, 23551},
34883 },
34884 },
34885 },
34886 {
34887 name: "SRD",
34888 argLen: 2,
34889 asm: s390x.ASRD,
34890 reg: regInfo{
34891 inputs: []inputInfo{
34892 {1, 23550},
34893 {0, 23551},
34894 },
34895 outputs: []outputInfo{
34896 {0, 23551},
34897 },
34898 },
34899 },
34900 {
34901 name: "SRW",
34902 argLen: 2,
34903 asm: s390x.ASRW,
34904 reg: regInfo{
34905 inputs: []inputInfo{
34906 {1, 23550},
34907 {0, 23551},
34908 },
34909 outputs: []outputInfo{
34910 {0, 23551},
34911 },
34912 },
34913 },
34914 {
34915 name: "SRDconst",
34916 auxType: auxUInt8,
34917 argLen: 1,
34918 asm: s390x.ASRD,
34919 reg: regInfo{
34920 inputs: []inputInfo{
34921 {0, 23551},
34922 },
34923 outputs: []outputInfo{
34924 {0, 23551},
34925 },
34926 },
34927 },
34928 {
34929 name: "SRWconst",
34930 auxType: auxUInt8,
34931 argLen: 1,
34932 asm: s390x.ASRW,
34933 reg: regInfo{
34934 inputs: []inputInfo{
34935 {0, 23551},
34936 },
34937 outputs: []outputInfo{
34938 {0, 23551},
34939 },
34940 },
34941 },
34942 {
34943 name: "SRAD",
34944 argLen: 2,
34945 clobberFlags: true,
34946 asm: s390x.ASRAD,
34947 reg: regInfo{
34948 inputs: []inputInfo{
34949 {1, 23550},
34950 {0, 23551},
34951 },
34952 outputs: []outputInfo{
34953 {0, 23551},
34954 },
34955 },
34956 },
34957 {
34958 name: "SRAW",
34959 argLen: 2,
34960 clobberFlags: true,
34961 asm: s390x.ASRAW,
34962 reg: regInfo{
34963 inputs: []inputInfo{
34964 {1, 23550},
34965 {0, 23551},
34966 },
34967 outputs: []outputInfo{
34968 {0, 23551},
34969 },
34970 },
34971 },
34972 {
34973 name: "SRADconst",
34974 auxType: auxUInt8,
34975 argLen: 1,
34976 clobberFlags: true,
34977 asm: s390x.ASRAD,
34978 reg: regInfo{
34979 inputs: []inputInfo{
34980 {0, 23551},
34981 },
34982 outputs: []outputInfo{
34983 {0, 23551},
34984 },
34985 },
34986 },
34987 {
34988 name: "SRAWconst",
34989 auxType: auxUInt8,
34990 argLen: 1,
34991 clobberFlags: true,
34992 asm: s390x.ASRAW,
34993 reg: regInfo{
34994 inputs: []inputInfo{
34995 {0, 23551},
34996 },
34997 outputs: []outputInfo{
34998 {0, 23551},
34999 },
35000 },
35001 },
35002 {
35003 name: "RLLG",
35004 argLen: 2,
35005 asm: s390x.ARLLG,
35006 reg: regInfo{
35007 inputs: []inputInfo{
35008 {1, 23550},
35009 {0, 23551},
35010 },
35011 outputs: []outputInfo{
35012 {0, 23551},
35013 },
35014 },
35015 },
35016 {
35017 name: "RLL",
35018 argLen: 2,
35019 asm: s390x.ARLL,
35020 reg: regInfo{
35021 inputs: []inputInfo{
35022 {1, 23550},
35023 {0, 23551},
35024 },
35025 outputs: []outputInfo{
35026 {0, 23551},
35027 },
35028 },
35029 },
35030 {
35031 name: "RLLconst",
35032 auxType: auxUInt8,
35033 argLen: 1,
35034 asm: s390x.ARLL,
35035 reg: regInfo{
35036 inputs: []inputInfo{
35037 {0, 23551},
35038 },
35039 outputs: []outputInfo{
35040 {0, 23551},
35041 },
35042 },
35043 },
35044 {
35045 name: "RXSBG",
35046 auxType: auxS390XRotateParams,
35047 argLen: 2,
35048 resultInArg0: true,
35049 clobberFlags: true,
35050 asm: s390x.ARXSBG,
35051 reg: regInfo{
35052 inputs: []inputInfo{
35053 {0, 23551},
35054 {1, 23551},
35055 },
35056 outputs: []outputInfo{
35057 {0, 23551},
35058 },
35059 },
35060 },
35061 {
35062 name: "RISBGZ",
35063 auxType: auxS390XRotateParams,
35064 argLen: 1,
35065 clobberFlags: true,
35066 asm: s390x.ARISBGZ,
35067 reg: regInfo{
35068 inputs: []inputInfo{
35069 {0, 23551},
35070 },
35071 outputs: []outputInfo{
35072 {0, 23551},
35073 },
35074 },
35075 },
35076 {
35077 name: "NEG",
35078 argLen: 1,
35079 clobberFlags: true,
35080 asm: s390x.ANEG,
35081 reg: regInfo{
35082 inputs: []inputInfo{
35083 {0, 23551},
35084 },
35085 outputs: []outputInfo{
35086 {0, 23551},
35087 },
35088 },
35089 },
35090 {
35091 name: "NEGW",
35092 argLen: 1,
35093 clobberFlags: true,
35094 asm: s390x.ANEGW,
35095 reg: regInfo{
35096 inputs: []inputInfo{
35097 {0, 23551},
35098 },
35099 outputs: []outputInfo{
35100 {0, 23551},
35101 },
35102 },
35103 },
35104 {
35105 name: "NOT",
35106 argLen: 1,
35107 resultInArg0: true,
35108 clobberFlags: true,
35109 reg: regInfo{
35110 inputs: []inputInfo{
35111 {0, 23551},
35112 },
35113 outputs: []outputInfo{
35114 {0, 23551},
35115 },
35116 },
35117 },
35118 {
35119 name: "NOTW",
35120 argLen: 1,
35121 resultInArg0: true,
35122 clobberFlags: true,
35123 reg: regInfo{
35124 inputs: []inputInfo{
35125 {0, 23551},
35126 },
35127 outputs: []outputInfo{
35128 {0, 23551},
35129 },
35130 },
35131 },
35132 {
35133 name: "FSQRT",
35134 argLen: 1,
35135 asm: s390x.AFSQRT,
35136 reg: regInfo{
35137 inputs: []inputInfo{
35138 {0, 4294901760},
35139 },
35140 outputs: []outputInfo{
35141 {0, 4294901760},
35142 },
35143 },
35144 },
35145 {
35146 name: "FSQRTS",
35147 argLen: 1,
35148 asm: s390x.AFSQRTS,
35149 reg: regInfo{
35150 inputs: []inputInfo{
35151 {0, 4294901760},
35152 },
35153 outputs: []outputInfo{
35154 {0, 4294901760},
35155 },
35156 },
35157 },
35158 {
35159 name: "LOCGR",
35160 auxType: auxS390XCCMask,
35161 argLen: 3,
35162 resultInArg0: true,
35163 asm: s390x.ALOCGR,
35164 reg: regInfo{
35165 inputs: []inputInfo{
35166 {0, 23551},
35167 {1, 23551},
35168 },
35169 outputs: []outputInfo{
35170 {0, 23551},
35171 },
35172 },
35173 },
35174 {
35175 name: "MOVBreg",
35176 argLen: 1,
35177 asm: s390x.AMOVB,
35178 reg: regInfo{
35179 inputs: []inputInfo{
35180 {0, 56319},
35181 },
35182 outputs: []outputInfo{
35183 {0, 23551},
35184 },
35185 },
35186 },
35187 {
35188 name: "MOVBZreg",
35189 argLen: 1,
35190 asm: s390x.AMOVBZ,
35191 reg: regInfo{
35192 inputs: []inputInfo{
35193 {0, 56319},
35194 },
35195 outputs: []outputInfo{
35196 {0, 23551},
35197 },
35198 },
35199 },
35200 {
35201 name: "MOVHreg",
35202 argLen: 1,
35203 asm: s390x.AMOVH,
35204 reg: regInfo{
35205 inputs: []inputInfo{
35206 {0, 56319},
35207 },
35208 outputs: []outputInfo{
35209 {0, 23551},
35210 },
35211 },
35212 },
35213 {
35214 name: "MOVHZreg",
35215 argLen: 1,
35216 asm: s390x.AMOVHZ,
35217 reg: regInfo{
35218 inputs: []inputInfo{
35219 {0, 56319},
35220 },
35221 outputs: []outputInfo{
35222 {0, 23551},
35223 },
35224 },
35225 },
35226 {
35227 name: "MOVWreg",
35228 argLen: 1,
35229 asm: s390x.AMOVW,
35230 reg: regInfo{
35231 inputs: []inputInfo{
35232 {0, 56319},
35233 },
35234 outputs: []outputInfo{
35235 {0, 23551},
35236 },
35237 },
35238 },
35239 {
35240 name: "MOVWZreg",
35241 argLen: 1,
35242 asm: s390x.AMOVWZ,
35243 reg: regInfo{
35244 inputs: []inputInfo{
35245 {0, 56319},
35246 },
35247 outputs: []outputInfo{
35248 {0, 23551},
35249 },
35250 },
35251 },
35252 {
35253 name: "MOVDconst",
35254 auxType: auxInt64,
35255 argLen: 0,
35256 rematerializeable: true,
35257 asm: s390x.AMOVD,
35258 reg: regInfo{
35259 outputs: []outputInfo{
35260 {0, 23551},
35261 },
35262 },
35263 },
35264 {
35265 name: "LDGR",
35266 argLen: 1,
35267 asm: s390x.ALDGR,
35268 reg: regInfo{
35269 inputs: []inputInfo{
35270 {0, 23551},
35271 },
35272 outputs: []outputInfo{
35273 {0, 4294901760},
35274 },
35275 },
35276 },
35277 {
35278 name: "LGDR",
35279 argLen: 1,
35280 asm: s390x.ALGDR,
35281 reg: regInfo{
35282 inputs: []inputInfo{
35283 {0, 4294901760},
35284 },
35285 outputs: []outputInfo{
35286 {0, 23551},
35287 },
35288 },
35289 },
35290 {
35291 name: "CFDBRA",
35292 argLen: 1,
35293 clobberFlags: true,
35294 asm: s390x.ACFDBRA,
35295 reg: regInfo{
35296 inputs: []inputInfo{
35297 {0, 4294901760},
35298 },
35299 outputs: []outputInfo{
35300 {0, 23551},
35301 },
35302 },
35303 },
35304 {
35305 name: "CGDBRA",
35306 argLen: 1,
35307 clobberFlags: true,
35308 asm: s390x.ACGDBRA,
35309 reg: regInfo{
35310 inputs: []inputInfo{
35311 {0, 4294901760},
35312 },
35313 outputs: []outputInfo{
35314 {0, 23551},
35315 },
35316 },
35317 },
35318 {
35319 name: "CFEBRA",
35320 argLen: 1,
35321 clobberFlags: true,
35322 asm: s390x.ACFEBRA,
35323 reg: regInfo{
35324 inputs: []inputInfo{
35325 {0, 4294901760},
35326 },
35327 outputs: []outputInfo{
35328 {0, 23551},
35329 },
35330 },
35331 },
35332 {
35333 name: "CGEBRA",
35334 argLen: 1,
35335 clobberFlags: true,
35336 asm: s390x.ACGEBRA,
35337 reg: regInfo{
35338 inputs: []inputInfo{
35339 {0, 4294901760},
35340 },
35341 outputs: []outputInfo{
35342 {0, 23551},
35343 },
35344 },
35345 },
35346 {
35347 name: "CEFBRA",
35348 argLen: 1,
35349 clobberFlags: true,
35350 asm: s390x.ACEFBRA,
35351 reg: regInfo{
35352 inputs: []inputInfo{
35353 {0, 23551},
35354 },
35355 outputs: []outputInfo{
35356 {0, 4294901760},
35357 },
35358 },
35359 },
35360 {
35361 name: "CDFBRA",
35362 argLen: 1,
35363 clobberFlags: true,
35364 asm: s390x.ACDFBRA,
35365 reg: regInfo{
35366 inputs: []inputInfo{
35367 {0, 23551},
35368 },
35369 outputs: []outputInfo{
35370 {0, 4294901760},
35371 },
35372 },
35373 },
35374 {
35375 name: "CEGBRA",
35376 argLen: 1,
35377 clobberFlags: true,
35378 asm: s390x.ACEGBRA,
35379 reg: regInfo{
35380 inputs: []inputInfo{
35381 {0, 23551},
35382 },
35383 outputs: []outputInfo{
35384 {0, 4294901760},
35385 },
35386 },
35387 },
35388 {
35389 name: "CDGBRA",
35390 argLen: 1,
35391 clobberFlags: true,
35392 asm: s390x.ACDGBRA,
35393 reg: regInfo{
35394 inputs: []inputInfo{
35395 {0, 23551},
35396 },
35397 outputs: []outputInfo{
35398 {0, 4294901760},
35399 },
35400 },
35401 },
35402 {
35403 name: "CLFEBR",
35404 argLen: 1,
35405 clobberFlags: true,
35406 asm: s390x.ACLFEBR,
35407 reg: regInfo{
35408 inputs: []inputInfo{
35409 {0, 4294901760},
35410 },
35411 outputs: []outputInfo{
35412 {0, 23551},
35413 },
35414 },
35415 },
35416 {
35417 name: "CLFDBR",
35418 argLen: 1,
35419 clobberFlags: true,
35420 asm: s390x.ACLFDBR,
35421 reg: regInfo{
35422 inputs: []inputInfo{
35423 {0, 4294901760},
35424 },
35425 outputs: []outputInfo{
35426 {0, 23551},
35427 },
35428 },
35429 },
35430 {
35431 name: "CLGEBR",
35432 argLen: 1,
35433 clobberFlags: true,
35434 asm: s390x.ACLGEBR,
35435 reg: regInfo{
35436 inputs: []inputInfo{
35437 {0, 4294901760},
35438 },
35439 outputs: []outputInfo{
35440 {0, 23551},
35441 },
35442 },
35443 },
35444 {
35445 name: "CLGDBR",
35446 argLen: 1,
35447 clobberFlags: true,
35448 asm: s390x.ACLGDBR,
35449 reg: regInfo{
35450 inputs: []inputInfo{
35451 {0, 4294901760},
35452 },
35453 outputs: []outputInfo{
35454 {0, 23551},
35455 },
35456 },
35457 },
35458 {
35459 name: "CELFBR",
35460 argLen: 1,
35461 clobberFlags: true,
35462 asm: s390x.ACELFBR,
35463 reg: regInfo{
35464 inputs: []inputInfo{
35465 {0, 23551},
35466 },
35467 outputs: []outputInfo{
35468 {0, 4294901760},
35469 },
35470 },
35471 },
35472 {
35473 name: "CDLFBR",
35474 argLen: 1,
35475 clobberFlags: true,
35476 asm: s390x.ACDLFBR,
35477 reg: regInfo{
35478 inputs: []inputInfo{
35479 {0, 23551},
35480 },
35481 outputs: []outputInfo{
35482 {0, 4294901760},
35483 },
35484 },
35485 },
35486 {
35487 name: "CELGBR",
35488 argLen: 1,
35489 clobberFlags: true,
35490 asm: s390x.ACELGBR,
35491 reg: regInfo{
35492 inputs: []inputInfo{
35493 {0, 23551},
35494 },
35495 outputs: []outputInfo{
35496 {0, 4294901760},
35497 },
35498 },
35499 },
35500 {
35501 name: "CDLGBR",
35502 argLen: 1,
35503 clobberFlags: true,
35504 asm: s390x.ACDLGBR,
35505 reg: regInfo{
35506 inputs: []inputInfo{
35507 {0, 23551},
35508 },
35509 outputs: []outputInfo{
35510 {0, 4294901760},
35511 },
35512 },
35513 },
35514 {
35515 name: "LEDBR",
35516 argLen: 1,
35517 asm: s390x.ALEDBR,
35518 reg: regInfo{
35519 inputs: []inputInfo{
35520 {0, 4294901760},
35521 },
35522 outputs: []outputInfo{
35523 {0, 4294901760},
35524 },
35525 },
35526 },
35527 {
35528 name: "LDEBR",
35529 argLen: 1,
35530 asm: s390x.ALDEBR,
35531 reg: regInfo{
35532 inputs: []inputInfo{
35533 {0, 4294901760},
35534 },
35535 outputs: []outputInfo{
35536 {0, 4294901760},
35537 },
35538 },
35539 },
35540 {
35541 name: "MOVDaddr",
35542 auxType: auxSymOff,
35543 argLen: 1,
35544 rematerializeable: true,
35545 symEffect: SymAddr,
35546 reg: regInfo{
35547 inputs: []inputInfo{
35548 {0, 4295000064},
35549 },
35550 outputs: []outputInfo{
35551 {0, 23551},
35552 },
35553 },
35554 },
35555 {
35556 name: "MOVDaddridx",
35557 auxType: auxSymOff,
35558 argLen: 2,
35559 symEffect: SymAddr,
35560 reg: regInfo{
35561 inputs: []inputInfo{
35562 {0, 4295000064},
35563 {1, 56318},
35564 },
35565 outputs: []outputInfo{
35566 {0, 23551},
35567 },
35568 },
35569 },
35570 {
35571 name: "MOVBZload",
35572 auxType: auxSymOff,
35573 argLen: 2,
35574 faultOnNilArg0: true,
35575 symEffect: SymRead,
35576 asm: s390x.AMOVBZ,
35577 reg: regInfo{
35578 inputs: []inputInfo{
35579 {0, 4295023614},
35580 },
35581 outputs: []outputInfo{
35582 {0, 23551},
35583 },
35584 },
35585 },
35586 {
35587 name: "MOVBload",
35588 auxType: auxSymOff,
35589 argLen: 2,
35590 faultOnNilArg0: true,
35591 symEffect: SymRead,
35592 asm: s390x.AMOVB,
35593 reg: regInfo{
35594 inputs: []inputInfo{
35595 {0, 4295023614},
35596 },
35597 outputs: []outputInfo{
35598 {0, 23551},
35599 },
35600 },
35601 },
35602 {
35603 name: "MOVHZload",
35604 auxType: auxSymOff,
35605 argLen: 2,
35606 faultOnNilArg0: true,
35607 symEffect: SymRead,
35608 asm: s390x.AMOVHZ,
35609 reg: regInfo{
35610 inputs: []inputInfo{
35611 {0, 4295023614},
35612 },
35613 outputs: []outputInfo{
35614 {0, 23551},
35615 },
35616 },
35617 },
35618 {
35619 name: "MOVHload",
35620 auxType: auxSymOff,
35621 argLen: 2,
35622 faultOnNilArg0: true,
35623 symEffect: SymRead,
35624 asm: s390x.AMOVH,
35625 reg: regInfo{
35626 inputs: []inputInfo{
35627 {0, 4295023614},
35628 },
35629 outputs: []outputInfo{
35630 {0, 23551},
35631 },
35632 },
35633 },
35634 {
35635 name: "MOVWZload",
35636 auxType: auxSymOff,
35637 argLen: 2,
35638 faultOnNilArg0: true,
35639 symEffect: SymRead,
35640 asm: s390x.AMOVWZ,
35641 reg: regInfo{
35642 inputs: []inputInfo{
35643 {0, 4295023614},
35644 },
35645 outputs: []outputInfo{
35646 {0, 23551},
35647 },
35648 },
35649 },
35650 {
35651 name: "MOVWload",
35652 auxType: auxSymOff,
35653 argLen: 2,
35654 faultOnNilArg0: true,
35655 symEffect: SymRead,
35656 asm: s390x.AMOVW,
35657 reg: regInfo{
35658 inputs: []inputInfo{
35659 {0, 4295023614},
35660 },
35661 outputs: []outputInfo{
35662 {0, 23551},
35663 },
35664 },
35665 },
35666 {
35667 name: "MOVDload",
35668 auxType: auxSymOff,
35669 argLen: 2,
35670 faultOnNilArg0: true,
35671 symEffect: SymRead,
35672 asm: s390x.AMOVD,
35673 reg: regInfo{
35674 inputs: []inputInfo{
35675 {0, 4295023614},
35676 },
35677 outputs: []outputInfo{
35678 {0, 23551},
35679 },
35680 },
35681 },
35682 {
35683 name: "MOVWBR",
35684 argLen: 1,
35685 asm: s390x.AMOVWBR,
35686 reg: regInfo{
35687 inputs: []inputInfo{
35688 {0, 23551},
35689 },
35690 outputs: []outputInfo{
35691 {0, 23551},
35692 },
35693 },
35694 },
35695 {
35696 name: "MOVDBR",
35697 argLen: 1,
35698 asm: s390x.AMOVDBR,
35699 reg: regInfo{
35700 inputs: []inputInfo{
35701 {0, 23551},
35702 },
35703 outputs: []outputInfo{
35704 {0, 23551},
35705 },
35706 },
35707 },
35708 {
35709 name: "MOVHBRload",
35710 auxType: auxSymOff,
35711 argLen: 2,
35712 faultOnNilArg0: true,
35713 symEffect: SymRead,
35714 asm: s390x.AMOVHBR,
35715 reg: regInfo{
35716 inputs: []inputInfo{
35717 {0, 4295023614},
35718 },
35719 outputs: []outputInfo{
35720 {0, 23551},
35721 },
35722 },
35723 },
35724 {
35725 name: "MOVWBRload",
35726 auxType: auxSymOff,
35727 argLen: 2,
35728 faultOnNilArg0: true,
35729 symEffect: SymRead,
35730 asm: s390x.AMOVWBR,
35731 reg: regInfo{
35732 inputs: []inputInfo{
35733 {0, 4295023614},
35734 },
35735 outputs: []outputInfo{
35736 {0, 23551},
35737 },
35738 },
35739 },
35740 {
35741 name: "MOVDBRload",
35742 auxType: auxSymOff,
35743 argLen: 2,
35744 faultOnNilArg0: true,
35745 symEffect: SymRead,
35746 asm: s390x.AMOVDBR,
35747 reg: regInfo{
35748 inputs: []inputInfo{
35749 {0, 4295023614},
35750 },
35751 outputs: []outputInfo{
35752 {0, 23551},
35753 },
35754 },
35755 },
35756 {
35757 name: "MOVBstore",
35758 auxType: auxSymOff,
35759 argLen: 3,
35760 faultOnNilArg0: true,
35761 symEffect: SymWrite,
35762 asm: s390x.AMOVB,
35763 reg: regInfo{
35764 inputs: []inputInfo{
35765 {0, 4295023614},
35766 {1, 56319},
35767 },
35768 },
35769 },
35770 {
35771 name: "MOVHstore",
35772 auxType: auxSymOff,
35773 argLen: 3,
35774 faultOnNilArg0: true,
35775 symEffect: SymWrite,
35776 asm: s390x.AMOVH,
35777 reg: regInfo{
35778 inputs: []inputInfo{
35779 {0, 4295023614},
35780 {1, 56319},
35781 },
35782 },
35783 },
35784 {
35785 name: "MOVWstore",
35786 auxType: auxSymOff,
35787 argLen: 3,
35788 faultOnNilArg0: true,
35789 symEffect: SymWrite,
35790 asm: s390x.AMOVW,
35791 reg: regInfo{
35792 inputs: []inputInfo{
35793 {0, 4295023614},
35794 {1, 56319},
35795 },
35796 },
35797 },
35798 {
35799 name: "MOVDstore",
35800 auxType: auxSymOff,
35801 argLen: 3,
35802 faultOnNilArg0: true,
35803 symEffect: SymWrite,
35804 asm: s390x.AMOVD,
35805 reg: regInfo{
35806 inputs: []inputInfo{
35807 {0, 4295023614},
35808 {1, 56319},
35809 },
35810 },
35811 },
35812 {
35813 name: "MOVHBRstore",
35814 auxType: auxSymOff,
35815 argLen: 3,
35816 faultOnNilArg0: true,
35817 symEffect: SymWrite,
35818 asm: s390x.AMOVHBR,
35819 reg: regInfo{
35820 inputs: []inputInfo{
35821 {0, 56318},
35822 {1, 56319},
35823 },
35824 },
35825 },
35826 {
35827 name: "MOVWBRstore",
35828 auxType: auxSymOff,
35829 argLen: 3,
35830 faultOnNilArg0: true,
35831 symEffect: SymWrite,
35832 asm: s390x.AMOVWBR,
35833 reg: regInfo{
35834 inputs: []inputInfo{
35835 {0, 56318},
35836 {1, 56319},
35837 },
35838 },
35839 },
35840 {
35841 name: "MOVDBRstore",
35842 auxType: auxSymOff,
35843 argLen: 3,
35844 faultOnNilArg0: true,
35845 symEffect: SymWrite,
35846 asm: s390x.AMOVDBR,
35847 reg: regInfo{
35848 inputs: []inputInfo{
35849 {0, 56318},
35850 {1, 56319},
35851 },
35852 },
35853 },
35854 {
35855 name: "MVC",
35856 auxType: auxSymValAndOff,
35857 argLen: 3,
35858 clobberFlags: true,
35859 faultOnNilArg0: true,
35860 faultOnNilArg1: true,
35861 symEffect: SymNone,
35862 asm: s390x.AMVC,
35863 reg: regInfo{
35864 inputs: []inputInfo{
35865 {0, 56318},
35866 {1, 56318},
35867 },
35868 },
35869 },
35870 {
35871 name: "MOVBZloadidx",
35872 auxType: auxSymOff,
35873 argLen: 3,
35874 commutative: true,
35875 symEffect: SymRead,
35876 asm: s390x.AMOVBZ,
35877 reg: regInfo{
35878 inputs: []inputInfo{
35879 {1, 56318},
35880 {0, 4295023614},
35881 },
35882 outputs: []outputInfo{
35883 {0, 23551},
35884 },
35885 },
35886 },
35887 {
35888 name: "MOVBloadidx",
35889 auxType: auxSymOff,
35890 argLen: 3,
35891 commutative: true,
35892 symEffect: SymRead,
35893 asm: s390x.AMOVB,
35894 reg: regInfo{
35895 inputs: []inputInfo{
35896 {1, 56318},
35897 {0, 4295023614},
35898 },
35899 outputs: []outputInfo{
35900 {0, 23551},
35901 },
35902 },
35903 },
35904 {
35905 name: "MOVHZloadidx",
35906 auxType: auxSymOff,
35907 argLen: 3,
35908 commutative: true,
35909 symEffect: SymRead,
35910 asm: s390x.AMOVHZ,
35911 reg: regInfo{
35912 inputs: []inputInfo{
35913 {1, 56318},
35914 {0, 4295023614},
35915 },
35916 outputs: []outputInfo{
35917 {0, 23551},
35918 },
35919 },
35920 },
35921 {
35922 name: "MOVHloadidx",
35923 auxType: auxSymOff,
35924 argLen: 3,
35925 commutative: true,
35926 symEffect: SymRead,
35927 asm: s390x.AMOVH,
35928 reg: regInfo{
35929 inputs: []inputInfo{
35930 {1, 56318},
35931 {0, 4295023614},
35932 },
35933 outputs: []outputInfo{
35934 {0, 23551},
35935 },
35936 },
35937 },
35938 {
35939 name: "MOVWZloadidx",
35940 auxType: auxSymOff,
35941 argLen: 3,
35942 commutative: true,
35943 symEffect: SymRead,
35944 asm: s390x.AMOVWZ,
35945 reg: regInfo{
35946 inputs: []inputInfo{
35947 {1, 56318},
35948 {0, 4295023614},
35949 },
35950 outputs: []outputInfo{
35951 {0, 23551},
35952 },
35953 },
35954 },
35955 {
35956 name: "MOVWloadidx",
35957 auxType: auxSymOff,
35958 argLen: 3,
35959 commutative: true,
35960 symEffect: SymRead,
35961 asm: s390x.AMOVW,
35962 reg: regInfo{
35963 inputs: []inputInfo{
35964 {1, 56318},
35965 {0, 4295023614},
35966 },
35967 outputs: []outputInfo{
35968 {0, 23551},
35969 },
35970 },
35971 },
35972 {
35973 name: "MOVDloadidx",
35974 auxType: auxSymOff,
35975 argLen: 3,
35976 commutative: true,
35977 symEffect: SymRead,
35978 asm: s390x.AMOVD,
35979 reg: regInfo{
35980 inputs: []inputInfo{
35981 {1, 56318},
35982 {0, 4295023614},
35983 },
35984 outputs: []outputInfo{
35985 {0, 23551},
35986 },
35987 },
35988 },
35989 {
35990 name: "MOVHBRloadidx",
35991 auxType: auxSymOff,
35992 argLen: 3,
35993 commutative: true,
35994 symEffect: SymRead,
35995 asm: s390x.AMOVHBR,
35996 reg: regInfo{
35997 inputs: []inputInfo{
35998 {1, 56318},
35999 {0, 4295023614},
36000 },
36001 outputs: []outputInfo{
36002 {0, 23551},
36003 },
36004 },
36005 },
36006 {
36007 name: "MOVWBRloadidx",
36008 auxType: auxSymOff,
36009 argLen: 3,
36010 commutative: true,
36011 symEffect: SymRead,
36012 asm: s390x.AMOVWBR,
36013 reg: regInfo{
36014 inputs: []inputInfo{
36015 {1, 56318},
36016 {0, 4295023614},
36017 },
36018 outputs: []outputInfo{
36019 {0, 23551},
36020 },
36021 },
36022 },
36023 {
36024 name: "MOVDBRloadidx",
36025 auxType: auxSymOff,
36026 argLen: 3,
36027 commutative: true,
36028 symEffect: SymRead,
36029 asm: s390x.AMOVDBR,
36030 reg: regInfo{
36031 inputs: []inputInfo{
36032 {1, 56318},
36033 {0, 4295023614},
36034 },
36035 outputs: []outputInfo{
36036 {0, 23551},
36037 },
36038 },
36039 },
36040 {
36041 name: "MOVBstoreidx",
36042 auxType: auxSymOff,
36043 argLen: 4,
36044 commutative: true,
36045 symEffect: SymWrite,
36046 asm: s390x.AMOVB,
36047 reg: regInfo{
36048 inputs: []inputInfo{
36049 {0, 56318},
36050 {1, 56318},
36051 {2, 56319},
36052 },
36053 },
36054 },
36055 {
36056 name: "MOVHstoreidx",
36057 auxType: auxSymOff,
36058 argLen: 4,
36059 commutative: true,
36060 symEffect: SymWrite,
36061 asm: s390x.AMOVH,
36062 reg: regInfo{
36063 inputs: []inputInfo{
36064 {0, 56318},
36065 {1, 56318},
36066 {2, 56319},
36067 },
36068 },
36069 },
36070 {
36071 name: "MOVWstoreidx",
36072 auxType: auxSymOff,
36073 argLen: 4,
36074 commutative: true,
36075 symEffect: SymWrite,
36076 asm: s390x.AMOVW,
36077 reg: regInfo{
36078 inputs: []inputInfo{
36079 {0, 56318},
36080 {1, 56318},
36081 {2, 56319},
36082 },
36083 },
36084 },
36085 {
36086 name: "MOVDstoreidx",
36087 auxType: auxSymOff,
36088 argLen: 4,
36089 commutative: true,
36090 symEffect: SymWrite,
36091 asm: s390x.AMOVD,
36092 reg: regInfo{
36093 inputs: []inputInfo{
36094 {0, 56318},
36095 {1, 56318},
36096 {2, 56319},
36097 },
36098 },
36099 },
36100 {
36101 name: "MOVHBRstoreidx",
36102 auxType: auxSymOff,
36103 argLen: 4,
36104 commutative: true,
36105 symEffect: SymWrite,
36106 asm: s390x.AMOVHBR,
36107 reg: regInfo{
36108 inputs: []inputInfo{
36109 {0, 56318},
36110 {1, 56318},
36111 {2, 56319},
36112 },
36113 },
36114 },
36115 {
36116 name: "MOVWBRstoreidx",
36117 auxType: auxSymOff,
36118 argLen: 4,
36119 commutative: true,
36120 symEffect: SymWrite,
36121 asm: s390x.AMOVWBR,
36122 reg: regInfo{
36123 inputs: []inputInfo{
36124 {0, 56318},
36125 {1, 56318},
36126 {2, 56319},
36127 },
36128 },
36129 },
36130 {
36131 name: "MOVDBRstoreidx",
36132 auxType: auxSymOff,
36133 argLen: 4,
36134 commutative: true,
36135 symEffect: SymWrite,
36136 asm: s390x.AMOVDBR,
36137 reg: regInfo{
36138 inputs: []inputInfo{
36139 {0, 56318},
36140 {1, 56318},
36141 {2, 56319},
36142 },
36143 },
36144 },
36145 {
36146 name: "MOVBstoreconst",
36147 auxType: auxSymValAndOff,
36148 argLen: 2,
36149 faultOnNilArg0: true,
36150 symEffect: SymWrite,
36151 asm: s390x.AMOVB,
36152 reg: regInfo{
36153 inputs: []inputInfo{
36154 {0, 4295023614},
36155 },
36156 },
36157 },
36158 {
36159 name: "MOVHstoreconst",
36160 auxType: auxSymValAndOff,
36161 argLen: 2,
36162 faultOnNilArg0: true,
36163 symEffect: SymWrite,
36164 asm: s390x.AMOVH,
36165 reg: regInfo{
36166 inputs: []inputInfo{
36167 {0, 4295023614},
36168 },
36169 },
36170 },
36171 {
36172 name: "MOVWstoreconst",
36173 auxType: auxSymValAndOff,
36174 argLen: 2,
36175 faultOnNilArg0: true,
36176 symEffect: SymWrite,
36177 asm: s390x.AMOVW,
36178 reg: regInfo{
36179 inputs: []inputInfo{
36180 {0, 4295023614},
36181 },
36182 },
36183 },
36184 {
36185 name: "MOVDstoreconst",
36186 auxType: auxSymValAndOff,
36187 argLen: 2,
36188 faultOnNilArg0: true,
36189 symEffect: SymWrite,
36190 asm: s390x.AMOVD,
36191 reg: regInfo{
36192 inputs: []inputInfo{
36193 {0, 4295023614},
36194 },
36195 },
36196 },
36197 {
36198 name: "CLEAR",
36199 auxType: auxSymValAndOff,
36200 argLen: 2,
36201 clobberFlags: true,
36202 faultOnNilArg0: true,
36203 symEffect: SymWrite,
36204 asm: s390x.ACLEAR,
36205 reg: regInfo{
36206 inputs: []inputInfo{
36207 {0, 23550},
36208 },
36209 },
36210 },
36211 {
36212 name: "CALLstatic",
36213 auxType: auxCallOff,
36214 argLen: 1,
36215 clobberFlags: true,
36216 call: true,
36217 reg: regInfo{
36218 clobbers: 4294933503,
36219 },
36220 },
36221 {
36222 name: "CALLtail",
36223 auxType: auxCallOff,
36224 argLen: 1,
36225 clobberFlags: true,
36226 call: true,
36227 tailCall: true,
36228 reg: regInfo{
36229 clobbers: 4294933503,
36230 },
36231 },
36232 {
36233 name: "CALLclosure",
36234 auxType: auxCallOff,
36235 argLen: 3,
36236 clobberFlags: true,
36237 call: true,
36238 reg: regInfo{
36239 inputs: []inputInfo{
36240 {1, 4096},
36241 {0, 56318},
36242 },
36243 clobbers: 4294933503,
36244 },
36245 },
36246 {
36247 name: "CALLinter",
36248 auxType: auxCallOff,
36249 argLen: 2,
36250 clobberFlags: true,
36251 call: true,
36252 reg: regInfo{
36253 inputs: []inputInfo{
36254 {0, 23550},
36255 },
36256 clobbers: 4294933503,
36257 },
36258 },
36259 {
36260 name: "InvertFlags",
36261 argLen: 1,
36262 reg: regInfo{},
36263 },
36264 {
36265 name: "LoweredGetG",
36266 argLen: 1,
36267 reg: regInfo{
36268 outputs: []outputInfo{
36269 {0, 23551},
36270 },
36271 },
36272 },
36273 {
36274 name: "LoweredGetClosurePtr",
36275 argLen: 0,
36276 zeroWidth: true,
36277 reg: regInfo{
36278 outputs: []outputInfo{
36279 {0, 4096},
36280 },
36281 },
36282 },
36283 {
36284 name: "LoweredGetCallerSP",
36285 argLen: 1,
36286 rematerializeable: true,
36287 reg: regInfo{
36288 outputs: []outputInfo{
36289 {0, 23551},
36290 },
36291 },
36292 },
36293 {
36294 name: "LoweredGetCallerPC",
36295 argLen: 0,
36296 rematerializeable: true,
36297 reg: regInfo{
36298 outputs: []outputInfo{
36299 {0, 23551},
36300 },
36301 },
36302 },
36303 {
36304 name: "LoweredNilCheck",
36305 argLen: 2,
36306 clobberFlags: true,
36307 nilCheck: true,
36308 faultOnNilArg0: true,
36309 reg: regInfo{
36310 inputs: []inputInfo{
36311 {0, 56318},
36312 },
36313 },
36314 },
36315 {
36316 name: "LoweredRound32F",
36317 argLen: 1,
36318 resultInArg0: true,
36319 zeroWidth: true,
36320 reg: regInfo{
36321 inputs: []inputInfo{
36322 {0, 4294901760},
36323 },
36324 outputs: []outputInfo{
36325 {0, 4294901760},
36326 },
36327 },
36328 },
36329 {
36330 name: "LoweredRound64F",
36331 argLen: 1,
36332 resultInArg0: true,
36333 zeroWidth: true,
36334 reg: regInfo{
36335 inputs: []inputInfo{
36336 {0, 4294901760},
36337 },
36338 outputs: []outputInfo{
36339 {0, 4294901760},
36340 },
36341 },
36342 },
36343 {
36344 name: "LoweredWB",
36345 auxType: auxInt64,
36346 argLen: 1,
36347 clobberFlags: true,
36348 reg: regInfo{
36349 clobbers: 4294918146,
36350 outputs: []outputInfo{
36351 {0, 512},
36352 },
36353 },
36354 },
36355 {
36356 name: "LoweredPanicBoundsA",
36357 auxType: auxInt64,
36358 argLen: 3,
36359 call: true,
36360 reg: regInfo{
36361 inputs: []inputInfo{
36362 {0, 4},
36363 {1, 8},
36364 },
36365 },
36366 },
36367 {
36368 name: "LoweredPanicBoundsB",
36369 auxType: auxInt64,
36370 argLen: 3,
36371 call: true,
36372 reg: regInfo{
36373 inputs: []inputInfo{
36374 {0, 2},
36375 {1, 4},
36376 },
36377 },
36378 },
36379 {
36380 name: "LoweredPanicBoundsC",
36381 auxType: auxInt64,
36382 argLen: 3,
36383 call: true,
36384 reg: regInfo{
36385 inputs: []inputInfo{
36386 {0, 1},
36387 {1, 2},
36388 },
36389 },
36390 },
36391 {
36392 name: "FlagEQ",
36393 argLen: 0,
36394 reg: regInfo{},
36395 },
36396 {
36397 name: "FlagLT",
36398 argLen: 0,
36399 reg: regInfo{},
36400 },
36401 {
36402 name: "FlagGT",
36403 argLen: 0,
36404 reg: regInfo{},
36405 },
36406 {
36407 name: "FlagOV",
36408 argLen: 0,
36409 reg: regInfo{},
36410 },
36411 {
36412 name: "SYNC",
36413 argLen: 1,
36414 asm: s390x.ASYNC,
36415 reg: regInfo{},
36416 },
36417 {
36418 name: "MOVBZatomicload",
36419 auxType: auxSymOff,
36420 argLen: 2,
36421 faultOnNilArg0: true,
36422 symEffect: SymRead,
36423 asm: s390x.AMOVBZ,
36424 reg: regInfo{
36425 inputs: []inputInfo{
36426 {0, 4295023614},
36427 },
36428 outputs: []outputInfo{
36429 {0, 23551},
36430 },
36431 },
36432 },
36433 {
36434 name: "MOVWZatomicload",
36435 auxType: auxSymOff,
36436 argLen: 2,
36437 faultOnNilArg0: true,
36438 symEffect: SymRead,
36439 asm: s390x.AMOVWZ,
36440 reg: regInfo{
36441 inputs: []inputInfo{
36442 {0, 4295023614},
36443 },
36444 outputs: []outputInfo{
36445 {0, 23551},
36446 },
36447 },
36448 },
36449 {
36450 name: "MOVDatomicload",
36451 auxType: auxSymOff,
36452 argLen: 2,
36453 faultOnNilArg0: true,
36454 symEffect: SymRead,
36455 asm: s390x.AMOVD,
36456 reg: regInfo{
36457 inputs: []inputInfo{
36458 {0, 4295023614},
36459 },
36460 outputs: []outputInfo{
36461 {0, 23551},
36462 },
36463 },
36464 },
36465 {
36466 name: "MOVBatomicstore",
36467 auxType: auxSymOff,
36468 argLen: 3,
36469 clobberFlags: true,
36470 faultOnNilArg0: true,
36471 hasSideEffects: true,
36472 symEffect: SymWrite,
36473 asm: s390x.AMOVB,
36474 reg: regInfo{
36475 inputs: []inputInfo{
36476 {0, 4295023614},
36477 {1, 56319},
36478 },
36479 },
36480 },
36481 {
36482 name: "MOVWatomicstore",
36483 auxType: auxSymOff,
36484 argLen: 3,
36485 clobberFlags: true,
36486 faultOnNilArg0: true,
36487 hasSideEffects: true,
36488 symEffect: SymWrite,
36489 asm: s390x.AMOVW,
36490 reg: regInfo{
36491 inputs: []inputInfo{
36492 {0, 4295023614},
36493 {1, 56319},
36494 },
36495 },
36496 },
36497 {
36498 name: "MOVDatomicstore",
36499 auxType: auxSymOff,
36500 argLen: 3,
36501 clobberFlags: true,
36502 faultOnNilArg0: true,
36503 hasSideEffects: true,
36504 symEffect: SymWrite,
36505 asm: s390x.AMOVD,
36506 reg: regInfo{
36507 inputs: []inputInfo{
36508 {0, 4295023614},
36509 {1, 56319},
36510 },
36511 },
36512 },
36513 {
36514 name: "LAA",
36515 auxType: auxSymOff,
36516 argLen: 3,
36517 clobberFlags: true,
36518 faultOnNilArg0: true,
36519 hasSideEffects: true,
36520 symEffect: SymRdWr,
36521 asm: s390x.ALAA,
36522 reg: regInfo{
36523 inputs: []inputInfo{
36524 {0, 4295023614},
36525 {1, 56319},
36526 },
36527 outputs: []outputInfo{
36528 {0, 23551},
36529 },
36530 },
36531 },
36532 {
36533 name: "LAAG",
36534 auxType: auxSymOff,
36535 argLen: 3,
36536 clobberFlags: true,
36537 faultOnNilArg0: true,
36538 hasSideEffects: true,
36539 symEffect: SymRdWr,
36540 asm: s390x.ALAAG,
36541 reg: regInfo{
36542 inputs: []inputInfo{
36543 {0, 4295023614},
36544 {1, 56319},
36545 },
36546 outputs: []outputInfo{
36547 {0, 23551},
36548 },
36549 },
36550 },
36551 {
36552 name: "AddTupleFirst32",
36553 argLen: 2,
36554 reg: regInfo{},
36555 },
36556 {
36557 name: "AddTupleFirst64",
36558 argLen: 2,
36559 reg: regInfo{},
36560 },
36561 {
36562 name: "LAN",
36563 argLen: 3,
36564 clobberFlags: true,
36565 hasSideEffects: true,
36566 asm: s390x.ALAN,
36567 reg: regInfo{
36568 inputs: []inputInfo{
36569 {0, 4295023614},
36570 {1, 56319},
36571 },
36572 },
36573 },
36574 {
36575 name: "LANfloor",
36576 argLen: 3,
36577 clobberFlags: true,
36578 hasSideEffects: true,
36579 asm: s390x.ALAN,
36580 reg: regInfo{
36581 inputs: []inputInfo{
36582 {0, 2},
36583 {1, 56319},
36584 },
36585 clobbers: 2,
36586 },
36587 },
36588 {
36589 name: "LAO",
36590 argLen: 3,
36591 clobberFlags: true,
36592 hasSideEffects: true,
36593 asm: s390x.ALAO,
36594 reg: regInfo{
36595 inputs: []inputInfo{
36596 {0, 4295023614},
36597 {1, 56319},
36598 },
36599 },
36600 },
36601 {
36602 name: "LAOfloor",
36603 argLen: 3,
36604 clobberFlags: true,
36605 hasSideEffects: true,
36606 asm: s390x.ALAO,
36607 reg: regInfo{
36608 inputs: []inputInfo{
36609 {0, 2},
36610 {1, 56319},
36611 },
36612 clobbers: 2,
36613 },
36614 },
36615 {
36616 name: "LoweredAtomicCas32",
36617 auxType: auxSymOff,
36618 argLen: 4,
36619 clobberFlags: true,
36620 faultOnNilArg0: true,
36621 hasSideEffects: true,
36622 symEffect: SymRdWr,
36623 asm: s390x.ACS,
36624 reg: regInfo{
36625 inputs: []inputInfo{
36626 {1, 1},
36627 {0, 56318},
36628 {2, 56319},
36629 },
36630 clobbers: 1,
36631 outputs: []outputInfo{
36632 {1, 0},
36633 {0, 23551},
36634 },
36635 },
36636 },
36637 {
36638 name: "LoweredAtomicCas64",
36639 auxType: auxSymOff,
36640 argLen: 4,
36641 clobberFlags: true,
36642 faultOnNilArg0: true,
36643 hasSideEffects: true,
36644 symEffect: SymRdWr,
36645 asm: s390x.ACSG,
36646 reg: regInfo{
36647 inputs: []inputInfo{
36648 {1, 1},
36649 {0, 56318},
36650 {2, 56319},
36651 },
36652 clobbers: 1,
36653 outputs: []outputInfo{
36654 {1, 0},
36655 {0, 23551},
36656 },
36657 },
36658 },
36659 {
36660 name: "LoweredAtomicExchange32",
36661 auxType: auxSymOff,
36662 argLen: 3,
36663 clobberFlags: true,
36664 faultOnNilArg0: true,
36665 hasSideEffects: true,
36666 symEffect: SymRdWr,
36667 asm: s390x.ACS,
36668 reg: regInfo{
36669 inputs: []inputInfo{
36670 {0, 56318},
36671 {1, 56318},
36672 },
36673 outputs: []outputInfo{
36674 {1, 0},
36675 {0, 1},
36676 },
36677 },
36678 },
36679 {
36680 name: "LoweredAtomicExchange64",
36681 auxType: auxSymOff,
36682 argLen: 3,
36683 clobberFlags: true,
36684 faultOnNilArg0: true,
36685 hasSideEffects: true,
36686 symEffect: SymRdWr,
36687 asm: s390x.ACSG,
36688 reg: regInfo{
36689 inputs: []inputInfo{
36690 {0, 56318},
36691 {1, 56318},
36692 },
36693 outputs: []outputInfo{
36694 {1, 0},
36695 {0, 1},
36696 },
36697 },
36698 },
36699 {
36700 name: "FLOGR",
36701 argLen: 1,
36702 clobberFlags: true,
36703 asm: s390x.AFLOGR,
36704 reg: regInfo{
36705 inputs: []inputInfo{
36706 {0, 23551},
36707 },
36708 clobbers: 2,
36709 outputs: []outputInfo{
36710 {0, 1},
36711 },
36712 },
36713 },
36714 {
36715 name: "POPCNT",
36716 argLen: 1,
36717 clobberFlags: true,
36718 asm: s390x.APOPCNT,
36719 reg: regInfo{
36720 inputs: []inputInfo{
36721 {0, 23551},
36722 },
36723 outputs: []outputInfo{
36724 {0, 23551},
36725 },
36726 },
36727 },
36728 {
36729 name: "MLGR",
36730 argLen: 2,
36731 asm: s390x.AMLGR,
36732 reg: regInfo{
36733 inputs: []inputInfo{
36734 {1, 8},
36735 {0, 23551},
36736 },
36737 outputs: []outputInfo{
36738 {0, 4},
36739 {1, 8},
36740 },
36741 },
36742 },
36743 {
36744 name: "SumBytes2",
36745 argLen: 1,
36746 reg: regInfo{},
36747 },
36748 {
36749 name: "SumBytes4",
36750 argLen: 1,
36751 reg: regInfo{},
36752 },
36753 {
36754 name: "SumBytes8",
36755 argLen: 1,
36756 reg: regInfo{},
36757 },
36758 {
36759 name: "STMG2",
36760 auxType: auxSymOff,
36761 argLen: 4,
36762 clobberFlags: true,
36763 faultOnNilArg0: true,
36764 symEffect: SymWrite,
36765 asm: s390x.ASTMG,
36766 reg: regInfo{
36767 inputs: []inputInfo{
36768 {1, 2},
36769 {2, 4},
36770 {0, 56318},
36771 },
36772 },
36773 },
36774 {
36775 name: "STMG3",
36776 auxType: auxSymOff,
36777 argLen: 5,
36778 clobberFlags: true,
36779 faultOnNilArg0: true,
36780 symEffect: SymWrite,
36781 asm: s390x.ASTMG,
36782 reg: regInfo{
36783 inputs: []inputInfo{
36784 {1, 2},
36785 {2, 4},
36786 {3, 8},
36787 {0, 56318},
36788 },
36789 },
36790 },
36791 {
36792 name: "STMG4",
36793 auxType: auxSymOff,
36794 argLen: 6,
36795 clobberFlags: true,
36796 faultOnNilArg0: true,
36797 symEffect: SymWrite,
36798 asm: s390x.ASTMG,
36799 reg: regInfo{
36800 inputs: []inputInfo{
36801 {1, 2},
36802 {2, 4},
36803 {3, 8},
36804 {4, 16},
36805 {0, 56318},
36806 },
36807 },
36808 },
36809 {
36810 name: "STM2",
36811 auxType: auxSymOff,
36812 argLen: 4,
36813 clobberFlags: true,
36814 faultOnNilArg0: true,
36815 symEffect: SymWrite,
36816 asm: s390x.ASTMY,
36817 reg: regInfo{
36818 inputs: []inputInfo{
36819 {1, 2},
36820 {2, 4},
36821 {0, 56318},
36822 },
36823 },
36824 },
36825 {
36826 name: "STM3",
36827 auxType: auxSymOff,
36828 argLen: 5,
36829 clobberFlags: true,
36830 faultOnNilArg0: true,
36831 symEffect: SymWrite,
36832 asm: s390x.ASTMY,
36833 reg: regInfo{
36834 inputs: []inputInfo{
36835 {1, 2},
36836 {2, 4},
36837 {3, 8},
36838 {0, 56318},
36839 },
36840 },
36841 },
36842 {
36843 name: "STM4",
36844 auxType: auxSymOff,
36845 argLen: 6,
36846 clobberFlags: true,
36847 faultOnNilArg0: true,
36848 symEffect: SymWrite,
36849 asm: s390x.ASTMY,
36850 reg: regInfo{
36851 inputs: []inputInfo{
36852 {1, 2},
36853 {2, 4},
36854 {3, 8},
36855 {4, 16},
36856 {0, 56318},
36857 },
36858 },
36859 },
36860 {
36861 name: "LoweredMove",
36862 auxType: auxInt64,
36863 argLen: 4,
36864 clobberFlags: true,
36865 faultOnNilArg0: true,
36866 faultOnNilArg1: true,
36867 reg: regInfo{
36868 inputs: []inputInfo{
36869 {0, 2},
36870 {1, 4},
36871 {2, 56319},
36872 },
36873 clobbers: 6,
36874 },
36875 },
36876 {
36877 name: "LoweredZero",
36878 auxType: auxInt64,
36879 argLen: 3,
36880 clobberFlags: true,
36881 faultOnNilArg0: true,
36882 reg: regInfo{
36883 inputs: []inputInfo{
36884 {0, 2},
36885 {1, 56319},
36886 },
36887 clobbers: 2,
36888 },
36889 },
36890
36891 {
36892 name: "LoweredStaticCall",
36893 auxType: auxCallOff,
36894 argLen: 1,
36895 call: true,
36896 reg: regInfo{
36897 clobbers: 844424930131967,
36898 },
36899 },
36900 {
36901 name: "LoweredTailCall",
36902 auxType: auxCallOff,
36903 argLen: 1,
36904 call: true,
36905 tailCall: true,
36906 reg: regInfo{
36907 clobbers: 844424930131967,
36908 },
36909 },
36910 {
36911 name: "LoweredClosureCall",
36912 auxType: auxCallOff,
36913 argLen: 3,
36914 call: true,
36915 reg: regInfo{
36916 inputs: []inputInfo{
36917 {0, 65535},
36918 {1, 65535},
36919 },
36920 clobbers: 844424930131967,
36921 },
36922 },
36923 {
36924 name: "LoweredInterCall",
36925 auxType: auxCallOff,
36926 argLen: 2,
36927 call: true,
36928 reg: regInfo{
36929 inputs: []inputInfo{
36930 {0, 65535},
36931 },
36932 clobbers: 844424930131967,
36933 },
36934 },
36935 {
36936 name: "LoweredAddr",
36937 auxType: auxSymOff,
36938 argLen: 1,
36939 rematerializeable: true,
36940 symEffect: SymAddr,
36941 reg: regInfo{
36942 inputs: []inputInfo{
36943 {0, 281474976776191},
36944 },
36945 outputs: []outputInfo{
36946 {0, 65535},
36947 },
36948 },
36949 },
36950 {
36951 name: "LoweredMove",
36952 auxType: auxInt64,
36953 argLen: 3,
36954 reg: regInfo{
36955 inputs: []inputInfo{
36956 {0, 65535},
36957 {1, 65535},
36958 },
36959 },
36960 },
36961 {
36962 name: "LoweredZero",
36963 auxType: auxInt64,
36964 argLen: 2,
36965 reg: regInfo{
36966 inputs: []inputInfo{
36967 {0, 65535},
36968 },
36969 },
36970 },
36971 {
36972 name: "LoweredGetClosurePtr",
36973 argLen: 0,
36974 reg: regInfo{
36975 outputs: []outputInfo{
36976 {0, 65535},
36977 },
36978 },
36979 },
36980 {
36981 name: "LoweredGetCallerPC",
36982 argLen: 0,
36983 rematerializeable: true,
36984 reg: regInfo{
36985 outputs: []outputInfo{
36986 {0, 65535},
36987 },
36988 },
36989 },
36990 {
36991 name: "LoweredGetCallerSP",
36992 argLen: 1,
36993 rematerializeable: true,
36994 reg: regInfo{
36995 outputs: []outputInfo{
36996 {0, 65535},
36997 },
36998 },
36999 },
37000 {
37001 name: "LoweredNilCheck",
37002 argLen: 2,
37003 nilCheck: true,
37004 faultOnNilArg0: true,
37005 reg: regInfo{
37006 inputs: []inputInfo{
37007 {0, 65535},
37008 },
37009 },
37010 },
37011 {
37012 name: "LoweredWB",
37013 auxType: auxInt64,
37014 argLen: 1,
37015 reg: regInfo{
37016 clobbers: 844424930131967,
37017 outputs: []outputInfo{
37018 {0, 65535},
37019 },
37020 },
37021 },
37022 {
37023 name: "LoweredConvert",
37024 argLen: 2,
37025 reg: regInfo{
37026 inputs: []inputInfo{
37027 {0, 65535},
37028 },
37029 outputs: []outputInfo{
37030 {0, 65535},
37031 },
37032 },
37033 },
37034 {
37035 name: "Select",
37036 argLen: 3,
37037 asm: wasm.ASelect,
37038 reg: regInfo{
37039 inputs: []inputInfo{
37040 {0, 281474976776191},
37041 {1, 281474976776191},
37042 {2, 281474976776191},
37043 },
37044 outputs: []outputInfo{
37045 {0, 65535},
37046 },
37047 },
37048 },
37049 {
37050 name: "I64Load8U",
37051 auxType: auxInt64,
37052 argLen: 2,
37053 asm: wasm.AI64Load8U,
37054 reg: regInfo{
37055 inputs: []inputInfo{
37056 {0, 1407374883618815},
37057 },
37058 outputs: []outputInfo{
37059 {0, 65535},
37060 },
37061 },
37062 },
37063 {
37064 name: "I64Load8S",
37065 auxType: auxInt64,
37066 argLen: 2,
37067 asm: wasm.AI64Load8S,
37068 reg: regInfo{
37069 inputs: []inputInfo{
37070 {0, 1407374883618815},
37071 },
37072 outputs: []outputInfo{
37073 {0, 65535},
37074 },
37075 },
37076 },
37077 {
37078 name: "I64Load16U",
37079 auxType: auxInt64,
37080 argLen: 2,
37081 asm: wasm.AI64Load16U,
37082 reg: regInfo{
37083 inputs: []inputInfo{
37084 {0, 1407374883618815},
37085 },
37086 outputs: []outputInfo{
37087 {0, 65535},
37088 },
37089 },
37090 },
37091 {
37092 name: "I64Load16S",
37093 auxType: auxInt64,
37094 argLen: 2,
37095 asm: wasm.AI64Load16S,
37096 reg: regInfo{
37097 inputs: []inputInfo{
37098 {0, 1407374883618815},
37099 },
37100 outputs: []outputInfo{
37101 {0, 65535},
37102 },
37103 },
37104 },
37105 {
37106 name: "I64Load32U",
37107 auxType: auxInt64,
37108 argLen: 2,
37109 asm: wasm.AI64Load32U,
37110 reg: regInfo{
37111 inputs: []inputInfo{
37112 {0, 1407374883618815},
37113 },
37114 outputs: []outputInfo{
37115 {0, 65535},
37116 },
37117 },
37118 },
37119 {
37120 name: "I64Load32S",
37121 auxType: auxInt64,
37122 argLen: 2,
37123 asm: wasm.AI64Load32S,
37124 reg: regInfo{
37125 inputs: []inputInfo{
37126 {0, 1407374883618815},
37127 },
37128 outputs: []outputInfo{
37129 {0, 65535},
37130 },
37131 },
37132 },
37133 {
37134 name: "I64Load",
37135 auxType: auxInt64,
37136 argLen: 2,
37137 asm: wasm.AI64Load,
37138 reg: regInfo{
37139 inputs: []inputInfo{
37140 {0, 1407374883618815},
37141 },
37142 outputs: []outputInfo{
37143 {0, 65535},
37144 },
37145 },
37146 },
37147 {
37148 name: "I64Store8",
37149 auxType: auxInt64,
37150 argLen: 3,
37151 asm: wasm.AI64Store8,
37152 reg: regInfo{
37153 inputs: []inputInfo{
37154 {1, 281474976776191},
37155 {0, 1407374883618815},
37156 },
37157 },
37158 },
37159 {
37160 name: "I64Store16",
37161 auxType: auxInt64,
37162 argLen: 3,
37163 asm: wasm.AI64Store16,
37164 reg: regInfo{
37165 inputs: []inputInfo{
37166 {1, 281474976776191},
37167 {0, 1407374883618815},
37168 },
37169 },
37170 },
37171 {
37172 name: "I64Store32",
37173 auxType: auxInt64,
37174 argLen: 3,
37175 asm: wasm.AI64Store32,
37176 reg: regInfo{
37177 inputs: []inputInfo{
37178 {1, 281474976776191},
37179 {0, 1407374883618815},
37180 },
37181 },
37182 },
37183 {
37184 name: "I64Store",
37185 auxType: auxInt64,
37186 argLen: 3,
37187 asm: wasm.AI64Store,
37188 reg: regInfo{
37189 inputs: []inputInfo{
37190 {1, 281474976776191},
37191 {0, 1407374883618815},
37192 },
37193 },
37194 },
37195 {
37196 name: "F32Load",
37197 auxType: auxInt64,
37198 argLen: 2,
37199 asm: wasm.AF32Load,
37200 reg: regInfo{
37201 inputs: []inputInfo{
37202 {0, 1407374883618815},
37203 },
37204 outputs: []outputInfo{
37205 {0, 4294901760},
37206 },
37207 },
37208 },
37209 {
37210 name: "F64Load",
37211 auxType: auxInt64,
37212 argLen: 2,
37213 asm: wasm.AF64Load,
37214 reg: regInfo{
37215 inputs: []inputInfo{
37216 {0, 1407374883618815},
37217 },
37218 outputs: []outputInfo{
37219 {0, 281470681743360},
37220 },
37221 },
37222 },
37223 {
37224 name: "F32Store",
37225 auxType: auxInt64,
37226 argLen: 3,
37227 asm: wasm.AF32Store,
37228 reg: regInfo{
37229 inputs: []inputInfo{
37230 {1, 4294901760},
37231 {0, 1407374883618815},
37232 },
37233 },
37234 },
37235 {
37236 name: "F64Store",
37237 auxType: auxInt64,
37238 argLen: 3,
37239 asm: wasm.AF64Store,
37240 reg: regInfo{
37241 inputs: []inputInfo{
37242 {1, 281470681743360},
37243 {0, 1407374883618815},
37244 },
37245 },
37246 },
37247 {
37248 name: "I64Const",
37249 auxType: auxInt64,
37250 argLen: 0,
37251 rematerializeable: true,
37252 reg: regInfo{
37253 outputs: []outputInfo{
37254 {0, 65535},
37255 },
37256 },
37257 },
37258 {
37259 name: "F32Const",
37260 auxType: auxFloat32,
37261 argLen: 0,
37262 rematerializeable: true,
37263 reg: regInfo{
37264 outputs: []outputInfo{
37265 {0, 4294901760},
37266 },
37267 },
37268 },
37269 {
37270 name: "F64Const",
37271 auxType: auxFloat64,
37272 argLen: 0,
37273 rematerializeable: true,
37274 reg: regInfo{
37275 outputs: []outputInfo{
37276 {0, 281470681743360},
37277 },
37278 },
37279 },
37280 {
37281 name: "I64Eqz",
37282 argLen: 1,
37283 asm: wasm.AI64Eqz,
37284 reg: regInfo{
37285 inputs: []inputInfo{
37286 {0, 281474976776191},
37287 },
37288 outputs: []outputInfo{
37289 {0, 65535},
37290 },
37291 },
37292 },
37293 {
37294 name: "I64Eq",
37295 argLen: 2,
37296 asm: wasm.AI64Eq,
37297 reg: regInfo{
37298 inputs: []inputInfo{
37299 {0, 281474976776191},
37300 {1, 281474976776191},
37301 },
37302 outputs: []outputInfo{
37303 {0, 65535},
37304 },
37305 },
37306 },
37307 {
37308 name: "I64Ne",
37309 argLen: 2,
37310 asm: wasm.AI64Ne,
37311 reg: regInfo{
37312 inputs: []inputInfo{
37313 {0, 281474976776191},
37314 {1, 281474976776191},
37315 },
37316 outputs: []outputInfo{
37317 {0, 65535},
37318 },
37319 },
37320 },
37321 {
37322 name: "I64LtS",
37323 argLen: 2,
37324 asm: wasm.AI64LtS,
37325 reg: regInfo{
37326 inputs: []inputInfo{
37327 {0, 281474976776191},
37328 {1, 281474976776191},
37329 },
37330 outputs: []outputInfo{
37331 {0, 65535},
37332 },
37333 },
37334 },
37335 {
37336 name: "I64LtU",
37337 argLen: 2,
37338 asm: wasm.AI64LtU,
37339 reg: regInfo{
37340 inputs: []inputInfo{
37341 {0, 281474976776191},
37342 {1, 281474976776191},
37343 },
37344 outputs: []outputInfo{
37345 {0, 65535},
37346 },
37347 },
37348 },
37349 {
37350 name: "I64GtS",
37351 argLen: 2,
37352 asm: wasm.AI64GtS,
37353 reg: regInfo{
37354 inputs: []inputInfo{
37355 {0, 281474976776191},
37356 {1, 281474976776191},
37357 },
37358 outputs: []outputInfo{
37359 {0, 65535},
37360 },
37361 },
37362 },
37363 {
37364 name: "I64GtU",
37365 argLen: 2,
37366 asm: wasm.AI64GtU,
37367 reg: regInfo{
37368 inputs: []inputInfo{
37369 {0, 281474976776191},
37370 {1, 281474976776191},
37371 },
37372 outputs: []outputInfo{
37373 {0, 65535},
37374 },
37375 },
37376 },
37377 {
37378 name: "I64LeS",
37379 argLen: 2,
37380 asm: wasm.AI64LeS,
37381 reg: regInfo{
37382 inputs: []inputInfo{
37383 {0, 281474976776191},
37384 {1, 281474976776191},
37385 },
37386 outputs: []outputInfo{
37387 {0, 65535},
37388 },
37389 },
37390 },
37391 {
37392 name: "I64LeU",
37393 argLen: 2,
37394 asm: wasm.AI64LeU,
37395 reg: regInfo{
37396 inputs: []inputInfo{
37397 {0, 281474976776191},
37398 {1, 281474976776191},
37399 },
37400 outputs: []outputInfo{
37401 {0, 65535},
37402 },
37403 },
37404 },
37405 {
37406 name: "I64GeS",
37407 argLen: 2,
37408 asm: wasm.AI64GeS,
37409 reg: regInfo{
37410 inputs: []inputInfo{
37411 {0, 281474976776191},
37412 {1, 281474976776191},
37413 },
37414 outputs: []outputInfo{
37415 {0, 65535},
37416 },
37417 },
37418 },
37419 {
37420 name: "I64GeU",
37421 argLen: 2,
37422 asm: wasm.AI64GeU,
37423 reg: regInfo{
37424 inputs: []inputInfo{
37425 {0, 281474976776191},
37426 {1, 281474976776191},
37427 },
37428 outputs: []outputInfo{
37429 {0, 65535},
37430 },
37431 },
37432 },
37433 {
37434 name: "F32Eq",
37435 argLen: 2,
37436 asm: wasm.AF32Eq,
37437 reg: regInfo{
37438 inputs: []inputInfo{
37439 {0, 4294901760},
37440 {1, 4294901760},
37441 },
37442 outputs: []outputInfo{
37443 {0, 65535},
37444 },
37445 },
37446 },
37447 {
37448 name: "F32Ne",
37449 argLen: 2,
37450 asm: wasm.AF32Ne,
37451 reg: regInfo{
37452 inputs: []inputInfo{
37453 {0, 4294901760},
37454 {1, 4294901760},
37455 },
37456 outputs: []outputInfo{
37457 {0, 65535},
37458 },
37459 },
37460 },
37461 {
37462 name: "F32Lt",
37463 argLen: 2,
37464 asm: wasm.AF32Lt,
37465 reg: regInfo{
37466 inputs: []inputInfo{
37467 {0, 4294901760},
37468 {1, 4294901760},
37469 },
37470 outputs: []outputInfo{
37471 {0, 65535},
37472 },
37473 },
37474 },
37475 {
37476 name: "F32Gt",
37477 argLen: 2,
37478 asm: wasm.AF32Gt,
37479 reg: regInfo{
37480 inputs: []inputInfo{
37481 {0, 4294901760},
37482 {1, 4294901760},
37483 },
37484 outputs: []outputInfo{
37485 {0, 65535},
37486 },
37487 },
37488 },
37489 {
37490 name: "F32Le",
37491 argLen: 2,
37492 asm: wasm.AF32Le,
37493 reg: regInfo{
37494 inputs: []inputInfo{
37495 {0, 4294901760},
37496 {1, 4294901760},
37497 },
37498 outputs: []outputInfo{
37499 {0, 65535},
37500 },
37501 },
37502 },
37503 {
37504 name: "F32Ge",
37505 argLen: 2,
37506 asm: wasm.AF32Ge,
37507 reg: regInfo{
37508 inputs: []inputInfo{
37509 {0, 4294901760},
37510 {1, 4294901760},
37511 },
37512 outputs: []outputInfo{
37513 {0, 65535},
37514 },
37515 },
37516 },
37517 {
37518 name: "F64Eq",
37519 argLen: 2,
37520 asm: wasm.AF64Eq,
37521 reg: regInfo{
37522 inputs: []inputInfo{
37523 {0, 281470681743360},
37524 {1, 281470681743360},
37525 },
37526 outputs: []outputInfo{
37527 {0, 65535},
37528 },
37529 },
37530 },
37531 {
37532 name: "F64Ne",
37533 argLen: 2,
37534 asm: wasm.AF64Ne,
37535 reg: regInfo{
37536 inputs: []inputInfo{
37537 {0, 281470681743360},
37538 {1, 281470681743360},
37539 },
37540 outputs: []outputInfo{
37541 {0, 65535},
37542 },
37543 },
37544 },
37545 {
37546 name: "F64Lt",
37547 argLen: 2,
37548 asm: wasm.AF64Lt,
37549 reg: regInfo{
37550 inputs: []inputInfo{
37551 {0, 281470681743360},
37552 {1, 281470681743360},
37553 },
37554 outputs: []outputInfo{
37555 {0, 65535},
37556 },
37557 },
37558 },
37559 {
37560 name: "F64Gt",
37561 argLen: 2,
37562 asm: wasm.AF64Gt,
37563 reg: regInfo{
37564 inputs: []inputInfo{
37565 {0, 281470681743360},
37566 {1, 281470681743360},
37567 },
37568 outputs: []outputInfo{
37569 {0, 65535},
37570 },
37571 },
37572 },
37573 {
37574 name: "F64Le",
37575 argLen: 2,
37576 asm: wasm.AF64Le,
37577 reg: regInfo{
37578 inputs: []inputInfo{
37579 {0, 281470681743360},
37580 {1, 281470681743360},
37581 },
37582 outputs: []outputInfo{
37583 {0, 65535},
37584 },
37585 },
37586 },
37587 {
37588 name: "F64Ge",
37589 argLen: 2,
37590 asm: wasm.AF64Ge,
37591 reg: regInfo{
37592 inputs: []inputInfo{
37593 {0, 281470681743360},
37594 {1, 281470681743360},
37595 },
37596 outputs: []outputInfo{
37597 {0, 65535},
37598 },
37599 },
37600 },
37601 {
37602 name: "I64Add",
37603 argLen: 2,
37604 asm: wasm.AI64Add,
37605 reg: regInfo{
37606 inputs: []inputInfo{
37607 {0, 281474976776191},
37608 {1, 281474976776191},
37609 },
37610 outputs: []outputInfo{
37611 {0, 65535},
37612 },
37613 },
37614 },
37615 {
37616 name: "I64AddConst",
37617 auxType: auxInt64,
37618 argLen: 1,
37619 asm: wasm.AI64Add,
37620 reg: regInfo{
37621 inputs: []inputInfo{
37622 {0, 281474976776191},
37623 },
37624 outputs: []outputInfo{
37625 {0, 65535},
37626 },
37627 },
37628 },
37629 {
37630 name: "I64Sub",
37631 argLen: 2,
37632 asm: wasm.AI64Sub,
37633 reg: regInfo{
37634 inputs: []inputInfo{
37635 {0, 281474976776191},
37636 {1, 281474976776191},
37637 },
37638 outputs: []outputInfo{
37639 {0, 65535},
37640 },
37641 },
37642 },
37643 {
37644 name: "I64Mul",
37645 argLen: 2,
37646 asm: wasm.AI64Mul,
37647 reg: regInfo{
37648 inputs: []inputInfo{
37649 {0, 281474976776191},
37650 {1, 281474976776191},
37651 },
37652 outputs: []outputInfo{
37653 {0, 65535},
37654 },
37655 },
37656 },
37657 {
37658 name: "I64DivS",
37659 argLen: 2,
37660 asm: wasm.AI64DivS,
37661 reg: regInfo{
37662 inputs: []inputInfo{
37663 {0, 281474976776191},
37664 {1, 281474976776191},
37665 },
37666 outputs: []outputInfo{
37667 {0, 65535},
37668 },
37669 },
37670 },
37671 {
37672 name: "I64DivU",
37673 argLen: 2,
37674 asm: wasm.AI64DivU,
37675 reg: regInfo{
37676 inputs: []inputInfo{
37677 {0, 281474976776191},
37678 {1, 281474976776191},
37679 },
37680 outputs: []outputInfo{
37681 {0, 65535},
37682 },
37683 },
37684 },
37685 {
37686 name: "I64RemS",
37687 argLen: 2,
37688 asm: wasm.AI64RemS,
37689 reg: regInfo{
37690 inputs: []inputInfo{
37691 {0, 281474976776191},
37692 {1, 281474976776191},
37693 },
37694 outputs: []outputInfo{
37695 {0, 65535},
37696 },
37697 },
37698 },
37699 {
37700 name: "I64RemU",
37701 argLen: 2,
37702 asm: wasm.AI64RemU,
37703 reg: regInfo{
37704 inputs: []inputInfo{
37705 {0, 281474976776191},
37706 {1, 281474976776191},
37707 },
37708 outputs: []outputInfo{
37709 {0, 65535},
37710 },
37711 },
37712 },
37713 {
37714 name: "I64And",
37715 argLen: 2,
37716 asm: wasm.AI64And,
37717 reg: regInfo{
37718 inputs: []inputInfo{
37719 {0, 281474976776191},
37720 {1, 281474976776191},
37721 },
37722 outputs: []outputInfo{
37723 {0, 65535},
37724 },
37725 },
37726 },
37727 {
37728 name: "I64Or",
37729 argLen: 2,
37730 asm: wasm.AI64Or,
37731 reg: regInfo{
37732 inputs: []inputInfo{
37733 {0, 281474976776191},
37734 {1, 281474976776191},
37735 },
37736 outputs: []outputInfo{
37737 {0, 65535},
37738 },
37739 },
37740 },
37741 {
37742 name: "I64Xor",
37743 argLen: 2,
37744 asm: wasm.AI64Xor,
37745 reg: regInfo{
37746 inputs: []inputInfo{
37747 {0, 281474976776191},
37748 {1, 281474976776191},
37749 },
37750 outputs: []outputInfo{
37751 {0, 65535},
37752 },
37753 },
37754 },
37755 {
37756 name: "I64Shl",
37757 argLen: 2,
37758 asm: wasm.AI64Shl,
37759 reg: regInfo{
37760 inputs: []inputInfo{
37761 {0, 281474976776191},
37762 {1, 281474976776191},
37763 },
37764 outputs: []outputInfo{
37765 {0, 65535},
37766 },
37767 },
37768 },
37769 {
37770 name: "I64ShrS",
37771 argLen: 2,
37772 asm: wasm.AI64ShrS,
37773 reg: regInfo{
37774 inputs: []inputInfo{
37775 {0, 281474976776191},
37776 {1, 281474976776191},
37777 },
37778 outputs: []outputInfo{
37779 {0, 65535},
37780 },
37781 },
37782 },
37783 {
37784 name: "I64ShrU",
37785 argLen: 2,
37786 asm: wasm.AI64ShrU,
37787 reg: regInfo{
37788 inputs: []inputInfo{
37789 {0, 281474976776191},
37790 {1, 281474976776191},
37791 },
37792 outputs: []outputInfo{
37793 {0, 65535},
37794 },
37795 },
37796 },
37797 {
37798 name: "F32Neg",
37799 argLen: 1,
37800 asm: wasm.AF32Neg,
37801 reg: regInfo{
37802 inputs: []inputInfo{
37803 {0, 4294901760},
37804 },
37805 outputs: []outputInfo{
37806 {0, 4294901760},
37807 },
37808 },
37809 },
37810 {
37811 name: "F32Add",
37812 argLen: 2,
37813 asm: wasm.AF32Add,
37814 reg: regInfo{
37815 inputs: []inputInfo{
37816 {0, 4294901760},
37817 {1, 4294901760},
37818 },
37819 outputs: []outputInfo{
37820 {0, 4294901760},
37821 },
37822 },
37823 },
37824 {
37825 name: "F32Sub",
37826 argLen: 2,
37827 asm: wasm.AF32Sub,
37828 reg: regInfo{
37829 inputs: []inputInfo{
37830 {0, 4294901760},
37831 {1, 4294901760},
37832 },
37833 outputs: []outputInfo{
37834 {0, 4294901760},
37835 },
37836 },
37837 },
37838 {
37839 name: "F32Mul",
37840 argLen: 2,
37841 asm: wasm.AF32Mul,
37842 reg: regInfo{
37843 inputs: []inputInfo{
37844 {0, 4294901760},
37845 {1, 4294901760},
37846 },
37847 outputs: []outputInfo{
37848 {0, 4294901760},
37849 },
37850 },
37851 },
37852 {
37853 name: "F32Div",
37854 argLen: 2,
37855 asm: wasm.AF32Div,
37856 reg: regInfo{
37857 inputs: []inputInfo{
37858 {0, 4294901760},
37859 {1, 4294901760},
37860 },
37861 outputs: []outputInfo{
37862 {0, 4294901760},
37863 },
37864 },
37865 },
37866 {
37867 name: "F64Neg",
37868 argLen: 1,
37869 asm: wasm.AF64Neg,
37870 reg: regInfo{
37871 inputs: []inputInfo{
37872 {0, 281470681743360},
37873 },
37874 outputs: []outputInfo{
37875 {0, 281470681743360},
37876 },
37877 },
37878 },
37879 {
37880 name: "F64Add",
37881 argLen: 2,
37882 asm: wasm.AF64Add,
37883 reg: regInfo{
37884 inputs: []inputInfo{
37885 {0, 281470681743360},
37886 {1, 281470681743360},
37887 },
37888 outputs: []outputInfo{
37889 {0, 281470681743360},
37890 },
37891 },
37892 },
37893 {
37894 name: "F64Sub",
37895 argLen: 2,
37896 asm: wasm.AF64Sub,
37897 reg: regInfo{
37898 inputs: []inputInfo{
37899 {0, 281470681743360},
37900 {1, 281470681743360},
37901 },
37902 outputs: []outputInfo{
37903 {0, 281470681743360},
37904 },
37905 },
37906 },
37907 {
37908 name: "F64Mul",
37909 argLen: 2,
37910 asm: wasm.AF64Mul,
37911 reg: regInfo{
37912 inputs: []inputInfo{
37913 {0, 281470681743360},
37914 {1, 281470681743360},
37915 },
37916 outputs: []outputInfo{
37917 {0, 281470681743360},
37918 },
37919 },
37920 },
37921 {
37922 name: "F64Div",
37923 argLen: 2,
37924 asm: wasm.AF64Div,
37925 reg: regInfo{
37926 inputs: []inputInfo{
37927 {0, 281470681743360},
37928 {1, 281470681743360},
37929 },
37930 outputs: []outputInfo{
37931 {0, 281470681743360},
37932 },
37933 },
37934 },
37935 {
37936 name: "I64TruncSatF64S",
37937 argLen: 1,
37938 asm: wasm.AI64TruncSatF64S,
37939 reg: regInfo{
37940 inputs: []inputInfo{
37941 {0, 281470681743360},
37942 },
37943 outputs: []outputInfo{
37944 {0, 65535},
37945 },
37946 },
37947 },
37948 {
37949 name: "I64TruncSatF64U",
37950 argLen: 1,
37951 asm: wasm.AI64TruncSatF64U,
37952 reg: regInfo{
37953 inputs: []inputInfo{
37954 {0, 281470681743360},
37955 },
37956 outputs: []outputInfo{
37957 {0, 65535},
37958 },
37959 },
37960 },
37961 {
37962 name: "I64TruncSatF32S",
37963 argLen: 1,
37964 asm: wasm.AI64TruncSatF32S,
37965 reg: regInfo{
37966 inputs: []inputInfo{
37967 {0, 4294901760},
37968 },
37969 outputs: []outputInfo{
37970 {0, 65535},
37971 },
37972 },
37973 },
37974 {
37975 name: "I64TruncSatF32U",
37976 argLen: 1,
37977 asm: wasm.AI64TruncSatF32U,
37978 reg: regInfo{
37979 inputs: []inputInfo{
37980 {0, 4294901760},
37981 },
37982 outputs: []outputInfo{
37983 {0, 65535},
37984 },
37985 },
37986 },
37987 {
37988 name: "F32ConvertI64S",
37989 argLen: 1,
37990 asm: wasm.AF32ConvertI64S,
37991 reg: regInfo{
37992 inputs: []inputInfo{
37993 {0, 65535},
37994 },
37995 outputs: []outputInfo{
37996 {0, 4294901760},
37997 },
37998 },
37999 },
38000 {
38001 name: "F32ConvertI64U",
38002 argLen: 1,
38003 asm: wasm.AF32ConvertI64U,
38004 reg: regInfo{
38005 inputs: []inputInfo{
38006 {0, 65535},
38007 },
38008 outputs: []outputInfo{
38009 {0, 4294901760},
38010 },
38011 },
38012 },
38013 {
38014 name: "F64ConvertI64S",
38015 argLen: 1,
38016 asm: wasm.AF64ConvertI64S,
38017 reg: regInfo{
38018 inputs: []inputInfo{
38019 {0, 65535},
38020 },
38021 outputs: []outputInfo{
38022 {0, 281470681743360},
38023 },
38024 },
38025 },
38026 {
38027 name: "F64ConvertI64U",
38028 argLen: 1,
38029 asm: wasm.AF64ConvertI64U,
38030 reg: regInfo{
38031 inputs: []inputInfo{
38032 {0, 65535},
38033 },
38034 outputs: []outputInfo{
38035 {0, 281470681743360},
38036 },
38037 },
38038 },
38039 {
38040 name: "F32DemoteF64",
38041 argLen: 1,
38042 asm: wasm.AF32DemoteF64,
38043 reg: regInfo{
38044 inputs: []inputInfo{
38045 {0, 281470681743360},
38046 },
38047 outputs: []outputInfo{
38048 {0, 4294901760},
38049 },
38050 },
38051 },
38052 {
38053 name: "F64PromoteF32",
38054 argLen: 1,
38055 asm: wasm.AF64PromoteF32,
38056 reg: regInfo{
38057 inputs: []inputInfo{
38058 {0, 4294901760},
38059 },
38060 outputs: []outputInfo{
38061 {0, 281470681743360},
38062 },
38063 },
38064 },
38065 {
38066 name: "I64Extend8S",
38067 argLen: 1,
38068 asm: wasm.AI64Extend8S,
38069 reg: regInfo{
38070 inputs: []inputInfo{
38071 {0, 281474976776191},
38072 },
38073 outputs: []outputInfo{
38074 {0, 65535},
38075 },
38076 },
38077 },
38078 {
38079 name: "I64Extend16S",
38080 argLen: 1,
38081 asm: wasm.AI64Extend16S,
38082 reg: regInfo{
38083 inputs: []inputInfo{
38084 {0, 281474976776191},
38085 },
38086 outputs: []outputInfo{
38087 {0, 65535},
38088 },
38089 },
38090 },
38091 {
38092 name: "I64Extend32S",
38093 argLen: 1,
38094 asm: wasm.AI64Extend32S,
38095 reg: regInfo{
38096 inputs: []inputInfo{
38097 {0, 281474976776191},
38098 },
38099 outputs: []outputInfo{
38100 {0, 65535},
38101 },
38102 },
38103 },
38104 {
38105 name: "F32Sqrt",
38106 argLen: 1,
38107 asm: wasm.AF32Sqrt,
38108 reg: regInfo{
38109 inputs: []inputInfo{
38110 {0, 4294901760},
38111 },
38112 outputs: []outputInfo{
38113 {0, 4294901760},
38114 },
38115 },
38116 },
38117 {
38118 name: "F32Trunc",
38119 argLen: 1,
38120 asm: wasm.AF32Trunc,
38121 reg: regInfo{
38122 inputs: []inputInfo{
38123 {0, 4294901760},
38124 },
38125 outputs: []outputInfo{
38126 {0, 4294901760},
38127 },
38128 },
38129 },
38130 {
38131 name: "F32Ceil",
38132 argLen: 1,
38133 asm: wasm.AF32Ceil,
38134 reg: regInfo{
38135 inputs: []inputInfo{
38136 {0, 4294901760},
38137 },
38138 outputs: []outputInfo{
38139 {0, 4294901760},
38140 },
38141 },
38142 },
38143 {
38144 name: "F32Floor",
38145 argLen: 1,
38146 asm: wasm.AF32Floor,
38147 reg: regInfo{
38148 inputs: []inputInfo{
38149 {0, 4294901760},
38150 },
38151 outputs: []outputInfo{
38152 {0, 4294901760},
38153 },
38154 },
38155 },
38156 {
38157 name: "F32Nearest",
38158 argLen: 1,
38159 asm: wasm.AF32Nearest,
38160 reg: regInfo{
38161 inputs: []inputInfo{
38162 {0, 4294901760},
38163 },
38164 outputs: []outputInfo{
38165 {0, 4294901760},
38166 },
38167 },
38168 },
38169 {
38170 name: "F32Abs",
38171 argLen: 1,
38172 asm: wasm.AF32Abs,
38173 reg: regInfo{
38174 inputs: []inputInfo{
38175 {0, 4294901760},
38176 },
38177 outputs: []outputInfo{
38178 {0, 4294901760},
38179 },
38180 },
38181 },
38182 {
38183 name: "F32Copysign",
38184 argLen: 2,
38185 asm: wasm.AF32Copysign,
38186 reg: regInfo{
38187 inputs: []inputInfo{
38188 {0, 4294901760},
38189 {1, 4294901760},
38190 },
38191 outputs: []outputInfo{
38192 {0, 4294901760},
38193 },
38194 },
38195 },
38196 {
38197 name: "F64Sqrt",
38198 argLen: 1,
38199 asm: wasm.AF64Sqrt,
38200 reg: regInfo{
38201 inputs: []inputInfo{
38202 {0, 281470681743360},
38203 },
38204 outputs: []outputInfo{
38205 {0, 281470681743360},
38206 },
38207 },
38208 },
38209 {
38210 name: "F64Trunc",
38211 argLen: 1,
38212 asm: wasm.AF64Trunc,
38213 reg: regInfo{
38214 inputs: []inputInfo{
38215 {0, 281470681743360},
38216 },
38217 outputs: []outputInfo{
38218 {0, 281470681743360},
38219 },
38220 },
38221 },
38222 {
38223 name: "F64Ceil",
38224 argLen: 1,
38225 asm: wasm.AF64Ceil,
38226 reg: regInfo{
38227 inputs: []inputInfo{
38228 {0, 281470681743360},
38229 },
38230 outputs: []outputInfo{
38231 {0, 281470681743360},
38232 },
38233 },
38234 },
38235 {
38236 name: "F64Floor",
38237 argLen: 1,
38238 asm: wasm.AF64Floor,
38239 reg: regInfo{
38240 inputs: []inputInfo{
38241 {0, 281470681743360},
38242 },
38243 outputs: []outputInfo{
38244 {0, 281470681743360},
38245 },
38246 },
38247 },
38248 {
38249 name: "F64Nearest",
38250 argLen: 1,
38251 asm: wasm.AF64Nearest,
38252 reg: regInfo{
38253 inputs: []inputInfo{
38254 {0, 281470681743360},
38255 },
38256 outputs: []outputInfo{
38257 {0, 281470681743360},
38258 },
38259 },
38260 },
38261 {
38262 name: "F64Abs",
38263 argLen: 1,
38264 asm: wasm.AF64Abs,
38265 reg: regInfo{
38266 inputs: []inputInfo{
38267 {0, 281470681743360},
38268 },
38269 outputs: []outputInfo{
38270 {0, 281470681743360},
38271 },
38272 },
38273 },
38274 {
38275 name: "F64Copysign",
38276 argLen: 2,
38277 asm: wasm.AF64Copysign,
38278 reg: regInfo{
38279 inputs: []inputInfo{
38280 {0, 281470681743360},
38281 {1, 281470681743360},
38282 },
38283 outputs: []outputInfo{
38284 {0, 281470681743360},
38285 },
38286 },
38287 },
38288 {
38289 name: "I64Ctz",
38290 argLen: 1,
38291 asm: wasm.AI64Ctz,
38292 reg: regInfo{
38293 inputs: []inputInfo{
38294 {0, 281474976776191},
38295 },
38296 outputs: []outputInfo{
38297 {0, 65535},
38298 },
38299 },
38300 },
38301 {
38302 name: "I64Clz",
38303 argLen: 1,
38304 asm: wasm.AI64Clz,
38305 reg: regInfo{
38306 inputs: []inputInfo{
38307 {0, 281474976776191},
38308 },
38309 outputs: []outputInfo{
38310 {0, 65535},
38311 },
38312 },
38313 },
38314 {
38315 name: "I32Rotl",
38316 argLen: 2,
38317 asm: wasm.AI32Rotl,
38318 reg: regInfo{
38319 inputs: []inputInfo{
38320 {0, 281474976776191},
38321 {1, 281474976776191},
38322 },
38323 outputs: []outputInfo{
38324 {0, 65535},
38325 },
38326 },
38327 },
38328 {
38329 name: "I64Rotl",
38330 argLen: 2,
38331 asm: wasm.AI64Rotl,
38332 reg: regInfo{
38333 inputs: []inputInfo{
38334 {0, 281474976776191},
38335 {1, 281474976776191},
38336 },
38337 outputs: []outputInfo{
38338 {0, 65535},
38339 },
38340 },
38341 },
38342 {
38343 name: "I64Popcnt",
38344 argLen: 1,
38345 asm: wasm.AI64Popcnt,
38346 reg: regInfo{
38347 inputs: []inputInfo{
38348 {0, 281474976776191},
38349 },
38350 outputs: []outputInfo{
38351 {0, 65535},
38352 },
38353 },
38354 },
38355
38356 {
38357 name: "Add8",
38358 argLen: 2,
38359 commutative: true,
38360 generic: true,
38361 },
38362 {
38363 name: "Add16",
38364 argLen: 2,
38365 commutative: true,
38366 generic: true,
38367 },
38368 {
38369 name: "Add32",
38370 argLen: 2,
38371 commutative: true,
38372 generic: true,
38373 },
38374 {
38375 name: "Add64",
38376 argLen: 2,
38377 commutative: true,
38378 generic: true,
38379 },
38380 {
38381 name: "AddPtr",
38382 argLen: 2,
38383 generic: true,
38384 },
38385 {
38386 name: "Add32F",
38387 argLen: 2,
38388 commutative: true,
38389 generic: true,
38390 },
38391 {
38392 name: "Add64F",
38393 argLen: 2,
38394 commutative: true,
38395 generic: true,
38396 },
38397 {
38398 name: "Sub8",
38399 argLen: 2,
38400 generic: true,
38401 },
38402 {
38403 name: "Sub16",
38404 argLen: 2,
38405 generic: true,
38406 },
38407 {
38408 name: "Sub32",
38409 argLen: 2,
38410 generic: true,
38411 },
38412 {
38413 name: "Sub64",
38414 argLen: 2,
38415 generic: true,
38416 },
38417 {
38418 name: "SubPtr",
38419 argLen: 2,
38420 generic: true,
38421 },
38422 {
38423 name: "Sub32F",
38424 argLen: 2,
38425 generic: true,
38426 },
38427 {
38428 name: "Sub64F",
38429 argLen: 2,
38430 generic: true,
38431 },
38432 {
38433 name: "Mul8",
38434 argLen: 2,
38435 commutative: true,
38436 generic: true,
38437 },
38438 {
38439 name: "Mul16",
38440 argLen: 2,
38441 commutative: true,
38442 generic: true,
38443 },
38444 {
38445 name: "Mul32",
38446 argLen: 2,
38447 commutative: true,
38448 generic: true,
38449 },
38450 {
38451 name: "Mul64",
38452 argLen: 2,
38453 commutative: true,
38454 generic: true,
38455 },
38456 {
38457 name: "Mul32F",
38458 argLen: 2,
38459 commutative: true,
38460 generic: true,
38461 },
38462 {
38463 name: "Mul64F",
38464 argLen: 2,
38465 commutative: true,
38466 generic: true,
38467 },
38468 {
38469 name: "Div32F",
38470 argLen: 2,
38471 generic: true,
38472 },
38473 {
38474 name: "Div64F",
38475 argLen: 2,
38476 generic: true,
38477 },
38478 {
38479 name: "Hmul32",
38480 argLen: 2,
38481 commutative: true,
38482 generic: true,
38483 },
38484 {
38485 name: "Hmul32u",
38486 argLen: 2,
38487 commutative: true,
38488 generic: true,
38489 },
38490 {
38491 name: "Hmul64",
38492 argLen: 2,
38493 commutative: true,
38494 generic: true,
38495 },
38496 {
38497 name: "Hmul64u",
38498 argLen: 2,
38499 commutative: true,
38500 generic: true,
38501 },
38502 {
38503 name: "Mul32uhilo",
38504 argLen: 2,
38505 commutative: true,
38506 generic: true,
38507 },
38508 {
38509 name: "Mul64uhilo",
38510 argLen: 2,
38511 commutative: true,
38512 generic: true,
38513 },
38514 {
38515 name: "Mul32uover",
38516 argLen: 2,
38517 commutative: true,
38518 generic: true,
38519 },
38520 {
38521 name: "Mul64uover",
38522 argLen: 2,
38523 commutative: true,
38524 generic: true,
38525 },
38526 {
38527 name: "Avg32u",
38528 argLen: 2,
38529 generic: true,
38530 },
38531 {
38532 name: "Avg64u",
38533 argLen: 2,
38534 generic: true,
38535 },
38536 {
38537 name: "Div8",
38538 argLen: 2,
38539 generic: true,
38540 },
38541 {
38542 name: "Div8u",
38543 argLen: 2,
38544 generic: true,
38545 },
38546 {
38547 name: "Div16",
38548 auxType: auxBool,
38549 argLen: 2,
38550 generic: true,
38551 },
38552 {
38553 name: "Div16u",
38554 argLen: 2,
38555 generic: true,
38556 },
38557 {
38558 name: "Div32",
38559 auxType: auxBool,
38560 argLen: 2,
38561 generic: true,
38562 },
38563 {
38564 name: "Div32u",
38565 argLen: 2,
38566 generic: true,
38567 },
38568 {
38569 name: "Div64",
38570 auxType: auxBool,
38571 argLen: 2,
38572 generic: true,
38573 },
38574 {
38575 name: "Div64u",
38576 argLen: 2,
38577 generic: true,
38578 },
38579 {
38580 name: "Div128u",
38581 argLen: 3,
38582 generic: true,
38583 },
38584 {
38585 name: "Mod8",
38586 argLen: 2,
38587 generic: true,
38588 },
38589 {
38590 name: "Mod8u",
38591 argLen: 2,
38592 generic: true,
38593 },
38594 {
38595 name: "Mod16",
38596 auxType: auxBool,
38597 argLen: 2,
38598 generic: true,
38599 },
38600 {
38601 name: "Mod16u",
38602 argLen: 2,
38603 generic: true,
38604 },
38605 {
38606 name: "Mod32",
38607 auxType: auxBool,
38608 argLen: 2,
38609 generic: true,
38610 },
38611 {
38612 name: "Mod32u",
38613 argLen: 2,
38614 generic: true,
38615 },
38616 {
38617 name: "Mod64",
38618 auxType: auxBool,
38619 argLen: 2,
38620 generic: true,
38621 },
38622 {
38623 name: "Mod64u",
38624 argLen: 2,
38625 generic: true,
38626 },
38627 {
38628 name: "And8",
38629 argLen: 2,
38630 commutative: true,
38631 generic: true,
38632 },
38633 {
38634 name: "And16",
38635 argLen: 2,
38636 commutative: true,
38637 generic: true,
38638 },
38639 {
38640 name: "And32",
38641 argLen: 2,
38642 commutative: true,
38643 generic: true,
38644 },
38645 {
38646 name: "And64",
38647 argLen: 2,
38648 commutative: true,
38649 generic: true,
38650 },
38651 {
38652 name: "Or8",
38653 argLen: 2,
38654 commutative: true,
38655 generic: true,
38656 },
38657 {
38658 name: "Or16",
38659 argLen: 2,
38660 commutative: true,
38661 generic: true,
38662 },
38663 {
38664 name: "Or32",
38665 argLen: 2,
38666 commutative: true,
38667 generic: true,
38668 },
38669 {
38670 name: "Or64",
38671 argLen: 2,
38672 commutative: true,
38673 generic: true,
38674 },
38675 {
38676 name: "Xor8",
38677 argLen: 2,
38678 commutative: true,
38679 generic: true,
38680 },
38681 {
38682 name: "Xor16",
38683 argLen: 2,
38684 commutative: true,
38685 generic: true,
38686 },
38687 {
38688 name: "Xor32",
38689 argLen: 2,
38690 commutative: true,
38691 generic: true,
38692 },
38693 {
38694 name: "Xor64",
38695 argLen: 2,
38696 commutative: true,
38697 generic: true,
38698 },
38699 {
38700 name: "Lsh8x8",
38701 auxType: auxBool,
38702 argLen: 2,
38703 generic: true,
38704 },
38705 {
38706 name: "Lsh8x16",
38707 auxType: auxBool,
38708 argLen: 2,
38709 generic: true,
38710 },
38711 {
38712 name: "Lsh8x32",
38713 auxType: auxBool,
38714 argLen: 2,
38715 generic: true,
38716 },
38717 {
38718 name: "Lsh8x64",
38719 auxType: auxBool,
38720 argLen: 2,
38721 generic: true,
38722 },
38723 {
38724 name: "Lsh16x8",
38725 auxType: auxBool,
38726 argLen: 2,
38727 generic: true,
38728 },
38729 {
38730 name: "Lsh16x16",
38731 auxType: auxBool,
38732 argLen: 2,
38733 generic: true,
38734 },
38735 {
38736 name: "Lsh16x32",
38737 auxType: auxBool,
38738 argLen: 2,
38739 generic: true,
38740 },
38741 {
38742 name: "Lsh16x64",
38743 auxType: auxBool,
38744 argLen: 2,
38745 generic: true,
38746 },
38747 {
38748 name: "Lsh32x8",
38749 auxType: auxBool,
38750 argLen: 2,
38751 generic: true,
38752 },
38753 {
38754 name: "Lsh32x16",
38755 auxType: auxBool,
38756 argLen: 2,
38757 generic: true,
38758 },
38759 {
38760 name: "Lsh32x32",
38761 auxType: auxBool,
38762 argLen: 2,
38763 generic: true,
38764 },
38765 {
38766 name: "Lsh32x64",
38767 auxType: auxBool,
38768 argLen: 2,
38769 generic: true,
38770 },
38771 {
38772 name: "Lsh64x8",
38773 auxType: auxBool,
38774 argLen: 2,
38775 generic: true,
38776 },
38777 {
38778 name: "Lsh64x16",
38779 auxType: auxBool,
38780 argLen: 2,
38781 generic: true,
38782 },
38783 {
38784 name: "Lsh64x32",
38785 auxType: auxBool,
38786 argLen: 2,
38787 generic: true,
38788 },
38789 {
38790 name: "Lsh64x64",
38791 auxType: auxBool,
38792 argLen: 2,
38793 generic: true,
38794 },
38795 {
38796 name: "Rsh8x8",
38797 auxType: auxBool,
38798 argLen: 2,
38799 generic: true,
38800 },
38801 {
38802 name: "Rsh8x16",
38803 auxType: auxBool,
38804 argLen: 2,
38805 generic: true,
38806 },
38807 {
38808 name: "Rsh8x32",
38809 auxType: auxBool,
38810 argLen: 2,
38811 generic: true,
38812 },
38813 {
38814 name: "Rsh8x64",
38815 auxType: auxBool,
38816 argLen: 2,
38817 generic: true,
38818 },
38819 {
38820 name: "Rsh16x8",
38821 auxType: auxBool,
38822 argLen: 2,
38823 generic: true,
38824 },
38825 {
38826 name: "Rsh16x16",
38827 auxType: auxBool,
38828 argLen: 2,
38829 generic: true,
38830 },
38831 {
38832 name: "Rsh16x32",
38833 auxType: auxBool,
38834 argLen: 2,
38835 generic: true,
38836 },
38837 {
38838 name: "Rsh16x64",
38839 auxType: auxBool,
38840 argLen: 2,
38841 generic: true,
38842 },
38843 {
38844 name: "Rsh32x8",
38845 auxType: auxBool,
38846 argLen: 2,
38847 generic: true,
38848 },
38849 {
38850 name: "Rsh32x16",
38851 auxType: auxBool,
38852 argLen: 2,
38853 generic: true,
38854 },
38855 {
38856 name: "Rsh32x32",
38857 auxType: auxBool,
38858 argLen: 2,
38859 generic: true,
38860 },
38861 {
38862 name: "Rsh32x64",
38863 auxType: auxBool,
38864 argLen: 2,
38865 generic: true,
38866 },
38867 {
38868 name: "Rsh64x8",
38869 auxType: auxBool,
38870 argLen: 2,
38871 generic: true,
38872 },
38873 {
38874 name: "Rsh64x16",
38875 auxType: auxBool,
38876 argLen: 2,
38877 generic: true,
38878 },
38879 {
38880 name: "Rsh64x32",
38881 auxType: auxBool,
38882 argLen: 2,
38883 generic: true,
38884 },
38885 {
38886 name: "Rsh64x64",
38887 auxType: auxBool,
38888 argLen: 2,
38889 generic: true,
38890 },
38891 {
38892 name: "Rsh8Ux8",
38893 auxType: auxBool,
38894 argLen: 2,
38895 generic: true,
38896 },
38897 {
38898 name: "Rsh8Ux16",
38899 auxType: auxBool,
38900 argLen: 2,
38901 generic: true,
38902 },
38903 {
38904 name: "Rsh8Ux32",
38905 auxType: auxBool,
38906 argLen: 2,
38907 generic: true,
38908 },
38909 {
38910 name: "Rsh8Ux64",
38911 auxType: auxBool,
38912 argLen: 2,
38913 generic: true,
38914 },
38915 {
38916 name: "Rsh16Ux8",
38917 auxType: auxBool,
38918 argLen: 2,
38919 generic: true,
38920 },
38921 {
38922 name: "Rsh16Ux16",
38923 auxType: auxBool,
38924 argLen: 2,
38925 generic: true,
38926 },
38927 {
38928 name: "Rsh16Ux32",
38929 auxType: auxBool,
38930 argLen: 2,
38931 generic: true,
38932 },
38933 {
38934 name: "Rsh16Ux64",
38935 auxType: auxBool,
38936 argLen: 2,
38937 generic: true,
38938 },
38939 {
38940 name: "Rsh32Ux8",
38941 auxType: auxBool,
38942 argLen: 2,
38943 generic: true,
38944 },
38945 {
38946 name: "Rsh32Ux16",
38947 auxType: auxBool,
38948 argLen: 2,
38949 generic: true,
38950 },
38951 {
38952 name: "Rsh32Ux32",
38953 auxType: auxBool,
38954 argLen: 2,
38955 generic: true,
38956 },
38957 {
38958 name: "Rsh32Ux64",
38959 auxType: auxBool,
38960 argLen: 2,
38961 generic: true,
38962 },
38963 {
38964 name: "Rsh64Ux8",
38965 auxType: auxBool,
38966 argLen: 2,
38967 generic: true,
38968 },
38969 {
38970 name: "Rsh64Ux16",
38971 auxType: auxBool,
38972 argLen: 2,
38973 generic: true,
38974 },
38975 {
38976 name: "Rsh64Ux32",
38977 auxType: auxBool,
38978 argLen: 2,
38979 generic: true,
38980 },
38981 {
38982 name: "Rsh64Ux64",
38983 auxType: auxBool,
38984 argLen: 2,
38985 generic: true,
38986 },
38987 {
38988 name: "Eq8",
38989 argLen: 2,
38990 commutative: true,
38991 generic: true,
38992 },
38993 {
38994 name: "Eq16",
38995 argLen: 2,
38996 commutative: true,
38997 generic: true,
38998 },
38999 {
39000 name: "Eq32",
39001 argLen: 2,
39002 commutative: true,
39003 generic: true,
39004 },
39005 {
39006 name: "Eq64",
39007 argLen: 2,
39008 commutative: true,
39009 generic: true,
39010 },
39011 {
39012 name: "EqPtr",
39013 argLen: 2,
39014 commutative: true,
39015 generic: true,
39016 },
39017 {
39018 name: "EqInter",
39019 argLen: 2,
39020 generic: true,
39021 },
39022 {
39023 name: "EqSlice",
39024 argLen: 2,
39025 generic: true,
39026 },
39027 {
39028 name: "Eq32F",
39029 argLen: 2,
39030 commutative: true,
39031 generic: true,
39032 },
39033 {
39034 name: "Eq64F",
39035 argLen: 2,
39036 commutative: true,
39037 generic: true,
39038 },
39039 {
39040 name: "Neq8",
39041 argLen: 2,
39042 commutative: true,
39043 generic: true,
39044 },
39045 {
39046 name: "Neq16",
39047 argLen: 2,
39048 commutative: true,
39049 generic: true,
39050 },
39051 {
39052 name: "Neq32",
39053 argLen: 2,
39054 commutative: true,
39055 generic: true,
39056 },
39057 {
39058 name: "Neq64",
39059 argLen: 2,
39060 commutative: true,
39061 generic: true,
39062 },
39063 {
39064 name: "NeqPtr",
39065 argLen: 2,
39066 commutative: true,
39067 generic: true,
39068 },
39069 {
39070 name: "NeqInter",
39071 argLen: 2,
39072 generic: true,
39073 },
39074 {
39075 name: "NeqSlice",
39076 argLen: 2,
39077 generic: true,
39078 },
39079 {
39080 name: "Neq32F",
39081 argLen: 2,
39082 commutative: true,
39083 generic: true,
39084 },
39085 {
39086 name: "Neq64F",
39087 argLen: 2,
39088 commutative: true,
39089 generic: true,
39090 },
39091 {
39092 name: "Less8",
39093 argLen: 2,
39094 generic: true,
39095 },
39096 {
39097 name: "Less8U",
39098 argLen: 2,
39099 generic: true,
39100 },
39101 {
39102 name: "Less16",
39103 argLen: 2,
39104 generic: true,
39105 },
39106 {
39107 name: "Less16U",
39108 argLen: 2,
39109 generic: true,
39110 },
39111 {
39112 name: "Less32",
39113 argLen: 2,
39114 generic: true,
39115 },
39116 {
39117 name: "Less32U",
39118 argLen: 2,
39119 generic: true,
39120 },
39121 {
39122 name: "Less64",
39123 argLen: 2,
39124 generic: true,
39125 },
39126 {
39127 name: "Less64U",
39128 argLen: 2,
39129 generic: true,
39130 },
39131 {
39132 name: "Less32F",
39133 argLen: 2,
39134 generic: true,
39135 },
39136 {
39137 name: "Less64F",
39138 argLen: 2,
39139 generic: true,
39140 },
39141 {
39142 name: "Leq8",
39143 argLen: 2,
39144 generic: true,
39145 },
39146 {
39147 name: "Leq8U",
39148 argLen: 2,
39149 generic: true,
39150 },
39151 {
39152 name: "Leq16",
39153 argLen: 2,
39154 generic: true,
39155 },
39156 {
39157 name: "Leq16U",
39158 argLen: 2,
39159 generic: true,
39160 },
39161 {
39162 name: "Leq32",
39163 argLen: 2,
39164 generic: true,
39165 },
39166 {
39167 name: "Leq32U",
39168 argLen: 2,
39169 generic: true,
39170 },
39171 {
39172 name: "Leq64",
39173 argLen: 2,
39174 generic: true,
39175 },
39176 {
39177 name: "Leq64U",
39178 argLen: 2,
39179 generic: true,
39180 },
39181 {
39182 name: "Leq32F",
39183 argLen: 2,
39184 generic: true,
39185 },
39186 {
39187 name: "Leq64F",
39188 argLen: 2,
39189 generic: true,
39190 },
39191 {
39192 name: "CondSelect",
39193 argLen: 3,
39194 generic: true,
39195 },
39196 {
39197 name: "AndB",
39198 argLen: 2,
39199 commutative: true,
39200 generic: true,
39201 },
39202 {
39203 name: "OrB",
39204 argLen: 2,
39205 commutative: true,
39206 generic: true,
39207 },
39208 {
39209 name: "EqB",
39210 argLen: 2,
39211 commutative: true,
39212 generic: true,
39213 },
39214 {
39215 name: "NeqB",
39216 argLen: 2,
39217 commutative: true,
39218 generic: true,
39219 },
39220 {
39221 name: "Not",
39222 argLen: 1,
39223 generic: true,
39224 },
39225 {
39226 name: "Neg8",
39227 argLen: 1,
39228 generic: true,
39229 },
39230 {
39231 name: "Neg16",
39232 argLen: 1,
39233 generic: true,
39234 },
39235 {
39236 name: "Neg32",
39237 argLen: 1,
39238 generic: true,
39239 },
39240 {
39241 name: "Neg64",
39242 argLen: 1,
39243 generic: true,
39244 },
39245 {
39246 name: "Neg32F",
39247 argLen: 1,
39248 generic: true,
39249 },
39250 {
39251 name: "Neg64F",
39252 argLen: 1,
39253 generic: true,
39254 },
39255 {
39256 name: "Com8",
39257 argLen: 1,
39258 generic: true,
39259 },
39260 {
39261 name: "Com16",
39262 argLen: 1,
39263 generic: true,
39264 },
39265 {
39266 name: "Com32",
39267 argLen: 1,
39268 generic: true,
39269 },
39270 {
39271 name: "Com64",
39272 argLen: 1,
39273 generic: true,
39274 },
39275 {
39276 name: "Ctz8",
39277 argLen: 1,
39278 generic: true,
39279 },
39280 {
39281 name: "Ctz16",
39282 argLen: 1,
39283 generic: true,
39284 },
39285 {
39286 name: "Ctz32",
39287 argLen: 1,
39288 generic: true,
39289 },
39290 {
39291 name: "Ctz64",
39292 argLen: 1,
39293 generic: true,
39294 },
39295 {
39296 name: "Ctz8NonZero",
39297 argLen: 1,
39298 generic: true,
39299 },
39300 {
39301 name: "Ctz16NonZero",
39302 argLen: 1,
39303 generic: true,
39304 },
39305 {
39306 name: "Ctz32NonZero",
39307 argLen: 1,
39308 generic: true,
39309 },
39310 {
39311 name: "Ctz64NonZero",
39312 argLen: 1,
39313 generic: true,
39314 },
39315 {
39316 name: "BitLen8",
39317 argLen: 1,
39318 generic: true,
39319 },
39320 {
39321 name: "BitLen16",
39322 argLen: 1,
39323 generic: true,
39324 },
39325 {
39326 name: "BitLen32",
39327 argLen: 1,
39328 generic: true,
39329 },
39330 {
39331 name: "BitLen64",
39332 argLen: 1,
39333 generic: true,
39334 },
39335 {
39336 name: "Bswap16",
39337 argLen: 1,
39338 generic: true,
39339 },
39340 {
39341 name: "Bswap32",
39342 argLen: 1,
39343 generic: true,
39344 },
39345 {
39346 name: "Bswap64",
39347 argLen: 1,
39348 generic: true,
39349 },
39350 {
39351 name: "BitRev8",
39352 argLen: 1,
39353 generic: true,
39354 },
39355 {
39356 name: "BitRev16",
39357 argLen: 1,
39358 generic: true,
39359 },
39360 {
39361 name: "BitRev32",
39362 argLen: 1,
39363 generic: true,
39364 },
39365 {
39366 name: "BitRev64",
39367 argLen: 1,
39368 generic: true,
39369 },
39370 {
39371 name: "PopCount8",
39372 argLen: 1,
39373 generic: true,
39374 },
39375 {
39376 name: "PopCount16",
39377 argLen: 1,
39378 generic: true,
39379 },
39380 {
39381 name: "PopCount32",
39382 argLen: 1,
39383 generic: true,
39384 },
39385 {
39386 name: "PopCount64",
39387 argLen: 1,
39388 generic: true,
39389 },
39390 {
39391 name: "RotateLeft64",
39392 argLen: 2,
39393 generic: true,
39394 },
39395 {
39396 name: "RotateLeft32",
39397 argLen: 2,
39398 generic: true,
39399 },
39400 {
39401 name: "RotateLeft16",
39402 argLen: 2,
39403 generic: true,
39404 },
39405 {
39406 name: "RotateLeft8",
39407 argLen: 2,
39408 generic: true,
39409 },
39410 {
39411 name: "Sqrt",
39412 argLen: 1,
39413 generic: true,
39414 },
39415 {
39416 name: "Sqrt32",
39417 argLen: 1,
39418 generic: true,
39419 },
39420 {
39421 name: "Floor",
39422 argLen: 1,
39423 generic: true,
39424 },
39425 {
39426 name: "Ceil",
39427 argLen: 1,
39428 generic: true,
39429 },
39430 {
39431 name: "Trunc",
39432 argLen: 1,
39433 generic: true,
39434 },
39435 {
39436 name: "Round",
39437 argLen: 1,
39438 generic: true,
39439 },
39440 {
39441 name: "RoundToEven",
39442 argLen: 1,
39443 generic: true,
39444 },
39445 {
39446 name: "Abs",
39447 argLen: 1,
39448 generic: true,
39449 },
39450 {
39451 name: "Copysign",
39452 argLen: 2,
39453 generic: true,
39454 },
39455 {
39456 name: "Min64F",
39457 argLen: 2,
39458 generic: true,
39459 },
39460 {
39461 name: "Min32F",
39462 argLen: 2,
39463 generic: true,
39464 },
39465 {
39466 name: "Max64F",
39467 argLen: 2,
39468 generic: true,
39469 },
39470 {
39471 name: "Max32F",
39472 argLen: 2,
39473 generic: true,
39474 },
39475 {
39476 name: "FMA",
39477 argLen: 3,
39478 generic: true,
39479 },
39480 {
39481 name: "Phi",
39482 argLen: -1,
39483 zeroWidth: true,
39484 generic: true,
39485 },
39486 {
39487 name: "Copy",
39488 argLen: 1,
39489 generic: true,
39490 },
39491 {
39492 name: "Convert",
39493 argLen: 2,
39494 resultInArg0: true,
39495 zeroWidth: true,
39496 generic: true,
39497 },
39498 {
39499 name: "ConstBool",
39500 auxType: auxBool,
39501 argLen: 0,
39502 generic: true,
39503 },
39504 {
39505 name: "ConstString",
39506 auxType: auxString,
39507 argLen: 0,
39508 generic: true,
39509 },
39510 {
39511 name: "ConstNil",
39512 argLen: 0,
39513 generic: true,
39514 },
39515 {
39516 name: "Const8",
39517 auxType: auxInt8,
39518 argLen: 0,
39519 generic: true,
39520 },
39521 {
39522 name: "Const16",
39523 auxType: auxInt16,
39524 argLen: 0,
39525 generic: true,
39526 },
39527 {
39528 name: "Const32",
39529 auxType: auxInt32,
39530 argLen: 0,
39531 generic: true,
39532 },
39533 {
39534 name: "Const64",
39535 auxType: auxInt64,
39536 argLen: 0,
39537 generic: true,
39538 },
39539 {
39540 name: "Const32F",
39541 auxType: auxFloat32,
39542 argLen: 0,
39543 generic: true,
39544 },
39545 {
39546 name: "Const64F",
39547 auxType: auxFloat64,
39548 argLen: 0,
39549 generic: true,
39550 },
39551 {
39552 name: "ConstInterface",
39553 argLen: 0,
39554 generic: true,
39555 },
39556 {
39557 name: "ConstSlice",
39558 argLen: 0,
39559 generic: true,
39560 },
39561 {
39562 name: "InitMem",
39563 argLen: 0,
39564 zeroWidth: true,
39565 generic: true,
39566 },
39567 {
39568 name: "Arg",
39569 auxType: auxSymOff,
39570 argLen: 0,
39571 zeroWidth: true,
39572 symEffect: SymRead,
39573 generic: true,
39574 },
39575 {
39576 name: "ArgIntReg",
39577 auxType: auxNameOffsetInt8,
39578 argLen: 0,
39579 zeroWidth: true,
39580 generic: true,
39581 },
39582 {
39583 name: "ArgFloatReg",
39584 auxType: auxNameOffsetInt8,
39585 argLen: 0,
39586 zeroWidth: true,
39587 generic: true,
39588 },
39589 {
39590 name: "Addr",
39591 auxType: auxSym,
39592 argLen: 1,
39593 symEffect: SymAddr,
39594 generic: true,
39595 },
39596 {
39597 name: "LocalAddr",
39598 auxType: auxSym,
39599 argLen: 2,
39600 symEffect: SymAddr,
39601 generic: true,
39602 },
39603 {
39604 name: "SP",
39605 argLen: 0,
39606 zeroWidth: true,
39607 generic: true,
39608 },
39609 {
39610 name: "SB",
39611 argLen: 0,
39612 zeroWidth: true,
39613 generic: true,
39614 },
39615 {
39616 name: "SPanchored",
39617 argLen: 2,
39618 zeroWidth: true,
39619 generic: true,
39620 },
39621 {
39622 name: "Load",
39623 argLen: 2,
39624 generic: true,
39625 },
39626 {
39627 name: "Dereference",
39628 argLen: 2,
39629 generic: true,
39630 },
39631 {
39632 name: "Store",
39633 auxType: auxTyp,
39634 argLen: 3,
39635 generic: true,
39636 },
39637 {
39638 name: "Move",
39639 auxType: auxTypSize,
39640 argLen: 3,
39641 generic: true,
39642 },
39643 {
39644 name: "Zero",
39645 auxType: auxTypSize,
39646 argLen: 2,
39647 generic: true,
39648 },
39649 {
39650 name: "StoreWB",
39651 auxType: auxTyp,
39652 argLen: 3,
39653 generic: true,
39654 },
39655 {
39656 name: "MoveWB",
39657 auxType: auxTypSize,
39658 argLen: 3,
39659 generic: true,
39660 },
39661 {
39662 name: "ZeroWB",
39663 auxType: auxTypSize,
39664 argLen: 2,
39665 generic: true,
39666 },
39667 {
39668 name: "WBend",
39669 argLen: 1,
39670 generic: true,
39671 },
39672 {
39673 name: "WB",
39674 auxType: auxInt64,
39675 argLen: 1,
39676 generic: true,
39677 },
39678 {
39679 name: "HasCPUFeature",
39680 auxType: auxSym,
39681 argLen: 0,
39682 symEffect: SymNone,
39683 generic: true,
39684 },
39685 {
39686 name: "PanicBounds",
39687 auxType: auxInt64,
39688 argLen: 3,
39689 call: true,
39690 generic: true,
39691 },
39692 {
39693 name: "PanicExtend",
39694 auxType: auxInt64,
39695 argLen: 4,
39696 call: true,
39697 generic: true,
39698 },
39699 {
39700 name: "ClosureCall",
39701 auxType: auxCallOff,
39702 argLen: -1,
39703 call: true,
39704 generic: true,
39705 },
39706 {
39707 name: "StaticCall",
39708 auxType: auxCallOff,
39709 argLen: -1,
39710 call: true,
39711 generic: true,
39712 },
39713 {
39714 name: "InterCall",
39715 auxType: auxCallOff,
39716 argLen: -1,
39717 call: true,
39718 generic: true,
39719 },
39720 {
39721 name: "TailCall",
39722 auxType: auxCallOff,
39723 argLen: -1,
39724 call: true,
39725 generic: true,
39726 },
39727 {
39728 name: "ClosureLECall",
39729 auxType: auxCallOff,
39730 argLen: -1,
39731 call: true,
39732 generic: true,
39733 },
39734 {
39735 name: "StaticLECall",
39736 auxType: auxCallOff,
39737 argLen: -1,
39738 call: true,
39739 generic: true,
39740 },
39741 {
39742 name: "InterLECall",
39743 auxType: auxCallOff,
39744 argLen: -1,
39745 call: true,
39746 generic: true,
39747 },
39748 {
39749 name: "TailLECall",
39750 auxType: auxCallOff,
39751 argLen: -1,
39752 call: true,
39753 generic: true,
39754 },
39755 {
39756 name: "SignExt8to16",
39757 argLen: 1,
39758 generic: true,
39759 },
39760 {
39761 name: "SignExt8to32",
39762 argLen: 1,
39763 generic: true,
39764 },
39765 {
39766 name: "SignExt8to64",
39767 argLen: 1,
39768 generic: true,
39769 },
39770 {
39771 name: "SignExt16to32",
39772 argLen: 1,
39773 generic: true,
39774 },
39775 {
39776 name: "SignExt16to64",
39777 argLen: 1,
39778 generic: true,
39779 },
39780 {
39781 name: "SignExt32to64",
39782 argLen: 1,
39783 generic: true,
39784 },
39785 {
39786 name: "ZeroExt8to16",
39787 argLen: 1,
39788 generic: true,
39789 },
39790 {
39791 name: "ZeroExt8to32",
39792 argLen: 1,
39793 generic: true,
39794 },
39795 {
39796 name: "ZeroExt8to64",
39797 argLen: 1,
39798 generic: true,
39799 },
39800 {
39801 name: "ZeroExt16to32",
39802 argLen: 1,
39803 generic: true,
39804 },
39805 {
39806 name: "ZeroExt16to64",
39807 argLen: 1,
39808 generic: true,
39809 },
39810 {
39811 name: "ZeroExt32to64",
39812 argLen: 1,
39813 generic: true,
39814 },
39815 {
39816 name: "Trunc16to8",
39817 argLen: 1,
39818 generic: true,
39819 },
39820 {
39821 name: "Trunc32to8",
39822 argLen: 1,
39823 generic: true,
39824 },
39825 {
39826 name: "Trunc32to16",
39827 argLen: 1,
39828 generic: true,
39829 },
39830 {
39831 name: "Trunc64to8",
39832 argLen: 1,
39833 generic: true,
39834 },
39835 {
39836 name: "Trunc64to16",
39837 argLen: 1,
39838 generic: true,
39839 },
39840 {
39841 name: "Trunc64to32",
39842 argLen: 1,
39843 generic: true,
39844 },
39845 {
39846 name: "Cvt32to32F",
39847 argLen: 1,
39848 generic: true,
39849 },
39850 {
39851 name: "Cvt32to64F",
39852 argLen: 1,
39853 generic: true,
39854 },
39855 {
39856 name: "Cvt64to32F",
39857 argLen: 1,
39858 generic: true,
39859 },
39860 {
39861 name: "Cvt64to64F",
39862 argLen: 1,
39863 generic: true,
39864 },
39865 {
39866 name: "Cvt32Fto32",
39867 argLen: 1,
39868 generic: true,
39869 },
39870 {
39871 name: "Cvt32Fto64",
39872 argLen: 1,
39873 generic: true,
39874 },
39875 {
39876 name: "Cvt64Fto32",
39877 argLen: 1,
39878 generic: true,
39879 },
39880 {
39881 name: "Cvt64Fto64",
39882 argLen: 1,
39883 generic: true,
39884 },
39885 {
39886 name: "Cvt32Fto64F",
39887 argLen: 1,
39888 generic: true,
39889 },
39890 {
39891 name: "Cvt64Fto32F",
39892 argLen: 1,
39893 generic: true,
39894 },
39895 {
39896 name: "CvtBoolToUint8",
39897 argLen: 1,
39898 generic: true,
39899 },
39900 {
39901 name: "Round32F",
39902 argLen: 1,
39903 generic: true,
39904 },
39905 {
39906 name: "Round64F",
39907 argLen: 1,
39908 generic: true,
39909 },
39910 {
39911 name: "IsNonNil",
39912 argLen: 1,
39913 generic: true,
39914 },
39915 {
39916 name: "IsInBounds",
39917 argLen: 2,
39918 generic: true,
39919 },
39920 {
39921 name: "IsSliceInBounds",
39922 argLen: 2,
39923 generic: true,
39924 },
39925 {
39926 name: "NilCheck",
39927 argLen: 2,
39928 nilCheck: true,
39929 generic: true,
39930 },
39931 {
39932 name: "GetG",
39933 argLen: 1,
39934 zeroWidth: true,
39935 generic: true,
39936 },
39937 {
39938 name: "GetClosurePtr",
39939 argLen: 0,
39940 generic: true,
39941 },
39942 {
39943 name: "GetCallerPC",
39944 argLen: 0,
39945 generic: true,
39946 },
39947 {
39948 name: "GetCallerSP",
39949 argLen: 1,
39950 generic: true,
39951 },
39952 {
39953 name: "PtrIndex",
39954 argLen: 2,
39955 generic: true,
39956 },
39957 {
39958 name: "OffPtr",
39959 auxType: auxInt64,
39960 argLen: 1,
39961 generic: true,
39962 },
39963 {
39964 name: "SliceMake",
39965 argLen: 3,
39966 generic: true,
39967 },
39968 {
39969 name: "SlicePtr",
39970 argLen: 1,
39971 generic: true,
39972 },
39973 {
39974 name: "SliceLen",
39975 argLen: 1,
39976 generic: true,
39977 },
39978 {
39979 name: "SliceCap",
39980 argLen: 1,
39981 generic: true,
39982 },
39983 {
39984 name: "SlicePtrUnchecked",
39985 argLen: 1,
39986 generic: true,
39987 },
39988 {
39989 name: "ComplexMake",
39990 argLen: 2,
39991 generic: true,
39992 },
39993 {
39994 name: "ComplexReal",
39995 argLen: 1,
39996 generic: true,
39997 },
39998 {
39999 name: "ComplexImag",
40000 argLen: 1,
40001 generic: true,
40002 },
40003 {
40004 name: "StringMake",
40005 argLen: 2,
40006 generic: true,
40007 },
40008 {
40009 name: "StringPtr",
40010 argLen: 1,
40011 generic: true,
40012 },
40013 {
40014 name: "StringLen",
40015 argLen: 1,
40016 generic: true,
40017 },
40018 {
40019 name: "IMake",
40020 argLen: 2,
40021 generic: true,
40022 },
40023 {
40024 name: "ITab",
40025 argLen: 1,
40026 generic: true,
40027 },
40028 {
40029 name: "IData",
40030 argLen: 1,
40031 generic: true,
40032 },
40033 {
40034 name: "StructMake0",
40035 argLen: 0,
40036 generic: true,
40037 },
40038 {
40039 name: "StructMake1",
40040 argLen: 1,
40041 generic: true,
40042 },
40043 {
40044 name: "StructMake2",
40045 argLen: 2,
40046 generic: true,
40047 },
40048 {
40049 name: "StructMake3",
40050 argLen: 3,
40051 generic: true,
40052 },
40053 {
40054 name: "StructMake4",
40055 argLen: 4,
40056 generic: true,
40057 },
40058 {
40059 name: "StructSelect",
40060 auxType: auxInt64,
40061 argLen: 1,
40062 generic: true,
40063 },
40064 {
40065 name: "ArrayMake0",
40066 argLen: 0,
40067 generic: true,
40068 },
40069 {
40070 name: "ArrayMake1",
40071 argLen: 1,
40072 generic: true,
40073 },
40074 {
40075 name: "ArraySelect",
40076 auxType: auxInt64,
40077 argLen: 1,
40078 generic: true,
40079 },
40080 {
40081 name: "StoreReg",
40082 argLen: 1,
40083 generic: true,
40084 },
40085 {
40086 name: "LoadReg",
40087 argLen: 1,
40088 generic: true,
40089 },
40090 {
40091 name: "FwdRef",
40092 auxType: auxSym,
40093 argLen: 0,
40094 symEffect: SymNone,
40095 generic: true,
40096 },
40097 {
40098 name: "Unknown",
40099 argLen: 0,
40100 generic: true,
40101 },
40102 {
40103 name: "VarDef",
40104 auxType: auxSym,
40105 argLen: 1,
40106 zeroWidth: true,
40107 symEffect: SymNone,
40108 generic: true,
40109 },
40110 {
40111 name: "VarLive",
40112 auxType: auxSym,
40113 argLen: 1,
40114 zeroWidth: true,
40115 symEffect: SymRead,
40116 generic: true,
40117 },
40118 {
40119 name: "KeepAlive",
40120 argLen: 2,
40121 zeroWidth: true,
40122 generic: true,
40123 },
40124 {
40125 name: "InlMark",
40126 auxType: auxInt32,
40127 argLen: 1,
40128 generic: true,
40129 },
40130 {
40131 name: "Int64Make",
40132 argLen: 2,
40133 generic: true,
40134 },
40135 {
40136 name: "Int64Hi",
40137 argLen: 1,
40138 generic: true,
40139 },
40140 {
40141 name: "Int64Lo",
40142 argLen: 1,
40143 generic: true,
40144 },
40145 {
40146 name: "Add32carry",
40147 argLen: 2,
40148 commutative: true,
40149 generic: true,
40150 },
40151 {
40152 name: "Add32withcarry",
40153 argLen: 3,
40154 commutative: true,
40155 generic: true,
40156 },
40157 {
40158 name: "Sub32carry",
40159 argLen: 2,
40160 generic: true,
40161 },
40162 {
40163 name: "Sub32withcarry",
40164 argLen: 3,
40165 generic: true,
40166 },
40167 {
40168 name: "Add64carry",
40169 argLen: 3,
40170 commutative: true,
40171 generic: true,
40172 },
40173 {
40174 name: "Sub64borrow",
40175 argLen: 3,
40176 generic: true,
40177 },
40178 {
40179 name: "Signmask",
40180 argLen: 1,
40181 generic: true,
40182 },
40183 {
40184 name: "Zeromask",
40185 argLen: 1,
40186 generic: true,
40187 },
40188 {
40189 name: "Slicemask",
40190 argLen: 1,
40191 generic: true,
40192 },
40193 {
40194 name: "SpectreIndex",
40195 argLen: 2,
40196 generic: true,
40197 },
40198 {
40199 name: "SpectreSliceIndex",
40200 argLen: 2,
40201 generic: true,
40202 },
40203 {
40204 name: "Cvt32Uto32F",
40205 argLen: 1,
40206 generic: true,
40207 },
40208 {
40209 name: "Cvt32Uto64F",
40210 argLen: 1,
40211 generic: true,
40212 },
40213 {
40214 name: "Cvt32Fto32U",
40215 argLen: 1,
40216 generic: true,
40217 },
40218 {
40219 name: "Cvt64Fto32U",
40220 argLen: 1,
40221 generic: true,
40222 },
40223 {
40224 name: "Cvt64Uto32F",
40225 argLen: 1,
40226 generic: true,
40227 },
40228 {
40229 name: "Cvt64Uto64F",
40230 argLen: 1,
40231 generic: true,
40232 },
40233 {
40234 name: "Cvt32Fto64U",
40235 argLen: 1,
40236 generic: true,
40237 },
40238 {
40239 name: "Cvt64Fto64U",
40240 argLen: 1,
40241 generic: true,
40242 },
40243 {
40244 name: "Select0",
40245 argLen: 1,
40246 zeroWidth: true,
40247 generic: true,
40248 },
40249 {
40250 name: "Select1",
40251 argLen: 1,
40252 zeroWidth: true,
40253 generic: true,
40254 },
40255 {
40256 name: "SelectN",
40257 auxType: auxInt64,
40258 argLen: 1,
40259 generic: true,
40260 },
40261 {
40262 name: "SelectNAddr",
40263 auxType: auxInt64,
40264 argLen: 1,
40265 generic: true,
40266 },
40267 {
40268 name: "MakeResult",
40269 argLen: -1,
40270 generic: true,
40271 },
40272 {
40273 name: "AtomicLoad8",
40274 argLen: 2,
40275 generic: true,
40276 },
40277 {
40278 name: "AtomicLoad32",
40279 argLen: 2,
40280 generic: true,
40281 },
40282 {
40283 name: "AtomicLoad64",
40284 argLen: 2,
40285 generic: true,
40286 },
40287 {
40288 name: "AtomicLoadPtr",
40289 argLen: 2,
40290 generic: true,
40291 },
40292 {
40293 name: "AtomicLoadAcq32",
40294 argLen: 2,
40295 generic: true,
40296 },
40297 {
40298 name: "AtomicLoadAcq64",
40299 argLen: 2,
40300 generic: true,
40301 },
40302 {
40303 name: "AtomicStore8",
40304 argLen: 3,
40305 hasSideEffects: true,
40306 generic: true,
40307 },
40308 {
40309 name: "AtomicStore32",
40310 argLen: 3,
40311 hasSideEffects: true,
40312 generic: true,
40313 },
40314 {
40315 name: "AtomicStore64",
40316 argLen: 3,
40317 hasSideEffects: true,
40318 generic: true,
40319 },
40320 {
40321 name: "AtomicStorePtrNoWB",
40322 argLen: 3,
40323 hasSideEffects: true,
40324 generic: true,
40325 },
40326 {
40327 name: "AtomicStoreRel32",
40328 argLen: 3,
40329 hasSideEffects: true,
40330 generic: true,
40331 },
40332 {
40333 name: "AtomicStoreRel64",
40334 argLen: 3,
40335 hasSideEffects: true,
40336 generic: true,
40337 },
40338 {
40339 name: "AtomicExchange32",
40340 argLen: 3,
40341 hasSideEffects: true,
40342 generic: true,
40343 },
40344 {
40345 name: "AtomicExchange64",
40346 argLen: 3,
40347 hasSideEffects: true,
40348 generic: true,
40349 },
40350 {
40351 name: "AtomicAdd32",
40352 argLen: 3,
40353 hasSideEffects: true,
40354 generic: true,
40355 },
40356 {
40357 name: "AtomicAdd64",
40358 argLen: 3,
40359 hasSideEffects: true,
40360 generic: true,
40361 },
40362 {
40363 name: "AtomicCompareAndSwap32",
40364 argLen: 4,
40365 hasSideEffects: true,
40366 generic: true,
40367 },
40368 {
40369 name: "AtomicCompareAndSwap64",
40370 argLen: 4,
40371 hasSideEffects: true,
40372 generic: true,
40373 },
40374 {
40375 name: "AtomicCompareAndSwapRel32",
40376 argLen: 4,
40377 hasSideEffects: true,
40378 generic: true,
40379 },
40380 {
40381 name: "AtomicAnd8",
40382 argLen: 3,
40383 hasSideEffects: true,
40384 generic: true,
40385 },
40386 {
40387 name: "AtomicAnd32",
40388 argLen: 3,
40389 hasSideEffects: true,
40390 generic: true,
40391 },
40392 {
40393 name: "AtomicOr8",
40394 argLen: 3,
40395 hasSideEffects: true,
40396 generic: true,
40397 },
40398 {
40399 name: "AtomicOr32",
40400 argLen: 3,
40401 hasSideEffects: true,
40402 generic: true,
40403 },
40404 {
40405 name: "AtomicAdd32Variant",
40406 argLen: 3,
40407 hasSideEffects: true,
40408 generic: true,
40409 },
40410 {
40411 name: "AtomicAdd64Variant",
40412 argLen: 3,
40413 hasSideEffects: true,
40414 generic: true,
40415 },
40416 {
40417 name: "AtomicExchange32Variant",
40418 argLen: 3,
40419 hasSideEffects: true,
40420 generic: true,
40421 },
40422 {
40423 name: "AtomicExchange64Variant",
40424 argLen: 3,
40425 hasSideEffects: true,
40426 generic: true,
40427 },
40428 {
40429 name: "AtomicCompareAndSwap32Variant",
40430 argLen: 4,
40431 hasSideEffects: true,
40432 generic: true,
40433 },
40434 {
40435 name: "AtomicCompareAndSwap64Variant",
40436 argLen: 4,
40437 hasSideEffects: true,
40438 generic: true,
40439 },
40440 {
40441 name: "AtomicAnd8Variant",
40442 argLen: 3,
40443 hasSideEffects: true,
40444 generic: true,
40445 },
40446 {
40447 name: "AtomicAnd32Variant",
40448 argLen: 3,
40449 hasSideEffects: true,
40450 generic: true,
40451 },
40452 {
40453 name: "AtomicOr8Variant",
40454 argLen: 3,
40455 hasSideEffects: true,
40456 generic: true,
40457 },
40458 {
40459 name: "AtomicOr32Variant",
40460 argLen: 3,
40461 hasSideEffects: true,
40462 generic: true,
40463 },
40464 {
40465 name: "PubBarrier",
40466 argLen: 1,
40467 hasSideEffects: true,
40468 generic: true,
40469 },
40470 {
40471 name: "Clobber",
40472 auxType: auxSymOff,
40473 argLen: 0,
40474 symEffect: SymNone,
40475 generic: true,
40476 },
40477 {
40478 name: "ClobberReg",
40479 argLen: 0,
40480 generic: true,
40481 },
40482 {
40483 name: "PrefetchCache",
40484 argLen: 2,
40485 hasSideEffects: true,
40486 generic: true,
40487 },
40488 {
40489 name: "PrefetchCacheStreamed",
40490 argLen: 2,
40491 hasSideEffects: true,
40492 generic: true,
40493 },
40494 }
40495
40496 func (o Op) Asm() obj.As { return opcodeTable[o].asm }
40497 func (o Op) Scale() int16 { return int16(opcodeTable[o].scale) }
40498 func (o Op) String() string { return opcodeTable[o].name }
40499 func (o Op) SymEffect() SymEffect { return opcodeTable[o].symEffect }
40500 func (o Op) IsCall() bool { return opcodeTable[o].call }
40501 func (o Op) IsTailCall() bool { return opcodeTable[o].tailCall }
40502 func (o Op) HasSideEffects() bool { return opcodeTable[o].hasSideEffects }
40503 func (o Op) UnsafePoint() bool { return opcodeTable[o].unsafePoint }
40504 func (o Op) ResultInArg0() bool { return opcodeTable[o].resultInArg0 }
40505
40506 var registers386 = [...]Register{
40507 {0, x86.REG_AX, 0, "AX"},
40508 {1, x86.REG_CX, 1, "CX"},
40509 {2, x86.REG_DX, 2, "DX"},
40510 {3, x86.REG_BX, 3, "BX"},
40511 {4, x86.REGSP, -1, "SP"},
40512 {5, x86.REG_BP, 4, "BP"},
40513 {6, x86.REG_SI, 5, "SI"},
40514 {7, x86.REG_DI, 6, "DI"},
40515 {8, x86.REG_X0, -1, "X0"},
40516 {9, x86.REG_X1, -1, "X1"},
40517 {10, x86.REG_X2, -1, "X2"},
40518 {11, x86.REG_X3, -1, "X3"},
40519 {12, x86.REG_X4, -1, "X4"},
40520 {13, x86.REG_X5, -1, "X5"},
40521 {14, x86.REG_X6, -1, "X6"},
40522 {15, x86.REG_X7, -1, "X7"},
40523 {16, 0, -1, "SB"},
40524 }
40525 var paramIntReg386 = []int8(nil)
40526 var paramFloatReg386 = []int8(nil)
40527 var gpRegMask386 = regMask(239)
40528 var fpRegMask386 = regMask(65280)
40529 var specialRegMask386 = regMask(0)
40530 var framepointerReg386 = int8(5)
40531 var linkReg386 = int8(-1)
40532 var registersAMD64 = [...]Register{
40533 {0, x86.REG_AX, 0, "AX"},
40534 {1, x86.REG_CX, 1, "CX"},
40535 {2, x86.REG_DX, 2, "DX"},
40536 {3, x86.REG_BX, 3, "BX"},
40537 {4, x86.REGSP, -1, "SP"},
40538 {5, x86.REG_BP, 4, "BP"},
40539 {6, x86.REG_SI, 5, "SI"},
40540 {7, x86.REG_DI, 6, "DI"},
40541 {8, x86.REG_R8, 7, "R8"},
40542 {9, x86.REG_R9, 8, "R9"},
40543 {10, x86.REG_R10, 9, "R10"},
40544 {11, x86.REG_R11, 10, "R11"},
40545 {12, x86.REG_R12, 11, "R12"},
40546 {13, x86.REG_R13, 12, "R13"},
40547 {14, x86.REGG, -1, "g"},
40548 {15, x86.REG_R15, 13, "R15"},
40549 {16, x86.REG_X0, -1, "X0"},
40550 {17, x86.REG_X1, -1, "X1"},
40551 {18, x86.REG_X2, -1, "X2"},
40552 {19, x86.REG_X3, -1, "X3"},
40553 {20, x86.REG_X4, -1, "X4"},
40554 {21, x86.REG_X5, -1, "X5"},
40555 {22, x86.REG_X6, -1, "X6"},
40556 {23, x86.REG_X7, -1, "X7"},
40557 {24, x86.REG_X8, -1, "X8"},
40558 {25, x86.REG_X9, -1, "X9"},
40559 {26, x86.REG_X10, -1, "X10"},
40560 {27, x86.REG_X11, -1, "X11"},
40561 {28, x86.REG_X12, -1, "X12"},
40562 {29, x86.REG_X13, -1, "X13"},
40563 {30, x86.REG_X14, -1, "X14"},
40564 {31, x86.REG_X15, -1, "X15"},
40565 {32, 0, -1, "SB"},
40566 }
40567 var paramIntRegAMD64 = []int8{0, 3, 1, 7, 6, 8, 9, 10, 11}
40568 var paramFloatRegAMD64 = []int8{16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30}
40569 var gpRegMaskAMD64 = regMask(49135)
40570 var fpRegMaskAMD64 = regMask(2147418112)
40571 var specialRegMaskAMD64 = regMask(2147483648)
40572 var framepointerRegAMD64 = int8(5)
40573 var linkRegAMD64 = int8(-1)
40574 var registersARM = [...]Register{
40575 {0, arm.REG_R0, 0, "R0"},
40576 {1, arm.REG_R1, 1, "R1"},
40577 {2, arm.REG_R2, 2, "R2"},
40578 {3, arm.REG_R3, 3, "R3"},
40579 {4, arm.REG_R4, 4, "R4"},
40580 {5, arm.REG_R5, 5, "R5"},
40581 {6, arm.REG_R6, 6, "R6"},
40582 {7, arm.REG_R7, 7, "R7"},
40583 {8, arm.REG_R8, 8, "R8"},
40584 {9, arm.REG_R9, 9, "R9"},
40585 {10, arm.REGG, -1, "g"},
40586 {11, arm.REG_R11, -1, "R11"},
40587 {12, arm.REG_R12, 10, "R12"},
40588 {13, arm.REGSP, -1, "SP"},
40589 {14, arm.REG_R14, 11, "R14"},
40590 {15, arm.REG_R15, -1, "R15"},
40591 {16, arm.REG_F0, -1, "F0"},
40592 {17, arm.REG_F1, -1, "F1"},
40593 {18, arm.REG_F2, -1, "F2"},
40594 {19, arm.REG_F3, -1, "F3"},
40595 {20, arm.REG_F4, -1, "F4"},
40596 {21, arm.REG_F5, -1, "F5"},
40597 {22, arm.REG_F6, -1, "F6"},
40598 {23, arm.REG_F7, -1, "F7"},
40599 {24, arm.REG_F8, -1, "F8"},
40600 {25, arm.REG_F9, -1, "F9"},
40601 {26, arm.REG_F10, -1, "F10"},
40602 {27, arm.REG_F11, -1, "F11"},
40603 {28, arm.REG_F12, -1, "F12"},
40604 {29, arm.REG_F13, -1, "F13"},
40605 {30, arm.REG_F14, -1, "F14"},
40606 {31, arm.REG_F15, -1, "F15"},
40607 {32, 0, -1, "SB"},
40608 }
40609 var paramIntRegARM = []int8(nil)
40610 var paramFloatRegARM = []int8(nil)
40611 var gpRegMaskARM = regMask(21503)
40612 var fpRegMaskARM = regMask(4294901760)
40613 var specialRegMaskARM = regMask(0)
40614 var framepointerRegARM = int8(-1)
40615 var linkRegARM = int8(14)
40616 var registersARM64 = [...]Register{
40617 {0, arm64.REG_R0, 0, "R0"},
40618 {1, arm64.REG_R1, 1, "R1"},
40619 {2, arm64.REG_R2, 2, "R2"},
40620 {3, arm64.REG_R3, 3, "R3"},
40621 {4, arm64.REG_R4, 4, "R4"},
40622 {5, arm64.REG_R5, 5, "R5"},
40623 {6, arm64.REG_R6, 6, "R6"},
40624 {7, arm64.REG_R7, 7, "R7"},
40625 {8, arm64.REG_R8, 8, "R8"},
40626 {9, arm64.REG_R9, 9, "R9"},
40627 {10, arm64.REG_R10, 10, "R10"},
40628 {11, arm64.REG_R11, 11, "R11"},
40629 {12, arm64.REG_R12, 12, "R12"},
40630 {13, arm64.REG_R13, 13, "R13"},
40631 {14, arm64.REG_R14, 14, "R14"},
40632 {15, arm64.REG_R15, 15, "R15"},
40633 {16, arm64.REG_R16, 16, "R16"},
40634 {17, arm64.REG_R17, 17, "R17"},
40635 {18, arm64.REG_R18, -1, "R18"},
40636 {19, arm64.REG_R19, 18, "R19"},
40637 {20, arm64.REG_R20, 19, "R20"},
40638 {21, arm64.REG_R21, 20, "R21"},
40639 {22, arm64.REG_R22, 21, "R22"},
40640 {23, arm64.REG_R23, 22, "R23"},
40641 {24, arm64.REG_R24, 23, "R24"},
40642 {25, arm64.REG_R25, 24, "R25"},
40643 {26, arm64.REG_R26, 25, "R26"},
40644 {27, arm64.REGG, -1, "g"},
40645 {28, arm64.REG_R29, -1, "R29"},
40646 {29, arm64.REG_R30, 26, "R30"},
40647 {30, arm64.REGSP, -1, "SP"},
40648 {31, arm64.REG_F0, -1, "F0"},
40649 {32, arm64.REG_F1, -1, "F1"},
40650 {33, arm64.REG_F2, -1, "F2"},
40651 {34, arm64.REG_F3, -1, "F3"},
40652 {35, arm64.REG_F4, -1, "F4"},
40653 {36, arm64.REG_F5, -1, "F5"},
40654 {37, arm64.REG_F6, -1, "F6"},
40655 {38, arm64.REG_F7, -1, "F7"},
40656 {39, arm64.REG_F8, -1, "F8"},
40657 {40, arm64.REG_F9, -1, "F9"},
40658 {41, arm64.REG_F10, -1, "F10"},
40659 {42, arm64.REG_F11, -1, "F11"},
40660 {43, arm64.REG_F12, -1, "F12"},
40661 {44, arm64.REG_F13, -1, "F13"},
40662 {45, arm64.REG_F14, -1, "F14"},
40663 {46, arm64.REG_F15, -1, "F15"},
40664 {47, arm64.REG_F16, -1, "F16"},
40665 {48, arm64.REG_F17, -1, "F17"},
40666 {49, arm64.REG_F18, -1, "F18"},
40667 {50, arm64.REG_F19, -1, "F19"},
40668 {51, arm64.REG_F20, -1, "F20"},
40669 {52, arm64.REG_F21, -1, "F21"},
40670 {53, arm64.REG_F22, -1, "F22"},
40671 {54, arm64.REG_F23, -1, "F23"},
40672 {55, arm64.REG_F24, -1, "F24"},
40673 {56, arm64.REG_F25, -1, "F25"},
40674 {57, arm64.REG_F26, -1, "F26"},
40675 {58, arm64.REG_F27, -1, "F27"},
40676 {59, arm64.REG_F28, -1, "F28"},
40677 {60, arm64.REG_F29, -1, "F29"},
40678 {61, arm64.REG_F30, -1, "F30"},
40679 {62, arm64.REG_F31, -1, "F31"},
40680 {63, 0, -1, "SB"},
40681 }
40682 var paramIntRegARM64 = []int8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
40683 var paramFloatRegARM64 = []int8{31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46}
40684 var gpRegMaskARM64 = regMask(670826495)
40685 var fpRegMaskARM64 = regMask(9223372034707292160)
40686 var specialRegMaskARM64 = regMask(0)
40687 var framepointerRegARM64 = int8(-1)
40688 var linkRegARM64 = int8(29)
40689 var registersLOONG64 = [...]Register{
40690 {0, loong64.REG_R0, -1, "R0"},
40691 {1, loong64.REG_R1, -1, "R1"},
40692 {2, loong64.REGSP, -1, "SP"},
40693 {3, loong64.REG_R4, 0, "R4"},
40694 {4, loong64.REG_R5, 1, "R5"},
40695 {5, loong64.REG_R6, 2, "R6"},
40696 {6, loong64.REG_R7, 3, "R7"},
40697 {7, loong64.REG_R8, 4, "R8"},
40698 {8, loong64.REG_R9, 5, "R9"},
40699 {9, loong64.REG_R10, 6, "R10"},
40700 {10, loong64.REG_R11, 7, "R11"},
40701 {11, loong64.REG_R12, 8, "R12"},
40702 {12, loong64.REG_R13, 9, "R13"},
40703 {13, loong64.REG_R14, 10, "R14"},
40704 {14, loong64.REG_R15, 11, "R15"},
40705 {15, loong64.REG_R16, 12, "R16"},
40706 {16, loong64.REG_R17, 13, "R17"},
40707 {17, loong64.REG_R18, 14, "R18"},
40708 {18, loong64.REG_R19, 15, "R19"},
40709 {19, loong64.REG_R20, 16, "R20"},
40710 {20, loong64.REG_R21, 17, "R21"},
40711 {21, loong64.REGG, -1, "g"},
40712 {22, loong64.REG_R23, 18, "R23"},
40713 {23, loong64.REG_R24, 19, "R24"},
40714 {24, loong64.REG_R25, 20, "R25"},
40715 {25, loong64.REG_R26, 21, "R26"},
40716 {26, loong64.REG_R27, 22, "R27"},
40717 {27, loong64.REG_R28, 23, "R28"},
40718 {28, loong64.REG_R29, 24, "R29"},
40719 {29, loong64.REG_R31, 25, "R31"},
40720 {30, loong64.REG_F0, -1, "F0"},
40721 {31, loong64.REG_F1, -1, "F1"},
40722 {32, loong64.REG_F2, -1, "F2"},
40723 {33, loong64.REG_F3, -1, "F3"},
40724 {34, loong64.REG_F4, -1, "F4"},
40725 {35, loong64.REG_F5, -1, "F5"},
40726 {36, loong64.REG_F6, -1, "F6"},
40727 {37, loong64.REG_F7, -1, "F7"},
40728 {38, loong64.REG_F8, -1, "F8"},
40729 {39, loong64.REG_F9, -1, "F9"},
40730 {40, loong64.REG_F10, -1, "F10"},
40731 {41, loong64.REG_F11, -1, "F11"},
40732 {42, loong64.REG_F12, -1, "F12"},
40733 {43, loong64.REG_F13, -1, "F13"},
40734 {44, loong64.REG_F14, -1, "F14"},
40735 {45, loong64.REG_F15, -1, "F15"},
40736 {46, loong64.REG_F16, -1, "F16"},
40737 {47, loong64.REG_F17, -1, "F17"},
40738 {48, loong64.REG_F18, -1, "F18"},
40739 {49, loong64.REG_F19, -1, "F19"},
40740 {50, loong64.REG_F20, -1, "F20"},
40741 {51, loong64.REG_F21, -1, "F21"},
40742 {52, loong64.REG_F22, -1, "F22"},
40743 {53, loong64.REG_F23, -1, "F23"},
40744 {54, loong64.REG_F24, -1, "F24"},
40745 {55, loong64.REG_F25, -1, "F25"},
40746 {56, loong64.REG_F26, -1, "F26"},
40747 {57, loong64.REG_F27, -1, "F27"},
40748 {58, loong64.REG_F28, -1, "F28"},
40749 {59, loong64.REG_F29, -1, "F29"},
40750 {60, loong64.REG_F30, -1, "F30"},
40751 {61, loong64.REG_F31, -1, "F31"},
40752 {62, 0, -1, "SB"},
40753 }
40754 var paramIntRegLOONG64 = []int8{3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}
40755 var paramFloatRegLOONG64 = []int8{30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45}
40756 var gpRegMaskLOONG64 = regMask(1071644664)
40757 var fpRegMaskLOONG64 = regMask(4611686017353646080)
40758 var specialRegMaskLOONG64 = regMask(0)
40759 var framepointerRegLOONG64 = int8(-1)
40760 var linkRegLOONG64 = int8(1)
40761 var registersMIPS = [...]Register{
40762 {0, mips.REG_R0, -1, "R0"},
40763 {1, mips.REG_R1, 0, "R1"},
40764 {2, mips.REG_R2, 1, "R2"},
40765 {3, mips.REG_R3, 2, "R3"},
40766 {4, mips.REG_R4, 3, "R4"},
40767 {5, mips.REG_R5, 4, "R5"},
40768 {6, mips.REG_R6, 5, "R6"},
40769 {7, mips.REG_R7, 6, "R7"},
40770 {8, mips.REG_R8, 7, "R8"},
40771 {9, mips.REG_R9, 8, "R9"},
40772 {10, mips.REG_R10, 9, "R10"},
40773 {11, mips.REG_R11, 10, "R11"},
40774 {12, mips.REG_R12, 11, "R12"},
40775 {13, mips.REG_R13, 12, "R13"},
40776 {14, mips.REG_R14, 13, "R14"},
40777 {15, mips.REG_R15, 14, "R15"},
40778 {16, mips.REG_R16, 15, "R16"},
40779 {17, mips.REG_R17, 16, "R17"},
40780 {18, mips.REG_R18, 17, "R18"},
40781 {19, mips.REG_R19, 18, "R19"},
40782 {20, mips.REG_R20, 19, "R20"},
40783 {21, mips.REG_R21, 20, "R21"},
40784 {22, mips.REG_R22, 21, "R22"},
40785 {23, mips.REG_R24, 22, "R24"},
40786 {24, mips.REG_R25, 23, "R25"},
40787 {25, mips.REG_R28, 24, "R28"},
40788 {26, mips.REGSP, -1, "SP"},
40789 {27, mips.REGG, -1, "g"},
40790 {28, mips.REG_R31, 25, "R31"},
40791 {29, mips.REG_F0, -1, "F0"},
40792 {30, mips.REG_F2, -1, "F2"},
40793 {31, mips.REG_F4, -1, "F4"},
40794 {32, mips.REG_F6, -1, "F6"},
40795 {33, mips.REG_F8, -1, "F8"},
40796 {34, mips.REG_F10, -1, "F10"},
40797 {35, mips.REG_F12, -1, "F12"},
40798 {36, mips.REG_F14, -1, "F14"},
40799 {37, mips.REG_F16, -1, "F16"},
40800 {38, mips.REG_F18, -1, "F18"},
40801 {39, mips.REG_F20, -1, "F20"},
40802 {40, mips.REG_F22, -1, "F22"},
40803 {41, mips.REG_F24, -1, "F24"},
40804 {42, mips.REG_F26, -1, "F26"},
40805 {43, mips.REG_F28, -1, "F28"},
40806 {44, mips.REG_F30, -1, "F30"},
40807 {45, mips.REG_HI, -1, "HI"},
40808 {46, mips.REG_LO, -1, "LO"},
40809 {47, 0, -1, "SB"},
40810 }
40811 var paramIntRegMIPS = []int8(nil)
40812 var paramFloatRegMIPS = []int8(nil)
40813 var gpRegMaskMIPS = regMask(335544318)
40814 var fpRegMaskMIPS = regMask(35183835217920)
40815 var specialRegMaskMIPS = regMask(105553116266496)
40816 var framepointerRegMIPS = int8(-1)
40817 var linkRegMIPS = int8(28)
40818 var registersMIPS64 = [...]Register{
40819 {0, mips.REG_R0, -1, "R0"},
40820 {1, mips.REG_R1, 0, "R1"},
40821 {2, mips.REG_R2, 1, "R2"},
40822 {3, mips.REG_R3, 2, "R3"},
40823 {4, mips.REG_R4, 3, "R4"},
40824 {5, mips.REG_R5, 4, "R5"},
40825 {6, mips.REG_R6, 5, "R6"},
40826 {7, mips.REG_R7, 6, "R7"},
40827 {8, mips.REG_R8, 7, "R8"},
40828 {9, mips.REG_R9, 8, "R9"},
40829 {10, mips.REG_R10, 9, "R10"},
40830 {11, mips.REG_R11, 10, "R11"},
40831 {12, mips.REG_R12, 11, "R12"},
40832 {13, mips.REG_R13, 12, "R13"},
40833 {14, mips.REG_R14, 13, "R14"},
40834 {15, mips.REG_R15, 14, "R15"},
40835 {16, mips.REG_R16, 15, "R16"},
40836 {17, mips.REG_R17, 16, "R17"},
40837 {18, mips.REG_R18, 17, "R18"},
40838 {19, mips.REG_R19, 18, "R19"},
40839 {20, mips.REG_R20, 19, "R20"},
40840 {21, mips.REG_R21, 20, "R21"},
40841 {22, mips.REG_R22, 21, "R22"},
40842 {23, mips.REG_R24, 22, "R24"},
40843 {24, mips.REG_R25, 23, "R25"},
40844 {25, mips.REGSP, -1, "SP"},
40845 {26, mips.REGG, -1, "g"},
40846 {27, mips.REG_R31, 24, "R31"},
40847 {28, mips.REG_F0, -1, "F0"},
40848 {29, mips.REG_F1, -1, "F1"},
40849 {30, mips.REG_F2, -1, "F2"},
40850 {31, mips.REG_F3, -1, "F3"},
40851 {32, mips.REG_F4, -1, "F4"},
40852 {33, mips.REG_F5, -1, "F5"},
40853 {34, mips.REG_F6, -1, "F6"},
40854 {35, mips.REG_F7, -1, "F7"},
40855 {36, mips.REG_F8, -1, "F8"},
40856 {37, mips.REG_F9, -1, "F9"},
40857 {38, mips.REG_F10, -1, "F10"},
40858 {39, mips.REG_F11, -1, "F11"},
40859 {40, mips.REG_F12, -1, "F12"},
40860 {41, mips.REG_F13, -1, "F13"},
40861 {42, mips.REG_F14, -1, "F14"},
40862 {43, mips.REG_F15, -1, "F15"},
40863 {44, mips.REG_F16, -1, "F16"},
40864 {45, mips.REG_F17, -1, "F17"},
40865 {46, mips.REG_F18, -1, "F18"},
40866 {47, mips.REG_F19, -1, "F19"},
40867 {48, mips.REG_F20, -1, "F20"},
40868 {49, mips.REG_F21, -1, "F21"},
40869 {50, mips.REG_F22, -1, "F22"},
40870 {51, mips.REG_F23, -1, "F23"},
40871 {52, mips.REG_F24, -1, "F24"},
40872 {53, mips.REG_F25, -1, "F25"},
40873 {54, mips.REG_F26, -1, "F26"},
40874 {55, mips.REG_F27, -1, "F27"},
40875 {56, mips.REG_F28, -1, "F28"},
40876 {57, mips.REG_F29, -1, "F29"},
40877 {58, mips.REG_F30, -1, "F30"},
40878 {59, mips.REG_F31, -1, "F31"},
40879 {60, mips.REG_HI, -1, "HI"},
40880 {61, mips.REG_LO, -1, "LO"},
40881 {62, 0, -1, "SB"},
40882 }
40883 var paramIntRegMIPS64 = []int8(nil)
40884 var paramFloatRegMIPS64 = []int8(nil)
40885 var gpRegMaskMIPS64 = regMask(167772158)
40886 var fpRegMaskMIPS64 = regMask(1152921504338411520)
40887 var specialRegMaskMIPS64 = regMask(3458764513820540928)
40888 var framepointerRegMIPS64 = int8(-1)
40889 var linkRegMIPS64 = int8(27)
40890 var registersPPC64 = [...]Register{
40891 {0, ppc64.REG_R0, -1, "R0"},
40892 {1, ppc64.REGSP, -1, "SP"},
40893 {2, 0, -1, "SB"},
40894 {3, ppc64.REG_R3, 0, "R3"},
40895 {4, ppc64.REG_R4, 1, "R4"},
40896 {5, ppc64.REG_R5, 2, "R5"},
40897 {6, ppc64.REG_R6, 3, "R6"},
40898 {7, ppc64.REG_R7, 4, "R7"},
40899 {8, ppc64.REG_R8, 5, "R8"},
40900 {9, ppc64.REG_R9, 6, "R9"},
40901 {10, ppc64.REG_R10, 7, "R10"},
40902 {11, ppc64.REG_R11, 8, "R11"},
40903 {12, ppc64.REG_R12, 9, "R12"},
40904 {13, ppc64.REG_R13, -1, "R13"},
40905 {14, ppc64.REG_R14, 10, "R14"},
40906 {15, ppc64.REG_R15, 11, "R15"},
40907 {16, ppc64.REG_R16, 12, "R16"},
40908 {17, ppc64.REG_R17, 13, "R17"},
40909 {18, ppc64.REG_R18, 14, "R18"},
40910 {19, ppc64.REG_R19, 15, "R19"},
40911 {20, ppc64.REG_R20, 16, "R20"},
40912 {21, ppc64.REG_R21, 17, "R21"},
40913 {22, ppc64.REG_R22, 18, "R22"},
40914 {23, ppc64.REG_R23, 19, "R23"},
40915 {24, ppc64.REG_R24, 20, "R24"},
40916 {25, ppc64.REG_R25, 21, "R25"},
40917 {26, ppc64.REG_R26, 22, "R26"},
40918 {27, ppc64.REG_R27, 23, "R27"},
40919 {28, ppc64.REG_R28, 24, "R28"},
40920 {29, ppc64.REG_R29, 25, "R29"},
40921 {30, ppc64.REGG, -1, "g"},
40922 {31, ppc64.REG_R31, -1, "R31"},
40923 {32, ppc64.REG_F0, -1, "F0"},
40924 {33, ppc64.REG_F1, -1, "F1"},
40925 {34, ppc64.REG_F2, -1, "F2"},
40926 {35, ppc64.REG_F3, -1, "F3"},
40927 {36, ppc64.REG_F4, -1, "F4"},
40928 {37, ppc64.REG_F5, -1, "F5"},
40929 {38, ppc64.REG_F6, -1, "F6"},
40930 {39, ppc64.REG_F7, -1, "F7"},
40931 {40, ppc64.REG_F8, -1, "F8"},
40932 {41, ppc64.REG_F9, -1, "F9"},
40933 {42, ppc64.REG_F10, -1, "F10"},
40934 {43, ppc64.REG_F11, -1, "F11"},
40935 {44, ppc64.REG_F12, -1, "F12"},
40936 {45, ppc64.REG_F13, -1, "F13"},
40937 {46, ppc64.REG_F14, -1, "F14"},
40938 {47, ppc64.REG_F15, -1, "F15"},
40939 {48, ppc64.REG_F16, -1, "F16"},
40940 {49, ppc64.REG_F17, -1, "F17"},
40941 {50, ppc64.REG_F18, -1, "F18"},
40942 {51, ppc64.REG_F19, -1, "F19"},
40943 {52, ppc64.REG_F20, -1, "F20"},
40944 {53, ppc64.REG_F21, -1, "F21"},
40945 {54, ppc64.REG_F22, -1, "F22"},
40946 {55, ppc64.REG_F23, -1, "F23"},
40947 {56, ppc64.REG_F24, -1, "F24"},
40948 {57, ppc64.REG_F25, -1, "F25"},
40949 {58, ppc64.REG_F26, -1, "F26"},
40950 {59, ppc64.REG_F27, -1, "F27"},
40951 {60, ppc64.REG_F28, -1, "F28"},
40952 {61, ppc64.REG_F29, -1, "F29"},
40953 {62, ppc64.REG_F30, -1, "F30"},
40954 {63, ppc64.REG_XER, -1, "XER"},
40955 }
40956 var paramIntRegPPC64 = []int8{3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17}
40957 var paramFloatRegPPC64 = []int8{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44}
40958 var gpRegMaskPPC64 = regMask(1073733624)
40959 var fpRegMaskPPC64 = regMask(9223372032559808512)
40960 var specialRegMaskPPC64 = regMask(9223372036854775808)
40961 var framepointerRegPPC64 = int8(-1)
40962 var linkRegPPC64 = int8(-1)
40963 var registersRISCV64 = [...]Register{
40964 {0, riscv.REG_X0, -1, "X0"},
40965 {1, riscv.REGSP, -1, "SP"},
40966 {2, riscv.REG_X3, -1, "X3"},
40967 {3, riscv.REG_X4, -1, "X4"},
40968 {4, riscv.REG_X5, 0, "X5"},
40969 {5, riscv.REG_X6, 1, "X6"},
40970 {6, riscv.REG_X7, 2, "X7"},
40971 {7, riscv.REG_X8, 3, "X8"},
40972 {8, riscv.REG_X9, 4, "X9"},
40973 {9, riscv.REG_X10, 5, "X10"},
40974 {10, riscv.REG_X11, 6, "X11"},
40975 {11, riscv.REG_X12, 7, "X12"},
40976 {12, riscv.REG_X13, 8, "X13"},
40977 {13, riscv.REG_X14, 9, "X14"},
40978 {14, riscv.REG_X15, 10, "X15"},
40979 {15, riscv.REG_X16, 11, "X16"},
40980 {16, riscv.REG_X17, 12, "X17"},
40981 {17, riscv.REG_X18, 13, "X18"},
40982 {18, riscv.REG_X19, 14, "X19"},
40983 {19, riscv.REG_X20, 15, "X20"},
40984 {20, riscv.REG_X21, 16, "X21"},
40985 {21, riscv.REG_X22, 17, "X22"},
40986 {22, riscv.REG_X23, 18, "X23"},
40987 {23, riscv.REG_X24, 19, "X24"},
40988 {24, riscv.REG_X25, 20, "X25"},
40989 {25, riscv.REG_X26, 21, "X26"},
40990 {26, riscv.REGG, -1, "g"},
40991 {27, riscv.REG_X28, 22, "X28"},
40992 {28, riscv.REG_X29, 23, "X29"},
40993 {29, riscv.REG_X30, 24, "X30"},
40994 {30, riscv.REG_X31, -1, "X31"},
40995 {31, riscv.REG_F0, -1, "F0"},
40996 {32, riscv.REG_F1, -1, "F1"},
40997 {33, riscv.REG_F2, -1, "F2"},
40998 {34, riscv.REG_F3, -1, "F3"},
40999 {35, riscv.REG_F4, -1, "F4"},
41000 {36, riscv.REG_F5, -1, "F5"},
41001 {37, riscv.REG_F6, -1, "F6"},
41002 {38, riscv.REG_F7, -1, "F7"},
41003 {39, riscv.REG_F8, -1, "F8"},
41004 {40, riscv.REG_F9, -1, "F9"},
41005 {41, riscv.REG_F10, -1, "F10"},
41006 {42, riscv.REG_F11, -1, "F11"},
41007 {43, riscv.REG_F12, -1, "F12"},
41008 {44, riscv.REG_F13, -1, "F13"},
41009 {45, riscv.REG_F14, -1, "F14"},
41010 {46, riscv.REG_F15, -1, "F15"},
41011 {47, riscv.REG_F16, -1, "F16"},
41012 {48, riscv.REG_F17, -1, "F17"},
41013 {49, riscv.REG_F18, -1, "F18"},
41014 {50, riscv.REG_F19, -1, "F19"},
41015 {51, riscv.REG_F20, -1, "F20"},
41016 {52, riscv.REG_F21, -1, "F21"},
41017 {53, riscv.REG_F22, -1, "F22"},
41018 {54, riscv.REG_F23, -1, "F23"},
41019 {55, riscv.REG_F24, -1, "F24"},
41020 {56, riscv.REG_F25, -1, "F25"},
41021 {57, riscv.REG_F26, -1, "F26"},
41022 {58, riscv.REG_F27, -1, "F27"},
41023 {59, riscv.REG_F28, -1, "F28"},
41024 {60, riscv.REG_F29, -1, "F29"},
41025 {61, riscv.REG_F30, -1, "F30"},
41026 {62, riscv.REG_F31, -1, "F31"},
41027 {63, 0, -1, "SB"},
41028 }
41029 var paramIntRegRISCV64 = []int8{9, 10, 11, 12, 13, 14, 15, 16, 7, 8, 17, 18, 19, 20, 21, 22}
41030 var paramFloatRegRISCV64 = []int8{41, 42, 43, 44, 45, 46, 47, 48, 39, 40, 49, 50, 51, 52, 53, 54}
41031 var gpRegMaskRISCV64 = regMask(1006632944)
41032 var fpRegMaskRISCV64 = regMask(9223372034707292160)
41033 var specialRegMaskRISCV64 = regMask(0)
41034 var framepointerRegRISCV64 = int8(-1)
41035 var linkRegRISCV64 = int8(0)
41036 var registersS390X = [...]Register{
41037 {0, s390x.REG_R0, 0, "R0"},
41038 {1, s390x.REG_R1, 1, "R1"},
41039 {2, s390x.REG_R2, 2, "R2"},
41040 {3, s390x.REG_R3, 3, "R3"},
41041 {4, s390x.REG_R4, 4, "R4"},
41042 {5, s390x.REG_R5, 5, "R5"},
41043 {6, s390x.REG_R6, 6, "R6"},
41044 {7, s390x.REG_R7, 7, "R7"},
41045 {8, s390x.REG_R8, 8, "R8"},
41046 {9, s390x.REG_R9, 9, "R9"},
41047 {10, s390x.REG_R10, -1, "R10"},
41048 {11, s390x.REG_R11, 10, "R11"},
41049 {12, s390x.REG_R12, 11, "R12"},
41050 {13, s390x.REGG, -1, "g"},
41051 {14, s390x.REG_R14, 12, "R14"},
41052 {15, s390x.REGSP, -1, "SP"},
41053 {16, s390x.REG_F0, -1, "F0"},
41054 {17, s390x.REG_F1, -1, "F1"},
41055 {18, s390x.REG_F2, -1, "F2"},
41056 {19, s390x.REG_F3, -1, "F3"},
41057 {20, s390x.REG_F4, -1, "F4"},
41058 {21, s390x.REG_F5, -1, "F5"},
41059 {22, s390x.REG_F6, -1, "F6"},
41060 {23, s390x.REG_F7, -1, "F7"},
41061 {24, s390x.REG_F8, -1, "F8"},
41062 {25, s390x.REG_F9, -1, "F9"},
41063 {26, s390x.REG_F10, -1, "F10"},
41064 {27, s390x.REG_F11, -1, "F11"},
41065 {28, s390x.REG_F12, -1, "F12"},
41066 {29, s390x.REG_F13, -1, "F13"},
41067 {30, s390x.REG_F14, -1, "F14"},
41068 {31, s390x.REG_F15, -1, "F15"},
41069 {32, 0, -1, "SB"},
41070 }
41071 var paramIntRegS390X = []int8(nil)
41072 var paramFloatRegS390X = []int8(nil)
41073 var gpRegMaskS390X = regMask(23551)
41074 var fpRegMaskS390X = regMask(4294901760)
41075 var specialRegMaskS390X = regMask(0)
41076 var framepointerRegS390X = int8(-1)
41077 var linkRegS390X = int8(14)
41078 var registersWasm = [...]Register{
41079 {0, wasm.REG_R0, 0, "R0"},
41080 {1, wasm.REG_R1, 1, "R1"},
41081 {2, wasm.REG_R2, 2, "R2"},
41082 {3, wasm.REG_R3, 3, "R3"},
41083 {4, wasm.REG_R4, 4, "R4"},
41084 {5, wasm.REG_R5, 5, "R5"},
41085 {6, wasm.REG_R6, 6, "R6"},
41086 {7, wasm.REG_R7, 7, "R7"},
41087 {8, wasm.REG_R8, 8, "R8"},
41088 {9, wasm.REG_R9, 9, "R9"},
41089 {10, wasm.REG_R10, 10, "R10"},
41090 {11, wasm.REG_R11, 11, "R11"},
41091 {12, wasm.REG_R12, 12, "R12"},
41092 {13, wasm.REG_R13, 13, "R13"},
41093 {14, wasm.REG_R14, 14, "R14"},
41094 {15, wasm.REG_R15, 15, "R15"},
41095 {16, wasm.REG_F0, -1, "F0"},
41096 {17, wasm.REG_F1, -1, "F1"},
41097 {18, wasm.REG_F2, -1, "F2"},
41098 {19, wasm.REG_F3, -1, "F3"},
41099 {20, wasm.REG_F4, -1, "F4"},
41100 {21, wasm.REG_F5, -1, "F5"},
41101 {22, wasm.REG_F6, -1, "F6"},
41102 {23, wasm.REG_F7, -1, "F7"},
41103 {24, wasm.REG_F8, -1, "F8"},
41104 {25, wasm.REG_F9, -1, "F9"},
41105 {26, wasm.REG_F10, -1, "F10"},
41106 {27, wasm.REG_F11, -1, "F11"},
41107 {28, wasm.REG_F12, -1, "F12"},
41108 {29, wasm.REG_F13, -1, "F13"},
41109 {30, wasm.REG_F14, -1, "F14"},
41110 {31, wasm.REG_F15, -1, "F15"},
41111 {32, wasm.REG_F16, -1, "F16"},
41112 {33, wasm.REG_F17, -1, "F17"},
41113 {34, wasm.REG_F18, -1, "F18"},
41114 {35, wasm.REG_F19, -1, "F19"},
41115 {36, wasm.REG_F20, -1, "F20"},
41116 {37, wasm.REG_F21, -1, "F21"},
41117 {38, wasm.REG_F22, -1, "F22"},
41118 {39, wasm.REG_F23, -1, "F23"},
41119 {40, wasm.REG_F24, -1, "F24"},
41120 {41, wasm.REG_F25, -1, "F25"},
41121 {42, wasm.REG_F26, -1, "F26"},
41122 {43, wasm.REG_F27, -1, "F27"},
41123 {44, wasm.REG_F28, -1, "F28"},
41124 {45, wasm.REG_F29, -1, "F29"},
41125 {46, wasm.REG_F30, -1, "F30"},
41126 {47, wasm.REG_F31, -1, "F31"},
41127 {48, wasm.REGSP, -1, "SP"},
41128 {49, wasm.REGG, -1, "g"},
41129 {50, 0, -1, "SB"},
41130 }
41131 var paramIntRegWasm = []int8(nil)
41132 var paramFloatRegWasm = []int8(nil)
41133 var gpRegMaskWasm = regMask(65535)
41134 var fpRegMaskWasm = regMask(281474976645120)
41135 var fp32RegMaskWasm = regMask(4294901760)
41136 var fp64RegMaskWasm = regMask(281470681743360)
41137 var specialRegMaskWasm = regMask(0)
41138 var framepointerRegWasm = int8(-1)
41139 var linkRegWasm = int8(-1)
41140
View as plain text